aboutsummaryrefslogtreecommitdiffhomepage
path: root/composer.phar
blob: 054e7f996f89a2b34ee5b64e9403e07e3f2eb5c7 (plain) (blame)
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 50 68 61 72 3a 3a bottom.of.this.file...*/..Phar::
0120 6d 61 70 50 68 61 72 28 27 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 27 29 3b 0a 64 65 66 69 6e 65 mapPhar('composer.phar');.define
0140 28 27 43 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 2c 20 31 33 ('COMPOSER_DEV_WARNING_TIME',.13
0160 37 38 31 32 31 30 34 35 29 3b 0a 72 65 71 75 69 72 65 20 27 70 68 61 72 3a 2f 2f 63 6f 6d 70 6f 78121045);.require.'phar://compo
0180 73 65 72 2e 70 68 61 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 ser.phar/bin/composer';..__HALT_
01a0 43 4f 4d 50 49 4c 45 52 28 29 3b 20 3f 3e 0d 0a d1 60 00 00 2c 01 00 00 11 00 00 00 01 00 0d 00 COMPILER();.?>...`..,...........
01c0 00 00 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 00 00 00 00 11 00 00 00 73 72 63 2f 62 6f 6f 74 73 ..composer.phar........src/boots
01e0 74 72 61 70 2e 70 68 70 c5 01 00 00 55 e8 fc 51 c5 01 00 00 a8 af 32 90 b6 01 00 00 00 00 00 00 trap.php....U..Q......2.........
0200 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 2e 70 68 ....src/Composer/IO/ConsoleIO.ph
0220 70 a1 10 00 00 55 e8 fc 51 a1 10 00 00 55 50 92 9f b6 01 00 00 00 00 00 00 1a 00 00 00 73 72 63 p....U..Q....UP..............src
0240 2f 43 6f 6d 70 6f 73 65 72 2f 49 4f 2f 4e 75 6c 6c 49 4f 2e 70 68 70 7c 04 00 00 55 e8 fc 51 7c /Composer/IO/NullIO.php|...U..Q|
0260 04 00 00 4e de e4 df b6 01 00 00 00 00 00 00 1f 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f ...N...............src/Composer/
0280 49 4f 2f 49 4f 49 6e 74 65 72 66 61 63 65 2e 70 68 70 a5 03 00 00 55 e8 fc 51 a5 03 00 00 85 bc IO/IOInterface.php....U..Q......
02a0 44 74 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 75 Dt............src/Composer/IO/Bu
02c0 66 66 65 72 49 4f 2e 70 68 70 2b 04 00 00 55 e8 fc 51 2b 04 00 00 5d 0b 12 ed b6 01 00 00 00 00 fferIO.php+...U..Q+...].........
02e0 00 00 29 00 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 ..)...src/Composer/Command/RunSc
0300 72 69 70 74 43 6f 6d 6d 61 6e 64 2e 70 68 70 6b 06 00 00 55 e8 fc 51 6b 06 00 00 1e 20 b1 df b6 riptCommand.phpk...U..Qk........
0320 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 6d 61 6e 64 2f .......(...src/Composer/Command/
0340 44 69 61 67 6e 6f 73 65 43 6f 6d 6d 61 6e 64 2e 70 68 70 11 27 00 00 55 e8 fc 51 11 27 00 00 0b DiagnoseCommand.php.'..U..Q.'...
0360 e2 c3 58 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 ..X........'...src/Composer/Comm
0380 61 6e 64 2f 41 72 63 68 69 76 65 43 6f 6d 6d 61 6e 64 2e 70 68 70 27 0e 00 00 55 e8 fc 51 27 0e and/ArchiveCommand.php'...U..Q'.
03a0 00 00 47 af 7d 6c 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 43 ..G.}l............src/Composer/C
03c0 6f 6d 6d 61 6e 64 2f 43 6f 6d 6d 61 6e 64 2e 70 68 70 81 04 00 00 55 e8 fc 51 81 04 00 00 a4 4c ommand/Command.php....U..Q.....L
03e0 81 76 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 43 6f 6d 6d 61 .v........-...src/Composer/Comma
0400 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 a6 2a 00 00 55 nd/CreateProjectCommand.php.*..U
0420 e8 fc 51 a6 2a 00 00 56 1c d0 77 b6 01 00 00 00 00 00 00 25 00 00 00 73 72 63 2f 43 6f 6d 70 6f ..Q.*..V..w........%...src/Compo
0440 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 41 62 6f 75 74 43 6f 6d 6d 61 6e 64 2e 70 68 70 b7 02 00 00 ser/Command/AboutCommand.php....
0460 55 e8 fc 51 b7 02 00 00 bb 4d e6 2a b6 01 00 00 00 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 U..Q.....M.*........$...src/Comp
0480 6f 73 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 17 2b 00 00 oser/Command/ShowCommand.php.+..
04a0 55 e8 fc 51 17 2b 00 00 25 d9 06 35 b6 01 00 00 00 00 00 00 26 00 00 00 73 72 63 2f 43 6f 6d 70 U..Q.+..%..5........&...src/Comp
04c0 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 68 70 a1 0e oser/Command/UpdateCommand.php..
04e0 00 00 55 e8 fc 51 a1 0e 00 00 33 ea ac 17 b6 01 00 00 00 00 00 00 26 00 00 00 73 72 63 2f 43 6f ..U..Q....3...........&...src/Co
0500 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 43 6f 6e 66 69 67 43 6f 6d 6d 61 6e 64 2e 70 68 70 mposer/Command/ConfigCommand.php
0520 93 27 00 00 55 e8 fc 51 93 27 00 00 35 58 1e 71 b6 01 00 00 00 00 00 00 27 00 00 00 73 72 63 2f .'..U..Q.'..5X.q........'...src/
0540 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 49 6e 73 74 61 6c 6c 43 6f 6d 6d 61 6e 64 2e Composer/Command/InstallCommand.
0560 70 68 70 85 0c 00 00 55 e8 fc 51 85 0c 00 00 a4 01 aa a0 b6 01 00 00 00 00 00 00 28 00 00 00 73 php....U..Q................(...s
0580 72 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 rc/Composer/Command/ValidateComm
05a0 61 6e 64 2e 70 68 70 47 08 00 00 55 e8 fc 51 47 08 00 00 d9 0e 3b 72 b6 01 00 00 00 00 00 00 27 and.phpG...U..QG.....;r........'
05c0 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 65 70 65 6e 64 73 43 ...src/Composer/Command/DependsC
05e0 6f 6d 6d 61 6e 64 2e 70 68 70 6f 09 00 00 55 e8 fc 51 6f 09 00 00 54 b7 2e 72 b6 01 00 00 00 00 ommand.phpo...U..Qo...T..r......
0600 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 53 65 61 72 63 ..&...src/Composer/Command/Searc
0620 68 43 6f 6d 6d 61 6e 64 2e 70 68 70 5d 08 00 00 55 e8 fc 51 5d 08 00 00 d6 37 d8 32 b6 01 00 00 hCommand.php]...U..Q]....7.2....
0640 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 53 65 6c ....*...src/Composer/Command/Sel
0660 66 55 70 64 61 74 65 43 6f 6d 6d 61 6e 64 2e 70 68 70 74 09 00 00 55 e8 fc 51 74 09 00 00 c8 4b fUpdateCommand.phpt...U..Qt....K
0680 88 0a 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 ..........'...src/Composer/Comma
06a0 6e 64 2f 52 65 71 75 69 72 65 43 6f 6d 6d 61 6e 64 2e 70 68 70 6e 0f 00 00 55 e8 fc 51 6e 0f 00 nd/RequireCommand.phpn...U..Qn..
06c0 00 cc fb da 1c 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 43 6f .............,...src/Composer/Co
06e0 6d 6d 61 6e 64 2f 44 75 6d 70 41 75 74 6f 6c 6f 61 64 43 6f 6d 6d 61 6e 64 2e 70 68 70 79 04 00 mmand/DumpAutoloadCommand.phpy..
0700 00 55 e8 fc 51 79 04 00 00 52 2d 3d d2 b6 01 00 00 00 00 00 00 2c 00 00 00 73 72 63 2f 43 6f 6d .U..Qy...R-=.........,...src/Com
0720 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 48 65 6c 70 65 72 2f 44 69 61 6c 6f 67 48 65 6c 70 65 poser/Command/Helper/DialogHelpe
0740 72 2e 70 68 70 9e 01 00 00 55 e8 fc 51 9e 01 00 00 95 82 8c 26 b6 01 00 00 00 00 00 00 26 00 00 r.php....U..Q.......&........&..
0760 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 53 74 61 74 75 73 43 6f 6d 6d .src/Composer/Command/StatusComm
0780 61 6e 64 2e 70 68 70 80 08 00 00 55 e8 fc 51 80 08 00 00 77 ee 74 52 b6 01 00 00 00 00 00 00 24 and.php....U..Q....w.tR........$
07a0 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 49 6e 69 74 43 6f 6d 6d ...src/Composer/Command/InitComm
07c0 61 6e 64 2e 70 68 70 3b 31 00 00 55 e8 fc 51 3b 31 00 00 9a c2 54 af b6 01 00 00 00 00 00 00 29 and.php;1..U..Q;1....T.........)
07e0 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 44 6f ...src/Composer/Downloader/VcsDo
0800 77 6e 6c 6f 61 64 65 72 2e 70 68 70 4d 0f 00 00 55 e8 fc 51 4d 0f 00 00 2d 45 26 ca b6 01 00 00 wnloader.phpM...U..QM...-E&.....
0820 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 72 2f ....*...src/Composer/Downloader/
0840 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 9b 14 00 00 55 e8 fc 51 9b 14 00 00 fa 7c FileDownloader.php....U..Q.....|
0860 2e 30 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 .0........)...src/Composer/Downl
0880 6f 61 64 65 72 2f 53 76 6e 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 78 0d 00 00 55 e8 fc 51 78 oader/SvnDownloader.phpx...U..Qx
08a0 0d 00 00 c4 4e 5b e7 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 ....N[.........0...src/Composer/
08c0 44 6f 77 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 Downloader/PearPackageExtractor.
08e0 70 68 70 65 1b 00 00 55 e8 fc 51 65 1b 00 00 d7 a1 50 ba b6 01 00 00 00 00 00 00 2b 00 00 00 73 phpe...U..Qe.....P.........+...s
0900 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 64 4d rc/Composer/Downloader/DownloadM
0920 61 6e 61 67 65 72 2e 70 68 70 ea 0e 00 00 55 e8 fc 51 ea 0e 00 00 e8 f7 14 c5 b6 01 00 00 00 00 anager.php....U..Q..............
0940 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 44 6f ../...src/Composer/Downloader/Do
0960 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 55 e8 fc 51 ca 01 00 wnloaderInterface.php....U..Q...
0980 00 67 73 21 6c 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 44 6f .gs!l............src/Composer/Do
09a0 77 6e 6c 6f 61 64 65 72 2f 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 f6 wnloader/TransportException.php.
09c0 00 00 00 55 e8 fc 51 f6 00 00 00 cb 38 cd 8a b6 01 00 00 00 00 00 00 2a 00 00 00 73 72 63 2f 43 ...U..Q.....8..........*...src/C
09e0 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 50 68 61 72 44 6f 77 6e 6c 6f 61 64 65 omposer/Downloader/PharDownloade
0a00 72 2e 70 68 70 e5 00 00 00 55 e8 fc 51 e5 00 00 00 de c9 1f e7 b6 01 00 00 00 00 00 00 29 00 00 r.php....U..Q................)..
0a20 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 54 61 72 44 6f 77 6e .src/Composer/Downloader/TarDown
0a40 6c 6f 61 64 65 72 2e 70 68 70 e3 00 00 00 55 e8 fc 51 e3 00 00 00 cd 92 58 3f b6 01 00 00 00 00 loader.php....U..Q......X?......
0a60 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
0a80 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 fc 07 00 00 55 e8 fc 51 fc 07 00 00 c7 40 c2 26 b6 01 Downloader.php....U..Q.....@.&..
0aa0 00 00 00 00 00 00 31 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 ......1...src/Composer/Downloade
0ac0 72 2f 43 68 61 6e 67 65 52 65 70 6f 72 74 49 6e 74 65 72 66 61 63 65 2e 70 68 70 cc 00 00 00 55 r/ChangeReportInterface.php....U
0ae0 e8 fc 51 cc 00 00 00 af e0 a8 bf b6 01 00 00 00 00 00 00 2d 00 00 00 73 72 63 2f 43 6f 6d 70 6f ..Q................-...src/Compo
0b00 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 41 72 63 68 69 76 65 44 6f 77 6e 6c 6f 61 64 65 72 ser/Downloader/ArchiveDownloader
0b20 2e 70 68 70 3f 0c 00 00 55 e8 fc 51 3f 0c 00 00 a7 c5 af c8 b6 01 00 00 00 00 00 00 2f 00 00 00 .php?...U..Q?.............../...
0b40 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 73 79 73 74 src/Composer/Downloader/Filesyst
0b60 65 6d 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 0f 01 00 00 55 e8 fc 51 0f 01 00 00 5d 54 bd 88 b6 emException.php....U..Q....]T...
0b80 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 64 .......)...src/Composer/Download
0ba0 65 72 2f 5a 69 70 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 1d 0a 00 00 55 e8 fc 51 1d 0a 00 00 er/ZipDownloader.php....U..Q....
0bc0 05 8b 9f 5e 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 ...^........)...src/Composer/Dow
0be0 6e 6c 6f 61 64 65 72 2f 47 69 74 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 92 32 00 00 55 e8 fc nloader/GitDownloader.php.2..U..
0c00 51 92 32 00 00 d3 be ae f0 b6 01 00 00 00 00 00 00 36 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 Q.2..............6...src/Compose
0c20 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 49 6e 76 61 6c 69 64 52 65 70 6f 73 69 74 6f 72 79 45 78 r/Repository/InvalidRepositoryEx
0c40 63 65 70 74 69 6f 6e 2e 70 68 70 6e 00 00 00 55 e8 fc 51 6e 00 00 00 e0 93 eb 98 b6 01 00 00 00 ception.phpn...U..Qn............
0c60 00 00 00 2b 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 41 ...+...src/Composer/Repository/A
0c80 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 07 0c 00 00 55 e8 fc 51 07 0c 00 00 6b ff rrayRepository.php....U..Q....k.
0ca0 62 e7 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 52 65 70 6f 73 b.........0...src/Composer/Repos
0cc0 69 74 6f 72 79 2f 46 69 6c 65 73 79 73 74 65 6d 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 b6 04 itory/FilesystemRepository.php..
0ce0 00 00 55 e8 fc 51 b6 04 00 00 8e 59 95 7a b6 01 00 00 00 00 00 00 37 00 00 00 73 72 63 2f 43 6f ..U..Q.....Y.z........7...src/Co
0d00 6d 70 6f 73 65 72 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 mposer/Repository/WritableReposi
0d20 74 6f 72 79 49 6e 74 65 72 66 61 63 65 2e 70 68 70 89 01 00 00 55 e8 fc 51 89 01 00 00 91 2f 73 toryInterface.php....U..Q...../s
0d40 ef 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 65 70 6f 73 69 .........*...src/Composer/Reposi
0d60 74 6f 72 79 2f 50 65 61 72 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 07 15 00 00 55 e8 fc 51 07 tory/PearRepository.php....U..Q.
0d80 15 00 00 62 bf 45 c0 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 ...b.E.........-...src/Composer/
0da0 52 65 70 6f 73 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 Repository/RepositoryManager.php
0dc0 ff 06 00 00 55 e8 fc 51 ff 06 00 00 72 fc 5f 99 b6 01 00 00 00 00 00 00 33 00 00 00 73 72 63 2f ....U..Q....r._.........3...src/
0de0 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 57 72 69 74 61 62 6c 65 41 72 72 61 Composer/Repository/WritableArra
0e00 79 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 0f 03 00 00 55 e8 fc 51 0f 03 00 00 be 47 17 2a b6 yRepository.php....U..Q.....G.*.
0e20 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 6f 73 69 74 6f .......,...src/Composer/Reposito
0e40 72 79 2f 56 63 73 2f 47 69 74 48 75 62 44 72 69 76 65 72 2e 70 68 70 7d 20 00 00 55 e8 fc 51 7d ry/Vcs/GitHubDriver.php}...U..Q}
0e60 20 00 00 77 fb 70 c6 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 ...w.p.........2...src/Composer/
0e80 52 65 70 6f 73 69 74 6f 72 79 2f 56 63 73 2f 47 69 74 42 69 74 62 75 63 6b 65 74 44 72 69 76 65 Repository/Vcs/GitBitbucketDrive
0ea0 72 2e 70 68 70 3d 0d 00 00 55 e8 fc 51 3d 0d 00 00 cf c7 8e ba b6 01 00 00 00 00 00 00 29 00 00 r.php=...U..Q=...............)..
0ec0 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 2f 47 69 74 .src/Composer/Repository/Vcs/Git
0ee0 44 72 69 76 65 72 2e 70 68 70 a8 13 00 00 55 e8 fc 51 a8 13 00 00 9c dd 9d 33 b6 01 00 00 00 00 Driver.php....U..Q.......3......
0f00 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 72 79 2f 56 63 ..)...src/Composer/Repository/Vc
0f20 73 2f 53 76 6e 44 72 69 76 65 72 2e 70 68 70 10 18 00 00 55 e8 fc 51 10 18 00 00 a4 1a 40 f8 b6 s/SvnDriver.php....U..Q......@..
0f40 01 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 .......2...src/Composer/Reposito
0f60 72 79 2f 56 63 73 2f 56 63 73 44 72 69 76 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 43 02 00 ry/Vcs/VcsDriverInterface.phpC..
0f80 00 55 e8 fc 51 43 02 00 00 f9 46 c4 fc b6 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d .U..QC....F..........(...src/Com
0fa0 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 56 63 73 2f 48 67 44 72 69 76 65 72 2e 70 68 poser/Repository/Vcs/HgDriver.ph
0fc0 70 09 13 00 00 55 e8 fc 51 09 13 00 00 6e 30 83 92 b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 p....U..Q....n0..........)...src
0fe0 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 72 69 76 /Composer/Repository/Vcs/VcsDriv
1000 65 72 2e 70 68 70 f7 05 00 00 55 e8 fc 51 f7 05 00 00 c8 b8 eb f7 b6 01 00 00 00 00 00 00 31 00 er.php....U..Q................1.
1020 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 2f 48 67 ..src/Composer/Repository/Vcs/Hg
1040 42 69 74 62 75 63 6b 65 74 44 72 69 76 65 72 2e 70 68 70 45 0e 00 00 55 e8 fc 51 45 0e 00 00 57 BitbucketDriver.phpE...U..QE...W
1060 02 70 a8 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 6f .p.........4...src/Composer/Repo
1080 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 2e sitory/InstalledArrayRepository.
10a0 70 68 70 a3 00 00 00 55 e8 fc 51 a3 00 00 00 2f f6 7e 3e b6 01 00 00 00 00 00 00 37 00 00 00 73 php....U..Q..../.~>........7...s
10c0 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 69 74 6f 72 rc/Composer/Repository/Repositor
10e0 79 53 65 63 75 72 69 74 79 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 6f 00 00 00 55 e8 fc 51 6f 00 ySecurityException.phpo...U..Qo.
1100 00 00 70 d5 ab aa b6 01 00 00 00 00 00 00 39 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 ..p...........9...src/Composer/R
1120 65 70 6f 73 69 74 6f 72 79 2f 53 74 72 65 61 6d 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e epository/StreamableRepositoryIn
1140 74 65 72 66 61 63 65 2e 70 68 70 84 01 00 00 55 e8 fc 51 84 01 00 00 38 fe 01 b6 b6 01 00 00 00 terface.php....U..Q....8........
1160 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 72 79 2f 56 ...)...src/Composer/Repository/V
1180 63 73 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 e4 1b 00 00 55 e8 fc 51 e4 1b 00 00 a3 2f ca 96 csRepository.php....U..Q...../..
11a0 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 6f 73 69 74 ............src/Composer/Reposit
11c0 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 07 0b 00 00 55 e8 ory/PlatformRepository.php....U.
11e0 fc 51 07 0b 00 00 f3 98 c5 7c b6 01 00 00 00 00 00 00 39 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .Q.......|........9...src/Compos
1200 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 49 6e 73 74 61 6c 6c 65 64 46 69 6c 65 73 79 73 74 65 er/Repository/InstalledFilesyste
1220 6d 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 a3 00 00 00 55 e8 fc 51 a3 00 00 00 56 0a 95 5f b6 mRepository.php....U..Q....V.._.
1240 01 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 ......./...src/Composer/Reposito
1260 72 79 2f 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 08 09 00 00 55 e8 ry/CompositeRepository.php....U.
1280 fc 51 08 09 00 00 34 fa 03 45 b6 01 00 00 00 00 00 00 38 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .Q....4..E........8...src/Compos
12a0 65 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 er/Repository/InstalledRepositor
12c0 79 49 6e 74 65 72 66 61 63 65 2e 70 68 70 87 00 00 00 55 e8 fc 51 87 00 00 00 18 a3 39 70 b6 01 yInterface.php....U..Q......9p..
12e0 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 6f 73 69 74 6f 72 ..........src/Composer/Repositor
1300 79 2f 43 6f 6d 70 6f 73 65 72 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 1a 38 00 00 55 e8 fc 51 y/ComposerRepository.php.8..U..Q
1320 1a 38 00 00 e0 bb 3c 04 b6 01 00 00 00 00 00 00 2f 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 .8....<........./...src/Composer
1340 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 63 79 49 6e 66 6f 2e /Repository/Pear/DependencyInfo.
1360 70 68 70 71 01 00 00 55 e8 fc 51 71 01 00 00 66 ba 54 f2 b6 01 00 00 00 00 00 00 38 00 00 00 73 phpq...U..Qq...f.T.........8...s
1380 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 50 61 63 6b rc/Composer/Repository/Pear/Pack
13a0 61 67 65 44 65 70 65 6e 64 65 6e 63 79 50 61 72 73 65 72 2e 70 68 70 21 16 00 00 55 e8 fc 51 21 ageDependencyParser.php!...U..Q!
13c0 16 00 00 3d cc f3 46 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 ...=..F........,...src/Composer/
13e0 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 2e 70 68 70 c4 Repository/Pear/ChannelInfo.php.
1400 01 00 00 55 e8 fc 51 c4 01 00 00 3a 54 2a c9 b6 01 00 00 00 00 00 00 2e 00 00 00 73 72 63 2f 43 ...U..Q....:T*.............src/C
1420 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 6e 6e 65 6c 52 omposer/Repository/Pear/ChannelR
1440 65 61 64 65 72 2e 70 68 70 6e 06 00 00 55 e8 fc 51 6e 06 00 00 1c 9a 38 15 b6 01 00 00 00 00 00 eader.phpn...U..Qn.....8........
1460 00 2c 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 61 .,...src/Composer/Repository/Pea
1480 72 2f 50 61 63 6b 61 67 65 49 6e 66 6f 2e 70 68 70 b0 03 00 00 55 e8 fc 51 b0 03 00 00 9f 0d b8 r/PackageInfo.php....U..Q.......
14a0 0c 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 52 65 70 6f 73 69 .........5...src/Composer/Reposi
14c0 74 6f 72 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 tory/Pear/DependencyConstraint.p
14e0 68 70 71 02 00 00 55 e8 fc 51 71 02 00 00 39 0e 17 3d b6 01 00 00 00 00 00 00 34 00 00 00 73 72 hpq...U..Qq...9..=........4...sr
1500 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 6e 6e c/Composer/Repository/Pear/Chann
1520 65 6c 52 65 73 74 31 31 52 65 61 64 65 72 2e 70 68 70 26 09 00 00 55 e8 fc 51 26 09 00 00 f2 55 elRest11Reader.php&...U..Q&....U
1540 62 08 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 6f 73 b.........,...src/Composer/Repos
1560 69 74 6f 72 79 2f 50 65 61 72 2f 52 65 6c 65 61 73 65 49 6e 66 6f 2e 70 68 70 92 01 00 00 55 e8 itory/Pear/ReleaseInfo.php....U.
1580 fc 51 92 01 00 00 6f 93 8a c3 b6 01 00 00 00 00 00 00 32 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .Q....o...........2...src/Compos
15a0 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 50 65 61 72 2f 42 61 73 65 43 68 61 6e 6e 65 6c 52 65 er/Repository/Pear/BaseChannelRe
15c0 61 64 65 72 2e 70 68 70 36 05 00 00 55 e8 fc 51 36 05 00 00 2e 66 69 21 b6 01 00 00 00 00 00 00 ader.php6...U..Q6....fi!........
15e0 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 79 2f 50 65 61 72 4...src/Composer/Repository/Pear
1600 2f 43 68 61 6e 6e 65 6c 52 65 73 74 31 30 52 65 61 64 65 72 2e 70 68 70 c1 09 00 00 55 e8 fc 51 /ChannelRest10Reader.php....U..Q
1620 c1 09 00 00 04 4f 80 eb b6 01 00 00 00 00 00 00 2f 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 .....O........../...src/Composer
1640 2f 52 65 70 6f 73 69 74 6f 72 79 2f 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 2e /Repository/RepositoryInterface.
1660 70 68 70 d4 01 00 00 55 e8 fc 51 d4 01 00 00 f2 90 9f c9 b6 01 00 00 00 00 00 00 2e 00 00 00 73 php....U..Q....................s
1680 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 74 69 66 61 63 74 52 rc/Composer/Repository/ArtifactR
16a0 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 46 08 00 00 55 e8 fc 51 46 08 00 00 ae 0b 38 97 b6 01 00 epository.phpF...U..QF.....8....
16c0 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 69 74 6f 72 79 .....-...src/Composer/Repository
16e0 2f 50 61 63 6b 61 67 65 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 47 03 00 00 55 e8 fc 51 47 03 /PackageRepository.phpG...U..QG.
1700 00 00 ed 04 3a 6b 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 50 ....:k........(...src/Composer/P
1720 61 63 6b 61 67 65 2f 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 2e 70 68 70 d8 05 00 00 55 e8 ackage/CompletePackage.php....U.
1740 fc 51 d8 05 00 00 38 47 6c 5d b6 01 00 00 00 00 00 00 2b 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .Q....8Gl]........+...src/Compos
1760 65 72 2f 50 61 63 6b 61 67 65 2f 44 75 6d 70 65 72 2f 41 72 72 61 79 44 75 6d 70 65 72 2e 70 68 er/Package/Dumper/ArrayDumper.ph
1780 70 65 0a 00 00 55 e8 fc 51 65 0a 00 00 cf cf cd fb b6 01 00 00 00 00 00 00 37 00 00 00 73 72 63 pe...U..Qe...............7...src
17a0 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 6c 69 64 /Composer/Package/Loader/Invalid
17c0 50 61 63 6b 61 67 65 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 45 02 00 00 55 e8 fc 51 45 02 00 00 PackageException.phpE...U..QE...
17e0 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 50 61 63 xb..........*...src/Composer/Pac
1800 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 00 55 e8 kage/Loader/JsonLoader.php....U.
1820 fc 51 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 70 6f 73 .Q....!~.{......../...src/Compos
1840 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 66 61 63 er/Package/Loader/LoaderInterfac
1860 65 2e 70 68 70 b2 00 00 00 55 e8 fc 51 b2 00 00 00 a6 7d fa ce b6 01 00 00 00 00 00 00 2b 00 00 e.php....U..Q.....}..........+..
1880 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 41 72 72 .src/Composer/Package/Loader/Arr
18a0 61 79 4c 6f 61 64 65 72 2e 70 68 70 a5 17 00 00 55 e8 fc 51 a5 17 00 00 91 fe 00 30 b6 01 00 00 ayLoader.php....U..Q.......0....
18c0 00 00 00 00 35 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 ....5...src/Composer/Package/Loa
18e0 64 65 72 2f 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c 6f 61 64 65 72 2e 70 68 70 30 29 00 der/ValidatingArrayLoader.php0).
1900 00 55 e8 fc 51 30 29 00 00 c7 5f 92 d3 b6 01 00 00 00 00 00 00 31 00 00 00 73 72 63 2f 43 6f 6d .U..Q0)..._..........1...src/Com
1920 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 4c 6f 61 64 65 72 2f 52 6f 6f 74 50 61 63 6b 61 67 65 poser/Package/Loader/RootPackage
1940 4c 6f 61 64 65 72 2e 70 68 70 cd 1c 00 00 55 e8 fc 51 cd 1c 00 00 45 92 a1 4c b6 01 00 00 00 00 Loader.php....U..Q....E..L......
1960 00 00 1f 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 63 6b 65 ......src/Composer/Package/Locke
1980 72 2e 70 68 70 63 1a 00 00 55 e8 fc 51 63 1a 00 00 b0 08 fe 96 b6 01 00 00 00 00 00 00 29 00 00 r.phpc...U..Qc...............)..
19a0 00 73 72 63 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 49 6e 74 .src/Composer/Package/PackageInt
19c0 65 72 66 61 63 65 2e 70 68 70 67 06 00 00 55 e8 fc 51 67 06 00 00 60 9d 58 c4 b6 01 00 00 00 00 erface.phpg...U..Qg...`.X.......
19e0 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 42 61 73 65 50 ..$...src/Composer/Package/BaseP
1a00 61 63 6b 61 67 65 2e 70 68 70 5b 0a 00 00 55 e8 fc 51 5b 0a 00 00 24 08 b5 d2 b6 01 00 00 00 00 ackage.php[...U..Q[...$.........
1a20 00 00 2e 00 00 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 ......src/Composer/Package/Versi
1a40 6f 6e 2f 56 65 72 73 69 6f 6e 50 61 72 73 65 72 2e 70 68 70 8c 24 00 00 55 e8 fc 51 8c 24 00 00 on/VersionParser.php.$..U..Q.$..
1a60 0a 20 4e cc b6 01 00 00 00 00 00 00 31 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 ..N.........1...src/Composer/Pac
1a80 6b 61 67 65 2f 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 2e 70 68 kage/CompletePackageInterface.ph
1aa0 70 a1 01 00 00 55 e8 fc 51 a1 01 00 00 96 cf 32 97 b6 01 00 00 00 00 00 00 2d 00 00 00 73 72 63 p....U..Q......2.........-...src
1ac0 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 61 67 65 49 6e 74 /Composer/Package/RootPackageInt
1ae0 65 72 66 61 63 65 2e 70 68 70 b4 01 00 00 55 e8 fc 51 b4 01 00 00 ea 71 4b d0 b6 01 00 00 00 00 erface.php....U..Q.....qK.......
1b00 00 00 24 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 ..$...src/Composer/Package/RootP
1b20 61 63 6b 61 67 65 2e 70 68 70 6e 04 00 00 55 e8 fc 51 6e 04 00 00 e1 41 43 4f b6 01 00 00 00 00 ackage.phpn...U..Qn....ACO......
1b40 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
1b60 76 65 72 2f 41 72 63 68 69 76 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 ef 00 00 00 55 e8 fc ver/ArchiverInterface.php....U..
1b80 51 ef 00 00 00 07 3c ca b8 b6 01 00 00 00 00 00 00 37 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 Q.....<..........7...src/Compose
1ba0 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
1bc0 64 65 46 69 6c 74 65 72 2e 70 68 70 1f 01 00 00 55 e8 fc 51 1f 01 00 00 8b 53 5a 30 b6 01 00 00 deFilter.php....U..Q.....SZ0....
1be0 00 00 00 00 2e 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 ........src/Composer/Package/Arc
1c00 68 69 76 65 72 2f 50 68 61 72 41 72 63 68 69 76 65 72 2e 70 68 70 5b 03 00 00 55 e8 fc 51 5b 03 hiver/PharArchiver.php[...U..Q[.
1c20 00 00 ca 35 cd f8 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 50 ...5..........3...src/Composer/P
1c40 61 63 6b 61 67 65 2f 41 72 63 68 69 76 65 72 2f 42 61 73 65 45 78 63 6c 75 64 65 46 69 6c 74 65 ackage/Archiver/BaseExcludeFilte
1c60 72 2e 70 68 70 9d 06 00 00 55 e8 fc 51 9d 06 00 00 90 d5 23 26 b6 01 00 00 00 00 00 00 32 00 00 r.php....U..Q......#&........2..
1c80 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 2f 47 .src/Composer/Package/Archiver/G
1ca0 69 74 45 78 63 6c 75 64 65 46 69 6c 74 65 72 2e 70 68 70 77 03 00 00 55 e8 fc 51 77 03 00 00 4c itExcludeFilter.phpw...U..Qw...L
1cc0 67 55 bb 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 gU.........7...src/Composer/Pack
1ce0 61 67 65 2f 41 72 63 68 69 76 65 72 2f 41 72 63 68 69 76 61 62 6c 65 46 69 6c 65 73 46 69 6e 64 age/Archiver/ArchivableFilesFind
1d00 65 72 2e 70 68 70 65 04 00 00 55 e8 fc 51 65 04 00 00 54 ec 8c 7a b6 01 00 00 00 00 00 00 30 00 er.phpe...U..Qe...T..z........0.
1d20 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 2f ..src/Composer/Package/Archiver/
1d40 41 72 63 68 69 76 65 4d 61 6e 61 67 65 72 2e 70 68 70 94 09 00 00 55 e8 fc 51 94 09 00 00 da 50 ArchiveManager.php....U..Q.....P
1d60 1b d5 b6 01 00 00 00 00 00 00 31 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 ..........1...src/Composer/Packa
1d80 67 65 2f 41 72 63 68 69 76 65 72 2f 48 67 45 78 63 6c 75 64 65 46 69 6c 74 65 72 2e 70 68 70 13 ge/Archiver/HgExcludeFilter.php.
1da0 05 00 00 55 e8 fc 51 13 05 00 00 7e 94 0e b8 b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 ...U..Q....~...........)...src/C
1dc0 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 61 67 65 omposer/Package/RootAliasPackage
1de0 2e 70 68 70 de 03 00 00 55 e8 fc 51 de 03 00 00 d5 12 3e 05 b6 01 00 00 00 00 00 00 20 00 00 00 .php....U..Q......>.............
1e00 73 72 63 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 src/Composer/Package/Package.php
1e20 8e 13 00 00 55 e8 fc 51 8e 13 00 00 5a be a6 ce b6 01 00 00 00 00 00 00 25 00 00 00 73 72 63 2f ....U..Q....Z...........%...src/
1e40 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 41 6c 69 61 73 50 61 63 6b 61 67 65 2e 70 68 Composer/Package/AliasPackage.ph
1e60 70 45 12 00 00 55 e8 fc 51 45 12 00 00 56 6e f3 c0 b6 01 00 00 00 00 00 00 1d 00 00 00 73 72 63 pE...U..QE...Vn..............src
1e80 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 4c 69 6e 6b 2e 70 68 70 51 05 00 00 55 e8 /Composer/Package/Link.phpQ...U.
1ea0 fc 51 51 05 00 00 87 cf 39 04 b6 01 00 00 00 00 00 00 37 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .QQ.....9.........7...src/Compos
1ec0 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 45 6d 70 74 79 43 er/Package/LinkConstraint/EmptyC
1ee0 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 ea 01 00 00 55 e8 fc 51 ea 01 00 00 00 ec 1b be b6 01 00 onstraint.php....U..Q...........
1f00 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 65 2f 4c 69 .....7...src/Composer/Package/Li
1f20 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 2f 4d 75 6c 74 69 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 nkConstraint/MultiConstraint.php
1f40 67 04 00 00 55 e8 fc 51 67 04 00 00 78 f5 18 38 b6 01 00 00 00 00 00 00 39 00 00 00 73 72 63 2f g...U..Qg...x..8........9...src/
1f60 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 69 6e 74 2f Composer/Package/LinkConstraint/
1f80 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 ce 06 00 00 55 e8 fc 51 ce 06 00 VersionConstraint.php....U..Q...
1fa0 00 6c f0 60 43 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 .l.`C........:...src/Composer/Pa
1fc0 63 6b 61 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 ckage/LinkConstraint/SpecificCon
1fe0 73 74 72 61 69 6e 74 2e 70 68 70 71 02 00 00 55 e8 fc 51 71 02 00 00 96 53 9a f8 b6 01 00 00 00 straint.phpq...U..Qq....S.......
2000 00 00 00 3f 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 ...?...src/Composer/Package/Link
2020 43 6f 6e 73 74 72 61 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 Constraint/LinkConstraintInterfa
2040 63 65 2e 70 68 70 15 01 00 00 55 e8 fc 51 15 01 00 00 e5 fe 87 a2 b6 01 00 00 00 00 00 00 16 00 ce.php....U..Q..................
2060 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 61 63 68 65 2e 70 68 70 3c 0d 00 00 55 e8 fc 51 ..src/Composer/Cache.php<...U..Q
2080 3c 0d 00 00 5d 81 ea 8d b6 01 00 00 00 00 00 00 33 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 <...]...........3...src/Composer
20a0 2f 44 65 70 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 /DependencyResolver/PolicyInterf
20c0 61 63 65 2e 70 68 70 91 01 00 00 55 e8 fc 51 91 01 00 00 42 18 9f b6 b6 01 00 00 00 00 00 00 2b ace.php....U..Q....B...........+
20e0 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
2100 65 72 2f 52 75 6c 65 53 65 74 2e 70 68 70 9b 09 00 00 55 e8 fc 51 9b 09 00 00 4a 79 0c c0 b6 01 er/RuleSet.php....U..Q....Jy....
2120 00 00 00 00 00 00 36 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 ......6...src/Composer/Dependenc
2140 79 52 65 73 6f 6c 76 65 72 2f 53 6f 6c 76 65 72 42 75 67 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 yResolver/SolverBugException.php
2160 98 01 00 00 55 e8 fc 51 98 01 00 00 7f 22 71 4e b6 01 00 00 00 00 00 00 31 00 00 00 73 72 63 2f ....U..Q....."qN........1...src/
2180 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 65 66 61 Composer/DependencyResolver/Defa
21a0 75 6c 74 50 6f 6c 69 63 79 2e 70 68 70 80 18 00 00 55 e8 fc 51 80 18 00 00 31 88 d5 4c b6 01 00 ultPolicy.php....U..Q....1..L...
21c0 00 00 00 00 00 2d 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
21e0 52 65 73 6f 6c 76 65 72 2f 44 65 63 69 73 69 6f 6e 73 2e 70 68 70 51 0f 00 00 55 e8 fc 51 51 0f Resolver/Decisions.phpQ...U..QQ.
2200 00 00 3f 98 ac 24 b6 01 00 00 00 00 00 00 31 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 ..?..$........1...src/Composer/D
2220 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 4e 6f 64 65 2e ependencyResolver/RuleWatchNode.
2240 70 68 70 f0 03 00 00 55 e8 fc 51 f0 03 00 00 5d 24 f3 b4 b6 01 00 00 00 00 00 00 3b 00 00 00 73 php....U..Q....]$..........;...s
2260 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 53 rc/Composer/DependencyResolver/S
2280 6f 6c 76 65 72 50 72 6f 62 6c 65 6d 73 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 25 04 00 00 55 e8 olverProblemsException.php%...U.
22a0 fc 51 25 04 00 00 54 1a ed 50 b6 01 00 00 00 00 00 00 2f 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .Q%...T..P......../...src/Compos
22c0 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 54 72 61 6e 73 61 63 74 69 6f er/DependencyResolver/Transactio
22e0 6e 2e 70 68 70 11 14 00 00 55 e8 fc 51 11 14 00 00 93 fe de 87 b6 01 00 00 00 00 00 00 40 00 00 n.php....U..Q................@..
2300 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 72 .src/Composer/DependencyResolver
2320 2f 4f 70 65 72 61 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 /Operation/UninstallOperation.ph
2340 70 49 02 00 00 55 e8 fc 51 49 02 00 00 46 fb c2 c9 b6 01 00 00 00 00 00 00 3d 00 00 00 73 72 63 pI...U..QI...F...........=...src
2360 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 70 65 /Composer/DependencyResolver/Ope
2380 72 61 74 69 6f 6e 2f 55 70 64 61 74 65 4f 70 65 72 61 74 69 6f 6e 2e 70 68 70 68 03 00 00 55 e8 ration/UpdateOperation.phph...U.
23a0 fc 51 68 03 00 00 f6 53 d5 5d b6 01 00 00 00 00 00 00 49 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .Qh....S.]........I...src/Compos
23c0 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 2f er/DependencyResolver/Operation/
23e0 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 70 68 70 d0 MarkAliasInstalledOperation.php.
2400 02 00 00 55 e8 fc 51 d0 02 00 00 78 55 5a 61 b6 01 00 00 00 00 00 00 3e 00 00 00 73 72 63 2f 43 ...U..Q....xUZa........>...src/C
2420 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
2440 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 00 00 55 e8 fc tion/InstallOperation.phpC...U..
2460 51 43 02 00 00 b4 5c f5 2a b6 01 00 00 00 00 00 00 3d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 QC....\.*........=...src/Compose
2480 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 2f 53 r/DependencyResolver/Operation/S
24a0 6f 6c 76 65 72 4f 70 65 72 61 74 69 6f 6e 2e 70 68 70 eb 01 00 00 55 e8 fc 51 eb 01 00 00 c4 a7 olverOperation.php....U..Q......
24c0 dd 94 b6 01 00 00 00 00 00 00 4b 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e ..........K...src/Composer/Depen
24e0 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 4f 70 65 72 61 74 69 6f 6e 2f 4d 61 72 6b 41 6c 69 61 dencyResolver/Operation/MarkAlia
2500 73 55 6e 69 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 69 6f 6e 2e 70 68 70 d6 02 00 00 55 e8 fc sUninstalledOperation.php....U..
2520 51 d6 02 00 00 5f 69 c7 ab b6 01 00 00 00 00 00 00 40 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 Q...._i..........@...src/Compose
2540 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 2f 4f r/DependencyResolver/Operation/O
2560 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 2e 70 68 70 d3 00 00 00 55 e8 fc 51 d3 00 00 perationInterface.php....U..Q...
2580 00 d9 e2 26 e4 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 ...&.........(...src/Composer/De
25a0 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 50 6f 6f 6c 2e 70 68 70 20 26 00 00 55 e8 fc pendencyResolver/Pool.php.&..U..
25c0 51 20 26 00 00 a5 f5 17 e4 b6 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 Q.&..............(...src/Compose
25e0 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 2e 70 68 70 be 14 00 r/DependencyResolver/Rule.php...
2600 00 55 e8 fc 51 be 14 00 00 7f 05 bc 65 b6 01 00 00 00 00 00 00 34 00 00 00 73 72 63 2f 43 6f 6d .U..Q.......e........4...src/Com
2620 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
2640 47 65 6e 65 72 61 74 6f 72 2e 70 68 70 4f 15 00 00 55 e8 fc 51 4f 15 00 00 5f 3c a0 3d b6 01 00 Generator.phpO...U..QO..._<.=...
2660 00 00 00 00 00 2f 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
2680 52 65 73 6f 6c 76 65 72 2f 44 65 62 75 67 53 6f 6c 76 65 72 2e 70 68 70 89 06 00 00 55 e8 fc 51 Resolver/DebugSolver.php....U..Q
26a0 89 06 00 00 a3 d2 ad 85 b6 01 00 00 00 00 00 00 33 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 ................3...src/Composer
26c0 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 49 74 65 72 61 /DependencyResolver/RuleSetItera
26e0 74 6f 72 2e 70 68 70 14 06 00 00 55 e8 fc 51 14 06 00 00 7d f5 c7 f9 b6 01 00 00 00 00 00 00 32 tor.php....U..Q....}...........2
2700 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
2720 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 55 e8 fc 51 69 01 00 er/RuleWatchChain.phpi...U..Qi..
2740 00 68 ef 9a 2c 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 .h..,........*...src/Composer/De
2760 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 b9 35 00 00 55 pendencyResolver/Solver.php.5..U
2780 e8 fc 51 b9 35 00 00 a6 c2 91 92 b6 01 00 00 00 00 00 00 2b 00 00 00 73 72 63 2f 43 6f 6d 70 6f ..Q.5..............+...src/Compo
27a0 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 52 65 71 75 65 73 74 2e 70 ser/DependencyResolver/Request.p
27c0 68 70 89 04 00 00 55 e8 fc 51 89 04 00 00 31 1a b2 49 b6 01 00 00 00 00 00 00 2b 00 00 00 73 72 hp....U..Q....1..I........+...sr
27e0 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 72 c/Composer/DependencyResolver/Pr
2800 6f 62 6c 65 6d 2e 70 68 70 ae 10 00 00 55 e8 fc 51 ae 10 00 00 74 ed 02 47 b6 01 00 00 00 00 00 oblem.php....U..Q....t..G.......
2820 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 65 73 6f .2...src/Composer/DependencyReso
2840 6c 76 65 72 2f 52 75 6c 65 57 61 74 63 68 47 72 61 70 68 2e 70 68 70 e1 06 00 00 55 e8 fc 51 e1 lver/RuleWatchGraph.php....U..Q.
2860 06 00 00 89 72 f4 76 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 ....r.v........-...src/Composer/
2880 43 6f 6e 66 69 67 2f 43 6f 6e 66 69 67 53 6f 75 72 63 65 49 6e 74 65 72 66 61 63 65 2e 70 68 70 Config/ConfigSourceInterface.php
28a0 8d 01 00 00 55 e8 fc 51 8d 01 00 00 21 94 02 70 b6 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f ....U..Q....!..p........(...src/
28c0 43 6f 6d 70 6f 73 65 72 2f 43 6f 6e 66 69 67 2f 4a 73 6f 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 Composer/Config/JsonConfigSource
28e0 2e 70 68 70 1e 08 00 00 55 e8 fc 51 1e 08 00 00 bf 64 b7 62 b6 01 00 00 00 00 00 00 18 00 00 00 .php....U..Q.....d.b............
2900 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 46 61 63 74 6f 72 79 2e 70 68 70 5c 24 00 00 55 e8 fc 51 src/Composer/Factory.php\$..U..Q
2920 5c 24 00 00 10 9b 1f a1 b6 01 00 00 00 00 00 00 20 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 \$..................src/Composer
2940 2f 55 74 69 6c 2f 46 69 6c 65 73 79 73 74 65 6d 2e 70 68 70 8f 19 00 00 55 e8 fc 51 8f 19 00 00 /Util/Filesystem.php....U..Q....
2960 25 67 53 77 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 55 74 69 %gSw............src/Composer/Uti
2980 6c 2f 47 69 74 48 75 62 2e 70 68 70 e5 09 00 00 55 e8 fc 51 e5 09 00 00 7e 29 9a 1d b6 01 00 00 l/GitHub.php....U..Q....~)......
29a0 00 00 00 00 25 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 50 72 6f 63 65 73 ....%...src/Composer/Util/Proces
29c0 73 45 78 65 63 75 74 6f 72 2e 70 68 70 57 06 00 00 55 e8 fc 51 57 06 00 00 d4 15 20 b8 b6 01 00 sExecutor.phpW...U..QW..........
29e0 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 47 69 74 2e 70 .........src/Composer/Util/Git.p
2a00 68 70 61 02 00 00 55 e8 fc 51 61 02 00 00 0e b4 e6 e4 b6 01 00 00 00 00 00 00 26 00 00 00 73 72 hpa...U..Qa...............&...sr
2a20 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d c/Composer/Util/RemoteFilesystem
2a40 2e 70 68 70 b3 1b 00 00 55 e8 fc 51 b3 1b 00 00 83 a0 5e aa b6 01 00 00 00 00 00 00 2a 00 00 00 .php....U..Q......^.........*...
2a60 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 53 74 72 65 61 6d 43 6f 6e 74 65 78 74 46 src/Composer/Util/StreamContextF
2a80 61 63 74 6f 72 79 2e 70 68 70 69 0a 00 00 55 e8 fc 51 69 0a 00 00 79 5e 72 f3 b6 01 00 00 00 00 actory.phpi...U..Qi...y^r.......
2aa0 00 00 25 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 43 6f 6e 66 69 67 56 61 ..%...src/Composer/Util/ConfigVa
2ac0 6c 69 64 61 74 6f 72 2e 70 68 70 68 0a 00 00 55 e8 fc 51 68 0a 00 00 45 ea 2e 31 b6 01 00 00 00 lidator.phph...U..Qh...E..1.....
2ae0 00 00 00 22 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 45 72 72 6f 72 48 61 ..."...src/Composer/Util/ErrorHa
2b00 6e 64 6c 65 72 2e 70 68 70 14 02 00 00 55 e8 fc 51 14 02 00 00 b4 40 85 e6 b6 01 00 00 00 00 00 ndler.php....U..Q.....@.........
2b20 00 2b 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 53 70 64 78 4c 69 63 65 6e .+...src/Composer/Util/SpdxLicen
2b40 73 65 49 64 65 6e 74 69 66 69 65 72 2e 70 68 70 36 0a 00 00 55 e8 fc 51 36 0a 00 00 c4 36 bb 6f seIdentifier.php6...U..Q6....6.o
2b60 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 53 76 ............src/Composer/Util/Sv
2b80 6e 2e 70 68 70 f8 0c 00 00 55 e8 fc 51 f8 0c 00 00 45 2f 74 79 b6 01 00 00 00 00 00 00 19 00 00 n.php....U..Q....E/ty...........
2ba0 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 e2 07 00 00 55 e8 .src/Composer/Composer.php....U.
2bc0 fc 51 e2 07 00 00 e4 b9 db 77 b6 01 00 00 00 00 00 00 25 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .Q.......w........%...src/Compos
2be0 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 bc 1e 00 00 55 er/Json/JsonManipulator.php....U
2c00 e8 fc 51 bc 1e 00 00 61 a8 21 23 b6 01 00 00 00 00 00 00 1e 00 00 00 73 72 63 2f 43 6f 6d 70 6f ..Q....a.!#............src/Compo
2c20 73 65 72 2f 4a 73 6f 6e 2f 4a 73 6f 6e 46 69 6c 65 2e 70 68 70 f3 13 00 00 55 e8 fc 51 f3 13 00 ser/Json/JsonFile.php....U..Q...
2c40 00 aa e1 97 51 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 4a 73 ....Q........-...src/Composer/Js
2c60 6f 6e 2f 4a 73 6f 6e 56 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 32 01 on/JsonValidationException.php2.
2c80 00 00 55 e8 fc 51 32 01 00 00 39 62 84 31 b6 01 00 00 00 00 00 00 17 00 00 00 73 72 63 2f 43 6f ..U..Q2...9b.1............src/Co
2ca0 6d 70 6f 73 65 72 2f 43 6f 6e 66 69 67 2e 70 68 70 b8 12 00 00 55 e8 fc 51 b8 12 00 00 55 1d 9c mposer/Config.php....U..Q....U..
2cc0 ef b6 01 00 00 00 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 .............src/Composer/Script
2ce0 2f 45 76 65 6e 74 2e 70 68 70 75 02 00 00 55 e8 fc 51 75 02 00 00 15 15 37 b9 b6 01 00 00 00 00 /Event.phpu...U..Qu.....7.......
2d00 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 53 63 72 69 70 74 ..$...src/Composer/Script/Script
2d20 45 76 65 6e 74 73 2e 70 68 70 e1 03 00 00 55 e8 fc 51 e1 03 00 00 28 71 50 45 b6 01 00 00 00 00 Events.php....U..Q....(qPE......
2d40 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 6e ..$...src/Composer/Script/Comman
2d60 64 45 76 65 6e 74 2e 70 68 70 6f 00 00 00 55 e8 fc 51 6f 00 00 00 0d b7 14 79 b6 01 00 00 00 00 dEvent.phpo...U..Qo......y......
2d80 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 50 61 63 6b 61 67 ..$...src/Composer/Script/Packag
2da0 65 45 76 65 6e 74 2e 70 68 70 f7 01 00 00 55 e8 fc 51 f7 01 00 00 61 16 b1 09 b6 01 00 00 00 00 eEvent.php....U..Q....a.........
2dc0 00 00 27 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 44 ..'...src/Composer/Script/EventD
2de0 69 73 70 61 74 63 68 65 72 2e 70 68 70 75 0c 00 00 55 e8 fc 51 75 0c 00 00 91 e9 a2 ee b6 01 00 ispatcher.phpu...U..Qu..........
2e00 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 72 2f .....(...src/Composer/Installer/
2e20 4e 6f 6f 70 49 6e 73 74 61 6c 6c 65 72 2e 70 68 70 35 05 00 00 55 e8 fc 51 35 05 00 00 b1 38 71 NoopInstaller.php5...U..Q5....8q
2e40 61 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 49 6e 73 74 61 6c a......../...src/Composer/Instal
2e60 6c 65 72 2f 4d 65 74 61 70 61 63 6b 61 67 65 49 6e 73 74 61 6c 6c 65 72 2e 70 68 70 a6 04 00 00 ler/MetapackageInstaller.php....
2e80 55 e8 fc 51 a6 04 00 00 ab a3 66 ce b6 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 U..Q......f.........(...src/Comp
2ea0 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 50 65 61 72 49 6e 73 74 61 6c 6c 65 72 2e 70 68 70 oser/Installer/PearInstaller.php
2ec0 07 11 00 00 55 e8 fc 51 07 11 00 00 1f 57 80 75 b6 01 00 00 00 00 00 00 2b 00 00 00 73 72 63 2f ....U..Q.....W.u........+...src/
2ee0 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 50 72 6f 6a 65 63 74 49 6e 73 74 61 6c Composer/Installer/ProjectInstal
2f00 6c 65 72 2e 70 68 70 e1 05 00 00 55 e8 fc 51 e1 05 00 00 9b 51 1e 05 b6 01 00 00 00 00 00 00 2b ler.php....U..Q.....Q..........+
2f20 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 4c 69 62 72 61 72 ...src/Composer/Installer/Librar
2f40 79 49 6e 73 74 61 6c 6c 65 72 2e 70 68 70 30 1a 00 00 55 e8 fc 51 30 1a 00 00 28 3c 9d 3f b6 01 yInstaller.php0...U..Q0...(<.?..
2f60 00 00 00 00 00 00 2e 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
2f80 2f 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2e 70 68 70 4b 14 00 00 55 e8 fc 51 /InstallationManager.phpK...U..Q
2fa0 4b 14 00 00 38 e8 7e 62 b6 01 00 00 00 00 00 00 2d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 K...8.~b........-...src/Composer
2fc0 2f 49 6e 73 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 /Installer/InstallerInterface.ph
2fe0 70 c5 02 00 00 55 e8 fc 51 c5 02 00 00 48 53 93 a1 b6 01 00 00 00 00 00 00 2d 00 00 00 73 72 63 p....U..Q....HS..........-...src
3000 2f 43 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 65 72 49 6e 73 /Composer/Installer/InstallerIns
3020 74 61 6c 6c 65 72 2e 70 68 70 df 09 00 00 55 e8 fc 51 df 09 00 00 35 69 12 c0 b6 01 00 00 00 00 taller.php....U..Q....5i........
3040 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6e 73 6f 6c 65 2f 41 70 70 6c 69 ..$...src/Composer/Console/Appli
3060 63 61 74 69 6f 6e 2e 70 68 70 c3 17 00 00 55 e8 fc 51 c3 17 00 00 95 99 36 29 b6 01 00 00 00 00 cation.php....U..Q......6)......
3080 00 00 2c 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6e 73 6f 6c 65 2f 48 74 6d 6c 4f ..,...src/Composer/Console/HtmlO
30a0 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 2e 70 68 70 d0 05 00 00 55 e8 fc 51 d0 05 00 00 dd 46 utputFormatter.php....U..Q.....F
30c0 d7 ea 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 41 75 74 6f 6c ..........+...src/Composer/Autol
30e0 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 df 39 00 00 55 e8 fc oad/AutoloadGenerator.php.9..U..
3100 51 df 39 00 00 d0 0a be 95 b6 01 00 00 00 00 00 00 2b 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 Q.9..............+...src/Compose
3120 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 68 70 r/Autoload/ClassMapGenerator.php
3140 da 0a 00 00 55 e8 fc 51 da 0a 00 00 71 ee 7d 4a b6 01 00 00 00 00 00 00 1a 00 00 00 73 72 63 2f ....U..Q....q.}J............src/
3160 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2e 70 68 70 b5 5c 00 00 55 e8 fc 51 b5 5c Composer/Installer.php.\..U..Q.\
3180 00 00 35 bc 02 00 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 41 ..5...........%...src/Composer/A
31a0 75 74 6f 6c 6f 61 64 2f 43 6c 61 73 73 4c 6f 61 64 65 72 2e 70 68 70 0f 1b 00 00 55 e8 fc 51 0f utoload/ClassLoader.php....U..Q.
31c0 1b 00 00 71 07 a5 f8 b6 01 00 00 00 00 00 00 18 00 00 00 72 65 73 2f 73 70 64 78 2d 69 64 65 6e ...q...............res/spdx-iden
31e0 74 69 66 69 65 72 2e 6a 73 6f 6e 69 0b 00 00 55 e8 fc 51 69 0b 00 00 e6 97 52 1a b6 01 00 00 00 tifier.jsoni...U..Qi.....R......
3200 00 00 00 18 00 00 00 72 65 73 2f 63 6f 6d 70 6f 73 65 72 2d 73 63 68 65 6d 61 2e 6a 73 6f 6e 16 .......res/composer-schema.json.
3220 42 00 00 55 e8 fc 51 16 42 00 00 9e 45 74 f3 b6 01 00 00 00 00 00 00 1f 00 00 00 73 72 63 2f 43 B..U..Q.B...Et.............src/C
3240 6f 6d 70 6f 73 65 72 2f 49 4f 2f 68 69 64 64 65 6e 69 6e 70 75 74 2e 65 78 65 00 24 00 00 55 e8 omposer/IO/hiddeninput.exe.$..U.
3260 fc 51 00 24 00 00 95 8d a5 76 b6 01 00 00 00 00 00 00 3f 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d .Q.$.....v........?...vendor/sym
3280 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 50 fony/process/Symfony/Component/P
32a0 72 6f 63 65 73 73 2f 50 68 70 50 72 6f 63 65 73 73 2e 70 68 70 0f 03 00 00 55 e8 fc 51 0f 03 00 rocess/PhpProcess.php....U..Q...
32c0 00 38 5a d4 b7 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 2f .8Z..........E...vendor/symfony/
32e0 70 72 6f 63 65 73 73 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 50 72 6f 63 65 73 process/Symfony/Component/Proces
3300 73 2f 45 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 2e 70 68 70 b3 04 00 00 55 e8 fc 51 b3 04 s/ExecutableFinder.php....U..Q..
3320 00 00 09 4a ee 9f b6 01 00 00 00 00 00 00 3c 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 ...J..........<...vendor/symfony
3340 2f 70 72 6f 63 65 73 73 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 50 72 6f 63 65 /process/Symfony/Component/Proce
3360 73 73 2f 50 72 6f 63 65 73 73 2e 70 68 70 7d 44 00 00 55 e8 fc 51 7d 44 00 00 51 6e 38 be b6 01 ss/Process.php}D..U..Q}D..Qn8...
3380 00 00 00 00 00 00 43 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 ......C...vendor/symfony/process
33a0 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 50 72 6f 63 65 73 73 2f 50 72 6f 63 65 /Symfony/Component/Process/Proce
33c0 73 73 42 75 69 6c 64 65 72 2e 70 68 70 ed 08 00 00 55 e8 fc 51 ed 08 00 00 85 e0 82 90 b6 01 00 ssBuilder.php....U..Q...........
33e0 00 00 00 00 00 41 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 .....A...vendor/symfony/process/
3400 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 50 72 6f 63 65 73 73 2f 50 72 6f 63 65 73 Symfony/Component/Process/Proces
3420 73 55 74 69 6c 73 2e 70 68 70 47 02 00 00 55 e8 fc 51 47 02 00 00 53 38 7d ad b6 01 00 00 00 00 sUtils.phpG...U..QG...S8}.......
3440 00 00 51 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 53 79 6d ..Q...vendor/symfony/process/Sym
3460 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 50 72 6f 63 65 73 73 2f 45 78 63 65 70 74 69 6f 6e fony/Component/Process/Exception
3480 2f 45 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 55 e8 fc 51 66 /ExceptionInterface.phpf...U..Qf
34a0 00 00 00 5d f6 3e 54 b6 01 00 00 00 00 00 00 4f 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e ...].>T........O...vendor/symfon
34c0 79 2f 70 72 6f 63 65 73 73 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 50 72 6f 63 y/process/Symfony/Component/Proc
34e0 65 73 73 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 2e 70 ess/Exception/RuntimeException.p
3500 68 70 98 00 00 00 55 e8 fc 51 98 00 00 00 a2 1b d8 3a b6 01 00 00 00 00 00 00 4d 00 00 00 76 65 hp....U..Q.......:........M...ve
3520 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d ndor/symfony/process/Symfony/Com
3540 70 6f 6e 65 6e 74 2f 50 72 6f 63 65 73 73 2f 45 78 63 65 70 74 69 6f 6e 2f 4c 6f 67 69 63 45 78 ponent/Process/Exception/LogicEx
3560 63 65 70 74 69 6f 6e 2e 70 68 70 94 00 00 00 55 e8 fc 51 94 00 00 00 20 b3 e3 f1 b6 01 00 00 00 ception.php....U..Q.............
3580 00 00 00 55 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 53 79 ...U...vendor/symfony/process/Sy
35a0 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 50 72 6f 63 65 73 73 2f 45 78 63 65 70 74 69 6f mfony/Component/Process/Exceptio
35c0 6e 2f 50 72 6f 63 65 73 73 46 61 69 6c 65 64 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 ed 02 00 00 n/ProcessFailedException.php....
35e0 55 e8 fc 51 ed 02 00 00 7c ee e7 aa b6 01 00 00 00 00 00 00 57 00 00 00 76 65 6e 64 6f 72 2f 73 U..Q....|...........W...vendor/s
3600 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 ymfony/process/Symfony/Component
3620 2f 50 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 /Process/Exception/InvalidArgume
3640 6e 74 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 a8 00 00 00 55 e8 fc 51 a8 00 00 00 d0 c0 2b 5f b6 ntException.php....U..Q......+_.
3660 01 00 00 00 00 00 00 48 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 .......H...vendor/symfony/proces
3680 73 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 50 72 6f 63 65 73 73 2f 50 68 70 45 s/Symfony/Component/Process/PhpE
36a0 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 2e 70 68 70 9b 02 00 00 55 e8 fc 51 9b 02 00 00 b4 xecutableFinder.php....U..Q.....
36c0 a5 44 45 b6 01 00 00 00 00 00 00 35 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 79 61 .DE........5...vendor/symfony/ya
36e0 6d 6c 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 59 61 6d 6c 2f 50 61 72 73 65 72 ml/Symfony/Component/Yaml/Parser
3700 2e 70 68 70 1c 31 00 00 55 e8 fc 51 1c 31 00 00 3f 06 b5 a8 b6 01 00 00 00 00 00 00 38 00 00 00 .php.1..U..Q.1..?...........8...
3720 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 79 61 6d 6c 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 vendor/symfony/yaml/Symfony/Comp
3740 6f 6e 65 6e 74 2f 59 61 6d 6c 2f 55 6e 65 73 63 61 70 65 72 2e 70 68 70 06 08 00 00 55 e8 fc 51 onent/Yaml/Unescaper.php....U..Q
3760 06 08 00 00 22 b7 d8 47 b6 01 00 00 00 00 00 00 33 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f ...."..G........3...vendor/symfo
3780 6e 79 2f 79 61 6d 6c 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 59 61 6d 6c 2f 59 ny/yaml/Symfony/Component/Yaml/Y
37a0 61 6d 6c 2e 70 68 70 de 05 00 00 55 e8 fc 51 de 05 00 00 8d 20 7d 74 b6 01 00 00 00 00 00 00 35 aml.php....U..Q......}t........5
37c0 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 79 61 6d 6c 2f 53 79 6d 66 6f 6e 79 2f 43 ...vendor/symfony/yaml/Symfony/C
37e0 6f 6d 70 6f 6e 65 6e 74 2f 59 61 6d 6c 2f 44 75 6d 70 65 72 2e 70 68 70 09 04 00 00 55 e8 fc 51 omponent/Yaml/Dumper.php....U..Q
3800 09 04 00 00 17 8d ff c7 b6 01 00 00 00 00 00 00 47 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f ................G...vendor/symfo
3820 6e 79 2f 79 61 6d 6c 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 59 61 6d 6c 2f 45 ny/yaml/Symfony/Component/Yaml/E
3840 78 63 65 70 74 69 6f 6e 2f 50 61 72 73 65 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 14 06 00 00 55 xception/ParseException.php....U
3860 e8 fc 51 14 06 00 00 b7 45 0b b2 b6 01 00 00 00 00 00 00 4b 00 00 00 76 65 6e 64 6f 72 2f 73 79 ..Q.....E..........K...vendor/sy
3880 6d 66 6f 6e 79 2f 79 61 6d 6c 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 59 61 6d mfony/yaml/Symfony/Component/Yam
38a0 6c 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 65 2e 70 l/Exception/ExceptionInterface.p
38c0 68 70 65 00 00 00 55 e8 fc 51 65 00 00 00 ce 63 ba 07 b6 01 00 00 00 00 00 00 49 00 00 00 76 65 hpe...U..Qe....c..........I...ve
38e0 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 79 61 6d 6c 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e ndor/symfony/yaml/Symfony/Compon
3900 65 6e 74 2f 59 61 6d 6c 2f 45 78 63 65 70 74 69 6f 6e 2f 52 75 6e 74 69 6d 65 45 78 63 65 70 74 ent/Yaml/Exception/RuntimeExcept
3920 69 6f 6e 2e 70 68 70 97 00 00 00 55 e8 fc 51 97 00 00 00 87 07 f5 81 b6 01 00 00 00 00 00 00 46 ion.php....U..Q................F
3940 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 79 61 6d 6c 2f 53 79 6d 66 6f 6e 79 2f 43 ...vendor/symfony/yaml/Symfony/C
3960 6f 6d 70 6f 6e 65 6e 74 2f 59 61 6d 6c 2f 45 78 63 65 70 74 69 6f 6e 2f 44 75 6d 70 45 78 63 65 omponent/Yaml/Exception/DumpExce
3980 70 74 69 6f 6e 2e 70 68 70 75 00 00 00 55 e8 fc 51 75 00 00 00 65 01 2a 6e b6 01 00 00 00 00 00 ption.phpu...U..Qu...e.*n.......
39a0 00 36 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 79 61 6d 6c 2f 53 79 6d 66 6f 6e 79 .6...vendor/symfony/yaml/Symfony
39c0 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 59 61 6d 6c 2f 45 73 63 61 70 65 72 2e 70 68 70 bb 05 00 00 55 /Component/Yaml/Escaper.php....U
39e0 e8 fc 51 bb 05 00 00 82 2e cd c7 b6 01 00 00 00 00 00 00 35 00 00 00 76 65 6e 64 6f 72 2f 73 79 ..Q................5...vendor/sy
3a00 6d 66 6f 6e 79 2f 79 61 6d 6c 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 59 61 6d mfony/yaml/Symfony/Component/Yam
3a20 6c 2f 49 6e 6c 69 6e 65 2e 70 68 70 bd 21 00 00 55 e8 fc 51 bd 21 00 00 34 56 f6 0b b6 01 00 00 l/Inline.php.!..U..Q.!..4V......
3a40 00 00 00 00 48 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 ....H...vendor/symfony/console/S
3a60 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 6f 6e 73 6f 6c 65 2f 43 6f 6d 6d 61 6e 64 ymfony/Component/Console/Command
3a80 2f 48 65 6c 70 43 6f 6d 6d 61 6e 64 2e 70 68 70 0a 07 00 00 55 e8 fc 51 0a 07 00 00 b9 37 31 58 /HelpCommand.php....U..Q.....71X
3aa0 b6 01 00 00 00 00 00 00 44 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f ........D...vendor/symfony/conso
3ac0 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 6f 6e 73 6f 6c 65 2f 43 6f 6d le/Symfony/Component/Console/Com
3ae0 6d 61 6e 64 2f 43 6f 6d 6d 61 6e 64 2e 70 68 70 5f 18 00 00 55 e8 fc 51 5f 18 00 00 c4 ee 21 aa mand/Command.php_...U..Q_.....!.
3b00 b6 01 00 00 00 00 00 00 48 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f ........H...vendor/symfony/conso
3b20 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 6f 6e 73 6f 6c 65 2f 43 6f 6d le/Symfony/Component/Console/Com
3b40 6d 61 6e 64 2f 4c 69 73 74 43 6f 6d 6d 61 6e 64 2e 70 68 70 57 07 00 00 55 e8 fc 51 57 07 00 00 mand/ListCommand.phpW...U..QW...
3b60 ef 84 bc 8c 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 79 2f 63 ............M...vendor/symfony/c
3b80 6f 6e 73 6f 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 6f 6e 73 6f 6c 65 onsole/Symfony/Component/Console
3ba0 2f 54 65 73 74 65 72 2f 41 70 70 6c 69 63 61 74 69 6f 6e 54 65 73 74 65 72 2e 70 68 70 67 05 00 /Tester/ApplicationTester.phpg..
3bc0 00 55 e8 fc 51 67 05 00 00 37 2d 47 c6 b6 01 00 00 00 00 00 00 49 00 00 00 76 65 6e 64 6f 72 2f .U..Qg...7-G.........I...vendor/
3be0 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e symfony/console/Symfony/Componen
3c00 74 2f 43 6f 6e 73 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 t/Console/Tester/CommandTester.p
3c20 68 70 ea 04 00 00 55 e8 fc 51 ea 04 00 00 53 a0 d8 6d b6 01 00 00 00 00 00 00 58 00 00 00 76 65 hp....U..Q....S..m........X...ve
3c40 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d ndor/symfony/console/Symfony/Com
3c60 70 6f 6e 65 6e 74 2f 43 6f 6e 73 6f 6c 65 2f 46 6f 72 6d 61 74 74 65 72 2f 4f 75 74 70 75 74 46 ponent/Console/Formatter/OutputF
3c80 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 53 74 61 63 6b 2e 70 68 70 08 05 00 00 55 e8 fc 51 08 05 ormatterStyleStack.php....U..Q..
3ca0 00 00 79 08 49 27 b6 01 00 00 00 00 00 00 53 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 ..y.I'........S...vendor/symfony
3cc0 2f 63 6f 6e 73 6f 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 6f 6e 73 6f /console/Symfony/Component/Conso
3ce0 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 6c le/Formatter/OutputFormatterStyl
3d00 65 2e 70 68 70 55 0c 00 00 55 e8 fc 51 55 0c 00 00 7a a8 dc ed b6 01 00 00 00 00 00 00 5c 00 00 e.phpU...U..QU...z...........\..
3d20 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 79 6d 66 6f 6e 79 2f .vendor/symfony/console/Symfony/
3d40 43 6f 6d 70 6f 6e 65 6e 74 2f 43 6f 6e 73 6f 6c 65 2f 46 6f 72 6d 61 74 74 65 72 2f 4f 75 74 70 Component/Console/Formatter/Outp
3d60 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 2e 70 68 70 8e 01 00 utFormatterStyleInterface.php...
3d80 00 55 e8 fc 51 8e 01 00 00 f6 eb c4 3d b6 01 00 00 00 00 00 00 4e 00 00 00 76 65 6e 64 6f 72 2f .U..Q.......=........N...vendor/
3da0 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e symfony/console/Symfony/Componen
3dc0 74 2f 43 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 t/Console/Formatter/OutputFormat
3de0 74 65 72 2e 70 68 70 fd 0b 00 00 55 e8 fc 51 fd 0b 00 00 3e 57 c8 fe b6 01 00 00 00 00 00 00 57 ter.php....U..Q....>W..........W
3e00 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 79 6d 66 6f 6e ...vendor/symfony/console/Symfon
3e20 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 6f 6e 73 6f 6c 65 2f 46 6f 72 6d 61 74 74 65 72 2f 4f 75 y/Component/Console/Formatter/Ou
3e40 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 98 01 00 00 55 e8 tputFormatterInterface.php....U.
3e60 fc 51 98 01 00 00 33 6c 7e b4 b6 01 00 00 00 00 00 00 40 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d .Q....3l~.........@...vendor/sym
3e80 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 fony/console/Symfony/Component/C
3ea0 6f 6e 73 6f 6c 65 2f 41 70 70 6c 69 63 61 74 69 6f 6e 2e 70 68 70 ed 4b 00 00 55 e8 fc 51 ed 4b onsole/Application.php.K..U..Q.K
3ec0 00 00 69 eb 7a 78 b6 01 00 00 00 00 00 00 48 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 ..i.zx........H...vendor/symfony
3ee0 2f 63 6f 6e 73 6f 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 6f 6e 73 6f /console/Symfony/Component/Conso
3f00 6c 65 2f 49 6e 70 75 74 2f 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 2e 70 68 70 9e 05 00 00 55 e8 le/Input/InputArgument.php....U.
3f20 fc 51 9e 05 00 00 4b 5d ec 69 b6 01 00 00 00 00 00 00 40 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d .Q....K].i........@...vendor/sym
3f40 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 fony/console/Symfony/Component/C
3f60 6f 6e 73 6f 6c 65 2f 49 6e 70 75 74 2f 49 6e 70 75 74 2e 70 68 70 34 0a 00 00 55 e8 fc 51 34 0a onsole/Input/Input.php4...U..Q4.
3f80 00 00 96 8e dd ae b6 01 00 00 00 00 00 00 46 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 ..............F...vendor/symfony
3fa0 2f 63 6f 6e 73 6f 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 6f 6e 73 6f /console/Symfony/Component/Conso
3fc0 6c 65 2f 49 6e 70 75 74 2f 53 74 72 69 6e 67 49 6e 70 75 74 2e 70 68 70 8f 05 00 00 55 e8 fc 51 le/Input/StringInput.php....U..Q
3fe0 8f 05 00 00 c4 5d 74 68 b6 01 00 00 00 00 00 00 46 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f .....]th........F...vendor/symfo
4000 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 6f 6e ny/console/Symfony/Component/Con
4020 73 6f 6c 65 2f 49 6e 70 75 74 2f 49 6e 70 75 74 4f 70 74 69 6f 6e 2e 70 68 70 aa 0b 00 00 55 e8 sole/Input/InputOption.php....U.
4040 fc 51 aa 0b 00 00 e2 f5 fe 31 b6 01 00 00 00 00 00 00 44 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d .Q.......1........D...vendor/sym
4060 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 fony/console/Symfony/Component/C
4080 6f 6e 73 6f 6c 65 2f 49 6e 70 75 74 2f 41 72 67 76 49 6e 70 75 74 2e 70 68 70 be 12 00 00 55 e8 onsole/Input/ArgvInput.php....U.
40a0 fc 51 be 12 00 00 07 07 16 7e b6 01 00 00 00 00 00 00 49 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d .Q.......~........I...vendor/sym
40c0 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 fony/console/Symfony/Component/C
40e0 6f 6e 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 20 onsole/Input/InputInterface.php.
4100 03 00 00 55 e8 fc 51 20 03 00 00 39 94 f8 c7 b6 01 00 00 00 00 00 00 45 00 00 00 76 65 6e 64 6f ...U..Q....9...........E...vendo
4120 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e r/symfony/console/Symfony/Compon
4140 65 6e 74 2f 43 6f 6e 73 6f 6c 65 2f 49 6e 70 75 74 2f 41 72 72 61 79 49 6e 70 75 74 2e 70 68 70 ent/Console/Input/ArrayInput.php
4160 f7 09 00 00 55 e8 fc 51 f7 09 00 00 e0 22 18 39 b6 01 00 00 00 00 00 00 4a 00 00 00 76 65 6e 64 ....U..Q.....".9........J...vend
4180 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f or/symfony/console/Symfony/Compo
41a0 6e 65 6e 74 2f 43 6f 6e 73 6f 6c 65 2f 49 6e 70 75 74 2f 49 6e 70 75 74 44 65 66 69 6e 69 74 69 nent/Console/Input/InputDefiniti
41c0 6f 6e 2e 70 68 70 ef 15 00 00 55 e8 fc 51 ef 15 00 00 49 20 01 a6 b6 01 00 00 00 00 00 00 3a 00 on.php....U..Q....I...........:.
41e0 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 79 6d 66 6f 6e 79 ..vendor/symfony/console/Symfony
4200 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 6f 6e 73 6f 6c 65 2f 53 68 65 6c 6c 2e 70 68 70 74 0f 00 00 /Component/Console/Shell.phpt...
4220 55 e8 fc 51 74 0f 00 00 02 c2 d7 2d b6 01 00 00 00 00 00 00 42 00 00 00 76 65 6e 64 6f 72 2f 73 U..Qt......-........B...vendor/s
4240 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 ymfony/console/Symfony/Component
4260 2f 43 6f 6e 73 6f 6c 65 2f 4f 75 74 70 75 74 2f 4f 75 74 70 75 74 2e 70 68 70 78 07 00 00 55 e8 /Console/Output/Output.phpx...U.
4280 fc 51 78 07 00 00 c6 02 19 a4 b6 01 00 00 00 00 00 00 46 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d .Qx...............F...vendor/sym
42a0 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 fony/console/Symfony/Component/C
42c0 6f 6e 73 6f 6c 65 2f 4f 75 74 70 75 74 2f 4e 75 6c 6c 4f 75 74 70 75 74 2e 70 68 70 a3 00 00 00 onsole/Output/NullOutput.php....
42e0 55 e8 fc 51 a3 00 00 00 92 c7 a2 8e b6 01 00 00 00 00 00 00 52 00 00 00 76 65 6e 64 6f 72 2f 73 U..Q................R...vendor/s
4300 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 ymfony/console/Symfony/Component
4320 2f 43 6f 6e 73 6f 6c 65 2f 4f 75 74 70 75 74 2f 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 /Console/Output/ConsoleOutputInt
4340 65 72 66 61 63 65 2e 70 68 70 15 01 00 00 55 e8 fc 51 15 01 00 00 0e 8d c3 06 b6 01 00 00 00 00 erface.php....U..Q..............
4360 00 00 48 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 79 6d ..H...vendor/symfony/console/Sym
4380 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 6f 6e 73 6f 6c 65 2f 4f 75 74 70 75 74 2f 53 74 fony/Component/Console/Output/St
43a0 72 65 61 6d 4f 75 74 70 75 74 2e 70 68 70 b0 04 00 00 55 e8 fc 51 b0 04 00 00 2e 66 07 1d b6 01 reamOutput.php....U..Q.....f....
43c0 00 00 00 00 00 00 4b 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 ......K...vendor/symfony/console
43e0 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 6f 6e 73 6f 6c 65 2f 4f 75 74 70 75 /Symfony/Component/Console/Outpu
4400 74 2f 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 2e 70 68 70 23 03 00 00 55 e8 fc 51 23 03 00 t/OutputInterface.php#...U..Q#..
4420 00 f4 4c 00 59 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 ..L.Y........I...vendor/symfony/
4440 63 6f 6e 73 6f 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 6f 6e 73 6f 6c console/Symfony/Component/Consol
4460 65 2f 4f 75 74 70 75 74 2f 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 2e 70 68 70 3b 05 00 00 55 e8 e/Output/ConsoleOutput.php;...U.
4480 fc 51 3b 05 00 00 50 46 12 2c b6 01 00 00 00 00 00 00 53 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d .Q;...PF.,........S...vendor/sym
44a0 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 fony/console/Symfony/Component/C
44c0 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 49 6e 74 65 onsole/Descriptor/DescriptorInte
44e0 72 66 61 63 65 2e 70 68 70 ad 00 00 00 55 e8 fc 51 ad 00 00 00 99 06 87 65 b6 01 00 00 00 00 00 rface.php....U..Q.......e.......
4500 00 4e 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 79 6d 66 .N...vendor/symfony/console/Symf
4520 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 6f 6e 73 6f 6c 65 2f 44 65 73 63 72 69 70 74 6f 72 ony/Component/Console/Descriptor
4540 2f 54 65 78 74 44 65 73 63 72 69 70 74 6f 72 2e 70 68 70 69 16 00 00 55 e8 fc 51 69 16 00 00 b5 /TextDescriptor.phpi...U..Qi....
4560 a0 c8 c8 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 79 2f 63 6f ...........M...vendor/symfony/co
4580 6e 73 6f 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 6f 6e 73 6f 6c 65 2f nsole/Symfony/Component/Console/
45a0 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 34 1a 00 00 Descriptor/XmlDescriptor.php4...
45c0 55 e8 fc 51 34 1a 00 00 95 c5 5b 19 b6 01 00 00 00 00 00 00 52 00 00 00 76 65 6e 64 6f 72 2f 73 U..Q4.....[.........R...vendor/s
45e0 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 ymfony/console/Symfony/Component
4600 2f 43 6f 6e 73 6f 6c 65 2f 44 65 73 63 72 69 70 74 6f 72 2f 4d 61 72 6b 64 6f 77 6e 44 65 73 63 /Console/Descriptor/MarkdownDesc
4620 72 69 70 74 6f 72 2e 70 68 70 9c 0d 00 00 55 e8 fc 51 9c 0d 00 00 92 29 17 f2 b6 01 00 00 00 00 riptor.php....U..Q.....)........
4640 00 00 56 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 79 6d ..V...vendor/symfony/console/Sym
4660 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 6f 6e 73 6f 6c 65 2f 44 65 73 63 72 69 70 74 6f fony/Component/Console/Descripto
4680 72 2f 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 73 63 72 69 70 74 69 6f 6e 2e 70 68 70 f7 07 00 00 r/ApplicationDescription.php....
46a0 55 e8 fc 51 f7 07 00 00 29 49 df f0 b6 01 00 00 00 00 00 00 4a 00 00 00 76 65 6e 64 6f 72 2f 73 U..Q....)I..........J...vendor/s
46c0 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 ymfony/console/Symfony/Component
46e0 2f 43 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 2e 70 /Console/Descriptor/Descriptor.p
4700 68 70 1d 06 00 00 55 e8 fc 51 1d 06 00 00 0a 6e a7 e1 b6 01 00 00 00 00 00 00 4e 00 00 00 76 65 hp....U..Q.....n..........N...ve
4720 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d ndor/symfony/console/Symfony/Com
4740 70 6f 6e 65 6e 74 2f 43 6f 6e 73 6f 6c 65 2f 44 65 73 63 72 69 70 74 6f 72 2f 4a 73 6f 6e 44 65 ponent/Console/Descriptor/JsonDe
4760 73 63 72 69 70 74 6f 72 2e 70 68 70 2a 0c 00 00 55 e8 fc 51 2a 0c 00 00 d3 0f 45 16 b6 01 00 00 scriptor.php*...U..Q*.....E.....
4780 00 00 00 00 4b 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 ....K...vendor/symfony/console/S
47a0 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f ymfony/Component/Console/Helper/
47c0 48 65 6c 70 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 ef 00 00 00 55 e8 fc 51 ef 00 00 00 3d HelperInterface.php....U..Q....=
47e0 65 1b 0c b6 01 00 00 00 00 00 00 47 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f e..........G...vendor/symfony/co
4800 6e 73 6f 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 6f 6e 73 6f 6c 65 2f nsole/Symfony/Component/Console/
4820 48 65 6c 70 65 72 2f 54 61 62 6c 65 48 65 6c 70 65 72 2e 70 68 70 fa 14 00 00 55 e8 fc 51 fa 14 Helper/TableHelper.php....U..Q..
4840 00 00 c4 5d dd 37 b6 01 00 00 00 00 00 00 4c 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 ...].7........L...vendor/symfony
4860 2f 63 6f 6e 73 6f 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 6f 6e 73 6f /console/Symfony/Component/Conso
4880 6c 65 2f 48 65 6c 70 65 72 2f 44 65 73 63 72 69 70 74 6f 72 48 65 6c 70 65 72 2e 70 68 70 9a 06 le/Helper/DescriptorHelper.php..
48a0 00 00 55 e8 fc 51 9a 06 00 00 8f 87 17 99 b6 01 00 00 00 00 00 00 4b 00 00 00 76 65 6e 64 6f 72 ..U..Q................K...vendor
48c0 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 /symfony/console/Symfony/Compone
48e0 6e 74 2f 43 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 nt/Console/Helper/FormatterHelpe
4900 72 2e 70 68 70 1e 04 00 00 55 e8 fc 51 1e 04 00 00 9e 49 82 81 b6 01 00 00 00 00 00 00 45 00 00 r.php....U..Q.....I..........E..
4920 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 79 6d 66 6f 6e 79 2f .vendor/symfony/console/Symfony/
4940 43 6f 6d 70 6f 6e 65 6e 74 2f 43 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 48 65 6c 70 65 72 53 Component/Console/Helper/HelperS
4960 65 74 2e 70 68 70 d3 03 00 00 55 e8 fc 51 d3 03 00 00 98 5e 39 74 b6 01 00 00 00 00 00 00 48 00 et.php....U..Q.....^9t........H.
4980 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 79 6d 66 6f 6e 79 ..vendor/symfony/console/Symfony
49a0 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 44 69 61 6c 6f 67 /Component/Console/Helper/Dialog
49c0 48 65 6c 70 65 72 2e 70 68 70 67 1b 00 00 55 e8 fc 51 67 1b 00 00 fb 70 49 c8 b6 01 00 00 00 00 Helper.phpg...U..Qg....pI.......
49e0 00 00 42 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 79 6d ..B...vendor/symfony/console/Sym
4a00 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 48 65 fony/Component/Console/Helper/He
4a20 6c 70 65 72 2e 70 68 70 22 02 00 00 55 e8 fc 51 22 02 00 00 17 a8 e4 55 b6 01 00 00 00 00 00 00 lper.php"...U..Q"......U........
4a40 4a 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 79 6d 66 6f J...vendor/symfony/console/Symfo
4a60 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 50 72 6f 67 ny/Component/Console/Helper/Prog
4a80 72 65 73 73 48 65 6c 70 65 72 2e 70 68 70 04 19 00 00 55 e8 fc 51 04 19 00 00 aa 7d 58 c0 b6 01 ressHelper.php....U..Q.....}X...
4aa0 00 00 00 00 00 00 47 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 ......G...vendor/symfony/console
4ac0 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 6f 6e 73 6f 6c 65 2f 45 76 65 6e 74 /Symfony/Component/Console/Event
4ae0 2f 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 2e 70 68 70 c5 02 00 00 55 e8 fc 51 c5 02 00 00 d2 78 db /ConsoleEvent.php....U..Q.....x.
4b00 5c b6 01 00 00 00 00 00 00 50 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 \........P...vendor/symfony/cons
4b20 6f 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 6f 6e 73 6f 6c 65 2f 45 76 ole/Symfony/Component/Console/Ev
4b40 65 6e 74 2f 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 74 02 00 ent/ConsoleTerminateEvent.phpt..
4b60 00 55 e8 fc 51 74 02 00 00 f6 94 7e d2 b6 01 00 00 00 00 00 00 53 00 00 00 76 65 6e 64 6f 72 2f .U..Qt.....~.........S...vendor/
4b80 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e symfony/console/Symfony/Componen
4ba0 74 2f 43 6f 6e 73 6f 6c 65 2f 45 76 65 6e 74 2f 43 6f 6e 73 6f 6c 65 46 6f 72 45 78 63 65 70 74 t/Console/Event/ConsoleForExcept
4bc0 69 6f 6e 45 76 65 6e 74 2e 70 68 70 0f 03 00 00 55 e8 fc 51 0f 03 00 00 90 fc 6a c0 b6 01 00 00 ionEvent.php....U..Q......j.....
4be0 00 00 00 00 4e 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 ....N...vendor/symfony/console/S
4c00 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 6f 6e 73 6f 6c 65 2f 45 76 65 6e 74 2f 43 ymfony/Component/Console/Event/C
4c20 6f 6e 73 6f 6c 65 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 2e 70 68 70 0e 01 00 00 55 e8 fc 51 0e 01 onsoleCommandEvent.php....U..Q..
4c40 00 00 86 49 3d e6 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 ...I=.........B...vendor/symfony
4c60 2f 63 6f 6e 73 6f 6c 65 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 43 6f 6e 73 6f /console/Symfony/Component/Conso
4c80 6c 65 2f 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 73 2e 70 68 70 e9 00 00 00 55 e8 fc 51 e9 00 00 00 le/ConsoleEvents.php....U..Q....
4ca0 52 db d4 65 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 R..e........9...vendor/symfony/f
4cc0 69 6e 64 65 72 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 46 69 6e 64 65 72 2f 46 inder/Symfony/Component/Finder/F
4ce0 69 6e 64 65 72 2e 70 68 70 eb 1f 00 00 55 e8 fc 51 eb 1f 00 00 41 a0 3f e9 b6 01 00 00 00 00 00 inder.php....U..Q....A.?........
4d00 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 53 79 6d 66 6f .@...vendor/symfony/finder/Symfo
4d20 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 46 69 6e 64 65 72 2f 53 68 65 6c 6c 2f 43 6f 6d 6d 61 6e ny/Component/Finder/Shell/Comman
4d40 64 2e 70 68 70 c1 08 00 00 55 e8 fc 51 c1 08 00 00 63 c0 76 99 b6 01 00 00 00 00 00 00 3e 00 00 d.php....U..Q....c.v.........>..
4d60 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 53 79 6d 66 6f 6e 79 2f 43 .vendor/symfony/finder/Symfony/C
4d80 6f 6d 70 6f 6e 65 6e 74 2f 46 69 6e 64 65 72 2f 53 68 65 6c 6c 2f 53 68 65 6c 6c 2e 70 68 70 a2 omponent/Finder/Shell/Shell.php.
4da0 03 00 00 55 e8 fc 51 a2 03 00 00 44 85 41 0a b6 01 00 00 00 00 00 00 43 00 00 00 76 65 6e 64 6f ...U..Q....D.A.........C...vendo
4dc0 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 r/symfony/finder/Symfony/Compone
4de0 6e 74 2f 46 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 5a 0e nt/Finder/Expression/Regex.phpZ.
4e00 00 00 55 e8 fc 51 5a 0e 00 00 40 81 b2 7e b6 01 00 00 00 00 00 00 42 00 00 00 76 65 6e 64 6f 72 ..U..QZ...@..~........B...vendor
4e20 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e /symfony/finder/Symfony/Componen
4e40 74 2f 46 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 a1 07 00 00 t/Finder/Expression/Glob.php....
4e60 55 e8 fc 51 a1 07 00 00 20 20 56 bf b6 01 00 00 00 00 00 00 48 00 00 00 76 65 6e 64 6f 72 2f 73 U..Q......V.........H...vendor/s
4e80 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f ymfony/finder/Symfony/Component/
4ea0 46 69 6e 64 65 72 2f 45 78 70 72 65 73 73 69 6f 6e 2f 45 78 70 72 65 73 73 69 6f 6e 2e 70 68 70 Finder/Expression/Expression.php
4ec0 7b 05 00 00 55 e8 fc 51 7b 05 00 00 27 c8 bc 10 b6 01 00 00 00 00 00 00 4c 00 00 00 76 65 6e 64 {...U..Q{...'...........L...vend
4ee0 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e or/symfony/finder/Symfony/Compon
4f00 65 6e 74 2f 46 69 6e 64 65 72 2f 45 78 70 72 65 73 73 69 6f 6e 2f 56 61 6c 75 65 49 6e 74 65 72 ent/Finder/Expression/ValueInter
4f20 66 61 63 65 2e 70 68 70 3b 01 00 00 55 e8 fc 51 3b 01 00 00 0b ee e3 d3 b6 01 00 00 00 00 00 00 face.php;...U..Q;...............
4f40 4b 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 53 79 6d 66 6f 6e K...vendor/symfony/finder/Symfon
4f60 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 46 69 6e 64 65 72 2f 41 64 61 70 74 65 72 2f 41 64 61 70 74 y/Component/Finder/Adapter/Adapt
4f80 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 73 03 00 00 55 e8 fc 51 73 03 00 00 72 95 6a 5d b6 erInterface.phps...U..Qs...r.j].
4fa0 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 66 69 6e 64 65 72 .......I...vendor/symfony/finder
4fc0 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 46 69 6e 64 65 72 2f 41 64 61 70 74 65 /Symfony/Component/Finder/Adapte
4fe0 72 2f 42 73 64 46 69 6e 64 41 64 61 70 74 65 72 2e 70 68 70 72 06 00 00 55 e8 fc 51 72 06 00 00 r/BsdFindAdapter.phpr...U..Qr...
5000 d3 55 ec 6d 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 66 .U.m........I...vendor/symfony/f
5020 69 6e 64 65 72 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 46 69 6e 64 65 72 2f 41 inder/Symfony/Component/Finder/A
5040 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 55 06 00 00 55 e8 fc dapter/GnuFindAdapter.phpU...U..
5060 51 55 06 00 00 24 8d e7 9f b6 01 00 00 00 00 00 00 4a 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 QU...$...........J...vendor/symf
5080 6f 6e 79 2f 66 69 6e 64 65 72 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 46 69 6e ony/finder/Symfony/Component/Fin
50a0 64 65 72 2f 41 64 61 70 74 65 72 2f 41 62 73 74 72 61 63 74 41 64 61 70 74 65 72 2e 70 68 70 01 der/Adapter/AbstractAdapter.php.
50c0 0a 00 00 55 e8 fc 51 01 0a 00 00 f3 4a 18 82 b6 01 00 00 00 00 00 00 4e 00 00 00 76 65 6e 64 6f ...U..Q.....J..........N...vendo
50e0 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 r/symfony/finder/Symfony/Compone
5100 6e 74 2f 46 69 6e 64 65 72 2f 41 64 61 70 74 65 72 2f 41 62 73 74 72 61 63 74 46 69 6e 64 41 64 nt/Finder/Adapter/AbstractFindAd
5120 61 70 74 65 72 2e 70 68 70 44 18 00 00 55 e8 fc 51 44 18 00 00 c9 c8 3d 46 b6 01 00 00 00 00 00 apter.phpD...U..QD.....=F.......
5140 00 45 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 53 79 6d 66 6f .E...vendor/symfony/finder/Symfo
5160 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 46 69 6e 64 65 72 2f 41 64 61 70 74 65 72 2f 50 68 70 41 ny/Component/Finder/Adapter/PhpA
5180 64 61 70 74 65 72 2e 70 68 70 0e 07 00 00 55 e8 fc 51 0e 07 00 00 a6 e0 b5 38 b6 01 00 00 00 00 dapter.php....U..Q.......8......
51a0 00 00 37 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 53 79 6d 66 ..7...vendor/symfony/finder/Symf
51c0 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 46 69 6e 64 65 72 2f 47 6c 6f 62 2e 70 68 70 0d 05 00 ony/Component/Finder/Glob.php...
51e0 00 55 e8 fc 51 0d 05 00 00 7a 9d f8 0a b6 01 00 00 00 00 00 00 54 00 00 00 76 65 6e 64 6f 72 2f .U..Q....z...........T...vendor/
5200 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 symfony/finder/Symfony/Component
5220 2f 46 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 44 65 70 74 68 52 61 6e 67 65 46 69 6c 74 65 /Finder/Iterator/DepthRangeFilte
5240 72 49 74 65 72 61 74 6f 72 2e 70 68 70 f0 01 00 00 55 e8 fc 51 f0 01 00 00 df 30 99 04 b6 01 00 rIterator.php....U..Q.....0.....
5260 00 00 00 00 00 4c 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 53 .....L...vendor/symfony/finder/S
5280 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 46 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 ymfony/Component/Finder/Iterator
52a0 2f 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 2e 70 68 70 de 05 00 00 55 e8 fc 51 de 05 00 /SortableIterator.php....U..Q...
52c0 00 92 1a 94 c7 b6 01 00 00 00 00 00 00 55 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f .............U...vendor/symfony/
52e0 66 69 6e 64 65 72 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 46 69 6e 64 65 72 2f finder/Symfony/Component/Finder/
5300 49 74 65 72 61 74 6f 72 2f 46 69 6c 65 63 6f 6e 74 65 6e 74 46 69 6c 74 65 72 49 74 65 72 61 74 Iterator/FilecontentFilterIterat
5320 6f 72 2e 70 68 70 23 03 00 00 55 e8 fc 51 23 03 00 00 da 5f 56 c7 b6 01 00 00 00 00 00 00 4d 00 or.php#...U..Q#...._V.........M.
5340 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 53 79 6d 66 6f 6e 79 2f ..vendor/symfony/finder/Symfony/
5360 43 6f 6d 70 6f 6e 65 6e 74 2f 46 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 46 69 6c 65 50 61 Component/Finder/Iterator/FilePa
5380 74 68 73 49 74 65 72 61 74 6f 72 2e 70 68 70 8d 05 00 00 55 e8 fc 51 8d 05 00 00 fd f2 e4 51 b6 thsIterator.php....U..Q.......Q.
53a0 01 00 00 00 00 00 00 53 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 .......S...vendor/symfony/finder
53c0 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 46 69 6e 64 65 72 2f 49 74 65 72 61 74 /Symfony/Component/Finder/Iterat
53e0 6f 72 2f 53 69 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 67 02 or/SizeRangeFilterIterator.phpg.
5400 00 00 55 e8 fc 51 67 02 00 00 21 d4 97 e9 b6 01 00 00 00 00 00 00 5a 00 00 00 76 65 6e 64 6f 72 ..U..Qg...!...........Z...vendor
5420 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e /symfony/finder/Symfony/Componen
5440 74 2f 46 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 45 78 63 6c 75 64 65 44 69 72 65 63 74 6f t/Finder/Iterator/ExcludeDirecto
5460 72 79 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 2e 70 68 70 a5 02 00 00 55 e8 fc 51 a5 02 00 00 ryFilterIterator.php....U..Q....
5480 dd 7a 60 2e b6 01 00 00 00 00 00 00 4a 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 .z`.........J...vendor/symfony/f
54a0 69 6e 64 65 72 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 46 69 6e 64 65 72 2f 49 inder/Symfony/Component/Finder/I
54c0 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 b9 01 00 00 55 e8 terator/FilterIterator.php....U.
54e0 fc 51 b9 01 00 00 cd 05 0b 88 b6 01 00 00 00 00 00 00 56 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d .Q................V...vendor/sym
5500 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 46 69 fony/finder/Symfony/Component/Fi
5520 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 4d 75 6c 74 69 70 6c 65 50 63 72 65 46 69 6c 74 65 72 nder/Iterator/MultiplePcreFilter
5540 49 74 65 72 61 74 6f 72 2e 70 68 70 04 03 00 00 55 e8 fc 51 04 03 00 00 53 db 43 f5 b6 01 00 00 Iterator.php....U..Q....S.C.....
5560 00 00 00 00 50 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 53 79 ....P...vendor/symfony/finder/Sy
5580 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 46 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f mfony/Component/Finder/Iterator/
55a0 43 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 55 e8 fc 51 CustomFilterIterator.php]...U..Q
55c0 5d 02 00 00 74 e0 b1 b5 b6 01 00 00 00 00 00 00 52 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f ]...t...........R...vendor/symfo
55e0 6e 79 2f 66 69 6e 64 65 72 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 46 69 6e 64 ny/finder/Symfony/Component/Find
5600 65 72 2f 49 74 65 72 61 74 6f 72 2f 46 69 6c 65 6e 61 6d 65 46 69 6c 74 65 72 49 74 65 72 61 74 er/Iterator/FilenameFilterIterat
5620 6f 72 2e 70 68 70 88 02 00 00 55 e8 fc 51 88 02 00 00 ea 42 83 5a b6 01 00 00 00 00 00 00 53 00 or.php....U..Q.....B.Z........S.
5640 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 53 79 6d 66 6f 6e 79 2f ..vendor/symfony/finder/Symfony/
5660 43 6f 6d 70 6f 6e 65 6e 74 2f 46 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 44 61 74 65 52 61 Component/Finder/Iterator/DateRa
5680 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 2e 70 68 70 67 02 00 00 55 e8 fc 51 67 02 00 ngeFilterIterator.phpg...U..Qg..
56a0 00 b0 c9 65 00 b6 01 00 00 00 00 00 00 52 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f ...e.........R...vendor/symfony/
56c0 66 69 6e 64 65 72 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 46 69 6e 64 65 72 2f finder/Symfony/Component/Finder/
56e0 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 6f 72 2e Iterator/FileTypeFilterIterator.
5700 70 68 70 5c 02 00 00 55 e8 fc 51 5c 02 00 00 70 91 27 98 b6 01 00 00 00 00 00 00 56 00 00 00 76 php\...U..Q\...p.'.........V...v
5720 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d endor/symfony/finder/Symfony/Com
5740 70 6f 6e 65 6e 74 2f 46 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 52 65 63 75 72 73 69 76 65 ponent/Finder/Iterator/Recursive
5760 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 2e 70 68 70 37 02 00 00 55 e8 fc 51 37 02 00 DirectoryIterator.php7...U..Q7..
5780 00 01 50 88 37 b6 01 00 00 00 00 00 00 4e 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f ..P.7........N...vendor/symfony/
57a0 66 69 6e 64 65 72 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 46 69 6e 64 65 72 2f finder/Symfony/Component/Finder/
57c0 49 74 65 72 61 74 6f 72 2f 50 61 74 68 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 2e 70 68 70 c1 Iterator/PathFilterIterator.php.
57e0 02 00 00 55 e8 fc 51 c1 02 00 00 5f dc 41 15 b6 01 00 00 00 00 00 00 4c 00 00 00 76 65 6e 64 6f ...U..Q...._.A.........L...vendo
5800 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 r/symfony/finder/Symfony/Compone
5820 6e 74 2f 46 69 6e 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 nt/Finder/Comparator/DateCompara
5840 74 6f 72 2e 70 68 70 26 03 00 00 55 e8 fc 51 26 03 00 00 e9 68 64 b1 b6 01 00 00 00 00 00 00 4e tor.php&...U..Q&....hd.........N
5860 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 53 79 6d 66 6f 6e 79 ...vendor/symfony/finder/Symfony
5880 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 46 69 6e 64 65 72 2f 43 6f 6d 70 61 72 61 74 6f 72 2f 4e 75 6d /Component/Finder/Comparator/Num
58a0 62 65 72 43 6f 6d 70 61 72 61 74 6f 72 2e 70 68 70 79 03 00 00 55 e8 fc 51 79 03 00 00 22 60 14 berComparator.phpy...U..Qy..."`.
58c0 db b6 01 00 00 00 00 00 00 48 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 .........H...vendor/symfony/find
58e0 65 72 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 46 69 6e 64 65 72 2f 43 6f 6d 70 er/Symfony/Component/Finder/Comp
5900 61 72 61 74 6f 72 2f 43 6f 6d 70 61 72 61 74 6f 72 2e 70 68 70 8c 03 00 00 55 e8 fc 51 8c 03 00 arator/Comparator.php....U..Q...
5920 00 16 77 fe 54 b6 01 00 00 00 00 00 00 4f 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f ..w.T........O...vendor/symfony/
5940 66 69 6e 64 65 72 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 46 69 6e 64 65 72 2f finder/Symfony/Component/Finder/
5960 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 65 2e 70 68 70 Exception/ExceptionInterface.php
5980 7b 00 00 00 55 e8 fc 51 7b 00 00 00 8e f5 b9 b6 b6 01 00 00 00 00 00 00 5a 00 00 00 76 65 6e 64 {...U..Q{...............Z...vend
59a0 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e or/symfony/finder/Symfony/Compon
59c0 65 6e 74 2f 46 69 6e 64 65 72 2f 45 78 63 65 70 74 69 6f 6e 2f 4f 70 65 72 61 74 69 6f 6e 4e 6f ent/Finder/Exception/OperationNo
59e0 74 50 65 72 6d 69 74 65 64 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 8a 00 00 00 55 e8 fc 51 8a 00 tPermitedException.php....U..Q..
5a00 00 00 55 12 38 38 b6 01 00 00 00 00 00 00 54 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 ..U.88........T...vendor/symfony
5a20 2f 66 69 6e 64 65 72 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 46 69 6e 64 65 72 /finder/Symfony/Component/Finder
5a40 2f 45 78 63 65 70 74 69 6f 6e 2f 41 64 61 70 74 65 72 46 61 69 6c 75 72 65 45 78 63 65 70 74 69 /Exception/AdapterFailureExcepti
5a60 6f 6e 2e 70 68 70 16 02 00 00 55 e8 fc 51 16 02 00 00 6d 8c 5f 2c b6 01 00 00 00 00 00 00 59 00 on.php....U..Q....m._,........Y.
5a80 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 53 79 6d 66 6f 6e 79 2f ..vendor/symfony/finder/Symfony/
5aa0 43 6f 6d 70 6f 6e 65 6e 74 2f 46 69 6e 64 65 72 2f 45 78 63 65 70 74 69 6f 6e 2f 53 68 65 6c 6c Component/Finder/Exception/Shell
5ac0 43 6f 6d 6d 61 6e 64 46 61 69 6c 75 72 65 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 24 02 00 00 55 CommandFailureException.php$...U
5ae0 e8 fc 51 24 02 00 00 43 94 73 d3 b6 01 00 00 00 00 00 00 3e 00 00 00 76 65 6e 64 6f 72 2f 73 79 ..Q$...C.s.........>...vendor/sy
5b00 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 53 79 6d 66 6f 6e 79 2f 43 6f 6d 70 6f 6e 65 6e 74 2f 46 mfony/finder/Symfony/Component/F
5b20 69 6e 64 65 72 2f 53 70 6c 46 69 6c 65 49 6e 66 6f 2e 70 68 70 fb 02 00 00 55 e8 fc 51 fb 02 00 inder/SplFileInfo.php....U..Q...
5b40 00 f0 ee 68 c5 b6 01 00 00 00 00 00 00 34 00 00 00 76 65 6e 64 6f 72 2f 73 65 6c 64 2f 6a 73 6f ...h.........4...vendor/seld/jso
5b60 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 6e 64 65 66 69 6e 65 nlint/src/Seld/JsonLint/Undefine
5b80 64 2e 70 68 70 3e 00 00 00 55 e8 fc 51 3e 00 00 00 ff 71 9f 9f b6 01 00 00 00 00 00 00 35 00 00 d.php>...U..Q>....q..........5..
5ba0 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
5bc0 73 6f 6e 4c 69 6e 74 2f 4a 73 6f 6e 50 61 72 73 65 72 2e 70 68 70 b8 2c 00 00 55 e8 fc 51 b8 2c sonLint/JsonParser.php.,..U..Q.,
5be0 00 00 56 bc 5c 0d b6 01 00 00 00 00 00 00 30 00 00 00 76 65 6e 64 6f 72 2f 73 65 6c 64 2f 6a 73 ..V.\.........0...vendor/seld/js
5c00 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 72 2e 70 onlint/src/Seld/JsonLint/Lexer.p
5c20 68 70 bf 0f 00 00 55 e8 fc 51 bf 0f 00 00 ab 0b ba 59 b6 01 00 00 00 00 00 00 3b 00 00 00 76 65 hp....U..Q.......Y........;...ve
5c40 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 73 6f 6e ndor/seld/jsonlint/src/Seld/Json
5c60 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 55 e8 fc Lint/ParsingException.php....U..
5c80 51 1e 01 00 00 89 b2 10 f1 b6 01 00 00 00 00 00 00 49 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 Q................I...vendor/just
5ca0 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
5cc0 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 2e 70 68 70 78 06 hema/Constraints/Undefined.phpx.
5ce0 00 00 55 e8 fc 51 78 06 00 00 68 b7 d9 71 b6 01 00 00 00 00 00 00 44 00 00 00 76 65 6e 64 6f 72 ..U..Qx...h..q........D...vendor
5d00 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
5d20 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 54 79 70 65 2e 70 68 70 d4 05 sonSchema/Constraints/Type.php..
5d40 00 00 55 e8 fc 51 d4 05 00 00 85 e9 2b 46 b6 01 00 00 00 00 00 00 46 00 00 00 76 65 6e 64 6f 72 ..U..Q......+F........F...vendor
5d60 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
5d80 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 53 63 68 65 6d 61 2e 70 68 70 sonSchema/Constraints/Schema.php
5da0 d4 01 00 00 55 e8 fc 51 d4 01 00 00 b9 3a 66 4d b6 01 00 00 00 00 00 00 46 00 00 00 76 65 6e 64 ....U..Q.....:fM........F...vend
5dc0 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
5de0 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 2e 70 /JsonSchema/Constraints/Number.p
5e00 68 70 57 02 00 00 55 e8 fc 51 57 02 00 00 2e 31 f2 e7 b6 01 00 00 00 00 00 00 46 00 00 00 76 65 hpW...U..QW....1..........F...ve
5e20 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
5e40 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 4f 62 6a 65 63 74 rc/JsonSchema/Constraints/Object
5e60 2e 70 68 70 94 07 00 00 55 e8 fc 51 94 07 00 00 63 e8 5a fb b6 01 00 00 00 00 00 00 53 00 00 00 .php....U..Q....c.Z.........S...
5e80 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
5ea0 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 6e 73 /src/JsonSchema/Constraints/Cons
5ec0 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 2e 70 68 70 24 01 00 00 55 e8 fc 51 24 01 00 00 03 traintInterface.php$...U..Q$....
5ee0 67 d6 ec 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 6e g..........J...vendor/justinrain
5f00 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
5f20 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 15 0a 00 00 55 e8 fc onstraints/Constraint.php....U..
5f40 51 15 0a 00 00 3e 1d e3 18 b6 01 00 00 00 00 00 00 4a 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 Q....>...........J...vendor/just
5f60 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
5f80 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 43 6f 6c 6c 65 63 74 69 6f 6e 2e 70 68 70 56 hema/Constraints/Collection.phpV
5fa0 08 00 00 55 e8 fc 51 56 08 00 00 dc 3c a7 b6 b6 01 00 00 00 00 00 00 44 00 00 00 76 65 6e 64 6f ...U..QV....<..........D...vendo
5fc0 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 2f r/justinrainbow/json-schema/src/
5fe0 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 45 6e 75 6d 2e 70 68 70 86 JsonSchema/Constraints/Enum.php.
6000 01 00 00 55 e8 fc 51 86 01 00 00 24 28 6d be b6 01 00 00 00 00 00 00 46 00 00 00 76 65 6e 64 6f ...U..Q....$(m.........F...vendo
6020 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 2f r/justinrainbow/json-schema/src/
6040 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 72 69 6e 67 2e 70 68 JsonSchema/Constraints/String.ph
6060 70 98 02 00 00 55 e8 fc 51 98 02 00 00 b4 f5 97 6b b6 01 00 00 00 00 00 00 3d 00 00 00 76 65 6e p....U..Q.......k........=...ven
6080 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 72 dor/justinrainbow/json-schema/sr
60a0 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 5b 01 00 00 55 e8 c/JsonSchema/Validator.php[...U.
60c0 fc 51 5b 01 00 00 38 11 97 f6 b6 01 00 00 00 00 00 00 13 00 00 00 76 65 6e 64 6f 72 2f 61 75 74 .Q[...8...............vendor/aut
60e0 6f 6c 6f 61 64 2e 70 68 70 91 00 00 00 55 e8 fc 51 91 00 00 00 d3 57 68 b1 b6 01 00 00 00 00 00 oload.php....U..Q.....Wh........
6100 00 27 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 61 75 74 6f 6c 6f 61 64 5f 6e 61 .'...vendor/composer/autoload_na
6120 6d 65 73 70 61 63 65 73 2e 70 68 70 34 02 00 00 55 e8 fc 51 34 02 00 00 f5 85 c2 17 b6 01 00 00 mespaces.php4...U..Q4...........
6140 00 00 00 00 25 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 61 75 74 6f 6c 6f 61 64 ....%...vendor/composer/autoload
6160 5f 63 6c 61 73 73 6d 61 70 2e 70 68 70 dd 85 00 00 55 e8 fc 51 dd 85 00 00 20 00 dd d4 b6 01 00 _classmap.php....U..Q...........
6180 00 00 00 00 00 21 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 61 75 74 6f 6c 6f 61 .....!...vendor/composer/autoloa
61a0 64 5f 72 65 61 6c 2e 70 68 70 6b 04 00 00 55 e8 fc 51 6b 04 00 00 be 28 a0 3f b6 01 00 00 00 00 d_real.phpk...U..Qk....(.?......
61c0 00 00 21 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 69 6e 63 6c 75 64 65 5f 70 61 ..!...vendor/composer/include_pa
61e0 74 68 73 2e 70 68 70 9f 01 00 00 55 e8 fc 51 9f 01 00 00 cf a1 c9 a1 b6 01 00 00 00 00 00 00 1f ths.php....U..Q.................
6200 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 43 6c 61 73 73 4c 6f 61 64 65 72 2e 70 ...vendor/composer/ClassLoader.p
6220 68 70 b1 0b 00 00 55 e8 fc 51 b1 0b 00 00 73 6a 58 b5 b6 01 00 00 00 00 00 00 0c 00 00 00 62 69 hp....U..Q....sjX.............bi
6240 6e 2f 63 6f 6d 70 6f 73 65 72 6e 04 00 00 55 e8 fc 51 6e 04 00 00 1f 96 85 57 b6 01 00 00 00 00 n/composern...U..Qn......W......
6260 00 00 07 00 00 00 4c 49 43 45 4e 53 45 33 04 00 00 55 e8 fc 51 33 04 00 00 0b 81 32 0b b6 01 00 ......LICENSE3...U..Q3.....2....
6280 00 00 00 00 00 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 .....<?php............function.i
62a0 6e 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 ncludeIfExists($file).{.return.f
62c0 69 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 ile_exists($file).?.include.$fil
62e0 65 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 e.:.false;.}..if.((!$loader.=.in
6300 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 76 65 6e 64 6f cludeIfExists(__DIR__.'/../vendo
6320 72 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 r/autoload.php')).&&.(!$loader.=
6340 20 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 .includeIfExists(__DIR__.'/../..
6360 2f 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 /../autoload.php'))).{.echo.'You
6380 20 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 .must.set.up.the.project.depende
63a0 6e 63 69 65 73 2c 20 72 75 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6d 6d 61 6e 64 ncies,.run.the.following.command
63c0 73 3a 27 2e 50 48 50 5f 45 4f 4c 2e 0a 27 63 75 72 6c 20 2d 73 53 20 68 74 74 70 73 3a 2f 2f 67 s:'.PHP_EOL..'curl.-sS.https://g
63e0 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 69 6e 73 74 61 6c 6c 65 72 20 7c 20 70 68 70 27 2e etcomposer.org/installer.|.php'.
6400 50 48 50 5f 45 4f 4c 2e 0a 27 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 69 6e 73 74 PHP_EOL..'php.composer.phar.inst
6420 61 6c 6c 27 2e 50 48 50 5f 45 4f 4c 3b 0a 65 78 69 74 28 31 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e all'.PHP_EOL;.exit(1);.}..return
6440 20 24 6c 6f 61 64 65 72 3b 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 .$loader;.<?php............names
6460 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 pace.Composer\IO;..use.Symfony\C
6480 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
64a0 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
64c0 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 73 65 sole\Output\OutputInterface;.use
64e0 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 65 .Symfony\Component\Console\Helpe
6500 72 5c 48 65 6c 70 65 72 53 65 74 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e 73 6f 6c r\HelperSet;........class.Consol
6520 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 0a 7b 0a 70 72 6f eIO.implements.IOInterface.{.pro
6540 74 65 63 74 65 64 20 24 69 6e 70 75 74 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 75 74 70 75 74 tected.$input;.protected.$output
6560 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 68 65 6c 70 65 72 53 65 74 3b 0a 70 72 6f 74 65 63 74 65 ;.protected.$helperSet;.protecte
6580 64 20 24 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 d.$authentications.=.array();.pr
65a0 6f 74 65 63 74 65 64 20 24 6c 61 73 74 4d 65 73 73 61 67 65 3b 0a 70 72 69 76 61 74 65 20 24 73 otected.$lastMessage;.private.$s
65c0 74 61 72 74 54 69 6d 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 tartTime;.........public.functio
65e0 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e n.__construct(InputInterface.$in
6600 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 48 65 put,.OutputInterface.$output,.He
6620 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 2d 3e 69 6e 70 lperSet.$helperSet).{.$this->inp
6640 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 6f 75 ut.=.$input;.$this->output.=.$ou
6660 74 70 75 74 3b 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 tput;.$this->helperSet.=.$helper
6680 53 65 74 3b 0a 7d 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 Set;.}..public.function.enableDe
66a0 62 75 67 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 bugging($startTime).{.$this->sta
66c0 72 74 54 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 rtTime.=.$startTime;.}.....publi
66e0 63 20 66 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 c.function.isInteractive().{.ret
6700 75 72 6e 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 urn.$this->input->isInteractive(
6720 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 44 65 63 6f 72 );.}.....public.function.isDecor
6740 61 74 65 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 ated().{.return.$this->output->i
6760 73 44 65 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 sDecorated();.}.....public.funct
6780 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 3e ion.isVerbose().{.return.$this->
67a0 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 74 70 75 74 output->getVerbosity().>=.Output
67c0 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 3b 0a 7d 0a Interface::VERBOSITY_VERBOSE;.}.
67e0 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 79 56 65 72 62 6f 73 ....public.function.isVeryVerbos
6800 65 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 67 65 74 56 e().{.return.$this->output->getV
6820 65 72 62 6f 73 69 74 79 28 29 20 3e 3d 20 33 3b 20 0a 20 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 erbosity().>=.3;...}.....public.
6840 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 69 function.isDebug().{.return.$thi
6860 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 34 3b 20 s->output->getVerbosity().>=.4;.
6880 0a 20 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 ..}.....public.function.write($m
68a0 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 28 essages,.$newline.=.true).{.if.(
68c0 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 7b 0a 24 6d 65 null.!==.$this->startTime).{.$me
68e0 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 24 6d 65 73 ssages.=.(array).$messages;.$mes
6900 73 61 67 65 73 5b 30 5d 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 5b 25 2e 31 66 4d 42 2f 25 2e 32 sages[0].=.sprintf(.'[%.1fMB/%.2
6920 66 73 5d 20 25 73 27 2c 0a 6d 65 6d 6f 72 79 5f 67 65 74 5f 75 73 61 67 65 28 29 20 2f 20 31 30 fs].%s',.memory_get_usage()./.10
6940 32 34 20 2f 20 31 30 32 34 2c 0a 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 65 29 20 2d 20 24 74 68 24./.1024,.microtime(true).-.$th
6960 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 2c 0a 24 6d 65 73 73 61 67 65 73 5b 30 5d 0a 29 3b 0a 7d is->startTime,.$messages[0].);.}
6980 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 73 2c .$this->output->write($messages,
69a0 20 24 6e 65 77 6c 69 6e 65 29 3b 0a 24 74 68 69 73 2d 3e 6c 61 73 74 4d 65 73 73 61 67 65 20 3d .$newline);.$this->lastMessage.=
69c0 20 6a 6f 69 6e 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 72 .join($newline.?."\n".:.'',.(arr
69e0 61 79 29 20 24 6d 65 73 73 61 67 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ay).$messages);.}.....public.fun
6a00 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 24 6e 65 77 6c ction.overwrite($messages,.$newl
6a20 69 6e 65 20 3d 20 74 72 75 65 2c 20 24 73 69 7a 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 24 6d ine.=.true,.$size.=.null).{...$m
6a40 65 73 73 61 67 65 73 20 3d 20 6a 6f 69 6e 28 24 6e 65 77 6c 69 6e 65 20 3f 20 22 5c 6e 22 20 3a essages.=.join($newline.?."\n".:
6a60 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 0a 0a 20 69 66 20 28 .'',.(array).$messages);....if.(
6a80 21 69 73 73 65 74 28 24 73 69 7a 65 29 29 20 7b 0a 0a 20 24 73 69 7a 65 20 3d 20 73 74 72 6c 65 !isset($size)).{...$size.=.strle
6aa0 6e 28 73 74 72 69 70 5f 74 61 67 73 28 24 74 68 69 73 2d 3e 6c 61 73 74 4d 65 73 73 61 67 65 29 n(strip_tags($this->lastMessage)
6ac0 29 3b 0a 7d 0a 0a 20 24 74 68 69 73 2d 3e 77 72 69 74 65 28 73 74 72 5f 72 65 70 65 61 74 28 22 );.}...$this->write(str_repeat("
6ae0 5c 78 30 38 22 2c 20 24 73 69 7a 65 29 2c 20 66 61 6c 73 65 29 3b 0a 0a 0a 20 24 74 68 69 73 2d \x08",.$size),.false);....$this-
6b00 3e 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 66 61 6c 73 65 29 3b 0a 0a 24 66 69 6c 6c >write($messages,.false);..$fill
6b20 20 3d 20 24 73 69 7a 65 20 2d 20 73 74 72 6c 65 6e 28 73 74 72 69 70 5f 74 61 67 73 28 24 6d 65 .=.$size.-.strlen(strip_tags($me
6b40 73 73 61 67 65 73 29 29 3b 0a 69 66 20 28 24 66 69 6c 6c 20 3e 20 30 29 20 7b 0a 0a 20 24 74 68 ssages));.if.($fill.>.0).{...$th
6b60 69 73 2d 3e 77 72 69 74 65 28 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 66 69 6c 6c 29 is->write(str_repeat('.',.$fill)
6b80 2c 20 66 61 6c 73 65 29 3b 0a 0a 20 24 74 68 69 73 2d 3e 77 72 69 74 65 28 73 74 72 5f 72 65 70 ,.false);...$this->write(str_rep
6ba0 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 29 3b 0a 7d 0a 0a 69 eat("\x08",.$fill),.false);.}..i
6bc0 66 20 28 24 6e 65 77 6c 69 6e 65 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 27 27 29 3b f.($newline).{.$this->write('');
6be0 0a 7d 0a 24 74 68 69 73 2d 3e 6c 61 73 74 4d 65 73 73 61 67 65 20 3d 20 24 6d 65 73 73 61 67 65 .}.$this->lastMessage.=.$message
6c00 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 61 73 6b 28 24 71 75 s;.}.....public.function.ask($qu
6c20 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 72 estion,.$default.=.null).{.retur
6c40 6e 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 2d 3e 67 65 74 28 27 64 69 61 6c 6f 67 27 n.$this->helperSet->get('dialog'
6c60 29 2d 3e 61 73 6b 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 2c )->ask($this->output,.$question,
6c80 20 24 64 65 66 61 75 6c 74 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f .$default);.}.....public.functio
6ca0 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 65 n.askConfirmation($question,.$de
6cc0 66 61 75 6c 74 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 68 65 fault.=.true).{.return.$this->he
6ce0 6c 70 65 72 53 65 74 2d 3e 67 65 74 28 27 64 69 61 6c 6f 67 27 29 2d 3e 61 73 6b 43 6f 6e 66 69 lperSet->get('dialog')->askConfi
6d00 72 6d 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e rmation($this->output,.$question
6d20 2c 20 24 64 65 66 61 75 6c 74 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ,.$default);.}.....public.functi
6d40 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 2c 20 24 76 61 on.askAndValidate($question,.$va
6d60 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 24 64 65 66 lidator,.$attempts.=.false,.$def
6d80 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 65 6c ault.=.null).{.return.$this->hel
6da0 70 65 72 53 65 74 2d 3e 67 65 74 28 27 64 69 61 6c 6f 67 27 29 2d 3e 61 73 6b 41 6e 64 56 61 6c perSet->get('dialog')->askAndVal
6dc0 69 64 61 74 65 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 2c 20 idate($this->output,.$question,.
6de0 24 76 61 6c 69 64 61 74 6f 72 2c 20 24 61 74 74 65 6d 70 74 73 2c 20 24 64 65 66 61 75 6c 74 29 $validator,.$attempts,.$default)
6e00 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 69 ;.}.....public.function.askAndHi
6e20 64 65 41 6e 73 77 65 72 28 24 71 75 65 73 74 69 6f 6e 29 0a 7b 0a 0a 20 69 66 20 28 64 65 66 69 deAnswer($question).{...if.(defi
6e40 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 27 29 ned('PHP_WINDOWS_VERSION_BUILD')
6e60 29 20 7b 0a 24 65 78 65 20 3d 20 5f 5f 44 49 52 5f 5f 2e 27 5c 5c 68 69 64 64 65 6e 69 6e 70 75 ).{.$exe.=.__DIR__.'\\hiddeninpu
6e80 74 2e 65 78 65 27 3b 0a 0a 0a 20 69 66 20 28 27 70 68 61 72 3a 27 20 3d 3d 3d 20 73 75 62 73 74 t.exe';....if.('phar:'.===.subst
6ea0 72 28 5f 5f 46 49 4c 45 5f 5f 2c 20 30 2c 20 35 29 29 20 7b 0a 24 74 6d 70 45 78 65 20 3d 20 73 r(__FILE__,.0,.5)).{.$tmpExe.=.s
6ec0 79 73 5f 67 65 74 5f 74 65 6d 70 5f 64 69 72 28 29 2e 27 2f 68 69 64 64 65 6e 69 6e 70 75 74 2e ys_get_temp_dir().'/hiddeninput.
6ee0 65 78 65 27 3b 0a 0a 0a 20 0a 20 24 73 6f 75 72 63 65 20 3d 20 66 6f 70 65 6e 28 5f 5f 44 49 52 exe';......$source.=.fopen(__DIR
6f00 5f 5f 2e 27 5c 5c 68 69 64 64 65 6e 69 6e 70 75 74 2e 65 78 65 27 2c 20 27 72 27 29 3b 0a 24 74 __.'\\hiddeninput.exe',.'r');.$t
6f20 61 72 67 65 74 20 3d 20 66 6f 70 65 6e 28 24 74 6d 70 45 78 65 2c 20 27 77 2b 27 29 3b 0a 73 74 arget.=.fopen($tmpExe,.'w+');.st
6f40 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 20 24 74 61 ream_copy_to_stream($source,.$ta
6f60 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 73 65 28 24 rget);.fclose($source);.fclose($
6f80 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 61 72 67 65 74 29 target);.unset($source,.$target)
6fa0 3b 0a 0a 24 65 78 65 20 3d 20 24 74 6d 70 45 78 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 77 72 69 ;..$exe.=.$tmpExe;.}..$this->wri
6fc0 74 65 28 24 71 75 65 73 74 69 6f 6e 2c 20 66 61 6c 73 65 29 3b 0a 24 76 61 6c 75 65 20 3d 20 72 te($question,.false);.$value.=.r
6fe0 74 72 69 6d 28 73 68 65 6c 6c 5f 65 78 65 63 28 24 65 78 65 29 29 3b 0a 24 74 68 69 73 2d 3e 77 trim(shell_exec($exe));.$this->w
7000 72 69 74 65 28 27 27 29 3b 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 74 6d 70 45 78 65 29 29 rite('');....if.(isset($tmpExe))
7020 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 76 .{.unlink($tmpExe);.}..return.$v
7040 61 6c 75 65 3b 0a 7d 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 alue;.}..if.(file_exists('/usr/b
7060 69 6e 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 in/env')).{...$test.=."/usr/bin/
7080 65 6e 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 env.%s.-c.'echo.OK'.2>./dev/null
70a0 22 3b 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 ";.foreach.(array('bash',.'zsh',
70c0 20 27 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 .'ksh',.'csh').as.$sh).{.if.('OK
70e0 27 20 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 '.===.rtrim(shell_exec(sprintf($
7100 74 65 73 74 2c 20 24 73 68 29 29 29 29 20 7b 0a 24 73 68 65 6c 6c 20 3d 20 24 73 68 3b 0a 62 72 test,.$sh)))).{.$shell.=.$sh;.br
7120 65 61 6b 3b 0a 7d 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 73 68 65 6c 6c 29 29 20 7b 0a 24 74 eak;.}.}.if.(isset($shell)).{.$t
7140 68 69 73 2d 3e 77 72 69 74 65 28 24 71 75 65 73 74 69 6f 6e 2c 20 66 61 6c 73 65 29 3b 0a 24 72 his->write($question,.false);.$r
7160 65 61 64 43 6d 64 20 3d 20 28 24 73 68 65 6c 6c 20 3d 3d 3d 20 27 63 73 68 27 29 20 3f 20 27 73 eadCmd.=.($shell.===.'csh').?.'s
7180 65 74 20 6d 79 70 61 73 73 77 6f 72 64 20 3d 20 24 3c 27 20 3a 20 27 72 65 61 64 20 2d 72 20 6d et.mypassword.=.$<'.:.'read.-r.m
71a0 79 70 61 73 73 77 6f 72 64 27 3b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 22 ypassword';.$command.=.sprintf("
71c0 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 25 73 20 2d 63 20 27 73 74 74 79 20 2d 65 63 68 6f 3b 20 /usr/bin/env.%s.-c.'stty.-echo;.
71e0 25 73 3b 20 73 74 74 79 20 65 63 68 6f 3b 20 65 63 68 6f 20 5c 24 6d 79 70 61 73 73 77 6f 72 64 %s;.stty.echo;.echo.\$mypassword
7200 27 22 2c 20 24 73 68 65 6c 6c 2c 20 24 72 65 61 64 43 6d 64 29 3b 0a 24 76 61 6c 75 65 20 3d 20 '",.$shell,.$readCmd);.$value.=.
7220 72 74 72 69 6d 28 73 68 65 6c 6c 5f 65 78 65 63 28 24 63 6f 6d 6d 61 6e 64 29 29 3b 0a 24 74 68 rtrim(shell_exec($command));.$th
7240 69 73 2d 3e 77 72 69 74 65 28 27 27 29 3b 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d is->write('');..return.$value;.}
7260 0a 7d 0a 0a 0a 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 73 6b 28 24 71 75 65 73 74 69 6f .}....return.$this->ask($questio
7280 6e 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 74 n);.}.....public.function.getAut
72a0 68 65 6e 74 69 63 61 74 69 6f 6e 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 hentications().{.return.$this->a
72c0 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e uthentications;.}.....public.fun
72e0 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 74 ction.hasAuthentication($reposit
7300 6f 72 79 4e 61 6d 65 29 0a 7b 0a 24 61 75 74 68 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 75 oryName).{.$auths.=.$this->getAu
7320 74 68 65 6e 74 69 63 61 74 69 6f 6e 73 28 29 3b 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 thentications();..return.isset($
7340 61 75 74 68 73 5b 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 70 auths[$repositoryName]);.}.....p
7360 75 62 6c 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 ublic.function.getAuthentication
7380 28 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 29 0a 7b 0a 24 61 75 74 68 73 20 3d 20 24 74 68 ($repositoryName).{.$auths.=.$th
73a0 69 73 2d 3e 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 73 28 29 3b 0a 0a 72 65 74 75 72 is->getAuthentications();..retur
73c0 6e 20 69 73 73 65 74 28 24 61 75 74 68 73 5b 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 5d 29 n.isset($auths[$repositoryName])
73e0 20 3f 20 24 61 75 74 68 73 5b 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 5d 20 3a 20 61 72 72 .?.$auths[$repositoryName].:.arr
7400 61 79 28 27 75 73 65 72 6e 61 6d 65 27 20 3d 3e 20 6e 75 6c 6c 2c 20 27 70 61 73 73 77 6f 72 64 ay('username'.=>.null,.'password
7420 27 20 3d 3e 20 6e 75 6c 6c 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f '.=>.null);.}.....public.functio
7440 6e 20 73 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 n.setAuthentication($repositoryN
7460 61 6d 65 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 ame,.$username,.$password.=.null
7480 29 0a 7b 0a 24 74 68 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 ).{.$this->authentications[$repo
74a0 73 69 74 6f 72 79 4e 61 6d 65 5d 20 3d 20 61 72 72 61 79 28 27 75 73 65 72 6e 61 6d 65 27 20 3d sitoryName].=.array('username'.=
74c0 3e 20 24 75 73 65 72 6e 61 6d 65 2c 20 27 70 61 73 73 77 6f 72 64 27 20 3d 3e 20 24 70 61 73 73 >.$username,.'password'.=>.$pass
74e0 77 6f 72 64 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 word);.}.}.<?php............name
7500 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4e space.Composer\IO;.......class.N
7520 75 6c 6c 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 0a 7b 0a 0a ullIO.implements.IOInterface.{..
7540 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 28 ..public.function.isInteractive(
7560 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
7580 75 6e 63 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 66 61 6c unction.isVerbose().{.return.fal
75a0 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 69 73 56 65 72 79 se;.}.....public.function.isVery
75c0 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 0a Verbose().{.return.false;.}.....
75e0 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 75 public.function.isDebug().{.retu
7600 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 6e 20 rn.false;.}.....public.function.
7620 69 73 44 65 63 6f 72 61 74 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a isDecorated().{.return.false;.}.
7640 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 73 61 ....public.function.write($messa
7660 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 74 72 75 65 29 0a 7b 0a 7d 0a 0a 0a 0a 0a 70 75 ges,.$newline.=.true).{.}.....pu
7680 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 6d 65 73 73 61 67 65 blic.function.overwrite($message
76a0 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 20 3d 20 38 30 29 0a s,.$newline.=.true,.$size.=.80).
76c0 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 75 65 {.}.....public.function.ask($que
76e0 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 72 6e stion,.$default.=.null).{.return
7700 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 6f 6e .$default;.}.....public.function
7720 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 65 66 .askConfirmation($question,.$def
7740 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 3b 0a ault.=.true).{.return.$default;.
7760 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 6c 69 }.....public.function.askAndVali
7780 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 74 74 date($question,.$validator,.$att
77a0 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 29 0a empts.=.false,.$default.=.null).
77c0 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 63 20 {.return.$default;.}.....public.
77e0 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 73 74 function.askAndHideAnswer($quest
7800 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 69 63 ion).{.return.null;.}.....public
7820 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 0a 7b .function.getAuthentications().{
7840 0a 72 65 74 75 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 .return.array();.}.....public.fu
7860 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
7880 74 6f 72 79 4e 61 6d 65 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a toryName).{.return.false;.}.....
78a0 70 75 62 6c 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 public.function.getAuthenticatio
78c0 6e 28 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 n($repositoryName).{.return.arra
78e0 79 28 27 75 73 65 72 6e 61 6d 65 27 20 3d 3e 20 6e 75 6c 6c 2c 20 27 70 61 73 73 77 6f 72 64 27 y('username'.=>.null,.'password'
7900 20 3d 3e 20 6e 75 6c 6c 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e .=>.null);.}.....public.function
7920 20 73 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 .setAuthentication($repositoryNa
7940 6d 65 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 me,.$username,.$password.=.null)
7960 0a 7b 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
7980 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 49 e.Composer\IO;.......interface.I
79a0 4f 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 74 69 6f OInterface.{......public.functio
79c0 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.
79e0 66 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 function.isVerbose();.......publ
7a00 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 3b 0a 0a 0a 0a ic.function.isVeryVerbose();....
7a20 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 29 3b 0a 0a 0a ...public.function.isDebug();...
7a40 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 64 28 ....public.function.isDecorated(
7a60 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 77 72 69 74 65 28 );........public.function.write(
7a80 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 29 3b 0a 0a 0a 0a $messages,.$newline.=.true);....
7aa0 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($
7ac0 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
7ae0 20 3d 20 38 30 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 .=.80);............public.functi
7b00 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 6c on.ask($question,.$default.=.nul
7b20 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 61 l);............public.function.a
7b40 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 75 skConfirmation($question,.$defau
7b60 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 0a 70 75 62 lt.=.true);..................pub
7b80 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
7ba0 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 66 stion,.$validator,.$attempts.=.f
7bc0 61 6c 73 65 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 alse,.$default.=.null);.........
7be0 70 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 public.function.askAndHideAnswer
7c00 28 24 71 75 65 73 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 ($question);.......public.functi
7c20 6f 6e 20 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a on.getAuthentications();........
7c40 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 .public.function.hasAuthenticati
7c60 6f 6e 28 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 on($repositoryName);.........pub
7c80 6c 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 28 24 lic.function.getAuthentication($
7ca0 72 65 70 6f 73 69 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 repositoryName);.........public.
7cc0 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 72 65 70 6f function.setAuthentication($repo
7ce0 73 69 74 6f 72 79 4e 61 6d 65 2c 20 24 75 73 65 72 6e 61 6d 65 2c 20 24 70 61 73 73 77 6f 72 64 sitoryName,.$username,.$password
7d00 20 3d 20 6e 75 6c 6c 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 .=.null);.}.<?php............nam
7d20 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 53 79 6d 66 6f 6e 79 espace.Composer\IO;..use.Symfony
7d40 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 65 61 6d \Component\Console\Output\Stream
7d60 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 5c 43 6f Output;.use.Symfony\Component\Co
7d80 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 65 72 49 nsole\Formatter\OutputFormatterI
7da0 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\
7dc0 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 53 Console\Input\StringInput;.use.S
7de0 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\
7e00 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 78 HelperSet;.....class.BufferIO.ex
7e20 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 75 tends.ConsoleIO.{......public.fu
7e40 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 20 nction.__construct($input.=.'',.
7e60 24 76 65 72 62 6f 73 69 74 79 20 3d 20 6e 75 6c 6c 2c 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 $verbosity.=.null,.OutputFormatt
7e80 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 7b erInterface.$formatter.=.null).{
7ea0 0a 24 69 6e 70 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 .$input.=.new.StringInput($input
7ec0 29 3b 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 29 );.$input->setInteractive(false)
7ee0 3b 0a 0a 24 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 ;..$output.=.new.StreamOutput(fo
7f00 70 65 6e 28 27 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 pen('php://memory',.'rw'),.$verb
7f20 6f 73 69 74 79 20 3d 3d 3d 20 6e 75 6c 6c 20 3f 20 53 74 72 65 61 6d 4f 75 74 70 75 74 3a 3a 56 osity.===.null.?.StreamOutput::V
7f40 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 20 3a 20 24 76 65 72 62 6f 73 69 74 79 2c 20 21 65 ERBOSITY_NORMAL.:.$verbosity,.!e
7f60 6d 70 74 79 28 24 66 6f 72 6d 61 74 74 65 72 29 2c 20 24 66 6f 72 6d 61 74 74 65 72 29 3b 0a 0a mpty($formatter),.$formatter);..
7f80 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
7fa0 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 29 29 29 3b 0a 7d 0a put,.new.HelperSet(array()));.}.
7fc0 0a 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 66 .public.function.getOutput().{.f
7fe0 73 65 65 6b 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 2c seek($this->output->getStream(),
8000 20 30 29 3b 0a 0a 24 6f 75 74 70 75 74 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 5f 63 6f 6e 74 65 .0);..$output.=.stream_get_conte
8020 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());
8040 0a 0a 24 6f 75 74 70 75 74 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 ..$output.=.preg_replace_callbac
8060 6b 28 22 7b 28 3f 3c 3d 5e 7c 5c 6e 7c 5c 78 30 38 29 28 2e 2b 3f 29 28 5c 78 30 38 2b 29 7d 22 k("{(?<=^|\n|\x08)(.+?)(\x08+)}"
8080 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d 61 74 63 68 65 73 29 20 7b 0a 24 70 72 65 20 3d 20 73 ,.function.($matches).{.$pre.=.s
80a0 74 72 69 70 5f 74 61 67 73 28 24 6d 61 74 63 68 65 73 5b 31 5d 29 3b 0a 0a 69 66 20 28 73 74 72 trip_tags($matches[1]);..if.(str
80c0 6c 65 6e 28 24 70 72 65 29 20 3d 3d 3d 20 73 74 72 6c 65 6e 28 24 6d 61 74 63 68 65 73 5b 32 5d len($pre).===.strlen($matches[2]
80e0 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 0a 0a 20 72 65 74 75 72 6e 20 72 74 72 69 )).{.return.'';.}....return.rtri
8100 6d 28 24 6d 61 74 63 68 65 73 5b 31 5d 29 2e 22 5c 6e 22 3b 0a 7d 2c 20 24 6f 75 74 70 75 74 29 m($matches[1])."\n";.},.$output)
8120 3b 0a 0a 72 65 74 75 72 6e 20 24 6f 75 74 70 75 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a ;..return.$output;.}.}.<?php....
8140 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 61 ........namespace.Composer\Comma
8160 6e 64 3b 0a 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 45 nd;..use.Composer\Script\ScriptE
8180 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
81a0 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
81c0 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
81e0 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 6e 65 6e nputOption;.use.Symfony\Componen
8200 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
8220 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
8240 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 20 52 put\OutputInterface;.....class.R
8260 75 6e 53 63 72 69 70 74 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 43 6f 6d 6d 61 6e 64 0a unScriptCommand.extends.Command.
8280 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 29 {.protected.function.configure()
82a0 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 72 75 6e 2d 73 63 72 69 70 74 27 29 .{.$this.->setName('run-script')
82c0 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 52 75 6e 20 74 68 65 20 73 63 72 69 70 .->setDescription('Run.the.scrip
82e0 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 6e 2e 27 29 0a 2d ts.defined.in.composer.json.').-
8300 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
8320 72 67 75 6d 65 6e 74 28 27 73 63 72 69 70 74 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a rgument('script',.InputArgument:
8340 3a 52 45 51 55 49 52 45 44 2c 20 27 53 63 72 69 70 74 20 6e 61 6d 65 20 74 6f 20 72 75 6e 2e 27 :REQUIRED,.'Script.name.to.run.'
8360 29 2c 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 ),.new.InputOption('dev',.null,.
8380 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
83a0 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(
83c0 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
83e0 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.
8400 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e 66 '),.)).->setHelp(<<<EOT.The.<inf
8420 6f 3e 72 75 6e 2d 73 63 72 69 70 74 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 72 75 6e 73 o>run-script</info>.command.runs
8440 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
8460 6e 3a 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 72 75 6e 2d n:..<info>php.composer.phar.run-
8480 73 63 72 69 70 74 20 70 6f 73 74 2d 75 70 64 61 74 65 2d 63 6d 64 3c 2f 69 6e 66 6f 3e 0a 45 4f script.post-update-cmd</info>.EO
84a0 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
84c0 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
84e0 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 73 63 72 69 70 74 20 3d 20 tInterface.$output).{.$script.=.
8500 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 73 63 72 69 70 74 27 29 3b 0a 69 $input->getArgument('script');.i
8520 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 73 63 72 69 70 74 2c 20 61 72 72 61 79 28 0a 53 63 72 f.(!in_array($script,.array(.Scr
8540 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 63 72 69 iptEvents::PRE_INSTALL_CMD,.Scri
8560 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 63 72 69 ptEvents::POST_INSTALL_CMD,.Scri
8580 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 69 70 74 ptEvents::PRE_UPDATE_CMD,.Script
85a0 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 70 74 45 Events::POST_UPDATE_CMD,.ScriptE
85c0 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 45 76 65 vents::PRE_STATUS_CMD,.ScriptEve
85e0 6e 74 73 3a 3a 50 4f 53 54 5f 53 54 41 54 55 53 5f 43 4d 44 2c 0a 29 29 29 20 7b 0a 69 66 20 28 nts::POST_STATUS_CMD,.))).{.if.(
8600 64 65 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 defined('Composer\Script\ScriptE
8620 76 65 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 vents::'.str_replace('-',.'_',.s
8640 74 72 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 trtoupper($script)))).{.throw.ne
8660 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
8680 6e 74 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 ntf('Script."%s".cannot.be.run.w
86a0 69 74 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 ith.this.command',.$script));.}.
86c0 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 70 .throw.new.\InvalidArgumentExcep
86e0 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 53 63 72 69 70 74 20 22 25 73 22 20 64 6f 65 73 20 6e tion(sprintf('Script."%s".does.n
8700 6f 74 20 65 78 69 73 74 27 2c 20 24 73 63 72 69 70 74 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e ot.exist',.$script));.}..$this->
8720 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 getComposer()->getEventDispatche
8740 72 28 29 2d 3e 64 69 73 70 61 74 63 68 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 24 73 63 72 69 70 r()->dispatchCommandEvent($scrip
8760 74 2c 20 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 7c 7c 20 21 t,.$input->getOption('dev').||.!
8780 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 3b 0a 7d 0a $input->getOption('no-dev'));.}.
87a0 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
87c0 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 43 6f 6d poser\Command;..use.Composer\Com
87e0 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 0a 75 73 65 poser;.use.Composer\Factory;.use
8800 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
8820 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 43 6f 6e 66 69 ception;.use.Composer\Util\Confi
8840 67 56 61 6c 69 64 61 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 gValidator;.use.Composer\Util\Re
8860 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 74 69 moteFilesystem;.use.Composer\Uti
8880 6c 5c 53 74 72 65 61 6d 43 6f 6e 74 65 78 74 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 53 79 6d 66 l\StreamContextFactory;.use.Symf
88a0 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
88c0 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
88e0 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
8900 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 69 61 67 6e 6f 73 65 43 6f 6d 6d 61 6e 64 20 65 78 74 65 ;.....class.DiagnoseCommand.exte
8920 6e 64 73 20 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 66 73 3b 0a 70 72 nds.Command.{.protected.$rfs;.pr
8940 6f 74 65 63 74 65 64 20 24 66 61 69 6c 75 72 65 73 20 3d 20 30 3b 0a 0a 70 72 6f 74 65 63 74 65 otected.$failures.=.0;..protecte
8960 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.-
8980 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 65 73 63 72 69 >setName('diagnose').->setDescri
89a0 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 20 74 6f 20 69 ption('Diagnoses.the.system.to.i
89c0 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 73 65 74 48 65 dentify.common.errors.').->setHe
89e0 6c 70 28 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e 66 6f 3e 64 69 61 67 6e 6f 73 65 3c 2f 69 6e lp(<<<EOT.The.<info>diagnose</in
8a00 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 65 72 72 6f 72 73 fo>.command.checks.common.errors
8a20 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 73 2e 0a 0a 45 4f .to.help.debugging.problems...EO
8a40 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
8a60 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
8a80 74 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 72 66 73 tInterface.$output).{.$this->rfs
8aa0 20 3d 20 6e 65 77 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 74 68 69 73 2d 3e 67 .=.new.RemoteFilesystem($this->g
8ac0 65 74 49 4f 28 29 29 3b 0a 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 27 43 68 65 63 6b 69 etIO());..$output->write('Checki
8ae0 6e 67 20 70 6c 61 74 66 6f 72 6d 20 73 65 74 74 69 6e 67 73 3a 20 27 29 3b 0a 24 74 68 69 73 2d ng.platform.settings:.');.$this-
8b00 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 63 68 >outputResult($output,.$this->ch
8b20 65 63 6b 50 6c 61 74 66 6f 72 6d 28 29 29 3b 0a 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 eckPlatform());..$output->write(
8b40 27 43 68 65 63 6b 69 6e 67 20 68 74 74 70 20 63 6f 6e 6e 65 63 74 69 76 69 74 79 3a 20 27 29 3b 'Checking.http.connectivity:.');
8b60 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 6f 75 74 70 75 74 2c 20 24 74 .$this->outputResult($output,.$t
8b80 68 69 73 2d 3e 63 68 65 63 6b 48 74 74 70 28 29 29 3b 0a 0a 24 6f 70 74 73 20 3d 20 73 74 72 65 his->checkHttp());..$opts.=.stre
8ba0 61 6d 5f 63 6f 6e 74 65 78 74 5f 67 65 74 5f 6f 70 74 69 6f 6e 73 28 53 74 72 65 61 6d 43 6f 6e am_context_get_options(StreamCon
8bc0 74 65 78 74 46 61 63 74 6f 72 79 3a 3a 67 65 74 43 6f 6e 74 65 78 74 28 27 68 74 74 70 3a 2f 2f textFactory::getContext('http://
8be0 65 78 61 6d 70 6c 65 2e 6f 72 67 27 29 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6f 70 74 73 example.org'));.if.(!empty($opts
8c00 5b 27 68 74 74 70 27 5d 5b 27 70 72 6f 78 79 27 5d 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 ['http']['proxy'])).{.$output->w
8c20 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 3a 20 27 29 3b 0a 24 rite('Checking.HTTP.proxy:.');.$
8c40 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 6f 75 74 70 75 74 2c 20 24 74 68 69 this->outputResult($output,.$thi
8c60 73 2d 3e 63 68 65 63 6b 48 74 74 70 50 72 6f 78 79 28 29 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 s->checkHttpProxy());.$output->w
8c80 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 70 6f 72 rite('Checking.HTTP.proxy.suppor
8ca0 74 20 66 6f 72 20 72 65 71 75 65 73 74 5f 66 75 6c 6c 75 72 69 3a 20 27 29 3b 0a 24 74 68 69 73 t.for.request_fulluri:.');.$this
8cc0 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 63 ->outputResult($output,.$this->c
8ce0 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 6d heckHttpProxyFullUriRequestParam
8d00 28 29 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 27 43 68 65 63 6b 69 6e 67 20 48 54 ());.$output->write('Checking.HT
8d20 54 50 53 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 TPS.proxy.support.for.request_fu
8d40 6c 6c 75 72 69 3a 20 27 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 lluri:.');.$this->outputResult($
8d60 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 48 74 74 70 73 50 72 6f 78 79 46 75 output,.$this->checkHttpsProxyFu
8d80 6c 6c 55 72 69 52 65 71 75 65 73 74 50 61 72 61 6d 28 29 29 3b 0a 7d 0a 0a 24 63 6f 6d 70 6f 73 llUriRequestParam());.}..$compos
8da0 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);.
8dc0 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 if.($composer).{.$output->write(
8de0 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 27 29 3b 0a 24 74 68 'Checking.composer.json:.');.$th
8e00 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d is->outputResult($output,.$this-
8e20 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 0a 69 66 20 28 >checkComposerSchema());.}..if.(
8e40 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 70 6f 73 65 72 $composer).{.$config.=.$composer
8e60 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 6e 66 69 67 20 ->getConfig();.}.else.{.$config.
8e80 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 7d 0a 0a 69 66 =.Factory::createConfig();.}..if
8ea0 20 28 24 6f 61 75 74 68 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 68 75 62 2d .($oauth.=.$config->get('github-
8ec0 6f 61 75 74 68 27 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 6f 61 75 74 68 20 61 73 20 24 64 oauth')).{.foreach.($oauth.as.$d
8ee0 6f 6d 61 69 6e 20 3d 3e 20 24 74 6f 6b 65 6e 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 omain.=>.$token).{.$output->writ
8f00 65 28 27 43 68 65 63 6b 69 6e 67 20 27 2e 24 64 6f 6d 61 69 6e 2e 27 20 6f 61 75 74 68 20 61 63 e('Checking.'.$domain.'.oauth.ac
8f20 63 65 73 73 3a 20 27 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 6f cess:.');.$this->outputResult($o
8f40 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 47 69 74 68 75 62 4f 61 75 74 68 28 24 utput,.$this->checkGithubOauth($
8f60 64 6f 6d 61 69 6e 2c 20 24 74 6f 6b 65 6e 29 29 3b 0a 7d 0a 7d 0a 0a 24 6f 75 74 70 75 74 2d 3e domain,.$token));.}.}..$output->
8f80 77 72 69 74 65 28 27 43 68 65 63 6b 69 6e 67 20 64 69 73 6b 20 66 72 65 65 20 73 70 61 63 65 3a write('Checking.disk.free.space:
8fa0 20 27 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 6f 75 74 70 75 74 .');.$this->outputResult($output
8fc0 2c 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 44 69 73 6b 53 70 61 63 65 28 24 63 6f 6e 66 69 67 29 ,.$this->checkDiskSpace($config)
8fe0 29 3b 0a 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 27 43 68 65 63 6b 69 6e 67 20 63 6f 6d );..$output->write('Checking.com
9000 70 6f 73 65 72 20 76 65 72 73 69 6f 6e 3a 20 27 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 poser.version:.');.$this->output
9020 52 65 73 75 6c 74 28 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 56 65 72 73 Result($output,.$this->checkVers
9040 69 6f 6e 28 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 61 69 6c 75 72 65 73 3b ion());..return.$this->failures;
9060 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 43 6f 6d 70 6f 73 .}..private.function.checkCompos
9080 65 72 53 63 68 65 6d 61 28 29 0a 7b 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e 65 77 20 43 6f erSchema().{.$validator.=.new.Co
90a0 6e 66 69 67 56 61 6c 69 64 61 74 6f 72 28 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 29 3b 0a 6c nfigValidator($this->getIO());.l
90c0 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 24 77 61 ist($errors,.$publishErrors,.$wa
90e0 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 65 28 46 rnings).=.$validator->validate(F
9100 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 0a 69 66 20 actory::getComposerFile());..if.
9120 28 24 65 72 72 6f 72 73 20 7c 7c 20 24 70 75 62 6c 69 73 68 45 72 72 6f 72 73 20 7c 7c 20 24 77 ($errors.||.$publishErrors.||.$w
9140 61 72 6e 69 6e 67 73 29 20 7b 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 61 72 72 61 79 28 0a 27 65 arnings).{.$messages.=.array(.'e
9160 72 72 6f 72 27 20 3d 3e 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 65 72 72 6f 72 73 2c 20 24 70 rror'.=>.array_merge($errors,.$p
9180 75 62 6c 69 73 68 45 72 72 6f 72 73 29 2c 0a 27 77 61 72 6e 69 6e 67 27 20 3d 3e 20 24 77 61 72 ublishErrors),.'warning'.=>.$war
91a0 6e 69 6e 67 73 2c 0a 29 3b 0a 0a 24 6f 75 74 70 75 74 20 3d 20 27 27 3b 0a 66 6f 72 65 61 63 68 nings,.);..$output.=.'';.foreach
91c0 20 28 24 6d 65 73 73 61 67 65 73 20 61 73 20 24 73 74 79 6c 65 20 3d 3e 20 24 6d 73 67 73 29 20 .($messages.as.$style.=>.$msgs).
91e0 7b 0a 66 6f 72 65 61 63 68 20 28 24 6d 73 67 73 20 61 73 20 24 6d 73 67 29 20 7b 0a 24 6f 75 74 {.foreach.($msgs.as.$msg).{.$out
9200 70 75 74 20 2e 3d 20 27 3c 27 20 2e 20 24 73 74 79 6c 65 20 2e 20 27 3e 27 20 2e 20 24 6d 73 67 put..=.'<'...$style...'>'...$msg
9220 20 2e 20 27 3c 2f 27 20 2e 20 24 73 74 79 6c 65 20 2e 20 27 3e 27 20 2e 20 50 48 50 5f 45 4f 4c ...'</'...$style...'>'...PHP_EOL
9240 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 72 74 72 69 6d 28 24 6f 75 74 70 75 74 29 3b 0a 7d 0a ;.}.}..return.rtrim($output);.}.
9260 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 6f .return.true;.}..private.functio
9280 6e 20 63 68 65 63 6b 48 74 74 70 28 29 0a 7b 0a 24 70 72 6f 74 6f 63 6f 6c 20 3d 20 65 78 74 65 n.checkHttp().{.$protocol.=.exte
92a0 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 73 nsion_loaded('openssl').?.'https
92c0 27 20 3a 20 27 68 74 74 70 27 3b 0a 74 72 79 20 7b 0a 24 6a 73 6f 6e 20 3d 20 24 74 68 69 73 2d '.:.'http';.try.{.$json.=.$this-
92e0 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
9300 27 2c 20 24 70 72 6f 74 6f 63 6f 6c 20 2e 20 27 3a 2f 2f 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 ',.$protocol...'://packagist.org
9320 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 7d 20 63 61 74 63 68 /packages.json',.false);.}.catch
9340 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 65 3b 0a 7d 0a .(\Exception.$e).{.return.$e;.}.
9360 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 6f .return.true;.}..private.functio
9380 6e 20 63 68 65 63 6b 48 74 74 70 50 72 6f 78 79 28 29 0a 7b 0a 24 70 72 6f 74 6f 63 6f 6c 20 3d n.checkHttpProxy().{.$protocol.=
93a0 20 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 3f 20 27 .extension_loaded('openssl').?.'
93c0 68 74 74 70 73 27 20 3a 20 27 68 74 74 70 27 3b 0a 74 72 79 20 7b 0a 24 6a 73 6f 6e 20 3d 20 6a https'.:.'http';.try.{.$json.=.j
93e0 73 6f 6e 5f 64 65 63 6f 64 65 28 24 74 68 69 73 2d 3e 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e son_decode($this->rfs->getConten
9400 74 73 28 27 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 2c 20 24 70 72 6f 74 6f 63 6f 6c 20 2e 20 ts('packagist.org',.$protocol...
9420 27 3a 2f 2f 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 2e 6a 73 6f 6e 27 '://packagist.org/packages.json'
9440 2c 20 66 61 6c 73 65 29 2c 20 74 72 75 65 29 3b 0a 24 68 61 73 68 20 3d 20 72 65 73 65 74 28 24 ,.false),.true);.$hash.=.reset($
9460 6a 73 6f 6e 5b 27 70 72 6f 76 69 64 65 72 2d 69 6e 63 6c 75 64 65 73 27 5d 29 3b 0a 24 68 61 73 json['provider-includes']);.$has
9480 68 20 3d 20 24 68 61 73 68 5b 27 73 68 61 32 35 36 27 5d 3b 0a 24 70 61 74 68 20 3d 20 73 74 72 h.=.$hash['sha256'];.$path.=.str
94a0 5f 72 65 70 6c 61 63 65 28 27 25 68 61 73 68 25 27 2c 20 24 68 61 73 68 2c 20 6b 65 79 28 24 6a _replace('%hash%',.$hash,.key($j
94c0 73 6f 6e 5b 27 70 72 6f 76 69 64 65 72 2d 69 6e 63 6c 75 64 65 73 27 5d 29 29 3b 0a 24 70 72 6f son['provider-includes']));.$pro
94e0 76 69 64 65 72 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 73 28 vider.=.$this->rfs->getContents(
9500 27 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 2c 20 24 70 72 6f 74 6f 63 6f 6c 20 2e 20 27 3a 2f 'packagist.org',.$protocol...':/
9520 2f 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 2f 27 2e 24 70 61 74 68 2c 20 66 61 6c 73 65 29 3b 0a /packagist.org/'.$path,.false);.
9540 0a 69 66 20 28 68 61 73 68 28 27 73 68 61 32 35 36 27 2c 20 24 70 72 6f 76 69 64 65 72 29 20 21 .if.(hash('sha256',.$provider).!
9560 3d 3d 20 24 68 61 73 68 29 20 7b 0a 72 65 74 75 72 6e 20 27 49 74 20 73 65 65 6d 73 20 74 68 61 ==.$hash).{.return.'It.seems.tha
9580 74 20 79 6f 75 72 20 70 72 6f 78 79 20 69 73 20 6d 6f 64 69 66 79 69 6e 67 20 68 74 74 70 20 74 t.your.proxy.is.modifying.http.t
95a0 72 61 66 66 69 63 20 6f 6e 20 74 68 65 20 66 6c 79 27 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c raffic.on.the.fly';.}.}.catch.(\
95c0 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 65 3b 0a 7d 0a 0a 72 65 Exception.$e).{.return.$e;.}..re
95e0 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e turn.true;.}.........private.fun
9600 63 74 69 6f 6e 20 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 ction.checkHttpProxyFullUriReque
9620 73 74 50 61 72 61 6d 28 29 0a 7b 0a 24 75 72 6c 20 3d 20 27 68 74 74 70 3a 2f 2f 70 61 63 6b 61 stParam().{.$url.=.'http://packa
9640 67 69 73 74 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 2e 6a 73 6f 6e 27 3b 0a 74 72 79 20 7b 0a 24 gist.org/packages.json';.try.{.$
9660 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
9680 74 2e 6f 72 67 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 t.org',.$url,.false);.}.catch.(T
96a0 72 61 6e 73 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 ransportException.$e).{.try.{.$t
96c0 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 74 his->rfs->getContents('packagist
96e0 2e 6f 72 67 27 2c 20 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 .org',.$url,.false,.array('http'
9700 20 3d 3e 20 61 72 72 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 .=>.array('request_fulluri'.=>.f
9720 61 6c 73 65 29 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 alse)));.}.catch.(TransportExcep
9740 74 69 6f 6e 20 24 65 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 tion.$e).{.return.'Unable.to.ass
9760 65 72 74 20 74 68 65 20 73 69 74 75 61 74 69 6f 6e 2c 20 6d 61 79 62 65 20 70 61 63 6b 61 67 69 ert.the.situation,.maybe.packagi
9780 73 74 2e 6f 72 67 20 69 73 20 64 6f 77 6e 20 28 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 st.org.is.down.('.$e->getMessage
97a0 28 29 2e 27 29 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 49 74 20 73 65 65 6d 73 20 74 68 65 72 ().')';.}..return.'It.seems.ther
97c0 65 20 69 73 20 61 20 70 72 6f 62 6c 65 6d 20 77 69 74 68 20 79 6f 75 72 20 70 72 6f 78 79 20 73 e.is.a.problem.with.your.proxy.s
97e0 65 72 76 65 72 2c 20 74 72 79 20 73 65 74 74 69 6e 67 20 74 68 65 20 22 48 54 54 50 5f 50 52 4f erver,.try.setting.the."HTTP_PRO
9800 58 59 5f 52 45 51 55 45 53 54 5f 46 55 4c 4c 55 52 49 22 20 61 6e 64 20 22 48 54 54 50 53 5f 50 XY_REQUEST_FULLURI".and."HTTPS_P
9820 52 4f 58 59 5f 52 45 51 55 45 53 54 5f 46 55 4c 4c 55 52 49 22 20 65 6e 76 69 72 6f 6e 6d 65 6e ROXY_REQUEST_FULLURI".environmen
9840 74 20 76 61 72 69 61 62 6c 65 73 20 74 6f 20 22 66 61 6c 73 65 22 27 3b 0a 7d 0a 0a 72 65 74 75 t.variables.to."false"';.}..retu
9860 72 6e 20 74 72 75 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 rn.true;.}.........private.funct
9880 69 6f 6e 20 63 68 65 63 6b 48 74 74 70 73 50 72 6f 78 79 46 75 6c 6c 55 72 69 52 65 71 75 65 73 ion.checkHttpsProxyFullUriReques
98a0 74 50 61 72 61 6d 28 29 0a 7b 0a 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 tParam().{.if.(!extension_loaded
98c0 28 27 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 ('openssl')).{.return.'You.need.
98e0 74 68 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 the.openssl.extension.installed.
9900 66 6f 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 for.this.check';.}..$url.=.'http
9920 73 3a 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 s://api.github.com/repos/Seldaek
9940 2f 6a 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 /jsonlint/zipball/1.0.0';.try.{.
9960 24 72 66 63 52 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 72 66 73 2d 3e 67 65 74 43 6f 6e 74 $rfcResult.=.$this->rfs->getCont
9980 65 6e 74 73 28 27 61 70 69 2e 67 69 74 68 75 62 2e 63 6f 6d 27 2c 20 24 75 72 6c 2c 20 66 61 6c ents('api.github.com',.$url,.fal
99a0 73 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 74 69 6f 6e se);.}.catch.(TransportException
99c0 20 24 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 .$e).{.try.{.$this->rfs->getCont
99e0 65 6e 74 73 28 27 61 70 69 2e 67 69 74 68 75 62 2e 63 6f 6d 27 2c 20 24 75 72 6c 2c 20 66 61 6c ents('api.github.com',.$url,.fal
9a00 73 65 2c 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 se,.array('http'.=>.array('reque
9a20 73 74 5f 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 st_fulluri'.=>.false)));.}.catch
9a40 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 72 65 74 75 72 .(TransportException.$e).{.retur
9a60 6e 20 27 55 6e 61 62 6c 65 20 74 6f 20 61 73 73 65 72 74 20 74 68 65 20 73 69 74 75 61 74 69 6f n.'Unable.to.assert.the.situatio
9a80 6e 2c 20 6d 61 79 62 65 20 67 69 74 68 75 62 20 69 73 20 64 6f 77 6e 20 28 27 2e 24 65 2d 3e 67 n,.maybe.github.is.down.('.$e->g
9aa0 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 49 74 20 73 etMessage().')';.}..return.'It.s
9ac0 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 20 79 6f 75 eems.there.is.a.problem.with.you
9ae0 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 74 68 65 20 r.proxy.server,.try.setting.the.
9b00 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 49 22 20 65 6e "HTTPS_PROXY_REQUEST_FULLURI".en
9b20 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 74 6f 20 22 66 61 6c 73 65 22 27 3b 0a vironment.variable.to."false"';.
9b40 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 75 6e 63 74 }..return.true;.}..private.funct
9b60 69 6f 6e 20 63 68 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 ion.checkGithubOauth($domain,.$t
9b80 6f 6b 65 6e 29 0a 7b 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 oken).{.$this->getIO()->setAuthe
9ba0 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 78 2d 6f 61 ntication($domain,.$token,.'x-oa
9bc0 75 74 68 2d 62 61 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 uth-basic');.try.{.$url.=.$domai
9be0 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 73 3a 2f 2f 61 70 n.===.'github.com'.?.'https://ap
9c00 69 2e 27 2e 24 64 6f 6d 61 69 6e 2e 27 2f 75 73 65 72 2f 72 65 70 6f 73 27 20 3a 20 27 68 74 74 i.'.$domain.'/user/repos'.:.'htt
9c20 70 73 3a 2f 2f 27 2e 24 64 6f 6d 61 69 6e 2e 27 2f 61 70 69 2f 76 33 2f 75 73 65 72 2f 72 65 70 ps://'.$domain.'/api/v3/user/rep
9c40 6f 73 27 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 66 73 2d 3e 67 65 74 43 6f 6e 74 os';..return.$this->rfs->getCont
9c60 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 29 20 3f 20 74 72 75 ents($domain,.$url,.false).?.tru
9c80 65 20 3a 20 27 55 6e 65 78 70 65 63 74 65 64 20 65 72 72 6f 72 27 3b 0a 7d 20 63 61 74 63 68 20 e.:.'Unexpected.error';.}.catch.
9ca0 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 65 20 69 6e 73 74 61 6e 63 (\Exception.$e).{.if.($e.instanc
9cc0 65 6f 66 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 26 26 20 24 65 2d 3e 67 65 eof.TransportException.&&.$e->ge
9ce0 74 43 6f 64 65 28 29 20 3d 3d 3d 20 34 30 31 29 20 7b 0a 72 65 74 75 72 6e 20 27 3c 77 61 72 6e tCode().===.401).{.return.'<warn
9d00 69 6e 67 3e 54 68 65 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 ing>The.oauth.token.for.'.$domai
9d20 6e 2e 27 20 73 65 65 6d 73 20 69 6e 76 61 6c 69 64 2c 20 72 75 6e 20 22 63 6f 6d 70 6f 73 65 72 n.'.seems.invalid,.run."composer
9d40 20 63 6f 6e 66 69 67 20 2d 2d 67 6c 6f 62 61 6c 20 2d 2d 75 6e 73 65 74 20 67 69 74 68 75 62 2d .config.--global.--unset.github-
9d60 6f 61 75 74 68 2e 27 2e 24 64 6f 6d 61 69 6e 2e 27 22 20 74 6f 20 72 65 6d 6f 76 65 20 69 74 3c oauth.'.$domain.'".to.remove.it<
9d80 2f 77 61 72 6e 69 6e 67 3e 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 3b 0a 7d 0a 7d 0a 0a 70 /warning>';.}..return.$e;.}.}..p
9da0 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 44 69 73 6b 53 70 61 63 65 28 24 rivate.function.checkDiskSpace($
9dc0 63 6f 6e 66 69 67 29 0a 7b 0a 24 6d 69 6e 53 70 61 63 65 46 72 65 65 20 3d 20 31 30 32 34 2a 31 config).{.$minSpaceFree.=.1024*1
9de0 30 32 34 3b 0a 69 66 20 28 28 28 24 64 66 20 3d 20 40 64 69 73 6b 5f 66 72 65 65 5f 73 70 61 63 024;.if.((($df.=.@disk_free_spac
9e00 65 28 24 64 69 72 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 29 29 20 e($dir.=.$config->get('home'))).
9e20 21 3d 3d 20 66 61 6c 73 65 20 26 26 20 24 64 66 20 3c 20 24 6d 69 6e 53 70 61 63 65 46 72 65 65 !==.false.&&.$df.<.$minSpaceFree
9e40 29 0a 7c 7c 20 28 28 24 64 66 20 3d 20 40 64 69 73 6b 5f 66 72 65 65 5f 73 70 61 63 65 28 24 64 ).||.(($df.=.@disk_free_space($d
9e60 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 29 ir.=.$config->get('vendor-dir'))
9e80 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 53 70 61 63 65 46 72 ).!==.false.&&.$df.<.$minSpaceFr
9ea0 65 65 29 0a 29 20 7b 0a 72 65 74 75 72 6e 20 27 3c 65 72 72 6f 72 3e 54 68 65 20 64 69 73 6b 20 ee).).{.return.'<error>The.disk.
9ec0 68 6f 73 74 69 6e 67 20 27 2e 24 64 69 72 2e 27 20 69 73 20 66 75 6c 6c 3c 2f 65 72 72 6f 72 3e hosting.'.$dir.'.is.full</error>
9ee0 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 61 74 65 20 66 75 ';.}..return.true;.}..private.fu
9f00 6e 63 74 69 6f 6e 20 63 68 65 63 6b 56 65 72 73 69 6f 6e 28 29 0a 7b 0a 24 70 72 6f 74 6f 63 6f nction.checkVersion().{.$protoco
9f20 6c 20 3d 20 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 l.=.extension_loaded('openssl').
9f40 3f 20 27 68 74 74 70 73 27 20 3a 20 27 68 74 74 70 27 3b 0a 24 6c 61 74 65 73 74 20 3d 20 74 72 ?.'https'.:.'http';.$latest.=.tr
9f60 69 6d 28 24 74 68 69 73 2d 3e 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 27 67 65 74 63 im($this->rfs->getContents('getc
9f80 6f 6d 70 6f 73 65 72 2e 6f 72 67 27 2c 20 24 70 72 6f 74 6f 63 6f 6c 20 2e 20 27 3a 2f 2f 67 65 omposer.org',.$protocol...'://ge
9fa0 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 76 65 72 73 69 6f 6e 27 2c 20 66 61 6c 73 65 29 29 3b tcomposer.org/version',.false));
9fc0 0a 0a 69 66 20 28 43 6f 6d 70 6f 73 65 72 3a 3a 56 45 52 53 49 4f 4e 20 21 3d 3d 20 24 6c 61 74 ..if.(Composer::VERSION.!==.$lat
9fe0 65 73 74 20 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 31 66 est.&&.Composer::VERSION.!==.'1f
a000 32 64 33 33 31 66 64 33 34 31 38 39 37 63 39 64 35 34 34 31 34 61 37 36 62 39 30 39 62 65 62 61 2d331fd341897c9d54414a76b909beba
a020 39 65 33 61 35 39 27 29 20 7b 0a 72 65 74 75 72 6e 20 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 72 9e3a59').{.return.'<warning>Your
a040 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 76 65 72 73 .are.not.running.the.latest.vers
a060 69 6f 6e 3c 2f 77 61 72 6e 69 6e 67 3e 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a ion</warning>';.}..return.true;.
a080 7d 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 }..private.function.outputResult
a0a0 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 6c (OutputInterface.$output,.$resul
a0c0 74 29 0a 7b 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 6f 75 t).{.if.(true.===.$result).{.$ou
a0e0 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 69 6e 66 6f 3e 4f 4b 3c 2f 69 6e 66 6f 3e 27 29 tput->writeln('<info>OK</info>')
a100 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 66 61 69 6c 75 72 65 73 2b 2b 3b 0a 24 6f ;.}.else.{.$this->failures++;.$o
a120 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 65 72 72 6f 72 3e 46 41 49 4c 3c 2f 65 72 72 utput->writeln('<error>FAIL</err
a140 6f 72 3e 27 29 3b 0a 69 66 20 28 24 72 65 73 75 6c 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 45 or>');.if.($result.instanceof.\E
a160 78 63 65 70 74 69 6f 6e 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 5b 27 xception).{.$output->writeln('['
a180 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 65 73 75 6c 74 .get_class($result).'].'.$result
a1a0 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 24 72 65 73 75 ->getMessage());.}.elseif.($resu
a1c0 6c 74 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 72 65 73 75 6c 74 29 3b lt).{.$output->writeln($result);
a1e0 0a 7d 0a 7d 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 6c .}.}.}..private.function.checkPl
a200 61 74 66 6f 72 6d 28 29 0a 7b 0a 24 6f 75 74 70 75 74 20 3d 20 27 27 3b 0a 24 6f 75 74 20 3d 20 atform().{.$output.=.'';.$out.=.
a220 66 75 6e 63 74 69 6f 6e 20 28 24 6d 73 67 2c 20 24 73 74 79 6c 65 29 20 75 73 65 20 28 26 24 6f function.($msg,.$style).use.(&$o
a240 75 74 70 75 74 29 20 7b 0a 24 6f 75 74 70 75 74 20 2e 3d 20 27 3c 27 2e 24 73 74 79 6c 65 2e 27 utput).{.$output..=.'<'.$style.'
a260 3e 27 2e 24 6d 73 67 2e 27 3c 2f 27 2e 24 73 74 79 6c 65 2e 27 3e 27 3b 0a 7d 3b 0a 0a 0a 20 24 >'.$msg.'</'.$style.'>';.};....$
a280 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 77 61 72 6e 69 6e 67 73 20 3d 20 61 72 errors.=.array();.$warnings.=.ar
a2a0 72 61 79 28 29 3b 0a 0a 24 69 6e 69 50 61 74 68 20 3d 20 70 68 70 5f 69 6e 69 5f 6c 6f 61 64 65 ray();..$iniPath.=.php_ini_loade
a2c0 64 5f 66 69 6c 65 28 29 3b 0a 24 64 69 73 70 6c 61 79 49 6e 69 4d 65 73 73 61 67 65 20 3d 20 66 d_file();.$displayIniMessage.=.f
a2e0 61 6c 73 65 3b 0a 69 66 20 28 24 69 6e 69 50 61 74 68 29 20 7b 0a 24 69 6e 69 4d 65 73 73 61 67 alse;.if.($iniPath).{.$iniMessag
a300 65 20 3d 20 50 48 50 5f 45 4f 4c 2e 50 48 50 5f 45 4f 4c 2e 27 54 68 65 20 70 68 70 2e 69 6e 69 e.=.PHP_EOL.PHP_EOL.'The.php.ini
a320 20 75 73 65 64 20 62 79 20 79 6f 75 72 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 50 48 50 20 69 .used.by.your.command-line.PHP.i
a340 73 3a 20 27 20 2e 20 24 69 6e 69 50 61 74 68 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6e 69 4d 65 s:.'...$iniPath;.}.else.{.$iniMe
a360 73 73 61 67 65 20 3d 20 50 48 50 5f 45 4f 4c 2e 50 48 50 5f 45 4f 4c 2e 27 41 20 70 68 70 2e 69 ssage.=.PHP_EOL.PHP_EOL.'A.php.i
a380 6e 69 20 66 69 6c 65 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 20 59 6f 75 20 77 69 6c 6c ni.file.does.not.exist..You.will
a3a0 20 68 61 76 65 20 74 6f 20 63 72 65 61 74 65 20 6f 6e 65 2e 27 3b 0a 7d 0a 24 69 6e 69 4d 65 73 .have.to.create.one.';.}.$iniMes
a3c0 73 61 67 65 20 2e 3d 20 50 48 50 5f 45 4f 4c 2e 27 49 66 20 79 6f 75 20 63 61 6e 20 6e 6f 74 20 sage..=.PHP_EOL.'If.you.can.not.
a3e0 6d 6f 64 69 66 79 20 74 68 65 20 69 6e 69 20 66 69 6c 65 2c 20 79 6f 75 20 63 61 6e 20 61 6c 73 modify.the.ini.file,.you.can.als
a400 6f 20 72 75 6e 20 60 70 68 70 20 2d 64 20 6f 70 74 69 6f 6e 3d 76 61 6c 75 65 60 20 74 6f 20 6d o.run.`php.-d.option=value`.to.m
a420 6f 64 69 66 79 20 69 6e 69 20 76 61 6c 75 65 73 20 6f 6e 20 74 68 65 20 66 6c 79 2e 20 59 6f 75 odify.ini.values.on.the.fly..You
a440 20 63 61 6e 20 75 73 65 20 2d 64 20 6d 75 6c 74 69 70 6c 65 20 74 69 6d 65 73 2e 27 3b 0a 0a 69 .can.use.-d.multiple.times.';..i
a460 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 65 6e 27 29 29 20 f.(!ini_get('allow_url_fopen')).
a480 7b 0a 24 65 72 72 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 {.$errors['allow_url_fopen'].=.t
a4a0 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 28 50 48 50 5f rue;.}..if.(version_compare(PHP_
a4c0 56 45 52 53 49 4f 4e 2c 20 27 35 2e 33 2e 32 27 2c 20 27 3c 27 29 29 20 7b 0a 24 65 72 72 6f 72 VERSION,.'5.3.2',.'<')).{.$error
a4e0 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 28 21 s['php'].=.PHP_VERSION;.}..if.(!
a500 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 76 65 72 73 69 6f 6e isset($errors['php']).&&.version
a520 5f 63 6f 6d 70 61 72 65 28 50 48 50 5f 56 45 52 53 49 4f 4e 2c 20 27 35 2e 33 2e 34 27 2c 20 27 _compare(PHP_VERSION,.'5.3.4',.'
a540 3c 27 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 27 70 68 70 27 5d 20 3d 20 50 48 50 5f 56 45 <')).{.$warnings['php'].=.PHP_VE
a560 52 53 49 4f 4e 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 RSION;.}..if.(!extension_loaded(
a580 27 6f 70 65 6e 73 73 6c 27 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 27 6f 70 65 6e 73 73 6c 'openssl')).{.$warnings['openssl
a5a0 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 69 6e 69 5f 67 65 74 28 27 61 70 63 2e 65 '].=.true;.}..if.(ini_get('apc.e
a5c0 6e 61 62 6c 65 5f 63 6c 69 27 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 27 61 70 63 5f 63 6c nable_cli')).{.$warnings['apc_cl
a5e0 69 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 i'].=.true;.}..ob_start();.phpin
a600 66 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 fo(INFO_GENERAL);.$phpinfo.=.ob_
a620 67 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 get_clean();.if.(preg_match('{Co
a640 6e 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 nfigure.Command(?:.*</td><td.cla
a660 73 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 ss="v">|.*=>.*)(.*?)(?:</td>|$)}
a680 6d 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 m',.$phpinfo,.$match)).{.$config
a6a0 75 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 ure.=.$match[1];..if.(false.!==.
a6c0 73 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 strpos($configure,.'--enable-sig
a6e0 63 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 child')).{.$warnings['sigchild']
a700 20 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 .=.true;.}..if.(false.!==.strpos
a720 28 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 ($configure,.'--with-curlwrapper
a740 73 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 s')).{.$warnings['curlwrappers']
a760 20 3d 20 74 72 75 65 3b 0a 7d 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
a780 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.
a7a0 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).{
a7c0 0a 63 61 73 65 20 27 70 68 70 27 3a 0a 24 74 65 78 74 20 3d 20 50 48 50 5f 45 4f 4c 2e 22 59 6f .case.'php':.$text.=.PHP_EOL."Yo
a7e0 75 72 20 50 48 50 20 28 7b 24 63 75 72 72 65 6e 74 7d 29 20 69 73 20 74 6f 6f 20 6f 6c 64 2c 20 ur.PHP.({$current}).is.too.old,.
a800 79 6f 75 20 6d 75 73 74 20 75 70 67 72 61 64 65 20 74 6f 20 50 48 50 20 35 2e 33 2e 32 20 6f 72 you.must.upgrade.to.PHP.5.3.2.or
a820 20 68 69 67 68 65 72 2e 22 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 61 6c 6c 6f 77 5f 75 .higher.";.break;..case.'allow_u
a840 72 6c 5f 66 6f 70 65 6e 27 3a 0a 24 74 65 78 74 20 3d 20 50 48 50 5f 45 4f 4c 2e 22 54 68 65 20 rl_fopen':.$text.=.PHP_EOL."The.
a860 61 6c 6c 6f 77 5f 75 72 6c 5f 66 6f 70 65 6e 20 73 65 74 74 69 6e 67 20 69 73 20 69 6e 63 6f 72 allow_url_fopen.setting.is.incor
a880 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 68 rect.".PHP_EOL;.$text..=."Add.th
a8a0 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 60 e.following.to.the.end.of.your.`
a8c0 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 20 php.ini`:".PHP_EOL;.$text..=."..
a8e0 20 20 61 6c 6c 6f 77 5f 75 72 6c 5f 66 6f 70 65 6e 20 3d 20 4f 6e 22 3b 0a 24 64 69 73 70 6c 61 ..allow_url_fopen.=.On";.$displa
a900 79 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 7d 0a 24 6f 75 yIniMessage.=.true;.break;.}.$ou
a920 74 28 24 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 t($text,.'error');.}..$output..=
a940 20 50 48 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 .PHP_EOL;.}..if.(!empty($warning
a960 73 29 29 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 s)).{.foreach.($warnings.as.$war
a980 6e 69 6e 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 ning.=>.$current).{.switch.($war
a9a0 6e 69 6e 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 ning).{.case.'apc_cli':.$text.=.
a9c0 50 48 50 5f 45 4f 4c 2e 22 54 68 65 20 61 70 63 2e 65 6e 61 62 6c 65 5f 63 6c 69 20 73 65 74 74 PHP_EOL."The.apc.enable_cli.sett
a9e0 69 6e 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 ing.is.incorrect.".PHP_EOL;.$tex
aa00 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 65 20 65 t..=."Add.the.following.to.the.e
aa20 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 4c 3b 0a nd.of.your.`php.ini`:".PHP_EOL;.
aa40 24 74 65 78 74 20 2e 3d 20 22 20 20 20 20 61 70 63 2e 65 6e 61 62 6c 65 5f 63 6c 69 20 3d 20 4f $text..=."....apc.enable_cli.=.O
aa60 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 65 3b 0a ff";.$displayIniMessage.=.true;.
aa80 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 73 69 67 63 68 69 6c 64 27 3a 0a 24 74 65 78 74 20 3d break;..case.'sigchild':.$text.=
aaa0 20 50 48 50 5f 45 4f 4c 2e 22 50 48 50 20 77 61 73 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 .PHP_EOL."PHP.was.compiled.with.
aac0 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
aae0 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
ab00 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
ab20 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.
ab40 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 20 20 68 74 also:".PHP_EOL;.$text..=."....ht
ab60 74 70 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 tps://bugs.php.net/bug.php?id=22
ab80 39 39 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 999";.break;..case.'curlwrappers
aba0 27 3a 0a 24 74 65 78 74 20 3d 20 50 48 50 5f 45 4f 4c 2e 22 50 48 50 20 77 61 73 20 63 6f 6d 70 ':.$text.=.PHP_EOL."PHP.was.comp
abc0 69 6c 65 64 20 77 69 74 68 20 2d 2d 77 69 74 68 2d 63 75 72 6c 77 72 61 70 70 65 72 73 20 77 68 iled.with.--with-curlwrappers.wh
abe0 69 63 68 20 77 69 6c 6c 20 63 61 75 73 65 20 69 73 73 75 65 73 20 77 69 74 68 20 48 54 54 50 20 ich.will.cause.issues.with.HTTP.
ac00 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 61 6e 64 20 47 69 74 48 75 62 2e 22 2e 50 48 50 5f authentication.and.GitHub.".PHP_
ac20 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 68 EOL;.$text..=."Recompile.it.with
ac40 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 22 3b 0a 62 72 65 61 out.this.flag.if.possible";.brea
ac60 6b 3b 0a 0a 63 61 73 65 20 27 6f 70 65 6e 73 73 6c 27 3a 0a 24 74 65 78 74 20 3d 20 50 48 50 5f k;..case.'openssl':.$text.=.PHP_
ac80 45 4f 4c 2e 22 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 6d 69 EOL."The.openssl.extension.is.mi
aca0 73 73 69 6e 67 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 72 65 64 75 63 65 20 74 68 65 20 73 65 63 ssing,.which.will.reduce.the.sec
acc0 75 72 69 74 79 20 61 6e 64 20 73 74 61 62 69 6c 69 74 79 20 6f 66 20 43 6f 6d 70 6f 73 65 72 2e urity.and.stability.of.Composer.
ace0 22 2e 50 48 50 5f 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 ".PHP_EOL;.$text..=."If.possible
ad00 20 79 6f 75 20 73 68 6f 75 6c 64 20 65 6e 61 62 6c 65 20 69 74 20 6f 72 20 72 65 63 6f 6d 70 69 .you.should.enable.it.or.recompi
ad20 6c 65 20 70 68 70 20 77 69 74 68 20 2d 2d 77 69 74 68 2d 6f 70 65 6e 73 73 6c 22 3b 0a 62 72 65 le.php.with.--with-openssl";.bre
ad40 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 48 50 5f 45 4f 4c ak;..case.'php':.$text.=.PHP_EOL
ad60 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 20 71 75 69 74 65 ."Your.PHP.({$current}).is.quite
ad80 20 6f 6c 64 2c 20 75 70 67 72 61 64 69 6e 67 20 74 6f 20 50 48 50 20 35 2e 33 2e 34 20 6f 72 20 .old,.upgrading.to.PHP.5.3.4.or.
ada0 68 69 67 68 65 72 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 2e 22 2e 50 48 50 5f 45 4f 4c 3b higher.is.recommended.".PHP_EOL;
adc0 0a 24 74 65 78 74 20 2e 3d 20 22 43 6f 6d 70 6f 73 65 72 20 77 6f 72 6b 73 20 77 69 74 68 20 35 .$text..=."Composer.works.with.5
ade0 2e 33 2e 32 2b 20 66 6f 72 20 6d 6f 73 74 20 70 65 6f 70 6c 65 2c 20 62 75 74 20 74 68 65 72 65 .3.2+.for.most.people,.but.there
ae00 20 6d 69 67 68 74 20 62 65 20 65 64 67 65 20 63 61 73 65 20 69 73 73 75 65 73 2e 22 3b 0a 62 72 .might.be.edge.case.issues.";.br
ae20 65 61 6b 3b 0a 7d 0a 24 6f 75 74 28 24 74 65 78 74 2c 20 27 77 61 72 6e 69 6e 67 27 29 3b 0a 7d eak;.}.$out($text,.'warning');.}
ae40 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 29 20 7b 0a 24 6f .}..if.($displayIniMessage).{.$o
ae60 75 74 28 24 69 6e 69 4d 65 73 73 61 67 65 2c 20 27 77 61 72 6e 69 6e 67 27 29 3b 0a 7d 0a 0a 72 ut($iniMessage,.'warning');.}..r
ae80 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 72 73 20 3f 20 74 eturn.!$warnings.&&.!$errors.?.t
aea0 72 75 65 20 3a 20 24 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 rue.:.$output;.}.}.<?php........
aec0 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 0a ....namespace.Composer\Command;.
aee0 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
af00 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
af20 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
af40 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 5c 56 65 mposer\Package\LinkConstraint\Ve
af60 72 73 69 6f 6e 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 rsionConstraint;.use.Composer\Re
af80 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 0a 75 pository\CompositeRepository;..u
afa0 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
afc0 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 43 6f ut\InputArgument;.use.Symfony\Co
afe0 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 72 mponent\Console\Input\InputInter
b000 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
b020 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 6f ole\Input\InputOption;.use.Symfo
b040 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
b060 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 76 65 utInterface;.......class.Archive
b080 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 6f 74 65 63 Command.extends.Command.{.protec
b0a0 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 73 ted.function.configure().{.$this
b0c0 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 74 44 65 73 63 72 .->setName('archive').->setDescr
b0e0 69 70 74 69 6f 6e 28 27 43 72 65 61 74 65 20 61 6e 20 61 72 63 68 69 76 65 20 6f 66 20 74 68 69 iption('Create.an.archive.of.thi
b100 73 20 63 6f 6d 70 6f 73 65 72 20 70 61 63 6b 61 67 65 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 s.composer.package').->setDefini
b120 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 6d 65 6e 74 28 27 70 tion(array(.new.InputArgument('p
b140 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 50 54 49 4f 4e 41 4c ackage',.InputArgument::OPTIONAL
b160 2c 20 27 54 68 65 20 70 61 63 6b 61 67 65 20 74 6f 20 61 72 63 68 69 76 65 20 69 6e 73 74 65 61 ,.'The.package.to.archive.instea
b180 64 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f 6a 65 63 74 27 29 2c 0a 6e 65 77 20 d.of.the.current.project'),.new.
b1a0 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 70 75 74 41 72 InputArgument('version',.InputAr
b1c0 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 54 68 65 20 70 61 63 6b 61 67 65 20 76 gument::OPTIONAL,.'The.package.v
b1e0 65 72 73 69 6f 6e 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 ersion.to.archive'),.new.InputOp
b200 74 69 6f 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 tion('format',.'f',.InputOption:
b220 3a 56 41 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 :VALUE_REQUIRED,.'Format.of.the.
b240 72 65 73 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 2c 20 resulting.archive:.tar.or.zip',.
b260 27 74 61 72 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 64 69 72 27 2c 20 66 'tar'),.new.InputOption('dir',.f
b280 61 6c 73 65 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 alse,.InputOption::VALUE_REQUIRE
b2a0 44 2c 20 27 57 72 69 74 65 20 74 68 65 20 61 72 63 68 69 76 65 20 74 6f 20 74 68 69 73 20 64 69 D,.'Write.the.archive.to.this.di
b2c0 72 65 63 74 6f 72 79 27 2c 20 27 2e 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 3c 3c 3c rectory',.'.'),.)).->setHelp(<<<
b2e0 45 4f 54 0a 54 68 65 20 3c 69 6e 66 6f 3e 61 72 63 68 69 76 65 3c 2f 69 6e 66 6f 3e 20 63 6f 6d EOT.The.<info>archive</info>.com
b300 6d 61 6e 64 20 63 72 65 61 74 65 73 20 61 6e 20 61 72 63 68 69 76 65 20 6f 66 20 74 68 65 20 73 mand.creates.an.archive.of.the.s
b320 70 65 63 69 66 69 65 64 20 66 6f 72 6d 61 74 0a 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 66 pecified.format.containing.the.f
b340 69 6c 65 73 20 61 6e 64 20 64 69 72 65 63 74 6f 72 69 65 73 20 6f 66 20 74 68 65 20 43 6f 6d 70 iles.and.directories.of.the.Comp
b360 6f 73 65 72 20 70 72 6f 6a 65 63 74 20 6f 72 20 74 68 65 20 73 70 65 63 69 66 69 65 64 0a 70 61 oser.project.or.the.specified.pa
b380 63 6b 61 67 65 20 69 6e 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 76 65 72 73 69 6f 6e 20 61 ckage.in.the.specified.version.a
b3a0 6e 64 20 77 72 69 74 65 73 20 69 74 20 74 6f 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 64 69 nd.writes.it.to.the.specified.di
b3c0 72 65 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 rectory...<info>php.composer.pha
b3e0 72 20 61 72 63 68 69 76 65 20 5b 2d 2d 66 6f 72 6d 61 74 3d 7a 69 70 5d 20 5b 2d 2d 64 69 72 3d r.archive.[--format=zip].[--dir=
b400 2f 66 6f 6f 5d 20 5b 70 61 63 6b 61 67 65 20 5b 76 65 72 73 69 6f 6e 5d 5d 3c 2f 69 6e 66 6f 3e /foo].[package.[version]]</info>
b420 0a 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 74 69 6f 6e 20 ..EOT.).;.}..protected.function.
b440 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 20 4f execute(InputInterface.$input,.O
b460 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 72 6e utputInterface.$output).{.return
b480 20 24 74 68 69 73 2d 3e 61 72 63 68 69 76 65 28 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2c .$this->archive(.$this->getIO(),
b4a0 0a 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 29 2c .$input->getArgument('package'),
b4c0 0a 24 69 6e 70 75 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 .$input->getArgument('version'),
b4e0 0a 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 2c 0a 24 69 .$input->getOption('format'),.$i
b500 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 64 69 72 27 29 0a 29 3b 0a 7d 0a 0a 70 72 6f nput->getOption('dir').);.}..pro
b520 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 61 72 63 68 69 76 65 28 49 4f 49 6e 74 65 72 66 tected.function.archive(IOInterf
b540 61 63 65 20 24 69 6f 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 ace.$io,.$packageName.=.null,.$v
b560 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',.
b580 24 64 65 73 74 20 3d 20 27 2e 27 29 0a 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 46 61 63 74 6f 72 79 $dest.=.'.').{.$config.=.Factory
b5a0 3a 3a 63 72 65 61 74 65 43 6f 6e 66 69 67 28 29 3b 0a 24 66 61 63 74 6f 72 79 20 3d 20 6e 65 77 ::createConfig();.$factory.=.new
b5c0 20 46 61 63 74 6f 72 79 3b 0a 24 61 72 63 68 69 76 65 4d 61 6e 61 67 65 72 20 3d 20 24 66 61 63 .Factory;.$archiveManager.=.$fac
b5e0 74 6f 72 79 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 tory->createArchiveManager($conf
b600 69 67 29 3b 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 20 7b 0a 24 70 61 63 6b 61 ig);..if.($packageName).{.$packa
b620 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 6f 2c 20 24 ge.=.$this->selectPackage($io,.$
b640 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 28 21 24 70 packageName,.$version);..if.(!$p
b660 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 20 7b 0a 24 ackage).{.return.1;.}.}.else.{.$
b680 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 28 29 2d 3e package.=.$this->getComposer()->
b6a0 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 28 27 3c 69 6e getPackage();.}..$io->write('<in
b6c0 66 6f 3e 43 72 65 61 74 69 6e 67 20 74 68 65 20 61 72 63 68 69 76 65 2e 3c 2f 69 6e 66 6f 3e 27 fo>Creating.the.archive.</info>'
b6e0 29 3b 0a 24 61 72 63 68 69 76 65 4d 61 6e 61 67 65 72 2d 3e 61 72 63 68 69 76 65 28 24 70 61 63 );.$archiveManager->archive($pac
b700 6b 61 67 65 2c 20 24 66 6f 72 6d 61 74 2c 20 24 64 65 73 74 29 3b 0a 0a 72 65 74 75 72 6e 20 30 kage,.$format,.$dest);..return.0
b720 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 65 6c 65 63 74 50 61 ;.}..protected.function.selectPa
b740 63 6b 61 67 65 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 24 70 61 63 6b 61 67 65 4e ckage(IOInterface.$io,.$packageN
b760 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 69 6f 2d 3e 77 72 69 ame,.$version.=.null).{.$io->wri
b780 74 65 28 27 3c 69 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 te('<info>Searching.for.the.spec
b7a0 69 66 69 65 64 20 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 ified.package.</info>');..if.($c
b7c0 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 66 61 6c omposer.=.$this->getComposer(fal
b7e0 73 65 29 29 20 7b 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 se)).{.$localRepo.=.$composer->g
b800 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
b820 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 24 72 65 70 6f 73 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 epository();.$repos.=.new.Compos
b840 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 28 iteRepository(array_merge(array(
b860 24 6c 6f 63 61 6c 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 $localRepo),.$composer->getRepos
b880 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 72 69 65 73 28 itoryManager()->getRepositories(
b8a0 29 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 65 66 61 75 6c 74 52 65 70 6f 73 20 3d 20 46 61 )));.}.else.{.$defaultRepos.=.Fa
b8c0 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 44 65 66 61 75 6c 74 52 65 70 6f 73 69 74 6f 72 69 65 73 ctory::createDefaultRepositories
b8e0 28 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 4e 6f ($this->getIO());.$io->write('No
b900 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 72 72 .composer.json.found.in.the.curr
b920 65 6e 74 20 64 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 ent.directory,.searching.package
b940 73 20 66 72 6f 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 s.from.'...implode(',.',.array_k
b960 65 79 73 28 24 64 65 66 61 75 6c 74 52 65 70 6f 73 29 29 29 3b 0a 24 72 65 70 6f 73 20 3d 20 6e eys($defaultRepos)));.$repos.=.n
b980 65 77 20 43 6f 6d 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 ew.CompositeRepository($defaultR
b9a0 65 70 6f 73 29 3b 0a 7d 0a 0a 24 70 6f 6f 6c 20 3d 20 6e 65 77 20 50 6f 6f 6c 28 29 3b 0a 24 70 epos);.}..$pool.=.new.Pool();.$p
b9c0 6f 6f 6c 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 72 65 70 6f 73 29 3b 0a 0a 24 63 6f ool->addRepository($repos);..$co
b9e0 6e 73 74 72 61 69 6e 74 20 3d 20 28 24 76 65 72 73 69 6f 6e 29 20 3f 20 6e 65 77 20 56 65 72 73 nstraint.=.($version).?.new.Vers
ba00 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 28 27 3e 3d 27 2c 20 24 76 65 72 73 69 6f 6e 29 20 3a 20 ionConstraint('>=',.$version).:.
ba20 6e 75 6c 6c 3b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f null;.$packages.=.$pool->whatPro
ba40 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 74 72 61 69 6e 74 29 vides($packageName,.$constraint)
ba60 3b 0a 0a 69 66 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 ;..if.(count($packages).>.1).{.$
ba80 70 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 73 5b 30 5d 3b 0a 24 69 6f 2d 3e 77 72 69 package.=.$packages[0];.$io->wri
baa0 74 65 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 63 68 65 73 te('<info>Found.multiple.matches
bac0 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 65 74 74 79 ,.selected.'.$package->getPretty
bae0 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 72 69 74 65 String().'.</info>');.$io->write
bb00 28 27 41 6c 74 65 72 6e 61 74 69 76 65 73 20 77 65 72 65 20 27 2e 69 6d 70 6c 6f 64 65 28 27 2c ('Alternatives.were.'.implode(',
bb20 20 27 2c 20 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 70 29 20 7b 20 72 65 .',.array_map(function.($p).{.re
bb40 74 75 72 6e 20 24 70 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 3b 20 7d 2c 20 24 turn.$p->getPrettyString();.},.$
bb60 70 61 63 6b 61 67 65 73 29 29 2e 27 2e 27 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 63 6f packages)).'.');.$io->write('<co
bb80 6d 6d 65 6e 74 3e 50 6c 65 61 73 65 20 75 73 65 20 61 20 6d 6f 72 65 20 73 70 65 63 69 66 69 63 mment>Please.use.a.more.specific
bba0 20 63 6f 6e 73 74 72 61 69 6e 74 20 74 6f 20 70 69 63 6b 20 61 20 64 69 66 66 65 72 65 6e 74 20 .constraint.to.pick.a.different.
bbc0 70 61 63 6b 61 67 65 2e 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 package.</comment>');.}.elseif.(
bbe0 24 70 61 63 6b 61 67 65 73 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 $packages).{.$package.=.$package
bc00 73 5b 30 5d 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 46 6f 75 6e 64 20 61 6e s[0];.$io->write('<info>Found.an
bc20 20 65 78 61 63 74 20 6d 61 74 63 68 20 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 .exact.match.'.$package->getPret
bc40 74 79 53 74 72 69 6e 67 28 29 2e 27 2e 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d 20 65 6c 73 65 20 7b tyString().'.</info>');.}.else.{
bc60 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 65 72 72 6f 72 3e 43 6f 75 6c 64 20 6e 6f 74 20 66 69 .$io->write('<error>Could.not.fi
bc80 6e 64 20 61 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 nd.a.package.matching.'.$package
bca0 4e 61 6d 65 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 Name.'.</error>');..return.false
bcc0 3b 0a 7d 0a 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 ;.}..return.$package;.}.}.<?php.
bce0 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
bd00 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 73 65 72 3b 0a 75 mmand;..use.Composer\Composer;.u
bd20 73 65 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 6f 6e 3b se.Composer\Console\Application;
bd40 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
bd60 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 20 53 79 6d 66 6f 6e e.Composer\IO\NullIO;.use.Symfon
bd80 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 43 6f 6d 6d y\Component\Console\Command\Comm
bda0 61 6e 64 20 61 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 3b 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 and.as.BaseCommand;........abstr
bdc0 61 63 74 20 63 6c 61 73 73 20 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f act.class.Command.extends.BaseCo
bde0 6d 6d 61 6e 64 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 mmand.{....private.$composer;...
be00 0a 0a 70 72 69 76 61 74 65 20 24 69 6f 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ..private.$io;.......public.func
be20 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 20 3d 20 74 72 75 tion.getComposer($required.=.tru
be40 65 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 70 6f 73 65 e).{.if.(null.===.$this->compose
be60 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 67 65 74 41 70 r).{.$application.=.$this->getAp
be80 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 6f 6e 20 69 6e plication();.if.($application.in
bea0 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 68 69 73 2d 3e stanceof.Application).{..$this->
bec0 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 74 43 6f 6d 70 composer.=.$application->getComp
bee0 6f 73 65 72 28 24 72 65 71 75 69 72 65 64 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 72 65 71 75 oser($required);.}.elseif.($requ
bf00 69 72 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 65 70 74 ired).{.throw.new.\RuntimeExcept
bf20 69 6f 6e 28 0a 27 43 6f 75 6c 64 20 6e 6f 74 20 63 72 65 61 74 65 20 61 20 43 6f 6d 70 6f 73 65 ion(.'Could.not.create.a.Compose
bf40 72 5c 43 6f 6d 70 6f 73 65 72 20 69 6e 73 74 61 6e 63 65 2c 20 79 6f 75 20 6d 75 73 74 20 69 6e r\Composer.instance,.you.must.in
bf60 6a 65 63 74 20 27 2e 0a 27 6f 6e 65 20 69 66 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 20 69 73 20 ject.'..'one.if.this.command.is.
bf80 6e 6f 74 20 75 73 65 64 20 77 69 74 68 20 61 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 73 6f 6c 65 not.used.with.a.Composer\Console
bfa0 5c 41 70 70 6c 69 63 61 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 27 0a 29 3b 0a 7d 0a 7d 0a 0a 72 \Application.instance'.);.}.}..r
bfc0 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 0a 0a 0a 0a 70 75 62 eturn.$this->composer;.}.....pub
bfe0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 6d 70 6f 73 65 72 28 43 6f 6d 70 6f 73 65 lic.function.setComposer(Compose
c000 72 20 24 63 6f 6d 70 6f 73 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 20 3d r.$composer).{.$this->composer.=
c020 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 6e 63 74 69 6f .$composer;.}.....public.functio
c040 6e 20 67 65 74 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 n.getIO().{.if.(null.===.$this->
c060 69 6f 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 67 65 74 41 io).{.$application.=.$this->getA
c080 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 6f 6e 20 69 pplication();.if.($application.i
c0a0 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 68 69 73 2d nstanceof.Application).{..$this-
c0c0 3e 69 6f 20 3d 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 >io.=.$application->getIO();.}.e
c0e0 6c 73 65 20 7b 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 lse.{.$this->io.=.new.NullIO();.
c100 7d 0a 7d 0a 0a 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 }.}..return.$this->io;.}.....pub
c120 6c 69 63 20 66 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 lic.function.setIO(IOInterface.$
c140 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 7d 0a 3c 3f 70 68 70 io).{.$this->io.=.$io;.}.}.<?php
c160 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 43 ............namespace.Composer\C
c180 6f 6d 6d 61 6e 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 ommand;..use.Composer\Config;.us
c1a0 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 72 e.Composer\Factory;.use.Composer
c1c0 5c 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 6c \Installer;.use.Composer\Install
c1e0 65 72 5c 50 72 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 er\ProjectInstaller;.use.Compose
c200 72 5c 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 r\Installer\InstallationManager;
c220 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
c240 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 0a e.Composer\Package\BasePackage;.
c260 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 43 6f 6e 73 74 72 61 use.Composer\Package\LinkConstra
c280 69 6e 74 5c 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f int\VersionConstraint;.use.Compo
c2a0 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 73 65 ser\DependencyResolver\Pool;.use
c2c0 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 65 .Composer\DependencyResolver\Ope
c2e0 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 65 20 43 6f 6d ration\InstallOperation;.use.Com
c300 70 6f 73 65 72 5c 52 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 poser\Repository\ComposerReposit
c320 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
c340 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
c360 65 70 6f 73 69 74 6f 72 79 5c 46 69 6c 65 73 79 73 74 65 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a epository\FilesystemRepository;.
c380 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 6c 65 use.Composer\Repository\Installe
c3a0 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 6f 6d 70 6f dFilesystemRepository;.use.Compo
c3c0 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 20 53 79 6d ser\Script\ScriptEvents;.use.Sym
c3e0 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
c400 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
c420 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;.
c440 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
c460 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
c480 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
c4a0 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
c4c0 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
c4e0 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
c500 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\
c520 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 5c 52 65 Filesystem;.use.Composer\Util\Re
c540 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 50 61 63 moteFilesystem;.use.Composer\Pac
c560 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 0a 0a 0a 0a kage\Version\VersionParser;.....
c580 0a 0a 0a 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 ....class.CreateProjectCommand.e
c5a0 78 74 65 6e 64 73 20 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 xtends.Command.{.protected.funct
c5c0 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
c5e0 65 28 27 63 72 65 61 74 65 2d 70 72 6f 6a 65 63 74 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 e('create-project').->setDescrip
c600 74 69 6f 6e 28 27 43 72 65 61 74 65 20 6e 65 77 20 70 72 6f 6a 65 63 74 20 66 72 6f 6d 20 61 20 tion('Create.new.project.from.a.
c620 70 61 63 6b 61 67 65 20 69 6e 74 6f 20 67 69 76 65 6e 20 64 69 72 65 63 74 6f 72 79 2e 27 29 0a package.into.given.directory.').
c640 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 74 ->setDefinition(array(.new.Input
c660 41 72 67 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 Argument('package',.InputArgumen
c680 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 50 61 63 6b 61 67 65 20 6e 61 6d 65 20 74 6f 20 62 65 t::OPTIONAL,.'Package.name.to.be
c6a0 20 69 6e 73 74 61 6c 6c 65 64 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 .installed'),.new.InputArgument(
c6c0 27 64 69 72 65 63 74 6f 72 79 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 'directory',.InputArgument::OPTI
c6e0 4f 4e 41 4c 2c 20 27 44 69 72 65 63 74 6f 72 79 20 77 68 65 72 65 20 74 68 65 20 66 69 6c 65 73 ONAL,.'Directory.where.the.files
c700 20 73 68 6f 75 6c 64 20 62 65 20 63 72 65 61 74 65 64 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 .should.be.created'),.new.InputA
c720 72 67 75 6d 65 6e 74 28 27 76 65 72 73 69 6f 6e 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 rgument('version',.InputArgument
c740 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 56 65 72 73 69 6f 6e 2c 20 77 69 6c 6c 20 64 65 66 61 75 ::OPTIONAL,.'Version,.will.defau
c760 6c 74 73 20 74 6f 20 6c 61 74 65 73 74 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e lts.to.latest'),.new.InputOption
c780 28 27 73 74 61 62 69 6c 69 74 79 27 2c 20 27 73 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a ('stability',.'s',.InputOption::
c7a0 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 4d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 VALUE_REQUIRED,.'Minimum-stabili
c7c0 74 79 20 61 6c 6c 6f 77 65 64 20 28 75 6e 6c 65 73 73 20 61 20 76 65 72 73 69 6f 6e 20 69 73 20 ty.allowed.(unless.a.version.is.
c7e0 73 70 65 63 69 66 69 65 64 29 2e 27 2c 20 27 73 74 61 62 6c 65 27 29 2c 0a 6e 65 77 20 49 6e 70 specified).',.'stable'),.new.Inp
c800 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 20 utOption('prefer-source',.null,.
c820 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 73 InputOption::VALUE_NONE,.'Forces
c840 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 63 .installation.from.package.sourc
c860 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 20 es.when.possible,.including.VCS.
c880 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 28 information.'),.new.InputOption(
c8a0 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 6e 'prefer-dist',.null,.InputOption
c8c0 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 69 ::VALUE_NONE,.'Forces.installati
c8e0 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 65 on.from.package.dist.even.for.de
c900 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 27 v.versions.'),.new.InputOption('
c920 72 65 70 6f 73 69 74 6f 72 79 2d 75 72 6c 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 repository-url',.null,.InputOpti
c940 6f 6e 3a 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 on::VALUE_REQUIRED,.'Pick.a.diff
c960 65 72 65 6e 74 20 72 65 70 6f 73 69 74 6f 72 79 20 75 72 6c 20 74 6f 20 6c 6f 6f 6b 20 66 6f 72 erent.repository.url.to.look.for
c980 20 74 68 65 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 .the.package.'),.new.InputOption
c9a0 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
c9c0 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.
c9e0 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
ca00 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).'
ca20 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
ca40 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
ca60 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
ca80 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('
caa0 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
cac0 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 68 65 72 20 74 utOption::VALUE_NONE,.'Whether.t
cae0 6f 20 64 69 73 61 62 6c 65 20 63 75 73 74 6f 6d 20 69 6e 73 74 61 6c 6c 65 72 73 2e 27 29 2c 0a o.disable.custom.installers.'),.
cb00 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 75 new.InputOption('no-scripts',.nu
cb20 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 57 68 ll,.InputOption::VALUE_NONE,.'Wh
cb40 65 74 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 ether.to.prevent.execution.of.al
cb60 6c 20 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 l.defined.scripts.in.the.root.pa
cb80 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 6e 6f 2d 70 72 ckage.'),.new.InputOption('no-pr
cba0 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 55 ogress',.null,.InputOption::VALU
cbc0 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 20 E_NONE,.'Do.not.output.download.
cbe0 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 6b 65 progress.'),.new.InputOption('ke
cc00 65 70 2d 76 63 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 ep-vcs',.null,.InputOption::VALU
cc20 45 5f 4e 4f 4e 45 2c 20 27 57 68 65 74 68 65 72 20 74 6f 20 70 72 65 76 65 6e 74 20 64 65 6c 65 E_NONE,.'Whether.to.prevent.dele
cc40 74 69 6f 6e 20 76 63 73 20 66 6f 6c 64 65 72 2e 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 tion.vcs.folder.'),.)).->setHelp
cc60 28 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e 66 6f 3e 63 72 65 61 74 65 2d 70 72 6f 6a 65 63 74 (<<<EOT.The.<info>create-project
cc80 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 20 6e 65 77 20 70 72 </info>.command.creates.a.new.pr
cca0 6f 6a 65 63 74 20 66 72 6f 6d 20 61 20 67 69 76 65 6e 0a 70 61 63 6b 61 67 65 20 69 6e 74 6f 20 oject.from.a.given.package.into.
ccc0 61 20 6e 65 77 20 64 69 72 65 63 74 6f 72 79 2e 20 49 66 20 65 78 65 63 75 74 65 64 20 77 69 74 a.new.directory..If.executed.wit
cce0 68 6f 75 74 20 70 61 72 61 6d 73 20 61 6e 64 20 69 6e 20 61 20 64 69 72 65 63 74 6f 72 79 0a 77 hout.params.and.in.a.directory.w
cd00 69 74 68 20 61 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 20 69 74 20 69 6e 73 74 ith.a.composer.json.file.it.inst
cd20 61 6c 6c 73 20 74 68 65 20 70 61 63 6b 61 67 65 73 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e alls.the.packages.for.the.curren
cd40 74 20 70 72 6f 6a 65 63 74 2e 0a 0a 59 6f 75 20 63 61 6e 20 75 73 65 20 74 68 69 73 20 63 6f 6d t.project...You.can.use.this.com
cd60 6d 61 6e 64 20 74 6f 20 62 6f 6f 74 73 74 72 61 70 20 6e 65 77 20 70 72 6f 6a 65 63 74 73 20 6f mand.to.bootstrap.new.projects.o
cd80 72 20 73 65 74 75 70 20 61 20 63 6c 65 61 6e 0a 76 65 72 73 69 6f 6e 2d 63 6f 6e 74 72 6f 6c 6c r.setup.a.clean.version-controll
cda0 65 64 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 66 6f 72 20 64 65 76 65 6c 6f 70 65 72 73 20 6f ed.installation.for.developers.o
cdc0 66 20 79 6f 75 72 20 70 72 6f 6a 65 63 74 2e 0a 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f f.your.project...<info>php.compo
cde0 73 65 72 2e 70 68 61 72 20 63 72 65 61 74 65 2d 70 72 6f 6a 65 63 74 20 76 65 6e 64 6f 72 2f 70 ser.phar.create-project.vendor/p
ce00 72 6f 6a 65 63 74 20 74 61 72 67 65 74 2d 64 69 72 65 63 74 6f 72 79 20 5b 76 65 72 73 69 6f 6e roject.target-directory.[version
ce20 5d 3c 2f 69 6e 66 6f 3e 0a 0a 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 73 70 65 63 69 66 79 20 74 ]</info>..You.can.also.specify.t
ce40 68 65 20 76 65 72 73 69 6f 6e 20 77 69 74 68 20 74 68 65 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 he.version.with.the.package.name
ce60 20 75 73 69 6e 67 20 3d 20 6f 72 20 3a 20 61 73 20 73 65 70 61 72 61 74 6f 72 2e 0a 0a 54 6f 20 .using.=.or.:.as.separator...To.
ce80 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 74 68 65 install.unstable.packages,.eithe
cea0 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 74 2c 20 r.specify.the.version.you.want,.
cec0 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 68 65 72 or.use.the.--stability=dev.(wher
cee0 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 20 61 6c e.dev.can.be.one.of.RC,.beta,.al
cf00 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 6c 6f 70 pha.or.dev)...To.setup.a.develop
cf20 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 64 20 63 er.workable.version.you.should.c
cf40 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 6f 75 72 reate.the.project.using.the.sour
cf60 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 6e 67 20 ce.controlled.code.by.appending.
cf80 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 69 6e 66 the.<info>'--prefer-source'</inf
cfa0 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 65 20 66 o>.flag...To.install.a.package.f
cfc0 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 68 65 20 rom.another.repository.than.the.
cfe0 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 3c 69 6e default.one.you.can.pass.the.<in
d000 66 6f 3e 27 2d 2d 72 65 70 6f 73 69 74 6f 72 79 2d 75 72 6c 3d 68 74 74 70 3a 2f 2f 6d 79 72 65 fo>'--repository-url=http://myre
d020 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 45 4f 54 0a pository.org'</info>.flag...EOT.
d040 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 75 74 ).;.}..protected.function.execut
d060 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 49 e(InputInterface.$input,.OutputI
d080 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 46 61 nterface.$output).{.$config.=.Fa
d0a0 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 43 6f 6e 66 69 67 28 29 3b 0a 0a 24 70 72 65 66 65 72 53 ctory::createConfig();..$preferS
d0c0 6f 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 ource.=.false;.$preferDist.=.fal
d0e0 73 65 3b 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 se;.switch.($config->get('prefer
d100 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':.
d120 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
d140 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
d160 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
d180 61 6b 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 70 72 65 ak;.}.if.($input->getOption('pre
d1a0 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 6f fer-source').||.$input->getOptio
d1c0 6e 28 27 70 72 65 66 65 72 2d 64 69 73 74 27 29 29 20 7b 0a 24 70 72 65 66 65 72 53 6f 75 72 63 n('prefer-dist')).{.$preferSourc
d1e0 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 65 72 2d 73 6f e.=.$input->getOption('prefer-so
d200 75 72 63 65 27 29 3b 0a 24 70 72 65 66 65 72 44 69 73 74 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 urce');.$preferDist.=.$input->ge
d220 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 64 69 73 74 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 tOption('prefer-dist');.}..retur
d240 6e 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 50 72 6f 6a 65 63 74 28 0a 24 74 68 69 73 2d 3e n.$this->installProject(.$this->
d260 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 65 74 41 72 67 getIO(),.$config,.$input->getArg
d280 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 65 74 41 72 67 ument('package'),.$input->getArg
d2a0 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 74 2d 3e 67 65 74 41 ument('directory'),.$input->getA
d2c0 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 65 74 4f rgument('version'),.$input->getO
d2e0 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 65 72 53 6f 75 72 63 ption('stability'),.$preferSourc
d300 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 67 65 74 4f 70 74 69 e,.$preferDist,.!$input->getOpti
d320 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 4f 70 74 69 6f 6e 28 on('no-dev'),.$input->getOption(
d340 27 72 65 70 6f 73 69 74 6f 72 79 2d 75 72 6c 27 29 2c 0a 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 'repository-url'),.$input->getOp
d360 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 2c 0a 24 69 tion('no-custom-installers'),.$i
d380 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'),.$
d3a0 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6b 65 65 70 2d 76 63 73 27 29 2c 0a 24 69 input->getOption('keep-vcs'),.$i
d3c0 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 0a 29 nput->getOption('no-progress').)
d3e0 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 61 6c 6c 50 72 6f 6a ;.}..public.function.installProj
d400 65 63 74 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 2c 20 24 70 ect(IOInterface.$io,.$config,.$p
d420 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 64 69 72 65 63 74 6f 72 79 20 3d 20 6e 75 6c 6c 2c 20 24 ackageName,.$directory.=.null,.$
d440 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 2c 20 24 73 74 61 62 69 6c 69 74 packageVersion.=.null,.$stabilit
d460 79 20 3d 20 27 73 74 61 62 6c 65 27 2c 20 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 66 61 y.=.'stable',.$preferSource.=.fa
d480 6c 73 65 2c 20 24 70 72 65 66 65 72 44 69 73 74 20 3d 20 66 61 6c 73 65 2c 20 24 69 6e 73 74 61 lse,.$preferDist.=.false,.$insta
d4a0 6c 6c 44 65 76 50 61 63 6b 61 67 65 73 20 3d 20 66 61 6c 73 65 2c 20 24 72 65 70 6f 73 69 74 6f llDevPackages.=.false,.$reposito
d4c0 72 79 55 72 6c 20 3d 20 6e 75 6c 6c 2c 20 24 64 69 73 61 62 6c 65 43 75 73 74 6f 6d 49 6e 73 74 ryUrl.=.null,.$disableCustomInst
d4e0 61 6c 6c 65 72 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 allers.=.false,.$noScripts.=.fal
d500 73 65 2c 20 24 6b 65 65 70 56 63 73 20 3d 20 66 61 6c 73 65 2c 20 24 6e 6f 50 72 6f 67 72 65 73 se,.$keepVcs.=.false,.$noProgres
d520 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 21 3d s.=.false).{.if.($packageName.!=
d540 3d 20 6e 75 6c 6c 29 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 =.null).{.$installedFromVcs.=.$t
d560 68 69 73 2d 3e 69 6e 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 his->installRootPackage($io,.$co
d580 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 2c 20 nfig,.$packageName,.$directory,.
d5a0 24 70 61 63 6b 61 67 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 $packageVersion,.$stability,.$pr
d5c0 65 66 65 72 53 6f 75 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 eferSource,.$preferDist,.$instal
d5e0 6c 44 65 76 50 61 63 6b 61 67 65 73 2c 20 24 72 65 70 6f 73 69 74 6f 72 79 55 72 6c 2c 20 24 64 lDevPackages,.$repositoryUrl,.$d
d600 69 73 61 62 6c 65 43 75 73 74 6f 6d 49 6e 73 74 61 6c 6c 65 72 73 2c 20 24 6e 6f 53 63 72 69 70 isableCustomInstallers,.$noScrip
d620 74 73 2c 20 24 6b 65 65 70 56 63 73 2c 20 24 6e 6f 50 72 6f 67 72 65 73 73 29 3b 0a 7d 20 65 6c ts,.$keepVcs,.$noProgress);.}.el
d640 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 6c 73 65 3b 0a se.{.$installedFromVcs.=.false;.
d660 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 61 74 65 28 24 }..$composer.=.Factory::create($
d680 69 6f 29 3b 0a 0a 69 66 20 28 24 6e 6f 53 63 72 69 70 74 73 20 3d 3d 3d 20 66 61 6c 73 65 29 20 io);..if.($noScripts.===.false).
d6a0 7b 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 {...$composer->getEventDispatche
d6c0 72 28 29 2d 3e 64 69 73 70 61 74 63 68 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 53 63 72 69 70 74 r()->dispatchCommandEvent(Script
d6e0 45 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 Events::POST_ROOT_PACKAGE_INSTAL
d700 4c 2c 20 24 69 6e 73 74 61 6c 6c 44 65 76 50 61 63 6b 61 67 65 73 29 3b 0a 7d 0a 0a 0a 20 24 69 L,.$installDevPackages);.}....$i
d720 6e 73 74 61 6c 6c 65 72 20 3d 20 49 6e 73 74 61 6c 6c 65 72 3a 3a 63 72 65 61 74 65 28 24 69 6f nstaller.=.Installer::create($io
d740 2c 20 24 63 6f 6d 70 6f 73 65 72 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 72 2d 3e 73 65 74 50 72 65 ,.$composer);.$installer->setPre
d760 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 72 ferSource($preferSource).->setPr
d780 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 44 65 76 4d 6f eferDist($preferDist).->setDevMo
d7a0 64 65 28 24 69 6e 73 74 61 6c 6c 44 65 76 50 61 63 6b 61 67 65 73 29 0a 2d 3e 73 65 74 52 75 6e de($installDevPackages).->setRun
d7c0 53 63 72 69 70 74 73 28 20 21 20 24 6e 6f 53 63 72 69 70 74 73 29 3b 0a 0a 69 66 20 28 24 64 69 Scripts(.!.$noScripts);..if.($di
d7e0 73 61 62 6c 65 43 75 73 74 6f 6d 49 6e 73 74 61 6c 6c 65 72 73 29 20 7b 0a 24 69 6e 73 74 61 6c sableCustomInstallers).{.$instal
d800 6c 65 72 2d 3e 64 69 73 61 62 6c 65 43 75 73 74 6f 6d 49 6e 73 74 61 6c 6c 65 72 73 28 29 3b 0a ler->disableCustomInstallers();.
d820 7d 0a 0a 69 66 20 28 21 24 69 6e 73 74 61 6c 6c 65 72 2d 3e 72 75 6e 28 29 29 20 7b 0a 72 65 74 }..if.(!$installer->run()).{.ret
d840 75 72 6e 20 31 3b 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 urn.1;.}..$hasVcs.=.$installedFr
d860 6f 6d 56 63 73 3b 0a 69 66 20 28 21 24 6b 65 65 70 56 63 73 20 26 26 20 24 69 6e 73 74 61 6c 6c omVcs;.if.(!$keepVcs.&&.$install
d880 65 64 46 72 6f 6d 56 63 73 0a 26 26 20 28 0a 21 24 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 edFromVcs.&&.(.!$io->isInteracti
d8a0 76 65 28 29 0a 7c 7c 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 ve().||.$io->askConfirmation('<i
d8c0 6e 66 6f 3e 44 6f 20 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 nfo>Do.you.want.to.remove.the.ex
d8e0 69 73 74 69 6e 67 20 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 isting.VCS.(.git,..svn..).histor
d900 79 3f 3c 2f 69 6e 66 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 y?</info>.[<comment>Y,n</comment
d920 3e 5d 3f 20 27 2c 20 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 >]?.',.true).).).{.$finder.=.new
d940 20 46 69 6e 64 65 72 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 .Finder();.$finder->depth(0)->di
d960 72 65 63 74 6f 72 69 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 rectories()->in(getcwd())->ignor
d980 65 56 43 53 28 66 61 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 eVCS(false)->ignoreDotFiles(fals
d9a0 65 29 3b 0a 66 6f 72 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 e);.foreach.(array('.svn',.'_svn
d9c0 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 61 6d ',.'CVS',.'_darcs',.'.arch-param
d9e0 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 27 2c s',.'.monotone',.'.bzr',.'.git',
da00 20 27 2e 68 67 27 29 20 61 73 20 24 76 63 73 4e 61 6d 65 29 20 7b 0a 24 66 69 6e 64 65 72 2d 3e .'.hg').as.$vcsName).{.$finder->
da20 6e 61 6d 65 28 24 76 63 73 4e 61 6d 65 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 66 73 20 3d 20 6e name($vcsName);.}..try.{.$fs.=.n
da40 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 64 69 72 73 20 3d 20 69 74 65 72 61 74 6f ew.Filesystem();.$dirs.=.iterato
da60 72 5f 74 6f 5f 61 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 r_to_array($finder);.unset($find
da80 65 72 29 3b 0a 66 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 er);.foreach.($dirs.as.$dir).{.i
daa0 66 20 28 21 24 66 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 f.(!$fs->removeDirectory($dir)).
dac0 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 43 {.throw.new.\RuntimeException('C
dae0 6f 75 6c 64 20 6e 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 ould.not.remove.'.$dir);.}.}.}.c
db00 61 74 63 68 20 28 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 atch.(\Exception.$e).{.$io->writ
db20 65 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 e('<error>An.error.occurred.whil
db40 65 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 e.removing.the.VCS.metadata:.'.$
db60 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 29 3b 0a 7d 0a 0a e->getMessage().'</error>');.}..
db80 24 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 $hasVcs.=.false;.}....if.(!$hasV
dba0 63 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 cs).{.$package.=.$composer->getP
dbc0 61 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 ackage();.$configSource.=.new.Js
dbe0 6f 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 onConfigSource(new.JsonFile('com
dc00 70 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 poser.json'));.foreach.(BasePack
dc20 61 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 age::$supportedLinkTypes.as.$typ
dc40 65 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 e.=>.$meta).{.foreach.($package-
dc60 3e 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 >{'get'.$meta['method']}().as.$l
dc80 69 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 ink).{.if.($link->getPrettyConst
dca0 72 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 raint().===.'self.version').{.$c
dcc0 6f 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 onfigSource->addLink($type,.$lin
dce0 6b 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 k->getTarget(),.$package->getPre
dd00 74 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 ttyVersion());.}.}.}.}..if.($noS
dd20 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 6f 73 65 72 2d cripts.===.false).{...$composer-
dd40 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 68 43 >getEventDispatcher()->dispatchC
dd60 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 43 ommandEvent(ScriptEvents::POST_C
dd80 52 45 41 54 45 5f 50 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 REATE_PROJECT_CMD,.$installDevPa
dda0 63 6b 61 67 65 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 ckages);.}..return.0;.}..protect
ddc0 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 52 6f 6f 74 50 61 63 6b 61 67 65 28 49 ed.function.installRootPackage(I
dde0 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 70 61 63 6b 61 67 OInterface.$io,.$config,.$packag
de00 65 4e 61 6d 65 2c 20 24 64 69 72 65 63 74 6f 72 79 20 3d 20 6e 75 6c 6c 2c 20 24 70 61 63 6b 61 eName,.$directory.=.null,.$packa
de20 67 65 56 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 2c 20 24 73 74 61 62 69 6c 69 74 79 20 3d 20 27 geVersion.=.null,.$stability.=.'
de40 73 74 61 62 6c 65 27 2c 20 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 66 61 6c 73 65 2c 20 stable',.$preferSource.=.false,.
de60 24 70 72 65 66 65 72 44 69 73 74 20 3d 20 66 61 6c 73 65 2c 20 24 69 6e 73 74 61 6c 6c 44 65 76 $preferDist.=.false,.$installDev
de80 50 61 63 6b 61 67 65 73 20 3d 20 66 61 6c 73 65 2c 20 24 72 65 70 6f 73 69 74 6f 72 79 55 72 6c Packages.=.false,.$repositoryUrl
dea0 20 3d 20 6e 75 6c 6c 2c 20 24 64 69 73 61 62 6c 65 43 75 73 74 6f 6d 49 6e 73 74 61 6c 6c 65 72 .=.null,.$disableCustomInstaller
dec0 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 2c 20 24 s.=.false,.$noScripts.=.false,.$
dee0 6b 65 65 70 56 63 73 20 3d 20 66 61 6c 73 65 2c 20 24 6e 6f 50 72 6f 67 72 65 73 73 20 3d 20 66 keepVcs.=.false,.$noProgress.=.f
df00 61 6c 73 65 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 28 alse).{.$stability.=.strtolower(
df20 24 73 74 61 62 69 6c 69 74 79 29 3b 0a 69 66 20 28 24 73 74 61 62 69 6c 69 74 79 20 3d 3d 3d 20 $stability);.if.($stability.===.
df40 27 72 63 27 29 20 7b 0a 24 73 74 61 62 69 6c 69 74 79 20 3d 20 27 52 43 27 3b 0a 7d 0a 69 66 20 'rc').{.$stability.=.'RC';.}.if.
df60 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 6c 69 74 69 65 (!isset(BasePackage::$stabilitie
df80 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 20 5c 49 6e 76 s[$stability])).{.throw.new.\Inv
dfa0 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 73 alidArgumentException('Invalid.s
dfc0 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 6c 69 74 79 2e tability.provided.('.$stability.
dfe0 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 64 65 28 27 2c '),.must.be.one.of:.'.implode(',
e000 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 3a 24 73 74 61 .',.array_keys(BasePackage::$sta
e020 62 69 6c 69 74 69 65 73 29 29 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 72 65 bilities)));.}..if.(null.===.$re
e040 70 6f 73 69 74 6f 72 79 55 72 6c 29 20 7b 0a 24 73 6f 75 72 63 65 52 65 70 6f 20 3d 20 6e 65 77 positoryUrl).{.$sourceRepo.=.new
e060 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 46 61 63 74 6f 72 79 3a 3a 63 72 .CompositeRepository(Factory::cr
e080 65 61 74 65 44 65 66 61 75 6c 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 24 69 6f 2c 20 24 63 6f eateDefaultRepositories($io,.$co
e0a0 6e 66 69 67 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 22 6a 73 6f 6e 22 20 3d 3d 3d 20 70 61 74 nfig));.}.elseif.("json".===.pat
e0c0 68 69 6e 66 6f 28 24 72 65 70 6f 73 69 74 6f 72 79 55 72 6c 2c 20 50 41 54 48 49 4e 46 4f 5f 45 hinfo($repositoryUrl,.PATHINFO_E
e0e0 58 54 45 4e 53 49 4f 4e 29 29 20 7b 0a 24 73 6f 75 72 63 65 52 65 70 6f 20 3d 20 6e 65 77 20 46 XTENSION)).{.$sourceRepo.=.new.F
e100 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 65 ilesystemRepository(new.JsonFile
e120 28 24 72 65 70 6f 73 69 74 6f 72 79 55 72 6c 2c 20 6e 65 77 20 52 65 6d 6f 74 65 46 69 6c 65 73 ($repositoryUrl,.new.RemoteFiles
e140 79 73 74 65 6d 28 24 69 6f 29 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 30 20 3d 3d 3d 20 73 74 ystem($io)));.}.elseif.(0.===.st
e160 72 70 6f 73 28 24 72 65 70 6f 73 69 74 6f 72 79 55 72 6c 2c 20 27 68 74 74 70 27 29 29 20 7b 0a rpos($repositoryUrl,.'http')).{.
e180 24 73 6f 75 72 63 65 52 65 70 6f 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 65 72 52 65 70 6f 73 69 $sourceRepo.=.new.ComposerReposi
e1a0 74 6f 72 79 28 61 72 72 61 79 28 27 75 72 6c 27 20 3d 3e 20 24 72 65 70 6f 73 69 74 6f 72 79 55 tory(array('url'.=>.$repositoryU
e1c0 72 6c 29 2c 20 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 rl),.$io,.$config);.}.else.{.thr
e1e0 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
e200 28 22 49 6e 76 61 6c 69 64 20 72 65 70 6f 73 69 74 6f 72 79 20 75 72 6c 20 67 69 76 65 6e 2e 20 ("Invalid.repository.url.given..
e220 48 61 73 20 74 6f 20 62 65 20 61 20 2e 6a 73 6f 6e 20 66 69 6c 65 20 6f 72 20 61 6e 20 68 74 74 Has.to.be.a..json.file.or.an.htt
e240 70 20 75 72 6c 2e 22 29 3b 0a 7d 0a 0a 24 70 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 p.url.");.}..$parser.=.new.Versi
e260 6f 6e 50 61 72 73 65 72 28 29 3b 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 61 72 72 61 79 28 onParser();.$candidates.=.array(
e280 29 3b 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 24 70 61 72 73 65 72 2d 3e 70 61 72 73 );.$requirements.=.$parser->pars
e2a0 65 4e 61 6d 65 56 65 72 73 69 6f 6e 50 61 69 72 73 28 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 eNameVersionPairs(array($package
e2c0 4e 61 6d 65 29 29 3b 0a 24 6e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 72 65 71 75 Name));.$name.=.strtolower($requ
e2e0 69 72 65 6d 65 6e 74 73 5b 30 5d 5b 27 6e 61 6d 65 27 5d 29 3b 0a 69 66 20 28 21 24 70 61 63 6b irements[0]['name']);.if.(!$pack
e300 61 67 65 56 65 72 73 69 6f 6e 20 26 26 20 69 73 73 65 74 28 24 72 65 71 75 69 72 65 6d 65 6e 74 ageVersion.&&.isset($requirement
e320 73 5b 30 5d 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 56 65 72 73 s[0]['version'])).{.$packageVers
e340 69 6f 6e 20 3d 20 24 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 ion.=.$requirements[0]['version'
e360 5d 3b 0a 7d 0a 0a 24 70 6f 6f 6c 20 3d 20 6e 65 77 20 50 6f 6f 6c 28 24 70 61 63 6b 61 67 65 56 ];.}..$pool.=.new.Pool($packageV
e380 65 72 73 69 6f 6e 20 3f 20 27 64 65 76 27 20 3a 20 24 73 74 61 62 69 6c 69 74 79 29 3b 0a 24 70 ersion.?.'dev'.:.$stability);.$p
e3a0 6f 6f 6c 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 73 6f 75 72 63 65 52 65 70 6f 29 3b ool->addRepository($sourceRepo);
e3c0 0a 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 20 ..$constraint.=.$packageVersion.
e3e0 3f 20 6e 65 77 20 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 24 70 61 ?.new.VersionConstraint('=',.$pa
e400 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 29 rser->normalize($packageVersion)
e420 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 70 6f 6f 6c 2d 3e 77 ).:.null;.$candidates.=.$pool->w
e440 68 61 74 50 72 6f 76 69 64 65 73 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b hatProvides($name,.$constraint);
e460 0a 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 6b 65 79 20 3d 3e .foreach.($candidates.as.$key.=>
e480 20 24 63 61 6e 64 69 64 61 74 65 29 20 7b 0a 69 66 20 28 24 63 61 6e 64 69 64 61 74 65 2d 3e 67 .$candidate).{.if.($candidate->g
e4a0 65 74 4e 61 6d 65 28 29 20 21 3d 3d 20 24 6e 61 6d 65 29 20 7b 0a 75 6e 73 65 74 28 24 63 61 6e etName().!==.$name).{.unset($can
e4c0 64 69 64 61 74 65 73 5b 24 6b 65 79 5d 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 63 61 6e 64 69 didates[$key]);.}.}..if.(!$candi
e4e0 64 61 74 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 dates).{.throw.new.\InvalidArgum
e500 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 22 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 70 61 63 entException("Could.not.find.pac
e520 6b 61 67 65 20 24 6e 61 6d 65 22 20 2e 20 28 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 20 3f kage.$name"...($packageVersion.?
e540 20 22 20 77 69 74 68 20 76 65 72 73 69 6f 6e 20 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 2e .".with.version.$packageVersion.
e560 22 20 3a 20 22 20 77 69 74 68 20 73 74 61 62 69 6c 69 74 79 20 24 73 74 61 62 69 6c 69 74 79 2e ".:.".with.stability.$stability.
e580 22 29 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 64 69 72 65 63 74 6f 72 79 29 "));.}..if.(null.===.$directory)
e5a0 20 7b 0a 24 70 61 72 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 22 2f 22 2c 20 24 6e 61 6d 65 2c 20 .{.$parts.=.explode("/",.$name,.
e5c0 32 29 3b 0a 24 64 69 72 65 63 74 6f 72 79 20 3d 20 67 65 74 63 77 64 28 29 20 2e 20 44 49 52 45 2);.$directory.=.getcwd()...DIRE
e5e0 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 61 72 72 61 79 5f 70 6f 70 28 24 70 61 72 CTORY_SEPARATOR...array_pop($par
e600 74 73 29 3b 0a 7d 0a 0a 0a 20 24 70 61 63 6b 61 67 65 20 3d 20 24 63 61 6e 64 69 64 61 74 65 73 ts);.}....$package.=.$candidates
e620 5b 30 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 73 20 24 63 61 [0];.foreach.($candidates.as.$ca
e640 6e 64 69 64 61 74 65 29 20 7b 0a 69 66 20 28 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 28 24 ndidate).{.if.(version_compare($
e660 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 20 24 63 61 6e 64 69 64 61 74 package->getVersion(),.$candidat
e680 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 20 27 3c 27 29 29 20 7b 0a 24 70 61 63 6b 61 67 e->getVersion(),.'<')).{.$packag
e6a0 65 20 3d 20 24 63 61 6e 64 69 64 61 74 65 3b 0a 7d 0a 7d 0a 75 6e 73 65 74 28 24 63 61 6e 64 69 e.=.$candidate;.}.}.unset($candi
e6c0 64 61 74 65 73 29 3b 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 49 6e 73 74 61 dates);..$io->write('<info>Insta
e6e0 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 2e 20 lling.'...$package->getName()...
e700 27 20 28 27 20 2e 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 66 6f 72 6d 61 74 56 65 72 73 '.('...VersionParser::formatVers
e720 69 6f 6e 28 24 70 61 63 6b 61 67 65 2c 20 66 61 6c 73 65 29 20 2e 20 27 29 3c 2f 69 6e 66 6f 3e ion($package,.false)...')</info>
e740 27 29 3b 0a 0a 69 66 20 28 24 64 69 73 61 62 6c 65 43 75 73 74 6f 6d 49 6e 73 74 61 6c 6c 65 72 ');..if.($disableCustomInstaller
e760 73 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 43 75 73 74 6f 6d 20 69 6e s).{.$io->write('<info>Custom.in
e780 73 74 61 6c 6c 65 72 73 20 68 61 76 65 20 62 65 65 6e 20 64 69 73 61 62 6c 65 64 2e 3c 2f 69 6e stallers.have.been.disabled.</in
e7a0 66 6f 3e 27 29 3b 0a 7d 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 70 61 63 6b fo>');.}..if.(0.===.strpos($pack
e7c0 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 27 64 65 76 2d 27 29 age->getPrettyVersion(),.'dev-')
e7e0 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 53 6f 75 72 63 65 .&&.in_array($package->getSource
e800 54 79 70 65 28 29 2c 20 61 72 72 61 79 28 27 67 69 74 27 2c 20 27 68 67 27 29 29 29 20 7b 0a 24 Type(),.array('git',.'hg'))).{.$
e820 70 61 63 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 73 75 62 73 package->setSourceReference(subs
e840 74 72 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 6e 28 29 2c tr($package->getPrettyVersion(),
e860 20 34 29 29 3b 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 .4));.}..$dm.=.$this->createDown
e880 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 24 64 6d 2d 3e loadManager($io,.$config);.$dm->
e8a0 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 29 0a 2d setPreferSource($preferSource).-
e8c0 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 3e 73 65 >setPreferDist($preferDist).->se
e8e0 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 29 3b 0a 0a tOutputProgress(!$noProgress);..
e900 24 70 72 6f 6a 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 $projectInstaller.=.new.ProjectI
e920 6e 73 74 61 6c 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 nstaller($directory,.$dm);.$im.=
e940 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 6e 61 67 65 .$this->createInstallationManage
e960 72 28 29 3b 0a 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 r();.$im->addInstaller($projectI
e980 6e 73 74 61 6c 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 nstaller);.$im->install(new.Inst
e9a0 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 28 6e 65 77 20 4a 73 alledFilesystemRepository(new.Js
e9c0 6f 6e 46 69 6c 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 onFile('php://memory')),.new.Ins
e9e0 74 61 6c 6c 4f 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 tallOperation($package));.$im->n
ea00 6f 74 69 66 79 49 6e 73 74 61 6c 6c 73 28 29 3b 0a 0a 24 69 6e 73 74 61 6c 6c 65 64 46 72 6f 6d otifyInstalls();..$installedFrom
ea20 56 63 73 20 3d 20 27 73 6f 75 72 63 65 27 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 Vcs.=.'source'.===.$package->get
ea40 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 29 3b 0a 0a 24 69 6f 2d 3e 77 72 69 74 InstallationSource();..$io->writ
ea60 65 28 27 3c 69 6e 66 6f 3e 43 72 65 61 74 65 64 20 70 72 6f 6a 65 63 74 20 69 6e 20 27 20 2e 20 e('<info>Created.project.in.'...
ea80 24 64 69 72 65 63 74 6f 72 79 20 2e 20 27 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 63 68 64 69 72 28 24 $directory...'</info>');.chdir($
eaa0 64 69 72 65 63 74 6f 72 79 29 3b 0a 0a 70 75 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 52 4f directory);..putenv('COMPOSER_RO
eac0 4f 54 5f 56 45 52 53 49 4f 4e 3d 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 OT_VERSION='.$package->getPretty
eae0 56 65 72 73 69 6f 6e 28 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 69 6e 73 74 61 6c 6c 65 64 46 72 Version());..return.$installedFr
eb00 6f 6d 56 63 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 72 65 omVcs;.}..protected.function.cre
eb20 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 61 63 65 20 24 ateDownloadManager(IOInterface.$
eb40 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 24 66 61 63 74 6f 72 79 20 3d io,.Config.$config).{.$factory.=
eb60 20 6e 65 77 20 46 61 63 74 6f 72 79 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 66 61 63 74 6f 72 79 .new.Factory();..return.$factory
eb80 2d 3e 63 72 65 61 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 ->createDownloadManager($io,.$co
eba0 6e 66 69 67 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 72 65 nfig);.}..protected.function.cre
ebc0 61 74 65 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 ateInstallationManager().{.retur
ebe0 6e 20 6e 65 77 20 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 7d n.new.InstallationManager();.}.}
ec00 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
ec20 6f 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 oser\Command;..use.Symfony\Compo
ec40 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
ec60 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
ec80 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 6c 61 \Output\OutputInterface;.....cla
eca0 73 73 20 41 62 6f 75 74 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 43 6f 6d 6d 61 6e 64 0a ss.AboutCommand.extends.Command.
ecc0 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 29 {.protected.function.configure()
ece0 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 3e 73 65 .{.$this.->setName('about').->se
ed00 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 53 68 6f 72 74 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 tDescription('Short.information.
ed20 61 62 6f 75 74 20 43 6f 6d 70 6f 73 65 72 27 29 0a 2d 3e 73 65 74 48 65 6c 70 28 3c 3c 3c 45 4f about.Composer').->setHelp(<<<EO
ed40 54 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 61 62 6f 75 74 3c T.<info>php.composer.phar.about<
ed60 2f 69 6e 66 6f 3e 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 /info>.EOT.).;.}..protected.func
ed80 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
eda0 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).{.$
edc0 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 3c 3c 3c 45 4f 54 0a 3c 69 6e 66 6f 3e 43 6f 6d output->writeln(<<<EOT.<info>Com
ede0 70 6f 73 65 72 20 2d 20 50 61 63 6b 61 67 65 20 4d 61 6e 61 67 65 6d 65 6e 74 20 66 6f 72 20 50 poser.-.Package.Management.for.P
ee00 48 50 3c 2f 69 6e 66 6f 3e 0a 3c 63 6f 6d 6d 65 6e 74 3e 43 6f 6d 70 6f 73 65 72 20 69 73 20 61 HP</info>.<comment>Composer.is.a
ee20 20 64 65 70 65 6e 64 65 6e 63 79 20 6d 61 6e 61 67 65 72 20 74 72 61 63 6b 69 6e 67 20 6c 6f 63 .dependency.manager.tracking.loc
ee40 61 6c 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 6f 66 20 79 6f 75 72 20 70 72 6f 6a 65 63 74 73 al.dependencies.of.your.projects
ee60 20 61 6e 64 20 6c 69 62 72 61 72 69 65 73 2e 0a 53 65 65 20 68 74 74 70 3a 2f 2f 67 65 74 63 6f .and.libraries..See.http://getco
ee80 6d 70 6f 73 65 72 2e 6f 72 67 2f 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e mposer.org/.for.more.information
eea0 2e 3c 2f 63 6f 6d 6d 65 6e 74 3e 0a 45 4f 54 0a 29 3b 0a 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a .</comment>.EOT.);..}.}.<?php...
eec0 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
eee0 61 6e 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 and;..use.Composer\Composer;.use
ef00 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 6f .Composer\DependencyResolver\Poo
ef20 6c 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 l;.use.Composer\DependencyResolv
ef40 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 70 6f 73 65 72 5c 46 er\DefaultPolicy;.use.Composer\F
ef60 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 67 65 5c 43 6f 6d actory;.use.Composer\Package\Com
ef80 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
efa0 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
efc0 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
efe0 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
f000 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
f020 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 5c Argument;.use.Symfony\Component\
f040 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 53 Console\Input\InputOption;.use.S
f060 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\
f080 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 65 OutputInterface;.use.Composer\Re
f0a0 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
f0c0 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 6f 73 mposer\Repository\CompositeRepos
f0e0 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 5c 43 itory;.use.Composer\Repository\C
f100 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 72 5c omposerRepository;.use.Composer\
f120 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 72 79 3b 0a 75 Repository\PlatformRepository;.u
f140 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
f160 79 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 68 6f 77 43 6f 6d 6d 61 yInterface;......class.ShowComma
f180 6e 64 20 65 78 74 65 6e 64 73 20 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 nd.extends.Command.{.protected.$
f1a0 76 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 versionParser;..protected.functi
f1c0 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 65 on.configure().{.$this.->setName
f1e0 28 27 73 68 6f 77 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 20 ('show').->setDescription('Show.
f200 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 70 61 63 6b 61 67 65 73 27 29 0a 2d 3e 73 information.about.packages').->s
f220 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
f240 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::
f260 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 27 29 2c OPTIONAL,.'Package.to.inspect'),
f280 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
f2a0 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 20 putArgument::OPTIONAL,.'Version.
f2c0 6f 72 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 20 74 6f 20 69 6e 73 70 65 63 74 or.version.constraint.to.inspect
f2e0 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 69 6e 73 74 61 6c 6c 65 64 27 2c '),.new.InputOption('installed',
f300 20 27 69 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 .'i',.InputOption::VALUE_NONE,.'
f320 4c 69 73 74 20 69 6e 73 74 61 6c 6c 65 64 20 70 61 63 6b 61 67 65 73 20 6f 6e 6c 79 27 29 2c 0a List.installed.packages.only'),.
f340 6e 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 new.InputOption('platform',.'p',
f360 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 4c 69 73 74 20 .InputOption::VALUE_NONE,.'List.
f380 70 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 platform.packages.only'),.new.In
f3a0 70 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 putOption('available',.'a',.Inpu
f3c0 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 61 76 61 69 6c tOption::VALUE_NONE,.'List.avail
f3e0 61 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 able.packages.only'),.new.InputO
f400 70 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 ption('self',.'s',.InputOption::
f420 56 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 VALUE_NONE,.'Show.the.root.packa
f440 67 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 ge.information'),.new.InputOptio
f460 6e 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 n('name-only',.'N',.InputOption:
f480 3a 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 :VALUE_NONE,.'List.package.names
f4a0 20 6f 6e 6c 79 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 3c 3c 3c 45 4f 54 0a 54 68 65 .only'),.)).->setHelp(<<<EOT.The
f4c0 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.
f4e0 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.
f500 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 45 lists.all.packages.available...E
f520 4f 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 OT.).;.}..protected.function.exe
f540 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
f560 75 74 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 76 65 utInterface.$output).{.$this->ve
f580 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 73 65 72 3b rsionParser.=.new.VersionParser;
f5a0 0a 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 61 74 66 6f 72 6d ....$platformRepo.=.new.Platform
f5c0 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 Repository;..if.($input->getOpti
f5e0 6f 6e 28 27 73 65 6c 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 on('self')).{.$package.=.$this->
f600 67 65 74 43 6f 6d 70 6f 73 65 72 28 66 61 6c 73 65 29 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 getComposer(false)->getPackage()
f620 3b 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 6e 65 77 20 ;.$repos.=.$installedRepo.=.new.
f640 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 29 29 ArrayRepository(array($package))
f660 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 70 ;.}.elseif.($input->getOption('p
f680 6c 61 74 66 6f 72 6d 27 29 29 20 7b 0a 24 72 65 70 6f 73 20 3d 20 24 69 6e 73 74 61 6c 6c 65 64 latform')).{.$repos.=.$installed
f6a0 52 65 70 6f 20 3d 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 3b 0a 7d 20 65 6c 73 65 69 66 20 28 Repo.=.$platformRepo;.}.elseif.(
f6c0 24 69 6e 70 75 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 $input->getOption('installed')).
f6e0 7b 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 74 68 69 {.$repos.=.$installedRepo.=.$thi
f700 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d s->getComposer()->getRepositoryM
f720 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 3b 0a anager()->getLocalRepository();.
f740 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 76 61 }.elseif.($input->getOption('ava
f760 69 6c 61 62 6c 65 27 29 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 20 3d 20 24 70 6c ilable')).{.$installedRepo.=.$pl
f780 61 74 66 6f 72 6d 52 65 70 6f 3b 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 atformRepo;.if.($composer.=.$thi
f7a0 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 66 61 6c 73 65 29 29 20 7b 0a 24 72 65 70 6f 73 20 s->getComposer(false)).{.$repos.
f7c0 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 63 6f 6d 70 6f =.new.CompositeRepository($compo
f7e0 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
f800 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 65 66 61 75 Repositories());.}.else.{.$defau
f820 6c 74 52 65 70 6f 73 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 44 65 66 61 75 6c 74 ltRepos.=.Factory::createDefault
f840 52 65 70 6f 73 69 74 6f 72 69 65 73 28 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 29 3b 0a 24 72 Repositories($this->getIO());.$r
f860 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($
f880 64 65 66 61 75 6c 74 52 65 70 6f 73 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 defaultRepos);.$output->writeln(
f8a0 27 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 'No.composer.json.found.in.the.c
f8c0 75 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 urrent.directory,.showing.availa
f8e0 62 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 ble.packages.from.'...implode(',
f900 20 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 .',.array_keys($defaultRepos)));
f920 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e .}.}.elseif.($composer.=.$this->
f940 67 65 74 43 6f 6d 70 6f 73 65 72 28 66 61 6c 73 65 29 29 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 getComposer(false)).{.$composer.
f960 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 24 6c 6f 63 61 6c 52 65 =.$this->getComposer();.$localRe
f980 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 79 4d 61 6e po.=.$composer->getRepositoryMan
f9a0 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 3b 0a 24 69 ager()->getLocalRepository();.$i
f9c0 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 52 65 70 6f nstalledRepo.=.new.CompositeRepo
f9e0 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 61 74 66 6f sitory(array($localRepo,.$platfo
fa00 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 73 69 74 65 rmRepo));.$repos.=.new.Composite
fa20 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 28 24 69 6e Repository(array_merge(array($in
fa40 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 52 65 70 6f stalledRepo),.$composer->getRepo
fa60 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 72 69 65 73 sitoryManager()->getRepositories
fa80 28 29 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 65 66 61 75 6c 74 52 65 70 6f 73 20 3d 20 46 ()));.}.else.{.$defaultRepos.=.F
faa0 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 44 65 66 61 75 6c 74 52 65 70 6f 73 69 74 6f 72 69 65 actory::createDefaultRepositorie
fac0 73 28 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 s($this->getIO());.$output->writ
fae0 65 6c 6e 28 27 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 eln('No.composer.json.found.in.t
fb00 68 65 20 63 75 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 he.current.directory,.showing.av
fb20 61 69 6c 61 62 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 ailable.packages.from.'...implod
fb40 65 28 27 2c 20 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 e(',.',.array_keys($defaultRepos
fb60 29 29 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 20 3d 20 24 70 6c 61 74 66 6f 72 6d 52 )));.$installedRepo.=.$platformR
fb80 65 70 6f 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 6f 73 epo;.$repos.=.new.CompositeRepos
fba0 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 6c 6c itory(array_merge(array($install
fbc0 65 64 52 65 70 6f 29 2c 20 24 64 65 66 61 75 6c 74 52 65 70 6f 73 29 29 3b 0a 7d 0a 0a 0a 20 69 edRepo),.$defaultRepos));.}....i
fbe0 66 20 28 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 f.($input->getArgument('package'
fc00 29 20 7c 7c 20 21 65 6d 70 74 79 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 76 65 72 73 69 6f ).||.!empty($package)).{.$versio
fc20 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 70 61 63 6b 61 67 65 ns.=.array();.if.(empty($package
fc40 29 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 )).{.list($package,.$versions).=
fc60 20 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 .$this->getPackage($installedRep
fc80 6f 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 o,.$repos,.$input->getArgument('
fca0 70 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 package'),.$input->getArgument('
fcc0 76 65 72 73 69 6f 6e 27 29 29 3b 0a 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 29 20 7b 0a 74 68 version'));..if.(!$package).{.th
fce0 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
fd00 6e 28 27 50 61 63 6b 61 67 65 20 27 2e 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 n('Package.'.$input->getArgument
fd20 28 27 70 61 63 6b 61 67 65 27 29 2e 27 20 6e 6f 74 20 66 6f 75 6e 64 27 29 3b 0a 7d 0a 7d 20 65 ('package').'.not.found');.}.}.e
fd40 6c 73 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 lse.{.$versions.=.array($package
fd60 2d 3e 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 ->getPrettyVersion().=>.$package
fd80 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 72 69 6e 74 ->getVersion());.}..$this->print
fda0 4d 65 74 61 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 63 6b 61 67 65 2c 20 Meta($input,.$output,.$package,.
fdc0 24 76 65 72 73 69 6f 6e 73 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 72 65 70 6f $versions,.$installedRepo,.$repo
fde0 73 29 3b 0a 24 74 68 69 73 2d 3e 70 72 69 6e 74 4c 69 6e 6b 73 28 24 69 6e 70 75 74 2c 20 24 6f s);.$this->printLinks($input,.$o
fe00 75 74 70 75 74 2c 20 24 70 61 63 6b 61 67 65 2c 20 27 72 65 71 75 69 72 65 73 27 29 3b 0a 24 74 utput,.$package,.'requires');.$t
fe20 68 69 73 2d 3e 70 72 69 6e 74 4c 69 6e 6b 73 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c his->printLinks($input,.$output,
fe40 20 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 65 71 75 69 .$package,.'devRequires',.'requi
fe60 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 65 74 53 75 res.(dev)');.if.($package->getSu
fe80 67 67 65 73 74 73 28 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 22 5c 6e ggests()).{.$output->writeln("\n
fea0 3c 69 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 <info>suggests</info>");.foreach
fec0 20 28 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 .($package->getSuggests().as.$su
fee0 67 67 65 73 74 65 64 20 3d 3e 20 24 72 65 61 73 6f 6e 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 ggested.=>.$reason).{.$output->w
ff00 72 69 74 65 6c 6e 28 24 73 75 67 67 65 73 74 65 64 20 2e 20 27 20 3c 63 6f 6d 6d 65 6e 74 3e 27 riteln($suggested...'.<comment>'
ff20 20 2e 20 24 72 65 61 73 6f 6e 20 2e 20 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 29 3b 0a 7d 0a 7d 0a ...$reason...'</comment>');.}.}.
ff40 24 74 68 69 73 2d 3e 70 72 69 6e 74 4c 69 6e 6b 73 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 $this->printLinks($input,.$outpu
ff60 74 2c 20 24 70 61 63 6b 61 67 65 2c 20 27 70 72 6f 76 69 64 65 73 27 29 3b 0a 24 74 68 69 73 2d t,.$package,.'provides');.$this-
ff80 3e 70 72 69 6e 74 4c 69 6e 6b 73 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 >printLinks($input,.$output,.$pa
ffa0 63 6b 61 67 65 2c 20 27 63 6f 6e 66 6c 69 63 74 73 27 29 3b 0a 24 74 68 69 73 2d 3e 70 72 69 6e ckage,.'conflicts');.$this->prin
ffc0 74 4c 69 6e 6b 73 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 63 6b 61 67 65 tLinks($input,.$output,.$package
ffe0 2c 20 27 72 65 70 6c 61 63 65 73 27 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 24 70 61 ,.'replaces');..return;.}....$pa
10000 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 24 72 65 70 6f 73 20 69 6e ckages.=.array();..if.($repos.in
10020 73 74 61 6e 63 65 6f 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 stanceof.CompositeRepository).{.
10040 24 72 65 70 6f 73 20 3d 20 24 72 65 70 6f 73 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 $repos.=.$repos->getRepositories
10060 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 72 65 70 6f 73 29 29 ();.}.elseif.(!is_array($repos))
10080 20 7b 0a 24 72 65 70 6f 73 20 3d 20 61 72 72 61 79 28 24 72 65 70 6f 73 29 3b 0a 7d 0a 0a 66 6f .{.$repos.=.array($repos);.}..fo
100a0 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 69 66 20 28 24 72 reach.($repos.as.$repo).{.if.($r
100c0 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 24 74 79 70 65 20 3d epo.===.$platformRepo).{.$type.=
100e0 20 27 3c 69 6e 66 6f 3e 70 6c 61 74 66 6f 72 6d 3c 2f 69 6e 66 6f 3e 3a 27 3b 0a 7d 20 65 6c 73 .'<info>platform</info>:';.}.els
10100 65 69 66 20 28 0a 24 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 eif.(.$repo.===.$installedRepo.|
10120 7c 20 28 24 69 6e 73 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 |.($installedRepo.instanceof.Com
10140 70 6f 73 69 74 65 52 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 positeRepository.&&.in_array($re
10160 70 6f 2c 20 24 69 6e 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 po,.$installedRepo->getRepositor
10180 69 65 73 28 29 2c 20 74 72 75 65 29 29 0a 29 20 7b 0a 24 74 79 70 65 20 3d 20 27 3c 69 6e 66 6f ies(),.true)).).{.$type.=.'<info
101a0 3e 69 6e 73 74 61 6c 6c 65 64 3c 2f 69 6e 66 6f 3e 3a 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 >installed</info>:';.}.else.{.$t
101c0 79 70 65 20 3d 20 27 3c 63 6f 6d 6d 65 6e 74 3e 61 76 61 69 6c 61 62 6c 65 3c 2f 63 6f 6d 6d 65 ype.=.'<comment>available</comme
101e0 6e 74 3e 3a 27 3b 0a 7d 0a 69 66 20 28 24 72 65 70 6f 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f nt>:';.}.if.($repo.instanceof.Co
10200 6d 70 6f 73 65 72 52 65 70 6f 73 69 74 6f 72 79 20 26 26 20 24 72 65 70 6f 2d 3e 68 61 73 50 72 mposerRepository.&&.$repo->hasPr
10220 6f 76 69 64 65 72 73 28 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 6f 2d 3e 67 65 74 oviders()).{.foreach.($repo->get
10240 50 72 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 24 70 61 63 ProviderNames().as.$name).{.$pac
10260 6b 61 67 65 73 5b 24 74 79 70 65 5d 5b 24 6e 61 6d 65 5d 20 3d 20 24 6e 61 6d 65 3b 0a 7d 0a 7d kages[$type][$name].=.$name;.}.}
10280 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
102a0 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 69 73 73 65 74 28 ges().as.$package).{.if.(!isset(
102c0 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 65 74 4e 61 $packages[$type][$package->getNa
102e0 6d 65 28 29 5d 29 0a 7c 7c 20 21 69 73 5f 6f 62 6a 65 63 74 28 24 70 61 63 6b 61 67 65 73 5b 24 me()]).||.!is_object($packages[$
10300 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 76 type][$package->getName()]).||.v
10320 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 28 24 70 61 63 6b 61 67 65 73 5b 24 74 79 70 65 5d 5b ersion_compare($packages[$type][
10340 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 2d 3e 67 65 74 56 65 72 73 69 6f 6e $package->getName()]->getVersion
10360 28 29 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 20 27 3c 27 29 (),.$package->getVersion(),.'<')
10380 0a 29 20 7b 0a 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 .).{.$packages[$type][$package->
103a0 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 7d 0a 7d 0a 7d 0a 0a getName()].=.$package;.}.}.}.}..
103c0 24 74 72 65 65 20 3d 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 6c 61 74 $tree.=.!$input->getOption('plat
103e0 66 6f 72 6d 27 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 69 6e form').&&.!$input->getOption('in
10400 73 74 61 6c 6c 65 64 27 29 20 26 26 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 stalled').&&.!$input->getOption(
10420 27 61 76 61 69 6c 61 62 6c 65 27 29 3b 0a 24 69 6e 64 65 6e 74 20 3d 20 24 74 72 65 65 20 3f 20 'available');.$indent.=.$tree.?.
10440 27 20 20 27 20 3a 20 27 27 3b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 27 3c 69 6e 66 6f '..'.:.'';.foreach.(array('<info
10460 3e 70 6c 61 74 66 6f 72 6d 3c 2f 69 6e 66 6f 3e 3a 27 20 3d 3e 20 74 72 75 65 2c 20 27 3c 63 6f >platform</info>:'.=>.true,.'<co
10480 6d 6d 65 6e 74 3e 61 76 61 69 6c 61 62 6c 65 3c 2f 63 6f 6d 6d 65 6e 74 3e 3a 27 20 3d 3e 20 66 mment>available</comment>:'.=>.f
104a0 61 6c 73 65 2c 20 27 3c 69 6e 66 6f 3e 69 6e 73 74 61 6c 6c 65 64 3c 2f 69 6e 66 6f 3e 3a 27 20 alse,.'<info>installed</info>:'.
104c0 3d 3e 20 74 72 75 65 29 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 73 68 6f 77 56 65 72 73 69 6f =>.true).as.$type.=>.$showVersio
104e0 6e 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 73 5b 24 74 79 70 65 5d 29 n).{.if.(isset($packages[$type])
10500 29 20 7b 0a 69 66 20 28 24 74 72 65 65 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c ).{.if.($tree).{.$output->writel
10520 6e 28 24 74 79 70 65 29 3b 0a 7d 0a 6b 73 6f 72 74 28 24 70 61 63 6b 61 67 65 73 5b 24 74 79 70 n($type);.}.ksort($packages[$typ
10540 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 65 6e 67 e]);..$nameLength.=.$versionLeng
10560 74 68 20 3d 20 30 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 5b 24 74 79 70 65 th.=.0;.foreach.($packages[$type
10580 5d 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 ].as.$package).{.if.(is_object($
105a0 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 6e 61 6d 65 4c 65 6e 67 74 68 20 3d 20 6d 61 78 28 24 6e package)).{.$nameLength.=.max($n
105c0 61 6d 65 4c 65 6e 67 74 68 2c 20 73 74 72 6c 65 6e 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 ameLength,.strlen($package->getP
105e0 72 65 74 74 79 4e 61 6d 65 28 29 29 29 3b 0a 24 76 65 72 73 69 6f 6e 4c 65 6e 67 74 68 20 3d 20 rettyName()));.$versionLength.=.
10600 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 24 74 68 69 73 max($versionLength,.strlen($this
10620 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 66 6f 72 6d 61 74 56 65 72 73 69 6f 6e 28 24 ->versionParser->formatVersion($
10640 70 61 63 6b 61 67 65 29 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6e 61 6d 65 4c 65 6e 67 74 68 package)));.}.else.{.$nameLength
10660 20 3d 20 6d 61 78 28 24 6e 61 6d 65 4c 65 6e 67 74 68 2c 20 24 70 61 63 6b 61 67 65 29 3b 0a 7d .=.max($nameLength,.$package);.}
10680 0a 7d 0a 6c 69 73 74 28 24 77 69 64 74 68 29 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 70 70 6c .}.list($width).=.$this->getAppl
106a0 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 6e 73 69 6f 6e 73 ication()->getTerminalDimensions
106c0 28 29 3b 0a 69 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 ();.if.(defined('PHP_WINDOWS_VER
106e0 53 49 4f 4e 5f 42 55 49 4c 44 27 29 29 20 7b 0a 24 77 69 64 74 68 2d 2d 3b 0a 7d 0a 0a 24 77 72 SION_BUILD')).{.$width--;.}..$wr
10700 69 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 iteVersion.=.!$input->getOption(
10720 27 6e 61 6d 65 2d 6f 6e 6c 79 27 29 20 26 26 20 24 73 68 6f 77 56 65 72 73 69 6f 6e 20 26 26 20 'name-only').&&.$showVersion.&&.
10740 28 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 68 20 2b 20 ($nameLength.+.$versionLength.+.
10760 33 20 3c 3d 20 24 77 69 64 74 68 29 3b 0a 24 77 72 69 74 65 44 65 73 63 72 69 70 74 69 6f 6e 20 3.<=.$width);.$writeDescription.
10780 3d 20 21 24 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 =.!$input->getOption('name-only'
107a0 29 20 26 26 20 28 24 6e 61 6d 65 4c 65 6e 67 74 68 20 2b 20 28 24 73 68 6f 77 56 65 72 73 69 6f ).&&.($nameLength.+.($showVersio
107c0 6e 20 3f 20 24 76 65 72 73 69 6f 6e 4c 65 6e 67 74 68 20 3a 20 30 29 20 2b 20 32 34 20 3c 3d 20 n.?.$versionLength.:.0).+.24.<=.
107e0 24 77 69 64 74 68 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 5b 24 74 79 70 $width);.foreach.($packages[$typ
10800 65 5d 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 e].as.$package).{.if.(is_object(
10820 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 69 6e 64 $package)).{.$output->write($ind
10840 65 6e 74 20 2e 20 73 74 72 5f 70 61 64 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 ent...str_pad($package->getPrett
10860 79 4e 61 6d 65 28 29 2c 20 24 6e 61 6d 65 4c 65 6e 67 74 68 2c 20 27 20 27 29 2c 20 66 61 6c 73 yName(),.$nameLength,.'.'),.fals
10880 65 29 3b 0a 0a 69 66 20 28 24 77 72 69 74 65 56 65 72 73 69 6f 6e 29 20 7b 0a 24 6f 75 74 70 75 e);..if.($writeVersion).{.$outpu
108a0 74 2d 3e 77 72 69 74 65 28 27 20 27 20 2e 20 73 74 72 5f 70 61 64 28 24 74 68 69 73 2d 3e 76 65 t->write('.'...str_pad($this->ve
108c0 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 66 6f 72 6d 61 74 56 65 72 73 69 6f 6e 28 24 70 61 63 6b rsionParser->formatVersion($pack
108e0 61 67 65 29 2c 20 24 76 65 72 73 69 6f 6e 4c 65 6e 67 74 68 2c 20 27 20 27 29 2c 20 66 61 6c 73 age),.$versionLength,.'.'),.fals
10900 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 77 72 69 74 65 44 65 73 63 72 69 70 74 69 6f 6e 29 20 7b 0a e);.}..if.($writeDescription).{.
10920 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 73 74 72 74 6f 6b 28 24 70 61 63 6b 61 67 65 2d 3e $description.=.strtok($package->
10940 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 2c 20 22 5c 72 5c 6e 22 29 3b 0a 24 72 65 6d 61 getDescription(),."\r\n");.$rema
10960 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 68 20 2d 20 24 ining.=.$width.-.$nameLength.-.$
10980 76 65 72 73 69 6f 6e 4c 65 6e 67 74 68 20 2d 20 34 3b 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 64 versionLength.-.4;.if.(strlen($d
109a0 65 73 63 72 69 70 74 69 6f 6e 29 20 3e 20 24 72 65 6d 61 69 6e 69 6e 67 29 20 7b 0a 24 64 65 73 escription).>.$remaining).{.$des
109c0 63 72 69 70 74 69 6f 6e 20 3d 20 73 75 62 73 74 72 28 24 64 65 73 63 72 69 70 74 69 6f 6e 2c 20 cription.=.substr($description,.
109e0 30 2c 20 24 72 65 6d 61 69 6e 69 6e 67 20 2d 20 33 29 20 2e 20 27 2e 2e 2e 27 3b 0a 7d 0a 24 6f 0,.$remaining.-.3)...'...';.}.$o
10a00 75 74 70 75 74 2d 3e 77 72 69 74 65 28 27 20 27 20 2e 20 24 64 65 73 63 72 69 70 74 69 6f 6e 29 utput->write('.'...$description)
10a20 3b 0a 7d 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 69 6e 64 ;.}.}.else.{.$output->write($ind
10a40 65 6e 74 20 2e 20 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 ent...$package);.}.$output->writ
10a60 65 6c 6e 28 27 27 29 3b 0a 7d 0a 69 66 20 28 24 74 72 65 65 29 20 7b 0a 24 6f 75 74 70 75 74 2d eln('');.}.if.($tree).{.$output-
10a80 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a >writeln('');.}.}.}.}...........
10aa0 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 65 28 52 .protected.function.getPackage(R
10ac0 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 65 64 52 65 70 epositoryInterface.$installedRep
10ae0 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 6f 73 2c 20 24 o,.RepositoryInterface.$repos,.$
10b00 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 61 6d 65 20 3d name,.$version.=.null).{.$name.=
10b20 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 61 69 6e 74 20 .strtolower($name);.$constraint.
10b40 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 24 76 65 72 73 69 6f 6e 29 20 7b 0a 24 63 6f 6e 73 74 72 61 =.null;.if.($version).{.$constra
10b60 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 70 61 72 73 int.=.$this->versionParser->pars
10b80 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 76 65 72 73 69 6f 6e 29 3b 0a 7d 0a 0a 24 70 6f 6c 69 eConstraints($version);.}..$poli
10ba0 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.
10bc0 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
10be0 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
10c00 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();.$
10c20 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
10c40 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
10c60 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).{...
10c80 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
10ca0 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
10cc0 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
10ce0 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
10d00 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.=.
10d20 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-
10d40 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-
10d60 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].
10d80 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.(!$
10da0 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
10dc0 72 65 66 65 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 65 refered.=.$policy->selectPrefere
10de0 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 63 68 dPackages($pool,.array(),.$match
10e00 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 2d 3e es)).{.$matchedPackage.=.$pool->
10e20 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 70 72 65 66 65 72 65 64 5b 30 5d 29 3b 0a literalToPackage($prefered[0]);.
10e40 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 67 65 2c }..return.array($matchedPackage,
10e60 20 24 76 65 72 73 69 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 .$versions);.}.....protected.fun
10e80 63 74 69 6f 6e 20 70 72 69 6e 74 4d 65 74 61 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 ction.printMeta(InputInterface.$
10ea0 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 2c 20 input,.OutputInterface.$output,.
10ec0 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 61 63 6b 61 67 CompletePackageInterface.$packag
10ee0 65 2c 20 61 72 72 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 e,.array.$versions,.RepositoryIn
10f00 74 65 72 66 61 63 65 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 52 65 70 6f 73 69 74 6f terface.$installedRepo,.Reposito
10f20 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 73 29 0a 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 ryInterface.$repos).{.$output->w
10f40 72 69 74 65 6c 6e 28 27 3c 69 6e 66 6f 3e 6e 61 6d 65 3c 2f 69 6e 66 6f 3e 20 20 20 20 20 3a 20 riteln('<info>name</info>.....:.
10f60 27 20 2e 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 29 3b 0a '...$package->getPrettyName());.
10f80 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 69 6e 66 6f 3e 64 65 73 63 72 69 70 2e $output->writeln('<info>descrip.
10fa0 3c 2f 69 6e 66 6f 3e 20 3a 20 27 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 73 63 72 </info>.:.'...$package->getDescr
10fc0 69 70 74 69 6f 6e 28 29 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 69 6e iption());.$output->writeln('<in
10fe0 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 6a 6f 69 6e 28 27 2c fo>keywords</info>.:.'...join(',
11000 20 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4b 65 79 77 6f 72 64 73 28 29 20 3f 3a 20 61 .',.$package->getKeywords().?:.a
11020 72 72 61 79 28 29 29 29 3b 0a 24 74 68 69 73 2d 3e 70 72 69 6e 74 56 65 72 73 69 6f 6e 73 28 24 rray()));.$this->printVersions($
11040 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 63 6b 61 67 65 2c 20 24 76 65 72 73 69 input,.$output,.$package,.$versi
11060 6f 6e 73 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 24 6f ons,.$installedRepo,.$repos);.$o
11080 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 69 6e 66 6f 3e 74 79 70 65 3c 2f 69 6e 66 6f utput->writeln('<info>type</info
110a0 3e 20 20 20 20 20 3a 20 27 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 28 29 29 >.....:.'...$package->getType())
110c0 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 69 6e 66 6f 3e 6c 69 63 65 6e 73 ;.$output->writeln('<info>licens
110e0 65 3c 2f 69 6e 66 6f 3e 20 20 3a 20 27 20 2e 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 70 e</info>..:.'...implode(',.',.$p
11100 61 63 6b 61 67 65 2d 3e 67 65 74 4c 69 63 65 6e 73 65 28 29 29 29 3b 0a 24 6f 75 74 70 75 74 2d ackage->getLicense()));.$output-
11120 3e 77 72 69 74 65 6c 6e 28 27 3c 69 6e 66 6f 3e 73 6f 75 72 63 65 3c 2f 69 6e 66 6f 3e 20 20 20 >writeln('<info>source</info>...
11140 3a 20 27 20 2e 20 73 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 :.'...sprintf('[%s].<comment>%s<
11160 2f 63 6f 6d 6d 65 6e 74 3e 20 25 73 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 /comment>.%s',.$package->getSour
11180 63 65 54 79 70 65 28 29 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 6c ceType(),.$package->getSourceUrl
111a0 28 29 2c 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 (),.$package->getSourceReference
111c0 28 29 29 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 69 6e 66 6f 3e 64 69 ()));.$output->writeln('<info>di
111e0 73 74 3c 2f 69 6e 66 6f 3e 20 20 20 20 20 3a 20 27 20 2e 20 73 70 72 69 6e 74 66 28 27 5b 25 73 st</info>.....:.'...sprintf('[%s
11200 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 24 70 61 ].<comment>%s</comment>.%s',.$pa
11220 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 54 79 70 65 28 29 2c 20 24 70 61 63 6b 61 67 65 2d 3e ckage->getDistType(),.$package->
11240 67 65 74 44 69 73 74 55 72 6c 28 29 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 getDistUrl(),.$package->getDistR
11260 65 66 65 72 65 6e 63 65 28 29 29 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 eference()));.$output->writeln('
11280 3c 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 <info>names</info>....:.'...impl
112a0 6f 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 ode(',.',.$package->getNames()))
112c0 3b 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 75 70 70 6f 72 74 28 29 29 20 7b ;..if.($package->getSupport()).{
112e0 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 22 5c 6e 3c 69 6e 66 6f 3e 73 75 70 70 6f .$output->writeln("\n<info>suppo
11300 72 74 3c 2f 69 6e 66 6f 3e 22 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e rt</info>");.foreach.($package->
11320 67 65 74 53 75 70 70 6f 72 74 28 29 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 76 61 6c 75 65 29 getSupport().as.$type.=>.$value)
11340 20 7b 0a 24 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 27 20 .{.$output->writeln('<comment>'.
11360 2e 20 24 74 79 70 65 20 2e 20 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 3a 20 27 2e 24 76 61 6c 75 65 ..$type...'</comment>.:.'.$value
11380 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 75 74 6f 6c 6f 61 );.}.}..if.($package->getAutoloa
113a0 64 28 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 22 5c 6e 3c 69 6e 66 6f d()).{.$output->writeln("\n<info
113c0 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 28 24 70 61 >autoload</info>");.foreach.($pa
113e0 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 65 20 3d 3e ckage->getAutoload().as.$type.=>
11400 20 24 61 75 74 6f 6c 6f 61 64 73 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 .$autoloads).{.$output->writeln(
11420 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 6e 74 '<comment>'...$type...'</comment
11440 3e 27 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 >');..if.($type.===.'psr-0').{.f
11460 6f 72 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 oreach.($autoloads.as.$name.=>.$
11480 70 61 74 68 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 28 24 6e 61 6d 65 20 path).{.$output->writeln(($name.
114a0 3f 3a 20 27 2a 27 29 20 2e 20 27 20 3d 3e 20 27 20 2e 20 28 24 70 61 74 68 20 3f 3a 20 27 2e 27 ?:.'*')...'.=>.'...($path.?:.'.'
114c0 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 63 6c 61 73 73 ));.}.}.elseif.($type.===.'class
114e0 6d 61 70 27 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 69 6d 70 6c 6f 64 65 map').{.$output->writeln(implode
11500 28 27 2c 20 27 2c 20 24 61 75 74 6f 6c 6f 61 64 73 29 29 3b 0a 7d 0a 7d 0a 69 66 20 28 24 70 61 (',.',.$autoloads));.}.}.if.($pa
11520 63 6b 61 67 65 2d 3e 67 65 74 49 6e 63 6c 75 64 65 50 61 74 68 73 28 29 29 20 7b 0a 24 6f 75 74 ckage->getIncludePaths()).{.$out
11540 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 63 6f 6d 6d 65 6e 74 3e 69 6e 63 6c 75 64 65 2d 70 put->writeln('<comment>include-p
11560 61 74 68 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c ath</comment>');.$output->writel
11580 6e 28 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 49 6e 63 n(implode(',.',.$package->getInc
115a0 6c 75 64 65 50 61 74 68 73 28 29 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 ludePaths()));.}.}.}.....protect
115c0 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 49 6e 70 75 74 49 ed.function.printVersions(InputI
115e0 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 65 nterface.$input,.OutputInterface
11600 20 24 6f 75 74 70 75 74 2c 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 .$output,.CompletePackageInterfa
11620 63 65 20 24 70 61 63 6b 61 67 65 2c 20 61 72 72 61 79 20 24 76 65 72 73 69 6f 6e 73 2c 20 52 65 ce.$package,.array.$versions,.Re
11640 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 65 64 52 65 70 6f positoryInterface.$installedRepo
11660 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 6f 73 29 0a 7b 0a ,.RepositoryInterface.$repos).{.
11680 75 61 73 6f 72 74 28 24 76 65 72 73 69 6f 6e 73 2c 20 27 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 uasort($versions,.'version_compa
116a0 72 65 27 29 3b 0a 24 76 65 72 73 69 6f 6e 73 20 3d 20 61 72 72 61 79 5f 6b 65 79 73 28 61 72 72 re');.$versions.=.array_keys(arr
116c0 61 79 5f 72 65 76 65 72 73 65 28 24 76 65 72 73 69 6f 6e 73 29 29 3b 0a 0a 0a 20 69 66 20 28 24 ay_reverse($versions));....if.($
116e0 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 28 24 70 61 63 6b 61 installedRepo->hasPackage($packa
11700 67 65 29 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 64 56 65 72 73 69 6f 6e 20 3d 20 24 70 61 63 6b ge)).{.$installedVersion.=.$pack
11720 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 24 6b 65 79 20 3d 20 age->getPrettyVersion();.$key.=.
11740 61 72 72 61 79 5f 73 65 61 72 63 68 28 24 69 6e 73 74 61 6c 6c 65 64 56 65 72 73 69 6f 6e 2c 20 array_search($installedVersion,.
11760 24 76 65 72 73 69 6f 6e 73 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 6b 65 79 29 20 $versions);.if.(false.!==.$key).
11780 7b 0a 24 76 65 72 73 69 6f 6e 73 5b 24 6b 65 79 5d 20 3d 20 27 3c 69 6e 66 6f 3e 2a 20 27 20 2e {.$versions[$key].=.'<info>*.'..
117a0 20 24 69 6e 73 74 61 6c 6c 65 64 56 65 72 73 69 6f 6e 20 2e 20 27 3c 2f 69 6e 66 6f 3e 27 3b 0a .$installedVersion...'</info>';.
117c0 7d 0a 7d 0a 0a 24 76 65 72 73 69 6f 6e 73 20 3d 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 }.}..$versions.=.implode(',.',.$
117e0 76 65 72 73 69 6f 6e 73 29 3b 0a 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 69 versions);..$output->writeln('<i
11800 6e 66 6f 3e 76 65 72 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 nfo>versions</info>.:.'...$versi
11820 6f 6e 73 29 3b 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 ons);.}...........protected.func
11840 74 69 6f 6e 20 70 72 69 6e 74 4c 69 6e 6b 73 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 tion.printLinks(InputInterface.$
11860 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 2c 20 input,.OutputInterface.$output,.
11880 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 61 63 6b 61 67 CompletePackageInterface.$packag
118a0 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 6c 6c 29 0a 7b 0a 24 e,.$linkType,.$title.=.null).{.$
118c0 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 70 65 3b 0a 69 66 20 title.=.$title.?:.$linkType;.if.
118e0 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 63 66 69 72 ($links.=.$package->{'get'.ucfir
11900 73 74 28 24 6c 69 6e 6b 54 79 70 65 29 7d 28 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 st($linkType)}()).{.$output->wri
11920 74 65 6c 6e 28 22 5c 6e 3c 69 6e 66 6f 3e 22 20 2e 20 24 74 69 74 6c 65 20 2e 20 22 3c 2f 69 6e teln("\n<info>"...$title..."</in
11940 66 6f 3e 22 29 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 fo>");..foreach.($links.as.$link
11960 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 ).{.$output->writeln($link->getT
11980 61 72 67 65 74 28 29 20 2e 20 27 20 3c 63 6f 6d 6d 65 6e 74 3e 27 20 2e 20 24 6c 69 6e 6b 2d 3e arget()...'.<comment>'...$link->
119a0 67 65 74 50 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 20 2e 20 27 3c 2f 63 6f 6d 6d 65 getPrettyConstraint()...'</comme
119c0 6e 74 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 0a 0a nt>');.}.}.}.}.<?php............
119e0 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 65 namespace.Composer\Command;..use
11a00 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 53 79 6d 66 6f 6e 79 .Composer\Installer;.use.Symfony
11a20 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
11a40 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
11a60 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 53 79 onsole\Input\InputOption;.use.Sy
11a80 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
11aa0 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 65 putArgument;.use.Symfony\Compone
11ac0 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 61 63 nt\Console\Output\OutputInterfac
11ae0 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 70 64 61 74 65 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e e;.....class.UpdateCommand.exten
11b00 64 73 20 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 ds.Command.{.protected.function.
11b20 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 27 75 configure().{.$this.->setName('u
11b40 70 64 61 74 65 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 55 70 64 61 74 65 pdate').->setDescription('Update
11b60 73 20 79 6f 75 72 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 74 6f 20 74 68 65 20 6c 61 74 65 73 s.your.dependencies.to.the.lates
11b80 74 20 76 65 72 73 69 6f 6e 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 63 6f 6d 70 6f 73 65 72 2e t.version.according.to.composer.
11ba0 6a 73 6f 6e 2c 20 61 6e 64 20 75 70 64 61 74 65 73 20 74 68 65 20 63 6f 6d 70 6f 73 65 72 2e 6c json,.and.updates.the.composer.l
11bc0 6f 63 6b 20 66 69 6c 65 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 ock.file.').->setDefinition(arra
11be0 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',
11c00 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
11c20 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 65 73 20 74 68 Argument::OPTIONAL,.'Packages.th
11c40 61 74 20 73 68 6f 75 6c 64 20 62 65 20 75 70 64 61 74 65 64 2c 20 69 66 20 6e 6f 74 20 70 72 6f at.should.be.updated,.if.not.pro
11c60 76 69 64 65 64 20 61 6c 6c 20 70 61 63 6b 61 67 65 73 20 61 72 65 2e 27 29 2c 0a 6e 65 77 20 49 vided.all.packages.are.'),.new.I
11c80 6e 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 nputOption('prefer-source',.null
11ca0 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 46 6f 72 63 ,.InputOption::VALUE_NONE,.'Forc
11cc0 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 65 20 73 6f 75 es.installation.from.package.sou
11ce0 72 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 rces.when.possible,.including.VC
11d00 53 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 S.information.'),.new.InputOptio
11d20 6e 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 n('prefer-dist',.null,.InputOpti
11d40 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 61 on::VALUE_NONE,.'Forces.installa
11d60 74 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 tion.from.package.dist.even.for.
11d80 64 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 dev.versions.'),.new.InputOption
11da0 28 27 64 72 79 2d 72 75 6e 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 ('dry-run',.null,.InputOption::V
11dc0 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4f 75 74 70 75 74 73 20 74 68 65 20 6f 70 65 72 61 74 69 6f ALUE_NONE,.'Outputs.the.operatio
11de0 6e 73 20 62 75 74 20 77 69 6c 6c 20 6e 6f 74 20 65 78 65 63 75 74 65 20 61 6e 79 74 68 69 6e 67 ns.but.will.not.execute.anything
11e00 20 28 69 6d 70 6c 69 63 69 74 6c 79 20 65 6e 61 62 6c 65 73 20 2d 2d 76 65 72 62 6f 73 65 29 2e .(implicitly.enables.--verbose).
11e20 27 29 2c 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 '),.new.InputOption('dev',.null,
11e40 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 45 6e 61 62 6c .InputOption::VALUE_NONE,.'Enabl
11e60 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 76 20 70 es.installation.of.require-dev.p
11e80 61 63 6b 61 67 65 73 20 28 65 6e 61 62 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 2c 20 6f 6e 6c ackages.(enabled.by.default,.onl
11ea0 79 20 70 72 65 73 65 6e 74 20 66 6f 72 20 42 43 29 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f y.present.for.BC).'),.new.InputO
11ec0 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 75 74 4f 70 74 69 6f ption('no-dev',.null,.InputOptio
11ee0 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 69 6e 73 74 61 6c 6c n::VALUE_NONE,.'Disables.install
11f00 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 2e 27 29 ation.of.require-dev.packages.')
11f20 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6c 6f 63 6b 27 2c 20 6e 75 6c 6c 2c 20 ,.new.InputOption('lock',.null,.
11f40 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 6c 79 20 75 InputOption::VALUE_NONE,.'Only.u
11f60 70 64 61 74 65 73 20 74 68 65 20 6c 6f 63 6b 20 66 69 6c 65 20 68 61 73 68 20 74 6f 20 73 75 70 pdates.the.lock.file.hash.to.sup
11f80 70 72 65 73 73 20 77 61 72 6e 69 6e 67 20 61 62 6f 75 74 20 74 68 65 20 6c 6f 63 6b 20 66 69 6c press.warning.about.the.lock.fil
11fa0 65 20 62 65 69 6e 67 20 6f 75 74 20 6f 66 20 64 61 74 65 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 e.being.out.of.date.'),.new.Inpu
11fc0 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 20 tOption('no-custom-installers',.
11fe0 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,.'
12000 44 69 73 61 62 6c 65 73 20 61 6c 6c 20 63 75 73 74 6f 6d 20 69 6e 73 74 61 6c 6c 65 72 73 2e 27 Disables.all.custom.installers.'
12020 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 70 74 73 27 2c ),.new.InputOption('no-scripts',
12040 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,.
12060 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 20 73 63 72 69 'Skips.the.execution.of.all.scri
12080 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 6e 20 66 69 6c pts.defined.in.composer.json.fil
120a0 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 72 65 e.'),.new.InputOption('no-progre
120c0 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 4f ss',.null,.InputOption::VALUE_NO
120e0 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 67 NE,.'Do.not.output.download.prog
12100 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 76 65 72 62 6f 73 ress.'),.new.InputOption('verbos
12120 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 6f 6e 3a 3a 56 41 4c e',.'v|vv|vvv',.InputOption::VAL
12140 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 69 6c 73 20 69 6e 63 UE_NONE,.'Shows.more.details.inc
12160 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 20 69 6e 20 77 68 65 luding.new.commits.pulled.in.whe
12180 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 65 77 20 49 6e 70 75 n.updating.packages.'),.new.Inpu
121a0 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 2c 20 27 tOption('optimize-autoloader',.'
121c0 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 4f 70 o',.InputOption::VALUE_NONE,.'Op
121e0 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 6c 6f 61 timize.autoloader.during.autoloa
12200 64 65 72 20 64 75 6d 70 27 29 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 3c 3c 3c 45 4f 54 0a 54 der.dump').)).->setHelp(<<<EOT.T
12220 68 65 20 3c 69 6e 66 6f 3e 75 70 64 61 74 65 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 72 he.<info>update</info>.command.r
12240 65 61 64 73 20 74 68 65 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 20 66 72 6f 6d eads.the.composer.json.file.from
12260 20 74 68 65 0a 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 2c 20 70 72 6f 63 65 73 73 65 .the.current.directory,.processe
12280 73 20 69 74 2c 20 61 6e 64 20 75 70 64 61 74 65 73 2c 20 72 65 6d 6f 76 65 73 20 6f 72 20 69 6e s.it,.and.updates,.removes.or.in
122a0 73 74 61 6c 6c 73 20 61 6c 6c 20 74 68 65 0a 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 0a 0a 3c 69 stalls.all.the.dependencies...<i
122c0 6e 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 3c 2f 69 6e nfo>php.composer.phar.update</in
122e0 66 6f 3e 0a 0a 54 6f 20 6c 69 6d 69 74 20 74 68 65 20 75 70 64 61 74 65 20 6f 70 65 72 61 74 69 fo>..To.limit.the.update.operati
12300 6f 6e 20 74 6f 20 61 20 66 65 77 20 70 61 63 6b 61 67 65 73 2c 20 79 6f 75 20 63 61 6e 20 6c 69 on.to.a.few.packages,.you.can.li
12320 73 74 20 74 68 65 20 70 61 63 6b 61 67 65 28 73 29 0a 79 6f 75 20 77 61 6e 74 20 74 6f 20 75 70 st.the.package(s).you.want.to.up
12340 64 61 74 65 20 61 73 20 73 75 63 68 3a 0a 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 date.as.such:..<info>php.compose
12360 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 61 67 65 31 20 66 6f r.phar.update.vendor/package1.fo
12380 6f 2f 6d 79 70 61 63 6b 61 67 65 20 5b 2e 2e 2e 5d 3c 2f 69 6e 66 6f 3e 0a 45 4f 54 0a 29 0a 3b o/mypackage.[...]</info>.EOT.).;
123a0 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
123c0 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
123e0 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 68 rface.$output).{.$composer.=.$th
12400 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 is->getComposer();.$composer->ge
12420 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 6f tDownloadManager()->setOutputPro
12440 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 6f gress(!$input->getOption('no-pro
12460 67 72 65 73 73 27 29 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 gress'));.$io.=.$this->getIO();.
12480 24 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 $install.=.Installer::create($io
124a0 2c 20 24 63 6f 6d 70 6f 73 65 72 29 3b 0a 0a 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 66 ,.$composer);..$preferSource.=.f
124c0 61 6c 73 65 3b 0a 24 70 72 65 66 65 72 44 69 73 74 20 3d 20 66 61 6c 73 65 3b 0a 73 77 69 74 63 alse;.$preferDist.=.false;.switc
124e0 68 20 28 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 h.($composer->getConfig()->get('
12500 70 72 65 66 65 72 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 preferred-install')).{.case.'sou
12520 72 63 65 27 3a 0a 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 rce':.$preferSource.=.true;.brea
12540 6b 3b 0a 63 61 73 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 k;.case.'dist':.$preferDist.=.tr
12560 75 65 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 ue;.break;.case.'auto':.default:
12580 0a 0a 20 62 72 65 61 6b 3b 0a 7d 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f ...break;.}.if.($input->getOptio
125a0 6e 28 27 70 72 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 n('prefer-source').||.$input->ge
125c0 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 64 69 73 74 27 29 29 20 7b 0a 24 70 72 65 66 65 tOption('prefer-dist')).{.$prefe
125e0 72 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 rSource.=.$input->getOption('pre
12600 66 65 72 2d 73 6f 75 72 63 65 27 29 3b 0a 24 70 72 65 66 65 72 44 69 73 74 20 3d 20 24 69 6e 70 fer-source');.$preferDist.=.$inp
12620 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 0a 7d 0a ut->getOption('prefer-dist');.}.
12640 0a 24 69 6e 73 74 61 6c 6c 0a 2d 3e 73 65 74 44 72 79 52 75 6e 28 24 69 6e 70 75 74 2d 3e 67 65 .$install.->setDryRun($input->ge
12660 74 4f 70 74 69 6f 6e 28 27 64 72 79 2d 72 75 6e 27 29 29 0a 2d 3e 73 65 74 56 65 72 62 6f 73 65 tOption('dry-run')).->setVerbose
12680 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 29 0a 2d ($input->getOption('verbose')).-
126a0 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 29 0a >setPreferSource($preferSource).
126c0 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 3e 73 ->setPreferDist($preferDist).->s
126e0 65 74 44 65 76 4d 6f 64 65 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f etDevMode(!$input->getOption('no
12700 2d 64 65 76 27 29 29 0a 2d 3e 73 65 74 52 75 6e 53 63 72 69 70 74 73 28 21 24 69 6e 70 75 74 2d -dev')).->setRunScripts(!$input-
12720 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 70 74 73 27 29 29 0a 2d 3e 73 65 74 4f >getOption('no-scripts')).->setO
12740 70 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 65 72 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 ptimizeAutoloader($input->getOpt
12760 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 29 29 0a 2d 3e 73 65 ion('optimize-autoloader')).->se
12780 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 68 69 74 65 6c 69 tUpdate(true).->setUpdateWhiteli
127a0 73 74 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6c 6f 63 6b 27 29 20 3f 20 61 st($input->getOption('lock').?.a
127c0 72 72 61 79 28 27 6c 6f 63 6b 27 29 20 3a 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 rray('lock').:.$input->getArgume
127e0 6e 74 28 27 70 61 63 6b 61 67 65 73 27 29 29 0a 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 nt('packages')).;..if.($input->g
12800 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 27 29 etOption('no-custom-installers')
12820 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 2d 3e 64 69 73 61 62 6c 65 43 75 73 74 6f 6d 49 6e 73 74 61 ).{.$install->disableCustomInsta
12840 6c 6c 65 72 73 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 69 6e 73 74 61 6c 6c 2d 3e 72 75 6e llers();.}..return.$install->run
12860 28 29 20 3f 20 30 20 3a 20 31 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ().?.0.:.1;.}.}.<?php...........
12880 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
128a0 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
128c0 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
128e0 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
12900 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
12920 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
12940 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 75 y\Component\Console\Output\Outpu
12960 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 43 6f 6e 66 69 67 3b tInterface;.use.Composer\Config;
12980 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 69 67 53 .use.Composer\Config\JsonConfigS
129a0 6f 75 72 63 65 3b 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 ource;.use.Composer\Factory;.use
129c0 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 0a 0a 0a 0a 0a 63 6c .Composer\Json\JsonFile;......cl
129e0 61 73 73 20 43 6f 6e 66 69 67 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 43 6f 6d 6d 61 6e ass.ConfigCommand.extends.Comman
12a00 64 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 70 72 d.{....protected.$config;.....pr
12a20 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 69 67 46 69 6c 65 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 otected.$configFile;.....protect
12a40 65 64 20 24 63 6f 6e 66 69 67 53 6f 75 72 63 65 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 ed.$configSource;.....protected.
12a60 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 3e 73 function.configure().{.$this.->s
12a80 65 74 4e 61 6d 65 28 27 63 6f 6e 66 69 67 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f etName('config').->setDescriptio
12aa0 6e 28 27 53 65 74 20 63 6f 6e 66 69 67 20 6f 70 74 69 6f 6e 73 27 29 0a 2d 3e 73 65 74 44 65 66 n('Set.config.options').->setDef
12ac0 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 6e 28 27 inition(array(.new.InputOption('
12ae0 67 6c 6f 62 61 6c 27 2c 20 27 67 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 global',.'g',.InputOption::VALUE
12b00 5f 4e 4f 4e 45 2c 20 27 41 70 70 6c 79 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 74 68 65 20 67 6c 6f _NONE,.'Apply.command.to.the.glo
12b20 62 61 6c 20 63 6f 6e 66 69 67 20 66 69 6c 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 bal.config.file'),.new.InputOpti
12b40 6f 6e 28 27 65 64 69 74 6f 72 27 2c 20 27 65 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 on('editor',.'e',.InputOption::V
12b60 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4f 70 65 6e 20 65 64 69 74 6f 72 27 29 2c 0a 6e 65 77 20 49 ALUE_NONE,.'Open.editor'),.new.I
12b80 6e 70 75 74 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 nputOption('unset',.null,.InputO
12ba0 70 74 69 6f 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 ption::VALUE_NONE,.'Unset.the.gi
12bc0 76 65 6e 20 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 ven.setting-key'),.new.InputOpti
12be0 6f 6e 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 on('list',.'l',.InputOption::VAL
12c00 55 45 5f 4e 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 UE_NONE,.'List.configuration.set
12c20 74 69 6e 67 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 tings'),.new.InputOption('file',
12c40 20 27 66 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 .'f',.InputOption::VALUE_REQUIRE
12c60 44 2c 20 27 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 D,.'If.you.want.to.choose.a.diff
12c80 65 72 65 6e 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 erent.composer.json.or.config.js
12ca0 6f 6e 27 2c 20 27 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 on',.'composer.json'),.new.Input
12cc0 41 72 67 75 6d 65 6e 74 28 27 73 65 74 74 69 6e 67 2d 6b 65 79 27 2c 20 6e 75 6c 6c 2c 20 27 53 Argument('setting-key',.null,.'S
12ce0 65 74 74 69 6e 67 20 6b 65 79 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 etting.key'),.new.InputArgument(
12d00 27 73 65 74 74 69 6e 67 2d 76 61 6c 75 65 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 'setting-value',.InputArgument::
12d20 49 53 5f 41 52 52 41 59 2c 20 27 53 65 74 74 69 6e 67 20 76 61 6c 75 65 27 29 2c 0a 29 29 0a 2d IS_ARRAY,.'Setting.value'),.)).-
12d40 3e 73 65 74 48 65 6c 70 28 3c 3c 3c 45 4f 54 0a 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 61 6c 6c >setHelp(<<<EOT.This.command.all
12d60 6f 77 73 20 79 6f 75 20 74 6f 20 65 64 69 74 20 73 6f 6d 65 20 62 61 73 69 63 20 63 6f 6d 70 6f ows.you.to.edit.some.basic.compo
12d80 73 65 72 20 73 65 74 74 69 6e 67 73 20 69 6e 20 65 69 74 68 65 72 20 74 68 65 0a 6c 6f 63 61 6c ser.settings.in.either.the.local
12da0 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 67 6c 6f 62 61 .composer.json.file.or.the.globa
12dc0 6c 20 63 6f 6e 66 69 67 2e 6a 73 6f 6e 20 66 69 6c 65 2e 0a 0a 54 6f 20 65 64 69 74 20 74 68 65 l.config.json.file...To.edit.the
12de0 20 67 6c 6f 62 61 6c 20 63 6f 6e 66 69 67 2e 6a 73 6f 6e 20 66 69 6c 65 3a 0a 0a 20 20 20 20 3c .global.config.json.file:......<
12e00 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 2d 2d 67 6c comment>%command.full_name%.--gl
12e20 6f 62 61 6c 3c 2f 63 6f 6d 6d 65 6e 74 3e 0a 0a 54 6f 20 61 64 64 20 61 20 72 65 70 6f 73 69 74 obal</comment>..To.add.a.reposit
12e40 6f 72 79 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 75 6c 6c ory:......<comment>%command.full
12e60 5f 6e 61 6d 65 25 20 72 65 70 6f 73 69 74 6f 72 69 65 73 2e 66 6f 6f 20 76 63 73 20 68 74 74 70 _name%.repositories.foo.vcs.http
12e80 3a 2f 2f 62 61 72 2e 63 6f 6d 3c 2f 63 6f 6d 6d 65 6e 74 3e 0a 0a 59 6f 75 20 63 61 6e 20 61 64 ://bar.com</comment>..You.can.ad
12ea0 64 20 61 20 72 65 70 6f 73 69 74 6f 72 79 20 74 6f 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 6f 6e d.a.repository.to.the.global.con
12ec0 66 69 67 2e 6a 73 6f 6e 20 66 69 6c 65 20 62 79 20 70 61 73 73 69 6e 67 20 69 6e 20 74 68 65 0a fig.json.file.by.passing.in.the.
12ee0 3c 69 6e 66 6f 3e 2d 2d 67 6c 6f 62 61 6c 3c 2f 69 6e 66 6f 3e 20 6f 70 74 69 6f 6e 2e 0a 0a 54 <info>--global</info>.option...T
12f00 6f 20 65 64 69 74 20 74 68 65 20 66 69 6c 65 20 69 6e 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 65 o.edit.the.file.in.an.external.e
12f20 64 69 74 6f 72 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 75 ditor:......<comment>%command.fu
12f40 6c 6c 5f 6e 61 6d 65 25 20 2d 2d 65 64 69 74 6f 72 3c 2f 63 6f 6d 6d 65 6e 74 3e 0a 0a 54 6f 20 ll_name%.--editor</comment>..To.
12f60 63 68 6f 6f 73 65 20 79 6f 75 72 20 65 64 69 74 6f 72 20 79 6f 75 20 63 61 6e 20 73 65 74 20 74 choose.your.editor.you.can.set.t
12f80 68 65 20 22 45 44 49 54 4f 52 22 20 65 6e 76 20 76 61 72 69 61 62 6c 65 2e 0a 0a 54 6f 20 67 65 he."EDITOR".env.variable...To.ge
12fa0 74 20 61 20 6c 69 73 74 20 6f 66 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 76 61 6c 75 65 73 t.a.list.of.configuration.values
12fc0 20 69 6e 20 74 68 65 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 .in.the.file:......<comment>%com
12fe0 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 2d 2d 6c 69 73 74 3c 2f 63 6f 6d 6d 65 6e 74 3e mand.full_name%.--list</comment>
13000 0a 0a 59 6f 75 20 63 61 6e 20 61 6c 77 61 79 73 20 70 61 73 73 20 6d 6f 72 65 20 74 68 61 6e 20 ..You.can.always.pass.more.than.
13020 6f 6e 65 20 6f 70 74 69 6f 6e 2e 20 41 73 20 61 6e 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 79 6f one.option..As.an.example,.if.yo
13040 75 20 77 61 6e 74 20 74 6f 20 65 64 69 74 20 74 68 65 0a 67 6c 6f 62 61 6c 20 63 6f 6e 66 69 67 u.want.to.edit.the.global.config
13060 2e 6a 73 6f 6e 20 66 69 6c 65 2e 0a 0a 20 20 20 20 3c 63 6f 6d 6d 65 6e 74 3e 25 63 6f 6d 6d 61 .json.file.......<comment>%comma
13080 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 2d 2d 65 64 69 74 6f 72 20 2d 2d 67 6c 6f 62 61 6c 3c nd.full_name%.--editor.--global<
130a0 2f 63 6f 6d 6d 65 6e 74 3e 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 /comment>.EOT.).;.}.....protecte
130c0 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
130e0 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
13100 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 28 27 67 tput).{.if.($input->getOption('g
13120 6c 6f 62 61 6c 27 29 20 26 26 20 27 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 20 21 3d 3d 20 24 lobal').&&.'composer.json'.!==.$
13140 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
13160 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.
13180 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
131a0 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 46 61 63 74 6f 72 79 3a 3a ');.}..$this->config.=.Factory::
131c0 63 72 65 61 74 65 43 6f 6e 66 69 67 28 29 3b 0a 0a 0a 20 0a 20 24 63 6f 6e 66 69 67 46 69 6c 65 createConfig();......$configFile
131e0 20 3d 20 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 0a 3f .=.$input->getOption('global').?
13200 20 28 24 74 68 69 73 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 .($this->config->get('home')...'
13220 2f 63 6f 6e 66 69 67 2e 6a 73 6f 6e 27 29 0a 3a 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 /config.json').:.$input->getOpti
13240 6f 6e 28 27 66 69 6c 65 27 29 3b 0a 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 46 69 6c 65 20 3d on('file');..$this->configFile.=
13260 20 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 24 63 6f 6e 66 69 67 46 69 6c 65 29 3b 0a 24 74 68 69 .new.JsonFile($configFile);.$thi
13280 73 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 s->configSource.=.new.JsonConfig
132a0 53 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 0a 20 69 66 Source($this->configFile);....if
132c0 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 20 26 26 .($input->getOption('global').&&
132e0 20 21 24 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 .!$this->configFile->exists()).{
13300 0a 74 6f 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 .touch($this->configFile->getPat
13320 68 28 29 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 h());.$this->configFile->write(a
13340 72 72 61 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 rray('config'.=>.new.\ArrayObjec
13360 74 29 29 3b 0a 63 68 6d 6f 64 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 46 69 6c 65 2d 3e 67 65 t));.chmod($this->configFile->ge
13380 74 50 61 74 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 tPath(),.0600);.}..if.(!$this->c
133a0 6f 6e 66 69 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 onfigFile->exists()).{.throw.new
133c0 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 4e 6f 20 63 6f 6d 70 6f 73 65 72 2e .\RuntimeException('No.composer.
133e0 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
13400 6f 72 79 27 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 6f ory');.}.}.....protected.functio
13420 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,
13440 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 0a 20 69 66 .OutputInterface.$output).{...if
13460 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 65 64 69 74 6f 72 27 29 29 20 7b .($input->getOption('editor')).{
13480 0a 24 65 64 69 74 6f 72 20 3d 20 67 65 74 65 6e 76 28 27 45 44 49 54 4f 52 27 29 3b 0a 69 66 20 .$editor.=.getenv('EDITOR');.if.
134a0 28 21 24 65 64 69 74 6f 72 29 20 7b 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 50 48 50 5f 57 49 (!$editor).{.if.(defined('PHP_WI
134c0 4e 44 4f 57 53 5f 56 45 52 53 49 4f 4e 5f 42 55 49 4c 44 27 29 29 20 7b 0a 24 65 64 69 74 6f 72 NDOWS_VERSION_BUILD')).{.$editor
134e0 20 3d 20 27 6e 6f 74 65 70 61 64 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 66 6f 72 65 61 63 68 20 28 .=.'notepad';.}.else.{.foreach.(
13500 61 72 72 61 79 28 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 array('vim',.'vi',.'nano',.'pico
13520 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
13540 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
13560 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;.}.}.}.}.
13580 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 74 68 69 73 2d 3e 63 .system($editor...'.'...$this->c
135a0 6f 6e 66 69 67 46 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 20 2e 20 28 64 65 66 69 6e 65 64 28 onfigFile->getPath()...(defined(
135c0 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 27 29 20 3f 20 27 'PHP_WINDOWS_VERSION_BUILD').?.'
135e0 27 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
13600 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'))
13620 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
13640 6f 6e 66 69 67 46 69 6c 65 2d 3e 72 65 61 64 28 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 69 6e onfigFile->read());.}....if.($in
13660 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6c 69 73 74 27 29 29 20 7b 0a 24 74 68 69 73 2d put->getOption('list')).{.$this-
13680 3e 6c 69 73 74 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 >listConfiguration($this->config
136a0 2d 3e 61 6c 6c 28 29 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 72 61 77 28 29 2c 20 24 ->all(),.$this->config->raw(),.$
136c0 6f 75 74 70 75 74 29 3b 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 24 73 65 74 74 69 6e 67 4b output);..return.0;.}..$settingK
136e0 65 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 73 65 74 74 69 6e ey.=.$input->getArgument('settin
13700 67 2d 6b 65 79 27 29 3b 0a 69 66 20 28 21 24 73 65 74 74 69 6e 67 4b 65 79 29 20 7b 0a 72 65 74 g-key');.if.(!$settingKey).{.ret
13720 75 72 6e 20 30 3b 0a 7d 0a 0a 0a 20 69 66 20 28 61 72 72 61 79 28 29 20 21 3d 3d 20 24 69 6e 70 urn.0;.}....if.(array().!==.$inp
13740 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')
13760 20 26 26 20 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 20 .&&.$input->getOption('unset')).
13780 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
137a0 6f 75 20 63 61 6e 20 6e 6f 74 20 63 6f 6d 62 69 6e 65 20 61 20 73 65 74 74 69 6e 67 20 76 61 6c ou.can.not.combine.a.setting.val
137c0 75 65 20 77 69 74 68 20 2d 2d 75 6e 73 65 74 27 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 61 72 72 61 ue.with.--unset');.}....if.(arra
137e0 79 28 29 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 73 65 74 y().===.$input->getArgument('set
13800 74 69 6e 67 2d 76 61 6c 75 65 27 29 20 26 26 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 ting-value').&&.!$input->getOpti
13820 6f 6e 28 27 75 6e 73 65 74 27 29 29 20 7b 0a 24 64 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 63 6f on('unset')).{.$data.=.$this->co
13840 6e 66 69 67 2d 3e 61 6c 6c 28 29 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 72 nfig->all();.if.(preg_match('/^r
13860 65 70 6f 73 3f 28 3f 3a 69 74 6f 72 69 65 73 29 3f 28 3f 3a 5c 2e 28 2e 2b 29 29 3f 2f 27 2c 20 epos?(?:itories)?(?:\.(.+))?/',.
13880 24 73 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 65 6d $settingKey,.$matches)).{.if.(em
138a0 70 74 79 28 24 6d 61 74 63 68 65 73 5b 31 5d 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 69 73 73 pty($matches[1])).{.$value.=.iss
138c0 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 61 74 et($data['repositories']).?.$dat
138e0 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 20 65 a['repositories'].:.array();.}.e
13900 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 74 6f lse.{.if.(!isset($data['reposito
13920 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 6e 65 ries'][$matches[1]])).{.throw.ne
13940 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 68 65 w.\InvalidArgumentException('The
13960 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 69 74 re.is.no.'.$matches[1].'.reposit
13980 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 74 61 ory.defined');.}..$value.=.$data
139a0 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 0a 7d ['repositories'][$matches[1]];.}
139c0 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 20 27 .}.elseif.(strpos($settingKey,.'
139e0 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 65 74 .')).{.$bits.=.explode('.',.$set
13a00 74 69 6e 67 4b 65 79 29 3b 0a 24 64 61 74 61 20 3d 20 24 64 61 74 61 5b 27 63 6f 6e 66 69 67 27 tingKey);.$data.=.$data['config'
13a20 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 69 66 20 ];.foreach.($bits.as.$bit).{.if.
13a40 28 69 73 73 65 74 28 24 64 61 74 61 5b 24 62 69 74 5d 29 29 20 7b 0a 24 64 61 74 61 20 3d 20 24 (isset($data[$bit])).{.$data.=.$
13a60 64 61 74 61 5b 24 62 69 74 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 64 61 74 data[$bit];.}.elseif.(isset($dat
13a80 61 5b 69 6d 70 6c 6f 64 65 28 27 2e 27 2c 20 24 62 69 74 73 29 5d 29 29 20 7b 0a 0a 20 24 64 61 a[implode('.',.$bits)])).{...$da
13aa0 74 61 20 3d 20 24 64 61 74 61 5b 69 6d 70 6c 6f 64 65 28 27 2e 27 2c 20 24 62 69 74 73 29 5d 3b ta.=.$data[implode('.',.$bits)];
13ac0 0a 62 72 65 61 6b 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 .break;.}.else.{.throw.new.\Runt
13ae0 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 73 65 74 74 69 6e 67 4b 65 79 2e 27 20 69 73 20 6e 6f imeException($settingKey.'.is.no
13b00 74 20 64 65 66 69 6e 65 64 27 29 3b 0a 7d 0a 61 72 72 61 79 5f 73 68 69 66 74 28 24 62 69 74 73 t.defined');.}.array_shift($bits
13b20 29 3b 0a 7d 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 );.}..$value.=.$data;.}.elseif.(
13b40 69 73 73 65 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 isset($data['config'][$settingKe
13b60 79 5d 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 24 64 61 74 61 5b 27 63 6f 6e 66 69 67 27 5d 5b y])).{.$value.=.$data['config'][
13b80 24 73 65 74 74 69 6e 67 4b 65 79 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 $settingKey];.}.else.{.throw.new
13ba0 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 73 65 74 74 69 6e 67 4b 65 79 2e 27 .\RuntimeException($settingKey.'
13bc0 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 27 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 5f 61 72 72 .is.not.defined');.}..if.(is_arr
13be0 61 79 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 6a 73 6f 6e 5f 65 6e 63 6f ay($value)).{.$value.=.json_enco
13c00 64 65 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 de($value);.}..$output->writeln(
13c20 24 76 61 6c 75 65 29 3b 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 24 76 61 6c 75 65 73 20 3d $value);..return.0;.}..$values.=
13c40 20 24 69 6e 70 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 .$input->getArgument('setting-va
13c60 6c 75 65 27 29 3b 20 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 72 65 70 lue');.....if.(preg_match('/^rep
13c80 6f 73 3f 28 3f 3a 69 74 6f 72 69 65 73 29 3f 5c 2e 28 2e 2b 29 2f 27 2c 20 24 73 65 74 74 69 6e os?(?:itories)?\.(.+)/',.$settin
13ca0 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 74 2d 3e 67 gKey,.$matches)).{.if.($input->g
13cc0 65 74 4f 70 74 69 6f 6e 28 27 75 6e 73 65 74 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 etOption('unset')).{.return.$thi
13ce0 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 72 65 6d 6f 76 65 52 65 70 6f 73 69 74 6f 72 s->configSource->removeRepositor
13d00 79 28 24 6d 61 74 63 68 65 73 5b 31 5d 29 3b 0a 7d 0a 0a 69 66 20 28 32 20 21 3d 3d 20 63 6f 75 y($matches[1]);.}..if.(2.!==.cou
13d20 6e 74 28 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 nt($values)).{.throw.new.\Runtim
13d40 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
13d60 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
13d80 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
13da0 20 76 63 73 20 68 74 74 70 3a 2f 2f 62 61 72 2e 63 6f 6d 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e .vcs.http://bar.com');.}..return
13dc0 20 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 70 6f 73 69 74 .$this->configSource->addReposit
13de0 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 79 70 65 27 20 3d ory($matches[1],.array(.'type'.=
13e00 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 6c 75 65 73 5b 31 >.$values[0],.'url'.=>.$values[1
13e20 5d 2c 0a 29 29 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 67 69 ],.));.}....if.(preg_match('/^gi
13e40 74 68 75 62 2d 6f 61 75 74 68 5c 2e 28 2e 2b 29 2f 27 2c 20 24 73 65 74 74 69 6e 67 4b 65 79 2c thub-oauth\.(.+)/',.$settingKey,
13e60 20 24 6d 61 74 63 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 .$matches)).{.if.($input->getOpt
13e80 69 6f 6e 28 27 75 6e 73 65 74 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f ion('unset')).{.return.$this->co
13ea0 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(
13ec0 27 67 69 74 68 75 62 2d 6f 61 75 74 68 2e 27 2e 24 6d 61 74 63 68 65 73 5b 31 5d 29 3b 0a 7d 0a 'github-oauth.'.$matches[1]);.}.
13ee0 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
13f00 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
13f20 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.
13f40 74 6f 6b 65 6e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 token');.}..return.$this->config
13f60 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 27 67 69 74 68 75 62 Source->addConfigSetting('github
13f80 2d 6f 61 75 74 68 2e 27 2e 24 6d 61 74 63 68 65 73 5b 31 5d 2c 20 24 76 61 6c 75 65 73 5b 30 5d -oauth.'.$matches[1],.$values[0]
13fa0 29 3b 0a 7d 0a 0a 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 20 3d 20 66 75 6e 63 74 69 );.}..$booleanValidator.=.functi
13fc0 6f 6e 20 28 24 76 61 6c 29 20 7b 20 72 65 74 75 72 6e 20 69 6e 5f 61 72 72 61 79 28 24 76 61 6c on.($val).{.return.in_array($val
13fe0 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 31 27 2c 20 27 30 ,.array('true',.'false',.'1',.'0
14000 27 29 2c 20 74 72 75 65 29 3b 20 7d 3b 0a 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 '),.true);.};.$booleanNormalizer
14020 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 20 72 65 74 75 72 6e 20 24 76 61 6c .=.function.($val).{.return.$val
14040 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 6c 3b 20 7d 3b 0a .!==.'false'.&&.(bool).$val;.};.
14060 0a 0a 20 24 75 6e 69 71 75 65 43 6f 6e 66 69 67 56 61 6c 75 65 73 20 3d 20 61 72 72 61 79 28 0a ...$uniqueConfigValues.=.array(.
14080 27 70 72 6f 63 65 73 73 2d 74 69 6d 65 6f 75 74 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 6e 'process-timeout'.=>.array('is_n
140a0 75 6d 65 72 69 63 27 2c 20 27 69 6e 74 76 61 6c 27 29 2c 0a 27 75 73 65 2d 69 6e 63 6c 75 64 65 umeric',.'intval'),.'use-include
140c0 2d 70 61 74 68 27 20 3d 3e 20 61 72 72 61 79 28 0a 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 74 -path'.=>.array(.$booleanValidat
140e0 6f 72 2c 0a 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 0a 29 2c 0a 27 70 72 65 66 65 or,.$booleanNormalizer.),.'prefe
14100 72 72 65 64 2d 69 6e 73 74 61 6c 6c 27 20 3d 3e 20 61 72 72 61 79 28 0a 66 75 6e 63 74 69 6f 6e rred-install'.=>.array(.function
14120 20 28 24 76 61 6c 29 20 7b 20 72 65 74 75 72 6e 20 69 6e 5f 61 72 72 61 79 28 24 76 61 6c 2c 20 .($val).{.return.in_array($val,.
14140 61 72 72 61 79 28 27 61 75 74 6f 27 2c 20 27 73 6f 75 72 63 65 27 2c 20 27 64 69 73 74 27 29 2c array('auto',.'source',.'dist'),
14160 20 74 72 75 65 29 3b 20 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 20 72 65 74 .true);.},.function.($val).{.ret
14180 75 72 6e 20 24 76 61 6c 3b 20 7d 0a 29 2c 0a 27 6e 6f 74 69 66 79 2d 6f 6e 2d 69 6e 73 74 61 6c urn.$val;.}.),.'notify-on-instal
141a0 6c 27 20 3d 3e 20 61 72 72 61 79 28 0a 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 2c 0a l'.=>.array(.$booleanValidator,.
141c0 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 0a 29 2c 0a 27 76 65 6e 64 6f 72 2d 64 69 $booleanNormalizer.),.'vendor-di
141e0 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 74 69 6f r'.=>.array('is_string',.functio
14200 6e 20 28 24 76 61 6c 29 20 7b 20 72 65 74 75 72 6e 20 24 76 61 6c 3b 20 7d 29 2c 0a 27 62 69 6e n.($val).{.return.$val;.}),.'bin
14220 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
14240 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 20 72 65 74 75 72 6e 20 24 76 61 6c 3b 20 7d 29 2c 0a 27 tion.($val).{.return.$val;.}),.'
14260 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',
14280 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 20 72 65 74 75 72 6e 20 24 76 61 6c 3b 20 .function.($val).{.return.$val;.
142a0 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('
142c0 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 20 72 65 is_string',.function.($val).{.re
142e0 74 75 72 6e 20 24 76 61 6c 3b 20 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'.
14300 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.(
14320 24 76 61 6c 29 20 7b 20 72 65 74 75 72 6e 20 24 76 61 6c 3b 20 7d 29 2c 0a 27 63 61 63 68 65 2d $val).{.return.$val;.}),.'cache-
14340 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
14360 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 20 72 65 74 75 72 6e 20 24 76 61 6c 3b 20 7d 29 unction.($val).{.return.$val;.})
14380 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
143a0 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
143c0 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
143e0 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
14400 61 79 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 72 65 ay(.function.($val).{.return.pre
14420 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
14440 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
14460 3b 20 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 20 72 65 74 75 72 6e 20 24 76 ;.},.function.($val).{.return.$v
14480 61 6c 3b 20 7d 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 al;.}.),.'discard-changes'.=>.ar
144a0 72 61 79 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 20 72 65 74 75 72 6e 20 69 6e ray(.function.($val).{.return.in
144c0 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
144e0 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 20 7d e',.'false',.'1',.'0'),.true);.}
14500 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'.
14520 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
14540 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)
14560 20 24 76 61 6c 3b 0a 7d 0a 29 2c 0a 29 3b 0a 24 6d 75 6c 74 69 43 6f 6e 66 69 67 56 61 6c 75 65 .$val;.}.),.);.$multiConfigValue
14580 73 20 3d 20 61 72 72 61 79 28 0a 27 67 69 74 68 75 62 2d 70 72 6f 74 6f 63 6f 6c 73 27 20 3d 3e s.=.array(.'github-protocols'.=>
145a0 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 69 66 20 28 21 .array(.function.($vals).{.if.(!
145c0 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 61 72 72 61 79 is_array($vals)).{.return.'array
145e0 20 65 78 70 65 63 74 65 64 27 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 76 61 6c 73 20 61 73 .expected';.}..foreach.($vals.as
14600 20 24 76 61 6c 29 20 7b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 76 61 6c 2c 20 61 72 72 .$val).{.if.(!in_array($val,.arr
14620 61 79 28 27 67 69 74 27 2c 20 27 68 74 74 70 73 27 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 76 ay('git',.'https'))).{.return.'v
14640 61 6c 69 64 20 70 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 alid.protocols.include:.git,.htt
14660 70 73 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 ps';.}.}..return.true;.},.functi
14680 6f 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 0a 29 2c 0a on.($vals).{.return.$vals;.}.),.
146a0 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 75 6e 69 71 75 65 43 6f 6e 66 69 67 56 61 6c 75 65 73 );..foreach.($uniqueConfigValues
146c0 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 63 61 6c 6c 62 61 63 6b 73 29 20 7b 0a 69 66 20 28 24 .as.$name.=>.$callbacks).{.if.($
146e0 73 65 74 74 69 6e 67 4b 65 79 20 3d 3d 3d 20 24 6e 61 6d 65 29 20 7b 0a 69 66 20 28 24 69 6e 70 settingKey.===.$name).{.if.($inp
14700 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 72 65 74 75 72 6e ut->getOption('unset')).{.return
14720 20 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 6f 6e 66 .$this->configSource->removeConf
14740 69 67 53 65 74 74 69 6e 67 28 24 73 65 74 74 69 6e 67 4b 65 79 29 3b 0a 7d 0a 0a 6c 69 73 74 28 igSetting($settingKey);.}..list(
14760 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 63 61 6c 6c $validator,.$normalizer).=.$call
14780 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 65 73 29 29 backs;.if.(1.!==.count($values))
147a0 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('
147c0 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 20 45 78 61 You.can.only.pass.one.value..Exa
147e0 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 69 67 20 70 mple:.php.composer.phar.config.p
14800 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 28 74 72 75 rocess-timeout.300');.}..if.(tru
14820 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 6f 72 28 24 e.!==.$validation.=.$validator($
14840 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 74 69 6d 65 values[0])).{.throw.new.\Runtime
14860 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 61 6e 20 69 Exception(sprintf(.'"%s".is.an.i
14880 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 20 27 20 28 nvalid.value'.($validation.?.'.(
148a0 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 6c 75 65 73 '.$validation.')'.:.''),.$values
148c0 5b 30 5d 0a 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 [0].));.}..return.$this->configS
148e0 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 73 65 74 74 69 6e 67 ource->addConfigSetting($setting
14900 4b 65 79 2c 20 24 6e 6f 72 6d 61 6c 69 7a 65 72 28 24 76 61 6c 75 65 73 5b 30 5d 29 29 3b 0a 7d Key,.$normalizer($values[0]));.}
14920 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 6d 75 6c 74 69 43 6f 6e 66 69 67 56 61 6c 75 65 73 20 .}..foreach.($multiConfigValues.
14940 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 63 61 6c 6c 62 61 63 6b 73 29 20 7b 0a 69 66 20 28 24 73 as.$name.=>.$callbacks).{.if.($s
14960 65 74 74 69 6e 67 4b 65 79 20 3d 3d 3d 20 24 6e 61 6d 65 29 20 7b 0a 69 66 20 28 24 69 6e 70 75 ettingKey.===.$name).{.if.($inpu
14980 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 72 65 74 75 72 6e 20 t->getOption('unset')).{.return.
149a0 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 6f 6e 66 69 $this->configSource->removeConfi
149c0 67 53 65 74 74 69 6e 67 28 24 73 65 74 74 69 6e 67 4b 65 79 29 3b 0a 7d 0a 0a 6c 69 73 74 28 24 gSetting($settingKey);.}..list($
149e0 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 63 61 6c 6c 62 validator,.$normalizer).=.$callb
14a00 61 63 6b 73 3b 0a 69 66 20 28 74 72 75 65 20 21 3d 3d 20 24 76 61 6c 69 64 61 74 69 6f 6e 20 3d acks;.if.(true.!==.$validation.=
14a20 20 24 76 61 6c 69 64 61 74 6f 72 28 24 76 61 6c 75 65 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 .$validator($values)).{.throw.ne
14a40 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 25 73 w.\RuntimeException(sprintf(.'%s
14a60 20 69 73 20 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 .is.an.invalid.value'.($validati
14a80 6f 6e 20 3f 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 on.?.'.('.$validation.')'.:.''),
14aa0 0a 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 76 61 6c 75 65 73 29 0a 29 29 3b 0a 7d 0a 0a 72 65 74 .json_encode($values).));.}..ret
14ac0 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 61 64 64 43 6f 6e 66 urn.$this->configSource->addConf
14ae0 69 67 53 65 74 74 69 6e 67 28 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 6e 6f 72 6d 61 6c 69 7a igSetting($settingKey,.$normaliz
14b00 65 72 28 24 76 61 6c 75 65 73 29 29 3b 0a 7d 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e er($values));.}.}..throw.new.\In
14b20 76 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 validArgumentException('Setting.
14b40 27 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 '.$settingKey.'.does.not.exist.o
14b60 72 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 r.is.not.supported.by.this.comma
14b80 6e 64 27 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 nd');.}..........protected.funct
14ba0 69 6f 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 ion.listConfiguration(array.$con
14bc0 74 65 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 tents,.array.$rawContents,.Outpu
14be0 74 49 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 tInterface.$output,.$k.=.null).{
14c00 0a 24 6f 72 69 67 4b 20 3d 20 24 6b 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 74 65 6e 74 73 .$origK.=.$k;.foreach.($contents
14c20 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 28 24 6b 20 3d 3d 3d .as.$key.=>.$value).{.if.($k.===
14c40 20 6e 75 6c 6c 20 26 26 20 21 69 6e 5f 61 72 72 61 79 28 24 6b 65 79 2c 20 61 72 72 61 79 28 27 .null.&&.!in_array($key,.array('
14c60 63 6f 6e 66 69 67 27 2c 20 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 29 29 29 20 7b 0a 63 6f 6e config',.'repositories'))).{.con
14c80 74 69 6e 75 65 3b 0a 7d 0a 0a 24 72 61 77 56 61 6c 20 3d 20 69 73 73 65 74 28 24 72 61 77 43 6f tinue;.}..$rawVal.=.isset($rawCo
14ca0 6e 74 65 6e 74 73 5b 24 6b 65 79 5d 29 20 3f 20 24 72 61 77 43 6f 6e 74 65 6e 74 73 5b 24 6b 65 ntents[$key]).?.$rawContents[$ke
14cc0 79 5d 20 3a 20 6e 75 6c 6c 3b 0a 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 65 29 y].:.null;..if.(is_array($value)
14ce0 20 26 26 20 28 21 69 73 5f 6e 75 6d 65 72 69 63 28 6b 65 79 28 24 76 61 6c 75 65 29 29 20 7c 7c .&&.(!is_numeric(key($value)).||
14d00 20 28 24 6b 65 79 20 3d 3d 3d 20 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 20 26 26 20 6e 75 6c .($key.===.'repositories'.&&.nul
14d20 6c 20 3d 3d 3d 20 24 6b 29 29 29 20 7b 0a 24 6b 20 2e 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 l.===.$k))).{.$k..=.preg_replace
14d40 28 27 7b 5e 63 6f 6e 66 69 67 5c 2e 7d 27 2c 20 27 27 2c 20 24 6b 65 79 20 2e 20 27 2e 27 29 3b ('{^config\.}',.'',.$key...'.');
14d60 0a 24 74 68 69 73 2d 3e 6c 69 73 74 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 28 24 76 61 6c 75 65 .$this->listConfiguration($value
14d80 2c 20 24 72 61 77 56 61 6c 2c 20 24 6f 75 74 70 75 74 2c 20 24 6b 29 3b 0a 0a 69 66 20 28 73 75 ,.$rawVal,.$output,.$k);..if.(su
14da0 62 73 74 72 5f 63 6f 75 6e 74 28 24 6b 2c 20 27 2e 27 29 20 3e 20 31 29 20 7b 0a 24 6b 20 3d 20 bstr_count($k,.'.').>.1).{.$k.=.
14dc0 73 74 72 5f 73 70 6c 69 74 28 24 6b 2c 20 73 74 72 72 70 6f 73 28 24 6b 2c 20 27 2e 27 2c 20 2d str_split($k,.strrpos($k,.'.',.-
14de0 32 29 29 3b 0a 24 6b 20 3d 20 24 6b 5b 30 5d 20 2e 20 27 2e 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 2));.$k.=.$k[0]...'.';.}.else.{.
14e00 24 6b 20 3d 20 24 6f 72 69 67 4b 3b 0a 7d 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 $k.=.$origK;.}..continue;.}..if.
14e20 28 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 61 72 (is_array($value)).{.$value.=.ar
14e40 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e ray_map(function.($val).{.return
14e60 20 69 73 5f 61 72 72 61 79 28 24 76 61 6c 29 20 3f 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 76 .is_array($val).?.json_encode($v
14e80 61 6c 29 20 3a 20 24 76 61 6c 3b 0a 7d 2c 20 24 76 61 6c 75 65 29 3b 0a 0a 24 76 61 6c 75 65 20 al).:.$val;.},.$value);..$value.
14ea0 3d 20 27 5b 27 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 76 61 6c 75 65 29 2e 27 5d 27 3b =.'['.implode(',.',.$value).']';
14ec0 0a 7d 0a 0a 69 66 20 28 69 73 5f 62 6f 6f 6c 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 76 61 6c 75 .}..if.(is_bool($value)).{.$valu
14ee0 65 20 3d 20 76 61 72 5f 65 78 70 6f 72 74 28 24 76 61 6c 75 65 2c 20 74 72 75 65 29 3b 0a 7d 0a e.=.var_export($value,.true);.}.
14f00 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 72 61 77 56 61 6c 29 20 26 26 20 24 72 61 77 56 .if.(is_string($rawVal).&&.$rawV
14f20 61 6c 20 21 3d 20 24 76 61 6c 75 65 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e al.!=.$value).{.$output->writeln
14f40 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 20 27 3c 2f 63 ('[<comment>'...$k...$key...'</c
14f60 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 2e 20 27 20 28 omment>].<info>'...$rawVal...'.(
14f80 27 20 2e 20 24 76 61 6c 75 65 20 2e 20 27 29 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d 20 65 6c 73 65 '...$value...')</info>');.}.else
14fa0 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 5b 3c 63 6f 6d 6d 65 6e 74 3e 27 .{.$output->writeln('[<comment>'
14fc0 20 2e 20 24 6b 20 2e 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 ...$k...$key...'</comment>].<inf
14fe0 6f 3e 27 20 2e 20 24 76 61 6c 75 65 20 2e 20 27 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d 0a 7d 0a 7d o>'...$value...'</info>');.}.}.}
15000 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
15020 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 49 6e mposer\Command;..use.Composer\In
15040 73 74 61 6c 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 74 5c 43 staller;.use.Symfony\Component\C
15060 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
15080 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
150a0 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 6e \InputOption;.use.Symfony\Compon
150c0 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 61 ent\Console\Output\OutputInterfa
150e0 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 73 74 61 6c 6c 43 6f 6d 6d 61 6e 64 20 65 ce;.......class.InstallCommand.e
15100 78 74 65 6e 64 73 20 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 xtends.Command.{.protected.funct
15120 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
15140 65 28 27 69 6e 73 74 61 6c 6c 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 49 e('install').->setDescription('I
15160 6e 73 74 61 6c 6c 73 20 74 68 65 20 70 72 6f 6a 65 63 74 20 64 65 70 65 6e 64 65 6e 63 69 65 73 nstalls.the.project.dependencies
15180 20 66 72 6f 6d 20 74 68 65 20 63 6f 6d 70 6f 73 65 72 2e 6c 6f 63 6b 20 66 69 6c 65 20 69 66 20 .from.the.composer.lock.file.if.
151a0 70 72 65 73 65 6e 74 2c 20 6f 72 20 66 61 6c 6c 73 20 62 61 63 6b 20 6f 6e 20 74 68 65 20 63 6f present,.or.falls.back.on.the.co
151c0 6d 70 6f 73 65 72 2e 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 mposer.json.').->setDefinition(a
151e0 72 72 61 79 28 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 73 6f rray(.new.InputOption('prefer-so
15200 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 41 4c 55 45 5f urce',.null,.InputOption::VALUE_
15220 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.
15240 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 6c 65 2c 20 69 package.sources.when.possible,.i
15260 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 2c 0a 6e 65 77 ncluding.VCS.information.'),.new
15280 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 20 6e 75 6c 6c .InputOption('prefer-dist',.null
152a0 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 46 6f 72 63 ,.InputOption::VALUE_NONE,.'Forc
152c0 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 65 20 64 69 73 es.installation.from.package.dis
152e0 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 0a 6e 65 77 20 t.even.for.dev.versions.'),.new.
15300 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 2c 20 49 6e 70 InputOption('dry-run',.null,.Inp
15320 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 75 74 73 20 74 utOption::VALUE_NONE,.'Outputs.t
15340 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 65 78 65 63 75 he.operations.but.will.not.execu
15360 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 62 6c 65 73 20 te.anything.(implicitly.enables.
15380 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 69 6f 6e 28 27 --verbose).'),.new.InputOption('
153a0 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
153c0 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 72 65 ONE,.'Enables.installation.of.re
153e0 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 20 64 quire-dev.packages.(enabled.by.d
15400 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 29 2c efault,.only.present.for.BC).'),
15420 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 6c 2c .new.InputOption('no-dev',.null,
15440 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 61 62 .InputOption::VALUE_NONE,.'Disab
15460 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 76 20 les.installation.of.require-dev.
15480 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 6e 6f packages.'),.new.InputOption('no
154a0 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 75 74 -custom-installers',.null,.Input
154c0 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 61 6c Option::VALUE_NONE,.'Disables.al
154e0 6c 20 63 75 73 74 6f 6d 20 69 6e 73 74 61 6c 6c 65 72 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 l.custom.installers.'),.new.Inpu
15500 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 70 75 tOption('no-scripts',.null,.Inpu
15520 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 65 20 tOption::VALUE_NONE,.'Skips.the.
15540 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 65 64 execution.of.all.scripts.defined
15560 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 20 49 .in.composer.json.file.'),.new.I
15580 6e 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 nputOption('no-progress',.null,.
155a0 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 74 InputOption::VALUE_NONE,.'Do.not
155c0 20 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 .output.download.progress.'),.ne
155e0 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 76 65 72 62 6f 73 65 27 2c 20 27 76 7c 76 76 7c 76 w.InputOption('verbose',.'v|vv|v
15600 76 76 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 vv',.InputOption::VALUE_NONE,.'S
15620 68 6f 77 73 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 20 69 6e 63 6c 75 64 69 6e 67 20 6e 65 77 20 hows.more.details.including.new.
15640 63 6f 6d 6d 69 74 73 20 70 75 6c 6c 65 64 20 69 6e 20 77 68 65 6e 20 75 70 64 61 74 69 6e 67 20 commits.pulled.in.when.updating.
15660 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 6f 70 packages.'),.new.InputOption('op
15680 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 2c 20 27 6f 27 2c 20 49 6e 70 75 74 4f 70 timize-autoloader',.'o',.InputOp
156a0 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 20 61 75 74 6f tion::VALUE_NONE,.'Optimize.auto
156c0 6c 6f 61 64 65 72 20 64 75 72 69 6e 67 20 61 75 74 6f 6c 6f 61 64 65 72 20 64 75 6d 70 27 29 0a loader.during.autoloader.dump').
156e0 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e 66 6f 3e 69 6e )).->setHelp(<<<EOT.The.<info>in
15700 73 74 61 6c 6c 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 72 65 61 64 73 20 74 68 65 20 63 stall</info>.command.reads.the.c
15720 6f 6d 70 6f 73 65 72 2e 6c 6f 63 6b 20 66 69 6c 65 20 66 72 6f 6d 0a 74 68 65 20 63 75 72 72 65 omposer.lock.file.from.the.curre
15740 6e 74 20 64 69 72 65 63 74 6f 72 79 2c 20 70 72 6f 63 65 73 73 65 73 20 69 74 2c 20 61 6e 64 20 nt.directory,.processes.it,.and.
15760 64 6f 77 6e 6c 6f 61 64 73 20 61 6e 64 20 69 6e 73 74 61 6c 6c 73 20 61 6c 6c 20 74 68 65 0a 6c downloads.and.installs.all.the.l
15780 69 62 72 61 72 69 65 73 20 61 6e 64 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 6f 75 74 6c 69 6e ibraries.and.dependencies.outlin
157a0 65 64 20 69 6e 20 74 68 61 74 20 66 69 6c 65 2e 20 49 66 20 74 68 65 20 66 69 6c 65 20 64 6f 65 ed.in.that.file..If.the.file.doe
157c0 73 20 6e 6f 74 0a 65 78 69 73 74 20 69 74 20 77 69 6c 6c 20 6c 6f 6f 6b 20 66 6f 72 20 63 6f 6d s.not.exist.it.will.look.for.com
157e0 70 6f 73 65 72 2e 6a 73 6f 6e 20 61 6e 64 20 64 6f 20 74 68 65 20 73 61 6d 65 2e 0a 0a 3c 69 6e poser.json.and.do.the.same...<in
15800 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 69 6e 73 74 61 6c 6c 3c 2f 69 6e fo>php.composer.phar.install</in
15820 66 6f 3e 0a 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 74 69 fo>..EOT.).;.}..protected.functi
15840 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 75 74 on.execute(InputInterface.$input
15860 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 63 6f ,.OutputInterface.$output).{.$co
15880 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 3b 0a 24 mposer.=.$this->getComposer();.$
158a0 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 2d 3e composer->getDownloadManager()->
158c0 73 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 setOutputProgress(!$input->getOp
158e0 74 69 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 73 73 27 29 29 3b 0a 24 69 6f 20 3d 20 24 74 68 69 tion('no-progress'));.$io.=.$thi
15900 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 24 69 6e 73 74 61 6c 6c 20 3d 20 49 6e 73 74 61 6c 6c 65 72 s->getIO();.$install.=.Installer
15920 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 70 72 65 66 ::create($io,.$composer);..$pref
15940 65 72 53 6f 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 erSource.=.false;.$preferDist.=.
15960 66 61 6c 73 65 3b 0a 73 77 69 74 63 68 20 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e false;.switch.($composer->getCon
15980 66 69 67 28 29 2d 3e 67 65 74 28 27 70 72 65 66 65 72 72 65 64 2d 69 6e 73 74 61 6c 6c 27 29 29 fig()->get('preferred-install'))
159a0 20 7b 0a 63 61 73 65 20 27 73 6f 75 72 63 65 27 3a 0a 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 .{.case.'source':.$preferSource.
159c0 3d 20 74 72 75 65 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 =.true;.break;.case.'dist':.$pre
159e0 66 65 72 44 69 73 74 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 61 75 74 ferDist.=.true;.break;.case.'aut
15a00 6f 27 3a 0a 64 65 66 61 75 6c 74 3a 0a 0a 20 62 72 65 61 6b 3b 0a 7d 0a 69 66 20 28 24 69 6e 70 o':.default:...break;.}.if.($inp
15a20 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 73 6f 75 72 63 65 27 29 20 7c ut->getOption('prefer-source').|
15a40 7c 20 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 64 69 73 74 |.$input->getOption('prefer-dist
15a60 27 29 29 20 7b 0a 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 ')).{.$preferSource.=.$input->ge
15a80 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 73 6f 75 72 63 65 27 29 3b 0a 24 70 72 65 66 65 tOption('prefer-source');.$prefe
15aa0 72 44 69 73 74 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 65 rDist.=.$input->getOption('prefe
15ac0 72 2d 64 69 73 74 27 29 3b 0a 7d 0a 0a 24 69 6e 73 74 61 6c 6c 0a 2d 3e 73 65 74 44 72 79 52 75 r-dist');.}..$install.->setDryRu
15ae0 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 27 29 29 0a n($input->getOption('dry-run')).
15b00 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 6f 6e 28 27 ->setVerbose($input->getOption('
15b20 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 28 24 70 72 verbose')).->setPreferSource($pr
15b40 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 24 70 72 65 eferSource).->setPreferDist($pre
15b60 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 74 2d 3e 67 ferDist).->setDevMode(!$input->g
15b80 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 52 75 6e 53 63 72 69 etOption('no-dev')).->setRunScri
15ba0 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 70 pts(!$input->getOption('no-scrip
15bc0 74 73 27 29 29 0a 2d 3e 73 65 74 4f 70 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 65 72 28 24 69 ts')).->setOptimizeAutoloader($i
15be0 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f nput->getOption('optimize-autolo
15c00 61 64 65 72 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 6e ader')).;..if.($input->getOption
15c20 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 6e 73 ('no-custom-installers')).{.$ins
15c40 74 61 6c 6c 2d 3e 64 69 73 61 62 6c 65 43 75 73 74 6f 6d 49 6e 73 74 61 6c 6c 65 72 73 28 29 3b tall->disableCustomInstallers();
15c60 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 69 6e 73 74 61 6c 6c 2d 3e 72 75 6e 28 29 20 3f 20 30 20 3a .}..return.$install->run().?.0.:
15c80 20 31 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 .1;.}.}.<?php............namespa
15ca0 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 70 6f 73 ce.Composer\Command;..use.Compos
15cc0 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 53 79 6d er\Util\ConfigValidator;.use.Sym
15ce0 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
15d00 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 6e 65 utInterface;.use.Symfony\Compone
15d20 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 3b 0a nt\Console\Input\InputArgument;.
15d40 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
15d60 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 63 6c 61 tput\OutputInterface;........cla
15d80 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 73 20 43 6f 6d 6d 61 ss.ValidateCommand.extends.Comma
15da0 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 69 nd.{....protected.function.confi
15dc0 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 76 61 6c 69 64 61 gure().{.$this.->setName('valida
15de0 74 65 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 56 61 6c 69 64 61 74 65 73 te').->setDescription('Validates
15e00 20 61 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 .a.composer.json').->setDefiniti
15e20 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 66 69 6c on(array(.new.InputArgument('fil
15e40 65 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 70 61 e',.InputArgument::OPTIONAL,.'pa
15e60 74 68 20 74 6f 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 27 2c 20 27 2e 2f 63 6f th.to.composer.json.file',.'./co
15e80 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 29 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 3c 3c 3c 45 4f mposer.json').)).->setHelp(<<<EO
15ea0 54 0a 54 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 T.The.validate.command.validates
15ec0 20 61 20 67 69 76 65 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 0a 0a 45 4f 54 0a 29 3b 0a 7d .a.given.composer.json..EOT.);.}
15ee0 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 63 75 ........protected.function.execu
15f00 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
15f20 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 66 69 6c 65 20 3d 20 24 69 6e Interface.$output).{.$file.=.$in
15f40 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 66 69 6c 65 27 29 3b 0a 0a 69 66 20 28 21 put->getArgument('file');..if.(!
15f60 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 file_exists($file)).{.$output->w
15f80 72 69 74 65 6c 6e 28 27 3c 65 72 72 6f 72 3e 27 20 2e 20 24 66 69 6c 65 20 2e 20 27 20 6e 6f 74 riteln('<error>'...$file...'.not
15fa0 20 66 6f 75 6e 64 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 .found.</error>');..return.1;.}.
15fc0 69 66 20 28 21 69 73 5f 72 65 61 64 61 62 6c 65 28 24 66 69 6c 65 29 29 20 7b 0a 24 6f 75 74 70 if.(!is_readable($file)).{.$outp
15fe0 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 65 72 72 6f 72 3e 27 20 2e 20 24 66 69 6c 65 20 2e 20 ut->writeln('<error>'...$file...
16000 27 20 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 '.is.not.readable.</error>');..r
16020 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e 65 77 20 43 6f 6e eturn.1;.}..$validator.=.new.Con
16040 66 69 67 56 61 6c 69 64 61 74 6f 72 28 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 29 3b 0a 6c 69 figValidator($this->getIO());.li
16060 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 24 77 61 72 st($errors,.$publishErrors,.$war
16080 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 65 28 24 66 nings).=.$validator->validate($f
160a0 69 6c 65 29 3b 0a 0a 0a 20 69 66 20 28 21 24 65 72 72 6f 72 73 20 26 26 20 21 24 70 75 62 6c 69 ile);....if.(!$errors.&&.!$publi
160c0 73 68 45 72 72 6f 72 73 20 26 26 20 21 24 77 61 72 6e 69 6e 67 73 29 20 7b 0a 24 6f 75 74 70 75 shErrors.&&.!$warnings).{.$outpu
160e0 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 69 6e 66 6f 3e 27 20 2e 20 24 66 69 6c 65 20 2e 20 27 20 t->writeln('<info>'...$file...'.
16100 69 73 20 76 61 6c 69 64 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 65 is.valid</info>');.}.elseif.(!$e
16120 72 72 6f 72 73 20 26 26 20 21 24 70 75 62 6c 69 73 68 45 72 72 6f 72 73 29 20 7b 0a 24 6f 75 74 rrors.&&.!$publishErrors).{.$out
16140 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 69 6e 66 6f 3e 27 20 2e 20 24 66 69 6c 65 20 2e 20 put->writeln('<info>'...$file...
16160 27 20 69 73 20 76 61 6c 69 64 2c 20 62 75 74 20 77 69 74 68 20 61 20 66 65 77 20 77 61 72 6e 69 '.is.valid,.but.with.a.few.warni
16180 6e 67 73 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 ngs</info>');.$output->writeln('
161a0 3c 77 61 72 6e 69 6e 67 3e 53 65 65 20 68 74 74 70 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e <warning>See.http://getcomposer.
161c0 6f 72 67 2f 64 6f 63 2f 30 34 2d 73 63 68 65 6d 61 2e 6d 64 20 66 6f 72 20 64 65 74 61 69 6c 73 org/doc/04-schema.md.for.details
161e0 20 6f 6e 20 74 68 65 20 73 63 68 65 6d 61 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 20 65 6c .on.the.schema</warning>');.}.el
16200 73 65 69 66 20 28 21 24 65 72 72 6f 72 73 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 seif.(!$errors).{.$output->write
16220 6c 6e 28 27 3c 69 6e 66 6f 3e 27 20 2e 20 24 66 69 6c 65 20 2e 20 27 20 69 73 20 76 61 6c 69 64 ln('<info>'...$file...'.is.valid
16240 20 66 6f 72 20 73 69 6d 70 6c 65 20 75 73 61 67 65 20 77 69 74 68 20 63 6f 6d 70 6f 73 65 72 20 .for.simple.usage.with.composer.
16260 62 75 74 20 68 61 73 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 but.has</info>');.$output->write
16280 6c 6e 28 27 3c 69 6e 66 6f 3e 73 74 72 69 63 74 20 65 72 72 6f 72 73 20 74 68 61 74 20 6d 61 6b ln('<info>strict.errors.that.mak
162a0 65 20 69 74 20 75 6e 61 62 6c 65 20 74 6f 20 62 65 20 70 75 62 6c 69 73 68 65 64 20 61 73 20 61 e.it.unable.to.be.published.as.a
162c0 20 70 61 63 6b 61 67 65 3a 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 .package:</info>');.$output->wri
162e0 74 65 6c 6e 28 27 3c 77 61 72 6e 69 6e 67 3e 53 65 65 20 68 74 74 70 3a 2f 2f 67 65 74 63 6f 6d teln('<warning>See.http://getcom
16300 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 72 20 64 poser.org/doc/04-schema.md.for.d
16320 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 3e 27 29 etails.on.the.schema</warning>')
16340 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 6c 6e 28 27 3c 65 72 ;.}.else.{.$output->writeln('<er
16360 72 6f 72 3e 27 20 2e 20 24 66 69 6c 65 20 2e 20 27 20 69 73 20 69 6e 76 61 6c 69 64 2c 20 74 68 ror>'...$file...'.is.invalid,.th
16380 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 77 65 72 65 e.following.errors/warnings.were
163a0 20 66 6f 75 6e 64 3a 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 73 20 .found:</error>');.}..$messages.
163c0 3d 20 61 72 72 61 79 28 0a 27 65 72 72 6f 72 27 20 3d 3e 20 61 72 72 61 79 5f 6d 65 72 67 65 28 =.array(.'error'.=>.array_merge(
163e0 24 65 72 72 6f 72 73 2c 20 24 70 75 62 6c 69 73 68 45 72 72 6f 72 73 29 2c 0a 27 77 61 72 6e 69 $errors,.$publishErrors),.'warni
16400 6e 67 27 20 3d 3e 20 24 77 61 72 6e 69 6e 67 73 2c 0a 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 ng'.=>.$warnings,.);..foreach.($
16420 6d 65 73 73 61 67 65 73 20 61 73 20 24 73 74 79 6c 65 20 3d 3e 20 24 6d 73 67 73 29 20 7b 0a 66 messages.as.$style.=>.$msgs).{.f
16440 6f 72 65 61 63 68 20 28 24 6d 73 67 73 20 61 73 20 24 6d 73 67 29 20 7b 0a 24 6f 75 74 70 75 74 oreach.($msgs.as.$msg).{.$output
16460 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 27 20 2e 20 24 73 74 79 6c 65 20 2e 20 27 3e 27 20 2e 20 24 ->writeln('<'...$style...'>'...$
16480 6d 73 67 20 2e 20 27 3c 2f 27 20 2e 20 24 73 74 79 6c 65 20 2e 20 27 3e 27 29 3b 0a 7d 0a 7d 0a msg...'</'...$style...'>');.}.}.
164a0 0a 72 65 74 75 72 6e 20 24 65 72 72 6f 72 73 20 7c 7c 20 24 70 75 62 6c 69 73 68 45 72 72 6f 72 .return.$errors.||.$publishError
164c0 73 20 3f 20 31 20 3a 20 30 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a s.?.1.:.0;.}.}.<?php............
164e0 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 65 namespace.Composer\Command;..use
16500 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 6f .Composer\DependencyResolver\Poo
16520 6c 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 l;.use.Symfony\Component\Console
16540 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
16560 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
16580 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 5c Argument;.use.Symfony\Component\
165a0 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 53 Console\Input\InputOption;.use.S
165c0 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\
165e0 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 65 70 65 OutputInterface;......class.Depe
16600 6e 64 73 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 6f ndsCommand.extends.Command.{.pro
16620 74 65 63 74 65 64 20 24 6c 69 6e 6b 54 79 70 65 73 20 3d 20 61 72 72 61 79 28 0a 27 72 65 71 75 tected.$linkTypes.=.array(.'requ
16640 69 72 65 27 20 3d 3e 20 61 72 72 61 79 28 27 72 65 71 75 69 72 65 73 27 2c 20 27 72 65 71 75 69 ire'.=>.array('requires',.'requi
16660 72 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 28 27 64 res'),.'require-dev'.=>.array('d
16680 65 76 52 65 71 75 69 72 65 73 27 2c 20 27 72 65 71 75 69 72 65 73 20 28 64 65 76 29 27 29 2c 0a evRequires',.'requires.(dev)'),.
166a0 29 3b 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 );..protected.function.configure
166c0 28 29 0a 7b 0a 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 ().{.$this.->setName('depends').
166e0 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 53 68 6f 77 73 20 77 68 69 63 68 20 70 61 ->setDescription('Shows.which.pa
16700 63 6b 61 67 65 73 20 64 65 70 65 6e 64 20 6f 6e 20 74 68 65 20 67 69 76 65 6e 20 70 61 63 6b 61 ckages.depend.on.the.given.packa
16720 67 65 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 ge').->setDefinition(array(.new.
16740 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 49 6e 70 75 74 41 72 InputArgument('package',.InputAr
16760 67 75 6d 65 6e 74 3a 3a 52 45 51 55 49 52 45 44 2c 20 27 50 61 63 6b 61 67 65 20 74 6f 20 69 6e gument::REQUIRED,.'Package.to.in
16780 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 6c 69 6e 6b 2d 74 spect'),.new.InputOption('link-t
167a0 79 70 65 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 5f 52 45 51 ype',.'',.InputOption::VALUE_REQ
167c0 55 49 52 45 44 20 7c 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 UIRED.|.InputOption::VALUE_IS_AR
167e0 52 41 59 2c 20 27 4c 69 6e 6b 20 74 79 70 65 73 20 74 6f 20 73 68 6f 77 20 28 72 65 71 75 69 72 RAY,.'Link.types.to.show.(requir
16800 65 2c 20 72 65 71 75 69 72 65 2d 64 65 76 29 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 74 68 e,.require-dev)',.array_keys($th
16820 69 73 2d 3e 6c 69 6e 6b 54 79 70 65 73 29 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 3c 3c is->linkTypes)),.)).->setHelp(<<
16840 3c 45 4f 54 0a 44 69 73 70 6c 61 79 73 20 64 65 74 61 69 6c 65 64 20 69 6e 66 6f 72 6d 61 74 69 <EOT.Displays.detailed.informati
16860 6f 6e 20 61 62 6f 75 74 20 77 68 65 72 65 20 61 20 70 61 63 6b 61 67 65 20 69 73 20 72 65 66 65 on.about.where.a.package.is.refe
16880 72 65 6e 63 65 64 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 renced...<info>php.composer.phar
168a0 20 64 65 70 65 6e 64 73 20 63 6f 6d 70 6f 73 65 72 2f 63 6f 6d 70 6f 73 65 72 3c 2f 69 6e 66 6f .depends.composer/composer</info
168c0 3e 0a 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 74 69 6f 6e >..EOT.).;.}..protected.function
168e0 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 20 .execute(InputInterface.$input,.
16900 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 6f OutputInterface.$output).{.$repo
16920 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 74 52 65 70 6f .=.$this->getComposer()->getRepo
16940 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
16960 6f 72 79 28 29 3b 0a 24 6e 65 65 64 6c 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 ory();.$needle.=.$input->getArgu
16980 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 27 29 3b 0a 0a 24 70 6f 6f 6c 20 3d 20 6e 65 77 20 50 6f ment('package');..$pool.=.new.Po
169a0 6f 6c 28 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 72 65 70 6f ol();.$pool->addRepository($repo
169c0 29 3b 0a 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 );..$packages.=.$pool->whatProvi
169e0 64 65 73 28 24 6e 65 65 64 6c 65 29 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 70 61 63 6b 61 67 65 des($needle);.if.(empty($package
16a00 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
16a20 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 70 61 63 6b 61 67 Exception('Could.not.find.packag
16a40 65 20 22 27 2e 24 6e 65 65 64 6c 65 2e 27 22 20 69 6e 20 79 6f 75 72 20 70 72 6f 6a 65 63 74 2e e."'.$needle.'".in.your.project.
16a60 27 29 3b 0a 7d 0a 0a 24 6c 69 6e 6b 54 79 70 65 73 20 3d 20 24 74 68 69 73 2d 3e 6c 69 6e 6b 54 ');.}..$linkTypes.=.$this->linkT
16a80 79 70 65 73 3b 0a 0a 24 74 79 70 65 73 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 ypes;..$types.=.array_map(functi
16aa0 6f 6e 20 28 24 74 79 70 65 29 20 75 73 65 20 28 24 6c 69 6e 6b 54 79 70 65 73 29 20 7b 0a 24 74 on.($type).use.($linkTypes).{.$t
16ac0 79 70 65 20 3d 20 72 74 72 69 6d 28 24 74 79 70 65 2c 20 27 73 27 29 3b 0a 69 66 20 28 21 69 73 ype.=.rtrim($type,.'s');.if.(!is
16ae0 73 65 74 28 24 6c 69 6e 6b 54 79 70 65 73 5b 24 74 79 70 65 5d 29 29 20 7b 0a 74 68 72 6f 77 20 set($linkTypes[$type])).{.throw.
16b00 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 55 new.\InvalidArgumentException('U
16b20 6e 65 78 70 65 63 74 65 64 20 6c 69 6e 6b 20 74 79 70 65 3a 20 27 2e 24 74 79 70 65 2e 27 2c 20 nexpected.link.type:.'.$type.',.
16b40 76 61 6c 69 64 20 74 79 70 65 73 3a 20 27 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 72 valid.types:.'.implode(',.',.arr
16b60 61 79 5f 6b 65 79 73 28 24 6c 69 6e 6b 54 79 70 65 73 29 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e ay_keys($linkTypes)));.}..return
16b80 20 24 74 79 70 65 3b 0a 7d 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6c 69 .$type;.},.$input->getOption('li
16ba0 6e 6b 2d 74 79 70 65 27 29 29 3b 0a 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 nk-type'));..$messages.=.array()
16bc0 3b 0a 24 6f 75 74 70 75 74 50 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 ;.$outputPackages.=.array();.for
16be0 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
16c00 61 63 6b 61 67 65 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 79 70 65 73 20 61 73 20 24 74 79 ackage).{.foreach.($types.as.$ty
16c20 70 65 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 7b 27 67 65 74 27 2e pe).{.foreach.($package->{'get'.
16c40 24 6c 69 6e 6b 54 79 70 65 73 5b 24 74 79 70 65 5d 5b 30 5d 7d 28 29 20 61 73 20 24 6c 69 6e 6b $linkTypes[$type][0]}().as.$link
16c60 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 20 24 ).{.if.($link->getTarget().===.$
16c80 6e 65 65 64 6c 65 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 6f 75 74 70 75 74 50 61 63 6b needle).{.if.(!isset($outputPack
16ca0 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 29 29 20 7b 0a 24 6d ages[$package->getName()])).{.$m
16cc0 65 73 73 61 67 65 73 5b 5d 20 3d 20 27 3c 69 6e 66 6f 3e 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 essages[].=.'<info>'.$package->g
16ce0 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 20 2e 20 27 3c 2f 69 6e 66 6f 3e 20 27 20 2e 20 24 6c etPrettyName()...'</info>.'...$l
16d00 69 6e 6b 54 79 70 65 73 5b 24 74 79 70 65 5d 5b 31 5d 20 2e 20 27 20 27 20 2e 20 24 6e 65 65 64 inkTypes[$type][1]...'.'...$need
16d20 6c 65 20 2e 27 20 28 3c 69 6e 66 6f 3e 27 20 2e 20 24 6c 69 6e 6b 2d 3e 67 65 74 50 72 65 74 74 le..'.(<info>'...$link->getPrett
16d40 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 20 2e 20 27 3c 2f 69 6e 66 6f 3e 29 27 3b 0a 24 6f 75 74 yConstraint()...'</info>)';.$out
16d60 70 75 74 50 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 putPackages[$package->getName()]
16d80 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 6d 65 73 73 61 67 65 .=.true;.}.}.}.}.}..if.($message
16da0 73 29 20 7b 0a 73 6f 72 74 28 24 6d 65 73 73 61 67 65 73 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 s).{.sort($messages);.$output->w
16dc0 72 69 74 65 6c 6e 28 24 6d 65 73 73 61 67 65 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6f 75 74 riteln($messages);.}.else.{.$out
16de0 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 69 6e 66 6f 3e 54 68 65 72 65 20 69 73 20 6e 6f 20 put->writeln('<info>There.is.no.
16e00 69 6e 73 74 61 6c 6c 65 64 20 70 61 63 6b 61 67 65 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 22 installed.package.depending.on."
16e20 27 2e 24 6e 65 65 64 6c 65 2e 27 22 2e 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f '.$needle.'".</info>');.}.}.}.<?
16e40 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
16e60 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
16e80 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;.
16ea0 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
16ec0 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 43 put\InputArgument;.use.Symfony\C
16ee0 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
16f00 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
16f20 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 43 6f e\Output\OutputInterface;.use.Co
16f40 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 6f 73 mposer\Repository\CompositeRepos
16f60 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 5c 50 itory;.use.Composer\Repository\P
16f80 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 72 5c latformRepository;.use.Composer\
16fa0 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;.
16fc0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 use.Composer\Factory;.....class.
16fe0 53 65 61 72 63 68 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 43 6f 6d 6d 61 6e 64 0a 7b 0a SearchCommand.extends.Command.{.
17000 70 72 6f 74 65 63 74 65 64 20 24 6d 61 74 63 68 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6c protected.$matches;.protected.$l
17020 6f 77 4d 61 74 63 68 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 owMatches.=.array();.protected.$
17040 74 6f 6b 65 6e 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 75 74 70 75 74 3b 0a 70 72 6f 74 65 tokens;.protected.$output;.prote
17060 63 74 65 64 20 24 6f 6e 6c 79 4e 61 6d 65 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 cted.$onlyName;..protected.funct
17080 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
170a0 65 28 27 73 65 61 72 63 68 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 53 65 e('search').->setDescription('Se
170c0 61 72 63 68 20 66 6f 72 20 70 61 63 6b 61 67 65 73 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 arch.for.packages').->setDefinit
170e0 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 6f 6e 6c 79 ion(array(.new.InputOption('only
17100 2d 6e 61 6d 65 27 2c 20 27 4e 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f -name',.'N',.InputOption::VALUE_
17120 4e 4f 4e 45 2c 20 27 53 65 61 72 63 68 20 6f 6e 6c 79 20 69 6e 20 6e 61 6d 65 27 29 2c 0a 6e 65 NONE,.'Search.only.in.name'),.ne
17140 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 74 6f 6b 65 6e 73 27 2c 20 49 6e 70 75 74 41 w.InputArgument('tokens',.InputA
17160 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 6e rgument::IS_ARRAY.|.InputArgumen
17180 74 3a 3a 52 45 51 55 49 52 45 44 2c 20 27 74 6f 6b 65 6e 73 20 74 6f 20 73 65 61 72 63 68 20 66 t::REQUIRED,.'tokens.to.search.f
171a0 6f 72 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 3c 3c 3c 45 4f 54 0a 54 68 65 20 73 65 or'),.)).->setHelp(<<<EOT.The.se
171c0 61 72 63 68 20 63 6f 6d 6d 61 6e 64 20 73 65 61 72 63 68 65 73 20 66 6f 72 20 70 61 63 6b 61 67 arch.command.searches.for.packag
171e0 65 73 20 62 79 20 69 74 73 20 6e 61 6d 65 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 es.by.its.name.<info>php.compose
17200 72 2e 70 68 61 72 20 73 65 61 72 63 68 20 73 79 6d 66 6f 6e 79 20 63 6f 6d 70 6f 73 65 72 3c 2f r.phar.search.symfony.composer</
17220 69 6e 66 6f 3e 0a 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 info>..EOT.).;.}..protected.func
17240 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
17260 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 0a ut,.OutputInterface.$output).{..
17280 20 24 70 6c 61 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 .$platformRepo.=.new.PlatformRep
172a0 6f 73 69 74 6f 72 79 3b 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e ository;.if.($composer.=.$this->
172c0 67 65 74 43 6f 6d 70 6f 73 65 72 28 66 61 6c 73 65 29 29 20 7b 0a 24 6c 6f 63 61 6c 52 65 70 6f getComposer(false)).{.$localRepo
172e0 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
17300 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 24 69 6e 73 er()->getLocalRepository();.$ins
17320 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 52 65 70 6f 73 69 talledRepo.=.new.CompositeReposi
17340 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 61 74 66 6f 72 6d tory(array($localRepo,.$platform
17360 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 73 69 74 65 52 65 Repo));.$repos.=.new.CompositeRe
17380 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 28 24 69 6e 73 74 pository(array_merge(array($inst
173a0 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 52 65 70 6f 73 69 alledRepo),.$composer->getReposi
173c0 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 72 69 65 73 28 29 toryManager()->getRepositories()
173e0 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 65 66 61 75 6c 74 52 65 70 6f 73 20 3d 20 46 61 63 ));.}.else.{.$defaultRepos.=.Fac
17400 74 6f 72 79 3a 3a 63 72 65 61 74 65 44 65 66 61 75 6c 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 tory::createDefaultRepositories(
17420 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c $this->getIO());.$output->writel
17440 6e 28 27 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 n('No.composer.json.found.in.the
17460 20 63 75 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 70 61 63 6b .current.directory,.showing.pack
17480 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 27 2c 20 61 72 72 61 ages.from.'...implode(',.',.arra
174a0 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 24 69 6e 73 74 61 6c y_keys($defaultRepos)));.$instal
174c0 6c 65 64 52 65 70 6f 20 3d 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 3b 0a 24 72 65 70 6f 73 20 ledRepo.=.$platformRepo;.$repos.
174e0 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 61 72 72 61 79 5f =.new.CompositeRepository(array_
17500 6d 65 72 67 65 28 61 72 72 61 79 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 29 2c 20 24 64 65 merge(array($installedRepo),.$de
17520 66 61 75 6c 74 52 65 70 6f 73 29 29 3b 0a 7d 0a 0a 24 6f 6e 6c 79 4e 61 6d 65 20 3d 20 24 69 6e faultRepos));.}..$onlyName.=.$in
17540 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 0a 24 66 put->getOption('only-name');..$f
17560 6c 61 67 73 20 3d 20 24 6f 6e 6c 79 4e 61 6d 65 20 3f 20 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 lags.=.$onlyName.?.RepositoryInt
17580 65 72 66 61 63 65 3a 3a 53 45 41 52 43 48 5f 4e 41 4d 45 20 3a 20 52 65 70 6f 73 69 74 6f 72 79 erface::SEARCH_NAME.:.Repository
175a0 49 6e 74 65 72 66 61 63 65 3a 3a 53 45 41 52 43 48 5f 46 55 4c 4c 54 45 58 54 3b 0a 24 72 65 73 Interface::SEARCH_FULLTEXT;.$res
175c0 75 6c 74 73 20 3d 20 24 72 65 70 6f 73 2d 3e 73 65 61 72 63 68 28 69 6d 70 6c 6f 64 65 28 27 20 ults.=.$repos->search(implode('.
175e0 27 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 74 6f 6b 65 6e 73 27 29 ',.$input->getArgument('tokens')
17600 29 2c 20 24 66 6c 61 67 73 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 73 75 6c 74 73 20 61 ),.$flags);..foreach.($results.a
17620 73 20 24 72 65 73 75 6c 74 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 72 s.$result).{.$output->writeln($r
17640 65 73 75 6c 74 5b 27 6e 61 6d 65 27 5d 20 2e 20 28 69 73 73 65 74 28 24 72 65 73 75 6c 74 5b 27 esult['name']...(isset($result['
17660 64 65 73 63 72 69 70 74 69 6f 6e 27 5d 29 20 3f 20 27 20 27 2e 20 24 72 65 73 75 6c 74 5b 27 64 description']).?.'.'..$result['d
17680 65 73 63 72 69 70 74 69 6f 6e 27 5d 20 3a 20 27 27 29 29 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 escription'].:.''));.}.}.}.<?php
176a0 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 43 ............namespace.Composer\C
176c0 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 73 65 72 3b 0a ommand;..use.Composer\Composer;.
176e0 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
17700 65 6d 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 46 69 6c 65 em;.use.Composer\Downloader\File
17720 73 79 73 74 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 systemException;.use.Symfony\Com
17740 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
17760 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
17780 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
177a0 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 74 65 6e 64 73 20 43 lass.SelfUpdateCommand.extends.C
177c0 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 6e 66 ommand.{.protected.function.conf
177e0 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 73 65 6c 66 2d igure().{.$this.->setName('self-
17800 75 70 64 61 74 65 27 29 0a 2d 3e 73 65 74 41 6c 69 61 73 65 73 28 61 72 72 61 79 28 27 73 65 6c update').->setAliases(array('sel
17820 66 75 70 64 61 74 65 27 29 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 55 70 64 fupdate')).->setDescription('Upd
17840 61 74 65 73 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 74 6f 20 74 68 65 20 6c 61 74 65 73 74 ates.composer.phar.to.the.latest
17860 20 76 65 72 73 69 6f 6e 2e 27 29 0a 2d 3e 73 65 74 48 65 6c 70 28 3c 3c 3c 45 4f 54 0a 54 68 65 .version.').->setHelp(<<<EOT.The
17880 20 3c 69 6e 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 .<info>self-update</info>.comman
178a0 64 20 63 68 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 d.checks.getcomposer.org.for.new
178c0 65 72 0a 76 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 er.versions.of.composer.and.if.f
178e0 6f 75 6e 64 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 ound,.installs.the.latest...<inf
17900 6f 3e 70 68 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 o>php.composer.phar.self-update<
17920 2f 69 6e 66 6f 3e 0a 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 /info>..EOT.).;.}..protected.fun
17940 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
17960 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).{.
17980 24 6c 6f 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 $localFilename.=.realpath($_SERV
179a0 45 52 5b 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 ER['argv'][0]).?:.$_SERVER['argv
179c0 27 5d 5b 30 5d 3b 0a 24 74 65 6d 70 46 69 6c 65 6e 61 6d 65 20 3d 20 64 69 72 6e 61 6d 65 28 24 '][0];.$tempFilename.=.dirname($
179e0 6c 6f 63 61 6c 46 69 6c 65 6e 61 6d 65 29 20 2e 20 27 2f 27 20 2e 20 62 61 73 65 6e 61 6d 65 28 localFilename)...'/'...basename(
17a00 24 6c 6f 63 61 6c 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 $localFilename,.'.phar').'-temp.
17a20 70 68 61 72 27 3b 0a 0a 0a 20 69 66 20 28 21 69 73 5f 77 72 69 74 61 62 6c 65 28 24 74 65 6d 70 phar';....if.(!is_writable($temp
17a40 44 69 72 65 63 74 6f 72 79 20 3d 20 64 69 72 6e 61 6d 65 28 24 74 65 6d 70 46 69 6c 65 6e 61 6d Directory.=.dirname($tempFilenam
17a60 65 29 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 70 e))).{.throw.new.FilesystemExcep
17a80 74 69 6f 6e 28 27 43 6f 6d 70 6f 73 65 72 20 75 70 64 61 74 65 20 66 61 69 6c 65 64 3a 20 74 68 tion('Composer.update.failed:.th
17aa0 65 20 22 27 2e 24 74 65 6d 70 44 69 72 65 63 74 6f 72 79 2e 27 22 20 64 69 72 65 63 74 6f 72 79 e."'.$tempDirectory.'".directory
17ac0 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 20 .used.to.download.the.temp.file.
17ae0 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 69 66 20 28 21 could.not.be.written');.}..if.(!
17b00 69 73 5f 77 72 69 74 61 62 6c 65 28 24 6c 6f 63 61 6c 46 69 6c 65 6e 61 6d 65 29 29 20 7b 0a 74 is_writable($localFilename)).{.t
17b20 68 72 6f 77 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 45 78 63 65 70 74 69 6f 6e 28 27 43 6f hrow.new.FilesystemException('Co
17b40 6d 70 6f 73 65 72 20 75 70 64 61 74 65 20 66 61 69 6c 65 64 3a 20 74 68 65 20 22 27 2e 24 6c 6f mposer.update.failed:.the."'.$lo
17b60 63 61 6c 46 69 6c 65 6e 61 6d 65 2e 20 27 22 20 66 69 6c 65 20 63 6f 75 6c 64 20 6e 6f 74 20 62 calFilename..'".file.could.not.b
17b80 65 20 77 72 69 74 74 65 6e 27 29 3b 0a 7d 0a 0a 24 70 72 6f 74 6f 63 6f 6c 20 3d 20 65 78 74 65 e.written');.}..$protocol.=.exte
17ba0 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 73 nsion_loaded('openssl').?.'https
17bc0 27 20 3a 20 27 68 74 74 70 27 3b 0a 24 72 66 73 20 3d 20 6e 65 77 20 52 65 6d 6f 74 65 46 69 6c '.:.'http';.$rfs.=.new.RemoteFil
17be0 65 73 79 73 74 65 6d 28 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 29 3b 0a 24 6c 61 74 65 73 74 esystem($this->getIO());.$latest
17c00 20 3d 20 74 72 69 6d 28 24 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 27 67 65 74 63 6f .=.trim($rfs->getContents('getco
17c20 6d 70 6f 73 65 72 2e 6f 72 67 27 2c 20 24 70 72 6f 74 6f 63 6f 6c 20 2e 20 27 3a 2f 2f 67 65 74 mposer.org',.$protocol...'://get
17c40 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 76 65 72 73 69 6f 6e 27 2c 20 66 61 6c 73 65 29 29 3b 0a composer.org/version',.false));.
17c60 0a 69 66 20 28 43 6f 6d 70 6f 73 65 72 3a 3a 56 45 52 53 49 4f 4e 20 21 3d 3d 20 24 6c 61 74 65 .if.(Composer::VERSION.!==.$late
17c80 73 74 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 22 st).{.$output->writeln(sprintf("
17ca0 55 70 64 61 74 69 6e 67 20 74 6f 20 76 65 72 73 69 6f 6e 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e Updating.to.version.<info>%s</in
17cc0 66 6f 3e 2e 22 2c 20 24 6c 61 74 65 73 74 29 29 3b 0a 0a 24 72 65 6d 6f 74 65 46 69 6c 65 6e 61 fo>.",.$latest));..$remoteFilena
17ce0 6d 65 20 3d 20 24 70 72 6f 74 6f 63 6f 6c 20 2e 20 27 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 me.=.$protocol...'://getcomposer
17d00 2e 6f 72 67 2f 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 27 3b 0a 0a 24 72 66 73 2d 3e 63 6f 70 79 .org/composer.phar';..$rfs->copy
17d20 28 27 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 27 2c 20 24 72 65 6d 6f 74 65 46 69 6c 65 6e ('getcomposer.org',.$remoteFilen
17d40 61 6d 65 2c 20 24 74 65 6d 70 46 69 6c 65 6e 61 6d 65 29 3b 0a 0a 69 66 20 28 21 66 69 6c 65 5f ame,.$tempFilename);..if.(!file_
17d60 65 78 69 73 74 73 28 24 74 65 6d 70 46 69 6c 65 6e 61 6d 65 29 29 20 7b 0a 24 6f 75 74 70 75 74 exists($tempFilename)).{.$output
17d80 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 65 72 72 6f 72 3e 54 68 65 20 64 6f 77 6e 6c 6f 61 64 20 6f ->writeln('<error>The.download.o
17da0 66 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 f.the.new.composer.version.faile
17dc0 64 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 27 29 3b 0a 0a 72 d.for.an.unexpected.reason');..r
17de0 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 63 68 6d 6f 64 28 24 74 65 6d 70 46 69 6c eturn.1;.}..try.{.chmod($tempFil
17e00 65 6e 61 6d 65 2c 20 30 37 37 37 20 26 20 7e 75 6d 61 73 6b 28 29 29 3b 0a 0a 20 24 70 68 61 72 ename,.0777.&.~umask());...$phar
17e20 20 3d 20 6e 65 77 20 5c 50 68 61 72 28 24 74 65 6d 70 46 69 6c 65 6e 61 6d 65 29 3b 0a 0a 20 75 .=.new.\Phar($tempFilename);...u
17e40 6e 73 65 74 28 24 70 68 61 72 29 3b 0a 72 65 6e 61 6d 65 28 24 74 65 6d 70 46 69 6c 65 6e 61 6d nset($phar);.rename($tempFilenam
17e60 65 2c 20 24 6c 6f 63 61 6c 46 69 6c 65 6e 61 6d 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 e,.$localFilename);.}.catch.(\Ex
17e80 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 40 75 6e 6c 69 6e 6b 28 24 74 65 6d 70 46 69 6c 65 6e ception.$e).{.@unlink($tempFilen
17ea0 61 6d 65 29 3b 0a 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 ame);.if.(!$e.instanceof.\Unexpe
17ec0 63 74 65 64 56 61 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 ctedValueException.&&.!$e.instan
17ee0 63 65 6f 66 20 5c 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 ceof.\PharException).{.throw.$e;
17f00 0a 7d 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 65 72 72 6f 72 3e 54 68 65 20 .}.$output->writeln('<error>The.
17f20 64 6f 77 6e 6c 6f 61 64 20 69 73 20 63 6f 72 72 75 70 74 65 64 20 28 27 2e 24 65 2d 3e 67 65 74 download.is.corrupted.('.$e->get
17f40 4d 65 73 73 61 67 65 28 29 2e 27 29 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 24 6f 75 74 70 75 74 Message().').</error>');.$output
17f60 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 65 72 72 6f 72 3e 50 6c 65 61 73 65 20 72 65 2d 72 75 6e 20 ->writeln('<error>Please.re-run.
17f80 74 68 65 20 73 65 6c 66 2d 75 70 64 61 74 65 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 74 72 79 20 61 the.self-update.command.to.try.a
17fa0 67 61 69 6e 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 6f 75 74 gain.</error>');.}.}.else.{.$out
17fc0 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 22 3c 69 6e 66 6f 3e 59 6f 75 20 61 72 65 20 75 73 69 6e put->writeln("<info>You.are.usin
17fe0 67 20 74 68 65 20 6c 61 74 65 73 74 20 63 6f 6d 70 6f 73 65 72 20 76 65 72 73 69 6f 6e 2e 3c 2f g.the.latest.composer.version.</
18000 69 6e 66 6f 3e 22 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 0a info>");.}.}.}.<?php............
18020 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 65 namespace.Composer\Command;..use
18040 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
18060 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 6d \InputInterface;.use.Symfony\Com
18080 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 65 ponent\Console\Input\InputArgume
180a0 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 6c nt;.use.Symfony\Component\Consol
180c0 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 79 e\Input\InputOption;.use.Symfony
180e0 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 75 74 \Component\Console\Output\Output
18100 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 72 79 3b Interface;.use.Composer\Factory;
18120 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 43 6f 6d .use.Composer\Installer;.use.Com
18140 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 6f 73 65 poser\Json\JsonFile;.use.Compose
18160 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 4d 61 6e 69 70 75 6c 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 63 6c 61 r\Json\JsonManipulator;......cla
18180 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 6e 69 74 43 6f ss.RequireCommand.extends.InitCo
181a0 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 6e 66 69 mmand.{.protected.function.confi
181c0 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 72 65 71 75 69 72 gure().{.$this.->setName('requir
181e0 65 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 41 64 64 73 20 72 65 71 75 69 e').->setDescription('Adds.requi
18200 72 65 64 20 70 61 63 6b 61 67 65 73 20 74 6f 20 79 6f 75 72 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 red.packages.to.your.composer.js
18220 6f 6e 20 61 6e 64 20 69 6e 73 74 61 6c 6c 73 20 74 68 65 6d 27 29 0a 2d 3e 73 65 74 44 65 66 69 on.and.installs.them').->setDefi
18240 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 6d 65 6e 74 28 nition(array(.new.InputArgument(
18260 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 49 53 5f 41 52 'packages',.InputArgument::IS_AR
18280 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 4c 2c 20 27 RAY.|.InputArgument::OPTIONAL,.'
182a0 52 65 71 75 69 72 65 64 20 70 61 63 6b 61 67 65 20 77 69 74 68 20 61 20 76 65 72 73 69 6f 6e 20 Required.package.with.a.version.
182c0 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 2e 30 20 6f constraint,.e.g..foo/bar:1.0.0.o
182e0 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 31 2e 30 2e r.foo/bar=1.0.0.or."foo/bar.1.0.
18300 30 22 27 29 2c 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 0"'),.new.InputOption('dev',.nul
18320 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 41 64 64 l,.InputOption::VALUE_NONE,.'Add
18340 20 72 65 71 75 69 72 65 6d 65 6e 74 20 74 6f 20 72 65 71 75 69 72 65 2d 64 65 76 2e 27 29 2c 0a .requirement.to.require-dev.'),.
18360 6e 65 77 20 49 6e 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 new.InputOption('prefer-source',
18380 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,.
183a0 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
183c0 65 20 73 6f 75 72 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 e.sources.when.possible,.includi
183e0 6e 67 20 56 43 53 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 ng.VCS.information.'),.new.Input
18400 4f 70 74 69 6f 6e 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 Option('prefer-dist',.null,.Inpu
18420 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 73 20 69 6e 73 tOption::VALUE_NONE,.'Forces.ins
18440 74 61 6c 6c 61 74 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 tallation.from.package.dist.even
18460 20 66 6f 72 20 64 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 .for.dev.versions.'),.new.InputO
18480 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 6e 70 75 74 ption('no-progress',.null,.Input
184a0 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 75 74 70 Option::VALUE_NONE,.'Do.not.outp
184c0 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 20 49 6e 70 ut.download.progress.'),.new.Inp
184e0 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 75 70 64 61 74 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 utOption('no-update',.null,.Inpu
18500 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 74 tOption::VALUE_NONE,.'Disables.t
18520 68 65 20 61 75 74 6f 6d 61 74 69 63 20 75 70 64 61 74 65 20 6f 66 20 74 68 65 20 64 65 70 65 6e he.automatic.update.of.the.depen
18540 64 65 6e 63 69 65 73 2e 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 3c 3c 3c 45 4f 54 0a dencies.'),.)).->setHelp(<<<EOT.
18560 54 68 65 20 72 65 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 The.require.command.adds.require
18580 64 20 70 61 63 6b 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 d.packages.to.your.composer.json
185a0 20 61 6e 64 20 69 6e 73 74 61 6c 6c 73 20 74 68 65 6d 0a 0a 49 66 20 79 6f 75 20 64 6f 20 6e 6f .and.installs.them..If.you.do.no
185c0 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 6e 64 t.want.to.install.the.new.depend
185e0 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 6c 20 encies.immediately.you.can.call.
18600 69 74 20 77 69 74 68 20 2d 2d 6e 6f 2d 75 70 64 61 74 65 0a 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a it.with.--no-update..EOT.).;.}..
18620 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 74 protected.function.execute(Input
18640 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
18660 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 66 69 6c 65 20 3d 20 46 61 63 74 6f 72 79 3a 3a 67 65 e.$output).{.$file.=.Factory::ge
18680 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 29 3b 0a 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 tComposerFile();..if.(!file_exis
186a0 74 73 28 24 66 69 6c 65 29 20 26 26 20 21 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 ts($file).&&.!file_put_contents(
186c0 24 66 69 6c 65 2c 20 22 7b 5c 6e 7d 5c 6e 22 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 $file,."{\n}\n")).{.$output->wri
186e0 74 65 6c 6e 28 27 3c 65 72 72 6f 72 3e 27 2e 24 66 69 6c 65 2e 27 20 63 6f 75 6c 64 20 6e 6f 74 teln('<error>'.$file.'.could.not
18700 20 62 65 20 63 72 65 61 74 65 64 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 .be.created.</error>');..return.
18720 31 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 29 20 7b 0a 1;.}.if.(!is_readable($file)).{.
18740 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 65 72 72 6f 72 3e 27 2e 24 66 69 6c 65 $output->writeln('<error>'.$file
18760 2e 27 20 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 .'.is.not.readable.</error>');..
18780 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 69 66 20 28 21 69 73 5f 77 72 69 74 61 62 6c 65 28 24 66 69 return.1;.}.if.(!is_writable($fi
187a0 6c 65 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 65 72 72 6f 72 3e le)).{.$output->writeln('<error>
187c0 27 2e 24 66 69 6c 65 2e 27 20 69 73 20 6e 6f 74 20 77 72 69 74 61 62 6c 65 2e 3c 2f 65 72 72 6f '.$file.'.is.not.writable.</erro
187e0 72 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 24 6a 73 6f 6e 20 3d 20 6e 65 77 20 r>');..return.1;.}..$json.=.new.
18800 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 73 JsonFile($file);.$composer.=.$js
18820 6f 6e 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 20 3d 20 66 69 on->read();.$composerBackup.=.fi
18840 6c 65 5f 67 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 le_get_contents($json->getPath()
18860 29 3b 0a 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 );..$requirements.=.$this->deter
18880 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 24 6f 75 74 70 75 74 mineRequirements($input,.$output
188a0 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 63 6b 61 67 65 73 27 ,.$input->getArgument('packages'
188c0 29 29 3b 0a 0a 24 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 ));..$requireKey.=.$input->getOp
188e0 74 69 6f 6e 28 27 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 tion('dev').?.'require-dev'.:.'r
18900 65 71 75 69 72 65 27 3b 0a 24 62 61 73 65 52 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 61 72 72 equire';.$baseRequirements.=.arr
18920 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 72 65 71 75 69 72 65 4b 65 79 2c 20 24 63 6f 6d 70 ay_key_exists($requireKey,.$comp
18940 6f 73 65 72 29 20 3f 20 24 63 6f 6d 70 6f 73 65 72 5b 24 72 65 71 75 69 72 65 4b 65 79 5d 20 3a oser).?.$composer[$requireKey].:
18960 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 73 2d .array();.$requirements.=.$this-
18980 3e 66 6f 72 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 >formatRequirements($requirement
189a0 73 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 75 70 64 61 74 65 46 69 6c 65 43 6c 65 61 6e s);..if.(!$this->updateFileClean
189c0 6c 79 28 24 6a 73 6f 6e 2c 20 24 62 61 73 65 52 65 71 75 69 72 65 6d 65 6e 74 73 2c 20 24 72 65 ly($json,.$baseRequirements,.$re
189e0 71 75 69 72 65 6d 65 6e 74 73 2c 20 24 72 65 71 75 69 72 65 4b 65 79 29 29 20 7b 0a 66 6f 72 65 quirements,.$requireKey)).{.fore
18a00 61 63 68 20 28 24 72 65 71 75 69 72 65 6d 65 6e 74 73 20 61 73 20 24 70 61 63 6b 61 67 65 20 3d ach.($requirements.as.$package.=
18a20 3e 20 24 76 65 72 73 69 6f 6e 29 20 7b 0a 24 62 61 73 65 52 65 71 75 69 72 65 6d 65 6e 74 73 5b >.$version).{.$baseRequirements[
18a40 24 70 61 63 6b 61 67 65 5d 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 24 63 6f 6d 70 6f 73 $package].=.$version;.}..$compos
18a60 65 72 5b 24 72 65 71 75 69 72 65 4b 65 79 5d 20 3d 20 24 62 61 73 65 52 65 71 75 69 72 65 6d 65 er[$requireKey].=.$baseRequireme
18a80 6e 74 73 3b 0a 24 6a 73 6f 6e 2d 3e 77 72 69 74 65 28 24 63 6f 6d 70 6f 73 65 72 29 3b 0a 7d 0a nts;.$json->write($composer);.}.
18aa0 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 69 6e 66 6f 3e 27 2e 24 66 69 6c 65 .$output->writeln('<info>'.$file
18ac0 2e 27 20 68 61 73 20 62 65 65 6e 20 75 70 64 61 74 65 64 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 69 .'.has.been.updated</info>');..i
18ae0 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 27 f.($input->getOption('no-update'
18b00 29 29 20 7b 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 0a 20 24 63 6f 6d 70 6f 73 65 72 20 3d 20 )).{.return.0;.}....$composer.=.
18b20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d $this->getComposer();.$composer-
18b40 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
18b60 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-
18b80 70 72 6f 67 72 65 73 73 27 29 29 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 progress'));.$io.=.$this->getIO(
18ba0 29 3b 0a 24 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 );.$install.=.Installer::create(
18bc0 24 69 6f 2c 20 24 63 6f 6d 70 6f 73 65 72 29 3b 0a 0a 24 69 6e 73 74 61 6c 6c 0a 2d 3e 73 65 74 $io,.$composer);..$install.->set
18be0 56 65 72 62 6f 73 65 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 Verbose($input->getOption('verbo
18c00 73 65 27 29 29 0a 2d 3e 73 65 74 50 72 65 66 65 72 53 6f 75 72 63 65 28 24 69 6e 70 75 74 2d 3e se')).->setPreferSource($input->
18c20 67 65 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 73 6f 75 72 63 65 27 29 29 0a 2d 3e 73 65 getOption('prefer-source')).->se
18c40 74 50 72 65 66 65 72 44 69 73 74 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 tPreferDist($input->getOption('p
18c60 72 65 66 65 72 2d 64 69 73 74 27 29 29 0a 2d 3e 73 65 74 44 65 76 4d 6f 64 65 28 74 72 75 65 29 refer-dist')).->setDevMode(true)
18c80 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 68 .->setUpdate(true).->setUpdateWh
18ca0 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 65 6e 74 73 itelist(array_keys($requirements
18cc0 29 29 3b 0a 3b 0a 0a 69 66 20 28 21 24 69 6e 73 74 61 6c 6c 2d 3e 72 75 6e 28 29 29 20 7b 0a 24 ));.;..if.(!$install->run()).{.$
18ce0 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 22 5c 6e 22 2e 27 3c 65 72 72 6f 72 3e 49 6e 73 output->writeln("\n".'<error>Ins
18d00 74 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 66 tallation.failed,.reverting.'.$f
18d20 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 6e 74 2e 3c 2f ile.'.to.its.original.content.</
18d40 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 28 24 6a 73 6f error>');.file_put_contents($jso
18d60 6e 2d 3e 67 65 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 n->getPath(),.$composerBackup);.
18d80 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 70 72 69 76 61 .return.1;.}..return.0;.}..priva
18da0 74 65 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 46 69 6c 65 43 6c 65 61 6e 6c 79 28 24 6a te.function.updateFileCleanly($j
18dc0 73 6f 6e 2c 20 61 72 72 61 79 20 24 62 61 73 65 2c 20 61 72 72 61 79 20 24 6e 65 77 2c 20 24 72 son,.array.$base,.array.$new,.$r
18de0 65 71 75 69 72 65 4b 65 79 29 0a 7b 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 66 69 6c 65 5f 67 65 equireKey).{.$contents.=.file_ge
18e00 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 24 t_contents($json->getPath());..$
18e20 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 6f manipulator.=.new.JsonManipulato
18e40 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 20 r($contents);..foreach.($new.as.
18e60 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 21 $package.=>.$constraint).{.if.(!
18e80 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 65 $manipulator->addLink($requireKe
18ea0 79 2c 20 24 70 61 63 6b 61 67 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a 72 65 74 y,.$package,.$constraint)).{.ret
18ec0 75 72 6e 20 66 61 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 urn.false;.}.}..file_put_content
18ee0 73 28 24 6a 73 6f 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 s($json->getPath(),.$manipulator
18f00 2d 3e 67 65 74 43 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 ->getContents());..return.true;.
18f20 7d 0a 0a 70 72 6f 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 }..protected.function.interact(I
18f40 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
18f60 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 3c 3f 70 rface.$output).{.return;.}.}.<?p
18f80 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
18fa0 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 74 \Command;..use.Symfony\Component
18fc0 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 75 \Console\Input\InputInterface;.u
18fe0 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
19000 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 70 ut\InputOption;.use.Symfony\Comp
19020 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 72 onent\Console\Output\OutputInter
19040 66 61 63 65 3b 0a 0a 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 face;.....class.DumpAutoloadComm
19060 61 6e 64 20 65 78 74 65 6e 64 73 20 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 and.extends.Command.{.protected.
19080 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 3e 73 function.configure().{.$this.->s
190a0 65 74 4e 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 etName('dump-autoload').->setAli
190c0 61 73 65 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 ases(array('dumpautoload')).->se
190e0 74 44 65 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 tDescription('Dumps.the.autoload
19100 65 72 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 er').->setDefinition(array(.new.
19120 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 70 InputOption('optimize',.'o',.Inp
19140 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 73 utOption::VALUE_NONE,.'Optimizes
19160 20 50 53 52 30 20 70 61 63 6b 61 67 65 73 20 74 6f 20 62 65 20 6c 6f 61 64 65 64 20 77 69 74 68 .PSR0.packages.to.be.loaded.with
19180 20 63 6c 61 73 73 6d 61 70 73 20 74 6f 6f 2c 20 67 6f 6f 64 20 66 6f 72 20 70 72 6f 64 75 63 74 .classmaps.too,.good.for.product
191a0 69 6f 6e 2e 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 3c 3c 3c 45 4f 54 0a 3c 69 6e 66 ion.'),.)).->setHelp(<<<EOT.<inf
191c0 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 61 o>php.composer.phar.dump-autoloa
191e0 64 3c 2f 69 6e 66 6f 3e 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 d</info>.EOT.).;.}..protected.fu
19200 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 69 nction.execute(InputInterface.$i
19220 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 7b nput,.OutputInterface.$output).{
19240 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 69 6e 66 6f 3e 47 65 6e 65 72 61 74 .$output->writeln('<info>Generat
19260 69 6e 67 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 0a 24 63 ing.autoload.files</info>');..$c
19280 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 3b 0a omposer.=.$this->getComposer();.
192a0 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 70 6f 73 65 72 $installationManager.=.$composer
192c0 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 24 6c 6f 63 ->getInstallationManager();.$loc
192e0 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
19300 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()
19320 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 50 61 63 6b 61 ;.$package.=.$composer->getPacka
19340 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 67 65 74 43 6f ge();.$config.=.$composer->getCo
19360 6e 66 69 67 28 29 3b 0a 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 41 75 74 6f 6c 6f 61 64 47 nfig();..$composer->getAutoloadG
19380 65 6e 65 72 61 74 6f 72 28 29 2d 3e 64 75 6d 70 28 24 63 6f 6e 66 69 67 2c 20 24 6c 6f 63 61 6c enerator()->dump($config,.$local
193a0 52 65 70 6f 2c 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 Repo,.$package,.$installationMan
193c0 61 67 65 72 2c 20 27 63 6f 6d 70 6f 73 65 72 27 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 ager,.'composer',.$input->getOpt
193e0 69 6f 6e 28 27 6f 70 74 69 6d 69 7a 65 27 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a ion('optimize'));.}.}.<?php.....
19400 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
19420 64 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 d\Helper;..use.Symfony\Component
19440 5c 43 6f 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 20 61 73 20 \Console\Helper\DialogHelper.as.
19460 42 61 73 65 44 69 61 6c 6f 67 48 65 6c 70 65 72 3b 0a 0a 63 6c 61 73 73 20 44 69 61 6c 6f 67 48 BaseDialogHelper;..class.DialogH
19480 65 6c 70 65 72 20 65 78 74 65 6e 64 73 20 42 61 73 65 44 69 61 6c 6f 67 48 65 6c 70 65 72 0a 7b elper.extends.BaseDialogHelper.{
194a0 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 67 65 74 51 ............public.function.getQ
194c0 75 65 73 74 69 6f 6e 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 uestion($question,.$default.=.nu
194e0 6c 6c 2c 20 24 73 65 70 20 3d 20 27 3a 27 29 0a 7b 0a 72 65 74 75 72 6e 20 24 64 65 66 61 75 6c ll,.$sep.=.':').{.return.$defaul
19500 74 20 21 3d 3d 20 6e 75 6c 6c 20 3f 0a 73 70 72 69 6e 74 66 28 27 3c 69 6e 66 6f 3e 25 73 3c 2f t.!==.null.?.sprintf('<info>%s</
19520 69 6e 66 6f 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 25 73 20 info>.[<comment>%s</comment>]%s.
19540 27 2c 20 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 2c 20 24 73 65 70 29 20 3a 0a ',.$question,.$default,.$sep).:.
19560 73 70 72 69 6e 74 66 28 27 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 25 73 20 27 2c 20 24 71 sprintf('<info>%s</info>%s.',.$q
19580 75 65 73 74 69 6f 6e 2c 20 24 73 65 70 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a uestion,.$sep);.}.}.<?php.......
195a0 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;
195c0 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\
195e0 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
19600 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
19620 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
19640 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 73 65 sole\Output\OutputInterface;.use
19660 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 65 70 6f 72 .Composer\Downloader\ChangeRepor
19680 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 6e 6c 6f 61 tInterface;.use.Composer\Downloa
196a0 64 65 72 5c 56 63 73 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c der\VcsDownloader;.use.Composer\
196c0 53 63 72 69 70 74 5c 53 63 72 69 70 74 45 76 65 6e 74 73 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 Script\ScriptEvents;......class.
196e0 53 74 61 74 75 73 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 43 6f 6d 6d 61 6e 64 0a 7b 0a StatusCommand.extends.Command.{.
19700 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().{
19720 0a 24 74 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 .$this.->setName('status').->set
19740 44 65 73 63 72 69 70 74 69 6f 6e 28 27 53 68 6f 77 20 61 20 6c 69 73 74 20 6f 66 20 6c 6f 63 61 Description('Show.a.list.of.loca
19760 6c 6c 79 20 6d 6f 64 69 66 69 65 64 20 70 61 63 6b 61 67 65 73 27 29 0a 2d 3e 73 65 74 44 65 66 lly.modified.packages').->setDef
19780 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 6e 28 27 inition(array(.new.InputOption('
197a0 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 6f verbose',.'v|vv|vvv',.InputOptio
197c0 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 20 66 69 n::VALUE_NONE,.'Show.modified.fi
197e0 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 6f 6e 74 les.for.each.directory.that.cont
19800 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 28 3c 3c ains.changes.'),.)).->setHelp(<<
19820 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 6c 61 79 73 <EOT.The.status.command.displays
19840 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 20 68 61 76 .a.list.of.dependencies.that.hav
19860 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 45 4f 54 0a 29 0a e.been.modified.locally...EOT.).
19880 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(
198a0 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
198c0 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 20 3d 20 erface.$output).{...$composer.=.
198e0 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 64 $this->getComposer();.$installed
19900 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 79 4d Repo.=.$composer->getRepositoryM
19920 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 3b 0a anager()->getLocalRepository();.
19940 0a 24 64 6d 20 3d 20 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 .$dm.=.$composer->getDownloadMan
19960 61 67 65 72 28 29 3b 0a 24 69 6d 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 49 6e 73 74 ager();.$im.=.$composer->getInst
19980 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 3b 0a 0a 0a 20 24 63 6f 6d 70 6f 73 65 72 2d allationManager();....$composer-
199a0 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 68 43 >getEventDispatcher()->dispatchC
199c0 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 52 45 5f 53 54 ommandEvent(ScriptEvents::PRE_ST
199e0 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 20 3d 20 61 72 72 61 ATUS_CMD,.true);..$errors.=.arra
19a00 79 28 29 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2d y();....foreach.($installedRepo-
19a20 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 64 >getPackages().as.$package).{.$d
19a40 6f 77 6e 6c 6f 61 64 65 72 20 3d 20 24 64 6d 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 65 72 46 6f ownloader.=.$dm->getDownloaderFo
19a60 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 65 29 3b 0a 0a 69 66 rInstalledPackage($package);..if
19a80 20 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 .($downloader.instanceof.ChangeR
19aa0 65 70 6f 72 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 74 61 72 67 65 74 44 69 72 20 3d 20 24 eportInterface).{.$targetDir.=.$
19ac0 69 6d 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 im->getInstallPath($package);..i
19ae0 66 20 28 24 63 68 61 6e 67 65 73 20 3d 20 24 64 6f 77 6e 6c 6f 61 64 65 72 2d 3e 67 65 74 4c 6f f.($changes.=.$downloader->getLo
19b00 63 61 6c 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 69 72 29 calChanges($package,.$targetDir)
19b20 29 20 7b 0a 24 65 72 72 6f 72 73 5b 24 74 61 72 67 65 74 44 69 72 5d 20 3d 20 24 63 68 61 6e 67 ).{.$errors[$targetDir].=.$chang
19b40 65 73 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 21 24 65 72 72 6f 72 73 29 20 7b 0a 24 6f 75 es;.}.}.}....if.(!$errors).{.$ou
19b60 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 69 6e 66 6f 3e 4e 6f 20 6c 6f 63 61 6c 20 63 68 tput->writeln('<info>No.local.ch
19b80 61 6e 67 65 73 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6f 75 74 70 75 74 anges</info>');.}.else.{.$output
19ba0 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 65 72 72 6f 72 3e 59 6f 75 20 68 61 76 65 20 63 68 61 6e 67 ->writeln('<error>You.have.chang
19bc0 65 73 20 69 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 es.in.the.following.dependencies
19be0 3a 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 65 72 72 6f 72 73 :</error>');.}..foreach.($errors
19c00 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 69 66 20 28 24 69 6e .as.$path.=>.$changes).{.if.($in
19c20 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 20 7b 0a 24 69 6e put->getOption('verbose')).{.$in
19c40 64 65 6e 74 65 64 43 68 61 6e 67 65 73 20 3d 20 69 6d 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 61 72 dentedChanges.=.implode("\n",.ar
19c60 72 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 ray_map(function.($line).{.retur
19c80 6e 20 27 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 6e n.'....'...$line;.},.explode("\n
19ca0 22 2c 20 24 63 68 61 6e 67 65 73 29 29 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e ",.$changes)));.$output->writeln
19cc0 28 27 3c 69 6e 66 6f 3e 27 2e 24 70 61 74 68 2e 27 3c 2f 69 6e 66 6f 3e 3a 27 29 3b 0a 24 6f 75 ('<info>'.$path.'</info>:');.$ou
19ce0 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 69 6e 64 65 6e 74 65 64 43 68 61 6e 67 65 73 29 3b tput->writeln($indentedChanges);
19d00 0a 7d 20 65 6c 73 65 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 70 61 74 68 .}.else.{.$output->writeln($path
19d20 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 65 72 72 6f 72 73 20 26 26 20 21 24 69 6e 70 75 74 2d 3e );.}.}..if.($errors.&&.!$input->
19d40 67 65 74 4f 70 74 69 6f 6e 28 27 76 65 72 62 6f 73 65 27 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d getOption('verbose')).{.$output-
19d60 3e 77 72 69 74 65 6c 6e 28 27 55 73 65 20 2d 2d 76 65 72 62 6f 73 65 20 28 2d 76 29 20 74 6f 20 >writeln('Use.--verbose.(-v).to.
19d80 73 65 65 20 6d 6f 64 69 66 69 65 64 20 66 69 6c 65 73 27 29 3b 0a 7d 0a 0a 0a 20 24 63 6f 6d 70 see.modified.files');.}....$comp
19da0 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
19dc0 61 74 63 68 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 atchCommandEvent(ScriptEvents::P
19de0 4f 53 54 5f 53 54 41 54 55 53 5f 43 4d 44 2c 20 74 72 75 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 OST_STATUS_CMD,.true);..return.$
19e00 65 72 72 6f 72 73 20 3f 20 31 20 3a 20 30 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a errors.?.1.:.0;.}.}.<?php.......
19e20 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;
19e40 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
19e60 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 72 e.Composer\Factory;.use.Composer
19e80 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
19ea0 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 6f 73 69 74 6f 72 er\Repository\CompositeRepositor
19ec0 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 50 6c 61 74 66 y;.use.Composer\Repository\Platf
19ee0 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 72 5c 50 61 63 6b ormRepository;.use.Composer\Pack
19f00 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 53 age\Version\VersionParser;.use.S
19f20 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
19f40 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
19f60 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;.
19f80 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
19fa0 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 6f 6e tput\OutputInterface;.use.Symfon
19fc0 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 65 y\Component\Process\Process;.use
19fe0 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 63 75 .Symfony\Component\Process\Execu
1a000 74 61 62 6c 65 46 69 6e 64 65 72 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 69 74 43 6f 6d 6d tableFinder;......class.InitComm
1a020 61 6e 64 20 65 78 74 65 6e 64 73 20 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 69 76 61 74 65 20 24 67 and.extends.Command.{.private.$g
1a040 69 74 43 6f 6e 66 69 67 3b 0a 70 72 69 76 61 74 65 20 24 72 65 70 6f 73 3b 0a 0a 70 75 62 6c 69 itConfig;.private.$repos;..publi
1a060 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 41 75 74 68 6f 72 53 74 72 69 6e 67 28 24 61 75 c.function.parseAuthorString($au
1a080 74 68 6f 72 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 28 3f 50 3c 6e 61 thor).{.if.(preg_match('/^(?P<na
1a0a0 6d 65 3e 5b 2d 20 5c 2e 2c 5c 70 7b 4c 7d 5c 27 e2 80 99 5d 2b 29 20 3c 28 3f 50 3c 65 6d 61 69 me>[-.\.,\p{L}\'...]+).<(?P<emai
1a0c0 6c 3e 2e 2b 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 l>.+?)>$/u',.$author,.$match)).{
1a0e0 0a 69 66 20 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 .if.($this->isValidEmail($match[
1a100 27 65 6d 61 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 'email'])).{.return.array(.'name
1a120 27 20 3d 3e 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 '.=>.trim($match['name']),.'emai
1a140 6c 27 20 3d 3e 20 24 6d 61 74 63 68 5b 27 65 6d 61 69 6c 27 5d 0a 29 3b 0a 7d 0a 7d 0a 0a 74 68 l'.=>.$match['email'].);.}.}..th
1a160 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
1a180 6e 28 0a 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 n(.'Invalid.author.string...Must
1a1a0 20 62 65 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 .be.in.the.format:.'..'John.Smit
1a1c0 68 20 3c 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 h.<john@example.com>'.);.}..prot
1a1e0 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
1a200 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 44 65 73 63 72 69 is.->setName('init').->setDescri
1a220 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 70 6f 73 65 72 2e ption('Creates.a.basic.composer.
1a240 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 74 6f 72 79 2e 27 json.file.in.current.directory.'
1a260 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 70 ).->setDefinition(array(.new.Inp
1a280 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 75 74 4f 70 74 69 utOption('name',.null,.InputOpti
1a2a0 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 6f 66 20 74 68 65 on::VALUE_REQUIRED,.'Name.of.the
1a2c0 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 64 65 73 .package'),.new.InputOption('des
1a2e0 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 6f 6e 3a 3a 56 41 cription',.null,.InputOption::VA
1a300 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 20 6f 66 20 70 61 LUE_REQUIRED,.'Description.of.pa
1a320 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 61 75 74 68 6f 72 ckage'),.new.InputOption('author
1a340 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 55 ',.null,.InputOption::VALUE_REQU
1a360 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 61 67 65 27 29 2c IRED,.'Author.name.of.package'),
1a380 0a 0a 20 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 68 6f 6d 65 70 61 67 65 27 2c 20 6e ...new.InputOption('homepage',.n
1a3a0 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 55 49 52 45 44 ull,.InputOption::VALUE_REQUIRED
1a3c0 2c 20 27 48 6f 6d 65 70 61 67 65 20 6f 66 20 70 61 63 6b 61 67 65 27 29 2c 0a 6e 65 77 20 49 6e ,.'Homepage.of.package'),.new.In
1a3e0 70 75 74 4f 70 74 69 6f 6e 28 27 72 65 71 75 69 72 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 putOption('require',.null,.Input
1a400 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 49 53 5f 41 52 52 41 59 20 7c 20 49 6e 70 75 74 4f 70 Option::VALUE_IS_ARRAY.|.InputOp
1a420 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 50 61 63 6b 61 67 65 20 74 tion::VALUE_REQUIRED,.'Package.t
1a440 6f 20 72 65 71 75 69 72 65 20 77 69 74 68 20 61 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 o.require.with.a.version.constra
1a460 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 6f 6f 2f 62 int,.e.g..foo/bar:1.0.0.or.foo/b
1a480 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 29 2c 0a 6e ar=1.0.0.or."foo/bar.1.0.0"'),.n
1a4a0 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 72 65 71 75 69 72 65 2d 64 65 76 27 2c 20 6e 75 ew.InputOption('require-dev',.nu
1a4c0 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 59 20 ll,.InputOption::VALUE_IS_ARRAY.
1a4e0 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 20 27 |.InputOption::VALUE_REQUIRED,.'
1a500 50 61 63 6b 61 67 65 20 74 6f 20 72 65 71 75 69 72 65 20 66 6f 72 20 64 65 76 65 6c 6f 70 6d 65 Package.to.require.for.developme
1a520 6e 74 20 77 69 74 68 20 61 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 2c 20 65 2e nt.with.a.version.constraint,.e.
1a540 67 2e 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 g..foo/bar:1.0.0.or.foo/bar=1.0.
1a560 30 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 0.or."foo/bar.1.0.0"'),.new.Inpu
1a580 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 70 75 74 4f tOption('stability',.'s',.InputO
1a5a0 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 6d 75 6d 20 ption::VALUE_REQUIRED,.'Minimum.
1a5c0 73 74 61 62 69 6c 69 74 79 20 28 65 6d 70 74 79 20 6f 72 20 6f 6e 65 20 6f 66 3a 20 27 2e 69 6d stability.(empty.or.one.of:.'.im
1a5e0 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
1a600 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 29 29 2e 27 29 27 29 2c 0a 6e 65 77 20 49 6e 70 ge::$stabilities)).')'),.new.Inp
1a620 75 74 4f 70 74 69 6f 6e 28 27 6c 69 63 65 6e 73 65 27 2c 20 27 6c 27 2c 20 49 6e 70 75 74 4f 70 utOption('license',.'l',.InputOp
1a640 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 4c 69 63 65 6e 73 65 20 6f tion::VALUE_REQUIRED,.'License.o
1a660 66 20 70 61 63 6b 61 67 65 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 3c 3c 3c 45 4f 54 f.package'),.)).->setHelp(<<<EOT
1a680 0a 54 68 65 20 3c 69 6e 66 6f 3e 69 6e 69 74 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 63 .The.<info>init</info>.command.c
1a6a0 72 65 61 74 65 73 20 61 20 62 61 73 69 63 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c reates.a.basic.composer.json.fil
1a6c0 65 0a 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 2e 0a 0a 3c 69 6e e.in.the.current.directory...<in
1a6e0 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 69 6e 69 74 3c 2f 69 6e 66 6f 3e fo>php.composer.phar.init</info>
1a700 0a 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 74 69 6f 6e 20 ..EOT.).;.}..protected.function.
1a720 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 20 4f execute(InputInterface.$input,.O
1a740 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 64 69 61 6c 6f utputInterface.$output).{.$dialo
1a760 67 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 67 65 74 28 27 g.=.$this->getHelperSet()->get('
1a780 64 69 61 6c 6f 67 27 29 3b 0a 0a 24 77 68 69 74 65 6c 69 73 74 20 3d 20 61 72 72 61 79 28 27 6e dialog');..$whitelist.=.array('n
1a7a0 61 6d 65 27 2c 20 27 64 65 73 63 72 69 70 74 69 6f 6e 27 2c 20 27 61 75 74 68 6f 72 27 2c 20 27 ame',.'description',.'author',.'
1a7c0 68 6f 6d 65 70 61 67 65 27 2c 20 27 72 65 71 75 69 72 65 27 2c 20 27 72 65 71 75 69 72 65 2d 64 homepage',.'require',.'require-d
1a7e0 65 76 27 2c 20 27 73 74 61 62 69 6c 69 74 79 27 2c 20 27 6c 69 63 65 6e 73 65 27 29 3b 0a 0a 24 ev',.'stability',.'license');..$
1a800 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 61 72 72 61 79 5f 69 6e 74 options.=.array_filter(array_int
1a820 65 72 73 65 63 74 5f 6b 65 79 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 2c ersect_key($input->getOptions(),
1a840 20 61 72 72 61 79 5f 66 6c 69 70 28 24 77 68 69 74 65 6c 69 73 74 29 29 29 3b 0a 0a 69 66 20 28 .array_flip($whitelist)));..if.(
1a860 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 61 75 74 68 6f 72 27 5d 29 29 20 7b 0a 24 6f 70 isset($options['author'])).{.$op
1a880 74 69 6f 6e 73 5b 27 61 75 74 68 6f 72 73 27 5d 20 3d 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 tions['authors'].=.$this->format
1a8a0 41 75 74 68 6f 72 73 28 24 6f 70 74 69 6f 6e 73 5b 27 61 75 74 68 6f 72 27 5d 29 3b 0a 75 6e 73 Authors($options['author']);.uns
1a8c0 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 61 75 74 68 6f 72 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 69 et($options['author']);.}..if.(i
1a8e0 73 73 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 sset($options['stability'])).{.$
1a900 6f 70 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 options['minimum-stability'].=.$
1a920 6f 70 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 options['stability'];.unset($opt
1a940 69 6f 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 ions['stability']);.}..$options[
1a960 27 72 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 'require'].=.isset($options['req
1a980 75 69 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 uire']).?.$this->formatRequireme
1a9a0 6e 74 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 nts($options['require']).:.new.\
1a9c0 73 74 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 stdClass;.if.(array().===.$optio
1a9e0 6e 73 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 ns['require']).{.$options['requi
1aa00 72 65 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 re'].=.new.\stdClass;.}..if.(iss
1aa20 65 74 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 et($options['require-dev'])).{.$
1aa40 6f 70 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 options['require-dev'].=.$this->
1aa60 66 6f 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 formatRequirements($options['req
1aa80 75 69 72 65 2d 64 65 76 27 5d 29 20 3b 0a 69 66 20 28 61 72 72 61 79 28 29 20 3d 3d 3d 20 24 6f uire-dev']).;.if.(array().===.$o
1aaa0 70 74 69 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 ptions['require-dev']).{.$option
1aac0 73 5b 27 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 s['require-dev'].=.new.\stdClass
1aae0 3b 0a 7d 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 27 63 6f 6d ;.}.}..$file.=.new.JsonFile('com
1ab00 70 6f 73 65 72 2e 6a 73 6f 6e 27 29 3b 0a 0a 24 6a 73 6f 6e 20 3d 20 24 66 69 6c 65 2d 3e 65 6e poser.json');..$json.=.$file->en
1ab20 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 75 74 2d 3e 69 73 49 code($options);..if.($input->isI
1ab40 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e nteractive()).{.$output->writeln
1ab60 28 61 72 72 61 79 28 0a 27 27 2c 0a 24 6a 73 6f 6e 2c 0a 27 27 0a 29 29 3b 0a 69 66 20 28 21 24 (array(.'',.$json,.''.));.if.(!$
1ab80 64 69 61 6c 6f 67 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 24 6f 75 74 70 75 74 2c dialog->askConfirmation($output,
1aba0 20 24 64 69 61 6c 6f 67 2d 3e 67 65 74 51 75 65 73 74 69 6f 6e 28 27 44 6f 20 79 6f 75 20 63 6f .$dialog->getQuestion('Do.you.co
1abc0 6e 66 69 72 6d 20 67 65 6e 65 72 61 74 69 6f 6e 27 2c 20 27 79 65 73 27 2c 20 27 3f 27 29 2c 20 nfirm.generation',.'yes',.'?'),.
1abe0 74 72 75 65 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 65 72 72 6f true)).{.$output->writeln('<erro
1ac00 72 3e 43 6f 6d 6d 61 6e 64 20 61 62 6f 72 74 65 64 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a 72 65 r>Command.aborted</error>');..re
1ac20 74 75 72 6e 20 31 3b 0a 7d 0a 7d 0a 0a 24 66 69 6c 65 2d 3e 77 72 69 74 65 28 24 6f 70 74 69 6f turn.1;.}.}..$file->write($optio
1ac40 6e 73 29 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 ns);..if.($input->isInteractive(
1ac60 29 20 26 26 20 69 73 5f 64 69 72 28 27 2e 67 69 74 27 29 29 20 7b 0a 24 69 67 6e 6f 72 65 46 69 ).&&.is_dir('.git')).{.$ignoreFi
1ac80 6c 65 20 3d 20 72 65 61 6c 70 61 74 68 28 27 2e 67 69 74 69 67 6e 6f 72 65 27 29 3b 0a 0a 69 66 le.=.realpath('.gitignore');..if
1aca0 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 69 67 6e 6f 72 65 46 69 6c 65 29 20 7b 0a 24 69 67 6e 6f .(false.===.$ignoreFile).{.$igno
1acc0 72 65 46 69 6c 65 20 3d 20 72 65 61 6c 70 61 74 68 28 27 2e 27 29 20 2e 20 27 2f 2e 67 69 74 69 reFile.=.realpath('.')...'/.giti
1ace0 67 6e 6f 72 65 27 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 56 65 6e 64 6f 72 gnore';.}..if.(!$this->hasVendor
1ad00 49 67 6e 6f 72 65 28 24 69 67 6e 6f 72 65 46 69 6c 65 29 29 20 7b 0a 24 71 75 65 73 74 69 6f 6e Ignore($ignoreFile)).{.$question
1ad20 20 3d 20 27 57 6f 75 6c 64 20 79 6f 75 20 6c 69 6b 65 20 74 68 65 20 3c 69 6e 66 6f 3e 76 65 6e .=.'Would.you.like.the.<info>ven
1ad40 64 6f 72 3c 2f 69 6e 66 6f 3e 20 64 69 72 65 63 74 6f 72 79 20 61 64 64 65 64 20 74 6f 20 79 6f dor</info>.directory.added.to.yo
1ad60 75 72 20 3c 69 6e 66 6f 3e 2e 67 69 74 69 67 6e 6f 72 65 3c 2f 69 6e 66 6f 3e 20 5b 3c 63 6f 6d ur.<info>.gitignore</info>.[<com
1ad80 6d 65 6e 74 3e 79 65 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3f 27 3b 0a 0a 69 66 20 28 24 64 69 61 ment>yes</comment>]?';..if.($dia
1ada0 6c 6f 67 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 24 6f 75 74 70 75 74 2c 20 24 71 log->askConfirmation($output,.$q
1adc0 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 65 6e 64 uestion,.true)).{.$this->addVend
1ade0 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 7d 0a 0a orIgnore($ignoreFile);.}.}.}.}..
1ae00 70 72 6f 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 protected.function.interact(Inpu
1ae20 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
1ae40 63 65 20 24 6f 75 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 ce.$output).{.$git.=.$this->getG
1ae60 69 74 43 6f 6e 66 69 67 28 29 3b 0a 0a 24 64 69 61 6c 6f 67 20 3d 20 24 74 68 69 73 2d 3e 67 65 itConfig();..$dialog.=.$this->ge
1ae80 74 48 65 6c 70 65 72 53 65 74 28 29 2d 3e 67 65 74 28 27 64 69 61 6c 6f 67 27 29 3b 0a 24 66 6f tHelperSet()->get('dialog');.$fo
1aea0 72 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 rmatter.=.$this->getHelperSet()-
1aec0 3e 67 65 74 28 27 66 6f 72 6d 61 74 74 65 72 27 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 >get('formatter');.$output->writ
1aee0 65 6c 6e 28 61 72 72 61 79 28 0a 27 27 2c 0a 24 66 6f 72 6d 61 74 74 65 72 2d 3e 66 6f 72 6d 61 eln(array(.'',.$formatter->forma
1af00 74 42 6c 6f 63 6b 28 27 57 65 6c 63 6f 6d 65 20 74 6f 20 74 68 65 20 43 6f 6d 70 6f 73 65 72 20 tBlock('Welcome.to.the.Composer.
1af20 63 6f 6e 66 69 67 20 67 65 6e 65 72 61 74 6f 72 27 2c 20 27 62 67 3d 62 6c 75 65 3b 66 67 3d 77 config.generator',.'bg=blue;fg=w
1af40 68 69 74 65 27 2c 20 74 72 75 65 29 2c 0a 27 27 0a 29 29 3b 0a 0a 0a 20 24 6f 75 74 70 75 74 2d hite',.true),.''.));....$output-
1af60 3e 77 72 69 74 65 6c 6e 28 61 72 72 61 79 28 0a 27 27 2c 0a 27 54 68 69 73 20 63 6f 6d 6d 61 6e >writeln(array(.'',.'This.comman
1af80 64 20 77 69 6c 6c 20 67 75 69 64 65 20 79 6f 75 20 74 68 72 6f 75 67 68 20 63 72 65 61 74 69 6e d.will.guide.you.through.creatin
1afa0 67 20 79 6f 75 72 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 63 6f 6e 66 69 67 2e 27 2c 0a 27 g.your.composer.json.config.',.'
1afc0 27 2c 0a 29 29 3b 0a 0a 24 63 77 64 20 3d 20 72 65 61 6c 70 61 74 68 28 22 2e 22 29 3b 0a 0a 69 ',.));..$cwd.=.realpath(".");..i
1afe0 66 20 28 21 24 6e 61 6d 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e f.(!$name.=.$input->getOption('n
1b000 61 6d 65 27 29 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 62 61 73 65 6e 61 6d 65 28 24 63 77 64 29 3b ame')).{.$name.=.basename($cwd);
1b020 0a 24 6e 61 6d 65 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 28 3f 3a 28 5b 61 2d 7a .$name.=.preg_replace('{(?:([a-z
1b040 5d 29 28 5b 41 2d 5a 5d 29 7c 28 5b 41 2d 5a 5d 29 28 5b 41 2d 5a 5d 5b 61 2d 7a 5d 29 29 7d 27 ])([A-Z])|([A-Z])([A-Z][a-z]))}'
1b060 2c 20 27 5c 5c 31 5c 5c 33 2d 5c 5c 32 5c 5c 34 27 2c 20 24 6e 61 6d 65 29 3b 0a 24 6e 61 6d 65 ,.'\\1\\3-\\2\\4',.$name);.$name
1b080 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 3b 0a 69 66 20 28 69 73 73 65 74 28 .=.strtolower($name);.if.(isset(
1b0a0 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 61 6d 65 20 3d 20 $git['github.user'])).{.$name.=.
1b0c0 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 2e 20 24 6e 61 6d $git['github.user']...'/'...$nam
1b0e0 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 45 52 5b 27 55 53 e;.}.elseif.(!empty($_SERVER['US
1b100 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 56 45 52 5b 27 55 ERNAME'])).{.$name.=.$_SERVER['U
1b120 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 20 65 6c 73 65 69 SERNAME']...'/'...$name;.}.elsei
1b140 66 20 28 67 65 74 5f 63 75 72 72 65 6e 74 5f 75 73 65 72 28 29 29 20 7b 0a 24 6e 61 6d 65 20 3d f.(get_current_user()).{.$name.=
1b160 20 67 65 74 5f 63 75 72 72 65 6e 74 5f 75 73 65 72 28 29 20 2e 20 27 2f 27 20 2e 20 24 6e 61 6d .get_current_user()...'/'...$nam
1b180 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 6e 61 6d 65 20 3d 20 24 6e 61 6d 65 20 2e 20 27 2f e;.}.else.{...$name.=.$name...'/
1b1a0 27 20 2e 20 24 6e 61 6d 65 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 21 70 72 65 67 5f '...$name;.}.}.else.{.if.(!preg_
1b1c0 6d 61 74 63 68 28 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 match('{^[a-z0-9_.-]+/[a-z0-9_.-
1b1e0 5d 2b 24 7d 27 2c 20 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 ]+$}',.$name)).{.throw.new.\Inva
1b200 6c 69 64 41 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 lidArgumentException(.'The.packa
1b220 67 65 20 6e 61 6d 65 20 27 2e 24 6e 61 6d 65 2e 27 20 69 73 20 69 6e 76 61 6c 69 64 2c 20 69 74 ge.name.'.$name.'.is.invalid,.it
1b240 20 73 68 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 .should.be.lowercase.and.have.a.
1b260 76 65 6e 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 vendor.name,.a.forward.slash,.an
1b280 64 20 61 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 d.a.package.name,.matching:.[a-z
1b2a0 30 2d 39 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 7d 0a 0a 24 0-9_.-]+/[a-z0-9_.-]+'.);.}.}..$
1b2c0 6e 61 6d 65 20 3d 20 24 64 69 61 6c 6f 67 2d 3e 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 0a name.=.$dialog->askAndValidate(.
1b2e0 24 6f 75 74 70 75 74 2c 0a 24 64 69 61 6c 6f 67 2d 3e 67 65 74 51 75 65 73 74 69 6f 6e 28 27 50 $output,.$dialog->getQuestion('P
1b300 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 6d 65 3e 29 27 2c 20 ackage.name.(<vendor>/<name>)',.
1b320 24 6e 61 6d 65 29 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 $name),.function.($value).use.($
1b340 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
1b360 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(
1b380 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 27 2c '{^[a-z0-9_.-]+/[a-z0-9_.-]+$}',
1b3a0 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 72 .$value)).{.throw.new.\InvalidAr
1b3c0 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 61 gumentException(.'The.package.na
1b3e0 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 6f me.'.$value.'.is.invalid,.it.sho
1b400 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 64 uld.be.lowercase.and.have.a.vend
1b420 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 20 or.name,.a.forward.slash,.and.a.
1b440 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 5f package.name,.matching:.[a-z0-9_
1b460 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 20 .-]+/[a-z0-9_.-]+'.);.}..return.
1b480 24 76 61 6c 75 65 3b 0a 7d 0a 29 3b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 $value;.}.);.$input->setOption('
1b4a0 6e 61 6d 65 27 2c 20 24 6e 61 6d 65 29 3b 0a 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 24 name',.$name);..$description.=.$
1b4c0 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 64 65 73 63 72 69 70 74 69 6f 6e 27 29 20 input->getOption('description').
1b4e0 3f 3a 20 66 61 6c 73 65 3b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 24 64 69 61 6c 6f 67 ?:.false;.$description.=.$dialog
1b500 2d 3e 61 73 6b 28 0a 24 6f 75 74 70 75 74 2c 0a 24 64 69 61 6c 6f 67 2d 3e 67 65 74 51 75 65 73 ->ask(.$output,.$dialog->getQues
1b520 74 69 6f 6e 28 27 44 65 73 63 72 69 70 74 69 6f 6e 27 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e tion('Description',.$description
1b540 29 0a 29 3b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 64 65 73 63 72 69 70 74 ).);.$input->setOption('descript
1b560 69 6f 6e 27 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d ion',.$description);..if.(null.=
1b580 3d 3d 20 24 61 75 74 68 6f 72 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 ==.$author.=.$input->getOption('
1b5a0 61 75 74 68 6f 72 27 29 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 67 69 74 5b 27 75 73 65 72 author')).{.if.(isset($git['user
1b5c0 2e 6e 61 6d 65 27 5d 29 20 26 26 20 69 73 73 65 74 28 24 67 69 74 5b 27 75 73 65 72 2e 65 6d 61 .name']).&&.isset($git['user.ema
1b5e0 69 6c 27 5d 29 29 20 7b 0a 24 61 75 74 68 6f 72 20 3d 20 73 70 72 69 6e 74 66 28 27 25 73 20 3c il'])).{.$author.=.sprintf('%s.<
1b600 25 73 3e 27 2c 20 24 67 69 74 5b 27 75 73 65 72 2e 6e 61 6d 65 27 5d 2c 20 24 67 69 74 5b 27 75 %s>',.$git['user.name'],.$git['u
1b620 73 65 72 2e 65 6d 61 69 6c 27 5d 29 3b 0a 7d 0a 7d 0a 0a 24 73 65 6c 66 20 3d 20 24 74 68 69 73 ser.email']);.}.}..$self.=.$this
1b640 3b 0a 24 61 75 74 68 6f 72 20 3d 20 24 64 69 61 6c 6f 67 2d 3e 61 73 6b 41 6e 64 56 61 6c 69 64 ;.$author.=.$dialog->askAndValid
1b660 61 74 65 28 0a 24 6f 75 74 70 75 74 2c 0a 24 64 69 61 6c 6f 67 2d 3e 67 65 74 51 75 65 73 74 69 ate(.$output,.$dialog->getQuesti
1b680 6f 6e 28 27 41 75 74 68 6f 72 27 2c 20 24 61 75 74 68 6f 72 29 2c 0a 66 75 6e 63 74 69 6f 6e 20 on('Author',.$author),.function.
1b6a0 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 68 6f 72 29 20 7b 0a ($value).use.($self,.$author).{.
1b6c0 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 61 if.(null.===.$value).{.return.$a
1b6e0 75 74 68 6f 72 3b 0a 7d 0a 0a 24 61 75 74 68 6f 72 20 3d 20 24 73 65 6c 66 2d 3e 70 61 72 73 65 uthor;.}..$author.=.$self->parse
1b700 41 75 74 68 6f 72 53 74 72 69 6e 67 28 24 76 61 6c 75 65 29 3b 0a 0a 72 65 74 75 72 6e 20 73 70 AuthorString($value);..return.sp
1b720 72 69 6e 74 66 28 27 25 73 20 3c 25 73 3e 27 2c 20 24 61 75 74 68 6f 72 5b 27 6e 61 6d 65 27 5d rintf('%s.<%s>',.$author['name']
1b740 2c 20 24 61 75 74 68 6f 72 5b 27 65 6d 61 69 6c 27 5d 29 3b 0a 7d 0a 29 3b 0a 24 69 6e 70 75 74 ,.$author['email']);.}.);.$input
1b760 2d 3e 73 65 74 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 ->setOption('author',.$author);.
1b780 0a 24 6d 69 6e 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 .$minimumStability.=.$input->get
1b7a0 4f 70 74 69 6f 6e 28 27 73 74 61 62 69 6c 69 74 79 27 29 20 3f 3a 20 27 27 3b 0a 24 6d 69 6e 69 Option('stability').?:.'';.$mini
1b7c0 6d 75 6d 53 74 61 62 69 6c 69 74 79 20 3d 20 24 64 69 61 6c 6f 67 2d 3e 61 73 6b 41 6e 64 56 61 mumStability.=.$dialog->askAndVa
1b7e0 6c 69 64 61 74 65 28 0a 24 6f 75 74 70 75 74 2c 0a 24 64 69 61 6c 6f 67 2d 3e 67 65 74 51 75 65 lidate(.$output,.$dialog->getQue
1b800 73 74 69 6f 6e 28 27 4d 69 6e 69 6d 75 6d 20 53 74 61 62 69 6c 69 74 79 27 2c 20 24 6d 69 6e 69 stion('Minimum.Stability',.$mini
1b820 6d 75 6d 53 74 61 62 69 6c 69 74 79 29 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 75 65 29 mumStability),.function.($value)
1b840 20 75 73 65 20 28 24 73 65 6c 66 2c 20 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 29 20 .use.($self,.$minimumStability).
1b860 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 65 74 75 72 6e 20 {.if.(null.===.$value).{.return.
1b880 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 $minimumStability;.}..if.(!isset
1b8a0 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 5b 24 76 61 6c 75 (BasePackage::$stabilities[$valu
1b8c0 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
1b8e0 74 45 78 63 65 70 74 69 6f 6e 28 0a 27 49 6e 76 61 6c 69 64 20 6d 69 6e 69 6d 75 6d 20 73 74 61 tException(.'Invalid.minimum.sta
1b900 62 69 6c 69 74 79 20 22 27 2e 24 76 61 6c 75 65 2e 27 22 2e 20 4d 75 73 74 20 62 65 20 65 6d 70 bility."'.$value.'"..Must.be.emp
1b920 74 79 20 6f 72 20 6f 6e 65 20 6f 66 3a 20 27 2e 0a 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 ty.or.one.of:.'..implode(',.',.a
1b940 72 72 61 79 5f 6b 65 79 73 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 rray_keys(BasePackage::$stabilit
1b960 69 65 73 29 29 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a 29 3b 0a ies)).);.}..return.$value;.}.);.
1b980 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 74 79 27 2c 20 24 $input->setOption('stability',.$
1b9a0 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 29 3b 0a 0a 24 6c 69 63 65 6e 73 65 20 3d 20 24 minimumStability);..$license.=.$
1b9c0 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 20 3f 3a 20 66 input->getOption('license').?:.f
1b9e0 61 6c 73 65 3b 0a 24 6c 69 63 65 6e 73 65 20 3d 20 24 64 69 61 6c 6f 67 2d 3e 61 73 6b 28 0a 24 alse;.$license.=.$dialog->ask(.$
1ba00 6f 75 74 70 75 74 2c 0a 24 64 69 61 6c 6f 67 2d 3e 67 65 74 51 75 65 73 74 69 6f 6e 28 27 4c 69 output,.$dialog->getQuestion('Li
1ba20 63 65 6e 73 65 27 2c 20 24 6c 69 63 65 6e 73 65 29 0a 29 3b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 cense',.$license).);.$input->set
1ba40 4f 70 74 69 6f 6e 28 27 6c 69 63 65 6e 73 65 27 2c 20 24 6c 69 63 65 6e 73 65 29 3b 0a 0a 24 6f Option('license',.$license);..$o
1ba60 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 61 72 72 61 79 28 0a 27 27 2c 0a 27 44 65 66 69 6e utput->writeln(array(.'',.'Defin
1ba80 65 20 79 6f 75 72 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 27 2c 0a 27 27 0a 29 29 3b 0a 0a 24 e.your.dependencies.',.''.));..$
1baa0 72 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 24 64 69 61 requirements.=.array();.if.($dia
1bac0 6c 6f 67 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 24 6f 75 74 70 75 74 2c 20 24 64 log->askConfirmation($output,.$d
1bae0 69 61 6c 6f 67 2d 3e 67 65 74 51 75 65 73 74 69 6f 6e 28 27 57 6f 75 6c 64 20 79 6f 75 20 6c 69 ialog->getQuestion('Would.you.li
1bb00 6b 65 20 74 6f 20 64 65 66 69 6e 65 20 79 6f 75 72 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 28 ke.to.define.your.dependencies.(
1bb20 72 65 71 75 69 72 65 29 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 27 2c 20 27 79 65 73 27 2c 20 require).interactively',.'yes',.
1bb40 27 3f 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 24 '?'),.true)).{.$requirements.=.$
1bb60 74 68 69 73 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 this->determineRequirements($inp
1bb80 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 ut,.$output,.$input->getOption('
1bba0 72 65 71 75 69 72 65 27 29 29 3b 0a 7d 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 require'));.}.$input->setOption(
1bbc0 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 24 64 65 76 52 'require',.$requirements);.$devR
1bbe0 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 24 64 69 61 6c equirements.=.array();.if.($dial
1bc00 6f 67 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 24 6f 75 74 70 75 74 2c 20 24 64 69 og->askConfirmation($output,.$di
1bc20 61 6c 6f 67 2d 3e 67 65 74 51 75 65 73 74 69 6f 6e 28 27 57 6f 75 6c 64 20 79 6f 75 20 6c 69 6b alog->getQuestion('Would.you.lik
1bc40 65 20 74 6f 20 64 65 66 69 6e 65 20 79 6f 75 72 20 64 65 76 20 64 65 70 65 6e 64 65 6e 63 69 65 e.to.define.your.dev.dependencie
1bc60 73 20 28 72 65 71 75 69 72 65 2d 64 65 76 29 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 27 2c 20 s.(require-dev).interactively',.
1bc80 27 79 65 73 27 2c 20 27 3f 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 24 64 65 76 52 65 71 75 69 72 'yes',.'?'),.true)).{.$devRequir
1bca0 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 71 75 69 72 65 ements.=.$this->determineRequire
1bcc0 6d 65 6e 74 73 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 69 6e 70 75 74 2d 3e 67 ments($input,.$output,.$input->g
1bce0 65 74 4f 70 74 69 6f 6e 28 27 72 65 71 75 69 72 65 2d 64 65 76 27 29 29 3b 0a 7d 0a 24 69 6e 70 etOption('require-dev'));.}.$inp
1bd00 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 72 65 71 75 69 72 65 2d 64 65 76 27 2c 20 24 64 65 ut->setOption('require-dev',.$de
1bd20 76 52 65 71 75 69 72 65 6d 65 6e 74 73 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e vRequirements);.}..protected.fun
1bd40 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 7b 0a 24 70 61 63 ction.findPackages($name).{.$pac
1bd60 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 69 66 20 28 21 24 74 68 69 73 2d 3e kages.=.array();....if.(!$this->
1bd80 72 65 70 6f 73 29 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 repos).{.$this->repos.=.new.Comp
1bda0 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 0a 61 72 72 ositeRepository(array_merge(.arr
1bdc0 61 79 28 6e 65 77 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 29 2c 0a 46 61 63 74 ay(new.PlatformRepository),.Fact
1bde0 6f 72 79 3a 3a 63 72 65 61 74 65 44 65 66 61 75 6c 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 24 ory::createDefaultRepositories($
1be00 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 29 0a 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 this->getIO()).));.}..return.$th
1be20 69 73 2d 3e 72 65 70 6f 73 2d 3e 73 65 61 72 63 68 28 24 6e 61 6d 65 29 3b 0a 7d 0a 0a 70 72 6f is->repos->search($name);.}..pro
1be40 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 74 65 72 6d 69 6e 65 52 65 71 75 69 72 65 tected.function.determineRequire
1be60 6d 65 6e 74 73 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 ments(InputInterface.$input,.Out
1be80 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 71 75 69 72 65 73 20 putInterface.$output,.$requires.
1bea0 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 64 69 61 6c 6f 67 20 3d 20 24 74 68 69 73 2d 3e 67 65 =.array()).{.$dialog.=.$this->ge
1bec0 74 48 65 6c 70 65 72 53 65 74 28 29 2d 3e 67 65 74 28 27 64 69 61 6c 6f 67 27 29 3b 0a 24 70 72 tHelperSet()->get('dialog');.$pr
1bee0 6f 6d 70 74 20 3d 20 24 64 69 61 6c 6f 67 2d 3e 67 65 74 51 75 65 73 74 69 6f 6e 28 27 53 65 61 ompt.=.$dialog->getQuestion('Sea
1bf00 72 63 68 20 66 6f 72 20 61 20 70 61 63 6b 61 67 65 27 2c 20 66 61 6c 73 65 2c 20 27 3a 27 29 3b rch.for.a.package',.false,.':');
1bf20 0a 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 65 73 20 3d 20 24 ..if.($requires).{.$requires.=.$
1bf40 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 73 28 24 72 65 71 this->normalizeRequirements($req
1bf60 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 0a 0a 66 6f 72 65 uires);.$result.=.array();..fore
1bf80 61 63 68 20 28 24 72 65 71 75 69 72 65 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 72 65 71 75 69 ach.($requires.as.$key.=>.$requi
1bfa0 72 65 6d 65 6e 74 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 72 65 71 75 69 72 65 6d 65 6e rement).{.if.(!isset($requiremen
1bfc0 74 5b 27 76 65 72 73 69 6f 6e 27 5d 29 20 26 26 20 24 69 6e 70 75 74 2d 3e 69 73 49 6e 74 65 72 t['version']).&&.$input->isInter
1bfe0 61 63 74 69 76 65 28 29 29 20 7b 0a 24 71 75 65 73 74 69 6f 6e 20 3d 20 24 64 69 61 6c 6f 67 2d active()).{.$question.=.$dialog-
1c000 3e 67 65 74 51 75 65 73 74 69 6f 6e 28 27 50 6c 65 61 73 65 20 70 72 6f 76 69 64 65 20 61 20 76 >getQuestion('Please.provide.a.v
1c020 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 20 66 6f 72 20 74 68 65 20 27 2e 24 72 65 71 ersion.constraint.for.the.'.$req
1c040 75 69 72 65 6d 65 6e 74 5b 27 6e 61 6d 65 27 5d 2e 27 20 72 65 71 75 69 72 65 6d 65 6e 74 27 29 uirement['name'].'.requirement')
1c060 3b 0a 69 66 20 28 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 64 69 61 6c 6f 67 2d 3e 61 73 6b ;.if.($constraint.=.$dialog->ask
1c080 28 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 29 29 20 7b 0a 24 72 65 71 75 69 72 65 ($output,.$question)).{.$require
1c0a0 6d 65 6e 74 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d ment['version'].=.$constraint;.}
1c0c0 0a 7d 0a 69 66 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 .}.if.(!isset($requirement['vers
1c0e0 69 6f 6e 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 ion'])).{.throw.new.\InvalidArgu
1c100 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 72 65 71 75 69 72 65 6d 65 6e 74 20 27 mentException('The.requirement.'
1c120 2e 24 72 65 71 75 69 72 65 6d 65 6e 74 5b 27 6e 61 6d 65 27 5d 2e 27 20 6d 75 73 74 20 63 6f 6e .$requirement['name'].'.must.con
1c140 74 61 69 6e 20 61 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 27 29 3b 0a 7d 0a 0a tain.a.version.constraint');.}..
1c160 24 72 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 $result[].=.$requirement['name']
1c180 20 2e 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 ...'.'...$requirement['version']
1c1a0 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 77 68 69 6c 65 20 28 6e ;.}..return.$result;.}..while.(n
1c1c0 75 6c 6c 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 20 3d 20 24 64 69 61 6c 6f 67 2d 3e 61 73 6b 28 ull.!==.$package.=.$dialog->ask(
1c1e0 24 6f 75 74 70 75 74 2c 20 24 70 72 6f 6d 70 74 29 29 20 7b 0a 24 6d 61 74 63 68 65 73 20 3d 20 $output,.$prompt)).{.$matches.=.
1c200 24 74 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 $this->findPackages($package);..
1c220 69 66 20 28 63 6f 75 6e 74 28 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e if.(count($matches)).{.$output->
1c240 77 72 69 74 65 6c 6e 28 61 72 72 61 79 28 0a 27 27 2c 0a 73 70 72 69 6e 74 66 28 27 46 6f 75 6e writeln(array(.'',.sprintf('Foun
1c260 64 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 70 61 63 6b 61 67 65 73 20 6d 61 74 63 68 d.<info>%s</info>.packages.match
1c280 69 6e 67 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 2c 20 63 6f 75 6e 74 28 24 6d 61 74 ing.<info>%s</info>',.count($mat
1c2a0 63 68 65 73 29 2c 20 24 70 61 63 6b 61 67 65 29 2c 0a 27 27 0a 29 29 3b 0a 0a 24 65 78 61 63 74 ches),.$package),.''.));..$exact
1c2c0 4d 61 74 63 68 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 Match.=.null;.$choices.=.array()
1c2e0 3b 0a 66 6f 72 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 ;.foreach.($matches.as.$position
1c300 20 3d 3e 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 63 68 6f 69 63 65 73 5b 5d 20 3d 20 73 70 72 .=>.$package).{.$choices[].=.spr
1c320 69 6e 74 66 28 27 20 3c 69 6e 66 6f 3e 25 35 73 3c 2f 69 6e 66 6f 3e 20 25 73 27 2c 20 22 5b 24 intf('.<info>%5s</info>.%s',."[$
1c340 70 6f 73 69 74 69 6f 6e 5d 22 2c 20 24 70 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 29 3b 0a 69 position]",.$package['name']);.i
1c360 66 20 28 24 70 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 f.($package['name'].===.$package
1c380 29 20 7b 0a 24 65 78 61 63 74 4d 61 74 63 68 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 7d ).{.$exactMatch.=.true;.break;.}
1c3a0 0a 7d 0a 0a 0a 20 69 66 20 28 21 24 65 78 61 63 74 4d 61 74 63 68 29 20 7b 0a 24 6f 75 74 70 75 .}....if.(!$exactMatch).{.$outpu
1c3c0 74 2d 3e 77 72 69 74 65 6c 6e 28 24 63 68 6f 69 63 65 73 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 t->writeln($choices);.$output->w
1c3e0 72 69 74 65 6c 6e 28 27 27 29 3b 0a 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 66 75 6e 63 74 69 riteln('');..$validator.=.functi
1c400 6f 6e 20 28 24 73 65 6c 65 63 74 69 6f 6e 29 20 75 73 65 20 28 24 6d 61 74 63 68 65 73 29 20 7b on.($selection).use.($matches).{
1c420 0a 69 66 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 .if.(''.===.$selection).{.return
1c440 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 5f 6e 75 6d 65 72 69 63 28 24 73 65 6c 65 .false;.}..if.(!is_numeric($sele
1c460 63 74 69 6f 6e 29 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5c 73 2a 28 5c 53 2b 29 ction).&&.preg_match('{^\s*(\S+)
1c480 5c 73 2b 28 5c 53 2e 2a 29 5c 73 2a 24 7d 27 2c 20 24 73 65 6c 65 63 74 69 6f 6e 2c 20 24 6d 61 \s+(\S.*)\s*$}',.$selection,.$ma
1c4a0 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 31 5d 2e 27 20 27 tches)).{.return.$matches[1].'.'
1c4c0 2e 24 6d 61 74 63 68 65 73 5b 32 5d 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 6d 61 74 .$matches[2];.}..if.(!isset($mat
1c4e0 63 68 65 73 5b 28 69 6e 74 29 20 24 73 65 6c 65 63 74 69 6f 6e 5d 29 29 20 7b 0a 74 68 72 6f 77 ches[(int).$selection])).{.throw
1c500 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 27 4e 6f 74 20 61 20 76 61 6c 69 64 20 73 65 6c .new.\Exception('Not.a.valid.sel
1c520 65 63 74 69 6f 6e 27 29 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6d 61 74 63 68 65 73 ection');.}..$package.=.$matches
1c540 5b 28 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 [(int).$selection];..return.$pac
1c560 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 3b 0a 7d 3b 0a 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 64 69 kage['name'];.};..$package.=.$di
1c580 61 6c 6f 67 2d 3e 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 24 6f 75 74 70 75 74 2c 20 24 64 alog->askAndValidate($output,.$d
1c5a0 69 61 6c 6f 67 2d 3e 67 65 74 51 75 65 73 74 69 6f 6e 28 27 45 6e 74 65 72 20 70 61 63 6b 61 67 ialog->getQuestion('Enter.packag
1c5c0 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 74 65 20 70 61 63 6b e.#.to.add,.or.the.complete.pack
1c5e0 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 74 65 64 27 2c 20 66 age.name.if.it.is.not.listed',.f
1c600 61 6c 73 65 2c 20 27 3a 27 29 2c 20 24 76 61 6c 69 64 61 74 6f 72 2c 20 33 29 3b 0a 7d 0a 0a 0a alse,.':'),.$validator,.3);.}...
1c620 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 61 6c 73 65 .if.(false.!==.$package.&&.false
1c640 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 7b 0a 24 76 .===.strpos($package,.'.')).{.$v
1c660 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 20 7b 0a 24 alidator.=.function.($input).{.$
1c680 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 6e 20 24 69 input.=.trim($input);..return.$i
1c6a0 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 6e 74 20 3d nput.?:.false;.};..$constraint.=
1c6c0 20 24 64 69 61 6c 6f 67 2d 3e 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 24 6f 75 74 70 75 74 .$dialog->askAndValidate($output
1c6e0 2c 20 24 64 69 61 6c 6f 67 2d 3e 67 65 74 51 75 65 73 74 69 6f 6e 28 27 45 6e 74 65 72 20 74 68 ,.$dialog->getQuestion('Enter.th
1c700 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 72 65 27 e.version.constraint.to.require'
1c720 2c 20 66 61 6c 73 65 2c 20 27 3a 27 29 2c 20 24 76 61 6c 69 64 61 74 6f 72 2c 20 33 29 3b 0a 69 ,.false,.':'),.$validator,.3);.i
1c740 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 63 6f 6e 74 f.(false.===.$constraint).{.cont
1c760 69 6e 75 65 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 73 74 72 inue;.}..$package..=.'.'.$constr
1c780 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 67 65 29 aint;.}..if.(false.!==.$package)
1c7a0 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 7d 0a 7d .{.$requires[].=.$package;.}.}.}
1c7c0 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 74 65 64 ..return.$requires;.}..protected
1c7e0 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 6f 72 29 .function.formatAuthors($author)
1c800 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 75 74 68 .{.return.array($this->parseAuth
1c820 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 74 65 64 orString($author));.}..protected
1c840 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 61 72 72 .function.formatRequirements(arr
1c860 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 20 3d 20 ay.$requirements).{.$requires.=.
1c880 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 73 2d 3e array();.$requirements.=.$this->
1c8a0 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 65 6d 65 normalizeRequirements($requireme
1c8c0 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 61 73 20 nts);.foreach.($requirements.as.
1c8e0 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 71 75 69 $requirement).{.$requires[$requi
1c900 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 74 5b 27 rement['name']].=.$requirement['
1c920 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 73 3b 0a version'];.}..return.$requires;.
1c940 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 6f 6e 66 }..protected.function.getGitConf
1c960 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 74 43 6f ig().{.if.(null.!==.$this->gitCo
1c980 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 69 67 3b nfig).{.return.$this->gitConfig;
1c9a0 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 69 6e 64 .}..$finder.=.new.ExecutableFind
1c9c0 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 28 27 67 er();.$gitBin.=.$finder->find('g
1c9e0 69 74 27 29 3b 0a 0a 24 63 6d 64 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 28 73 70 72 69 6e 74 it');..$cmd.=.new.Process(sprint
1ca00 66 28 27 25 73 20 63 6f 6e 66 69 67 20 2d 6c 27 2c 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 f('%s.config.-l',.escapeshellarg
1ca20 28 24 67 69 74 42 69 6e 29 29 29 3b 0a 24 63 6d 64 2d 3e 72 75 6e 28 29 3b 0a 0a 69 66 20 28 24 ($gitBin)));.$cmd->run();..if.($
1ca40 63 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 cmd->isSuccessful()).{.$this->gi
1ca60 74 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 tConfig.=.array();.preg_match_al
1ca80 6c 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 l('{^([^=]+)=(.*)$}m',.$cmd->get
1caa0 4f 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 Output(),.$matches,.PREG_SET_ORD
1cac0 45 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 ER);.foreach.($matches.as.$match
1cae0 29 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 ).{.$this->gitConfig[$match[1]].
1cb00 3d 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 =.$match[2];.}..return.$this->gi
1cb20 74 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 tConfig;.}..return.$this->gitCon
1cb40 66 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 fig.=.array();.}................
1cb60 0a 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 ..protected.function.hasVendorIg
1cb80 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 76 65 6e nore($ignoreFile,.$vendor.=.'ven
1cba0 64 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 dor').{.if.(!file_exists($ignore
1cbc0 46 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 File)).{.return.false;.}..$patte
1cbe0 72 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 rn.=.sprintf('{^/?%s(/\*?)?$}',.
1cc00 70 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 preg_quote($vendor));..$lines.=.
1cc20 66 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 file($ignoreFile,.FILE_IGNORE_NE
1cc40 57 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 W_LINES);.foreach.($lines.as.$li
1cc60 6e 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 ne).{.if.(preg_match($pattern,.$
1cc80 6c 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 line)).{.return.true;.}.}..retur
1cca0 6e 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 n.false;.}..protected.function.n
1ccc0 6f 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 ormalizeRequirements(array.$requ
1cce0 69 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 irements).{.$parser.=.new.Versio
1cd00 6e 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 nParser();..return.$parser->pars
1cd20 65 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 eNameVersionPairs($requirements)
1cd40 3b 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 ;.}..protected.function.addVendo
1cd60 72 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 rIgnore($ignoreFile,.$vendor.=.'
1cd80 2f 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 /vendor/').{.$contents.=."";.if.
1cda0 28 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 (file_exists($ignoreFile)).{.$co
1cdc0 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 69 67 6e 6f ntents.=.file_get_contents($igno
1cde0 72 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 reFile);..if.("\n".!==.substr($c
1ce00 6f 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 ontents,.0,.-1)).{.$contents..=.
1ce20 22 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 "\n";.}.}..file_put_contents($ig
1ce40 6e 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 noreFile,.$contents...$vendor.."
1ce60 5c 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 \n");.}..protected.function.isVa
1ce80 6c 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 lidEmail($email).{...if.(!functi
1cea0 6f 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 on_exists('filter_var')).{.retur
1cec0 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 n.true;.}....if.(version_compare
1cee0 28 50 48 50 5f 56 45 52 53 49 4f 4e 2c 20 27 35 2e 33 2e 33 27 2c 20 27 3c 27 29 29 20 7b 0a 72 (PHP_VERSION,.'5.3.3',.'<')).{.r
1cf00 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 20 21 3d 3d 20 eturn.true;.}..return.false.!==.
1cf20 66 69 6c 74 65 72 5f 76 61 72 28 24 65 6d 61 69 6c 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 filter_var($email,.FILTER_VALIDA
1cf40 54 45 5f 45 4d 41 49 4c 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a TE_EMAIL);.}.}.<?php............
1cf60 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 0a 0a namespace.Composer\Downloader;..
1cf80 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 6f 73 65 use.Composer\Config;.use.Compose
1cfa0 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 65 20 r\Package\PackageInterface;.use.
1cfc0 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
1cfe0 50 61 72 73 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 Parser;.use.Composer\Util\Proces
1d000 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 sExecutor;.use.Composer\IO\IOInt
1d020 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
1d040 73 74 65 6d 3b 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 56 63 73 44 6f 77 6e stem;.....abstract.class.VcsDown
1d060 6c 6f 61 64 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 loader.implements.DownloaderInte
1d080 72 66 61 63 65 2c 20 43 68 61 6e 67 65 52 65 70 6f 72 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 rface,.ChangeReportInterface.{.p
1d0a0 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 66 69 67 3b rotected.$io;.protected.$config;
1d0c0 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 65 64 20 24 .protected.$process;.protected.$
1d0e0 66 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 filesystem;..public.function.__c
1d100 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 6e 66 69 67 onstruct(IOInterface.$io,.Config
1d120 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 65 .$config,.ProcessExecutor.$proce
1d140 73 73 20 3d 20 6e 75 6c 6c 2c 20 46 69 6c 65 73 79 73 74 65 6d 20 24 66 73 20 3d 20 6e 75 6c 6c ss.=.null,.Filesystem.$fs.=.null
1d160 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
1d180 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.=.$
1d1a0 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($
1d1c0 69 6f 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 24 66 73 20 3f 3a 20 io);.$this->filesystem.=.$fs.?:.
1d1e0 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e new.Filesystem;.}.....public.fun
1d200 63 74 69 6f 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 ction.getInstallationSource().{.
1d220 72 65 74 75 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 return.'source';.}.....public.fu
1d240 6e 63 74 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 nction.download(PackageInterface
1d260 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 70 61 63 6b 61 67 .$package,.$path).{.if.(!$packag
1d280 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 74 68 72 6f 77 e->getSourceReference()).{.throw
1d2a0 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('
1d2c0 50 61 63 6b 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 Package.'.$package->getPrettyNam
1d2e0 65 28 29 2e 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 e().'.is.missing.reference.infor
1d300 6d 61 74 69 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 28 22 20 mation');.}..$this->io->write(".
1d320 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 65 .-.Installing.<info>"...$package
1d340 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 74 ->getName()..."</info>.(<comment
1d360 3e 22 20 2e 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 66 6f 72 6d 61 74 56 65 72 73 69 6f >"...VersionParser::formatVersio
1d380 6e 28 24 70 61 63 6b 61 67 65 29 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 22 29 3b 0a 24 74 n($package)..."</comment>)");.$t
1d3a0 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
1d3c0 28 24 70 61 74 68 29 3b 0a 24 74 68 69 73 2d 3e 64 6f 44 6f 77 6e 6c 6f 61 64 28 24 70 61 63 6b ($path);.$this->doDownload($pack
1d3e0 61 67 65 2c 20 24 70 61 74 68 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 27 age,.$path);.$this->io->write(''
1d400 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 70 64 61 74 65 28 );.}.....public.function.update(
1d420 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
1d440 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 29 0a 7b 0a 69 66 geInterface.$target,.$path).{.if
1d460 20 28 21 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 .(!$target->getSourceReference()
1d480 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
1d4a0 63 65 70 74 69 6f 6e 28 27 50 61 63 6b 61 67 65 20 27 2e 24 74 61 72 67 65 74 2d 3e 67 65 74 50 ception('Package.'.$target->getP
1d4c0 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 20 69 73 20 6d 69 73 73 69 6e 67 20 72 65 66 65 72 65 6e rettyName().'.is.missing.referen
1d4e0 63 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 27 29 3b 0a 7d 0a 0a 24 6e 61 6d 65 20 3d 20 24 74 61 ce.information');.}..$name.=.$ta
1d500 72 67 65 74 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 69 66 20 28 24 69 6e 69 74 69 61 6c 2d 3e 67 rget->getName();.if.($initial->g
1d520 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 3d 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 etPrettyVersion().==.$target->ge
1d540 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 29 20 7b 0a 69 66 20 28 24 74 61 72 67 65 74 2d tPrettyVersion()).{.if.($target-
1d560 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 20 3d 3d 3d 20 27 73 76 6e 27 29 20 7b 0a 24 66 >getSourceType().===.'svn').{.$f
1d580 72 6f 6d 20 3d 20 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e rom.=.$initial->getSourceReferen
1d5a0 63 65 28 29 3b 0a 24 74 6f 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 ce();.$to.=.$target->getSourceRe
1d5c0 66 65 72 65 6e 63 65 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 66 72 6f 6d 20 3d 20 73 75 62 73 ference();.}.else.{.$from.=.subs
1d5e0 74 72 28 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 tr($initial->getSourceReference(
1d600 29 2c 20 30 2c 20 37 29 3b 0a 24 74 6f 20 3d 20 73 75 62 73 74 72 28 24 74 61 72 67 65 74 2d 3e ),.0,.7);.$to.=.substr($target->
1d620 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 37 29 3b 0a 7d 0a 24 getSourceReference(),.0,.7);.}.$
1d640 6e 61 6d 65 20 2e 3d 20 27 20 27 2e 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 50 72 65 74 74 79 56 name..=.'.'.$initial->getPrettyV
1d660 65 72 73 69 6f 6e 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 66 72 6f 6d 20 3d 20 56 65 72 73 69 ersion();.}.else.{.$from.=.Versi
1d680 6f 6e 50 61 72 73 65 72 3a 3a 66 6f 72 6d 61 74 56 65 72 73 69 6f 6e 28 24 69 6e 69 74 69 61 6c onParser::formatVersion($initial
1d6a0 29 3b 0a 24 74 6f 20 3d 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 66 6f 72 6d 61 74 56 65 );.$to.=.VersionParser::formatVe
1d6c0 72 73 69 6f 6e 28 24 74 61 72 67 65 74 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 rsion($target);.}..$this->io->wr
1d6e0 69 74 65 28 22 20 20 2d 20 55 70 64 61 74 69 6e 67 20 3c 69 6e 66 6f 3e 22 20 2e 20 24 6e 61 6d ite("..-.Updating.<info>"...$nam
1d700 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 6d e..."</info>.(<comment>"...$from
1d720 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 24 ..."</comment>.=>.<comment>"...$
1d740 74 6f 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 22 29 3b 0a 0a 24 74 68 69 73 2d 3e 63 6c 65 to..."</comment>)");..$this->cle
1d760 61 6e 43 68 61 6e 67 65 73 28 24 69 6e 69 74 69 61 6c 2c 20 24 70 61 74 68 2c 20 74 72 75 65 29 anChanges($initial,.$path,.true)
1d780 3b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 64 6f 55 70 64 61 74 65 28 24 69 6e 69 74 69 61 6c ;.try.{.$this->doUpdate($initial
1d7a0 2c 20 24 74 61 72 67 65 74 2c 20 24 70 61 74 68 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 ,.$target,.$path);.}.catch.(\Exc
1d7c0 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 72 65 61 70 70 6c 79 43 68 61 eption.$e).{...$this->reapplyCha
1d7e0 6e 67 65 73 28 24 70 61 74 68 29 3b 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 24 74 68 69 73 2d nges($path);..throw.$e;.}.$this-
1d800 3e 72 65 61 70 70 6c 79 43 68 61 6e 67 65 73 28 24 70 61 74 68 29 3b 0a 0a 0a 20 69 66 20 28 24 >reapplyChanges($path);....if.($
1d820 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 56 65 72 62 6f 73 65 28 29 29 20 7b 0a 24 6d 65 73 73 61 67 this->io->isVerbose()).{.$messag
1d840 65 20 3d 20 27 50 75 6c 6c 69 6e 67 20 69 6e 20 63 68 61 6e 67 65 73 3a 27 3b 0a 24 6c 6f 67 73 e.=.'Pulling.in.changes:';.$logs
1d860 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 6d 69 74 4c 6f 67 73 28 24 69 6e 69 74 69 61 6c .=.$this->getCommitLogs($initial
1d880 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 2c 20 24 74 61 72 67 65 74 2d ->getSourceReference(),.$target-
1d8a0 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 2c 20 24 70 61 74 68 29 3b 0a 0a >getSourceReference(),.$path);..
1d8c0 69 66 20 28 21 74 72 69 6d 28 24 6c 6f 67 73 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 if.(!trim($logs)).{.$message.=.'
1d8e0 52 6f 6c 6c 69 6e 67 20 62 61 63 6b 20 63 68 61 6e 67 65 73 3a 27 3b 0a 24 6c 6f 67 73 20 3d 20 Rolling.back.changes:';.$logs.=.
1d900 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 6d 69 74 4c 6f 67 73 28 24 74 61 72 67 65 74 2d 3e 67 65 $this->getCommitLogs($target->ge
1d920 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 2c 20 24 69 6e 69 74 69 61 6c 2d 3e 67 65 tSourceReference(),.$initial->ge
1d940 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 69 tSourceReference(),.$path);.}..i
1d960 66 20 28 74 72 69 6d 28 24 6c 6f 67 73 29 29 20 7b 0a 24 6c 6f 67 73 20 3d 20 69 6d 70 6c 6f 64 f.(trim($logs)).{.$logs.=.implod
1d980 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 20 28 24 6c 69 6e e("\n",.array_map(function.($lin
1d9a0 65 29 20 7b 0a 72 65 74 75 72 6e 20 27 20 20 20 20 20 20 27 20 2e 20 24 6c 69 6e 65 3b 0a 7d 2c e).{.return.'......'...$line;.},
1d9c0 20 65 78 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 24 6c 6f 67 73 29 29 29 3b 0a 0a 24 74 68 69 73 2d .explode("\n",.$logs)));..$this-
1d9e0 3e 69 6f 2d 3e 77 72 69 74 65 28 27 20 20 20 20 27 2e 24 6d 65 73 73 61 67 65 29 3b 0a 24 74 68 >io->write('....'.$message);.$th
1da00 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 24 6c 6f 67 73 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 is->io->write($logs);.}.}..$this
1da20 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ->io->write('');.}.....public.fu
1da40 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.$
1da60 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 77 72 69 package,.$path).{.$this->io->wri
1da80 74 65 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 70 61 63 6b te("..-.Removing.<info>"...$pack
1daa0 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 6d age->getName()..."</info>.(<comm
1dac0 65 6e 74 3e 22 20 2e 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 ent>"...$package->getPrettyVersi
1dae0 6f 6e 28 29 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 22 29 3b 0a 24 74 68 69 73 2d 3e 63 6c on()..."</comment>)");.$this->cl
1db00 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 66 61 6c 73 eanChanges($package,.$path,.fals
1db20 65 29 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 72 65 6d 6f e);.if.(!$this->filesystem->remo
1db40 76 65 44 69 72 65 63 74 6f 72 79 28 24 70 61 74 68 29 29 20 7b 0a 0a 20 69 66 20 28 21 64 65 66 veDirectory($path)).{...if.(!def
1db60 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 27 ined('PHP_WINDOWS_VERSION_BUILD'
1db80 29 20 7c 7c 20 28 75 73 6c 65 65 70 28 32 35 30 29 20 26 26 20 21 24 74 68 69 73 2d 3e 66 69 6c ).||.(usleep(250).&&.!$this->fil
1dba0 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 70 61 74 68 29 29 esystem->removeDirectory($path))
1dbc0 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(
1dbe0 27 43 6f 75 6c 64 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 'Could.not.completely.delete.'.$
1dc00 70 61 74 68 2e 27 2c 20 61 62 6f 72 74 69 6e 67 2e 27 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a path.',.aborting.');.}.}.}......
1dc20 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 72 65 73 public.function.setOutputProgres
1dc40 73 28 24 6f 75 74 70 75 74 50 72 6f 67 72 65 73 73 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 s($outputProgress).{.return.$thi
1dc60 73 3b 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 s;.}...........protected.functio
1dc80 6e 20 63 6c 65 61 6e 43 68 61 6e 67 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 n.cleanChanges(PackageInterface.
1dca0 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 75 70 64 61 74 65 29 0a 7b 0a 0a 20 69 66 $package,.$path,.$update).{...if
1dcc0 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 63 61 6c 43 68 61 6e 67 65 .(null.!==.$this->getLocalChange
1dce0 73 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 s($package,.$path)).{.throw.new.
1dd00 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 53 6f 75 72 63 65 20 64 69 72 65 63 74 \RuntimeException('Source.direct
1dd20 6f 72 79 20 27 20 2e 20 24 70 61 74 68 20 2e 20 27 20 68 61 73 20 75 6e 63 6f 6d 6d 69 74 74 65 ory.'...$path...'.has.uncommitte
1dd40 64 20 63 68 61 6e 67 65 73 2e 27 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 d.changes.');.}.}........protect
1dd60 65 64 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 70 70 6c 79 43 68 61 6e 67 65 73 28 24 70 61 74 68 ed.function.reapplyChanges($path
1dd80 29 0a 7b 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 ).{.}........abstract.protected.
1dda0 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 6e 74 65 72 function.doDownload(PackageInter
1ddc0 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 face.$package,.$path);.........a
1dde0 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 6f 55 70 64 bstract.protected.function.doUpd
1de00 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 50 ate(PackageInterface.$initial,.P
1de20 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 29 3b ackageInterface.$target,.$path);
1de40 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 75 6e ..........abstract.protected.fun
1de60 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 65 6e ction.getCommitLogs($fromReferen
1de80 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 7d 0a 3c 3f 70 68 ce,.$toReference,.$path);.}.<?ph
1dea0 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\
1dec0 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 6f 6e 66 69 67 Downloader;..use.Composer\Config
1dee0 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 6d 70 6f 73 ;.use.Composer\Cache;.use.Compos
1df00 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 5c er\IO\IOInterface;.use.Composer\
1df20 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
1df40 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
1df60 72 73 65 72 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 rser;.use.Composer\Util\Filesyst
1df80 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 47 69 74 48 75 62 3b 0a 75 73 em;.use.Composer\Util\GitHub;.us
1dfa0 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
1dfc0 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 65 72 20 69 ;.........class.FileDownloader.i
1dfe0 6d 70 6c 65 6d 65 6e 74 73 20 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a mplements.DownloaderInterface.{.
1e000 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 63 61 63 68 65 43 6f 6c 6c 65 63 74 65 64 20 3d private.static.$cacheCollected.=
1e020 20 66 61 6c 73 65 3b 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 .false;.protected.$io;.protected
1e040 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 0a 70 72 6f 74 65 63 .$config;.protected.$rfs;.protec
1e060 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 64 20 24 63 61 63 68 ted.$filesystem;.protected.$cach
1e080 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 65 73 73 20 3d 20 74 e;.protected.$outputProgress.=.t
1e0a0 72 75 65 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 5f rue;...........public.function._
1e0c0 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 6e 66 _construct(IOInterface.$io,.Conf
1e0e0 69 67 20 24 63 6f 6e 66 69 67 2c 20 43 61 63 68 65 20 24 63 61 63 68 65 20 3d 20 6e 75 6c 6c 2c ig.$config,.Cache.$cache.=.null,
1e100 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 2c 20 46 .RemoteFilesystem.$rfs.=.null,.F
1e120 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 0a 7b 0a ilesystem.$filesystem.=.null).{.
1e140 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 3d $this->io.=.$io;.$this->config.=
1e160 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 72 66 73 20 3d 20 24 72 66 73 20 3f 3a 20 6e .$config;.$this->rfs.=.$rfs.?:.n
1e180 65 77 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 69 6f 29 3b 0a 24 74 68 69 73 2d ew.RemoteFilesystem($io);.$this-
1e1a0 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 6e 65 77 >filesystem.=.$filesystem.?:.new
1e1c0 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 20 3d 20 24 63 .Filesystem();.$this->cache.=.$c
1e1e0 61 63 68 65 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 61 63 68 65 20 26 26 20 21 73 65 6c 66 ache;..if.($this->cache.&&.!self
1e200 3a 3a 24 63 61 63 68 65 43 6f 6c 6c 65 63 74 65 64 20 26 26 20 21 6d 74 5f 72 61 6e 64 28 30 2c ::$cacheCollected.&&.!mt_rand(0,
1e220 20 35 30 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 67 63 28 24 63 6f 6e 66 69 67 .50)).{.$this->cache->gc($config
1e240 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 74 74 6c 27 29 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 ->get('cache-ttl'),.$config->get
1e260 28 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 6d 61 78 73 69 7a 65 27 29 29 3b 0a 7d 0a 73 65 6c 66 ('cache-files-maxsize'));.}.self
1e280 3a 3a 24 63 61 63 68 65 43 6f 6c 6c 65 63 74 65 64 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a ::$cacheCollected.=.true;.}.....
1e2a0 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
1e2c0 6f 75 72 63 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 64 69 73 74 27 3b 0a 7d 0a 0a 0a 0a 0a 70 ource().{.return.'dist';.}.....p
1e2e0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 77 6e 6c 6f 61 64 28 50 61 63 6b 61 67 65 49 ublic.function.download(PackageI
1e300 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 75 72 6c nterface.$package,.$path).{.$url
1e320 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 72 6c 28 29 3b 0a 69 66 20 28 21 .=.$package->getDistUrl();.if.(!
1e340 24 75 72 6c 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 $url).{.throw.new.\InvalidArgume
1e360 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 67 69 76 65 6e 20 70 61 63 6b 61 67 65 20 69 ntException('The.given.package.i
1e380 73 20 6d 69 73 73 69 6e 67 20 75 72 6c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 27 29 3b 0a 7d 0a 0a s.missing.url.information');.}..
1e3a0 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 65 63 74 6f $this->filesystem->ensureDirecto
1e3c0 72 79 45 78 69 73 74 73 28 24 70 61 74 68 29 3b 0a 0a 24 66 69 6c 65 4e 61 6d 65 20 3d 20 24 74 ryExists($path);..$fileName.=.$t
1e3e0 68 69 73 2d 3e 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 his->getFileName($package,.$path
1e400 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 22 20 20 2d 20 49 6e 73 74 61 6c );..$this->io->write("..-.Instal
1e420 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 61 6d 65 ling.<info>"...$package->getName
1e440 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 56 65 72 73 ()..."</info>.(<comment>"...Vers
1e460 69 6f 6e 50 61 72 73 65 72 3a 3a 66 6f 72 6d 61 74 56 65 72 73 69 6f 6e 28 24 70 61 63 6b 61 67 ionParser::formatVersion($packag
1e480 65 29 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 22 29 3b 0a 0a 24 70 72 6f 63 65 73 73 65 64 e)..."</comment>)");..$processed
1e4a0 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 55 72 6c 28 24 70 61 63 6b 61 67 65 Url.=.$this->processUrl($package
1e4c0 2c 20 24 75 72 6c 29 3b 0a 24 68 6f 73 74 6e 61 6d 65 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 ,.$url);.$hostname.=.parse_url($
1e4e0 70 72 6f 63 65 73 73 65 64 55 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 3b 0a 0a 69 66 processedUrl,.PHP_URL_HOST);..if
1e500 20 28 73 74 72 70 6f 73 28 24 68 6f 73 74 6e 61 6d 65 2c 20 27 2e 67 69 74 68 75 62 2e 63 6f 6d .(strpos($hostname,.'.github.com
1e520 27 29 20 3d 3d 3d 20 28 73 74 72 6c 65 6e 28 24 68 6f 73 74 6e 61 6d 65 29 20 2d 20 31 31 29 29 ').===.(strlen($hostname).-.11))
1e540 20 7b 0a 24 68 6f 73 74 6e 61 6d 65 20 3d 20 27 67 69 74 68 75 62 2e 63 6f 6d 27 3b 0a 7d 0a 0a .{.$hostname.=.'github.com';.}..
1e560 74 72 79 20 7b 0a 74 72 79 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 63 61 63 68 65 20 7c 7c try.{.try.{.if.(!$this->cache.||
1e580 20 21 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 63 6f 70 79 54 6f 28 24 74 68 69 73 2d 3e 67 65 .!$this->cache->copyTo($this->ge
1e5a0 74 43 61 63 68 65 4b 65 79 28 24 70 61 63 6b 61 67 65 29 2c 20 24 66 69 6c 65 4e 61 6d 65 29 29 tCacheKey($package),.$fileName))
1e5c0 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 50 72 6f 67 72 65 73 73 29 20 7b .{.if.(!$this->outputProgress).{
1e5e0 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 20 20 20 20 44 6f 77 6e 6c 6f 61 64 69 .$this->io->write('....Downloadi
1e600 6e 67 27 29 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 ng');.}....$retries.=.3;.while.(
1e620 24 72 65 74 72 69 65 73 2d 2d 29 20 7b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 72 66 73 2d 3e $retries--).{.try.{.$this->rfs->
1e640 63 6f 70 79 28 24 68 6f 73 74 6e 61 6d 65 2c 20 24 70 72 6f 63 65 73 73 65 64 55 72 6c 2c 20 24 copy($hostname,.$processedUrl,.$
1e660 66 69 6c 65 4e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 50 72 6f 67 72 65 73 73 29 fileName,.$this->outputProgress)
1e680 3b 0a 62 72 65 61 6b 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 ;.break;.}.catch.(TransportExcep
1e6a0 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 69 66 20 28 28 30 20 21 3d 3d 20 24 65 2d 3e 67 65 74 43 tion.$e).{...if.((0.!==.$e->getC
1e6c0 6f 64 65 28 29 20 26 26 20 35 30 30 20 21 3d 3d 20 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 29 20 ode().&&.500.!==.$e->getCode()).
1e6e0 7c 7c 20 21 24 72 65 74 72 69 65 73 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 69 66 20 28 ||.!$retries).{.throw.$e;.}.if.(
1e700 24 74 68 69 73 2d 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 $this->io->isVerbose()).{.$this-
1e720 3e 69 6f 2d 3e 77 72 69 74 65 28 27 20 20 20 20 44 6f 77 6e 6c 6f 61 64 20 66 61 69 6c 65 64 2c >io->write('....Download.failed,
1e740 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 30 30 30 30 30 29 .retrying...');.}.usleep(500000)
1e760 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 61 63 68 65 29 20 7b 0a 24 74 68 69 73 ;.}.}..if.($this->cache).{.$this
1e780 2d 3e 63 61 63 68 65 2d 3e 63 6f 70 79 46 72 6f 6d 28 24 74 68 69 73 2d 3e 67 65 74 43 61 63 68 ->cache->copyFrom($this->getCach
1e7a0 65 4b 65 79 28 24 70 61 63 6b 61 67 65 29 2c 20 24 66 69 6c 65 4e 61 6d 65 29 3b 0a 7d 0a 7d 20 eKey($package),.$fileName);.}.}.
1e7c0 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 20 20 20 20 4c 6f 61 else.{.$this->io->write('....Loa
1e7e0 64 69 6e 67 20 66 72 6f 6d 20 63 61 63 68 65 27 29 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 54 72 ding.from.cache');.}.}.catch.(Tr
1e800 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 69 6e 5f 61 72 ansportException.$e).{.if.(in_ar
1e820 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 34 2c 20 34 30 ray($e->getCode(),.array(404,.40
1e840 33 29 29 20 26 26 20 27 67 69 74 68 75 62 2e 63 6f 6d 27 20 3d 3d 3d 20 24 68 6f 73 74 6e 61 6d 3)).&&.'github.com'.===.$hostnam
1e860 65 20 26 26 20 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 e.&&.!$this->io->hasAuthenticati
1e880 6f 6e 28 24 68 6f 73 74 6e 61 6d 65 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 22 5c 6e 22 on($hostname)).{.$message.=."\n"
1e8a0 2e 27 43 6f 75 6c 64 20 6e 6f 74 20 66 65 74 63 68 20 27 2e 24 70 72 6f 63 65 73 73 65 64 55 72 .'Could.not.fetch.'.$processedUr
1e8c0 6c 2e 27 2c 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 l.',.enter.your.GitHub.credentia
1e8e0 6c 73 20 27 2e 28 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 20 3d 3d 3d 20 34 30 34 20 3f 20 27 74 ls.'.($e->getCode().===.404.?.'t
1e900 6f 20 61 63 63 65 73 73 20 70 72 69 76 61 74 65 20 72 65 70 6f 73 27 20 3a 20 27 74 6f 20 67 6f o.access.private.repos'.:.'to.go
1e920 20 6f 76 65 72 20 74 68 65 20 41 50 49 20 72 61 74 65 20 6c 69 6d 69 74 27 29 3b 0a 24 67 69 74 .over.the.API.rate.limit');.$git
1e940 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 6f 2c 20 HubUtil.=.new.GitHub($this->io,.
1e960 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 6e 75 6c 6c 2c 20 24 74 68 69 73 2d 3e 72 66 73 29 $this->config,.null,.$this->rfs)
1e980 3b 0a 69 66 20 28 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 ;.if.(!$gitHubUtil->authorizeOAu
1e9a0 74 68 28 24 68 6f 73 74 6e 61 6d 65 29 0a 26 26 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 th($hostname).&&.(!$this->io->is
1e9c0 49 6e 74 65 72 61 63 74 69 76 65 28 29 20 7c 7c 20 21 24 67 69 74 48 75 62 55 74 69 6c 2d 3e 61 Interactive().||.!$gitHubUtil->a
1e9e0 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 24 68 6f 73 74 uthorizeOAuthInteractively($host
1ea00 6e 61 6d 65 2c 20 24 6d 65 73 73 61 67 65 29 29 0a 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d name,.$message)).).{.throw.$e;.}
1ea20 0a 24 74 68 69 73 2d 3e 72 66 73 2d 3e 63 6f 70 79 28 24 68 6f 73 74 6e 61 6d 65 2c 20 24 70 72 .$this->rfs->copy($hostname,.$pr
1ea40 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 68 69 73 2d 3e 6f 75 ocessedUrl,.$fileName,.$this->ou
1ea60 74 70 75 74 50 72 6f 67 72 65 73 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 24 65 tputProgress);.}.else.{.throw.$e
1ea80 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 4e 61 6d ;.}.}..if.(!file_exists($fileNam
1eaa0 65 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 e)).{.throw.new.\UnexpectedValue
1eac0 45 78 63 65 70 74 69 6f 6e 28 24 75 72 6c 2e 27 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 73 61 Exception($url.'.could.not.be.sa
1eae0 76 65 64 20 74 6f 20 27 2e 24 66 69 6c 65 4e 61 6d 65 2e 27 2c 20 6d 61 6b 65 20 73 75 72 65 20 ved.to.'.$fileName.',.make.sure.
1eb00 74 68 65 27 0a 2e 27 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 77 72 69 74 61 62 6c 65 20 61 6e the'..'.directory.is.writable.an
1eb20 64 20 79 6f 75 20 68 61 76 65 20 69 6e 74 65 72 6e 65 74 20 63 6f 6e 6e 65 63 74 69 76 69 74 79 d.you.have.internet.connectivity
1eb40 27 29 3b 0a 7d 0a 0a 24 63 68 65 63 6b 73 75 6d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 ');.}..$checksum.=.$package->get
1eb60 44 69 73 74 53 68 61 31 43 68 65 63 6b 73 75 6d 28 29 3b 0a 69 66 20 28 24 63 68 65 63 6b 73 75 DistSha1Checksum();.if.($checksu
1eb80 6d 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 m.&&.hash_file('sha1',.$fileName
1eba0 29 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 ).!==.$checksum).{.throw.new.\Un
1ebc0 65 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 expectedValueException('The.chec
1ebe0 6b 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 ksum.verification.of.the.file.fa
1ec00 69 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 iled.(downloaded.from.'.$url.')'
1ec20 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 0a );.}.}.catch.(\Exception.$e).{..
1ec40 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 74 .$this->filesystem->removeDirect
1ec60 6f 72 79 28 24 70 61 74 68 29 3b 0a 24 74 68 69 73 2d 3e 63 6c 65 61 72 43 61 63 68 65 28 24 70 ory($path);.$this->clearCache($p
1ec80 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 3b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 0a 0a ackage,.$path);.throw.$e;.}.}...
1eca0 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 72 ..public.function.setOutputProgr
1ecc0 65 73 73 28 24 6f 75 74 70 75 74 50 72 6f 67 72 65 73 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 ess($outputProgress).{.$this->ou
1ece0 74 70 75 74 50 72 6f 67 72 65 73 73 20 3d 20 24 6f 75 74 70 75 74 50 72 6f 67 72 65 73 73 3b 0a tputProgress.=.$outputProgress;.
1ed00 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 .return.$this;.}..protected.func
1ed20 74 69 6f 6e 20 63 6c 65 61 72 43 61 63 68 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 tion.clearCache(PackageInterface
1ed40 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 .$package,.$path).{.if.($this->c
1ed60 61 63 68 65 29 20 7b 0a 24 66 69 6c 65 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 46 69 ache).{.$fileName.=.$this->getFi
1ed80 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 24 74 68 69 73 2d 3e leName($package,.$path);.$this->
1eda0 63 61 63 68 65 2d 3e 72 65 6d 6f 76 65 28 24 74 68 69 73 2d 3e 67 65 74 43 61 63 68 65 4b 65 79 cache->remove($this->getCacheKey
1edc0 28 24 70 61 63 6b 61 67 65 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ($package));.}.}.....public.func
1ede0 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 69 6e tion.update(PackageInterface.$in
1ee00 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 2c itial,.PackageInterface.$target,
1ee20 20 24 70 61 74 68 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 28 24 69 6e 69 74 69 61 6c .$path).{.$this->remove($initial
1ee40 2c 20 24 70 61 74 68 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 ,.$path);.$this->download($targe
1ee60 74 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 63 74 69 6f 6e t,.$path);.}.....public.function
1ee80 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 61 67 .remove(PackageInterface.$packag
1eea0 65 2c 20 24 70 61 74 68 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 22 20 20 e,.$path).{.$this->io->write("..
1eec0 2d 20 52 65 6d 6f 76 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 -.Removing.<info>"...$package->g
1eee0 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 74 3e 22 20 etName()..."</info>.(<comment>".
1ef00 2e 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 66 6f 72 6d 61 74 56 65 72 73 69 6f 6e 28 24 ..VersionParser::formatVersion($
1ef20 70 61 63 6b 61 67 65 29 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 22 29 3b 0a 69 66 20 28 21 package)..."</comment>)");.if.(!
1ef40 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
1ef60 72 79 28 24 70 61 74 68 29 29 20 7b 0a 0a 20 69 66 20 28 21 64 65 66 69 6e 65 64 28 27 50 48 50 ry($path)).{...if.(!defined('PHP
1ef80 5f 57 49 4e 44 4f 57 53 5f 56 45 52 53 49 4f 4e 5f 42 55 49 4c 44 27 29 20 7c 7c 20 28 75 73 6c _WINDOWS_VERSION_BUILD').||.(usl
1efa0 65 65 70 28 32 35 30 30 30 30 29 20 26 26 20 21 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 eep(250000).&&.!$this->filesyste
1efc0 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 29 20 7b 0a 74 68 m->removeDirectory($path))).{.th
1efe0 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
1f000 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.'
1f020 2c 20 61 62 6f 72 74 69 6e 67 2e 27 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f ,.aborting.');.}.}.}.........pro
1f040 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 6d 65 28 50 61 63 6b tected.function.getFileName(Pack
1f060 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 0a ageInterface.$package,.$path).{.
1f080 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 28 70 61 72 73 65 5f return.$path.'/'.pathinfo(parse_
1f0a0 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 48 50 5f url($package->getDistUrl(),.PHP_
1f0c0 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 41 4d 45 29 3b 0a 7d URL_PATH),.PATHINFO_BASENAME);.}
1f0e0 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 70 72 ...........protected.function.pr
1f100 6f 63 65 73 73 55 72 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 ocessUrl(PackageInterface.$packa
1f120 67 65 2c 20 24 75 72 6c 29 0a 7b 0a 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 ge,.$url).{.if.(!extension_loade
1f140 64 28 27 6f 70 65 6e 73 73 6c 27 29 20 26 26 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 75 72 d('openssl').&&.0.===.strpos($ur
1f160 6c 2c 20 27 68 74 74 70 73 3a 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 l,.'https:')).{.throw.new.\Runti
1f180 6d 65 45 78 63 65 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 meException('You.must.enable.the
1f1a0 20 6f 70 65 6e 73 73 6c 20 65 78 74 65 6e 73 69 6f 6e 20 74 6f 20 64 6f 77 6e 6c 6f 61 64 20 66 .openssl.extension.to.download.f
1f1c0 69 6c 65 73 20 76 69 61 20 68 74 74 70 73 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 75 72 6c iles.via.https');.}..return.$url
1f1e0 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 4b 65 ;.}..private.function.getCacheKe
1f200 79 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 y(PackageInterface.$package).{.i
1f220 66 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 f.(preg_match('{^[a-f0-9]{40}$}'
1f240 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 29 29 ,.$package->getDistReference()))
1f260 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 2f .{.return.$package->getName().'/
1f280 27 2e 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 2e 27 '.$package->getDistReference().'
1f2a0 2e 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 54 79 70 65 28 29 3b 0a 7d 0a 0a 72 .'.$package->getDistType();.}..r
1f2c0 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 2f 27 2e 24 70 eturn.$package->getName().'/'.$p
1f2e0 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2e 27 2d 27 2e 24 70 61 63 6b 61 67 ackage->getVersion().'-'.$packag
1f300 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 2e 27 2e 27 2e 24 70 61 63 6b 61 e->getDistReference().'.'.$packa
1f320 67 65 2d 3e 67 65 74 44 69 73 74 54 79 70 65 28 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a ge->getDistType();.}.}.<?php....
1f340 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 6f 77 6e 6c ........namespace.Composer\Downl
1f360 6f 61 64 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 oader;..use.Composer\Package\Pac
1f380 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 6c kageInterface;.use.Composer\Util
1f3a0 5c 53 76 6e 20 61 73 20 53 76 6e 55 74 69 6c 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 76 6e 44 \Svn.as.SvnUtil;......class.SvnD
1f3c0 6f 77 6e 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 ownloader.extends.VcsDownloader.
1f3e0 7b 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(
1f400 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
1f420 29 0a 7b 0a 24 75 72 6c 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 ).{.$url.=.$package->getSourceUr
1f440 6c 28 29 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 65 52 l();.$ref.=.$package->getSourceR
1f460 65 66 65 72 65 6e 63 65 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 22 20 eference();..$this->io->write(".
1f480 20 20 20 43 68 65 63 6b 69 6e 67 20 6f 75 74 20 22 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 ...Checking.out.".$package->getS
1f4a0 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 65 78 65 63 75 74 ourceReference());.$this->execut
1f4c0 65 28 24 75 72 6c 2c 20 22 73 76 6e 20 63 6f 22 2c 20 73 70 72 69 6e 74 66 28 22 25 73 2f 25 73 e($url,."svn.co",.sprintf("%s/%s
1f4e0 22 2c 20 24 75 72 6c 2c 20 24 72 65 66 29 2c 20 6e 75 6c 6c 2c 20 24 70 61 74 68 29 3b 0a 7d 0a ",.$url,.$ref),.null,.$path);.}.
1f500 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 50 61 63 ....public.function.doUpdate(Pac
1f520 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 49 kageInterface.$initial,.PackageI
1f540 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 2c 20 24 70 61 74 68 29 0a 7b 0a 24 75 72 6c 20 nterface.$target,.$path).{.$url.
1f560 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 6c 28 29 3b 0a 24 72 65 66 20 =.$target->getSourceUrl();.$ref.
1f580 3d 20 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 3b =.$target->getSourceReference();
1f5a0 0a 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 70 61 74 68 2e 27 2f 2e 73 76 6e 27 29 29 20 7b 0a ..if.(!is_dir($path.'/.svn')).{.
1f5c0 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 65 throw.new.\RuntimeException('The
1f5e0 20 2e 73 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 ..svn.directory.is.missing.from.
1f600 27 2e 24 70 61 74 68 2e 27 2c 20 73 65 65 20 68 74 74 70 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 '.$path.',.see.http://getcompose
1f620 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 20 69 6e 66 6f 72 r.org/commit-deps.for.more.infor
1f640 6d 61 74 69 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 28 22 20 mation');.}..$this->io->write(".
1f660 20 20 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 68 69 73 ...Checking.out."...$ref);.$this
1f680 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 2c 20 73 70 ->execute($url,."svn.switch",.sp
1f6a0 72 69 6e 74 66 28 22 25 73 2f 25 73 22 2c 20 24 75 72 6c 2c 20 24 72 65 66 29 2c 20 24 70 61 74 rintf("%s/%s",.$url,.$ref),.$pat
1f6c0 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 67 65 74 4c 6f 63 h);.}.....public.function.getLoc
1f6e0 61 6c 43 68 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 alChanges(PackageInterface.$pack
1f700 61 67 65 2c 20 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 age,.$path).{.if.(!is_dir($path.
1f720 27 2f 2e 73 76 6e 27 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 72 '/.svn')).{.return;.}..$this->pr
1f740 6f 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 ocess->execute('svn.status.--ign
1f760 6f 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 ore-externals',.$output,.$path);
1f780 0a 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 ..return.preg_match('{^.*[^X.].+
1f7a0 7d 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 }m',.$output).?.$output.:.null;.
1f7c0 7d 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 }..............protected.functio
1f7e0 6e 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 n.execute($baseUrl,.$command,.$u
1f800 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 29 0a 7b rl,.$cwd.=.null,.$path.=.null).{
1f820 0a 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 .$util.=.new.SvnUtil($baseUrl,.$
1f840 74 68 69 73 2d 3e 69 6f 29 3b 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 24 75 74 69 6c 2d 3e 65 this->io);.try.{.return.$util->e
1f860 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 24 70 61 xecute($command,.$url,.$cwd,.$pa
1f880 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 7d 20 63 th,.$this->io->isVerbose());.}.c
1f8a0 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 74 68 atch.(\RuntimeException.$e).{.th
1f8c0 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 61 63 6b row.new.\RuntimeException(.'Pack
1f8e0 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 27 2e 24 age.could.not.be.downloaded,.'.$
1f900 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 6f 74 65 e->getMessage().);.}.}.....prote
1f920 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 63 6b 61 cted.function.cleanChanges(Packa
1f940 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 75 70 geInterface.$package,.$path,.$up
1f960 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 2d 3e 67 date).{.if.(!$changes.=.$this->g
1f980 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 68 29 29 etLocalChanges($package,.$path))
1f9a0 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 3e 69 73 .{.return;.}..if.(!$this->io->is
1f9c0 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 20 24 74 Interactive()).{.if.(true.===.$t
1f9e0 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 6e 67 65 his->config->get('discard-change
1fa00 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 68 61 6e s')).{.return.$this->discardChan
1fa20 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 3a 63 6c ges($path);.}..return.parent::cl
1fa40 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 75 70 64 eanChanges($package,.$path,.$upd
1fa60 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 28 66 75 ate);.}..$changes.=.array_map(fu
1fa80 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 27 2e 24 nction.($elem).{.return.'....'.$
1faa0 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 6e 5c 73 elem;.},.preg_split('{\s*\r?\n\s
1fac0 2a 7d 27 2c 20 24 63 68 61 6e 67 65 73 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 *}',.$changes));.$this->io->writ
1fae0 65 28 27 20 20 20 20 3c 65 72 72 6f 72 3e 54 68 65 20 70 61 63 6b 61 67 65 20 68 61 73 20 6d 6f e('....<error>The.package.has.mo
1fb00 64 69 66 69 65 64 20 66 69 6c 65 73 3a 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 24 74 68 69 73 2d 3e dified.files:</error>');.$this->
1fb20 69 6f 2d 3e 77 72 69 74 65 28 61 72 72 61 79 5f 73 6c 69 63 65 28 24 63 68 61 6e 67 65 73 2c 20 io->write(array_slice($changes,.
1fb40 30 2c 20 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 0,.10));.if.(count($changes).>.1
1fb60 30 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 20 20 20 20 3c 69 6e 66 6f 0).{.$this->io->write('....<info
1fb80 3e 27 2e 63 6f 75 6e 74 28 24 63 68 61 6e 67 65 73 29 20 2d 20 31 30 20 2e 20 27 20 6d 6f 72 65 >'.count($changes).-.10...'.more
1fba0 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 22 20 74 6f 20 76 .files.modified,.choose."v".to.v
1fbc0 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 3b 0a 7d 0a 0a 77 iew.the.full.list</info>');.}..w
1fbe0 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 73 2d 3e 69 6f 2d hile.(true).{.switch.($this->io-
1fc00 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 61 6e 67 65 73 20 >ask('....<info>Discard.changes.
1fc20 5b 79 2c 6e 2c 76 2c 3f 5d 3f 3c 2f 69 6e 66 6f 3e 20 27 2c 20 27 3f 27 29 29 20 7b 0a 63 61 73 [y,n,v,?]?</info>.',.'?')).{.cas
1fc40 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 61 e.'y':.$this->discardChanges($pa
1fc60 74 68 29 3b 0a 62 72 65 61 6b 20 32 3b 0a 0a 63 61 73 65 20 27 6e 27 3a 0a 74 68 72 6f 77 20 6e th);.break.2;..case.'n':.throw.n
1fc80 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 55 70 64 61 74 65 20 61 62 6f ew.\RuntimeException('Update.abo
1fca0 72 74 65 64 27 29 3b 0a 0a 63 61 73 65 20 27 76 27 3a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 rted');..case.'v':.$this->io->wr
1fcc0 69 74 65 28 24 63 68 61 6e 67 65 73 29 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 3f 27 3a ite($changes);.break;..case.'?':
1fce0 0a 64 65 66 61 75 6c 74 3a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 61 72 72 61 79 .default:.$this->io->write(array
1fd00 28 0a 27 20 20 20 20 79 20 2d 20 64 69 73 63 61 72 64 20 63 68 61 6e 67 65 73 20 61 6e 64 20 61 (.'....y.-.discard.changes.and.a
1fd20 70 70 6c 79 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 20 3a pply.the.'.($update.?.'update'.:
1fd40 20 27 75 6e 69 6e 73 74 61 6c 6c 27 29 2c 0a 27 20 20 20 20 6e 20 2d 20 61 62 6f 72 74 20 74 68 .'uninstall'),.'....n.-.abort.th
1fd60 65 20 27 2e 28 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 e.'.($update.?.'update'.:.'unins
1fd80 74 61 6c 6c 27 29 2e 27 20 61 6e 64 20 6c 65 74 20 79 6f 75 20 6d 61 6e 75 61 6c 6c 79 20 63 6c tall').'.and.let.you.manually.cl
1fda0 65 61 6e 20 74 68 69 6e 67 73 20 75 70 27 2c 0a 27 20 20 20 20 76 20 2d 20 76 69 65 77 20 6d 6f ean.things.up',.'....v.-.view.mo
1fdc0 64 69 66 69 65 64 20 66 69 6c 65 73 27 2c 0a 27 20 20 20 20 3f 20 2d 20 70 72 69 6e 74 20 68 65 dified.files',.'....?.-.print.he
1fde0 6c 70 27 2c 0a 29 29 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 lp',.));.break;.}.}.}.....protec
1fe00 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 24 66 72 6f 6d ted.function.getCommitLogs($from
1fe20 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 61 74 68 29 0a Reference,.$toReference,.$path).
1fe40 7b 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 61 63 65 {...$fromRevision.=.preg_replace
1fe60 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 66 65 72 ('{.*@(\d+)$}',.'$1',.$fromRefer
1fe80 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 6c 61 63 ence);.$toRevision.=.preg_replac
1fea0 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 65 72 65 e('{.*@(\d+)$}',.'$1',.$toRefere
1fec0 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 6e 20 6c nce);..$command.=.sprintf('svn.l
1fee0 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 24 66 72 6f 6d og.-r%s:%s.--incremental',.$from
1ff00 52 65 76 69 73 69 6f 6e 2c 20 24 74 6f 52 65 76 69 73 69 6f 6e 29 3b 0a 0a 69 66 20 28 30 20 21 Revision,.$toRevision);..if.(0.!
1ff20 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
1ff40 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 6e 65 and,.$output,.$path)).{.throw.ne
1ff60 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 65 w.\RuntimeException('Failed.to.e
1ff80 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 24 xecute.'...$command..."\n\n"...$
1ffa0 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 29 this->process->getErrorOutput())
1ffc0 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6f 75 74 70 75 74 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 ;.}..return.$output;.}..protecte
1ffe0 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 24 70 61 74 68 29 d.function.discardChanges($path)
20000 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 73 73 2d 3e 65 78 65 .{.if.(0.!==.$this->process->exe
20020 63 75 74 65 28 27 73 76 6e 20 72 65 76 65 72 74 20 2d 52 20 2e 27 2c 20 24 6f 75 74 70 75 74 2c cute('svn.revert.-R..',.$output,
20040 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 78 63 .$path)).{.throw.new.\RuntimeExc
20060 65 70 74 69 6f 6e 28 22 43 6f 75 6c 64 20 6e 6f 74 20 72 65 73 65 74 20 63 68 61 6e 67 65 73 5c eption("Could.not.reset.changes\
20080 6e 5c 6e 3a 22 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 n\n:".$this->process->getErrorOu
200a0 74 70 75 74 28 29 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 0a tput());.}.}.}.<?php............
200c0 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 0a 0a namespace.Composer\Downloader;..
200e0 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;...
20100 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 63 74 ........class.PearPackageExtract
20120 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 6f 75 or.{.private.static.$rolesWithou
20140 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 70 27 tPackageNamePrefix.=.array('php'
20160 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 66 69 ,.'script',.'www');..private.$fi
20180 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 69 63 lesystem;.private.$file;..public
201a0 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 0a 69 .function.__construct($file).{.i
201c0 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 77 20 f.(!is_file($file)).{.throw.new.
201e0 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 52 20 \UnexpectedValueException('PEAR.
20200 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 2e 24 package.file.is.not.found.at.'.$
20220 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 6e 65 file);.}..$this->filesystem.=.ne
20240 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 24 66 w.Filesystem();.$this->file.=.$f
20260 69 6c 65 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 ile;.}............public.functio
20280 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 65 n.extractTo($target,.array.$role
202a0 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 27 s.=.array('php'.=>.'/',.'script'
202c0 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 0a .=>.'/bin'),.$vars.=.array()).{.
202e0 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 62 $extractionPath.=.$target.'/tarb
20300 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 61 all';..try.{.$archive.=.new.\Pha
20320 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 78 rData($this->file);.$archive->ex
20340 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 74 tractTo($extractionPath,.null,.t
20360 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 69 rue);..if.(!is_file($this->combi
20380 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 6d ne($extractionPath,.'/package.xm
203a0 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 74 l'))).{.throw.new.\RuntimeExcept
203c0 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 75 ion('Invalid.PEAR.package..It.mu
203e0 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 0a st.contain.package.xml.file.');.
20400 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 69 }..$fileCopyActions.=.$this->bui
20420 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 24 ldCopyActions($extractionPath,.$
20440 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 28 roles,.$vars);.$this->copyFiles(
20460 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 74 $fileCopyActions,.$extractionPat
20480 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 69 h,.$target,.$roles,.$vars);.$thi
204a0 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($
204c0 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 70 extractionPath);.}.catch.(\Excep
204e0 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 6e tion.$exception).{.throw.new.\Un
20500 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 27 expectedValueException(sprintf('
20520 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 25 Failed.to.extract.PEAR.package.%
20540 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 6c s.to.%s..Reason:.%s',.$this->fil
20560 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 61 e,.$target,.$exception->getMessa
20580 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 0a ge()),.0,.$exception);.}.}......
205a0 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 28 .....private.function.copyFiles(
205c0 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 73 $files,.$source,.$target,.$roles
205e0 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 66 ,.$vars).{.foreach.($files.as.$f
20600 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 73 ile).{.$from.=.$this->combine($s
20620 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 68 ource,.$file['from']);.$to.=.$th
20640 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 6c is->combine($target,.$roles[$fil
20660 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 6e e['role']]);.$to.=.$this->combin
20680 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 66 e($to,.$file['to']);.$tasks.=.$f
206a0 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 66 ile['tasks'];.$this->copyFile($f
206c0 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 70 rom,.$to,.$tasks,.$vars);.}.}..p
206e0 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 20 rivate.function.copyFile($from,.
20700 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 69 $to,.$tasks,.$vars).{.if.(!is_fi
20720 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 45 le($from)).{.throw.new.\RuntimeE
20740 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 20 xception('Invalid.PEAR.package..
20760 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 73 package.xml.defines.file.that.is
20780 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 0a .not.located.inside.tarball.');.
207a0 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 65 }..$this->filesystem->ensureDire
207c0 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 28 ctoryExists(dirname($to));..if.(
207e0 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 20 0.==.count($tasks)).{.$copied.=.
20800 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 74 copy($from,.$to);.}.else.{.$cont
20820 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 0a ent.=.file_get_contents($from);.
20840 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 68 $replacements.=.array();.foreach
20860 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 20 .($tasks.as.$task).{.$pattern.=.
20880 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 5b $task['from'];.$varName.=.$task[
208a0 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 5d 'to'];.if.(isset($vars[$varName]
208c0 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 20 )).{.if.($varName.===.'php_bin'.
208e0 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 29 &&.false.===.strpos($to,.'.bat')
20900 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 72 ).{.$replacements[$pattern].=.pr
20920 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 73 eg_replace('{\.bat$}',.'',.$vars
20940 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 65 [$varName]);.}.else.{.$replaceme
20960 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 3b nts[$pattern].=.$vars[$varName];
20980 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 74 .}.}.}.$content.=.strtr($content
209a0 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 6c ,.$replacements);..$copied.=.fil
209c0 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 7d e_put_contents($to,.$content);.}
209e0 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 77 ..if.(false.===.$copied).{.throw
20a00 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 27 .new.\RuntimeException(sprintf('
20a20 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 2c Failed.to.copy.%s.to.%s',.$from,
20a40 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 66 .$to));.}.}............private.f
20a60 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 65 unction.buildCopyActions($source
20a80 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 61 ,.array.$roles,.$vars).{..$packa
20aa0 67 65 20 3d 20 73 69 6d 70 6c 65 78 6d 6c 5f 6c 6f 61 64 5f 66 69 6c 65 28 24 74 68 69 73 2d 3e ge.=.simplexml_load_file($this->
20ac0 63 6f 6d 62 69 6e 65 28 24 73 6f 75 72 63 65 2c 20 27 70 61 63 6b 61 67 65 2e 78 6d 6c 27 29 29 combine($source,.'package.xml'))
20ae0 3b 0a 69 66 28 66 61 6c 73 65 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 29 0a 74 68 72 6f 77 20 6e ;.if(false.===.$package).throw.n
20b00 65 77 20 5c 52 75 6e 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 ew.\RuntimeException('Package.de
20b20 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 2e 27 29 3b 0a 0a finition.file.is.not.valid.');..
20b40 24 70 61 63 6b 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 $packageSchemaVersion.=.$package
20b60 5b 27 76 65 72 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 ['version'];.if.('1.0'.==.$packa
20b80 67 65 53 63 68 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 geSchemaVersion).{.$children.=.$
20ba0 70 61 63 6b 61 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 package->release->filelist->chil
20bc0 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 29 20 dren();.$packageName.=.(string).
20be0 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 6e 20 $package->name;.$packageVersion.
20c00 3d 20 28 73 74 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 =.(string).$package->release->ve
20c20 72 73 69 6f 6e 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 rsion;.$sourceDir.=.$packageName
20c40 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 75 6c ...'-'...$packageVersion;.$resul
20c60 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 31 30 28 24 63 68 t.=.$this->buildSourceList10($ch
20c80 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 2c 20 ildren,.$roles,.$sourceDir,.'',.
20ca0 6e 75 6c 6c 2c 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 null,.$packageName);.}.elseif.('
20cc0 32 2e 30 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 20 7c 7c 2.0'.==.$packageSchemaVersion.||
20ce0 20 27 32 2e 31 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 .'2.1'.==.$packageSchemaVersion)
20d00 20 7b 0a 24 63 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 .{.$children.=.$package->content
20d20 73 2d 3e 63 68 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 s->children();.$packageName.=.(s
20d40 74 72 69 6e 67 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 tring).$package->name;.$packageV
20d60 65 72 73 69 6f 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 ersion.=.(string).$package->vers
20d80 69 6f 6e 2d 3e 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 ion->release;.$sourceDir.=.$pack
20da0 61 67 65 4e 61 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 ageName...'-'...$packageVersion;
20dc0 0a 24 72 65 73 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 .$result.=.$this->buildSourceLis
20de0 74 32 30 28 24 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 t20($children,.$roles,.$sourceDi
20e00 72 2c 20 27 27 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 r,.'',.null,.$packageName);..$na
20e20 6d 65 73 70 61 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 mespaces.=.$package->getNamespac
20e40 65 73 28 29 3b 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 es();.$package->registerXPathNam
20e60 65 73 70 61 63 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 espace('ns',.$namespaces['']);.$
20e80 72 65 6c 65 61 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 releaseNodes.=.$package->xpath('
20ea0 6e 73 3a 70 68 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 ns:phprelease');.$this->applyRel
20ec0 65 61 73 65 28 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 ease($result,.$releaseNodes,.$va
20ee0 72 73 29 3b 0a 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 rs);.}.else.{.throw.new.\Runtime
20f00 45 78 63 65 70 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 Exception('Unsupported.schema.ve
20f20 72 73 69 6f 6e 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 rsion.of.package.definition.file
20f40 2e 27 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 72 69 76 61 .');.}..return.$result;.}..priva
20f60 74 65 20 66 75 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 te.function.applyRelease(&$actio
20f80 6e 73 2c 20 24 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 ns,.$releaseNodes,.$vars).{.fore
20fa0 61 63 68 20 28 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 ach.($releaseNodes.as.$releaseNo
20fc0 64 65 29 20 7b 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 de).{.$requiredOs.=.$releaseNode
20fe0 2d 3e 69 6e 73 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 ->installconditions.&&.$releaseN
21000 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 20 26 26 20 24 72 ode->installconditions->os.&&.$r
21020 65 6c 65 61 73 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 eleaseNode->installconditions->o
21040 73 2d 3e 6e 61 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 s->name.?.(string).$releaseNode-
21060 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 6d 65 20 3a 20 27 >installconditions->os->name.:.'
21080 27 3b 0a 69 66 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 ';.if.($requiredOs.&&.$vars['os'
210a0 5d 20 21 3d 20 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 ].!=.$requiredOs).{.continue;.}.
210c0 0a 69 66 20 28 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 .if.($releaseNode->filelist).{.f
210e0 6f 72 65 61 63 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 oreach.($releaseNode->filelist->
21100 63 68 69 6c 64 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 children().as.$action).{.if.('in
21120 73 74 61 6c 6c 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 stall'.==.$action->getName()).{.
21140 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 6d 65 27 5d $name.=.(string).$action['name']
21160 3b 0a 24 61 73 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 ;.$as.=.(string).$action['as'];.
21180 69 66 20 28 69 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 if.(isset($actions[$name])).{.$a
211a0 63 74 69 6f 6e 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 ctions[$name]['to'].=.$as;.}.}.e
211c0 6c 73 65 69 66 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 lseif.('ignore'.==.$action->getN
211e0 61 6d 65 28 29 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 ame()).{.$name.=.(string).$actio
21200 6e 5b 27 6e 61 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 n['name'];.unset($actions[$name]
21220 29 3b 0a 7d 20 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 );.}.else.{...}.}.}.break;.}.}..
21240 70 72 69 76 61 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 private.function.buildSourceList
21260 31 30 28 24 63 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 10($children,.$targetRoles,.$sou
21280 72 63 65 2c 20 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 rce,.$target,.$role,.$packageNam
212a0 65 29 0a 7b 0a 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 e).{.$result.=.array();....forea
212c0 63 68 20 28 24 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 ch.($children.as.$child).{..if.(
212e0 24 63 68 69 6c 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 $child->getName().==.'dir').{.$d
21300 69 72 53 6f 75 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 irSource.=.$this->combine($sourc
21320 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 5d 29 3b 0a 24 64 69 e,.(string).$child['name']);.$di
21340 72 54 61 72 67 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 rTarget.=.$child['baseinstalldir
21360 27 5d 20 3f 20 3a 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 '].?.:.$target;.$dirRole.=.$chil
21380 64 5b 27 72 6f 6c 65 27 5d 20 3f 20 3a 20 24 72 6f 6c 65 3b 0a 24 64 69 72 46 69 6c 65 73 20 3d d['role'].?.:.$role;.$dirFiles.=
213a0 20 24 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 .$this->buildSourceList10($child
213c0 2d 3e 63 68 69 6c 64 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 ->children(),.$targetRoles,.$dir
213e0 53 6f 75 72 63 65 2c 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 Source,.$dirTarget,.$dirRole,.$p
21400 61 63 6b 61 67 65 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 ackageName);.$result.=.array_mer
21420 67 65 28 24 72 65 73 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 ge($result,.$dirFiles);.}.elseif
21440 20 28 24 63 68 69 6c 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 .($child->getName().==.'file').{
21460 0a 24 66 69 6c 65 52 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 .$fileRole.=.(string).$child['ro
21480 6c 65 27 5d 20 3f 20 3a 20 24 72 6f 6c 65 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 61 72 67 65 le'].?.:.$role;.if.(isset($targe
214a0 74 52 6f 6c 65 73 5b 24 66 69 6c 65 52 6f 6c 65 5d 29 29 20 7b 0a 24 66 69 6c 65 4e 61 6d 65 20 tRoles[$fileRole])).{.$fileName.
214c0 3d 20 28 73 74 72 69 6e 67 29 20 28 24 63 68 69 6c 64 5b 27 6e 61 6d 65 27 5d 20 3f 20 3a 20 24 =.(string).($child['name'].?.:.$
214e0 63 68 69 6c 64 5b 30 5d 29 3b 20 0a 20 24 66 69 6c 65 53 6f 75 72 63 65 20 3d 20 24 74 68 69 73 child[0]);...$fileSource.=.$this
21500 2d 3e 63 6f 6d 62 69 6e 65 28 24 73 6f 75 72 63 65 2c 20 24 66 69 6c 65 4e 61 6d 65 29 3b 0a 24 ->combine($source,.$fileName);.$
21520 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 28 28 73 74 72 fileTarget.=.$this->combine((str
21540 69 6e 67 29 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 20 ing).$child['baseinstalldir'].?.
21560 3a 20 24 74 61 72 67 65 74 2c 20 24 66 69 6c 65 4e 61 6d 65 29 3b 0a 69 66 20 28 21 69 6e 5f 61 :.$target,.$fileName);.if.(!in_a
21580 72 72 61 79 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 rray($fileRole,.self::$rolesWith
215a0 6f 75 74 50 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 outPackageNamePrefix)).{.$fileTa
215c0 72 67 65 74 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 rget.=.$packageName...'/'...$fil
215e0 65 54 61 72 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 eTarget;.}.$result[(string).$chi
21600 6c 64 5b 27 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 ld['name']].=.array('from'.=>.$f
21620 69 6c 65 53 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 ileSource,.'to'.=>.$fileTarget,.
21640 27 72 6f 6c 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 'role'.=>.$fileRole,.'tasks'.=>.
21660 61 72 72 61 79 28 29 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 array());.}.}.}..return.$result;
21680 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 53 6f 75 72 63 65 .}..private.function.buildSource
216a0 4c 69 73 74 32 30 28 24 63 68 69 6c 64 72 65 6e 2c 20 24 74 61 72 67 65 74 52 6f 6c 65 73 2c 20 List20($children,.$targetRoles,.
216c0 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 2c 20 24 72 6f 6c 65 2c 20 24 70 61 63 6b 61 67 $source,.$target,.$role,.$packag
216e0 65 4e 61 6d 65 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 66 eName).{.$result.=.array();....f
21700 6f 72 65 61 63 68 20 28 24 63 68 69 6c 64 72 65 6e 20 61 73 20 24 63 68 69 6c 64 29 20 7b 0a 0a oreach.($children.as.$child).{..
21720 69 66 20 28 27 64 69 72 27 20 3d 3d 20 24 63 68 69 6c 64 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 if.('dir'.==.$child->getName()).
21740 7b 0a 24 64 69 72 53 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 62 69 6e 65 28 24 73 {.$dirSource.=.$this->combine($s
21760 6f 75 72 63 65 2c 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 ource,.$child['name']);.$dirTarg
21780 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 20 et.=.$child['baseinstalldir'].?.
217a0 3a 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 :.$target;.$dirRole.=.$child['ro
217c0 6c 65 27 5d 20 3f 20 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 le'].?.:.$role;.$dirFiles.=.$thi
217e0 73 2d 3e 62 75 69 6c 64 53 6f 75 72 63 65 4c 69 73 74 32 30 28 24 63 68 69 6c 64 2d 3e 63 68 69 s->buildSourceList20($child->chi
21800 6c 64 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 ldren(),.$targetRoles,.$dirSourc
21820 65 2c 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 e,.$dirTarget,.$dirRole,.$packag
21840 65 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 65 28 24 72 eName);.$result.=.array_merge($r
21860 65 73 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 27 66 69 esult,.$dirFiles);.}.elseif.('fi
21880 6c 65 27 20 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 66 69 6c le'.==.$child->getName()).{.$fil
218a0 65 52 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 eRole.=.(string).$child['role'].
218c0 3f 20 3a 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 ?.:.$role;.if.(isset($targetRole
218e0 73 5b 24 66 69 6c 65 52 6f 6c 65 5d 29 29 20 7b 0a 24 66 69 6c 65 53 6f 75 72 63 65 20 3d 20 24 s[$fileRole])).{.$fileSource.=.$
21900 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 74 72 69 6e 67 29 20 this->combine($source,.(string).
21920 24 63 68 69 6c 64 5b 27 6e 61 6d 65 27 5d 29 3b 0a 24 66 69 6c 65 54 61 72 67 65 74 20 3d 20 24 $child['name']);.$fileTarget.=.$
21940 74 68 69 73 2d 3e 63 6f 6d 62 69 6e 65 28 28 73 74 72 69 6e 67 29 20 28 24 63 68 69 6c 64 5b 27 this->combine((string).($child['
21960 62 61 73 65 69 6e 73 74 61 6c 6c 64 69 72 27 5d 20 3f 20 3a 20 24 74 61 72 67 65 74 29 2c 20 28 baseinstalldir'].?.:.$target),.(
21980 73 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 66 69 6c 65 54 61 string).$child['name']);.$fileTa
219a0 73 6b 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 68 69 6c 64 2d 3e sks.=.array();.foreach.($child->
219c0 63 68 69 6c 64 72 65 6e 28 27 68 74 74 70 3a 2f 2f 70 65 61 72 2e 70 68 70 2e 6e 65 74 2f 64 74 children('http://pear.php.net/dt
219e0 64 2f 74 61 73 6b 73 2d 31 2e 30 27 29 20 61 73 20 24 74 61 73 6b 4e 6f 64 65 29 20 7b 0a 69 66 d/tasks-1.0').as.$taskNode).{.if
21a00 20 28 27 72 65 70 6c 61 63 65 27 20 3d 3d 20 24 74 61 73 6b 4e 6f 64 65 2d 3e 67 65 74 4e 61 6d .('replace'.==.$taskNode->getNam
21a20 65 28 29 29 20 7b 0a 24 66 69 6c 65 54 61 73 6b 73 5b 5d 20 3d 20 61 72 72 61 79 28 27 66 72 6f e()).{.$fileTasks[].=.array('fro
21a40 6d 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 69 62 m'.=>.(string).$taskNode->attrib
21a60 75 74 65 73 28 29 2d 3e 66 72 6f 6d 2c 20 27 74 6f 27 20 3d 3e 20 28 73 74 72 69 6e 67 29 20 24 utes()->from,.'to'.=>.(string).$
21a80 74 61 73 6b 4e 6f 64 65 2d 3e 61 74 74 72 69 62 75 74 65 73 28 29 2d 3e 74 6f 29 3b 0a 7d 0a 7d taskNode->attributes()->to);.}.}
21aa0 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 66 69 6c 65 52 6f 6c 65 2c 20 73 65 6c 66 3a 3a .if.(!in_array($fileRole,.self::
21ac0 24 72 6f 6c 65 73 57 69 74 68 6f 75 74 50 61 63 6b 61 67 65 4e 61 6d 65 50 72 65 66 69 78 29 29 $rolesWithoutPackageNamePrefix))
21ae0 20 7b 0a 24 66 69 6c 65 54 61 72 67 65 74 20 3d 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 2e 20 .{.$fileTarget.=.$packageName...
21b00 27 2f 27 20 2e 20 24 66 69 6c 65 54 61 72 67 65 74 3b 0a 7d 0a 24 72 65 73 75 6c 74 5b 28 73 74 '/'...$fileTarget;.}.$result[(st
21b20 72 69 6e 67 29 20 24 63 68 69 6c 64 5b 27 6e 61 6d 65 27 5d 5d 20 3d 20 61 72 72 61 79 28 27 66 ring).$child['name']].=.array('f
21b40 72 6f 6d 27 20 3d 3e 20 24 66 69 6c 65 53 6f 75 72 63 65 2c 20 27 74 6f 27 20 3d 3e 20 24 66 69 rom'.=>.$fileSource,.'to'.=>.$fi
21b60 6c 65 54 61 72 67 65 74 2c 20 27 72 6f 6c 65 27 20 3d 3e 20 24 66 69 6c 65 52 6f 6c 65 2c 20 27 leTarget,.'role'.=>.$fileRole,.'
21b80 74 61 73 6b 73 27 20 3d 3e 20 24 66 69 6c 65 54 61 73 6b 73 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 tasks'.=>.$fileTasks);.}.}.}..re
21ba0 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 6e 63 74 69 6f turn.$result;.}..private.functio
21bc0 6e 20 63 6f 6d 62 69 6e 65 28 24 6c 65 66 74 2c 20 24 72 69 67 68 74 29 0a 7b 0a 72 65 74 75 72 n.combine($left,.$right).{.retur
21be0 6e 20 72 74 72 69 6d 28 24 6c 65 66 74 2c 20 27 2f 27 29 20 2e 20 27 2f 27 20 2e 20 6c 74 72 69 n.rtrim($left,.'/')...'/'...ltri
21c00 6d 28 24 72 69 67 68 74 2c 20 27 2f 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a m($right,.'/');.}.}.<?php.......
21c20 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
21c40 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
21c60 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 6e 6c 6f 61 eInterface;.use.Composer\Downloa
21c80 64 65 72 5c 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 der\DownloaderInterface;.use.Com
21ca0 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 0a 0a 63 6c 61 poser\Util\Filesystem;.......cla
21cc0 73 73 20 44 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 70 72 ss.DownloadManager.{.private.$pr
21ce0 65 66 65 72 44 69 73 74 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 70 72 65 66 65 eferDist.=.false;.private.$prefe
21d00 72 53 6f 75 72 63 65 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 73 79 rSource.=.false;.private.$filesy
21d20 73 74 65 6d 3b 0a 70 72 69 76 61 74 65 20 24 64 6f 77 6e 6c 6f 61 64 65 72 73 20 3d 20 61 72 72 stem;.private.$downloaders.=.arr
21d40 61 79 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 5f 5f 63 ay();........public.function.__c
21d60 6f 6e 73 74 72 75 63 74 28 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 66 61 6c 73 65 2c 20 onstruct($preferSource.=.false,.
21d80 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 0a 7b Filesystem.$filesystem.=.null).{
21da0 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 72 65 66 65 72 53 6f .$this->preferSource.=.$preferSo
21dc0 75 72 63 65 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 urce;.$this->filesystem.=.$files
21de0 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 7d 0a 0a 0a 0a ystem.?:.new.Filesystem();.}....
21e00 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 53 6f 75 ....public.function.setPreferSou
21e20 72 63 65 28 24 70 72 65 66 65 72 53 6f 75 72 63 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 66 rce($preferSource).{.$this->pref
21e40 65 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 0a 72 65 74 75 72 erSource.=.$preferSource;..retur
21e60 6e 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 n.$this;.}........public.functio
21e80 6e 20 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 7b 0a 24 n.setPreferDist($preferDist).{.$
21ea0 74 68 69 73 2d 3e 70 72 65 66 65 72 44 69 73 74 20 3d 20 24 70 72 65 66 65 72 44 69 73 74 3b 0a this->preferDist.=.$preferDist;.
21ec0 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.
21ee0 66 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 function.setOutputProgress($outp
21f00 75 74 50 72 6f 67 72 65 73 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 6f utProgress).{.foreach.($this->do
21f20 77 6e 6c 6f 61 64 65 72 73 20 61 73 20 24 64 6f 77 6e 6c 6f 61 64 65 72 29 20 7b 0a 24 64 6f 77 wnloaders.as.$downloader).{.$dow
21f40 6e 6c 6f 61 64 65 72 2d 3e 73 65 74 4f 75 74 70 75 74 50 72 6f 67 72 65 73 73 28 24 6f 75 74 70 nloader->setOutputProgress($outp
21f60 75 74 50 72 6f 67 72 65 73 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a utProgress);.}..return.$this;.}.
21f80 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 44 6f 77 6e 6c ........public.function.setDownl
21fa0 6f 61 64 65 72 28 24 74 79 70 65 2c 20 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 oader($type,.DownloaderInterface
21fc0 20 24 64 6f 77 6e 6c 6f 61 64 65 72 29 0a 7b 0a 24 74 79 70 65 20 3d 20 73 74 72 74 6f 6c 6f 77 .$downloader).{.$type.=.strtolow
21fe0 65 72 28 24 74 79 70 65 29 3b 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 65 72 73 5b 24 74 er($type);.$this->downloaders[$t
22000 79 70 65 5d 20 3d 20 24 64 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 ype].=.$downloader;..return.$thi
22020 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 67 s;.}...........public.function.g
22040 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 24 74 79 70 65 29 0a 7b 0a 24 74 79 70 65 20 3d 20 73 74 etDownloader($type).{.$type.=.st
22060 72 74 6f 6c 6f 77 65 72 28 24 74 79 70 65 29 3b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 rtolower($type);.if.(!isset($thi
22080 73 2d 3e 64 6f 77 6e 6c 6f 61 64 65 72 73 5b 24 74 79 70 65 5d 29 29 20 7b 0a 74 68 72 6f 77 20 s->downloaders[$type])).{.throw.
220a0 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 55 new.\InvalidArgumentException('U
220c0 6e 6b 6e 6f 77 6e 20 64 6f 77 6e 6c 6f 61 64 65 72 20 74 79 70 65 3a 20 27 2e 24 74 79 70 65 29 nknown.downloader.type:.'.$type)
220e0 3b 0a 7d 0a 0a 72 65 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 ;.}..return.$this->downloaders[$
22100 74 79 70 65 5d 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 type];.}.............public.func
22120 74 69 6f 6e 20 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 tion.getDownloaderForInstalledPa
22140 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)
22160 0a 7b 0a 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 20 3d 20 24 70 61 63 6b 61 67 .{.$installationSource.=.$packag
22180 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 69 66 20 e->getInstallationSource();..if.
221a0 28 27 64 69 73 74 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 ('dist'.===.$installationSource)
221c0 20 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
221e0 6f 61 64 65 72 28 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 oader($package->getDistType());.
22200 7d 20 65 6c 73 65 69 66 20 28 27 73 6f 75 72 63 65 27 20 3d 3d 3d 20 24 69 6e 73 74 61 6c 6c 61 }.elseif.('source'.===.$installa
22220 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 24 74 68 69 tionSource).{.$downloader.=.$thi
22240 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 65 74 53 6f s->getDownloader($package->getSo
22260 75 72 63 65 54 79 70 65 28 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 urceType());.}.else.{.throw.new.
22280 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 50 61 63 6b \InvalidArgumentException(.'Pack
222a0 61 67 65 20 27 2e 24 70 61 63 6b 61 67 65 2e 27 20 73 65 65 6d 73 20 6e 6f 74 20 62 65 65 6e 20 age.'.$package.'.seems.not.been.
222c0 69 6e 73 74 61 6c 6c 65 64 20 70 72 6f 70 65 72 6c 79 27 0a 29 3b 0a 7d 0a 0a 69 66 20 28 24 69 installed.properly'.);.}..if.($i
222e0 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 20 21 3d 3d 20 24 64 6f 77 6e 6c 6f 61 64 65 nstallationSource.!==.$downloade
22300 72 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 29 20 7b 0a 74 68 r->getInstallationSource()).{.th
22320 72 6f 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 row.new.\LogicException(sprintf(
22340 0a 27 44 6f 77 6e 6c 6f 61 64 65 72 20 22 25 73 22 20 69 73 20 61 20 25 73 20 74 79 70 65 20 64 .'Downloader."%s".is.a.%s.type.d
22360 6f 77 6e 6c 6f 61 64 65 72 20 61 6e 64 20 63 61 6e 20 6e 6f 74 20 62 65 20 75 73 65 64 20 74 6f ownloader.and.can.not.be.used.to
22380 20 64 6f 77 6e 6c 6f 61 64 20 25 73 27 2c 0a 67 65 74 5f 63 6c 61 73 73 28 24 64 6f 77 6e 6c 6f .download.%s',.get_class($downlo
223a0 61 64 65 72 29 2c 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 ader),.$downloader->getInstallat
223c0 69 6f 6e 53 6f 75 72 63 65 28 29 2c 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 ionSource(),.$installationSource
223e0 0a 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 6f 77 6e 6c 6f 61 64 65 72 3b 0a 7d 0a 0a 0a .));.}..return.$downloader;.}...
22400 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 6f 77 6e 6c 6f 61 64 ........public.function.download
22420 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 74 61 72 (PackageInterface.$package,.$tar
22440 67 65 74 44 69 72 2c 20 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a getDir,.$preferSource.=.null).{.
22460 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 6e 75 6c 6c 20 21 3d 3d 20 24 70 72 65 66 65 72 $preferSource.=.null.!==.$prefer
22480 53 6f 75 72 63 65 20 3f 20 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3a 20 24 74 68 69 73 2d 3e Source.?.$preferSource.:.$this->
224a0 70 72 65 66 65 72 53 6f 75 72 63 65 3b 0a 24 73 6f 75 72 63 65 54 79 70 65 20 3d 20 24 70 61 63 preferSource;.$sourceType.=.$pac
224c0 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 69 73 74 54 79 70 65 kage->getSourceType();.$distType
224e0 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 54 79 70 65 28 29 3b 0a 0a 69 66 20 .=.$package->getDistType();..if.
22500 28 28 21 24 70 61 63 6b 61 67 65 2d 3e 69 73 44 65 76 28 29 20 7c 7c 20 24 74 68 69 73 2d 3e 70 ((!$package->isDev().||.$this->p
22520 72 65 66 65 72 44 69 73 74 20 7c 7c 20 21 24 73 6f 75 72 63 65 54 79 70 65 29 20 26 26 20 21 28 referDist.||.!$sourceType).&&.!(
22540 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 26 26 20 24 73 6f 75 72 63 65 54 79 70 65 29 20 26 26 $preferSource.&&.$sourceType).&&
22560 20 24 64 69 73 74 54 79 70 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 49 6e 73 74 61 .$distType).{.$package->setInsta
22580 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 27 64 69 73 74 27 29 3b 0a 7d 20 65 6c 73 65 69 66 20 llationSource('dist');.}.elseif.
225a0 28 24 73 6f 75 72 63 65 54 79 70 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 49 6e 73 ($sourceType).{.$package->setIns
225c0 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 27 73 6f 75 72 63 65 27 29 3b 0a 7d 20 65 6c 73 tallationSource('source');.}.els
225e0 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
22600 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 6d 75 ception('Package.'.$package.'.mu
22620 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 66 69 st.have.a.source.or.dist.specifi
22640 65 64 27 29 3b 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 ed');.}..$this->filesystem->ensu
22660 72 65 44 69 72 65 63 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 reDirectoryExists($targetDir);..
22680 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 6f 61 64 $downloader.=.$this->getDownload
226a0 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 65 29 3b erForInstalledPackage($package);
226c0 0a 24 64 6f 77 6e 6c 6f 61 64 65 72 2d 3e 64 6f 77 6e 6c 6f 61 64 28 24 70 61 63 6b 61 67 65 2c .$downloader->download($package,
226e0 20 24 74 61 72 67 65 74 44 69 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 .$targetDir);.}...........public
22700 20 66 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 .function.update(PackageInterfac
22720 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
22740 72 67 65 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 rget,.$targetDir).{.$downloader.
22760 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 49 6e 73 74 61 6c 6c =.$this->getDownloaderForInstall
22780 65 64 50 61 63 6b 61 67 65 28 24 69 6e 69 74 69 61 6c 29 3b 0a 24 69 6e 73 74 61 6c 6c 61 74 69 edPackage($initial);.$installati
227a0 6f 6e 53 6f 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 onSource.=.$initial->getInstalla
227c0 74 69 6f 6e 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 tionSource();..if.('dist'.===.$i
227e0 6e 73 74 61 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 nstallationSource).{.$initialTyp
22800 65 20 3d 20 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 e.=.$initial->getDistType();.$ta
22820 72 67 65 74 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 rgetType.=.$target->getDistType(
22840 29 3b 0a 7d 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 );.}.else.{.$initialType.=.$init
22860 69 61 6c 2d 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 ial->getSourceType();.$targetTyp
22880 65 20 3d 20 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 e.=.$target->getSourceType();.}.
228a0 0a 0a 20 69 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 ...if.($target->isDev().&&.'dist
228c0 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
228e0 77 6e 6c 6f 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 wnloader->remove($initial,.$targ
22900 65 74 44 69 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 etDir);.$this->download($target,
22920 20 24 74 61 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 .$targetDir);..return;.}..if.($i
22940 6e 69 74 69 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 nitialType.===.$targetType).{.$t
22960 61 72 67 65 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 arget->setInstallationSource($in
22980 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 29 3b 0a 24 64 6f 77 6e 6c 6f 61 64 65 72 2d 3e stallationSource);.$downloader->
229a0 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 67 65 update($initial,.$target,.$targe
229c0 74 44 69 72 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 6f 77 6e 6c 6f 61 64 65 72 2d 3e 72 65 6d tDir);.}.else.{.$downloader->rem
229e0 6f 76 65 28 24 69 6e 69 74 69 61 6c 2c 20 24 74 61 72 67 65 74 44 69 72 29 3b 0a 24 74 68 69 73 ove($initial,.$targetDir);.$this
22a00 2d 3e 64 6f 77 6e 6c 6f 61 64 28 24 74 61 72 67 65 74 2c 20 24 74 61 72 67 65 74 44 69 72 2c 20 ->download($target,.$targetDir,.
22a20 27 73 6f 75 72 63 65 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 'source'.===.$installationSource
22a40 29 3b 0a 7d 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 65 );.}.}........public.function.re
22a60 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 20 move(PackageInterface.$package,.
22a80 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 74 68 69 $targetDir).{.$downloader.=.$thi
22aa0 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 61 63 6b s->getDownloaderForInstalledPack
22ac0 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 64 6f 77 6e 6c 6f 61 64 65 72 2d 3e 72 65 6d 6f age($package);.$downloader->remo
22ae0 76 65 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 7d 0a 3c 3f ve($package,.$targetDir);.}.}.<?
22b00 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
22b20 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 63 6b r\Downloader;..use.Composer\Pack
22b40 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 6e 74 age\PackageInterface;........int
22b60 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 0a 0a erface.DownloaderInterface.{....
22b80 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
22ba0 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 69 6f nSource();........public.functio
22bc0 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 63 n.download(PackageInterface.$pac
22be0 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 75 6e kage,.$path);.........public.fun
22c00 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 69 ction.update(PackageInterface.$i
22c20 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
22c40 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 6f 6e ,.$path);........public.function
22c60 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 61 67 .remove(PackageInterface.$packag
22c80 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 69 6f e,.$path);........public.functio
22ca0 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 67 72 n.setOutputProgress($outputProgr
22cc0 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 70 61 ess);.}.<?php............namespa
22ce0 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 0a 0a 63 6c 61 73 ce.Composer\Downloader;.....clas
22d00 73 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 45 78 s.TransportException.extends.\Ex
22d20 63 65 70 74 69 6f 6e 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 68 65 61 64 65 72 73 3b 0a 0a 70 ception.{.protected.$headers;..p
22d40 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 24 68 65 61 64 65 ublic.function.setHeaders($heade
22d60 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;
22d80 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 61 64 65 72 73 28 29 .}..public.function.getHeaders()
22da0 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 65 61 64 65 72 73 3b 0a 7d 0a 7d 0a 3c 3f .{.return.$this->headers;.}.}.<?
22dc0 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
22de0 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 50 68 61 72 44 6f r\Downloader;.......class.PharDo
22e00 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 61 64 wnloader.extends.ArchiveDownload
22e20 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 20 65 78 74 72 61 er.{....protected.function.extra
22e40 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 69 76 65 20 3d 20 ct($file,.$path).{...$archive.=.
22e60 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 2d 3e 65 78 74 72 new.\Phar($file);.$archive->extr
22e80 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 0a 0a 0a 0a 0a 7d actTo($path,.null,.true);......}
22ea0 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
22ec0 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 54 mposer\Downloader;.......class.T
22ee0 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 77 6e arDownloader.extends.ArchiveDown
22f00 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 20 65 loader.{....protected.function.e
22f20 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 69 76 xtract($file,.$path).{...$archiv
22f40 65 20 3d 20 6e 65 77 20 5c 50 68 61 72 44 61 74 61 28 24 66 69 6c 65 29 3b 0a 24 61 72 63 68 69 e.=.new.\PharData($file);.$archi
22f60 76 65 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 ve->extractTo($path,.null,.true)
22f80 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
22fa0 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
22fc0 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;...
22fe0 0a 0a 63 6c 61 73 73 20 48 67 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 56 63 73 ..class.HgDownloader.extends.Vcs
23000 44 6f 77 6e 6c 6f 61 64 65 72 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 Downloader.{....public.function.
23020 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
23040 6b 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 24 75 72 6c 20 3d 20 65 73 63 61 70 65 73 68 65 6c kage,.$path).{.$url.=.escapeshel
23060 6c 61 72 67 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 29 3b 0a larg($package->getSourceUrl());.
23080 24 72 65 66 20 3d 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 70 61 63 6b 61 67 65 2d 3e $ref.=.escapeshellarg($package->
230a0 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 69 6f getSourceReference());.$this->io
230c0 2d 3e 77 72 69 74 65 28 22 20 20 20 20 43 6c 6f 6e 69 6e 67 20 22 2e 24 70 61 63 6b 61 67 65 2d ->write("....Cloning.".$package-
230e0 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 63 6f 6d 6d 61 6e 64 >getSourceReference());.$command
23100 20 3d 20 73 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 24 75 72 .=.sprintf('hg.clone.%s.%s',.$ur
23120 6c 2c 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 70 61 74 68 29 29 3b 0a 69 66 20 28 30 l,.escapeshellarg($path));.if.(0
23140 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
23160 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 74 68 72 6f 77 20 mmand,.$ignoredOutput)).{.throw.
23180 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
231a0 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"..
231c0 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(
231e0 29 29 3b 0a 7d 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 68 67 20 75 70 20 ));.}.$command.=.sprintf('hg.up.
23200 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 69 73 2d 3e 70 72 6f %s',.$ref);.if.(0.!==.$this->pro
23220 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
23240 4f 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 75 6e Output,.$path)).{.throw.new.\Run
23260 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 74 65 timeException('Failed.to.execute
23280 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 2d 3e .'...$command..."\n\n"...$this->
232a0 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 7d 0a process->getErrorOutput());.}.}.
232c0 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 50 61 63 ....public.function.doUpdate(Pac
232e0 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 49 kageInterface.$initial,.PackageI
23300 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 2c 20 24 70 61 74 68 29 0a 7b 0a 24 75 72 6c 20 nterface.$target,.$path).{.$url.
23320 3d 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 =.escapeshellarg($target->getSou
23340 72 63 65 55 72 6c 28 29 29 3b 0a 24 72 65 66 20 3d 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 rceUrl());.$ref.=.escapeshellarg
23360 28 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 29 3b ($target->getSourceReference());
23380 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 22 20 20 20 20 55 70 64 61 74 69 6e 67 20 .$this->io->write("....Updating.
233a0 74 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 to.".$target->getSourceReference
233c0 28 29 29 3b 0a 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 70 61 74 68 2e 27 2f 2e 68 67 27 29 29 ());..if.(!is_dir($path.'/.hg'))
233e0 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('
23400 54 68 65 20 2e 68 67 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 The..hg.directory.is.missing.fro
23420 6d 20 27 2e 24 70 61 74 68 2e 27 2c 20 73 65 65 20 68 74 74 70 3a 2f 2f 67 65 74 63 6f 6d 70 6f m.'.$path.',.see.http://getcompo
23440 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 20 69 6e 66 ser.org/commit-deps.for.more.inf
23460 6f 72 6d 61 74 69 6f 6e 27 29 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 ormation');.}..$command.=.sprint
23480 66 28 27 68 67 20 70 75 6c 6c 20 25 73 20 26 26 20 68 67 20 75 70 20 25 73 27 2c 20 24 75 72 6c f('hg.pull.%s.&&.hg.up.%s',.$url
234a0 2c 20 24 72 65 66 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 ,.$ref);.if.(0.!==.$this->proces
234c0 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
234e0 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 6d put,.$path)).{.throw.new.\Runtim
23500 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 20 eException('Failed.to.execute.'.
23520 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
23540 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 7d 0a 0a 0a 0a cess->getErrorOutput());.}.}....
23560 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 6e 67 65 73 .public.function.getLocalChanges
23580 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
235a0 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 27 29 29 20 h).{.if.(!is_dir($path.'/.hg')).
235c0 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 {.return;.}..$this->process->exe
235e0 63 75 74 65 28 27 68 67 20 73 74 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 3b 0a 0a cute('hg.st',.$output,.$path);..
23600 72 65 74 75 72 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 return.trim($output).?:.null;.}.
23620 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 74 ....protected.function.getCommit
23640 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 63 Logs($fromReference,.$toReferenc
23660 65 2c 20 24 70 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 e,.$path).{.$command.=.sprintf('
23680 68 67 20 6c 6f 67 20 2d 72 20 25 73 3a 25 73 20 2d 2d 73 74 79 6c 65 20 63 6f 6d 70 61 63 74 27 hg.log.-r.%s:%s.--style.compact'
236a0 2c 20 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 29 3b ,.$fromReference,.$toReference);
236c0 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
236e0 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 68 29 29 20 7b ute($command,.$output,.$path)).{
23700 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 46 61 .throw.new.\RuntimeException('Fa
23720 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 20 22 iled.to.execute.'...$command..."
23740 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 6f 72 \n\n"...$this->process->getError
23760 4f 75 74 70 75 74 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 Output());.}..return.$output;.}.
23780 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
237a0 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\
237c0 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 0a 0a Package\PackageInterface;.......
237e0 69 6e 74 65 72 66 61 63 65 20 43 68 61 6e 67 65 52 65 70 6f 72 74 49 6e 74 65 72 66 61 63 65 0a interface.ChangeReportInterface.
23800 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 67 65 74 4c 6f 63 61 {........public.function.getLoca
23820 6c 43 68 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 lChanges(PackageInterface.$packa
23840 67 65 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e ge,.$path);.}.<?php............n
23860 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
23880 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
238a0 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 72 63 face;.........abstract.class.Arc
238c0 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 6e 6c hiveDownloader.extends.FileDownl
238e0 6f 61 64 65 72 0a 7b 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 oader.{....public.function.downl
23900 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 65 2c 20 24 oad(PackageInterface.$package,.$
23920 70 61 74 68 29 0a 7b 0a 24 74 65 6d 70 6f 72 61 72 79 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 63 path).{.$temporaryDir.=.$this->c
23940 6f 6e 66 69 67 2d 3e 67 65 74 28 27 76 65 6e 64 6f 72 2d 64 69 72 27 29 2e 27 2f 63 6f 6d 70 6f onfig->get('vendor-dir').'/compo
23960 73 65 72 2f 27 2e 73 75 62 73 74 72 28 6d 64 35 28 75 6e 69 71 69 64 28 27 27 2c 20 74 72 75 65 ser/'.substr(md5(uniqid('',.true
23980 29 29 2c 20 30 2c 20 38 29 3b 0a 24 72 65 74 72 69 65 73 20 3d 20 33 3b 0a 77 68 69 6c 65 20 28 )),.0,.8);.$retries.=.3;.while.(
239a0 24 72 65 74 72 69 65 73 2d 2d 29 20 7b 0a 70 61 72 65 6e 74 3a 3a 64 6f 77 6e 6c 6f 61 64 28 24 $retries--).{.parent::download($
239c0 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 3b 0a 0a 24 66 69 6c 65 4e 61 6d 65 20 3d 20 24 74 package,.$path);..$fileName.=.$t
239e0 68 69 73 2d 3e 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 his->getFileName($package,.$path
23a00 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 28 29 29 20 7b );.if.($this->io->isVerbose()).{
23a20 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 20 20 20 20 45 78 74 72 61 63 74 69 6e .$this->io->write('....Extractin
23a40 67 20 61 72 63 68 69 76 65 27 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 66 69 6c g.archive');.}..try.{.$this->fil
23a60 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 74 73 28 24 esystem->ensureDirectoryExists($
23a80 74 65 6d 70 6f 72 61 72 79 44 69 72 29 3b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 65 78 74 72 temporaryDir);.try.{.$this->extr
23aa0 61 63 74 28 24 66 69 6c 65 4e 61 6d 65 2c 20 24 74 65 6d 70 6f 72 61 72 79 44 69 72 29 3b 0a 7d act($fileName,.$temporaryDir);.}
23ac0 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 70 61 72 65 6e .catch.(\Exception.$e).{...paren
23ae0 74 3a 3a 63 6c 65 61 72 43 61 63 68 65 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 3b 0a t::clearCache($package,.$path);.
23b00 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 75 6e 6c 69 6e 6b 28 24 66 69 6c 65 4e 61 6d 65 29 3b 0a throw.$e;.}..unlink($fileName);.
23b20 0a 0a 20 24 63 6f 6e 74 65 6e 74 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 6c 69 73 74 46 69 6c 65 ...$contentDir.=.$this->listFile
23b40 73 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 20 63 s($temporaryDir);....if.(1.===.c
23b60 6f 75 6e 74 28 24 63 6f 6e 74 65 6e 74 44 69 72 29 20 26 26 20 21 69 73 5f 66 69 6c 65 28 24 63 ount($contentDir).&&.!is_file($c
23b80 6f 6e 74 65 6e 74 44 69 72 5b 30 5d 29 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 44 69 72 20 3d 20 24 ontentDir[0])).{.$contentDir.=.$
23ba0 74 68 69 73 2d 3e 6c 69 73 74 46 69 6c 65 73 28 24 63 6f 6e 74 65 6e 74 44 69 72 5b 30 5d 29 3b this->listFiles($contentDir[0]);
23bc0 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 74 65 6e 74 44 69 72 20 61 73 20 24 66 .}....foreach.($contentDir.as.$f
23be0 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 72 65 6e 61 6d 65 ile).{.$this->filesystem->rename
23c00 28 24 66 69 6c 65 2c 20 24 70 61 74 68 20 2e 20 27 2f 27 20 2e 20 62 61 73 65 6e 61 6d 65 28 24 ($file,.$path...'/'...basename($
23c20 66 69 6c 65 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 file));.}..$this->filesystem->re
23c40 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 7d 20 moveDirectory($temporaryDir);.}.
23c60 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 24 74 68 69 73 2d catch.(\Exception.$e).{...$this-
23c80 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 70 61 >filesystem->removeDirectory($pa
23ca0 74 68 29 3b 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 th);.$this->filesystem->removeDi
23cc0 72 65 63 74 6f 72 79 28 24 74 65 6d 70 6f 72 61 72 79 44 69 72 29 3b 0a 0a 0a 20 69 66 20 28 24 rectory($temporaryDir);....if.($
23ce0 72 65 74 72 69 65 73 20 26 26 20 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 55 6e 65 78 70 65 retries.&&.$e.instanceof.\Unexpe
23d00 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 20 26 26 20 24 65 2d 3e 67 65 74 43 6f 64 ctedValueException.&&.$e->getCod
23d20 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 5a 49 50 29 20 7b e().===.\ZipArchive::ER_NOZIP).{
23d40 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 28 29 29 20 7b 0a 24 .if.($this->io->isVerbose()).{.$
23d60 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 20 20 20 20 49 6e 76 61 6c 69 64 20 7a 69 70 this->io->write('....Invalid.zip
23d80 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
23da0 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;.}
23dc0 0a 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 27 29 ..break;.}..$this->io->write('')
23de0 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 46 69 ;.}.....protected.function.getFi
23e00 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 67 65 leName(PackageInterface.$package
23e20 2c 20 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 72 74 72 69 6d 28 24 70 61 74 68 2e 27 2f ,.$path).{.return.rtrim($path.'/
23e40 27 2e 6d 64 35 28 24 70 61 74 68 2e 73 70 6c 5f 6f 62 6a 65 63 74 5f 68 61 73 68 28 24 70 61 63 '.md5($path.spl_object_hash($pac
23e60 6b 61 67 65 29 29 2e 27 2e 27 2e 70 61 74 68 69 6e 66 6f 28 70 61 72 73 65 5f 75 72 6c 28 24 70 kage)).'.'.pathinfo(parse_url($p
23e80 61 63 6b 61 67 65 2d 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 ackage->getDistUrl(),.PHP_URL_PA
23ea0 54 48 29 2c 20 50 41 54 48 49 4e 46 4f 5f 45 58 54 45 4e 53 49 4f 4e 29 2c 20 27 2e 27 29 3b 0a TH),.PATHINFO_EXTENSION),.'.');.
23ec0 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 70 72 6f 63 65 73 73 }.....protected.function.process
23ee0 55 72 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 Url(PackageInterface.$package,.$
23f00 75 72 6c 29 0a 7b 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 url).{.if.($package->getDistRefe
23f20 72 65 6e 63 65 28 29 20 26 26 20 73 74 72 70 6f 73 28 24 75 72 6c 2c 20 27 67 69 74 68 75 62 2e rence().&&.strpos($url,.'github.
23f40 63 6f 6d 27 29 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 com')).{.if.(preg_match('{^https
23f60 3f 3a 2f 2f 28 3f 3a 77 77 77 5c 2e 29 3f 67 69 74 68 75 62 5c 2e 63 6f 6d 2f 28 5b 5e 2f 5d 2b ?://(?:www\.)?github\.com/([^/]+
23f80 29 2f 28 5b 5e 2f 5d 2b 29 2f 28 7a 69 70 7c 74 61 72 29 62 61 6c 6c 2f 28 2e 2b 29 24 7d 69 27 )/([^/]+)/(zip|tar)ball/(.+)$}i'
23fa0 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 74 74 ,.$url,.$match)).{...$url.=.'htt
23fc0 70 73 3a 2f 2f 61 70 69 2e 67 69 74 68 75 62 2e 63 6f 6d 2f 72 65 70 6f 73 2f 27 20 2e 20 24 6d ps://api.github.com/repos/'...$m
23fe0 61 74 63 68 5b 31 5d 20 2e 20 27 2f 27 2e 20 24 6d 61 74 63 68 5b 32 5d 20 2e 20 27 2f 27 20 2e atch[1]...'/'..$match[2]...'/'..
24000 20 24 6d 61 74 63 68 5b 33 5d 20 2e 20 27 62 61 6c 6c 2f 27 20 2e 20 24 70 61 63 6b 61 67 65 2d .$match[3]...'ball/'...$package-
24020 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 >getDistReference();.}.elseif.($
24040 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 20 26 26 20 70 package->getDistReference().&&.p
24060 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 3f reg_match('{^https?://(?:www\.)?
24080 67 69 74 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 61 72 63 68 github\.com/([^/]+)/([^/]+)/arch
240a0 69 76 65 2f 2e 2b 5c 2e 28 7a 69 70 7c 74 61 72 29 28 3f 3a 5c 2e 67 7a 29 3f 24 7d 69 27 2c 20 ive/.+\.(zip|tar)(?:\.gz)?$}i',.
240c0 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 74 74 70 73 $url,.$match)).{...$url.=.'https
240e0 3a 2f 2f 61 70 69 2e 67 69 74 68 75 62 2e 63 6f 6d 2f 72 65 70 6f 73 2f 27 20 2e 20 24 6d 61 74 ://api.github.com/repos/'...$mat
24100 63 68 5b 31 5d 20 2e 20 27 2f 27 2e 20 24 6d 61 74 63 68 5b 32 5d 20 2e 20 27 2f 27 20 2e 20 24 ch[1]...'/'..$match[2]...'/'...$
24120 6d 61 74 63 68 5b 33 5d 20 2e 20 27 62 61 6c 6c 2f 27 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 match[3]...'ball/'...$package->g
24140 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 70 61 etDistReference();.}.elseif.($pa
24160 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 70 72 65 ckage->getDistReference().&&.pre
24180 67 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 g_match('{^https?://api\.github\
241a0 2e 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 .com/repos/([^/]+)/([^/]+)/(zip|
241c0 74 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 tar)ball(?:/.+)?$}i',.$url,.$mat
241e0 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 74 ch)).{...$url.=.'https://api.git
24200 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 2f hub.com/repos/'...$match[1]...'/
24220 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 2e '..$match[2]...'/'...$match[3]..
24240 20 27 62 61 6c 6c 2f 27 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 .'ball/'...$package->getDistRefe
24260 72 65 6e 63 65 28 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 rence();.}.}..if.(!extension_loa
24280 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 20 26 26 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 ded('openssl').&&.(0.===.strpos(
242a0 24 75 72 6c 2c 20 27 68 74 74 70 73 3a 27 29 20 7c 7c 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 $url,.'https:').||.0.===.strpos(
242c0 24 75 72 6c 2c 20 27 68 74 74 70 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 27 29 29 29 20 7b 0a 74 $url,.'http://github.com'))).{.t
242e0 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 20 hrow.new.\RuntimeException('You.
24300 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 73 69 6f must.enable.the.openssl.extensio
24320 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 27 29 3b n.to.download.files.via.https');
24340 0a 7d 0a 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 70 72 6f 63 65 73 73 55 72 6c 28 24 70 .}..return.parent::processUrl($p
24360 61 63 6b 61 67 65 2c 20 24 75 72 6c 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 ackage,.$url);.}..........abstra
24380 63 74 20 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 66 ct.protected.function.extract($f
243a0 69 6c 65 2c 20 24 70 61 74 68 29 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f ile,.$path);.....private.functio
243c0 6e 20 6c 69 73 74 46 69 6c 65 73 28 24 64 69 72 29 0a 7b 0a 24 66 69 6c 65 73 20 3d 20 61 72 72 n.listFiles($dir).{.$files.=.arr
243e0 61 79 5f 6d 65 72 67 65 28 67 6c 6f 62 28 24 64 69 72 20 2e 20 27 2f 2e 2a 27 29 2c 20 67 6c 6f ay_merge(glob($dir...'/.*'),.glo
24400 62 28 24 64 69 72 20 2e 20 27 2f 2a 27 29 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 76 b($dir...'/*'));..return.array_v
24420 61 6c 75 65 73 28 61 72 72 61 79 5f 66 69 6c 74 65 72 28 24 66 69 6c 65 73 2c 20 66 75 6e 63 74 alues(array_filter($files,.funct
24440 69 6f 6e 20 28 24 65 6c 29 20 7b 0a 72 65 74 75 72 6e 20 62 61 73 65 6e 61 6d 65 28 24 65 6c 29 ion.($el).{.return.basename($el)
24460 20 21 3d 3d 20 27 2e 27 20 26 26 20 62 61 73 65 6e 61 6d 65 28 24 65 6c 29 20 21 3d 3d 20 27 2e .!==.'.'.&&.basename($el).!==.'.
24480 2e 27 3b 0a 7d 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 .';.}));.}.}.<?php............na
244a0 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 0a mespace.Composer\Downloader;....
244c0 0a 0a 0a 63 6c 61 73 73 20 46 69 6c 65 73 79 73 74 65 6d 45 78 63 65 70 74 69 6f 6e 20 65 78 74 ...class.FilesystemException.ext
244e0 65 6e 64 73 20 5c 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 ends.\Exception.{.public.functio
24500 6e 20 5f 5f 63 6f 6e 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 n.__construct($message.=.null,.$
24520 63 6f 64 65 20 3d 20 6e 75 6c 6c 2c 20 5c 45 78 63 65 70 74 69 6f 6e 20 24 70 72 65 76 69 6f 75 code.=.null,.\Exception.$previou
24540 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 74 72 75 63 74 28 s.=.null).{.parent::__construct(
24560 22 46 69 6c 65 73 79 73 74 65 6d 20 65 78 63 65 70 74 69 6f 6e 3a 20 5c 6e 22 2e 24 6d 65 73 73 "Filesystem.exception:.\n".$mess
24580 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 7d 0a 3c 3f 70 68 age,.$code,.$previous);.}.}.<?ph
245a0 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\
245c0 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 6f 6e 66 69 67 Downloader;..use.Composer\Config
245e0 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 6d 70 6f 73 ;.use.Composer\Cache;.use.Compos
24600 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 43 6f 6d er\Util\ProcessExecutor;.use.Com
24620 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 5a 69 70 41 72 63 poser\IO\IOInterface;.use.ZipArc
24640 68 69 76 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 5a 69 70 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 hive;.....class.ZipDownloader.ex
24660 74 65 6e 64 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 tends.ArchiveDownloader.{.protec
24680 74 65 64 20 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 ted.$process;..public.function._
246a0 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 6e 66 _construct(IOInterface.$io,.Conf
246c0 69 67 20 24 63 6f 6e 66 69 67 2c 20 43 61 63 68 65 20 24 63 61 63 68 65 20 3d 20 6e 75 6c 6c 2c ig.$config,.Cache.$cache.=.null,
246e0 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 20 6e 75 6c 6c .ProcessExecutor.$process.=.null
24700 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 20 3f 3a ).{.$this->process.=.$process.?:
24720 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 70 61 72 65 6e 74 3a 3a 5f 5f .new.ProcessExecutor;.parent::__
24740 63 6f 6e 73 74 72 75 63 74 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 63 61 63 68 65 29 3b construct($io,.$config,.$cache);
24760 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($
24780 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
247a0 75 6c 6c 3b 0a 0a 0a 20 69 66 20 28 21 64 65 66 69 6e 65 64 28 27 50 48 50 5f 57 49 4e 44 4f 57 ull;....if.(!defined('PHP_WINDOW
247c0 53 5f 56 45 52 53 49 4f 4e 5f 42 55 49 4c 44 27 29 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 S_VERSION_BUILD')).{.$command.=.
247e0 27 75 6e 7a 69 70 20 27 2e 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 66 69 6c 65 29 2e 27 'unzip.'.escapeshellarg($file).'
24800 20 2d 64 20 27 2e 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 70 61 74 68 29 3b 0a 69 66 20 .-d.'.escapeshellarg($path);.if.
24820 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 24 (0.===.$this->process->execute($
24840 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 75 command,.$ignoredOutput)).{.retu
24860 72 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 rn;.}..$processError.=.'Failed.t
24880 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 22 20 o.execute.'...$command..."\n\n".
248a0 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 70 75 74 ..$this->process->getErrorOutput
248c0 28 29 3b 0a 7d 0a 0a 69 66 20 28 21 63 6c 61 73 73 5f 65 78 69 73 74 73 28 27 5a 69 70 41 72 63 ();.}..if.(!class_exists('ZipArc
248e0 68 69 76 65 27 29 29 20 7b 0a 0a 20 24 69 6e 69 50 61 74 68 20 3d 20 70 68 70 5f 69 6e 69 5f 6c hive')).{...$iniPath.=.php_ini_l
24900 6f 61 64 65 64 5f 66 69 6c 65 28 29 3b 0a 0a 69 66 20 28 24 69 6e 69 50 61 74 68 29 20 7b 0a 24 oaded_file();..if.($iniPath).{.$
24920 69 6e 69 4d 65 73 73 61 67 65 20 3d 20 27 54 68 65 20 70 68 70 2e 69 6e 69 20 75 73 65 64 20 62 iniMessage.=.'The.php.ini.used.b
24940 79 20 79 6f 75 72 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 50 48 50 20 69 73 3a 20 27 20 2e 20 y.your.command-line.PHP.is:.'...
24960 24 69 6e 69 50 61 74 68 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6e 69 4d 65 73 73 61 67 65 20 3d $iniPath;.}.else.{.$iniMessage.=
24980 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 65 78 69 73 74 2e .'A.php.ini.file.does.not.exist.
249a0 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 6e 65 2e 27 3b 0a .You.will.have.to.create.one.';.
249c0 7d 0a 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 }..$error.=."Could.not.decompres
249e0 73 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 7a 69 s.the.archive,.enable.the.PHP.zi
24a00 70 20 65 78 74 65 6e 73 69 6f 6e 20 6f 72 20 69 6e 73 74 61 6c 6c 20 75 6e 7a 69 70 2e 5c 6e 22 p.extension.or.install.unzip.\n"
24a20 0a 2e 20 24 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 ...$iniMessage..."\n"...$process
24a40 45 72 72 6f 72 3b 0a 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 Error;..if.(!defined('PHP_WINDOW
24a60 53 5f 56 45 52 53 49 4f 4e 5f 42 55 49 4c 44 27 29 29 20 7b 0a 24 65 72 72 6f 72 20 3d 20 22 43 S_VERSION_BUILD')).{.$error.=."C
24a80 6f 75 6c 64 20 6e 6f 74 20 64 65 63 6f 6d 70 72 65 73 73 20 74 68 65 20 61 72 63 68 69 76 65 2c ould.not.decompress.the.archive,
24aa0 20 65 6e 61 62 6c 65 20 74 68 65 20 50 48 50 20 7a 69 70 20 65 78 74 65 6e 73 69 6f 6e 2e 5c 6e .enable.the.PHP.zip.extension.\n
24ac0 22 20 2e 20 24 69 6e 69 4d 65 73 73 61 67 65 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 "...$iniMessage;.}..throw.new.\R
24ae0 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 24 7a 69 70 untimeException($error);.}..$zip
24b00 41 72 63 68 69 76 65 20 3d 20 6e 65 77 20 5a 69 70 41 72 63 68 69 76 65 28 29 3b 0a 0a 69 66 20 Archive.=.new.ZipArchive();..if.
24b20 28 74 72 75 65 20 21 3d 3d 20 28 24 72 65 74 76 61 6c 20 3d 20 24 7a 69 70 41 72 63 68 69 76 65 (true.!==.($retval.=.$zipArchive
24b40 2d 3e 6f 70 65 6e 28 24 66 69 6c 65 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 ->open($file))).{.throw.new.\Une
24b60 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 24 74 68 69 73 2d 3e 67 65 74 xpectedValueException($this->get
24b80 45 72 72 6f 72 4d 65 73 73 61 67 65 28 24 72 65 74 76 61 6c 2c 20 24 66 69 6c 65 29 2c 20 24 72 ErrorMessage($retval,.$file),.$r
24ba0 65 74 76 61 6c 29 3b 0a 7d 0a 0a 69 66 20 28 74 72 75 65 20 21 3d 3d 20 24 7a 69 70 41 72 63 68 etval);.}..if.(true.!==.$zipArch
24bc0 69 76 65 2d 3e 65 78 74 72 61 63 74 54 6f 28 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e ive->extractTo($path)).{.throw.n
24be0 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 22 54 68 65 72 65 20 77 61 73 20 ew.\RuntimeException("There.was.
24c00 61 6e 20 65 72 72 6f 72 20 65 78 74 72 61 63 74 69 6e 67 20 74 68 65 20 5a 49 50 20 66 69 6c 65 an.error.extracting.the.ZIP.file
24c20 2e 20 43 6f 72 72 75 70 74 20 66 69 6c 65 3f 22 29 3b 0a 7d 0a 0a 24 7a 69 70 41 72 63 68 69 76 ..Corrupt.file?");.}..$zipArchiv
24c40 65 2d 3e 63 6c 6f 73 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 e->close();.}.........protected.
24c60 66 75 6e 63 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 function.getErrorMessage($retval
24c80 2c 20 24 66 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 ,.$file).{.switch.($retval).{.ca
24ca0 73 65 20 5a 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 se.ZipArchive::ER_EXISTS:.return
24cc0 20 73 70 72 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 .sprintf("File.'%s'.already.exis
24ce0 74 73 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 76 65 3a 3a 45 ts.",.$file);.case.ZipArchive::E
24d00 52 5f 49 4e 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 R_INCONS:.return.sprintf("Zip.ar
24d20 63 68 69 76 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 chive.'%s'.is.inconsistent.",.$f
24d40 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 56 41 4c 3a ile);.case.ZipArchive::ER_INVAL:
24d60 0a 72 65 74 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 .return.sprintf("Invalid.argumen
24d80 74 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 72 63 68 69 76 65 t.(%s)",.$file);.case.ZipArchive
24da0 3a 3a 45 52 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 ::ER_MEMORY:.return.sprintf("Mal
24dc0 6c 6f 63 20 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 loc.failure.(%s)",.$file);.case.
24de0 5a 69 70 41 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 ZipArchive::ER_NOENT:.return.spr
24e00 69 6e 74 66 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 intf("No.such.zip.file:.'%s'",.$
24e20 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 4e 4f 5a 49 50 file);.case.ZipArchive::ER_NOZIP
24e40 3a 0a 72 65 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 :.return.sprintf("'%s'.is.not.a.
24e60 7a 69 70 20 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 zip.archive.",.$file);.case.ZipA
24e80 72 63 68 69 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 rchive::ER_OPEN:.return.sprintf(
24ea0 22 43 61 6e 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 "Can't.open.zip.file:.%s",.$file
24ec0 29 3b 0a 63 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 );.case.ZipArchive::ER_READ:.ret
24ee0 75 72 6e 20 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 urn.sprintf("Zip.read.error.(%s)
24f00 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 5f 53 ",.$file);.case.ZipArchive::ER_S
24f20 45 45 4b 3a 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 EEK:.return.sprintf("Zip.seek.er
24f40 72 6f 72 20 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 ror.(%s)",.$file);.default:.retu
24f60 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 76 61 6c 69 64 20 rn.sprintf("'%s'.is.not.a.valid.
24f80 7a 69 70 20 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 zip.archive,.got.error.code:.%s"
24fa0 2c 20 24 66 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 ,.$file,.$retval);.}.}.}.<?php..
24fc0 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 6f 77 ..........namespace.Composer\Dow
24fe0 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 63 6b 61 67 65 5c 50 nloader;..use.Composer\Package\P
25000 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
25020 69 6c 5c 47 69 74 48 75 62 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 47 69 74 il\GitHub;.use.Composer\Util\Git
25040 20 61 73 20 47 69 74 55 74 69 6c 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 69 74 44 6f 77 6e 6c 6f .as.GitUtil;.....class.GitDownlo
25060 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 70 72 69 ader.extends.VcsDownloader.{.pri
25080 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 3b vate.$hasStashedChanges.=.false;
250a0 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(
250c0 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
250e0 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6c 65 61 6e 45 6e 76 28 29 3b 0a 24 70 61 74 68 20 3d 20 24 ).{.$this->cleanEnv();.$path.=.$
25100 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 0a 24 72 65 this->normalizePath($path);..$re
25120 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 65 f.=.$package->getSourceReference
25140 28 29 3b 0a 24 66 6c 61 67 20 3d 20 64 65 66 69 6e 65 64 28 27 50 48 50 5f 57 49 4e 44 4f 57 53 ();.$flag.=.defined('PHP_WINDOWS
25160 5f 56 45 52 53 49 4f 4e 5f 4d 41 4a 4f 52 27 29 20 3f 20 27 2f 44 20 27 20 3a 20 27 27 3b 0a 24 _VERSION_MAJOR').?.'/D.'.:.'';.$
25180 63 6f 6d 6d 61 6e 64 20 3d 20 27 67 69 74 20 63 6c 6f 6e 65 20 25 73 20 25 73 20 26 26 20 63 64 command.=.'git.clone.%s.%s.&&.cd
251a0 20 27 2e 24 66 6c 61 67 2e 27 25 32 24 73 20 26 26 20 67 69 74 20 72 65 6d 6f 74 65 20 61 64 64 .'.$flag.'%2$s.&&.git.remote.add
251c0 20 63 6f 6d 70 6f 73 65 72 20 25 31 24 73 20 26 26 20 67 69 74 20 66 65 74 63 68 20 63 6f 6d 70 .composer.%1$s.&&.git.fetch.comp
251e0 6f 73 65 72 27 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 22 20 20 20 20 43 6c 6f oser';.$this->io->write("....Clo
25200 6e 69 6e 67 20 22 2e 24 72 65 66 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 20 ning.".$ref);..$commandCallable.
25220 3d 20 66 75 6e 63 74 69 6f 6e 28 24 75 72 6c 29 20 75 73 65 20 28 24 72 65 66 2c 20 24 70 61 74 =.function($url).use.($ref,.$pat
25240 68 2c 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 24 63 h,.$command).{.return.sprintf($c
25260 6f 6d 6d 61 6e 64 2c 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 75 72 6c 29 2c 20 65 73 ommand,.escapeshellarg($url),.es
25280 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 70 61 74 68 29 2c 20 65 73 63 61 70 65 73 68 65 6c 6c capeshellarg($path),.escapeshell
252a0 61 72 67 28 24 72 65 66 29 29 3b 0a 7d 3b 0a 0a 24 74 68 69 73 2d 3e 72 75 6e 43 6f 6d 6d 61 6e arg($ref));.};..$this->runComman
252c0 64 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 d($commandCallable,.$package->ge
252e0 74 53 6f 75 72 63 65 55 72 6c 28 29 2c 20 24 70 61 74 68 2c 20 74 72 75 65 29 3b 0a 24 74 68 69 tSourceUrl(),.$path,.true);.$thi
25300 73 2d 3e 73 65 74 50 75 73 68 55 72 6c 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 3b 0a s->setPushUrl($package,.$path);.
25320 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 54 6f 43 6f 6d 6d 69 74 28 24 70 61 74 68 2c 20 24 72 .$this->updateToCommit($path,.$r
25340 65 66 2c 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 ef,.$package->getPrettyVersion()
25360 2c 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 29 29 3b 0a 7d ,.$package->getReleaseDate());.}
25380 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 50 61 .....public.function.doUpdate(Pa
253a0 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
253c0 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 2c 20 24 70 61 74 68 29 0a 7b 0a 24 74 68 69 Interface.$target,.$path).{.$thi
253e0 73 2d 3e 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 6f s->cleanEnv();.$path.=.$this->no
25400 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 69 73 5f 64 69 72 28 rmalizePath($path);.if.(!is_dir(
25420 24 70 61 74 68 2e 27 2f 2e 67 69 74 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e $path.'/.git')).{.throw.new.\Run
25440 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 2e 67 69 74 20 64 69 72 65 63 74 6f 72 timeException('The..git.director
25460 79 20 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 y.is.missing.from.'.$path.',.see
25480 20 68 74 74 70 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 .http://getcomposer.org/commit-d
254a0 65 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 eps.for.more.information');.}..$
254c0 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 66 65 72 65 6e 63 ref.=.$target->getSourceReferenc
254e0 65 28 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 22 20 20 20 20 43 68 65 63 6b e();.$this->io->write("....Check
25500 69 6e 67 20 6f 75 74 20 22 2e 24 72 65 66 29 3b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 67 69 74 ing.out.".$ref);.$command.=.'git
25520 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 25 73 20 26 26 20 67 .remote.set-url.composer.%s.&&.g
25540 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 68 20 2d it.fetch.composer.&&.git.fetch.-
25560 2d 74 61 67 73 20 63 6f 6d 70 6f 73 65 72 27 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 -tags.composer';....$this->proce
25580 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 20 24 6f 75 ss->execute('git.remote.-v',.$ou
255a0 74 70 75 74 2c 20 24 70 61 74 68 29 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e tput,.$path);.if.(preg_match('{^
255c0 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 73 3f 3a 2f 2f 28 (?:composer|origin)\s+https?://(
255e0 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 70 75 74 2c 20 24 .+):(.+)@([^/]+)}im',.$output,.$
25600 6d 61 74 63 68 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 match)).{.$this->io->setAuthenti
25620 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 33 5d 2c 20 75 72 6c 64 65 63 6f 64 65 28 24 6d 61 74 cation($match[3],.urldecode($mat
25640 63 68 5b 31 5d 29 2c 20 75 72 6c 64 65 63 6f 64 65 28 24 6d 61 74 63 68 5b 32 5d 29 29 3b 0a 7d ch[1]),.urldecode($match[2]));.}
25660 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 28 24 75 ..$commandCallable.=.function($u
25680 72 6c 29 20 75 73 65 20 28 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 rl).use.($command).{.return.spri
256a0 6e 74 66 28 24 63 6f 6d 6d 61 6e 64 2c 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 75 72 ntf($command,.escapeshellarg($ur
256c0 6c 29 29 3b 0a 7d 3b 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 l));.};..$this->runCommand($comm
256e0 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 55 andCallable,.$target->getSourceU
25700 72 6c 28 29 2c 20 24 70 61 74 68 29 3b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 54 6f 43 6f 6d rl(),.$path);.$this->updateToCom
25720 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 65 74 50 72 65 mit($path,.$ref,.$target->getPre
25740 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 65 6c 65 61 73 ttyVersion(),.$target->getReleas
25760 65 44 61 74 65 28 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 eDate());.}.....public.function.
25780 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 72 66 61 63 65 getLocalChanges(PackageInterface
257a0 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 63 6c 65 61 6e .$package,.$path).{.$this->clean
257c0 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
257e0 61 74 68 28 24 70 61 74 68 29 3b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 70 61 74 68 2e 27 2f ath($path);.if.(!is_dir($path.'/
25800 2e 67 69 74 27 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 .git')).{.return;.}..$command.=.
25820 27 67 69 74 20 73 74 61 74 75 73 20 2d 2d 70 6f 72 63 65 6c 61 69 6e 20 2d 2d 75 6e 74 72 61 63 'git.status.--porcelain.--untrac
25840 6b 65 64 2d 66 69 6c 65 73 3d 6e 6f 27 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e ked-files=no';.if.(0.!==.$this->
25860 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
25880 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
258a0 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 20 2e Exception('Failed.to.execute.'..
258c0 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 63 .$command..."\n\n"...$this->proc
258e0 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 75 72 ess->getErrorOutput());.}..retur
25900 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
25920 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 6e 67 65 73 28 50 rotected.function.cleanChanges(P
25940 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,
25960 20 24 75 70 64 61 74 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6c 65 61 6e 45 6e 76 28 29 3b 0a 24 .$update).{.$this->cleanEnv();.$
25980 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
259a0 68 29 3b 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 4c 6f h);.if.(!$changes.=.$this->getLo
259c0 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 0a 72 calChanges($package,.$path)).{.r
259e0 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 74 65 eturn;.}..if.(!$this->io->isInte
25a00 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 20 24 ractive()).{.$discardChanges.=.$
25a20 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 6e 67 this->config->get('discard-chang
25a40 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 6e 67 es');.if.(true.===.$discardChang
25a60 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 6e 67 es).{.return.$this->discardChang
25a80 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 64 69 es($path);.}.if.('stash'.===.$di
25aa0 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 7b 0a scardChanges).{.if.(!$update).{.
25ac0 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 61 63 return.parent::cleanChanges($pac
25ae0 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 72 6e kage,.$path,.$update);.}..return
25b00 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 0a 0a .$this->stashChanges($path);.}..
25b20 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 61 63 return.parent::cleanChanges($pac
25b40 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 6e 67 kage,.$path,.$update);.}..$chang
25b60 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 29 20 es.=.array_map(function.($elem).
25b80 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 5f 73 {.return.'....'.$elem;.},.preg_s
25ba0 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 29 29 plit('{\s*\r?\n\s*}',.$changes))
25bc0 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 20 20 20 20 3c 65 72 72 6f 72 3e 54 ;.$this->io->write('....<error>T
25be0 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 73 3a 3c 2f he.package.has.modified.files:</
25c00 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 28 61 72 72 61 79 error>');.$this->io->write(array
25c20 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 0a 69 66 20 28 63 6f _slice($changes,.0,.10));.if.(co
25c40 75 6e 74 28 24 63 68 61 6e 67 65 73 29 20 3e 20 31 30 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d unt($changes).>.10).{.$this->io-
25c60 3e 77 72 69 74 65 28 27 20 20 20 20 3c 69 6e 66 6f 3e 27 2e 63 6f 75 6e 74 28 24 63 68 61 6e 67 >write('....<info>'.count($chang
25c80 65 73 29 20 2d 20 31 30 20 2e 20 27 20 6d 6f 72 65 20 66 69 6c 65 73 20 6d 6f 64 69 66 69 65 64 es).-.10...'.more.files.modified
25ca0 2c 20 63 68 6f 6f 73 65 20 22 76 22 20 74 6f 20 76 69 65 77 20 74 68 65 20 66 75 6c 6c 20 6c 69 ,.choose."v".to.view.the.full.li
25cc0 73 74 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d 0a 0a 77 68 69 6c 65 20 28 74 72 75 65 29 20 7b 0a 73 st</info>');.}..while.(true).{.s
25ce0 77 69 74 63 68 20 28 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 witch.($this->io->ask('....<info
25d00 3e 44 69 73 63 61 72 64 20 63 68 61 6e 67 65 73 20 5b 79 2c 6e 2c 76 2c 27 2e 28 24 75 70 64 61 >Discard.changes.[y,n,v,'.($upda
25d20 74 65 20 3f 20 27 73 2c 27 20 3a 20 27 27 29 2e 27 3f 5d 3f 3c 2f 69 6e 66 6f 3e 20 27 2c 20 27 te.?.'s,'.:.'').'?]?</info>.',.'
25d40 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
25d60 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 73 hanges($path);.break.2;..case.'s
25d80 27 3a 0a 69 66 20 28 21 24 75 70 64 61 74 65 29 20 7b 0a 67 6f 74 6f 20 68 65 6c 70 3b 0a 7d 0a ':.if.(!$update).{.goto.help;.}.
25da0 0a 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 62 72 65 .$this->stashChanges($path);.bre
25dc0 61 6b 20 32 3b 0a 0a 63 61 73 65 20 27 6e 27 3a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 ak.2;..case.'n':.throw.new.\Runt
25de0 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 55 70 64 61 74 65 20 61 62 6f 72 74 65 64 27 29 3b 0a imeException('Update.aborted');.
25e00 0a 63 61 73 65 20 27 76 27 3a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 24 63 68 61 .case.'v':.$this->io->write($cha
25e20 6e 67 65 73 29 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 3f 27 3a 0a 64 65 66 61 75 6c 74 nges);.break;..case.'?':.default
25e40 3a 0a 68 65 6c 70 3a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 61 72 72 61 79 28 0a :.help:.$this->io->write(array(.
25e60 27 20 20 20 20 79 20 2d 20 64 69 73 63 61 72 64 20 63 68 61 6e 67 65 73 20 61 6e 64 20 61 70 70 '....y.-.discard.changes.and.app
25e80 6c 79 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 20 3a 20 27 ly.the.'.($update.?.'update'.:.'
25ea0 75 6e 69 6e 73 74 61 6c 6c 27 29 2c 0a 27 20 20 20 20 6e 20 2d 20 61 62 6f 72 74 20 74 68 65 20 uninstall'),.'....n.-.abort.the.
25ec0 27 2e 28 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 '.($update.?.'update'.:.'uninsta
25ee0 6c 6c 27 29 2e 27 20 61 6e 64 20 6c 65 74 20 79 6f 75 20 6d 61 6e 75 61 6c 6c 79 20 63 6c 65 61 ll').'.and.let.you.manually.clea
25f00 6e 20 74 68 69 6e 67 73 20 75 70 27 2c 0a 27 20 20 20 20 76 20 2d 20 76 69 65 77 20 6d 6f 64 69 n.things.up',.'....v.-.view.modi
25f20 66 69 65 64 20 66 69 6c 65 73 27 2c 0a 29 29 3b 0a 69 66 20 28 24 75 70 64 61 74 65 29 20 7b 0a fied.files',.));.if.($update).{.
25f40 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 20 20 20 20 73 20 2d 20 73 74 61 73 68 20 $this->io->write('....s.-.stash.
25f60 63 68 61 6e 67 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 changes.and.try.to.reapply.them.
25f80 61 66 74 65 72 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 after.the.update');.}.$this->io-
25fa0 3e 77 72 69 74 65 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 >write('....?.-.print.help');.br
25fc0 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
25fe0 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.
26000 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
26020 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).{.$
26040 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;
26060 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 20 20 20 20 3c 69 6e 66 6f 3e 52 65 2d .$this->io->write('....<info>Re-
26080 61 70 70 6c 79 69 6e 67 20 73 74 61 73 68 65 64 20 63 68 61 6e 67 65 73 27 29 3b 0a 69 66 20 28 applying.stashed.changes');.if.(
260a0 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 27 67 0.!==.$this->process->execute('g
260c0 69 74 20 73 74 61 73 68 20 70 6f 70 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 it.stash.pop',.$output,.$path)).
260e0 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 46 {.throw.new.\RuntimeException("F
26100 61 69 6c 65 64 20 74 6f 20 61 70 70 6c 79 20 73 74 61 73 68 65 64 20 63 68 61 6e 67 65 73 3a 5c ailed.to.apply.stashed.changes:\
26120 6e 5c 6e 22 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 n\n".$this->process->getErrorOut
26140 70 75 74 28 29 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 put());.}.}.}..protected.functio
26160 6e 20 75 70 64 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 n.updateToCommit($path,.$referen
26180 63 65 2c 20 24 62 72 61 6e 63 68 2c 20 24 64 61 74 65 29 0a 7b 0a 24 74 65 6d 70 6c 61 74 65 20 ce,.$branch,.$date).{.$template.
261a0 3d 20 27 67 69 74 20 63 68 65 63 6b 6f 75 74 20 25 73 20 26 26 20 67 69 74 20 72 65 73 65 74 20 =.'git.checkout.%s.&&.git.reset.
261c0 2d 2d 68 61 72 64 20 25 31 24 73 27 3b 0a 24 62 72 61 6e 63 68 20 3d 20 70 72 65 67 5f 72 65 70 --hard.%1$s';.$branch.=.preg_rep
261e0 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 24 29 7d 69 lace('{(?:^dev-|(?:\.x)?-dev$)}i
26200 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 3d 20 6e 75 ',.'',.$branch);..$branches.=.nu
26220 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 2d 3e 65 78 ll;.if.(0.===.$this->process->ex
26240 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 75 74 2c 20 ecute('git.branch.-r',.$output,.
26260 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 74 3b 0a 7d $path)).{.$branches.=.$output;.}
26280 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 20 28 21 70 ....$gitRef.=.$reference;.if.(!p
262a0 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 20 24 72 reg_match('{^[a-f0-9]{40}$}',.$r
262c0 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 65 67 5f 6d eference).&&.$branches.&&.preg_m
262e0 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 75 6f 74 65 atch('{^\s+composer/'.preg_quote
26300 28 24 72 65 66 65 72 65 6e 63 65 29 2e 27 24 7d 6d 27 2c 20 24 6f 75 74 70 75 74 29 0a 29 20 7b ($reference).'$}m',.$output).).{
26320 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 68 65 63 6b 6f 75 .$command.=.sprintf('git.checkou
26340 74 20 2d 42 20 25 73 20 25 73 20 26 26 20 67 69 74 20 72 65 73 65 74 20 2d 2d 68 61 72 64 20 25 t.-B.%s.%s.&&.git.reset.--hard.%
26360 32 24 73 27 2c 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 62 72 61 6e 63 68 29 2c 20 65 2$s',.escapeshellarg($branch),.e
26380 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 27 63 6f 6d 70 6f 73 65 72 2f 27 2e 24 72 65 66 65 72 scapeshellarg('composer/'.$refer
263a0 65 6e 63 65 29 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 ence));.if.(0.===.$this->process
263c0 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
263e0 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d th)).{.return;.}.}....if.(preg_m
26400 61 74 63 68 28 27 7b 5e 5b 61 2d 66 30 2d 39 5d 7b 34 30 7d 24 7d 27 2c 20 24 72 65 66 65 72 65 atch('{^[a-f0-9]{40}$}',.$refere
26420 6e 63 65 29 29 20 7b 0a 0a 20 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5c 73 2b nce)).{...if.(!preg_match('{^\s+
26440 63 6f 6d 70 6f 73 65 72 2f 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 62 72 61 6e 63 68 29 2e 27 composer/'.preg_quote($branch).'
26460 24 7d 6d 27 2c 20 24 62 72 61 6e 63 68 65 73 29 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 $}m',.$branches).&&.preg_match('
26480 7b 5e 5c 73 2b 63 6f 6d 70 6f 73 65 72 2f 76 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 62 72 61 {^\s+composer/v'.preg_quote($bra
264a0 6e 63 68 29 2e 27 24 7d 6d 27 2c 20 24 62 72 61 6e 63 68 65 73 29 29 20 7b 0a 24 62 72 61 6e 63 nch).'$}m',.$branches)).{.$branc
264c0 68 20 3d 20 27 76 27 20 2e 20 24 62 72 61 6e 63 68 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d h.=.'v'...$branch;.}..$command.=
264e0 20 73 70 72 69 6e 74 66 28 27 67 69 74 20 63 68 65 63 6b 6f 75 74 20 25 73 27 2c 20 65 73 63 61 .sprintf('git.checkout.%s',.esca
26500 70 65 73 68 65 6c 6c 61 72 67 28 24 62 72 61 6e 63 68 29 29 3b 0a 24 66 61 6c 6c 62 61 63 6b 43 peshellarg($branch));.$fallbackC
26520 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 2d ommand.=.sprintf('git.checkout.-
26540 42 20 25 73 20 25 73 27 2c 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 62 72 61 6e 63 68 B.%s.%s',.escapeshellarg($branch
26560 29 2c 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 27 63 6f 6d 70 6f 73 65 72 2f 27 2e 24 62 ),.escapeshellarg('composer/'.$b
26580 72 61 6e 63 68 29 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 ranch));.if.(0.===.$this->proces
265a0 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 70 s->execute($command,.$output,.$p
265c0 61 74 68 29 0a 7c 7c 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 ath).||.0.===.$this->process->ex
265e0 65 63 75 74 65 28 24 66 61 6c 6c 62 61 63 6b 43 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 2c ecute($fallbackCommand,.$output,
26600 20 24 70 61 74 68 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 .$path).).{.$command.=.sprintf('
26620 67 69 74 20 72 65 73 65 74 20 2d 2d 68 61 72 64 20 25 73 27 2c 20 65 73 63 61 70 65 73 68 65 6c git.reset.--hard.%s',.escapeshel
26640 6c 61 72 67 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 larg($reference));.if.(0.===.$th
26660 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,.$
26680 6f 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 output,.$path)).{.return;.}.}.}.
266a0 0a 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 65 .$command.=.sprintf($template,.e
266c0 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 67 69 74 52 65 66 29 29 3b 0a 69 66 20 28 30 20 3d scapeshellarg($gitRef));.if.(0.=
266e0 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
26700 61 6e 64 2c 20 24 6f 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 and,.$output,.$path)).{.return;.
26720 7d 0a 0a 0a 20 69 66 20 28 24 64 61 74 65 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 }....if.($date.&&.false.!==.strp
26740 6f 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 os($this->process->getErrorOutpu
26760 74 28 29 2c 20 24 72 65 66 65 72 65 6e 63 65 29 29 20 7b 0a 24 64 61 74 65 20 3d 20 24 64 61 74 t(),.$reference)).{.$date.=.$dat
26780 65 2d 3e 66 6f 72 6d 61 74 28 27 55 27 29 3b 0a 0a 0a 20 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 67 e->format('U');....$command.=.'g
267a0 69 74 20 62 72 61 6e 63 68 20 2d 72 27 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e it.branch.-r';.if.(0.!==.$this->
267c0 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
267e0 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
26800 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 20 2e Exception('Failed.to.execute.'..
26820 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 63 .$command..."\n\n"...$this->proc
26840 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 67 75 65 73 ess->getErrorOutput());.}..$gues
26860 73 54 65 6d 70 6c 61 74 65 20 3d 20 27 67 69 74 20 6c 6f 67 20 2d 2d 75 6e 74 69 6c 3d 25 73 20 sTemplate.=.'git.log.--until=%s.
26880 2d 2d 64 61 74 65 3d 72 61 77 20 2d 6e 31 20 2d 2d 70 72 65 74 74 79 3d 25 25 48 20 25 73 27 3b --date=raw.-n1.--pretty=%%H.%s';
268a0 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 4c .foreach.($this->process->splitL
268c0 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 20 28 70 72 ines($output).as.$line).{.if.(pr
268e0 65 67 5f 6d 61 74 63 68 28 27 7b 5e 63 6f 6d 70 6f 73 65 72 2f 27 2e 70 72 65 67 5f 71 75 6f 74 eg_match('{^composer/'.preg_quot
26900 65 28 24 62 72 61 6e 63 68 29 2e 27 28 3f 3a 5c 2e 78 29 3f 24 7d 69 27 2c 20 74 72 69 6d 28 24 e($branch).'(?:\.x)?$}i',.trim($
26920 6c 69 6e 65 29 29 29 20 7b 0a 0a 20 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f line))).{...if.(0.===.$this->pro
26940 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 73 70 72 69 6e 74 66 28 24 67 75 65 73 73 54 65 6d 70 cess->execute(sprintf($guessTemp
26960 6c 61 74 65 2c 20 24 64 61 74 65 2c 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 74 72 69 6d late,.$date,.escapeshellarg(trim
26980 28 24 6c 69 6e 65 29 29 29 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 24 6e ($line))),.$output,.$path)).{.$n
269a0 65 77 52 65 66 65 72 65 6e 63 65 20 3d 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a ewReference.=.trim($output);.}..
269c0 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 6e 65 77 52 65 66 65 72 65 break;.}.}..if.(empty($newRefere
269e0 6e 63 65 29 29 20 7b 0a 0a 20 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 nce)).{...if.(0.!==.$this->proce
26a00 73 73 2d 3e 65 78 65 63 75 74 65 28 73 70 72 69 6e 74 66 28 24 67 75 65 73 73 54 65 6d 70 6c 61 ss->execute(sprintf($guessTempla
26a20 74 65 2c 20 24 64 61 74 65 2c 20 27 2d 2d 61 6c 6c 27 29 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 te,.$date,.'--all'),.$output,.$p
26a40 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 63 65 70 74 ath)).{.throw.new.\RuntimeExcept
26a60 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 24 74 68 69 73 ion('Failed.to.execute.'...$this
26a80 2d 3e 73 61 6e 69 74 69 7a 65 55 72 6c 28 24 63 6f 6d 6d 61 6e 64 29 20 2e 20 22 5c 6e 5c 6e 22 ->sanitizeUrl($command)..."\n\n"
26aa0 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 70 75 ...$this->process->getErrorOutpu
26ac0 74 28 29 29 3b 0a 7d 0a 24 6e 65 77 52 65 66 65 72 65 6e 63 65 20 3d 20 74 72 69 6d 28 24 6f 75 t());.}.$newReference.=.trim($ou
26ae0 74 70 75 74 29 3b 0a 7d 0a 0a 0a 20 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 24 tput);.}....$command.=.sprintf($
26b00 74 65 6d 70 6c 61 74 65 2c 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 72 65 66 65 72 65 template,.escapeshellarg($refere
26b20 6e 63 65 29 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 nce));.if.(0.===.$this->process-
26b40 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
26b60 68 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 20 20 20 20 27 2e 24 72 h)).{.$this->io->write('....'.$r
26b80 65 66 65 72 65 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 eference.'.is.gone.(history.was.
26ba0 72 65 77 72 69 74 74 65 6e 3f 29 2c 20 72 65 63 6f 76 65 72 65 64 20 62 79 20 63 68 65 63 6b 69 rewritten?),.recovered.by.checki
26bc0 6e 67 20 6f 75 74 20 27 2e 24 6e 65 77 52 65 66 65 72 65 6e 63 65 29 3b 0a 0a 72 65 74 75 72 6e ng.out.'.$newReference);..return
26be0 3b 0a 7d 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 74 69 ;.}.}..throw.new.\RuntimeExcepti
26c00 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 74 68 69 73 2d on('Failed.to.execute.'...$this-
26c20 3e 73 61 6e 69 74 69 7a 65 55 72 6c 28 24 63 6f 6d 6d 61 6e 64 29 20 2e 20 22 5c 6e 5c 6e 22 20 >sanitizeUrl($command)..."\n\n".
26c40 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 70 75 74 ..$this->process->getErrorOutput
26c60 28 29 29 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 75 6e 63 ());.}............protected.func
26c80 74 69 6f 6e 20 72 75 6e 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 tion.runCommand($commandCallable
26ca0 2c 20 24 75 72 6c 2c 20 24 63 77 64 2c 20 24 69 6e 69 74 69 61 6c 43 6c 6f 6e 65 20 3d 20 66 61 ,.$url,.$cwd,.$initialClone.=.fa
26cc0 6c 73 65 29 0a 7b 0a 69 66 20 28 24 69 6e 69 74 69 61 6c 43 6c 6f 6e 65 29 20 7b 0a 24 6f 72 69 lse).{.if.($initialClone).{.$ori
26ce0 67 43 77 64 20 3d 20 24 63 77 64 3b 0a 24 63 77 64 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 0a 69 66 20 gCwd.=.$cwd;.$cwd.=.null;.}..if.
26d00 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 73 73 68 3a 2f 2f 5b 5e 40 5d 2b 40 5b 5e 3a 5d 2b (preg_match('{^ssh://[^@]+@[^:]+
26d20 3a 5b 5e 30 2d 39 5d 2b 7d 27 2c 20 24 75 72 6c 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c :[^0-9]+}',.$url)).{.throw.new.\
26d40 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 73 6f InvalidArgumentException('The.so
26d60 75 72 63 65 20 55 52 4c 20 27 2e 24 75 72 6c 2e 27 20 69 73 20 69 6e 76 61 6c 69 64 2c 20 73 73 urce.URL.'.$url.'.is.invalid,.ss
26d80 68 20 55 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 h.URLs.should.have.a.port.number
26da0 20 61 66 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 .after.":".'."\n".'Use.ssh://git
26dc0 40 65 78 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 @example.com:22/path.or.just.git
26de0 40 65 78 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 @example.com:path.if.you.do.not.
26e00 77 61 6e 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 want.to.provide.a.password.or.cu
26e20 73 74 6f 6d 20 70 6f 72 74 2e 27 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 stom.port.');.}....if.(preg_matc
26e40 68 28 27 7b 5e 28 3f 3a 68 74 74 70 73 3f 7c 67 69 74 29 28 3a 2f 2f 67 69 74 68 75 62 2e 63 6f h('{^(?:https?|git)(://github.co
26e60 6d 2f 2e 2a 29 7d 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 m/.*)}',.$url,.$match)).{.$proto
26e80 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 68 75 cols.=.$this->config->get('githu
26ea0 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 70 72 b-protocols');.if.(!is_array($pr
26ec0 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 45 78 otocols)).{.throw.new.\RuntimeEx
26ee0 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 70 72 ception('Config.value."github-pr
26f00 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 20 27 otocols".must.be.an.array,.got.'
26f20 2e 67 65 74 74 79 70 65 28 24 70 72 6f 74 6f 63 6f 6c 73 29 29 3b 0a 7d 0a 24 6d 65 73 73 61 67 .gettype($protocols));.}.$messag
26f40 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 72 6f 74 6f 63 6f 6c es.=.array();.foreach.($protocol
26f60 73 20 61 73 20 24 70 72 6f 74 6f 63 6f 6c 29 20 7b 0a 24 75 72 6c 20 3d 20 24 70 72 6f 74 6f 63 s.as.$protocol).{.$url.=.$protoc
26f80 6f 6c 20 2e 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d ol...$match[1];.if.(0.===.$this-
26fa0 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 >process->execute(call_user_func
26fc0 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 75 72 6c 29 2c 20 24 69 67 6e 6f 72 ($commandCallable,.$url),.$ignor
26fe0 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 24 6d 65 edOutput,.$cwd)).{.return;.}.$me
27000 73 73 61 67 65 73 5b 5d 20 3d 20 27 2d 20 27 20 2e 20 24 75 72 6c 20 2e 20 22 5c 6e 22 20 2e 20 ssages[].=.'-.'...$url..."\n"...
27020 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 23 5e 23 6d 27 2c 20 27 20 20 27 2c 20 24 74 68 69 73 preg_replace('#^#m',.'..',.$this
27040 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 69 66 ->process->getErrorOutput());.if
27060 20 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 .($initialClone).{.$this->filesy
27080 73 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 stem->removeDirectory($origCwd);
270a0 0a 7d 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 74 68 72 6f 77 45 78 63 65 70 74 69 6f 6e 28 27 46 .}.}....$this->throwException('F
270c0 61 69 6c 65 64 20 74 6f 20 63 6c 6f 6e 65 20 27 20 2e 20 24 74 68 69 73 2d 3e 73 61 6e 69 74 69 ailed.to.clone.'...$this->saniti
270e0 7a 65 55 72 6c 28 24 75 72 6c 29 20 2e 27 20 76 69 61 20 27 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 zeUrl($url)..'.via.'.implode(',.
27100 27 2c 20 24 70 72 6f 74 6f 63 6f 6c 73 29 2e 27 20 70 72 6f 74 6f 63 6f 6c 73 2c 20 61 62 6f 72 ',.$protocols).'.protocols,.abor
27120 74 69 6e 67 2e 27 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 69 6d 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 ting.'..."\n\n"...implode("\n",.
27140 24 6d 65 73 73 61 67 65 73 29 2c 20 24 75 72 6c 29 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d $messages),.$url);.}..$command.=
27160 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 6c 65 .call_user_func($commandCallable
27180 2c 20 24 75 72 6c 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 ,.$url);.if.(0.!==.$this->proces
271a0 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
271c0 70 75 74 2c 20 24 63 77 64 29 29 20 7b 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 put,.$cwd)).{...if.(preg_match('
271e0 7b 5e 67 69 74 40 28 67 69 74 68 75 62 2e 63 6f 6d 29 3a 28 2e 2b 3f 29 5c 2e 67 69 74 24 7d 69 {^git@(github.com):(.+?)\.git$}i
27200 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e ',.$url,.$match)).{.if.(!$this->
27220 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 31 5d 29 io->hasAuthentication($match[1])
27240 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 68 ).{.$gitHubUtil.=.new.GitHub($th
27260 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 72 is->io,.$this->config,.$this->pr
27280 6f 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 ocess);.$message.=.'Cloning.fail
272a0 65 64 20 75 73 69 6e 67 20 61 6e 20 73 73 68 20 6b 65 79 20 66 6f 72 20 61 75 74 68 65 6e 74 69 ed.using.an.ssh.key.for.authenti
272c0 63 61 74 69 6f 6e 2c 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 cation,.enter.your.GitHub.creden
272e0 74 69 61 6c 73 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 tials.to.access.private.repos';.
27300 0a 69 66 20 28 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 .if.(!$gitHubUtil->authorizeOAut
27320 68 28 24 6d 61 74 63 68 5b 31 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 h($match[1]).&&.$this->io->isInt
27340 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 24 67 69 74 48 75 62 55 74 69 6c 2d 3e 61 75 74 68 6f eractive()).{.$gitHubUtil->autho
27360 72 69 7a 65 4f 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 rizeOAuthInteractively($match[1]
27380 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 73 2d 3e 69 6f 2d ,.$message);.}.}..if.($this->io-
273a0 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 31 5d 29 29 20 7b >hasAuthentication($match[1])).{
273c0 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 68 65 6e 74 69 63 .$auth.=.$this->io->getAuthentic
273e0 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 24 75 72 6c 20 3d 20 27 68 74 74 70 73 3a ation($match[1]);.$url.=.'https:
27400 2f 2f 27 2e 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 //'.urlencode($auth['username'])
27420 20 2e 20 27 3a 27 20 2e 20 75 72 6c 65 6e 63 6f 64 65 28 24 61 75 74 68 5b 27 70 61 73 73 77 6f ...':'...urlencode($auth['passwo
27440 72 64 27 5d 29 20 2e 20 27 40 27 2e 24 6d 61 74 63 68 5b 31 5d 2e 27 2f 27 2e 24 6d 61 74 63 68 rd'])...'@'.$match[1].'/'.$match
27460 5b 32 5d 2e 27 2e 67 69 74 27 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 63 61 6c 6c 5f 75 73 65 [2].'.git';..$command.=.call_use
27480 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 75 72 6c 29 3b 0a r_func($commandCallable,.$url);.
274a0 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
274c0 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 24 63 77 64 e($command,.$ignoredOutput,.$cwd
274e0 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 20 0a 20 24 74 )).{.return;.}.}.}.elseif.(...$t
27500 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 0a 70 72 65 67 his->io->isInteractive().&&.preg
27520 5f 6d 61 74 63 68 28 27 7b 28 68 74 74 70 73 3f 3a 2f 2f 29 28 5b 5e 2f 5d 2b 29 28 2e 2a 29 24 _match('{(https?://)([^/]+)(.*)$
27540 7d 69 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 20 26 26 0a 73 74 72 70 6f 73 28 24 74 68 }i',.$url,.$match).&&.strpos($th
27560 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 2c 20 27 is->process->getErrorOutput(),.'
27580 66 61 74 61 6c 3a 20 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 66 61 69 6c 65 64 27 29 20 21 fatal:.Authentication.failed').!
275a0 3d 3d 20 66 61 6c 73 65 0a 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 ==.false.).{.if.($this->io->hasA
275c0 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 20 7b 0a 24 61 75 74 uthentication($match[2])).{.$aut
275e0 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
27600 28 24 6d 61 74 63 68 5b 32 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d ($match[2]);.}.else.{.$this->io-
27620 3e 77 72 69 74 65 28 24 75 72 6c 2e 27 20 72 65 71 75 69 72 65 73 20 41 75 74 68 65 6e 74 69 63 >write($url.'.requires.Authentic
27640 61 74 69 6f 6e 27 29 3b 0a 24 61 75 74 68 20 3d 20 61 72 72 61 79 28 0a 27 75 73 65 72 6e 61 6d ation');.$auth.=.array(.'usernam
27660 65 27 20 3d 3e 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 28 27 55 73 65 72 6e 61 6d 65 3a 20 e'.=>.$this->io->ask('Username:.
27680 27 29 2c 0a 27 70 61 73 73 77 6f 72 64 27 20 3d 3e 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b '),.'password'.=>.$this->io->ask
276a0 41 6e 64 48 69 64 65 41 6e 73 77 65 72 28 27 50 61 73 73 77 6f 72 64 3a 20 27 29 2c 0a 29 3b 0a AndHideAnswer('Password:.'),.);.
276c0 7d 0a 0a 24 75 72 6c 20 3d 20 24 6d 61 74 63 68 5b 31 5d 2e 75 72 6c 65 6e 63 6f 64 65 28 24 61 }..$url.=.$match[1].urlencode($a
276e0 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 29 2e 27 3a 27 2e 75 72 6c 65 6e 63 6f 64 65 28 24 uth['username']).':'.urlencode($
27700 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 2e 27 40 27 2e 24 6d 61 74 63 68 5b 32 5d 2e auth['password']).'@'.$match[2].
27720 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 72 $match[3];..$command.=.call_user
27740 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 75 72 6c 29 3b 0a 69 _func($commandCallable,.$url);.i
27760 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
27780 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 24 63 77 64 29 ($command,.$ignoredOutput,.$cwd)
277a0 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 6f 6e ).{.$this->io->setAuthentication
277c0 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 27 5d 2c 20 24 ($match[2],.$auth['username'],.$
277e0 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a auth['password']);..return;.}.}.
27800 0a 69 66 20 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 .if.($initialClone).{.$this->fil
27820 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 6f 72 69 67 43 77 esystem->removeDirectory($origCw
27840 64 29 3b 0a 7d 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 d);.}.$this->throwException('Fai
27860 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 74 68 69 73 2d 3e 73 61 6e 69 74 69 led.to.execute.'...$this->saniti
27880 7a 65 55 72 6c 28 24 63 6f 6d 6d 61 6e 64 29 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 zeUrl($command)..."\n\n"...$this
278a0 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 2c 20 24 75 72 ->process->getErrorOutput(),.$ur
278c0 6c 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 74 68 72 6f l);.}.}..protected.function.thro
278e0 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 69 66 20 wException($message,.$url).{.if.
27900 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 27 (0.!==.$this->process->execute('
27920 67 69 74 20 2d 2d 76 65 72 73 69 6f 6e 27 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 29 29 git.--version',.$ignoredOutput))
27940 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('
27960 46 61 69 6c 65 64 20 74 6f 20 63 6c 6f 6e 65 20 27 2e 24 74 68 69 73 2d 3e 73 61 6e 69 74 69 7a Failed.to.clone.'.$this->sanitiz
27980 65 55 72 6c 28 24 75 72 6c 29 2e 27 2c 20 67 69 74 20 77 61 73 20 6e 6f 74 20 66 6f 75 6e 64 2c eUrl($url).',.git.was.not.found,
279a0 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 6e 64 20 .check.that.it.is.installed.and.
279c0 69 6e 20 79 6f 75 72 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 in.your.PATH.env.'..."\n\n"...$t
279e0 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 29 3b his->process->getErrorOutput());
27a00 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 74 69 6f 6e 28 .}..throw.new.\RuntimeException(
27a20 24 6d 65 73 73 61 67 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 $message);.}..protected.function
27a40 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 72 6e 20 .sanitizeUrl($message).{.return.
27a60 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 3a 2f 2f 28 2e 2b 3f 29 3a 2e 2b 3f 40 7d 27 2c 20 preg_replace('{://(.+?):.+?@}',.
27a80 27 3a 2f 2f 24 31 3a 2a 2a 2a 40 27 2c 20 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 70 72 6f 74 '://$1:***@',.$message);.}..prot
27aa0 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 50 61 63 6b 61 67 ected.function.setPushUrl(Packag
27ac0 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 0a 0a 20 eInterface.$package,.$path).{...
27ae0 69 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 if.(preg_match('{^(?:https?|git)
27b00 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 28 5b 5e 2f 5d 2b 29 2f 28 5b 5e 2f 5d 2b 3f 29 28 3f ://github.com/([^/]+)/([^/]+?)(?
27b20 3a 5c 2e 67 69 74 29 3f 24 7d 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 :\.git)?$}',.$package->getSource
27b40 55 72 6c 28 29 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 20 24 Url(),.$match)).{.$protocols.=.$
27b60 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 6f 63 this->config->get('github-protoc
27b80 6f 6c 73 27 29 3b 0a 24 70 75 73 68 55 72 6c 20 3d 20 27 67 69 74 40 67 69 74 68 75 62 2e 63 6f ols');.$pushUrl.=.'git@github.co
27ba0 6d 3a 27 2e 24 6d 61 74 63 68 5b 31 5d 2e 27 2f 27 2e 24 6d 61 74 63 68 5b 32 5d 2e 27 2e 67 69 m:'.$match[1].'/'.$match[2].'.gi
27bc0 74 27 3b 0a 69 66 20 28 24 70 72 6f 74 6f 63 6f 6c 73 5b 30 5d 20 21 3d 3d 20 27 67 69 74 27 29 t';.if.($protocols[0].!==.'git')
27be0 20 7b 0a 24 70 75 73 68 55 72 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f .{.$pushUrl.=.'https://github.co
27c00 6d 2f 27 2e 24 6d 61 74 63 68 5b 31 5d 2e 27 2f 27 2e 24 6d 61 74 63 68 5b 32 5d 2e 27 2e 67 69 m/'.$match[1].'/'.$match[2].'.gi
27c20 74 27 3b 0a 7d 0a 24 63 6d 64 20 3d 20 73 70 72 69 6e 74 66 28 27 67 69 74 20 72 65 6d 6f 74 65 t';.}.$cmd.=.sprintf('git.remote
27c40 20 73 65 74 2d 75 72 6c 20 2d 2d 70 75 73 68 20 6f 72 69 67 69 6e 20 25 73 27 2c 20 65 73 63 61 .set-url.--push.origin.%s',.esca
27c60 70 65 73 68 65 6c 6c 61 72 67 28 24 70 75 73 68 55 72 6c 29 29 3b 0a 24 74 68 69 73 2d 3e 70 72 peshellarg($pushUrl));.$this->pr
27c80 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
27ca0 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
27cc0 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
27ce0 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
27d00 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)
27d20 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
27d40 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
27d60 3a 20 25 25 73 22 27 2c 20 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 65 2c 20 24 74 6f 52 65 66 65 :.%%s"',.$fromReference,.$toRefe
27d80 72 65 6e 63 65 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 rence);..if.(0.!==.$this->proces
27da0 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 70 s->execute($command,.$output,.$p
27dc0 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 63 65 70 74 ath)).{.throw.new.\RuntimeExcept
27de0 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 24 63 6f 6d 6d ion('Failed.to.execute.'...$comm
27e00 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
27e20 65 74 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 24 6f 75 74 etErrorOutput());.}..return.$out
27e40 70 75 74 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 64 put;.}......protected.function.d
27e60 69 73 63 61 72 64 43 68 61 6e 67 65 73 28 24 70 61 74 68 29 0a 7b 0a 24 70 61 74 68 20 3d 20 24 iscardChanges($path).{.$path.=.$
27e80 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 66 20 28 this->normalizePath($path);.if.(
27ea0 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 27 67 0.!==.$this->process->execute('g
27ec0 69 74 20 72 65 73 65 74 20 2d 2d 68 61 72 64 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 it.reset.--hard',.$output,.$path
27ee0 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
27f00 28 22 43 6f 75 6c 64 20 6e 6f 74 20 72 65 73 65 74 20 63 68 61 6e 67 65 73 5c 6e 5c 6e 3a 22 2e ("Could.not.reset.changes\n\n:".
27f20 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()
27f40 29 3b 0a 7d 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 73 );.}.}......protected.function.s
27f60 74 61 73 68 43 68 61 6e 67 65 73 28 24 70 61 74 68 29 0a 7b 0a 24 70 61 74 68 20 3d 20 24 74 68 tashChanges($path).{.$path.=.$th
27f80 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 66 20 28 30 20 is->normalizePath($path);.if.(0.
27fa0 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 67 69 74 !==.$this->process->execute('git
27fc0 20 73 74 61 73 68 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 .stash',.$output,.$path)).{.thro
27fe0 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 64 20 6e w.new.\RuntimeException("Could.n
28000 6f 74 20 73 74 61 73 68 20 63 68 61 6e 67 65 73 5c 6e 5c 6e 3a 22 2e 24 74 68 69 73 2d 3e 70 72 ot.stash.changes\n\n:".$this->pr
28020 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 74 68 ocess->getErrorOutput());.}..$th
28040 69 73 2d 3e 68 61 73 53 74 61 73 68 65 64 43 68 61 6e 67 65 73 20 3d 20 74 72 75 65 3b 0a 7d 0a is->hasStashedChanges.=.true;.}.
28060 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 45 6e 76 28 29 0a 7b .protected.function.cleanEnv().{
28080 0a 24 75 74 69 6c 20 3d 20 6e 65 77 20 47 69 74 55 74 69 6c 3b 0a 24 75 74 69 6c 2d 3e 63 6c 65 .$util.=.new.GitUtil;.$util->cle
280a0 61 6e 45 6e 76 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 6e anEnv();.}..protected.function.n
280c0 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 64 65 66 69 6e 65 ormalizePath($path).{.if.(define
280e0 64 28 27 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 27 29 20 26 d('PHP_WINDOWS_VERSION_MAJOR').&
28100 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 50 61 74 68 &.strlen($path).>.0).{.$basePath
28120 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 3b 0a 0a 77 .=.$path;.$removed.=.array();..w
28140 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 24 62 61 73 hile.(!is_dir($basePath).&&.$bas
28160 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 69 66 74 28 ePath.!==.'\\').{.array_unshift(
28180 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 29 29 3b 0a $removed,.basename($basePath));.
281a0 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 68 29 3b 0a $basePath.=.dirname($basePath);.
281c0 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 0a 72 65 74 }..if.($basePath.===.'\\').{.ret
281e0 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 72 65 61 6c urn.$path;.}..$path.=.rtrim(real
28200 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 6f 64 65 28 path($basePath)...'/'...implode(
28220 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 75 72 6e 20 '/',.$removed),.'/');.}..return.
28240 24 70 61 74 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 61 6d 65 $path;.}.}.<?php............name
28260 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 0a 0a 0a 0a space.Composer\Repository;......
28280 0a 63 6c 61 73 73 20 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 .class.InvalidRepositoryExceptio
282a0 6e 20 65 78 74 65 6e 64 73 20 5c 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a n.extends.\Exception.{.}.<?php..
282c0 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
282e0 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 41 ository;..use.Composer\Package\A
28300 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 50 61 63 6b 61 67 liasPackage;.use.Composer\Packag
28320 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 6f 73 65 72 e\PackageInterface;.use.Composer
28340 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 63 \Package\CompletePackageInterfac
28360 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 72 73 69 6f 6e 5c e;.use.Composer\Package\Version\
28380 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 72 72 61 79 VersionParser;.......class.Array
283a0 52 65 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 Repository.implements.Repository
283c0 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 61 63 6b 61 67 65 73 3b Interface.{.protected.$packages;
283e0 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 72 ..public.function.__construct(ar
28400 72 61 79 20 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 66 6f 72 65 61 ray.$packages.=.array()).{.forea
28420 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 24 74 68 ch.($packages.as.$package).{.$th
28440 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 7d 0a 0a 0a is->addPackage($package);.}.}...
28460 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 28 24 6e ..public.function.findPackage($n
28480 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 29 0a 7b 0a 0a 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 ame,.$version).{...$versionParse
284a0 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 76 65 72 73 69 6f r.=.new.VersionParser();.$versio
284c0 6e 20 3d 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 n.=.$versionParser->normalize($v
284e0 65 72 73 69 6f 6e 29 3b 0a 24 6e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d ersion);.$name.=.strtolower($nam
28500 65 29 3b 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 e);..foreach.($this->getPackages
28520 28 29 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 3d 3d 20 ().as.$package).{.if.($name.===.
28540 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 26 26 20 24 76 65 72 73 69 6f 6e 20 $package->getName().&&.$version.
28560 3d 3d 3d 20 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 72 65 ===.$package->getVersion()).{.re
28580 74 75 72 6e 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 turn.$package;.}.}.}.....public.
285a0 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 76 65 function.findPackages($name,.$ve
285c0 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 24 6e 61 6d 65 20 3d 20 73 74 72 74 6f 6c rsion.=.null).{...$name.=.strtol
285e0 6f 77 65 72 28 24 6e 61 6d 65 29 3b 0a 0a 0a 20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 76 65 ower($name);....if.(null.!==.$ve
28600 72 73 69 6f 6e 29 20 7b 0a 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 rsion).{.$versionParser.=.new.Ve
28620 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 76 65 72 73 69 rsionParser();.$version.=.$versi
28640 6f 6e 50 61 72 73 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 onParser->normalize($version);.}
28660 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 65 61 63 68 20 ..$packages.=.array();..foreach.
28680 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 67 ($this->getPackages().as.$packag
286a0 65 29 20 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3d 3d e).{.if.($package->getName().===
286c0 20 24 6e 61 6d 65 20 26 26 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 76 65 72 73 69 6f 6e 20 7c 7c 20 .$name.&&.(null.===.$version.||.
286e0 24 76 65 72 73 69 6f 6e 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f $version.===.$package->getVersio
28700 6e 28 29 29 29 20 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 n())).{.$packages[].=.$package;.
28720 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 0a 0a 0a 0a 70 75 62 }.}..return.$packages;.}.....pub
28740 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 64 lic.function.search($query,.$mod
28760 65 20 3d 20 30 29 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 e.=.0).{.$regex.=.'{(?:'.implode
28780 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
287a0 29 29 2e 27 29 7d 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 )).')}i';..$matches.=.array();.f
287c0 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.
287e0 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 65 2d 3e 67 65 $package).{.$name.=.$package->ge
28800 74 4e 61 6d 65 28 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 tName();.if.(isset($matches[$nam
28820 65 5d 29 29 20 7b 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 e])).{.continue;.}.if.(preg_matc
28840 68 28 24 72 65 67 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 h($regex,.$name).||.($mode.===.s
28860 65 6c 66 3a 3a 53 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 elf::SEARCH_FULLTEXT.&&.$package
28880 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
288a0 66 61 63 65 20 26 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 face.&&.preg_match($regex,.implo
288c0 64 65 28 27 20 27 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 de('.',.(array).$package->getKey
288e0 77 6f 72 64 73 28 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 words())...'.'...$package->getDe
28900 73 63 72 69 70 74 69 6f 6e 28 29 29 29 0a 29 20 7b 0a 24 6d 61 74 63 68 65 73 5b 24 6e 61 6d 65 scription())).).{.$matches[$name
28920 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 6b 61 67 65 2d 3e 67 ].=.array(.'name'.=>.$package->g
28940 65 74 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 etPrettyName(),.'description'.=>
28960 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 28 29 2c 0a 29 3b 0a .$package->getDescription(),.);.
28980 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c }.}..return.$matches;.}.....publ
289a0 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 6e ic.function.hasPackage(PackageIn
289c0 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 20 3d terface.$package).{.$packageId.=
289e0 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 6f 72 .$package->getUniqueName();..for
28a00 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 72 each.($this->getPackages().as.$r
28a20 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 3d 3d epoPackage).{.if.($packageId.===
28a40 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 29 20 .$repoPackage->getUniqueName()).
28a60 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 73 65 {.return.true;.}.}..return.false
28a80 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 61 63 ;.}.......public.function.addPac
28aa0 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 0a kage(PackageInterface.$package).
28ac0 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 29 20 {.if.(null.===.$this->packages).
28ae0 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 61 67 {.$this->initialize();.}.$packag
28b00 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 2d 3e e->setRepository($this);.$this->
28b20 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 61 63 packages[].=.$package;..if.($pac
28b40 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 7b 0a kage.instanceof.AliasPackage).{.
28b60 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 74 41 $aliasedPackage.=.$package->getA
28b80 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 64 50 liasOf();.if.(null.===.$aliasedP
28ba0 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 69 73 ackage->getRepository()).{.$this
28bc0 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 0a 7d ->addPackage($aliasedPackage);.}
28be0 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 65 41 .}.}..protected.function.createA
28c00 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 70 61 liasPackage(PackageInterface.$pa
28c20 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 0a 72 ckage,.$alias,.$prettyAlias).{.r
28c40 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 65 20 eturn.new.AliasPackage($package.
28c60 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 6b 61 instanceof.AliasPackage.?.$packa
28c80 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 61 6c ge->getAliasOf().:.$package,.$al
28ca0 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 62 6c ias,.$prettyAlias);.}.......publ
28cc0 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 61 67 ic.function.removePackage(Packag
28ce0 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 65 49 eInterface.$package).{.$packageI
28d00 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 0a 0a d.=.$package->getUniqueName();..
28d20 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 61 73 foreach.($this->getPackages().as
28d40 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 70 61 .$key.=>.$repoPackage).{.if.($pa
28d60 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 6e 69 ckageId.===.$repoPackage->getUni
28d80 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 73 2d queName()).{.array_splice($this-
28da0 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 7d 0a >packages,.$key,.1);..return;.}.
28dc0 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 6b 61 }.}.....public.function.getPacka
28de0 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 63 6b ges().{.if.(null.===.$this->pack
28e00 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 0a 0a ages).{.$this->initialize();.}..
28e20 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 0a 0a return.$this->packages;.}.......
28e40 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
28e60 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 0a 70 .count($this->packages);.}.....p
28e80 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 0a 7b rotected.function.initialize().{
28ea0 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 7d 0a .$this->packages.=.array();.}.}.
28ec0 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
28ee0 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
28f00 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
28f20 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
28f40 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;..
28f60 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
28f80 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
28fa0 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
28fc0 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
28fe0 70 6f 73 69 74 6f 72 79 46 69 6c 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 20 3d 20 24 72 positoryFile).{.$this->file.=.$r
29000 65 70 6f 73 69 74 6f 72 79 46 69 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 epositoryFile;.}.....protected.f
29020 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
29040 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e nitialize();..if.(!$this->file->
29060 65 78 69 73 74 73 28 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 70 61 exists()).{.return;.}..try.{.$pa
29080 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 72 65 61 64 28 29 3b 0a 0a 69 ckages.=.$this->file->read();..i
290a0 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 72 6f 77 f.(!is_array($packages)).{.throw
290c0 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 27 .new.\UnexpectedValueException('
290e0 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 66 72 6f Could.not.parse.package.list.fro
29100 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 20 28 5c m.the.repository');.}.}.catch.(\
29120 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 61 6c 69 Exception.$e).{.throw.new.Invali
29140 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 20 72 65 dRepositoryException('Invalid.re
29160 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 65 2d 3e pository.data.in.'.$this->file->
29180 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 6f 74 20 getPath().',.packages.could.not.
291a0 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 5d 20 27 be.loaded:.['.get_class($e).'].'
291c0 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 72 20 3d .$e->getMessage());.}..$loader.=
291e0 20 6e 65 77 20 41 72 72 61 79 4c 6f 61 64 65 72 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 .new.ArrayLoader();.foreach.($pa
29200 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 44 61 74 61 29 20 7b 0a 24 70 61 63 6b 61 ckages.as.$packageData).{.$packa
29220 67 65 20 3d 20 24 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 70 61 63 6b 61 67 65 44 61 74 61 29 ge.=.$loader->load($packageData)
29240 3b 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 ;.$this->addPackage($package);.}
29260 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6c 6f 61 64 28 29 0a 7b 0a 24 .}..public.function.reload().{.$
29280 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 20 3d 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 69 6e this->packages.=.null;.$this->in
292a0 69 74 69 61 6c 69 7a 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 itialize();.}.....public.functio
292c0 6e 20 77 72 69 74 65 28 29 0a 7b 0a 24 64 61 74 61 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 64 75 n.write().{.$data.=.array();.$du
292e0 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 0a 66 6f 72 65 61 mper.=.new.ArrayDumper();..forea
29300 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 43 61 6e 6f 6e 69 63 61 6c 50 61 63 6b 61 67 65 73 28 ch.($this->getCanonicalPackages(
29320 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 64 61 74 61 5b 5d 20 3d 20 24 64 75 6d 70 ).as.$package).{.$data[].=.$dump
29340 65 72 2d 3e 64 75 6d 70 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 69 er->dump($package);.}..$this->fi
29360 6c 65 2d 3e 77 72 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 le->write($data);.}.}.<?php.....
29380 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
293a0 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 50 61 63 6b tory;..use.Composer\Package\Pack
293c0 61 67 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 57 72 ageInterface;.......interface.Wr
293e0 69 74 61 62 6c 65 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 itableRepositoryInterface.extend
29400 73 20 52 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 s.RepositoryInterface.{....publi
29420 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 c.function.write();.......public
29440 20 66 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 .function.addPackage(PackageInte
29460 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 rface.$package);.......public.fu
29480 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 61 67 65 49 6e 74 65 nction.removePackage(PackageInte
294a0 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 rface.$package);.......public.fu
294c0 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 3b 0a 0a nction.getCanonicalPackages();..
294e0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6c 6f 61 64 28 29 3b 0a 7d 0a 3c ...public.function.reload();.}.<
29500 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
29520 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 4f 5c er\Repository;..use.Composer\IO\
29540 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 6b 61 67 IOInterface;.use.Composer\Packag
29560 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 6d e\Version\VersionParser;.use.Com
29580 70 6f 73 65 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 poser\Repository\Pear\ChannelRea
295a0 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 43 6f 6d 70 6c 65 der;.use.Composer\Package\Comple
295c0 74 65 50 61 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 tePackage;.use.Composer\Reposito
295e0 72 79 5c 50 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 ry\Pear\ChannelInfo;.use.Compose
29600 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 73 65 72 5c 50 61 63 r\Package\Link;.use.Composer\Pac
29620 6b 61 67 65 5c 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 5c 56 65 72 73 69 6f 6e 43 6f 6e 73 74 kage\LinkConstraint\VersionConst
29640 72 61 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 raint;.use.Composer\Util\RemoteF
29660 69 6c 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 ilesystem;.use.Composer\Config;.
29680 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 65 61 72 52 65 70 6f 73 69 74 6f 72 79 20 65 ..........class.PearRepository.e
296a0 78 74 65 6e 64 73 20 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 0a 7b 0a 70 72 69 76 61 74 65 xtends.ArrayRepository.{.private
296c0 20 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 .$url;.private.$io;.private.$rfs
296e0 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 0a 0a 0a 0a 70 72 ;.private.$versionParser;.....pr
29700 69 76 61 74 65 20 24 76 65 6e 64 6f 72 41 6c 69 61 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ivate.$vendorAlias;..public.func
29720 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 70 6f 43 6f 6e 66 tion.__construct(array.$repoConf
29740 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 67 20 24 63 6f 6e ig,.IOInterface.$io,.Config.$con
29760 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 20 3d 20 6e 75 6c fig,.RemoteFilesystem.$rfs.=.nul
29780 6c 29 0a 7b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3f 3a 2f l).{.if.(!preg_match('{^https?:/
297a0 2f 7d 27 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 24 72 65 70 /}',.$repoConfig['url'])).{.$rep
297c0 6f 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 oConfig['url'].=.'http://'.$repo
297e0 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 3b 0a 7d 0a 0a 24 75 72 6c 42 69 74 73 20 3d 20 70 61 72 Config['url'];.}..$urlBits.=.par
29800 73 65 5f 75 72 6c 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 29 3b 0a 69 66 20 28 se_url($repoConfig['url']);.if.(
29820 65 6d 70 74 79 28 24 75 72 6c 42 69 74 73 5b 27 73 63 68 65 6d 65 27 5d 29 20 7c 7c 20 65 6d 70 empty($urlBits['scheme']).||.emp
29840 74 79 28 24 75 72 6c 42 69 74 73 5b 27 68 6f 73 74 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 ty($urlBits['host'])).{.throw.ne
29860 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 49 6e 76 w.\UnexpectedValueException('Inv
29880 61 6c 69 64 20 75 72 6c 20 67 69 76 65 6e 20 66 6f 72 20 50 45 41 52 20 72 65 70 6f 73 69 74 6f alid.url.given.for.PEAR.reposito
298a0 72 79 3a 20 27 2e 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 29 3b 0a 7d 0a 0a 24 74 ry:.'.$repoConfig['url']);.}..$t
298c0 68 69 73 2d 3e 75 72 6c 20 3d 20 72 74 72 69 6d 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 his->url.=.rtrim($repoConfig['ur
298e0 6c 27 5d 2c 20 27 2f 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 l'],.'/');.$this->io.=.$io;.$thi
29900 73 2d 3e 72 66 73 20 3d 20 24 72 66 73 20 3f 3a 20 6e 65 77 20 52 65 6d 6f 74 65 46 69 6c 65 73 s->rfs.=.$rfs.?:.new.RemoteFiles
29920 79 73 74 65 6d 28 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 24 74 68 69 73 2d 3e 76 65 6e 64 6f 72 41 ystem($this->io);.$this->vendorA
29940 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 64 6f 72 lias.=.isset($repoConfig['vendor
29960 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 6f 72 2d -alias']).?.$repoConfig['vendor-
29980 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 6e 50 61 alias'].:.null;.$this->versionPa
299a0 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 70 rser.=.new.VersionParser();.}..p
299c0 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 0a 7b rotected.function.initialize().{
299e0 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 2d 3e 69 .parent::initialize();..$this->i
29a00 6f 2d 3e 77 72 69 74 65 28 27 49 6e 69 74 69 61 6c 69 7a 69 6e 67 20 50 45 41 52 20 72 65 70 6f o->write('Initializing.PEAR.repo
29a20 73 69 74 6f 72 79 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 0a 24 72 65 61 64 65 72 20 3d sitory.'.$this->url);..$reader.=
29a40 20 6e 65 77 20 43 68 61 6e 6e 65 6c 52 65 61 64 65 72 28 24 74 68 69 73 2d 3e 72 66 73 29 3b 0a .new.ChannelReader($this->rfs);.
29a60 74 72 79 20 7b 0a 24 63 68 61 6e 6e 65 6c 49 6e 66 6f 20 3d 20 24 72 65 61 64 65 72 2d 3e 72 65 try.{.$channelInfo.=.$reader->re
29a80 61 64 28 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 ad($this->url);.}.catch.(\Except
29aa0 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 28 27 3c 77 61 72 ion.$e).{.$this->io->write('<war
29ac0 6e 69 6e 67 3e 50 45 41 52 20 72 65 70 6f 73 69 74 6f 72 79 20 66 72 6f 6d 20 27 2e 24 74 68 69 ning>PEAR.repository.from.'.$thi
29ae0 73 2d 3e 75 72 6c 2e 27 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 6c 6f 61 64 65 64 2e 20 27 2e s->url.'.could.not.be.loaded..'.
29b00 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 67 3e 27 29 3b 0a $e->getMessage().'</warning>');.
29b20 0a 72 65 74 75 72 6e 3b 0a 7d 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 62 75 .return;.}.$packages.=.$this->bu
29b40 69 6c 64 43 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 73 28 24 63 68 61 6e 6e 65 6c 49 6e 66 6f ildComposerPackages($channelInfo
29b60 2c 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 29 3b 0a 66 6f 72 65 61 63 68 ,.$this->versionParser);.foreach
29b80 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 74 68 69 73 .($packages.as.$package).{.$this
29ba0 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 7d 0a 0a 0a 0a 0a ->addPackage($package);.}.}.....
29bc0 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 43 6f 6d 70 6f 73 ....private.function.buildCompos
29be0 65 72 50 61 63 6b 61 67 65 73 28 43 68 61 6e 6e 65 6c 49 6e 66 6f 20 24 63 68 61 6e 6e 65 6c 49 erPackages(ChannelInfo.$channelI
29c00 6e 66 6f 2c 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 nfo,.VersionParser.$versionParse
29c20 72 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 r).{.$result.=.array();.foreach.
29c40 28 24 63 68 61 6e 6e 65 6c 49 6e 66 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 ($channelInfo->getPackages().as.
29c60 24 70 61 63 6b 61 67 65 44 65 66 69 6e 69 74 69 6f 6e 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 $packageDefinition).{.foreach.($
29c80 70 61 63 6b 61 67 65 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 52 65 6c 65 61 73 65 73 28 29 packageDefinition->getReleases()
29ca0 20 61 73 20 24 76 65 72 73 69 6f 6e 20 3d 3e 20 24 72 65 6c 65 61 73 65 49 6e 66 6f 29 20 7b 0a .as.$version.=>.$releaseInfo).{.
29cc0 74 72 79 20 7b 0a 24 6e 6f 72 6d 61 6c 69 7a 65 64 56 65 72 73 69 6f 6e 20 3d 20 24 76 65 72 73 try.{.$normalizedVersion.=.$vers
29ce0 69 6f 6e 50 61 72 73 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 ionParser->normalize($version);.
29d00 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 69 }.catch.(\UnexpectedValueExcepti
29d20 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 56 65 72 62 6f 73 on.$e).{.if.($this->io->isVerbos
29d40 65 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 43 6f 75 6c 64 20 6e e()).{.$this->io->write('Could.n
29d60 6f 74 20 6c 6f 61 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 ot.load.'.$packageDefinition->ge
29d80 74 50 61 63 6b 61 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 tPackageName().'.'.$version.':.'
29da0 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 7d 0a 63 6f 6e 74 69 6e 75 65 3b 0a .$e->getMessage());.}.continue;.
29dc0 7d 0a 0a 24 63 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d }..$composerPackageName.=.$this-
29de0 3e 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 70 61 63 6b 61 >buildComposerPackageName($packa
29e00 67 65 44 65 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 2c 20 geDefinition->getChannelName(),.
29e20 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 61 $packageDefinition->getPackageNa
29e40 6d 65 28 29 29 3b 0a 0a 0a 20 0a 20 24 75 72 6c 42 69 74 73 20 3d 20 70 61 72 73 65 5f 75 72 6c me());......$urlBits.=.parse_url
29e60 28 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 24 73 63 68 65 6d 65 20 3d 20 28 69 73 73 65 74 28 24 ($this->url);.$scheme.=.(isset($
29e80 75 72 6c 42 69 74 73 5b 27 73 63 68 65 6d 65 27 5d 29 20 26 26 20 27 68 74 74 70 73 27 20 3d 3d urlBits['scheme']).&&.'https'.==
29ea0 3d 20 24 75 72 6c 42 69 74 73 5b 27 73 63 68 65 6d 65 27 5d 20 26 26 20 65 78 74 65 6e 73 69 6f =.$urlBits['scheme'].&&.extensio
29ec0 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 29 20 3f 20 27 68 74 74 70 73 27 20 3a n_loaded('openssl')).?.'https'.:
29ee0 20 27 68 74 74 70 27 3b 0a 24 64 69 73 74 55 72 6c 20 3d 20 22 7b 24 73 63 68 65 6d 65 7d 3a 2f .'http';.$distUrl.=."{$scheme}:/
29f00 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 43 68 61 6e 6e 65 6c /{$packageDefinition->getChannel
29f20 4e 61 6d 65 28 29 7d 2f 67 65 74 2f 7b 24 70 61 63 6b 61 67 65 44 65 66 69 6e 69 74 69 6f 6e 2d Name()}/get/{$packageDefinition-
29f40 3e 67 65 74 50 61 63 6b 61 67 65 4e 61 6d 65 28 29 7d 2d 7b 24 76 65 72 73 69 6f 6e 7d 2e 74 67 >getPackageName()}-{$version}.tg
29f60 7a 22 3b 0a 0a 24 72 65 71 75 69 72 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 73 75 67 67 65 z";..$requires.=.array();.$sugge
29f80 73 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 63 6f 6e 66 6c 69 63 74 73 20 3d 20 61 72 72 61 sts.=.array();.$conflicts.=.arra
29fa0 79 28 29 3b 0a 24 72 65 70 6c 61 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 0a 20 69 y();.$replaces.=.array();......i
29fc0 66 20 28 24 63 68 61 6e 6e 65 6c 49 6e 66 6f 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3d 20 24 70 f.($channelInfo->getName().==.$p
29fe0 61 63 6b 61 67 65 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 43 68 61 6e 6e 65 6c 4e 61 6d 65 ackageDefinition->getChannelName
2a000 28 29 29 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 41 6c 69 61 73 20 3d 20 24 74 ()).{.$composerPackageAlias.=.$t
2a020 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 4e 61 6d 65 28 24 63 his->buildComposerPackageName($c
2a040 68 61 6e 6e 65 6c 49 6e 66 6f 2d 3e 67 65 74 41 6c 69 61 73 28 29 2c 20 24 70 61 63 6b 61 67 65 hannelInfo->getAlias(),.$package
2a060 44 65 66 69 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 24 Definition->getPackageName());.$
2a080 61 6c 69 61 73 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 43 6f 6e aliasConstraint.=.new.VersionCon
2a0a0 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 65 72 73 69 6f 6e straint('==',.$normalizedVersion
2a0c0 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 24 63 6f 6d 70 6f );.$replaces[].=.new.Link($compo
2a0e0 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 61 63 6b 61 67 65 serPackageName,.$composerPackage
2a100 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 72 65 70 6c 61 63 Alias,.$aliasConstraint,.'replac
2a120 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 61 69 6e 74 29 3b es',.(string).$aliasConstraint);
2a140 0a 7d 0a 0a 0a 20 69 66 20 28 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 76 65 6e 64 6f 72 41 6c .}....if.(!empty($this->vendorAl
2a160 69 61 73 29 0a 26 26 20 28 24 74 68 69 73 2d 3e 76 65 6e 64 6f 72 41 6c 69 61 73 20 21 3d 20 27 ias).&&.($this->vendorAlias.!=.'
2a180 70 65 61 72 2d 27 2e 24 63 68 61 6e 6e 65 6c 49 6e 66 6f 2d 3e 67 65 74 41 6c 69 61 73 28 29 20 pear-'.$channelInfo->getAlias().
2a1a0 7c 7c 20 24 63 68 61 6e 6e 65 6c 49 6e 66 6f 2d 3e 67 65 74 4e 61 6d 65 28 29 20 21 3d 20 24 70 ||.$channelInfo->getName().!=.$p
2a1c0 61 63 6b 61 67 65 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 43 68 61 6e 6e 65 6c 4e 61 6d 65 ackageDefinition->getChannelName
2a1e0 28 29 29 0a 29 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 41 6c 69 61 73 20 3d 20 ()).).{.$composerPackageAlias.=.
2a200 22 7b 24 74 68 69 73 2d 3e 76 65 6e 64 6f 72 41 6c 69 61 73 7d 2f 7b 24 70 61 63 6b 61 67 65 44 "{$this->vendorAlias}/{$packageD
2a220 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 4e 61 6d 65 28 29 7d 22 3b 0a 24 efinition->getPackageName()}";.$
2a240 61 6c 69 61 73 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 43 6f 6e aliasConstraint.=.new.VersionCon
2a260 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 65 72 73 69 6f 6e straint('==',.$normalizedVersion
2a280 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 24 63 6f 6d 70 6f );.$replaces[].=.new.Link($compo
2a2a0 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 61 63 6b 61 67 65 serPackageName,.$composerPackage
2a2c0 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 72 65 70 6c 61 63 Alias,.$aliasConstraint,.'replac
2a2e0 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 61 69 6e 74 29 3b es',.(string).$aliasConstraint);
2a300 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 3e 67 65 74 44 65 .}..foreach.($releaseInfo->getDe
2a320 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 73 28 29 20 61 73 pendencyInfo()->getRequires().as
2a340 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 24 64 65 70 65 6e .$dependencyConstraint).{.$depen
2a360 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 62 75 69 6c 64 43 dencyPackageName.=.$this->buildC
2a380 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 65 6e 63 79 43 6f omposerPackageName($dependencyCo
2a3a0 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 2c 20 24 64 65 70 nstraint->getChannelName(),.$dep
2a3c0 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 61 67 65 4e 61 6d endencyConstraint->getPackageNam
2a3e0 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 6f 6e 50 61 72 73 e());.$constraint.=.$versionPars
2a400 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 6e 64 65 6e 63 79 er->parseConstraints($dependency
2a420 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 29 29 3b 0a 24 6c Constraint->getConstraint());.$l
2a440 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 63 6b 61 67 65 4e ink.=.new.Link($composerPackageN
2a460 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 65 2c 20 24 63 6f ame,.$dependencyPackageName,.$co
2a480 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 72 61 69 6e 74 2d nstraint,.$dependencyConstraint-
2a4a0 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 73 74 72 61 69 6e >getType(),.$dependencyConstrain
2a4c0 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 68 20 28 24 64 65 t->getConstraint());.switch.($de
2a4e0 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 65 28 29 29 20 7b pendencyConstraint->getType()).{
2a500 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 73 5b 5d 20 3d 20 .case.'required':.$requires[].=.
2a520 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 63 74 73 27 3a 0a $link;.break;.case.'conflicts':.
2a540 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 6b 3b 0a 63 61 73 $conflicts[].=.$link;.break;.cas
2a560 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 3d 20 24 6c 69 6e e.'replaces':.$replaces[].=.$lin
2a580 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 65 6c 65 61 73 65 k;.break;.}.}..foreach.($release
2a5a0 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 3e 67 65 74 4f 70 Info->getDependencyInfo()->getOp
2a5c0 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 70 65 6e 64 65 6e tionals().as.$group.=>.$dependen
2a5e0 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 24 64 65 70 65 6e cyConstraints).{.foreach.($depen
2a600 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 64 65 6e 63 79 43 dencyConstraints.as.$dependencyC
2a620 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 63 6b 61 67 65 4e onstraint).{.$dependencyPackageN
2a640 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 50 61 63 6b 61 67 ame.=.$this->buildComposerPackag
2a660 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 74 2d 3e 67 65 74 eName($dependencyConstraint->get
2a680 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 43 6f 6e 73 74 72 ChannelName(),.$dependencyConstr
2a6a0 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 73 75 67 67 65 73 aint->getPackageName());.$sugges
2a6c0 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 61 63 6b 61 67 65 ts[$group.'-'.$dependencyPackage
2a6e0 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 69 6e 74 2d 3e 67 Name].=.$dependencyConstraint->g
2a700 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 61 67 65 20 3d 20 etConstraint();.}.}..$package.=.
2a720 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 73 65 72 50 61 63 new.CompletePackage($composerPac
2a740 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 6f 6e 2c 20 24 76 kageName,.$normalizedVersion,.$v
2a760 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 28 27 70 65 61 72 ersion);.$package->setType('pear
2a780 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 65 73 63 72 69 70 -library');.$package->setDescrip
2a7a0 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 65 74 44 65 73 63 tion($packageDefinition->getDesc
2a7c0 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 44 69 73 74 54 79 70 ription());.$package->setDistTyp
2a7e0 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 74 55 72 6c 28 e('file');.$package->setDistUrl(
2a800 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 6f 6c 6f 61 64 $distUrl);.$package->setAutoload
2a820 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 27 27 29 29 29 (array('classmap'.=>.array('')))
2a840 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 28 61 72 72 61 ;.$package->setIncludePaths(arra
2a860 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 72 65 73 28 24 y('/'));.$package->setRequires($
2a880 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 66 6c 69 63 74 requires);.$package->setConflict
2a8a0 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 74 53 75 67 67 s($conflicts);.$package->setSugg
2a8c0 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 73 65 74 52 65 ests($suggests);.$package->setRe
2a8e0 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 5d 20 3d 20 24 places($replaces);.$result[].=.$
2a900 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 74 3b 0a 7d 0a package;.}.}..return.$result;.}.
2a920 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 6f 73 65 72 50 .private.function.buildComposerP
2a940 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 61 63 6b 61 67 ackageName($channelName,.$packag
2a960 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 6e 6e 65 6c 4e eName).{.if.('php'.===.$channelN
2a980 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 27 65 78 74 27 ame).{.return."php";.}.if.('ext'
2a9a0 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 20 22 65 78 74 .===.$channelName).{.return."ext
2a9c0 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 20 22 70 65 61 -{$packageName}";.}..return."pea
2a9e0 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 61 6d 65 7d 22 r-{$channelName}/{$packageName}"
2aa00 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
2aa20 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 43 6f 6d 70 6f .Composer\Repository;..use.Compo
2aa40 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
2aa60 5c 43 6f 6e 66 69 67 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 \Config;.........class.Repositor
2aa80 79 4d 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 yManager.{.private.$localReposit
2aaa0 6f 72 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 ory;.private.$repositories.=.arr
2aac0 61 79 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 ay();.private.$repositoryClasses
2aae0 20 3d 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 .=.array();.private.$io;.private
2ab00 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 20 5f 5f 63 6f 6e .$config;..public.function.__con
2ab20 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.$
2ab40 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 0a 24 74 68 69 73 config).{.$this->io.=.$io;.$this
2ab60 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 0a 0a 0a 0a 0a 70 ->config.=.$config;.}..........p
2ab80 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 28 24 6e 61 6d 65 ublic.function.findPackage($name
2aba0 2c 20 24 76 65 72 73 69 6f 6e 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 72 65 ,.$version).{.foreach.($this->re
2abc0 70 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 69 66 20 positories.as.$repository).{.if.
2abe0 28 24 70 61 63 6b 61 67 65 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e 66 69 6e 64 50 61 63 ($package.=.$repository->findPac
2ac00 6b 61 67 65 28 24 6e 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 29 29 20 7b 0a 72 65 74 75 72 6e 20 kage($name,.$version)).{.return.
2ac20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 $package;.}.}.}..........public.
2ac40 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 76 65 function.findPackages($name,.$ve
2ac60 72 73 69 6f 6e 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 rsion).{.$packages.=.array();..f
2ac80 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 61 73 20 24 oreach.($this->repositories.as.$
2aca0 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 5f repository).{.$packages.=.array_
2acc0 6d 65 72 67 65 28 24 70 61 63 6b 61 67 65 73 2c 20 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e 66 69 merge($packages,.$repository->fi
2ace0 6e 64 50 61 63 6b 61 67 65 73 28 24 6e 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 29 29 3b 0a 7d 0a ndPackages($name,.$version));.}.
2ad00 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 .return.$packages;.}.......publi
2ad20 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 52 65 70 6f 73 69 74 c.function.addRepository(Reposit
2ad40 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 24 74 68 69 oryInterface.$repository).{.$thi
2ad60 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 5b 5d 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 3b s->repositories[].=.$repository;
2ad80 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 63 72 65 61 .}..........public.function.crea
2ada0 74 65 52 65 70 6f 73 69 74 6f 72 79 28 24 74 79 70 65 2c 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 69 teRepository($type,.$config).{.i
2adc0 66 20 28 21 69 73 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 f.(!isset($this->repositoryClass
2ade0 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 49 6e 76 61 6c 69 64 es[$type])).{.throw.new.\Invalid
2ae00 41 72 67 75 6d 65 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 ArgumentException('Repository.ty
2ae20 70 65 20 69 73 20 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 pe.is.not.registered:.'.$type);.
2ae40 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 6f 72 79 43 6c 61 }..$class.=.$this->repositoryCla
2ae60 73 73 65 73 5b 24 74 79 70 65 5d 3b 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 24 63 6c 61 73 73 28 sses[$type];..return.new.$class(
2ae80 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 6f 6e 66 69 $config,.$this->io,.$this->confi
2aea0 67 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 73 65 74 g);.}........public.function.set
2aec0 52 65 70 6f 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 RepositoryClass($type,.$class).{
2aee0 0a 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 70 65 5d .$this->repositoryClasses[$type]
2af00 20 3d 20 24 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 .=.$class;.}.......public.functi
2af20 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
2af40 68 69 73 2d 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 his->repositories;.}.......publi
2af60 63 20 66 75 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 c.function.setLocalRepository(Wr
2af80 69 74 61 62 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 itableRepositoryInterface.$repos
2afa0 69 74 6f 72 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 itory).{.$this->localRepository.
2afc0 3d 20 24 72 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 =.$repository;.}.......public.fu
2afe0 6e 63 74 69 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 nction.getLocalRepository().{.re
2b000 74 75 72 6e 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 0a turn.$this->localRepository;.}..
2b020 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 6f 63 61 6c 52 65 ......public.function.getLocalRe
2b040 70 6f 73 69 74 6f 72 69 65 73 28 29 0a 7b 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 positories().{.trigger_error('Th
2b060 69 73 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 2c 20 75 73 65 20 67 65 74 is.method.is.deprecated,.use.get
2b080 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 20 69 6e 73 74 65 61 64 20 73 69 6e 63 65 20 74 68 LocalRepository.instead.since.th
2b0a0 65 20 67 65 74 4c 6f 63 61 6c 44 65 76 52 65 70 6f 73 69 74 6f 72 79 20 69 73 20 6e 6f 77 20 67 e.getLocalDevRepository.is.now.g
2b0c0 6f 6e 65 27 2c 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 one',.E_USER_DEPRECATED);..retur
2b0e0 6e 20 61 72 72 61 79 28 24 74 68 69 73 2d 3e 6c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 29 3b n.array($this->localRepository);
2b100 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.
2b120 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 43 6f 6d 70 6f 73 Composer\Repository;..use.Compos
2b140 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 0a 0a 0a 0a 0a 0a 63 er\Package\AliasPackage;.......c
2b160 6c 61 73 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 20 65 78 74 lass.WritableArrayRepository.ext
2b180 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 20 ends.ArrayRepository.implements.
2b1a0 57 72 69 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 0a 0a WritableRepositoryInterface.{...
2b1c0 0a 70 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 7d 0a 0a 0a 0a .public.function.write().{.}....
2b1e0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6c 6f 61 64 28 29 0a 7b 0a 7d 0a 0a 0a .public.function.reload().{.}...
2b200 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 61 6e 6f 6e 69 63 61 6c 50 61 ..public.function.getCanonicalPa
2b220 63 6b 61 67 65 73 28 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 ckages().{.$packages.=.$this->ge
2b240 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 0a 0a 20 24 70 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 20 tPackages();....$packagesByName.
2b260 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 73 20 61 73 =.array();.foreach.($packages.as
2b280 20 24 70 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 .$package).{.if.(!isset($package
2b2a0 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 29 20 7c 7c sByName[$package->getName()]).||
2b2c0 20 24 70 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 .$packagesByName[$package->getNa
2b2e0 6d 65 28 29 5d 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 me()].instanceof.AliasPackage).{
2b300 0a 24 70 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 .$packagesByName[$package->getNa
2b320 6d 65 28 29 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 0a 24 63 61 6e 6f 6e 69 63 61 me()].=.$package;.}.}..$canonica
2b340 6c 50 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 lPackages.=.array();....foreach.
2b360 28 24 70 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a ($packagesByName.as.$package).{.
2b380 77 68 69 6c 65 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 while.($package.instanceof.Alias
2b3a0 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 61 67 65 2d 3e Package).{.$package.=.$package->
2b3c0 67 65 74 41 6c 69 61 73 4f 66 28 29 3b 0a 7d 0a 0a 24 63 61 6e 6f 6e 69 63 61 6c 50 61 63 6b 61 getAliasOf();.}..$canonicalPacka
2b3e0 67 65 73 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 61 6e ges[].=.$package;.}..return.$can
2b400 6f 6e 69 63 61 6c 50 61 63 6b 61 67 65 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a onicalPackages;.}.}.<?php.......
2b420 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
2b440 72 79 5c 56 63 73 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 ry\Vcs;..use.Composer\Downloader
2b460 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 43 6f 6d 70 6f 73 65 \TransportException;.use.Compose
2b480 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 43 61 r\Json\JsonFile;.use.Composer\Ca
2b4a0 63 68 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 65 che;.use.Composer\IO\IOInterface
2b4c0 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
2b4e0 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 47 69 74 48 75 62 3b 0a stem;.use.Composer\Util\GitHub;.
2b500 0a 0a 0a 0a 63 6c 61 73 73 20 47 69 74 48 75 62 44 72 69 76 65 72 20 65 78 74 65 6e 64 73 20 56 ....class.GitHubDriver.extends.V
2b520 63 73 44 72 69 76 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 csDriver.{.protected.$cache;.pro
2b540 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 70 6f 73 69 tected.$owner;.protected.$reposi
2b560 74 6f 72 79 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 tory;.protected.$tags;.protected
2b580 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
2b5a0 69 66 69 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 68 61 73 49 73 73 75 65 73 3b 0a 70 72 6f ifier;.protected.$hasIssues;.pro
2b5c0 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 0a 70 72 6f tected.$infoCache.=.array();.pro
2b5e0 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 0a 0a 0a 0a 0a 0a tected.$isPrivate.=.false;......
2b600 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 0a 70 75 62 6c 69 .protected.$gitDriver;.....publi
2b620 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 72 65 67 5f 6d c.function.initialize().{.preg_m
2b640 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 2f 2f 67 69 74 68 atch('#^(?:(?:https?|git)://gith
2b660 75 62 5c 2e 63 6f 6d 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 ub\.com/|git@github\.com:)([^/]+
2b680 29 2f 28 2e 2b 3f 29 28 3f 3a 5c 2e 67 69 74 29 3f 24 23 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c )/(.+?)(?:\.git)?$#',.$this->url
2b6a0 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 63 68 ,.$match);.$this->owner.=.$match
2b6c0 5b 31 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 68 5b [1];.$this->repository.=.$match[
2b6e0 32 5d 3b 0a 24 74 68 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 2];.$this->originUrl.=.'github.c
2b700 6f 6d 27 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 74 om';.$this->cache.=.new.Cache($t
2b720 68 69 73 2d 3e 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 his->io,.$this->config->get('cac
2b740 68 65 2d 72 65 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 he-repo-dir').'/'.$this->originU
2b760 72 6c 2e 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 rl.'/'.$this->owner.'/'.$this->r
2b780 65 70 6f 73 69 74 6f 72 79 29 3b 0a 0a 24 74 68 69 73 2d 3e 66 65 74 63 68 52 6f 6f 74 49 64 65 epository);..$this->fetchRootIde
2b7a0 6e 74 69 66 69 65 72 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 ntifier();.}.....public.function
2b7c0 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 74 68 69 73 .getRootIdentifier().{.if.($this
2b7e0 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 3e 67 69 74 ->gitDriver).{.return.$this->git
2b800 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 0a Driver->getRootIdentifier();.}..
2b820 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 7d 0a return.$this->rootIdentifier;.}.
2b840 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 0a 69 ....public.function.getUrl().{.i
2b860 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 75 72 6e 20 24 74 f.($this->gitDriver).{.return.$t
2b880 68 69 73 2d 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 his->gitDriver->getUrl();.}..ret
2b8a0 75 72 6e 20 27 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 27 2e 24 74 68 69 73 2d urn.'https://github.com/'.$this-
2b8c0 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 72 79 2e 27 2e 67 >owner.'/'.$this->repository.'.g
2b8e0 69 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 67 65 74 53 6f it';.}.....public.function.getSo
2b900 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 74 68 69 73 2d 3e 67 urce($identifier).{.if.($this->g
2b920 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 72 69 itDriver).{.return.$this->gitDri
2b940 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 72 29 3b 0a 7d 0a 24 ver->getSource($identifier);.}.$
2b960 6c 61 62 65 6c 20 3d 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 label.=.array_search($identifier
2b980 2c 20 24 74 68 69 73 2d 3e 67 65 74 54 61 67 73 28 29 29 20 3f 3a 20 24 69 64 65 6e 74 69 66 69 ,.$this->getTags()).?:.$identifi
2b9a0 65 72 3b 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 0a 20 er;.if.($this->isPrivate).{.....
2b9c0 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 3b 0a $url.=.$this->generateSshUrl();.
2b9e0 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 29 3b }.else.{.$url.=.$this->getUrl();
2ba00 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 74 27 .}..return.array('type'.=>.'git'
2ba20 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 20 ,.'url'.=>.$url,.'reference'.=>.
2ba40 24 6c 61 62 65 6c 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 $label);.}.....public.function.g
2ba60 65 74 44 69 73 74 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 etDist($identifier).{.if.($this-
2ba80 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
2baa0 72 69 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 24 river->getDist($identifier);.}.$
2bac0 6c 61 62 65 6c 20 3d 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 label.=.array_search($identifier
2bae0 2c 20 24 74 68 69 73 2d 3e 67 65 74 54 61 67 73 28 29 29 20 3f 3a 20 24 69 64 65 6e 74 69 66 69 ,.$this->getTags()).?:.$identifi
2bb00 65 72 3b 0a 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 er;.$url.=.'https://api.github.c
2bb20 6f 6d 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 69 om/repos/'.$this->owner.'/'.$thi
2bb40 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2e 27 2f 7a 69 70 62 61 6c 6c 2f 27 2e 24 6c 61 62 65 6c s->repository.'/zipball/'.$label
2bb60 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 27 2c ;..return.array('type'.=>.'zip',
2bb80 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 20 24 .'url'.=>.$url,.'reference'.=>.$
2bba0 6c 61 62 65 6c 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 70 75 label,.'shasum'.=>.'');.}.....pu
2bbc0 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 6d 61 blic.function.getComposerInforma
2bbe0 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 3e 67 tion($identifier).{.if.($this->g
2bc00 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 72 69 itDriver).{.return.$this->gitDri
2bc20 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 64 65 ver->getComposerInformation($ide
2bc40 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5b 61 ntifier);.}..if.(preg_match('{[a
2bc60 2d 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 20 26 26 20 24 -f0-9]{40}}i',.$identifier).&&.$
2bc80 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 65 6e 74 69 res.=.$this->cache->read($identi
2bca0 66 69 65 72 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 65 6e 74 fier)).{.$this->infoCache[$ident
2bcc0 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 28 24 72 65 ifier].=.JsonFile::parseJson($re
2bce0 73 29 3b 0a 7d 0a 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 s);.}..if.(!isset($this->infoCac
2bd00 68 65 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 29 29 20 7b 0a 24 6e 6f 74 46 6f 75 6e 64 52 65 74 he[$identifier])).{.$notFoundRet
2bd20 72 69 65 73 20 3d 20 32 3b 0a 77 68 69 6c 65 20 28 24 6e 6f 74 46 6f 75 6e 64 52 65 74 72 69 65 ries.=.2;.while.($notFoundRetrie
2bd40 73 29 20 7b 0a 74 72 79 20 7b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 27 68 74 74 70 73 3a 2f 2f s).{.try.{.$resource.=.'https://
2bd60 61 70 69 2e 67 69 74 68 75 62 2e 63 6f 6d 2f 72 65 70 6f 73 2f 27 2e 24 74 68 69 73 2d 3e 6f 77 api.github.com/repos/'.$this->ow
2bd80 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 63 6f 6e 74 ner.'/'.$this->repository.'/cont
2bda0 65 6e 74 73 2f 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 3f 72 65 66 3d 27 2e 75 72 6c 65 6e 63 6f ents/composer.json?ref='.urlenco
2bdc0 64 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 4a 73 6f de($identifier);.$composer.=.Jso
2bde0 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
2be00 6e 74 73 28 24 72 65 73 6f 75 72 63 65 29 29 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 63 6f 6d 70 nts($resource));.if.(empty($comp
2be20 6f 73 65 72 5b 27 63 6f 6e 74 65 6e 74 27 5d 29 20 7c 7c 20 24 63 6f 6d 70 6f 73 65 72 5b 27 65 oser['content']).||.$composer['e
2be40 6e 63 6f 64 69 6e 67 27 5d 20 21 3d 3d 20 27 62 61 73 65 36 34 27 20 7c 7c 20 21 28 24 63 6f 6d ncoding'].!==.'base64'.||.!($com
2be60 70 6f 73 65 72 20 3d 20 62 61 73 65 36 34 5f 64 65 63 6f 64 65 28 24 63 6f 6d 70 6f 73 65 72 5b poser.=.base64_decode($composer[
2be80 27 63 6f 6e 74 65 6e 74 27 5d 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 'content']))).{.throw.new.\Runti
2bea0 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 72 65 74 72 69 65 76 65 20 meException('Could.not.retrieve.
2bec0 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 72 6f 6d 20 27 2e 24 72 65 73 6f 75 72 63 65 29 3b composer.json.from.'.$resource);
2bee0 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 .}.break;.}.catch.(TransportExce
2bf00 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 34 30 34 20 21 3d 3d 20 24 65 2d 3e 67 65 74 43 ption.$e).{.if.(404.!==.$e->getC
2bf20 6f 64 65 28 29 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 0a 20 0a 20 24 6e 6f 74 46 6f ode()).{.throw.$e;.}......$notFo
2bf40 75 6e 64 52 65 74 72 69 65 73 2d 2d 3b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 66 61 6c 73 65 3b undRetries--;.$composer.=.false;
2bf60 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 70 6f 73 65 72 .}.}..if.($composer).{.$composer
2bf80 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 73 65 72 .=.JsonFile::parseJson($composer
2bfa0 2c 20 24 72 65 73 6f 75 72 63 65 29 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 63 6f 6d 70 6f ,.$resource);..if.(!isset($compo
2bfc0 73 65 72 5b 27 74 69 6d 65 27 5d 29 29 20 7b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 27 68 74 74 ser['time'])).{.$resource.=.'htt
2bfe0 70 73 3a 2f 2f 61 70 69 2e 67 69 74 68 75 62 2e 63 6f 6d 2f 72 65 70 6f 73 2f 27 2e 24 74 68 69 ps://api.github.com/repos/'.$thi
2c000 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 72 79 2e 27 s->owner.'/'.$this->repository.'
2c020 2f 63 6f 6d 6d 69 74 73 2f 27 2e 75 72 6c 65 6e 63 6f 64 65 28 24 69 64 65 6e 74 69 66 69 65 72 /commits/'.urlencode($identifier
2c040 29 3b 0a 24 63 6f 6d 6d 69 74 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e );.$commit.=.JsonFile::parseJson
2c060 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 65 29 2c 20 ($this->getContents($resource),.
2c080 24 72 65 73 6f 75 72 63 65 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 5b 27 74 69 6d 65 27 5d 20 3d 20 $resource);.$composer['time'].=.
2c0a0 24 63 6f 6d 6d 69 74 5b 27 63 6f 6d 6d 69 74 27 5d 5b 27 63 6f 6d 6d 69 74 74 65 72 27 5d 5b 27 $commit['commit']['committer']['
2c0c0 64 61 74 65 27 5d 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 27 date'];.}.if.(!isset($composer['
2c0e0 73 75 70 70 6f 72 74 27 5d 5b 27 73 6f 75 72 63 65 27 5d 29 29 20 7b 0a 24 6c 61 62 65 6c 20 3d support']['source'])).{.$label.=
2c100 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 2c 20 24 74 68 69 73 .array_search($identifier,.$this
2c120 2d 3e 67 65 74 54 61 67 73 28 29 29 20 3f 3a 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 24 69 64 ->getTags()).?:.array_search($id
2c140 65 6e 74 69 66 69 65 72 2c 20 24 74 68 69 73 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 29 29 20 entifier,.$this->getBranches()).
2c160 3f 3a 20 24 69 64 65 6e 74 69 66 69 65 72 3b 0a 24 63 6f 6d 70 6f 73 65 72 5b 27 73 75 70 70 6f ?:.$identifier;.$composer['suppo
2c180 72 74 27 5d 5b 27 73 6f 75 72 63 65 27 5d 20 3d 20 73 70 72 69 6e 74 66 28 27 68 74 74 70 73 3a rt']['source'].=.sprintf('https:
2c1a0 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 25 73 2f 25 73 2f 74 72 65 65 2f 25 73 27 2c 20 24 74 68 //github.com/%s/%s/tree/%s',.$th
2c1c0 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 24 6c is->owner,.$this->repository,.$l
2c1e0 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 27 73 abel);.}.if.(!isset($composer['s
2c200 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 68 61 upport']['issues']).&&.$this->ha
2c220 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 5d 5b sIssues).{.$composer['support'][
2c240 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 67 69 74 'issues'].=.sprintf('https://git
2c260 68 75 62 2e 63 6f 6d 2f 25 73 2f 25 73 2f 69 73 73 75 65 73 27 2c 20 24 74 68 69 73 2d 3e 6f 77 hub.com/%s/%s/issues',.$this->ow
2c280 6e 65 72 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 29 3b 0a 7d 0a 7d 0a 0a 69 66 ner,.$this->repository);.}.}..if
2c2a0 20 28 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 .(preg_match('{[a-f0-9]{40}}i',.
2c2c0 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 72 $identifier)).{.$this->cache->wr
2c2e0 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 6f ite($identifier,.json_encode($co
2c300 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 69 mposer));.}..$this->infoCache[$i
2c320 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 72 dentifier].=.$composer;.}..retur
2c340 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 3b n.$this->infoCache[$identifier];
2c360 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 28 29 .}.....public.function.getTags()
2c380 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 75 72 .{.if.($this->gitDriver).{.retur
2c3a0 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 73 28 29 3b 0a 7d n.$this->gitDriver->getTags();.}
2c3c0 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 61 67 73 29 20 7b 0a 24 72 65 .if.(null.===.$this->tags).{.$re
2c3e0 73 6f 75 72 63 65 20 3d 20 27 68 74 74 70 73 3a 2f 2f 61 70 69 2e 67 69 74 68 75 62 2e 63 6f 6d source.=.'https://api.github.com
2c400 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 69 73 2d /repos/'.$this->owner.'/'.$this-
2c420 3e 72 65 70 6f 73 69 74 6f 72 79 2e 27 2f 74 61 67 73 27 3b 0a 24 74 61 67 73 44 61 74 61 20 3d >repository.'/tags';.$tagsData.=
2c440 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 43 .JsonFile::parseJson($this->getC
2c460 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 29 3b 0a ontents($resource),.$resource);.
2c480 24 74 68 69 73 2d 3e 74 61 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 $this->tags.=.array();.foreach.(
2c4a0 24 74 61 67 73 44 61 74 61 20 61 73 20 24 74 61 67 29 20 7b 0a 24 74 68 69 73 2d 3e 74 61 67 73 $tagsData.as.$tag).{.$this->tags
2c4c0 5b 24 74 61 67 5b 27 6e 61 6d 65 27 5d 5d 20 3d 20 24 74 61 67 5b 27 63 6f 6d 6d 69 74 27 5d 5b [$tag['name']].=.$tag['commit'][
2c4e0 27 73 68 61 27 5d 3b 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 'sha'];.}.}..return.$this->tags;
2c500 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 6e 63 68 .}.....public.function.getBranch
2c520 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 20 7b 0a 72 es().{.if.($this->gitDriver).{.r
2c540 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 72 61 6e 63 eturn.$this->gitDriver->getBranc
2c560 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 3e 62 72 61 hes();.}.if.(null.===.$this->bra
2c580 6e 63 68 65 73 29 20 7b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 27 68 74 74 70 73 3a 2f 2f 61 70 nches).{.$resource.=.'https://ap
2c5a0 69 2e 67 69 74 68 75 62 2e 63 6f 6d 2f 72 65 70 6f 73 2f 27 2e 24 74 68 69 73 2d 3e 6f 77 6e 65 i.github.com/repos/'.$this->owne
2c5c0 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 67 69 74 2f 72 65 r.'/'.$this->repository.'/git/re
2c5e0 66 73 2f 68 65 61 64 73 27 3b 0a 24 62 72 61 6e 63 68 44 61 74 61 20 3d 20 4a 73 6f 6e 46 69 6c fs/heads';.$branchData.=.JsonFil
2c600 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(
2c620 24 72 65 73 6f 75 72 63 65 29 2c 20 24 72 65 73 6f 75 72 63 65 29 3b 0a 24 74 68 69 73 2d 3e 62 $resource),.$resource);.$this->b
2c640 72 61 6e 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 62 72 61 ranches.=.array();.foreach.($bra
2c660 6e 63 68 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 nchData.as.$branch).{.$name.=.su
2c680 62 73 74 72 28 24 62 72 61 6e 63 68 5b 27 72 65 66 27 5d 2c 20 31 31 29 3b 0a 24 74 68 69 73 2d bstr($branch['ref'],.11);.$this-
2c6a0 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 68 5b 27 6f 62 6a 65 >branches[$name].=.$branch['obje
2c6c0 63 74 27 5d 5b 27 73 68 61 27 5d 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e ct']['sha'];.}.}..return.$this->
2c6e0 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 75 branches;.}.....public.static.fu
2c700 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 2c nction.supports(IOInterface.$io,
2c720 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 21 70 72 65 .$url,.$deep.=.false).{.if.(!pre
2c740 67 5f 6d 61 74 63 68 28 27 23 5e 28 28 3f 3a 68 74 74 70 73 3f 7c 67 69 74 29 3a 2f 2f 67 69 74 g_match('#^((?:https?|git)://git
2c760 68 75 62 5c 2e 63 6f 6d 2f 7c 67 69 74 40 67 69 74 68 75 62 5c 2e 63 6f 6d 3a 29 28 5b 5e 2f 5d hub\.com/|git@github\.com:)([^/]
2c780 2b 29 2f 28 2e 2b 3f 29 28 3f 3a 5c 2e 67 69 74 29 3f 24 23 27 2c 20 24 75 72 6c 29 29 20 7b 0a +)/(.+?)(?:\.git)?$#',.$url)).{.
2c7a0 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 6e 5f return.false;.}..if.(!extension_
2c7c0 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 29 20 7b 0a 69 66 20 28 24 69 6f 2d 3e 69 73 loaded('openssl')).{.if.($io->is
2c7e0 56 65 72 62 6f 73 65 28 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 53 6b 69 70 70 69 6e Verbose()).{.$io->write('Skippin
2c800 67 20 47 69 74 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 g.GitHub.driver.for.'.$url.'.bec
2c820 61 75 73 65 20 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 ause.the.OpenSSL.PHP.extension.i
2c840 73 20 6d 69 73 73 69 6e 67 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d s.missing.');.}..return.false;.}
2c860 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 ..return.true;.}.......protected
2c880 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
2c8a0 75 72 6e 20 27 67 69 74 40 67 69 74 68 75 62 2e 63 6f 6d 3a 27 2e 24 74 68 69 73 2d 3e 6f 77 6e urn.'git@github.com:'.$this->own
2c8c0 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 2e 67 69 74 27 3b er.'/'.$this->repository.'.git';
2c8e0 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 43 6f 6e .}.....protected.function.getCon
2c900 74 65 6e 74 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 tents($url,.$fetchingRepoData.=.
2c920 66 61 6c 73 65 29 0a 7b 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 67 65 false).{.try.{.return.parent::ge
2c940 74 43 6f 6e 74 65 6e 74 73 28 24 75 72 6c 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 tContents($url);.}.catch.(Transp
2c960 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 67 69 74 48 75 62 55 74 69 6c 20 3d ortException.$e).{.$gitHubUtil.=
2c980 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 69 73 2d 3e 63 6f .new.GitHub($this->io,.$this->co
2c9a0 6e 66 69 67 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 72 65 6d nfig,.$this->process,.$this->rem
2c9c0 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 29 3b 0a 0a 73 77 69 74 63 68 20 28 24 65 2d 3e 67 65 74 oteFilesystem);..switch.($e->get
2c9e0 43 6f 64 65 28 29 29 20 7b 0a 63 61 73 65 20 34 30 31 3a 0a 63 61 73 65 20 34 30 34 3a 0a 0a 20 Code()).{.case.401:.case.404:...
2ca00 69 66 20 28 21 24 66 65 74 63 68 69 6e 67 52 65 70 6f 44 61 74 61 29 20 7b 0a 74 68 72 6f 77 20 if.(!$fetchingRepoData).{.throw.
2ca20 24 65 3b 0a 7d 0a 0a 69 66 20 28 24 67 69 74 48 75 62 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a $e;.}..if.($gitHubUtil->authoriz
2ca40 65 4f 41 75 74 68 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 eOAuth($this->originUrl)).{.retu
2ca60 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 0a rn.parent::getContents($url);.}.
2ca80 0a 69 66 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 .if.(!$this->io->isInteractive()
2caa0 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 6f 6e 65 46 61 ).{.return.$this->attemptCloneFa
2cac0 6c 6c 62 61 63 6b 28 29 3b 0a 7d 0a 0a 24 67 69 74 48 75 62 55 74 69 6c 2d 3e 61 75 74 68 6f 72 llback();.}..$gitHubUtil->author
2cae0 69 7a 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 6f 72 69 izeOAuthInteractively($this->ori
2cb00 67 69 6e 55 72 6c 2c 20 27 59 6f 75 72 20 47 69 74 48 75 62 20 63 72 65 64 65 6e 74 69 61 6c 73 ginUrl,.'Your.GitHub.credentials
2cb20 20 61 72 65 20 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 .are.required.to.fetch.private.r
2cb40 65 70 6f 73 69 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 epository.metadata.(<info>'.$thi
2cb60 73 2d 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 s->url.'</info>)');..return.pare
2cb80 6e 74 3a 3a 67 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 nt::getContents($url);..case.403
2cba0 3a 0a 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 :.if.(!$this->io->hasAuthenticat
2cbc0 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 24 67 69 74 48 75 62 ion($this->originUrl).&&.$gitHub
2cbe0 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
2cc00 69 6e 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 inUrl)).{.return.parent::getCont
2cc20 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 3e 69 ents($url);.}..if.(!$this->io->i
2cc40 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 6f 44 sInteractive().&&.$fetchingRepoD
2cc60 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 6f 6e ata).{.return.$this->attemptClon
2cc80 65 46 61 6c 6c 62 61 63 6b 28 29 3b 0a 7d 0a 0a 24 72 61 74 65 4c 69 6d 69 74 65 64 20 3d 20 66 eFallback();.}..$rateLimited.=.f
2cca0 61 6c 73 65 3b 0a 66 6f 72 65 61 63 68 20 28 24 65 2d 3e 67 65 74 48 65 61 64 65 72 73 28 29 20 alse;.foreach.($e->getHeaders().
2ccc0 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('{^
2cce0 58 2d 52 61 74 65 4c 69 6d 69 74 2d 52 65 6d 61 69 6e 69 6e 67 3a 20 2a 30 24 7d 69 27 2c 20 74 X-RateLimit-Remaining:.*0$}i',.t
2cd00 72 69 6d 28 24 68 65 61 64 65 72 29 29 29 20 7b 0a 24 72 61 74 65 4c 69 6d 69 74 65 64 20 3d 20 rim($header))).{.$rateLimited.=.
2cd20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 true;.}.}..if.(!$this->io->hasAu
2cd40 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)).
2cd60 7b 0a 69 66 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 {.if.(!$this->io->isInteractive(
2cd80 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 3c 65 72 72 6f 72 3e 47 69 )).{.$this->io->write('<error>Gi
2cda0 74 48 75 62 20 41 50 49 20 6c 69 6d 69 74 20 65 78 68 61 75 73 74 65 64 2e 20 46 61 69 6c 65 64 tHub.API.limit.exhausted..Failed
2cdc0 20 74 6f 20 67 65 74 20 6d 65 74 61 64 61 74 61 20 66 6f 72 20 74 68 65 20 27 2e 24 74 68 69 73 .to.get.metadata.for.the.'.$this
2cde0 2d 3e 75 72 6c 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 ->url.'.repository,.try.running.
2ce00 69 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 in.interactive.mode.so.that.you.
2ce20 63 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 can.enter.your.GitHub.credential
2ce40 73 20 74 6f 20 69 6e 63 72 65 61 73 65 20 74 68 65 20 41 50 49 20 6c 69 6d 69 74 3c 2f 65 72 72 s.to.increase.the.API.limit</err
2ce60 6f 72 3e 27 29 3b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 24 67 69 74 48 75 62 55 74 69 6c 2d or>');.throw.$e;.}..$gitHubUtil-
2ce80 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 24 74 68 >authorizeOAuthInteractively($th
2cea0 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 27 41 50 49 20 6c 69 6d 69 74 20 65 78 68 61 75 73 is->originUrl,.'API.limit.exhaus
2cec0 74 65 64 2e 20 45 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 ted..Enter.your.GitHub.credentia
2cee0 6c 73 20 74 6f 20 67 65 74 20 61 20 6c 61 72 67 65 72 20 41 50 49 20 6c 69 6d 69 74 20 28 3c 69 ls.to.get.a.larger.API.limit.(<i
2cf00 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 0a 72 nfo>'.$this->url.'</info>)');..r
2cf20 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 29 3b eturn.parent::getContents($url);
2cf40 0a 7d 0a 0a 69 66 20 28 24 72 61 74 65 4c 69 6d 69 74 65 64 29 20 7b 0a 24 74 68 69 73 2d 3e 69 .}..if.($rateLimited).{.$this->i
2cf60 6f 2d 3e 77 72 69 74 65 28 27 3c 65 72 72 6f 72 3e 47 69 74 48 75 62 20 41 50 49 20 6c 69 6d 69 o->write('<error>GitHub.API.limi
2cf80 74 20 65 78 68 61 75 73 74 65 64 2e 20 59 6f 75 20 61 72 65 20 61 6c 72 65 61 64 79 20 61 75 74 t.exhausted..You.are.already.aut
2cfa0 68 6f 72 69 7a 65 64 20 73 6f 20 79 6f 75 20 77 69 6c 6c 20 68 61 76 65 20 74 6f 20 77 61 69 74 horized.so.you.will.have.to.wait
2cfc0 20 61 20 77 68 69 6c 65 20 62 65 66 6f 72 65 20 64 6f 69 6e 67 20 6d 6f 72 65 20 72 65 71 75 65 .a.while.before.doing.more.reque
2cfe0 73 74 73 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 0a 64 65 66 sts</error>');.}..throw.$e;..def
2d000 61 75 6c 74 3a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 ault:.throw.$e;.}.}.}.......prot
2d020 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 52 6f 6f 74 49 64 65 6e 74 69 66 69 ected.function.fetchRootIdentifi
2d040 65 72 28 29 0a 7b 0a 24 72 65 70 6f 44 61 74 61 55 72 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 61 er().{.$repoDataUrl.=.'https://a
2d060 70 69 2e 67 69 74 68 75 62 2e 63 6f 6d 2f 72 65 70 6f 73 2f 27 2e 24 74 68 69 73 2d 3e 6f 77 6e pi.github.com/repos/'.$this->own
2d080 65 72 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 24 72 65 70 6f er.'/'.$this->repository;..$repo
2d0a0 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 69 73 Data.=.JsonFile::parseJson($this
2d0c0 2d 3e 67 65 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 ->getContents($repoDataUrl,.true
2d0e0 29 2c 20 24 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 ),.$repoDataUrl);.if.(null.===.$
2d100 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 74 44 repoData.&&.null.!==.$this->gitD
2d120 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 69 73 50 72 69 river).{.return;.}..$this->isPri
2d140 76 61 74 65 20 3d 20 21 65 6d 70 74 79 28 24 72 65 70 6f 44 61 74 61 5b 27 70 72 69 76 61 74 65 vate.=.!empty($repoData['private
2d160 27 5d 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 72 65 70 6f 44 61 74 61 5b 27 64 65 66 61 75 6c ']);.if.(isset($repoData['defaul
2d180 74 5f 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 t_branch'])).{.$this->rootIdenti
2d1a0 66 69 65 72 20 3d 20 24 72 65 70 6f 44 61 74 61 5b 27 64 65 66 61 75 6c 74 5f 62 72 61 6e 63 68 fier.=.$repoData['default_branch
2d1c0 27 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 72 65 70 6f 44 61 74 61 5b 27 6d '];.}.elseif.(isset($repoData['m
2d1e0 61 73 74 65 72 5f 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 aster_branch'])).{.$this->rootId
2d200 65 6e 74 69 66 69 65 72 20 3d 20 24 72 65 70 6f 44 61 74 61 5b 27 6d 61 73 74 65 72 5f 62 72 61 entifier.=.$repoData['master_bra
2d220 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
2d240 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
2d260 73 75 65 73 20 3d 20 21 65 6d 70 74 79 28 24 72 65 70 6f 44 61 74 61 5b 27 68 61 73 5f 69 73 73 sues.=.!empty($repoData['has_iss
2d280 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 69 6f 6e 20 61 74 ues']);.}..protected.function.at
2d2a0 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 69 73 2d 3e 69 73 temptCloneFallback().{.$this->is
2d2c0 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 20 0a 20 0a 20 24 Private.=.true;..try.{.........$
2d2e0 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 28 this->gitDriver.=.new.GitDriver(
2d300 0a 61 72 72 61 79 28 27 75 72 6c 27 20 3d 3e 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 53 .array('url'.=>.$this->generateS
2d320 73 68 55 72 6c 28 29 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 shUrl()),.$this->io,.$this->conf
2d340 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 2d 3e 72 65 6d 6f 74 ig,.$this->process,.$this->remot
2d360 65 46 69 6c 65 73 79 73 74 65 6d 0a 29 3b 0a 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d eFilesystem.);.$this->gitDriver-
2d380 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 20 63 61 74 63 68 20 >initialize();..return;.}.catch.
2d3a0 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 74 68 69 73 2d 3e (\RuntimeException.$e).{.$this->
2d3c0 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 69 6f 2d 3e 77 72 gitDriver.=.null;..$this->io->wr
2d3e0 69 74 65 28 27 3c 65 72 72 6f 72 3e 46 61 69 6c 65 64 20 74 6f 20 63 6c 6f 6e 65 20 74 68 65 20 ite('<error>Failed.to.clone.the.
2d400 27 2e 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 53 73 68 55 72 6c 28 29 2e 27 20 72 65 70 6f '.$this->generateSshUrl().'.repo
2d420 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
2d440 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
2d460 75 72 20 47 69 74 48 75 62 20 63 72 65 64 65 6e 74 69 61 6c 73 3c 2f 65 72 72 6f 72 3e 27 29 3b ur.GitHub.credentials</error>');
2d480 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a .throw.$e;.}.}.}.<?php..........
2d4a0 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\
2d4c0 56 63 73 3b 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 Vcs;..use.Composer\Json\JsonFile
2d4e0 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;..
2d500 0a 0a 0a 63 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 ...class.GitBitbucketDriver.exte
2d520 6e 64 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 76 nds.VcsDriver.implements.VcsDriv
2d540 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 6f 77 6e 65 72 3b 0a erInterface.{.protected.$owner;.
2d560 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
2d580 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
2d5a0 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
2d5c0 64 20 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 d.$infoCache.=.array();.....publ
2d5e0 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 72 65 67 5f ic.function.initialize().{.preg_
2d600 6d 61 74 63 68 28 27 23 5e 68 74 74 70 73 3a 2f 2f 62 69 74 62 75 63 6b 65 74 5c 2e 6f 72 67 2f match('#^https://bitbucket\.org/
2d620 28 5b 5e 2f 5d 2b 29 2f 28 2e 2b 3f 29 5c 2e 67 69 74 24 23 27 2c 20 24 74 68 69 73 2d 3e 75 72 ([^/]+)/(.+?)\.git$#',.$this->ur
2d640 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 63 l,.$match);.$this->owner.=.$matc
2d660 68 5b 31 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 68 h[1];.$this->repository.=.$match
2d680 5b 32 5d 3b 0a 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 20 3d 20 27 62 69 74 62 75 63 6b [2];.$this->originUrl.=.'bitbuck
2d6a0 65 74 2e 6f 72 67 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 67 et.org';.}.....public.function.g
2d6c0 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 6e 75 6c 6c 20 3d 3d etRootIdentifier().{.if.(null.==
2d6e0 3d 20 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 29 20 7b 0a 24 72 65 73 6f =.$this->rootIdentifier).{.$reso
2d700 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 63 68 65 6d 65 28 29 20 2e 20 27 3a 2f 2f urce.=.$this->getScheme()...'://
2d720 61 70 69 2e 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 2f 31 2e 30 2f 72 65 70 6f 73 69 74 6f 72 69 api.bitbucket.org/1.0/repositori
2d740 65 73 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 es/'.$this->owner.'/'.$this->rep
2d760 6f 73 69 74 6f 72 79 3b 0a 24 72 65 70 6f 44 61 74 61 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 ository;.$repoData.=.JsonFile::p
2d780 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 24 72 65 73 arseJson($this->getContents($res
2d7a0 6f 75 72 63 65 29 2c 20 24 72 65 73 6f 75 72 63 65 29 3b 0a 24 74 68 69 73 2d 3e 72 6f 6f 74 49 ource),.$resource);.$this->rootI
2d7c0 64 65 6e 74 69 66 69 65 72 20 3d 20 21 65 6d 70 74 79 28 24 72 65 70 6f 44 61 74 61 5b 27 6d 61 dentifier.=.!empty($repoData['ma
2d7e0 69 6e 5f 62 72 61 6e 63 68 27 5d 29 20 3f 20 24 72 65 70 6f 44 61 74 61 5b 27 6d 61 69 6e 5f 62 in_branch']).?.$repoData['main_b
2d800 72 61 6e 63 68 27 5d 20 3a 20 27 6d 61 73 74 65 72 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 ranch'].:.'master';.}..return.$t
2d820 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 62 6c 69 his->rootIdentifier;.}.....publi
2d840 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 20 24 74 68 c.function.getUrl().{.return.$th
2d860 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 6f 6e 20 67 is->url;.}.....public.function.g
2d880 65 74 53 6f 75 72 63 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 6c 61 62 65 6c 20 3d etSource($identifier).{.$label.=
2d8a0 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 2c 20 24 74 68 69 73 .array_search($identifier,.$this
2d8c0 2d 3e 67 65 74 54 61 67 73 28 29 29 20 3f 3a 20 24 69 64 65 6e 74 69 66 69 65 72 3b 0a 0a 72 65 ->getTags()).?:.$identifier;..re
2d8e0 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 20 27 75 72 6c turn.array('type'.=>.'git',.'url
2d900 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 72 65 6e 63 65 '.=>.$this->getUrl(),.'reference
2d920 27 20 3d 3e 20 24 6c 61 62 65 6c 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 '.=>.$label);.}.....public.funct
2d940 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 6c 61 62 65 ion.getDist($identifier).{.$labe
2d960 6c 20 3d 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 2c 20 24 74 l.=.array_search($identifier,.$t
2d980 68 69 73 2d 3e 67 65 74 54 61 67 73 28 29 29 20 3f 3a 20 24 69 64 65 6e 74 69 66 69 65 72 3b 0a his->getTags()).?:.$identifier;.
2d9a0 24 75 72 6c 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 63 68 65 6d 65 28 29 20 2e 20 27 3a 2f 2f $url.=.$this->getScheme()...'://
2d9c0 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 2f 27 2e 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 bitbucket.org/'.$this->owner.'/'
2d9e0 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2e 27 2f 67 65 74 2f 27 2e 24 6c 61 62 65 .$this->repository.'/get/'.$labe
2da00 6c 2e 27 2e 7a 69 70 27 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 74 79 70 65 27 20 3d l.'.zip';..return.array('type'.=
2da20 3e 20 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 >.'zip',.'url'.=>.$url,.'referen
2da40 63 65 27 20 3d 3e 20 24 6c 61 62 65 6c 2c 20 27 73 68 61 73 75 6d 27 20 3d 3e 20 27 27 29 3b 0a ce'.=>.$label,.'shasum'.=>.'');.
2da60 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
2da80 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 69 66 20 28 rInformation($identifier).{.if.(
2daa0 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 65 6e 74 69 66 !isset($this->infoCache[$identif
2dac0 69 65 72 5d 29 29 20 7b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 ier])).{.$resource.=.$this->getS
2dae0 63 68 65 6d 65 28 29 20 2e 20 27 3a 2f 2f 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 2f 27 2e 24 74 cheme()...'://bitbucket.org/'.$t
2db00 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 72 79 his->owner.'/'.$this->repository
2db20 2e 27 2f 72 61 77 2f 27 2e 24 69 64 65 6e 74 69 66 69 65 72 2e 27 2f 63 6f 6d 70 6f 73 65 72 2e .'/raw/'.$identifier.'/composer.
2db40 6a 73 6f 6e 27 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 6e json';.$composer.=.$this->getCon
2db60 74 65 6e 74 73 28 24 72 65 73 6f 75 72 63 65 29 3b 0a 69 66 20 28 21 24 63 6f 6d 70 6f 73 65 72 tents($resource);.if.(!$composer
2db80 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 4a 73 6f 6e 46 ).{.return;.}..$composer.=.JsonF
2dba0 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 63 6f 6d 70 6f 73 65 72 2c 20 24 72 65 73 6f 75 ile::parseJson($composer,.$resou
2dbc0 72 63 65 29 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 63 6f 6d 70 6f 73 65 72 5b 27 74 69 6d rce);..if.(!isset($composer['tim
2dbe0 65 27 5d 29 29 20 7b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 63 e'])).{.$resource.=.$this->getSc
2dc00 68 65 6d 65 28 29 20 2e 20 27 3a 2f 2f 61 70 69 2e 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 2f 31 heme()...'://api.bitbucket.org/1
2dc20 2e 30 2f 72 65 70 6f 73 69 74 6f 72 69 65 73 2f 27 2e 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 .0/repositories/'.$this->owner.'
2dc40 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2e 27 2f 63 68 61 6e 67 65 73 65 74 /'.$this->repository.'/changeset
2dc60 73 2f 27 2e 24 69 64 65 6e 74 69 66 69 65 72 3b 0a 24 63 68 61 6e 67 65 73 65 74 20 3d 20 4a 73 s/'.$identifier;.$changeset.=.Js
2dc80 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 74 onFile::parseJson($this->getCont
2dca0 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 24 63 6f ents($resource),.$resource);.$co
2dcc0 6d 70 6f 73 65 72 5b 27 74 69 6d 65 27 5d 20 3d 20 24 63 68 61 6e 67 65 73 65 74 5b 27 74 69 6d mposer['time'].=.$changeset['tim
2dce0 65 73 74 61 6d 70 27 5d 3b 0a 7d 0a 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 estamp'];.}.$this->infoCache[$id
2dd00 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
2dd20 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];.
2dd40 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 28 29 0a }.....public.function.getTags().
2dd60 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 61 67 73 29 20 7b 0a 24 72 {.if.(null.===.$this->tags).{.$r
2dd80 65 73 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 63 68 65 6d 65 28 29 20 2e 20 27 esource.=.$this->getScheme()...'
2dda0 3a 2f 2f 61 70 69 2e 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 2f 31 2e 30 2f 72 65 70 6f 73 69 74 ://api.bitbucket.org/1.0/reposit
2ddc0 6f 72 69 65 73 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 ories/'.$this->owner.'/'.$this->
2dde0 72 65 70 6f 73 69 74 6f 72 79 2e 27 2f 74 61 67 73 27 3b 0a 24 74 61 67 73 44 61 74 61 20 3d 20 repository.'/tags';.$tagsData.=.
2de00 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
2de20 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 24 ntents($resource),.$resource);.$
2de40 74 68 69 73 2d 3e 74 61 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 this->tags.=.array();.foreach.($
2de60 74 61 67 73 44 61 74 61 20 61 73 20 24 74 61 67 20 3d 3e 20 24 64 61 74 61 29 20 7b 0a 24 74 68 tagsData.as.$tag.=>.$data).{.$th
2de80 69 73 2d 3e 74 61 67 73 5b 24 74 61 67 5d 20 3d 20 24 64 61 74 61 5b 27 72 61 77 5f 6e 6f 64 65 is->tags[$tag].=.$data['raw_node
2dea0 27 5d 3b 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 '];.}.}..return.$this->tags;.}..
2dec0 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 28 29 ...public.function.getBranches()
2dee0 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 73 29 .{.if.(null.===.$this->branches)
2df00 20 7b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 63 68 65 6d 65 28 .{.$resource.=.$this->getScheme(
2df20 29 20 2e 20 27 3a 2f 2f 61 70 69 2e 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 2f 31 2e 30 2f 72 65 )...'://api.bitbucket.org/1.0/re
2df40 70 6f 73 69 74 6f 72 69 65 73 2f 27 2e 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 2e 24 74 positories/'.$this->owner.'/'.$t
2df60 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2e 27 2f 62 72 61 6e 63 68 65 73 27 3b 0a 24 62 72 his->repository.'/branches';.$br
2df80 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 4a 73 6f 6e 28 24 anchData.=.JsonFile::parseJson($
2dfa0 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 65 29 2c 20 24 72 this->getContents($resource),.$r
2dfc0 65 73 6f 75 72 63 65 29 3b 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 20 3d 20 61 72 72 61 esource);.$this->branches.=.arra
2dfe0 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 62 72 61 6e 63 68 44 61 74 61 20 61 73 20 24 62 72 y();.foreach.($branchData.as.$br
2e000 61 6e 63 68 20 3d 3e 20 24 64 61 74 61 29 20 7b 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 anch.=>.$data).{.$this->branches
2e020 5b 24 62 72 61 6e 63 68 5d 20 3d 20 24 64 61 74 61 5b 27 72 61 77 5f 6e 6f 64 65 27 5d 3b 0a 7d [$branch].=.$data['raw_node'];.}
2e040 0a 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 .}..return.$this->branches;.}...
2e060 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 75 70 70 6f 72 74 ..public.static.function.support
2e080 73 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 24 75 72 6c 2c 20 24 64 65 65 70 20 3d s(IOInterface.$io,.$url,.$deep.=
2e0a0 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 23 5e 68 74 74 .false).{.if.(!preg_match('#^htt
2e0c0 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 3f ps://bitbucket\.org/([^/]+)/(.+?
2e0e0 29 5c 2e 67 69 74 24 23 27 2c 20 24 75 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 )\.git$#',.$url)).{.return.false
2e100 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 6f 70 65 6e ;.}..if.(!extension_loaded('open
2e120 73 73 6c 27 29 29 20 7b 0a 69 66 20 28 24 69 6f 2d 3e 69 73 56 65 72 62 6f 73 65 28 29 29 20 7b ssl')).{.if.($io->isVerbose()).{
2e140 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 53 6b 69 70 70 69 6e 67 20 42 69 74 62 75 63 6b 65 74 20 .$io->write('Skipping.Bitbucket.
2e160 67 69 74 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 git.driver.for.'.$url.'.because.
2e180 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
2e1a0 73 69 6e 67 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 sing.');.}..return.false;.}..ret
2e1c0 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 6e urn.true;.}.}.<?php............n
2e1e0 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
2e200 3b 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 ;..use.Composer\Json\JsonFile;.u
2e220 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
2e240 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;.
2e260 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 69 74 55 74 69 6c use.Composer\Util\Git.as.GitUtil
2e280 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;..
2e2a0 0a 0a 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 ...class.GitDriver.extends.VcsDr
2e2c0 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 65 iver.{.protected.$tags;.protecte
2e2e0 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 6e d.$branches;.protected.$rootIden
2e300 74 69 66 69 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f 44 69 72 3b 0a 70 72 6f 74 tifier;.protected.$repoDir;.prot
2e320 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 0a 0a 0a 0a 0a ected.$infoCache.=.array();.....
2e340 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 69 public.function.initialize().{.i
2e360 66 20 28 73 74 61 74 69 63 3a 3a 69 73 4c 6f 63 61 6c 55 72 6c 28 24 74 68 69 73 2d 3e 75 72 6c f.(static::isLocalUrl($this->url
2e380 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 )).{.$this->repoDir.=.str_replac
2e3a0 65 28 27 66 69 6c 65 3a 2f 2f 27 2c 20 27 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 7d 20 e('file://',.'',.$this->url);.}.
2e3c0 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 63 else.{.$this->repoDir.=.$this->c
2e3e0 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 20 2e 20 27 2f onfig->get('cache-vcs-dir')...'/
2e400 27 20 2e 20 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'
2e420 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 0a 0a 24 75 74 69 6c ,.'-',.$this->url)...'/';..$util
2e440 20 3d 20 6e 65 77 20 47 69 74 55 74 69 6c 3b 0a 24 75 74 69 6c 2d 3e 63 6c 65 61 6e 45 6e 76 28 .=.new.GitUtil;.$util->cleanEnv(
2e460 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 24 66 73 2d );..$fs.=.new.Filesystem();.$fs-
2e480 3e 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 >ensureDirectoryExists(dirname($
2e4a0 74 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 this->repoDir));..if.(!is_writab
2e4c0 6c 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 le(dirname($this->repoDir))).{.t
2e4e0 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 61 6e 20 hrow.new.\RuntimeException('Can.
2e500 6e 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 not.clone.'.$this->url.'.to.acce
2e520 73 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 ss.package.information..The."'.d
2e540 69 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 irname($this->repoDir).'".direct
2e560 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 72 65 ory.is.not.writable.by.the.curre
2e580 6e 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 nt.user.');.}..if.(preg_match('{
2e5a0 5e 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 ^ssh://[^@]+@[^:]+:[^0-9]+}',.$t
2e5c0 68 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 his->url)).{.throw.new.\InvalidA
2e5e0 72 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 rgumentException('The.source.URL
2e600 20 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 .'.$this->url.'.is.invalid,.ssh.
2e620 55 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 URLs.should.have.a.port.number.a
2e640 66 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 fter.":".'."\n".'Use.ssh://git@e
2e660 78 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 xample.com:22/path.or.just.git@e
2e680 78 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 xample.com:path.if.you.do.not.wa
2e6a0 6e 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 nt.to.provide.a.password.or.cust
2e6c0 6f 6d 20 70 6f 72 74 2e 27 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 5f 64 69 72 28 24 74 68 69 om.port.');.}....if.(is_dir($thi
2e6e0 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 72 6f 63 s->repoDir).&&.0.===.$this->proc
2e700 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 72 65 6d 6f 74 65 27 2c 20 24 6f 75 74 70 ess->execute('git.remote',.$outp
2e720 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 21 3d 3d ut,.$this->repoDir)).{.if.(0.!==
2e740 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
2e760 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 27 2c 20 24 6f 75 mote.update.--prune.origin',.$ou
2e780 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 24 74 68 69 73 2d 3e tput,.$this->repoDir)).{.$this->
2e7a0 69 6f 2d 3e 77 72 69 74 65 28 27 3c 65 72 72 6f 72 3e 46 61 69 6c 65 64 20 74 6f 20 75 70 64 61 io->write('<error>Failed.to.upda
2e7c0 74 65 20 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 te.'.$this->url.',.package.infor
2e7e0 6d 61 74 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 mation.from.this.repository.may.
2e800 62 65 20 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 be.outdated.('.$this->process->g
2e820 65 74 45 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 etErrorOutput().')</error>');.}.
2e840 7d 20 65 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 }.else.{...$fs->removeDirectory(
2e860 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 $this->repoDir);..$command.=.spr
2e880 69 6e 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 intf('git.clone.--mirror.%s.%s',
2e8a0 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 74 68 69 73 2d 3e 75 72 6c 29 2c 20 65 73 63 .escapeshellarg($this->url),.esc
2e8c0 61 70 65 73 68 65 6c 6c 61 72 67 28 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 29 3b 0a 69 66 apeshellarg($this->repoDir));.if
2e8e0 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 65 28 .(0.!==.$this->process->execute(
2e900 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 29 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 $command,.$output)).{.$output.=.
2e920 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()
2e940 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 3e 65 78 65 ;..if.(0.!==.$this->process->exe
2e960 63 75 74 65 28 27 67 69 74 20 2d 2d 76 65 72 73 69 6f 6e 27 2c 20 24 69 67 6e 6f 72 65 64 4f 75 cute('git.--version',.$ignoredOu
2e980 74 70 75 74 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 tput)).{.throw.new.\RuntimeExcep
2e9a0 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 3e 75 tion('Failed.to.clone.'.$this->u
2e9c0 72 6c 2e 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 74 rl.',.git.was.not.found,.check.t
2e9e0 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.
2ea00 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
2ea20 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
2ea40 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.
2ea60 74 6f 20 63 6c 6f 6e 65 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 2c 20 63 6f 75 6c 64 20 6e to.clone.'.$this->url.',.could.n
2ea80 6f 74 20 72 65 61 64 20 70 61 63 6b 61 67 65 73 20 66 72 6f 6d 20 69 74 27 20 2e 20 22 5c 6e 5c ot.read.packages.from.it'..."\n\
2eaa0 6e 22 20 2e 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 67 65 74 54 n"..$output);.}.}.}..$this->getT
2eac0 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 0a 7d 0a 0a ags();.$this->getBranches();.}..
2eae0 0a 0a 0a 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 ...public.function.getRootIdenti
2eb00 66 69 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 72 6f 6f fier().{.if.(null.===.$this->roo
2eb20 74 49 64 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 tIdentifier).{.$this->rootIdenti
2eb40 66 69 65 72 20 3d 20 27 6d 61 73 74 65 72 27 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 fier.=.'master';....$this->proce
2eb60 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 2d 6e 6f 2d 63 6f 6c ss->execute('git.branch.--no-col
2eb80 6f 72 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 24 or',.$output,.$this->repoDir);.$
2eba0 62 72 61 6e 63 68 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 branches.=.$this->process->split
2ebc0 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 29 3b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 27 2a Lines($output);.if.(!in_array('*
2ebe0 20 6d 61 73 74 65 72 27 2c 20 24 62 72 61 6e 63 68 65 73 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 .master',.$branches)).{.foreach.
2ec00 28 24 62 72 61 6e 63 68 65 73 20 61 73 20 24 62 72 61 6e 63 68 29 20 7b 0a 69 66 20 28 24 62 72 ($branches.as.$branch).{.if.($br
2ec20 61 6e 63 68 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5c 2a 20 2b 28 5c 53 2b 29 7d anch.&&.preg_match('{^\*.+(\S+)}
2ec40 27 2c 20 24 62 72 61 6e 63 68 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 6f ',.$branch,.$match)).{.$this->ro
2ec60 6f 74 49 64 65 6e 74 69 66 69 65 72 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 62 72 65 61 6b 3b otIdentifier.=.$match[1];.break;
2ec80 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e .}.}.}.}..return.$this->rootIden
2eca0 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 69 6f 6e 20 67 65 tifier;.}.....public.function.ge
2ecc0 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 0a tUrl().{.return.$this->url;.}...
2ece0 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 69 64 65 ..public.function.getSource($ide
2ed00 6e 74 69 66 69 65 72 29 0a 7b 0a 24 6c 61 62 65 6c 20 3d 20 61 72 72 61 79 5f 73 65 61 72 63 68 ntifier).{.$label.=.array_search
2ed20 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 28 61 72 72 61 79 29 20 24 74 68 69 73 2d 3e 74 61 67 ($identifier,.(array).$this->tag
2ed40 73 29 20 3f 3a 20 24 69 64 65 6e 74 69 66 69 65 72 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 s).?:.$identifier;..return.array
2ed60 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 20 24 74 68 69 73 ('type'.=>.'git',.'url'.=>.$this
2ed80 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 6c 61 62 65 ->getUrl(),.'reference'.=>.$labe
2eda0 6c 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 44 69 73 l);.}.....public.function.getDis
2edc0 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 6c 3b 0a 7d 0a t($identifier).{.return.null;.}.
2ede0 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 72 49 ....public.function.getComposerI
2ee00 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 69 66 20 28 21 69 nformation($identifier).{.if.(!i
2ee20 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 65 6e 74 69 66 69 65 sset($this->infoCache[$identifie
2ee40 72 5d 29 29 20 7b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 73 70 72 69 6e 74 66 28 27 25 73 3a 63 r])).{.$resource.=.sprintf('%s:c
2ee60 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 2c 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 69 omposer.json',.escapeshellarg($i
2ee80 64 65 6e 74 69 66 69 65 72 29 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 dentifier));.$this->process->exe
2eea0 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 24 72 65 73 cute(sprintf('git.show.%s',.$res
2eec0 6f 75 72 63 65 29 2c 20 24 63 6f 6d 70 6f 73 65 72 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 ource),.$composer,.$this->repoDi
2eee0 72 29 3b 0a 0a 69 66 20 28 21 74 72 69 6d 28 24 63 6f 6d 70 6f 73 65 72 29 29 20 7b 0a 72 65 74 r);..if.(!trim($composer)).{.ret
2ef00 75 72 6e 3b 0a 7d 0a 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 urn;.}..$composer.=.JsonFile::pa
2ef20 72 73 65 4a 73 6f 6e 28 24 63 6f 6d 70 6f 73 65 72 2c 20 24 72 65 73 6f 75 72 63 65 29 3b 0a 0a rseJson($composer,.$resource);..
2ef40 69 66 20 28 21 69 73 73 65 74 28 24 63 6f 6d 70 6f 73 65 72 5b 27 74 69 6d 65 27 5d 29 29 20 7b if.(!isset($composer['time'])).{
2ef60 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 73 70 72 69 6e 74 66 .$this->process->execute(sprintf
2ef80 28 27 67 69 74 20 6c 6f 67 20 2d 31 20 2d 2d 66 6f 72 6d 61 74 3d 25 25 61 74 20 25 73 27 2c 20 ('git.log.-1.--format=%%at.%s',.
2efa0 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 69 64 65 6e 74 69 66 69 65 72 29 29 2c 20 24 6f escapeshellarg($identifier)),.$o
2efc0 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 3b 0a 24 64 61 74 65 20 3d 20 utput,.$this->repoDir);.$date.=.
2efe0 6e 65 77 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 new.\DateTime('@'.trim($output),
2f000 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 63 6f 6d .new.\DateTimeZone('UTC'));.$com
2f020 70 6f 73 65 72 5b 27 74 69 6d 65 27 5d 20 3d 20 24 64 61 74 65 2d 3e 66 6f 72 6d 61 74 28 27 59 poser['time'].=.$date->format('Y
2f040 2d 6d 2d 64 20 48 3a 69 3a 73 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 -m-d.H:i:s');.}.$this->infoCache
2f060 5b 24 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 [$identifier].=.$composer;.}..re
2f080 74 75 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 turn.$this->infoCache[$identifie
2f0a0 72 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 67 65 74 54 61 67 r];.}.....public.function.getTag
2f0c0 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 74 61 67 73 29 20 s().{.if.(null.===.$this->tags).
2f0e0 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 20 74 {.$this->process->execute('git.t
2f100 61 67 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 24 ag',.$output,.$this->repoDir);.$
2f120 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 70 6c 69 74 4c 69 output.=.$this->process->splitLi
2f140 6e 65 73 28 24 6f 75 74 70 75 74 29 3b 0a 24 74 68 69 73 2d 3e 74 61 67 73 20 3d 20 24 6f 75 74 nes($output);.$this->tags.=.$out
2f160 70 75 74 20 3f 20 61 72 72 61 79 5f 63 6f 6d 62 69 6e 65 28 24 6f 75 74 70 75 74 2c 20 24 6f 75 put.?.array_combine($output,.$ou
2f180 74 70 75 74 29 20 3a 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 tput).:.array();.}..return.$this
2f1a0 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 69 6f 6e 20 67 65 ->tags;.}.....public.function.ge
2f1c0 74 42 72 61 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 tBranches().{.if.(null.===.$this
2f1e0 2d 3e 62 72 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 ->branches).{.$branches.=.array(
2f200 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 74 65 28 27 67 69 74 );..$this->process->execute('git
2f220 20 62 72 61 6e 63 68 20 2d 2d 6e 6f 2d 63 6f 6c 6f 72 20 2d 2d 6e 6f 2d 61 62 62 72 65 76 20 2d .branch.--no-color.--no-abbrev.-
2f240 76 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 6f v',.$output,.$this->repoDir);.fo
2f260 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 65 reach.($this->process->splitLine
2f280 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 72 s($output).as.$branch).{.if.($br
2f2a0 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 2f 48 anch.&&.!preg_match('{^.*[^/]+/H
2f2c0 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 61 74 EAD.}',.$branch)).{.if.(preg_mat
2f2e0 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 39 5d ch('{^(?:\*.)?.*(\S+).*([a-f0-9]
2f300 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 24 62 +)..*$}',.$branch,.$match)).{.$b
2f320 72 61 6e 63 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 ranches[$match[1]].=.$match[2];.
2f340 7d 0a 7d 0a 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 }.}.}..$this->branches.=.$branch
2f360 65 73 3b 0a 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 es;.}..return.$this->branches;.}
2f380 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 75 70 70 .....public.static.function.supp
2f3a0 6f 72 74 73 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 24 75 72 6c 2c 20 24 64 65 65 orts(IOInterface.$io,.$url,.$dee
2f3c0 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 5e p.=.false).{.if.(preg_match('#(^
2f3e0 67 69 74 3a 2f 2f 7c 5c 2e 67 69 74 24 7c 67 69 74 28 3f 3a 6f 6c 69 74 65 29 3f 40 7c 2f 2f 67 git://|\.git$|git(?:olite)?@|//g
2f400 69 74 5c 2e 7c 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 29 23 69 27 2c 20 24 75 72 6c 29 29 20 7b it\.|//github.com/)#i',.$url)).{
2f420 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 73 74 61 74 69 63 3a 3a 69 .return.true;.}....if.(static::i
2f440 73 4c 6f 63 61 6c 55 72 6c 28 24 75 72 6c 29 29 20 7b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 sLocalUrl($url)).{.if.(!is_dir($
2f460 75 72 6c 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 url)).{.throw.new.\RuntimeExcept
2f480 69 6f 6e 28 27 44 69 72 65 63 74 6f 72 79 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 3a 20 27 ion('Directory.does.not.exist:.'
2f4a0 2e 24 75 72 6c 29 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 .$url);.}..$process.=.new.Proces
2f4c0 73 45 78 65 63 75 74 6f 72 28 29 3b 0a 24 75 72 6c 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 sExecutor();.$url.=.str_replace(
2f4e0 27 66 69 6c 65 3a 2f 2f 27 2c 20 27 27 2c 20 24 75 72 6c 29 3b 0a 0a 20 69 66 20 28 24 70 72 6f 'file://',.'',.$url);...if.($pro
2f500 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 75 74 70 75 74 cess->execute('git.tag',.$output
2f520 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 65 3b 0a 7d 0a ,.$url).===.0).{.return.true;.}.
2f540 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 73 65 3b 0a 7d }..if.(!$deep).{.return.false;.}
2f560 0a 0a 0a 20 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 ....return.false;.}.}.<?php.....
2f580 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
2f5a0 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 61 63 68 65 3b 0a 75 tory\Vcs;..use.Composer\Cache;.u
2f5c0 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 20 43 se.Composer\Json\JsonFile;.use.C
2f5e0 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
2f600 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 75 73 65 20 e.Composer\Util\Filesystem;.use.
2f620 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 0a 75 73 Composer\Util\Svn.as.SvnUtil;.us
2f640 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
2f660 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
2f680 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 76 6e 44 72 69 76 65 72 20 65 78 74 65 ption;......class.SvnDriver.exte
2f6a0 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 20 24 63 61 63 68 65 nds.VcsDriver.{.protected.$cache
2f6c0 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 61 73 65 55 72 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 ;.protected.$baseUrl;.protected.
2f6e0 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 74 $tags;.protected.$branches;.prot
2f700 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 64 ected.$rootIdentifier;.protected
2f720 20 24 69 6e 66 6f 43 61 63 68 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 65 .$infoCache.=.array();..protecte
2f740 64 20 24 74 72 75 6e 6b 50 61 74 68 20 3d 20 27 74 72 75 6e 6b 27 3b 0a 70 72 6f 74 65 63 74 65 d.$trunkPath.=.'trunk';.protecte
2f760 64 20 24 62 72 61 6e 63 68 65 73 50 61 74 68 20 3d 20 27 62 72 61 6e 63 68 65 73 27 3b 0a 70 72 d.$branchesPath.=.'branches';.pr
2f780 6f 74 65 63 74 65 64 20 24 74 61 67 73 50 61 74 68 20 3d 20 27 74 61 67 73 27 3b 0a 70 72 6f 74 otected.$tagsPath.=.'tags';.prot
2f7a0 65 63 74 65 64 20 24 70 61 63 6b 61 67 65 50 61 74 68 20 3d 20 27 27 3b 0a 0a 0a 0a 0a 70 72 69 ected.$packagePath.=.'';.....pri
2f7c0 76 61 74 65 20 24 75 74 69 6c 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 vate.$util;.....public.function.
2f7e0 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 24 74 68 69 initialize().{.$this->url.=.$thi
2f800 73 2d 3e 62 61 73 65 55 72 6c 20 3d 20 72 74 72 69 6d 28 73 65 6c 66 3a 3a 6e 6f 72 6d 61 6c 69 s->baseUrl.=.rtrim(self::normali
2f820 7a 65 55 72 6c 28 24 74 68 69 73 2d 3e 75 72 6c 29 2c 20 27 2f 27 29 3b 0a 0a 69 66 20 28 69 73 zeUrl($this->url),.'/');..if.(is
2f840 73 65 74 28 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 74 set($this->repoConfig['trunk-pat
2f860 68 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 74 72 75 6e 6b 50 61 74 68 20 3d 20 24 74 68 69 73 h'])).{.$this->trunkPath.=.$this
2f880 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 74 72 75 6e 6b 2d 70 61 74 68 27 5d 3b 0a 7d 0a 69 66 ->repoConfig['trunk-path'];.}.if
2f8a0 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 27 62 72 61 6e 63 .(isset($this->repoConfig['branc
2f8c0 68 65 73 2d 70 61 74 68 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 50 61 hes-path'])).{.$this->branchesPa
2f8e0 74 68 20 3d 20 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 65 73 th.=.$this->repoConfig['branches
2f900 2d 70 61 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 -path'];.}.if.(isset($this->repo
2f920 43 6f 6e 66 69 67 5b 27 74 61 67 73 2d 70 61 74 68 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 74 Config['tags-path'])).{.$this->t
2f940 61 67 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 5b 27 74 61 67 agsPath.=.$this->repoConfig['tag
2f960 73 2d 70 61 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 s-path'];.}.if.(isset($this->rep
2f980 6f 43 6f 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 oConfig['package-path'])).{.$thi
2f9a0 73 2d 3e 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 s->packagePath.=.'/'...trim($thi
2f9c0 73 2d 3e 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 s->repoConfig['package-path'],.'
2f9e0 2f 27 29 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 /');.}..if.(false.!==.($pos.=.st
2fa00 72 72 70 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 rrpos($this->url,.'/'...$this->t
2fa20 72 75 6e 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 runkPath))).{.$this->baseUrl.=.s
2fa40 75 62 73 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 ubstr($this->url,.0,.$pos);.}..$
2fa60 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 69 this->cache.=.new.Cache($this->i
2fa80 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 70 o,.$this->config->get('cache-rep
2faa0 6f 2d 64 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 o-dir').'/'.preg_replace('{[^a-z
2fac0 30 2d 39 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 0-9.]}i',.'-',.$this->baseUrl));
2fae0 0a 0a 24 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 ..$this->getBranches();.$this->g
2fb00 65 74 54 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 etTags();.}.....public.function.
2fb20 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
2fb40 69 73 2d 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 is->rootIdentifier.?:.$this->tru
2fb60 6e 6b 50 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 nkPath;.}.....public.function.ge
2fb80 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 0a tUrl().{.return.$this->url;.}...
2fba0 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 69 64 65 ..public.function.getSource($ide
2fbc0 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 79 70 65 27 20 3d ntifier).{.return.array('type'.=
2fbe0 3e 20 27 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 >.'svn',.'url'.=>.$this->baseUrl
2fc00 2c 20 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 ,.'reference'.=>.$identifier);.}
2fc20 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 28 24 69 64 .....public.function.getDist($id
2fc40 65 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 entifier).{.return.null;.}.....p
2fc60 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 6d ublic.function.getComposerInform
2fc80 61 74 69 6f 6e 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 69 64 65 6e 74 69 66 69 65 72 ation($identifier).{.$identifier
2fca0 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 29 20 .=.'/'...trim($identifier,.'/').
2fcc0 2e 20 27 2f 27 3b 0a 0a 69 66 20 28 24 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 63 61 63 68 65 2d ..'/';..if.($res.=.$this->cache-
2fce0 3e 72 65 61 64 28 24 69 64 65 6e 74 69 66 69 65 72 2e 27 2e 6a 73 6f 6e 27 29 29 20 7b 0a 24 74 >read($identifier.'.json')).{.$t
2fd00 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 20 3d 20 4a 73 his->infoCache[$identifier].=.Js
2fd20 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 72 65 73 29 3b 0a 7d 0a 0a 69 66 20 28 onFile::parseJson($res);.}..if.(
2fd40 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 65 6e 74 69 66 !isset($this->infoCache[$identif
2fd60 69 65 72 5d 29 29 20 7b 0a 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 2e 2b 3f 29 28 40 5c 64 ier])).{.preg_match('{^(.+?)(@\d
2fd80 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 69 +)?/$}',.$identifier,.$match);.i
2fda0 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 20 f.(!empty($match[2])).{.$path.=.
2fdc0 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 65 $match[1];.$rev.=.$match[2];.}.e
2fde0 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 20 lse.{.$path.=.$identifier;.$rev.
2fe00 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 68 =.'';.}..try.{.$resource.=.$path
2fe20 2e 27 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 3b 0a 24 6f 75 74 70 75 74 20 3d 20 24 74 68 69 .'composer.json';.$output.=.$thi
2fe40 73 2d 3e 65 78 65 63 75 74 65 28 27 73 76 6e 20 63 61 74 27 2c 20 24 74 68 69 73 2d 3e 62 61 73 s->execute('svn.cat',.$this->bas
2fe60 65 55 72 6c 20 2e 20 24 72 65 73 6f 75 72 63 65 20 2e 20 24 72 65 76 29 3b 0a 69 66 20 28 21 74 eUrl...$resource...$rev);.if.(!t
2fe80 72 69 6d 28 24 6f 75 74 70 75 74 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 20 63 61 74 63 rim($output)).{.return;.}.}.catc
2fea0 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 74 68 72 6f 77 h.(\RuntimeException.$e).{.throw
2fec0 20 6e 65 77 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 .new.TransportException($e->getM
2fee0 65 73 73 61 67 65 28 29 29 3b 0a 7d 0a 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 4a 73 6f 6e 46 69 essage());.}..$composer.=.JsonFi
2ff00 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 62 61 le::parseJson($output,.$this->ba
2ff20 73 65 55 72 6c 20 2e 20 24 72 65 73 6f 75 72 63 65 20 2e 20 24 72 65 76 29 3b 0a 0a 69 66 20 28 seUrl...$resource...$rev);..if.(
2ff40 21 69 73 73 65 74 28 24 63 6f 6d 70 6f 73 65 72 5b 27 74 69 6d 65 27 5d 29 29 20 7b 0a 24 6f 75 !isset($composer['time'])).{.$ou
2ff60 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 66 6f 27 tput.=.$this->execute('svn.info'
2ff80 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 65 76 29 ,.$this->baseUrl...$path...$rev)
2ffa0 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
2ffc0 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 20 28 24 Lines($output).as.$line).{.if.($
2ffe0 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 61 6e 67 line.&&.preg_match('{^Last.Chang
30000 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 61 74 63 ed.Date:.([^(]+)}',.$line,.$matc
30020 68 29 29 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 6d 61 74 h)).{.$date.=.new.\DateTime($mat
30040 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 29 29 ch[1],.new.\DateTimeZone('UTC'))
30060 3b 0a 24 63 6f 6d 70 6f 73 65 72 5b 27 74 69 6d 65 27 5d 20 3d 20 24 64 61 74 65 2d 3e 66 6f 72 ;.$composer['time'].=.$date->for
30080 6d 61 74 28 27 59 2d 6d 2d 64 20 48 3a 69 3a 73 27 29 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d mat('Y-m-d.H:i:s');.break;.}.}.}
300a0 0a 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
300c0 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
300e0 29 29 3b 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 69 65 72 ));.$this->infoCache[$identifier
30100 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 73 2d 3e ].=.$composer;.}..return.$this->
30120 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 0a 70 75 infoCache[$identifier];.}.....pu
30140 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 75 blic.function.getTags().{.if.(nu
30160 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 67 ll.===.$this->tags).{.$this->tag
30180 73 20 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 s.=.array();..if.($this->tagsPat
301a0 68 20 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 h.!==.false).{.$output.=.$this->
301c0 65 78 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 execute('svn.ls.--verbose',.$thi
301e0 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 61 67 73 50 61 s->baseUrl...'/'...$this->tagsPa
30200 74 68 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 th);.if.($output).{.foreach.($th
30220 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 29 is->process->splitLines($output)
30240 20 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 .as.$line).{.$line.=.trim($line)
30260 3b 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 ;.if.($line.&&.preg_match('{^\s*
30280 28 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 (\S+).*?(\S+)\s*$}',.$line,.$mat
302a0 63 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 ch)).{.if.(isset($match[1]).&&.i
302c0 73 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 21 3d 3d sset($match[2]).&&.$match[2].!==
302e0 20 27 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 .'./').{.$this->tags[rtrim($matc
30300 68 5b 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 h[2],.'/')].=.$this->buildIdenti
30320 66 69 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 fier(.'/'...$this->tagsPath...'/
30340 27 20 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 '...$match[2],.$match[1].);.}.}.
30360 7d 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 0a 0a }.}.}.}..return.$this->tags;.}..
30380 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 28 29 ...public.function.getBranches()
303a0 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 73 29 .{.if.(null.===.$this->branches)
303c0 20 7b 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 24 .{.$this->branches.=.array();..$
303e0 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 6c 73 20 output.=.$this->execute('svn.ls.
30400 2d 2d 76 65 72 62 6f 73 65 27 2c 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 2e 20 27 2f 27 --verbose',.$this->baseUrl...'/'
30420 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
30440 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
30460 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);.
30480 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*(\
304a0 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
304c0 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
304e0 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 24 et($match[2]).&&.$match[2].===.$
30500 74 68 69 73 2d 3e 74 72 75 6e 6b 50 61 74 68 20 2e 20 27 2f 27 29 20 7b 0a 24 74 68 69 73 2d 3e this->trunkPath...'/').{.$this->
30520 62 72 61 6e 63 68 65 73 5b 24 74 68 69 73 2d 3e 74 72 75 6e 6b 50 61 74 68 5d 20 3d 20 24 74 68 branches[$this->trunkPath].=.$th
30540 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 20 24 74 68 69 73 is->buildIdentifier(.'/'...$this
30560 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 24 74 68 69 73 2d ->trunkPath,.$match[1].);.$this-
30580 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 72 61 6e 63 68 65 >rootIdentifier.=.$this->branche
305a0 73 5b 24 74 68 69 73 2d 3e 74 72 75 6e 6b 50 61 74 68 5d 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a s[$this->trunkPath];.break;.}.}.
305c0 7d 0a 7d 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 }.}.unset($output);..if.($this->
305e0 62 72 61 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 branchesPath.!==.false).{.$outpu
30600 74 20 3d 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 t.=.$this->execute('svn.ls.--ver
30620 62 6f 73 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 bose',.$this->baseUrl...'/'...$t
30640 68 69 73 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 his->branchesPath);.if.($output)
30660 20 7b 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 .{.foreach.($this->process->spli
30680 74 4c 69 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 tLines(trim($output)).as.$line).
306a0 7b 0a 24 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 {.$line.=.trim($line);.if.($line
306c0 20 26 26 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 .&&.preg_match('{^\s*(\S+).*?(\S
306e0 2b 29 5c 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 +)\s*$}',.$line,.$match)).{.if.(
30700 69 73 73 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 isset($match[1]).&&.isset($match
30720 5b 32 5d 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 [2]).&&.$match[2].!==.'./').{.$t
30740 68 69 73 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 his->branches[rtrim($match[2],.'
30760 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 65 72 28 0a 27 /')].=.$this->buildIdentifier(.'
30780 2f 27 20 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 /'...$this->branchesPath...'/'..
307a0 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 7d .$match[2],.$match[1].);.}.}.}.}
307c0 0a 7d 0a 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 .}.}..return.$this->branches;.}.
307e0 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 75 70 70 6f ....public.static.function.suppo
30800 72 74 73 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 24 75 72 6c 2c 20 24 64 65 65 70 rts(IOInterface.$io,.$url,.$deep
30820 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 75 72 6c 20 3d 20 73 65 6c 66 3a 3a 6e 6f 72 6d 61 6c 69 .=.false).{.$url.=.self::normali
30840 7a 65 55 72 6c 28 24 75 72 6c 29 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 28 5e zeUrl($url);.if.(preg_match('#(^
30860 73 76 6e 3a 2f 2f 7c 5e 73 76 6e 5c 2b 73 73 68 3a 2f 2f 7c 73 76 6e 5c 2e 29 23 69 27 2c 20 24 svn://|^svn\+ssh://|svn\.)#i',.$
30880 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 66 20 28 21 24 url)).{.return.true;.}....if.(!$
308a0 64 65 65 70 20 26 26 20 21 73 74 61 74 69 63 3a 3a 69 73 4c 6f 63 61 6c 55 72 6c 28 24 75 72 6c deep.&&.!static::isLocalUrl($url
308c0 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 45 78 )).{.return.false;.}..$processEx
308e0 65 63 75 74 6f 72 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 29 3b 0a ecutor.=.new.ProcessExecutor();.
30900 0a 24 65 78 69 74 20 3d 20 24 70 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 2d 3e 65 78 65 63 75 .$exit.=.$processExecutor->execu
30920 74 65 28 0a 22 73 76 6e 20 69 6e 66 6f 20 2d 2d 6e 6f 6e 2d 69 6e 74 65 72 61 63 74 69 76 65 20 te(."svn.info.--non-interactive.
30940 7b 24 75 72 6c 7d 22 2c 0a 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 0a 29 3b 0a 0a 69 66 20 28 {$url}",.$ignoredOutput.);..if.(
30960 24 65 78 69 74 20 3d 3d 3d 20 30 29 20 7b 0a 0a 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a $exit.===.0).{...return.true;.}.
30980 0a 69 66 20 28 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 .if.(false.!==.stripos($processE
309a0 78 65 63 75 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 2c 20 27 61 75 74 68 xecutor->getErrorOutput(),.'auth
309c0 6f 72 69 7a 61 74 69 6f 6e 20 66 61 69 6c 65 64 3a 27 29 29 20 7b 0a 0a 20 0a 20 72 65 74 75 72 orization.failed:')).{.....retur
309e0 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 0a 0a n.true;.}..return.false;.}......
30a00 0a 0a 0a 70 72 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 ...protected.static.function.nor
30a20 6d 61 6c 69 7a 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 malizeUrl($url).{.$fs.=.new.File
30a40 73 79 73 74 65 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 system();.if.($fs->isAbsolutePat
30a60 68 28 24 75 72 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 h($url)).{.return.'file://'...st
30a80 72 74 72 28 24 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 rtr($url,.'\\',.'/');.}..return.
30aa0 24 75 72 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 66 75 6e 63 $url;.}...........protected.func
30ac0 74 69 6f 6e 20 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 tion.execute($command,.$url).{.i
30ae0 66 20 28 6e 75 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 f.(null.===.$this->util).{.$this
30b00 2d 3e 75 74 69 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 ->util.=.new.SvnUtil($this->base
30b20 55 72 6c 2c 20 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 29 3b Url,.$this->io,.$this->process);
30b40 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 6c 2d 3e 65 78 .}..try.{.return.$this->util->ex
30b60 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 74 63 68 20 28 ecute($command,.$url);.}.catch.(
30b80 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 30 20 21 3d \RuntimeException.$e).{.if.(0.!=
30ba0 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 76 6e 20 2d =.$this->process->execute('svn.-
30bc0 2d 76 65 72 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 -version',.$ignoredOutput)).{.th
30be0 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
30c00 64 20 74 6f 20 6c 6f 61 64 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 2c 20 73 76 6e 20 77 61 d.to.load.'.$this->url.',.svn.wa
30c20 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 63 68 65 63 6b 20 74 68 61 74 20 69 74 20 69 73 20 69 6e s.not.found,.check.that.it.is.in
30c40 73 74 61 6c 6c 65 64 20 61 6e 64 20 69 6e 20 79 6f 75 72 20 50 41 54 48 20 65 6e 76 2e 27 20 2e stalled.and.in.your.PATH.env.'..
30c60 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
30c80 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 orOutput());.}..throw.new.\Runti
30ca0 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 27 52 65 70 6f 73 69 74 6f 72 79 20 27 2e 24 74 68 69 73 meException(.'Repository.'.$this
30cc0 2d 3e 75 72 6c 2e 27 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 70 72 6f 63 65 73 73 65 64 2c 20 ->url.'.could.not.be.processed,.
30ce0 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 0a 0a '.$e->getMessage().);.}.}.......
30d00 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 49 64 65 6e 74 ...protected.function.buildIdent
30d20 69 66 69 65 72 28 24 62 61 73 65 44 69 72 2c 20 24 72 65 76 69 73 69 6f 6e 29 0a 7b 0a 72 65 74 ifier($baseDir,.$revision).{.ret
30d40 75 72 6e 20 72 74 72 69 6d 28 24 62 61 73 65 44 69 72 2c 20 27 2f 27 29 20 2e 20 24 74 68 69 73 urn.rtrim($baseDir,.'/')...$this
30d60 2d 3e 70 61 63 6b 61 67 65 50 61 74 68 20 2e 20 27 2f 40 27 20 2e 20 24 72 65 76 69 73 69 6f 6e ->packagePath...'/@'...$revision
30d80 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
30da0 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 0a 75 73 65 20 43 .Composer\Repository\Vcs;..use.C
30dc0 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 69 6e 74 65 omposer\IO\IOInterface;.....inte
30de0 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 7b 0a 0a 0a 0a 70 75 rface.VcsDriverInterface.{....pu
30e00 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 3b 0a 0a 0a 0a 0a blic.function.initialize();.....
30e20 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 72 49 6e ...public.function.getComposerIn
30e40 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 0a 0a 0a 0a 0a 70 75 formation($identifier);.......pu
30e60 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 28 blic.function.getRootIdentifier(
30e80 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 42 72 61 6e );.......public.function.getBran
30ea0 63 68 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 ches();.......public.function.ge
30ec0 74 54 61 67 73 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 67 65 tTags();......public.function.ge
30ee0 74 44 69 73 74 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 tDist($identifier);......public.
30f00 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 3b function.getSource($identifier);
30f20 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 72 6c 28 29 3b .......public.function.getUrl();
30f40 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 43 6f 6d 70 .........public.function.hasComp
30f60 6f 73 65 72 46 69 6c 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a oserFile($identifier);..........
30f80 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 28 public.static.function.supports(
30fa0 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 24 75 72 6c 2c 20 24 64 65 65 70 20 3d 20 66 IOInterface.$io,.$url,.$deep.=.f
30fc0 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 6e 61 6d 65 73 70 alse);.}.<?php............namesp
30fe0 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 0a 75 73 ace.Composer\Repository\Vcs;..us
31000 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 20 43 6f e.Composer\Json\JsonFile;.use.Co
31020 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
31040 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 75 73 65 20 43 .Composer\Util\Filesystem;.use.C
31060 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 6c 61 73 omposer\IO\IOInterface;.....clas
31080 73 20 48 67 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 s.HgDriver.extends.VcsDriver.{.p
310a0 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 20 24 62 72 61 6e 63 rotected.$tags;.protected.$branc
310c0 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 69 66 69 65 72 3b 0a hes;.protected.$rootIdentifier;.
310e0 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f 44 69 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 protected.$repoDir;.protected.$i
31100 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 20 66 nfoCache.=.array();.....public.f
31120 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 69 66 20 28 73 74 61 74 69 unction.initialize().{.if.(stati
31140 63 3a 3a 69 73 4c 6f 63 61 6c 55 72 6c 28 24 74 68 69 73 2d 3e 75 72 6c 29 29 20 7b 0a 24 74 68 c::isLocalUrl($this->url)).{.$th
31160 69 73 2d 3e 72 65 70 6f 44 69 72 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 66 69 6c 65 3a is->repoDir.=.str_replace('file:
31180 2f 2f 27 2c 20 27 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 //',.'',.$this->url);.}.else.{.$
311a0 63 61 63 68 65 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 cacheDir.=.$this->config->get('c
311c0 61 63 68 65 2d 76 63 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 ache-vcs-dir');.$this->repoDir.=
311e0 20 24 63 61 63 68 65 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 .$cacheDir...'/'...preg_replace(
31200 27 7b 5b 5e 61 2d 7a 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 '{[^a-z0-9]}i',.'-',.$this->url)
31220 20 2e 20 27 2f 27 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 ...'/';..$fs.=.new.Filesystem();
31240 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 63 61 63 .$fs->ensureDirectoryExists($cac
31260 68 65 44 69 72 29 3b 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 heDir);..if.(!is_writable(dirnam
31280 65 28 24 74 68 69 73 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 e($this->repoDir))).{.throw.new.
312a0 5c 52 75 6e 74 69 6d 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 \RuntimeException('Can.not.clone
312c0 20 27 2e 24 74 68 69 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 .'.$this->url.'.to.access.packag
312e0 65 20 69 6e 66 6f 72 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 e.information..The."'.$cacheDir.
31300 27 22 20 64 69 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 '".directory.is.not.writable.by.
31320 74 68 65 20 63 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 the.current.user.');.}....if.(is
31340 5f 64 69 72 28 24 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 _dir($this->repoDir).&&.0.===.$t
31360 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 73 75 6d 6d 61 72 his->process->execute('hg.summar
31380 79 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 20 7b 0a y',.$output,.$this->repoDir)).{.
313a0 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
313c0 65 28 27 68 67 20 70 75 6c 6c 20 2d 75 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e e('hg.pull.-u',.$output,.$this->
313e0 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 28 27 3c 65 repoDir)).{.$this->io->write('<e
31400 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 74 68 69 73 2d 3e 75 rror>Failed.to.update.'.$this->u
31420 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 20 66 72 6f 6d 20 74 rl.',.package.information.from.t
31440 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 64 61 74 65 64 20 28 his.repository.may.be.outdated.(
31460 27 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 '.$this->process->getErrorOutput
31480 28 29 2e 27 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 ().')</error>');.}.}.else.{...$f
314a0 73 2d 3e 72 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 s->removeDirectory($this->repoDi
314c0 72 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 3e 65 r);..if.(0.!==.$this->process->e
314e0 78 65 63 75 74 65 28 73 70 72 69 6e 74 66 28 27 68 67 20 63 6c 6f 6e 65 20 25 73 20 25 73 27 2c xecute(sprintf('hg.clone.%s.%s',
31500 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 74 68 69 73 2d 3e 75 72 6c 29 2c 20 65 73 63 .escapeshellarg($this->url),.esc
31520 61 70 65 73 68 65 6c 6c 61 72 67 28 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 29 2c 20 24 6f apeshellarg($this->repoDir)),.$o
31540 75 74 70 75 74 2c 20 24 63 61 63 68 65 44 69 72 29 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 utput,.$cacheDir)).{.$output.=.$
31560 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 3b this->process->getErrorOutput();
31580 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
315a0 75 74 65 28 27 68 67 20 2d 2d 76 65 72 73 69 6f 6e 27 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 ute('hg.--version',.$ignoredOutp
315c0 75 74 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 ut)).{.throw.new.\RuntimeExcepti
315e0 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 3e 75 72 6c on('Failed.to.clone.'.$this->url
31600 2e 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 .',.hg.was.not.found,.check.that
31620 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 50 41 54 .it.is.installed.and.in.your.PAT
31640 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 63 65 73 H.env.'..."\n\n"...$this->proces
31660 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 77 20 6e s->getErrorOutput());.}..throw.n
31680 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.
316a0 63 6c 6f 6e 65 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 clone.'.$this->url.',.could.not.
316c0 72 65 61 64 20 70 61 63 6b 61 67 65 73 20 66 72 6f 6d 20 69 74 27 20 2e 20 22 5c 6e 5c 6e 22 20 read.packages.from.it'..."\n\n".
316e0 2e 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 67 65 74 54 61 67 73 .$output);.}.}.}..$this->getTags
31700 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();.}.....
31720 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
31740 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
31760 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
31780 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."
317a0 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
317c0 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
317e0 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
31800 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
31820 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
31840 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
31860 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
31880 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 24 6c 61 62 on.getSource($identifier).{.$lab
318a0 65 6c 20 3d 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 2c 20 28 el.=.array_search($identifier,.(
318c0 61 72 72 61 79 29 20 24 74 68 69 73 2d 3e 74 61 67 73 29 20 3f 20 3a 20 24 69 64 65 6e 74 69 66 array).$this->tags).?.:.$identif
318e0 69 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 68 67 ier;..return.array('type'.=>.'hg
31900 27 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 27 72 65 ',.'url'.=>.$this->getUrl(),.'re
31920 66 65 72 65 6e 63 65 27 20 3d 3e 20 24 6c 61 62 65 6c 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 ference'.=>.$label);.}.....publi
31940 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 72 29 0a c.function.getDist($identifier).
31960 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 75 6e 63 {.return.null;.}.....public.func
31980 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 65 tion.getComposerInformation($ide
319a0 6e 74 69 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 ntifier).{.if.(!isset($this->inf
319c0 6f 43 61 63 68 65 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 oCache[$identifier])).{.$this->p
319e0 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 73 70 72 69 6e 74 66 28 27 68 67 20 63 61 74 20 rocess->execute(sprintf('hg.cat.
31a00 2d 72 20 25 73 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 2c 20 65 73 63 61 70 65 73 68 65 6c -r.%s.composer.json',.escapeshel
31a20 6c 61 72 67 28 24 69 64 65 6e 74 69 66 69 65 72 29 29 2c 20 24 63 6f 6d 70 6f 73 65 72 2c 20 24 larg($identifier)),.$composer,.$
31a40 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 6d 70 this->repoDir);..if.(!trim($comp
31a60 6f 73 65 72 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 oser)).{.return;.}..$composer.=.
31a80 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 73 65 72 2c 20 24 JsonFile::parseJson($composer,.$
31aa0 69 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 63 6f 6d 70 6f 73 identifier);..if.(!isset($compos
31ac0 65 72 5b 27 74 69 6d 65 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 er['time'])).{.$this->process->e
31ae0 78 65 63 75 74 65 28 73 70 72 69 6e 74 66 28 27 68 67 20 6c 6f 67 20 2d 2d 74 65 6d 70 6c 61 74 xecute(sprintf('hg.log.--templat
31b00 65 20 22 7b 64 61 74 65 7c 72 66 63 38 32 32 64 61 74 65 7d 22 20 2d 72 20 25 73 27 2c 20 65 73 e."{date|rfc822date}".-r.%s',.es
31b20 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 69 64 65 6e 74 69 66 69 65 72 29 29 2c 20 24 6f 75 74 capeshellarg($identifier)),.$out
31b40 70 75 74 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 3b 0a 24 64 61 74 65 20 3d 20 6e 65 put,.$this->repoDir);.$date.=.ne
31b60 77 20 5c 44 61 74 65 54 69 6d 65 28 74 72 69 6d 28 24 6f 75 74 70 75 74 29 2c 20 6e 65 77 20 5c w.\DateTime(trim($output),.new.\
31b80 44 61 74 65 54 69 6d 65 5a 6f 6e 65 28 27 55 54 43 27 29 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 5b DateTimeZone('UTC'));.$composer[
31ba0 27 74 69 6d 65 27 5d 20 3d 20 24 64 61 74 65 2d 3e 66 6f 72 6d 61 74 28 27 59 2d 6d 2d 64 20 48 'time'].=.$date->format('Y-m-d.H
31bc0 3a 69 3a 73 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 65 6e :i:s');.}.$this->infoCache[$iden
31be0 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 20 24 tifier].=.$composer;.}..return.$
31c00 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 0a this->infoCache[$identifier];.}.
31c20 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 0a 7b 0a ....public.function.getTags().{.
31c40 69 66 20 28 6e 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 61 67 if.(null.===.$this->tags).{.$tag
31c60 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 78 s.=.array();..$this->process->ex
31c80 65 63 75 74 65 28 27 68 67 20 74 61 67 73 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d ecute('hg.tags',.$output,.$this-
31ca0 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 65 >repoDir);.foreach.($this->proce
31cc0 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 74 61 67 29 ss->splitLines($output).as.$tag)
31ce0 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 28 5e 28 5b 5e .{.if.($tag.&&.preg_match('(^([^
31d00 5c 73 5d 2b 29 5c 73 2b 5c 64 2b 3a 28 2e 2a 29 24 29 27 2c 20 24 74 61 67 2c 20 24 6d 61 74 63 \s]+)\s+\d+:(.*)$)',.$tag,.$matc
31d20 68 29 29 20 7b 0a 24 74 61 67 73 5b 24 6d 61 74 63 68 5b 31 5d 5d 20 3d 20 24 6d 61 74 63 68 5b h)).{.$tags[$match[1]].=.$match[
31d40 32 5d 3b 0a 7d 0a 7d 0a 75 6e 73 65 74 28 24 74 61 67 73 5b 27 74 69 70 27 5d 29 3b 0a 0a 24 74 2];.}.}.unset($tags['tip']);..$t
31d60 68 69 73 2d 3e 74 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 his->tags.=.$tags;.}..return.$th
31d80 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 69 6f 6e 20 is->tags;.}.....public.function.
31da0 67 65 74 42 72 61 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 getBranches().{.if.(null.===.$th
31dc0 69 73 2d 3e 62 72 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 is->branches).{.$branches.=.arra
31de0 79 28 29 3b 0a 24 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 y();.$bookmarks.=.array();..$thi
31e00 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 65 73 s->process->execute('hg.branches
31e20 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 6f 72 ',.$output,.$this->repoDir);.for
31e40 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 65 73 each.($this->process->splitLines
31e60 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 72 61 ($output).as.$branch).{.if.($bra
31e80 6e 63 68 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 28 5e 28 5b 5e 5c 73 5d 2b 29 5c 73 2b nch.&&.preg_match('(^([^\s]+)\s+
31ea0 5c 64 2b 3a 28 5b 61 2d 66 30 2d 39 5d 2b 29 29 27 2c 20 24 62 72 61 6e 63 68 2c 20 24 6d 61 74 \d+:([a-f0-9]+))',.$branch,.$mat
31ec0 63 68 29 29 20 7b 0a 24 62 72 61 6e 63 68 65 73 5b 24 6d 61 74 63 68 5b 31 5d 5d 20 3d 20 24 6d ch)).{.$branches[$match[1]].=.$m
31ee0 61 74 63 68 5b 32 5d 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 atch[2];.}.}..$this->process->ex
31f00 65 63 75 74 65 28 27 68 67 20 62 6f 6f 6b 6d 61 72 6b 73 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 ecute('hg.bookmarks',.$output,.$
31f20 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 68 69 73 2d 3e this->repoDir);.foreach.($this->
31f40 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.
31f60 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 70 72 65 67 5f 6d $branch).{.if.($branch.&&.preg_m
31f80 61 74 63 68 28 27 28 5e 28 3f 3a 5b 5c 73 2a 5d 2a 29 28 5b 5e 5c 73 5d 2b 29 5c 73 2b 5c 64 2b atch('(^(?:[\s*]*)([^\s]+)\s+\d+
31fa0 3a 28 2e 2a 29 24 29 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 :(.*)$)',.$branch,.$match)).{.$b
31fc0 6f 6f 6b 6d 61 72 6b 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 ookmarks[$match[1]].=.$match[2];
31fe0 0a 7d 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 20 3d 20 61 72 72 61 79 5f .}.}....$this->branches.=.array_
32000 6d 65 72 67 65 28 24 62 6f 6f 6b 6d 61 72 6b 73 2c 20 24 62 72 61 6e 63 68 65 73 29 3b 0a 7d 0a merge($bookmarks,.$branches);.}.
32020 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 0a 70 .return.$this->branches;.}.....p
32040 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 28 49 ublic.static.function.supports(I
32060 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 24 75 72 6c 2c 20 24 64 65 65 70 20 3d 20 66 61 OInterface.$io,.$url,.$deep.=.fa
32080 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 5e 28 3f 3a 68 74 74 lse).{.if.(preg_match('#(^(?:htt
320a0 70 73 3f 7c 73 73 68 29 3a 2f 2f 28 3f 3a 5b 5e 40 5d 40 29 3f 62 69 74 62 75 63 6b 65 74 2e 6f ps?|ssh)://(?:[^@]@)?bitbucket.o
320c0 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)#
320e0 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
32100 66 20 28 73 74 61 74 69 63 3a 3a 69 73 4c 6f 63 61 6c 55 72 6c 28 24 75 72 6c 29 29 20 7b 0a 69 f.(static::isLocalUrl($url)).{.i
32120 66 20 28 21 69 73 5f 64 69 72 28 24 75 72 6c 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 f.(!is_dir($url)).{.throw.new.\R
32140 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 44 69 72 65 63 74 6f 72 79 20 64 6f 65 73 20 untimeException('Directory.does.
32160 6e 6f 74 20 65 78 69 73 74 3a 20 27 2e 24 75 72 6c 29 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 20 not.exist:.'.$url);.}..$process.
32180 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 29 3b 0a 24 75 72 6c 20 3d 20 =.new.ProcessExecutor();.$url.=.
321a0 73 74 72 5f 72 65 70 6c 61 63 65 28 27 66 69 6c 65 3a 2f 2f 27 2c 20 27 27 2c 20 24 75 72 6c 29 str_replace('file://',.'',.$url)
321c0 3b 0a 0a 20 69 66 20 28 24 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 68 67 20 73 75 ;...if.($process->execute('hg.su
321e0 6d 6d 61 72 79 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 75 72 6c 29 20 3d 3d 3d 20 30 29 20 7b 0a mmary',.$output,.$url).===.0).{.
32200 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 64 65 65 70 29 20 7b 0a return.true;.}.}..if.(!$deep).{.
32220 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 45 78 65 63 75 74 6f return.false;.}..$processExecuto
32240 72 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 29 3b 0a 24 65 78 69 74 r.=.new.ProcessExecutor();.$exit
32260 20 3d 20 24 70 72 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 .=.$processExecutor->execute(spr
32280 69 6e 74 66 28 27 68 67 20 69 64 65 6e 74 69 66 79 20 25 73 27 2c 20 65 73 63 61 70 65 73 68 65 intf('hg.identify.%s',.escapeshe
322a0 6c 6c 61 72 67 28 24 75 72 6c 29 29 2c 20 24 69 67 6e 6f 72 65 64 29 3b 0a 0a 72 65 74 75 72 6e llarg($url)),.$ignored);..return
322c0 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 0a 0a 0a .$exit.===.0;.}.}.<?php.........
322e0 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
32300 5c 56 63 73 3b 0a 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 \Vcs;..use.Composer\Downloader\T
32320 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 5c ransportException;.use.Composer\
32340 43 6f 6e 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 Config;.use.Composer\IO\IOInterf
32360 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 6f 63 65 73 73 45 78 ace;.use.Composer\Util\ProcessEx
32380 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 65 6d 6f 74 65 ecutor;.use.Composer\Util\Remote
323a0 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 6c 61 73 73 Filesystem;.......abstract.class
323c0 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 76 65 72 49 .VcsDriver.implements.VcsDriverI
323e0 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 75 72 6c 3b 0a 70 72 6f 74 65 nterface.{.protected.$url;.prote
32400 63 74 65 64 20 24 6f 72 69 67 69 6e 55 72 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f cted.$originUrl;.protected.$repo
32420 43 6f 6e 66 69 67 3b 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 Config;.protected.$io;.protected
32440 20 24 63 6f 6e 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 .$config;.protected.$process;.pr
32460 6f 74 65 63 74 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 otected.$remoteFilesystem;......
32480 0a 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 .....final.public.function.__con
324a0 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 49 6e 74 65 struct(array.$repoConfig,.IOInte
324c0 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 65 rface.$io,.Config.$config,.Proce
324e0 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 6f ssExecutor.$process.=.null,.Remo
32500 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 3d teFilesystem.$remoteFilesystem.=
32520 20 6e 75 6c 6c 29 0a 7b 0a 0a 69 66 20 28 73 65 6c 66 3a 3a 69 73 4c 6f 63 61 6c 55 72 6c 28 24 .null).{..if.(self::isLocalUrl($
32540 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 43 6f 6e 66 69 repoConfig['url'])).{.$repoConfi
32560 67 5b 27 75 72 6c 27 5d 20 3d 20 72 65 61 6c 70 61 74 68 28 0a 70 72 65 67 5f 72 65 70 6c 61 63 g['url'].=.realpath(.preg_replac
32580 65 28 27 2f 5e 66 69 6c 65 3a 5c 2f 5c 2f 2f 27 2c 20 27 27 2c 20 24 72 65 70 6f 43 6f 6e 66 69 e('/^file:\/\//',.'',.$repoConfi
325a0 67 5b 27 75 72 6c 27 5d 29 0a 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 24 72 65 g['url']).);.}..$this->url.=.$re
325c0 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 3b 0a 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 poConfig['url'];.$this->originUr
325e0 6c 20 3d 20 24 72 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 72 l.=.$repoConfig['url'];.$this->r
32600 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 24 74 68 69 73 2d 3e epoConfig.=.$repoConfig;.$this->
32620 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 69 io.=.$io;.$this->config.=.$confi
32640 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 20 3f 3a 20 g;.$this->process.=.$process.?:.
32660 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 24 74 68 69 73 2d 3e 72 65 6d 6f new.ProcessExecutor;.$this->remo
32680 74 65 46 69 6c 65 73 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 teFilesystem.=.$remoteFilesystem
326a0 20 3f 3a 20 6e 65 77 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 69 6f 29 3b 0a 7d .?:.new.RemoteFilesystem($io);.}
326c0 0a 0a 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 .....public.function.hasComposer
326e0 46 69 6c 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e File($identifier).{.try.{.return
32700 20 28 62 6f 6f 6c 29 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d .(bool).$this->getComposerInform
32720 61 74 69 6f 6e 28 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 ation($identifier);.}.catch.(Tra
32740 6e 73 70 6f 72 74 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 nsportException.$e).{.}..return.
32760 66 61 6c 73 65 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 false;.}.........protected.funct
32780 69 6f 6e 20 67 65 74 53 63 68 65 6d 65 28 29 0a 7b 0a 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 5f ion.getScheme().{.if.(extension_
327a0 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 68 74 74 loaded('openssl')).{.return.'htt
327c0 70 73 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 68 74 74 70 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a ps';.}..return.'http';.}........
327e0 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 73 28 .protected.function.getContents(
32800 24 75 72 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 $url).{.return.$this->remoteFile
32820 73 79 73 74 65 6d 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 system->getContents($this->origi
32840 6e 55 72 6c 2c 20 24 75 72 6c 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 nUrl,.$url,.false);.}..protected
32860 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 4c 6f 63 61 6c 55 72 6c 28 24 75 72 6c .static.function.isLocalUrl($url
32880 29 0a 7b 0a 72 65 74 75 72 6e 20 28 62 6f 6f 6c 29 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e ).{.return.(bool).preg_match('{^
328a0 28 66 69 6c 65 3a 2f 2f 7c 2f 7c 5b 61 2d 7a 5d 3a 5b 5c 5c 5c 5c 2f 5d 29 7d 69 27 2c 20 24 75 (file://|/|[a-z]:[\\\\/])}i',.$u
328c0 72 6c 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 rl);.}.}.<?php............namesp
328e0 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 0a 75 73 ace.Composer\Repository\Vcs;..us
32900 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 20 43 6f e.Composer\Json\JsonFile;.use.Co
32920 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
32940 20 48 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 56 63 73 44 72 .HgBitbucketDriver.extends.VcsDr
32960 69 76 65 72 0a 7b 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 iver.{.protected.$owner;.protect
32980 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 20 24 74 61 67 73 3b ed.$repository;.protected.$tags;
329a0 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 74 65 63 74 65 64 20 .protected.$branches;.protected.
329c0 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 64 20 24 69 6e 66 6f $rootIdentifier;.protected.$info
329e0 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 20 66 75 6e 63 Cache.=.array();.....public.func
32a00 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 70 72 65 67 5f 6d 61 74 63 68 28 27 tion.initialize().{.preg_match('
32a20 23 5e 68 74 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 #^https://bitbucket\.org/([^/]+)
32a40 2f 28 5b 5e 2f 5d 2b 29 2f 3f 24 23 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c 2c 20 24 6d 61 74 63 /([^/]+)/?$#',.$this->url,.$matc
32a60 68 29 3b 0a 24 74 68 69 73 2d 3e 6f 77 6e 65 72 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 24 74 h);.$this->owner.=.$match[1];.$t
32a80 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 20 3d 20 24 6d 61 74 63 68 5b 32 5d 3b 0a 24 74 68 his->repository.=.$match[2];.$th
32aa0 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 20 3d 20 27 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 27 3b is->originUrl.=.'bitbucket.org';
32ac0 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 6f 6f 74 49 64 .}.....public.function.getRootId
32ae0 65 6e 74 69 66 69 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 entifier().{.if.(null.===.$this-
32b00 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 29 20 7b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 24 >rootIdentifier).{.$resource.=.$
32b20 74 68 69 73 2d 3e 67 65 74 53 63 68 65 6d 65 28 29 20 2e 20 27 3a 2f 2f 62 69 74 62 75 63 6b 65 this->getScheme()...'://bitbucke
32b40 74 2e 6f 72 67 2f 61 70 69 2f 31 2e 30 2f 72 65 70 6f 73 69 74 6f 72 69 65 73 2f 27 2e 24 74 68 t.org/api/1.0/repositories/'.$th
32b60 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 72 79 2e is->owner.'/'.$this->repository.
32b80 27 2f 74 61 67 73 27 3b 0a 24 72 65 70 6f 44 61 74 61 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 '/tags';.$repoData.=.JsonFile::p
32ba0 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 24 72 65 73 arseJson($this->getContents($res
32bc0 6f 75 72 63 65 29 2c 20 24 72 65 73 6f 75 72 63 65 29 3b 0a 69 66 20 28 61 72 72 61 79 28 29 20 ource),.$resource);.if.(array().
32be0 3d 3d 3d 20 24 72 65 70 6f 44 61 74 61 20 7c 7c 20 21 69 73 73 65 74 28 24 72 65 70 6f 44 61 74 ===.$repoData.||.!isset($repoDat
32c00 61 5b 27 74 69 70 27 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 a['tip'])).{.throw.new.\RuntimeE
32c20 78 63 65 70 74 69 6f 6e 28 24 74 68 69 73 2d 3e 75 72 6c 2e 27 20 64 6f 65 73 20 6e 6f 74 20 61 xception($this->url.'.does.not.a
32c40 70 70 65 61 72 20 74 6f 20 62 65 20 61 20 6d 65 72 63 75 72 69 61 6c 20 72 65 70 6f 73 69 74 6f ppear.to.be.a.mercurial.reposito
32c60 72 79 2c 20 75 73 65 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 2e 67 69 74 20 69 66 20 74 68 ry,.use.'.$this->url.'.git.if.th
32c80 69 73 20 69 73 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 is.is.a.git.bitbucket.repository
32ca0 27 29 3b 0a 7d 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 24 72 ');.}.$this->rootIdentifier.=.$r
32cc0 65 70 6f 44 61 74 61 5b 27 74 69 70 27 5d 5b 27 72 61 77 5f 6e 6f 64 65 27 5d 3b 0a 7d 0a 0a 72 epoData['tip']['raw_node'];.}..r
32ce0 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 7d 0a 0a eturn.$this->rootIdentifier;.}..
32d00 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 0a 72 65 ...public.function.getUrl().{.re
32d20 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 20 66 75 turn.$this->url;.}.....public.fu
32d40 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 0a 7b 0a nction.getSource($identifier).{.
32d60 24 6c 61 62 65 6c 20 3d 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 24 69 64 65 6e 74 69 66 69 65 $label.=.array_search($identifie
32d80 72 2c 20 24 74 68 69 73 2d 3e 67 65 74 54 61 67 73 28 29 29 20 3f 3a 20 24 69 64 65 6e 74 69 66 r,.$this->getTags()).?:.$identif
32da0 69 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 68 67 ier;..return.array('type'.=>.'hg
32dc0 27 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 27 72 65 ',.'url'.=>.$this->getUrl(),.'re
32de0 66 65 72 65 6e 63 65 27 20 3d 3e 20 24 6c 61 62 65 6c 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 ference'.=>.$label);.}.....publi
32e00 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 72 29 0a c.function.getDist($identifier).
32e20 7b 0a 24 6c 61 62 65 6c 20 3d 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 24 69 64 65 6e 74 69 66 {.$label.=.array_search($identif
32e40 69 65 72 2c 20 24 74 68 69 73 2d 3e 67 65 74 54 61 67 73 28 29 29 20 3f 3a 20 24 69 64 65 6e 74 ier,.$this->getTags()).?:.$ident
32e60 69 66 69 65 72 3b 0a 24 75 72 6c 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 63 68 65 6d 65 28 29 ifier;.$url.=.$this->getScheme()
32e80 20 2e 20 27 3a 2f 2f 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 2f 27 2e 24 74 68 69 73 2d 3e 6f 77 ...'://bitbucket.org/'.$this->ow
32ea0 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 67 65 74 2f ner.'/'.$this->repository.'/get/
32ec0 27 2e 24 6c 61 62 65 6c 2e 27 2e 7a 69 70 27 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 '.$label.'.zip';..return.array('
32ee0 74 79 70 65 27 20 3d 3e 20 27 7a 69 70 27 2c 20 27 75 72 6c 27 20 3d 3e 20 24 75 72 6c 2c 20 27 type'.=>.'zip',.'url'.=>.$url,.'
32f00 72 65 66 65 72 65 6e 63 65 27 20 3d 3e 20 24 6c 61 62 65 6c 2c 20 27 73 68 61 73 75 6d 27 20 3d reference'.=>.$label,.'shasum'.=
32f20 3e 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 67 65 74 >.'');.}.....public.function.get
32f40 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)
32f60 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 63 68 65 5b 24 .{.if.(!isset($this->infoCache[$
32f80 69 64 65 6e 74 69 66 69 65 72 5d 29 29 20 7b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 24 74 68 69 identifier])).{.$resource.=.$thi
32fa0 73 2d 3e 67 65 74 53 63 68 65 6d 65 28 29 20 2e 20 27 3a 2f 2f 62 69 74 62 75 63 6b 65 74 2e 6f s->getScheme()...'://bitbucket.o
32fc0 72 67 2f 61 70 69 2f 31 2e 30 2f 72 65 70 6f 73 69 74 6f 72 69 65 73 2f 27 2e 24 74 68 69 73 2d rg/api/1.0/repositories/'.$this-
32fe0 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 72 79 2e 27 2f 73 >owner.'/'.$this->repository.'/s
33000 72 63 2f 27 2e 24 69 64 65 6e 74 69 66 69 65 72 2e 27 2f 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e rc/'.$identifier.'/composer.json
33020 27 3b 0a 24 72 65 70 6f 44 61 74 61 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 ';.$repoData.=.JsonFile::parseJs
33040 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 65 29 on($this->getContents($resource)
33060 2c 20 24 72 65 73 6f 75 72 63 65 29 3b 0a 0a 0a 20 0a 20 0a 20 0a 0a 69 66 20 28 21 61 72 72 61 ,.$resource);..........if.(!arra
33080 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 27 64 61 74 61 27 2c 20 24 72 65 70 6f 44 61 74 61 29 29 y_key_exists('data',.$repoData))
330a0 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 4a 73 6f 6e 46 69 .{.return;.}..$composer.=.JsonFi
330c0 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 72 65 70 6f 44 61 74 61 5b 27 64 61 74 61 27 5d 2c le::parseJson($repoData['data'],
330e0 20 24 72 65 73 6f 75 72 63 65 29 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 63 6f 6d 70 6f 73 .$resource);..if.(!isset($compos
33100 65 72 5b 27 74 69 6d 65 27 5d 29 29 20 7b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 24 74 68 69 73 er['time'])).{.$resource.=.$this
33120 2d 3e 67 65 74 53 63 68 65 6d 65 28 29 20 2e 20 27 3a 2f 2f 62 69 74 62 75 63 6b 65 74 2e 6f 72 ->getScheme()...'://bitbucket.or
33140 67 2f 61 70 69 2f 31 2e 30 2f 72 65 70 6f 73 69 74 6f 72 69 65 73 2f 27 2e 24 74 68 69 73 2d 3e g/api/1.0/repositories/'.$this->
33160 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 63 68 owner.'/'.$this->repository.'/ch
33180 61 6e 67 65 73 65 74 73 2f 27 2e 24 69 64 65 6e 74 69 66 69 65 72 3b 0a 24 63 68 61 6e 67 65 73 angesets/'.$identifier;.$changes
331a0 65 74 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 et.=.JsonFile::parseJson($this->
331c0 67 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 getContents($resource),.$resourc
331e0 65 29 3b 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 73 e);.$composer['time'].=.$changes
33200 65 74 5b 27 74 69 6d 65 73 74 61 6d 70 27 5d 3b 0a 7d 0a 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 et['timestamp'];.}.$this->infoCa
33220 63 68 65 5b 24 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 che[$identifier].=.$composer;.}.
33240 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 64 65 6e 74 69 .return.$this->infoCache[$identi
33260 66 69 65 72 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 67 65 74 fier];.}.....public.function.get
33280 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 73 2d 3e 74 61 67 Tags().{.if.(null.===.$this->tag
332a0 73 29 20 7b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 63 68 65 6d s).{.$resource.=.$this->getSchem
332c0 65 28 29 20 2e 20 27 3a 2f 2f 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 2f 61 70 69 2f 31 2e 30 2f e()...'://bitbucket.org/api/1.0/
332e0 72 65 70 6f 73 69 74 6f 72 69 65 73 2f 27 2e 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 2e repositories/'.$this->owner.'/'.
33300 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2e 27 2f 74 61 67 73 27 3b 0a 24 74 61 67 73 $this->repository.'/tags';.$tags
33320 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 69 73 Data.=.JsonFile::parseJson($this
33340 2d 3e 67 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 ->getContents($resource),.$resou
33360 72 63 65 29 3b 0a 24 74 68 69 73 2d 3e 74 61 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 rce);.$this->tags.=.array();.for
33380 65 61 63 68 20 28 24 74 61 67 73 44 61 74 61 20 61 73 20 24 74 61 67 20 3d 3e 20 24 64 61 74 61 each.($tagsData.as.$tag.=>.$data
333a0 29 20 7b 0a 24 74 68 69 73 2d 3e 74 61 67 73 5b 24 74 61 67 5d 20 3d 20 24 64 61 74 61 5b 27 72 ).{.$this->tags[$tag].=.$data['r
333c0 61 77 5f 6e 6f 64 65 27 5d 3b 0a 7d 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 74 61 67 73 5b 27 aw_node'];.}.unset($this->tags['
333e0 74 69 70 27 5d 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 tip']);.}..return.$this->tags;.}
33400 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
33420 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
33440 73 29 20 7b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 63 68 65 6d s).{.$resource.=.$this->getSchem
33460 65 28 29 20 2e 20 27 3a 2f 2f 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 2f 61 70 69 2f 31 2e 30 2f e()...'://bitbucket.org/api/1.0/
33480 72 65 70 6f 73 69 74 6f 72 69 65 73 2f 27 2e 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 2e repositories/'.$this->owner.'/'.
334a0 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2e 27 2f 62 72 61 6e 63 68 65 73 27 3b 0a 24 $this->repository.'/branches';.$
334c0 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 4a 73 6f 6e branchData.=.JsonFile::parseJson
334e0 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 65 29 2c 20 ($this->getContents($resource),.
33500 24 72 65 73 6f 75 72 63 65 29 3b 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 20 3d 20 61 72 $resource);.$this->branches.=.ar
33520 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 62 72 61 6e 63 68 44 61 74 61 20 61 73 20 24 ray();.foreach.($branchData.as.$
33540 62 72 61 6e 63 68 20 3d 3e 20 24 64 61 74 61 29 20 7b 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 branch.=>.$data).{.$this->branch
33560 65 73 5b 24 62 72 61 6e 63 68 5d 20 3d 20 24 64 61 74 61 5b 27 72 61 77 5f 6e 6f 64 65 27 5d 3b es[$branch].=.$data['raw_node'];
33580 0a 7d 0a 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 .}.}..return.$this->branches;.}.
335a0 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 75 70 70 6f ....public.static.function.suppo
335c0 72 74 73 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 24 75 72 6c 2c 20 24 64 65 65 70 rts(IOInterface.$io,.$url,.$deep
335e0 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 23 5e 68 .=.false).{.if.(!preg_match('#^h
33600 74 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 5b ttps://bitbucket\.org/([^/]+)/([
33620 5e 2f 5d 2b 29 2f 3f 24 23 27 2c 20 24 75 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 ^/]+)/?$#',.$url)).{.return.fals
33640 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 28 27 6f 70 65 e;.}..if.(!extension_loaded('ope
33660 6e 73 73 6c 27 29 29 20 7b 0a 69 66 20 28 24 69 6f 2d 3e 69 73 56 65 72 62 6f 73 65 28 29 29 20 nssl')).{.if.($io->isVerbose()).
33680 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 53 6b 69 70 70 69 6e 67 20 42 69 74 62 75 63 6b 65 74 {.$io->write('Skipping.Bitbucket
336a0 20 68 67 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 .hg.driver.for.'.$url.'.because.
336c0 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
336e0 73 69 6e 67 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 sing.');.}..return.false;.}..ret
33700 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 6e urn.true;.}.}.<?php............n
33720 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 0a amespace.Composer\Repository;...
33740 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 73 69 ......class.InstalledArrayReposi
33760 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 73 69 tory.extends.WritableArrayReposi
33780 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 69 74 tory.implements.InstalledReposit
337a0 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 0a 0a oryInterface.{.}.<?php..........
337c0 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 3b ..namespace.Composer\Repository;
337e0 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 65 70 6f 73 69 74 6f 72 79 53 65 63 75 72 69 74 79 45 .......class.RepositorySecurityE
33800 78 63 65 70 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 7d 0a xception.extends.\Exception.{.}.
33820 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
33840 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
33860 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
33880 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 69 \Package\PackageInterface;.....i
338a0 6e 74 65 72 66 61 63 65 20 53 74 72 65 61 6d 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 nterface.StreamableRepositoryInt
338c0 65 72 66 61 63 65 20 65 78 74 65 6e 64 73 20 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 erface.extends.RepositoryInterfa
338e0 63 65 0a 7b 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 ce.{.....................public.
33900 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 69 6e 69 6d 61 6c 50 61 63 6b 61 67 65 73 28 29 3b 0a 0a function.getMinimalPackages();..
33920 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 50 61 63 6b 61 67 ......public.function.loadPackag
33940 65 28 61 72 72 61 79 20 24 64 61 74 61 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 e(array.$data);.........public.f
33960 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 41 6c 69 61 73 50 61 63 6b 61 67 65 28 61 72 72 61 79 20 24 unction.loadAliasPackage(array.$
33980 64 61 74 61 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 61 6c 69 61 73 4f 66 29 data,.PackageInterface.$aliasOf)
339a0 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
339c0 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 43 6f 6d 70 6f 73 65 omposer\Repository;..use.Compose
339e0 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;
33a00 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 5c 56 63 73 .use.Composer\Repository\Vcs\Vcs
33a20 44 72 69 76 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 50 61 DriverInterface;.use.Composer\Pa
33a40 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 73 65 ckage\Version\VersionParser;.use
33a60 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
33a80 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 65 ader;.use.Composer\Package\Loade
33aa0 72 5c 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c 6f 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d r\ValidatingArrayLoader;.use.Com
33ac0 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 49 6e 76 61 6c 69 64 50 61 63 6b poser\Package\Loader\InvalidPack
33ae0 61 67 65 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 ageException;.use.Composer\Packa
33b00 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 3b 0a 75 73 65 20 43 ge\Loader\LoaderInterface;.use.C
33b20 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
33b40 6f 73 65 72 5c 43 6f 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 oser\Config;.....class.VcsReposi
33b60 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 6f 72 79 0a 7b 0a 70 tory.extends.ArrayRepository.{.p
33b80 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 63 6b 61 67 rotected.$url;.protected.$packag
33ba0 65 4e 61 6d 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 76 65 72 62 6f 73 65 3b 0a 70 72 6f 74 65 eName;.protected.$verbose;.prote
33bc0 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
33be0 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
33c00 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
33c20 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
33c40 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 0a 70 75 62 6c 69 nchErrorOccurred.=.false;..publi
33c60 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
33c80 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
33ca0 67 20 24 63 6f 6e 66 69 67 2c 20 61 72 72 61 79 20 24 64 72 69 76 65 72 73 20 3d 20 6e 75 6c 6c g.$config,.array.$drivers.=.null
33cc0 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 72 69 76 65 72 73 20 3d 20 24 64 72 69 76 65 72 73 20 3f 3a ).{.$this->drivers.=.$drivers.?:
33ce0 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 6f 73 65 72 5c 52 65 .array(.'github'.=>.'Composer\Re
33d00 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 27 2c 0a 27 67 69 74 pository\Vcs\GitHubDriver',.'git
33d20 2d 62 69 74 62 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 -bitbucket'.=>.'Composer\Reposit
33d40 6f 72 79 5c 56 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 ory\Vcs\GitBitbucketDriver',.'gi
33d60 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 63 73 5c 47 t'.=>.'Composer\Repository\Vcs\G
33d80 69 74 44 72 69 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 itDriver',.'hg-bitbucket'.=>.'Co
33da0 6d 70 6f 73 65 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 mposer\Repository\Vcs\HgBitbucke
33dc0 74 44 72 69 76 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 tDriver',.'hg'.=>.'Composer\Repo
33de0 73 69 74 6f 72 79 5c 56 63 73 5c 48 67 44 72 69 76 65 72 27 2c 0a 0a 20 27 73 76 6e 27 20 3d 3e sitory\Vcs\HgDriver',...'svn'.=>
33e00 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 53 76 6e 44 72 69 .'Composer\Repository\Vcs\SvnDri
33e20 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 65 70 6f 43 6f 6e 66 ver',.);..$this->url.=.$repoConf
33e40 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 6f 3b 0a 24 74 68 69 ig['url'];.$this->io.=.$io;.$thi
33e60 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 69 67 5b 27 74 79 70 s->type.=.isset($repoConfig['typ
33e80 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 5d 20 3a 20 27 76 63 e']).?.$repoConfig['type'].:.'vc
33ea0 73 27 3b 0a 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 65 20 3d 20 24 69 6f 2d 3e 69 73 56 65 72 62 s';.$this->verbose.=.$io->isVerb
33ec0 6f 73 65 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 69 67 3b 0a ose();.$this->config.=.$config;.
33ee0 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 66 69 67 3b $this->repoConfig.=.$repoConfig;
33f00 0a 7d 0a 0a 70 75 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 .}..public.function.setLoader(Lo
33f20 61 64 65 72 49 6e 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 aderInterface.$loader).{.$this->
33f40 6c 6f 61 64 65 72 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 loader.=.$loader;.}..public.func
33f60 74 69 6f 6e 20 67 65 74 44 72 69 76 65 72 28 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 tion.getDriver().{.if.(isset($th
33f80 69 73 2d 3e 64 72 69 76 65 72 73 5b 24 74 68 69 73 2d 3e 74 79 70 65 5d 29 29 20 7b 0a 24 63 6c is->drivers[$this->type])).{.$cl
33fa0 61 73 73 20 3d 20 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 ass.=.$this->drivers[$this->type
33fc0 5d 3b 0a 24 64 72 69 76 65 72 20 3d 20 6e 65 77 20 24 63 6c 61 73 73 28 24 74 68 69 73 2d 3e 72 ];.$driver.=.new.$class($this->r
33fe0 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 6f 6e epoConfig,.$this->io,.$this->con
34000 66 69 67 29 3b 0a 24 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 fig);.$driver->initialize();..re
34020 74 75 72 6e 20 24 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 turn.$driver;.}..foreach.($this-
34040 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 69 76 >drivers.as.$driver).{.if.($driv
34060 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 3e 75 er::supports($this->io,.$this->u
34080 72 6c 29 29 20 7b 0a 24 64 72 69 76 65 72 20 3d 20 6e 65 77 20 24 64 72 69 76 65 72 28 24 74 68 rl)).{.$driver.=.new.$driver($th
340a0 69 73 2d 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 is->repoConfig,.$this->io,.$this
340c0 2d 3e 63 6f 6e 66 69 67 29 3b 0a 24 64 72 69 76 65 72 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 ->config);.$driver->initialize()
340e0 3b 0a 0a 72 65 74 75 72 6e 20 24 64 72 69 76 65 72 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 ;..return.$driver;.}.}..foreach.
34100 28 24 74 68 69 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 ($this->drivers.as.$driver).{.if
34120 20 28 24 64 72 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 .($driver::supports($this->io,.$
34140 74 68 69 73 2d 3e 75 72 6c 2c 20 74 72 75 65 29 29 20 7b 0a 24 64 72 69 76 65 72 20 3d 20 6e 65 this->url,.true)).{.$driver.=.ne
34160 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 74 68 w.$driver($this->repoConfig,.$th
34180 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 64 72 69 76 65 72 2d is->io,.$this->config);.$driver-
341a0 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 64 72 69 76 65 72 3b 0a >initialize();..return.$driver;.
341c0 7d 0a 7d 0a 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 }.}.}..public.function.hadInvali
341e0 64 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 62 72 61 6e dBranches().{.return.$this->bran
34200 63 68 45 72 72 6f 72 4f 63 63 75 72 72 65 64 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 chErrorOccurred;.}..protected.fu
34220 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 6e nction.initialize().{.parent::in
34240 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 24 76 65 72 62 6f 73 65 20 3d 20 24 74 68 69 73 2d 3e 76 itialize();..$verbose.=.$this->v
34260 65 72 62 6f 73 65 3b 0a 0a 24 64 72 69 76 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 72 69 erbose;..$driver.=.$this->getDri
34280 76 65 72 28 29 3b 0a 69 66 20 28 21 24 64 72 69 76 65 72 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 ver();.if.(!$driver).{.throw.new
342a0 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 4e 6f 20 64 .\InvalidArgumentException('No.d
342c0 72 69 76 65 72 20 66 6f 75 6e 64 20 74 6f 20 68 61 6e 64 6c 65 20 56 43 53 20 72 65 70 6f 73 69 river.found.to.handle.VCS.reposi
342e0 74 6f 72 79 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 76 65 tory.'.$this->url);.}..$this->ve
34300 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 73 65 72 3b rsionParser.=.new.VersionParser;
34320 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 6f .if.(!$this->loader).{.$this->lo
34340 61 64 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 4c 6f 61 64 65 72 28 24 74 68 69 73 2d 3e 76 65 ader.=.new.ArrayLoader($this->ve
34360 72 73 69 6f 6e 50 61 72 73 65 72 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 69 66 20 28 24 64 72 69 76 rsionParser);.}..try.{.if.($driv
34380 65 72 2d 3e 68 61 73 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 24 64 72 69 76 65 72 2d 3e 67 65 74 er->hasComposerFile($driver->get
343a0 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 29 29 20 7b 0a 24 64 61 74 61 20 3d 20 24 64 72 RootIdentifier())).{.$data.=.$dr
343c0 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 64 72 iver->getComposerInformation($dr
343e0 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 29 3b 0a 24 74 68 69 iver->getRootIdentifier());.$thi
34400 73 2d 3e 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 6e s->packageName.=.!empty($data['n
34420 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 6e 75 6c 6c 3b 0a 7d ame']).?.$data['name'].:.null;.}
34440 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 24 .}.catch.(\Exception.$e).{.if.($
34460 76 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 28 27 3c 65 72 verbose).{.$this->io->write('<er
34480 72 6f 72 3e 53 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 ror>Skipped.parsing.'.$driver->g
344a0 65 74 52 6f 6f 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 etRootIdentifier().',.'.$e->getM
344c0 65 73 73 61 67 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 essage().'</error>');.}.}..forea
344e0 63 68 20 28 24 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 ch.($driver->getTags().as.$tag.=
34500 3e 20 24 69 64 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 >.$identifier).{.$msg.=.'Reading
34520 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 2e 20 28 24 74 68 .composer.json.of.<info>'...($th
34540 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 75 72 6c 29 20 2e is->packageName.?:.$this->url)..
34560 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 74 61 67 20 2e 20 27 .'</info>.(<comment>'...$tag...'
34580 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 27 3b 0a 69 66 20 28 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 74 </comment>)';.if.($verbose).{.$t
345a0 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 24 6d 73 67 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 his->io->write($msg);.}.else.{.$
345c0 74 68 69 73 2d 3e 69 6f 2d 3e 6f 76 65 72 77 72 69 74 65 28 24 6d 73 67 2c 20 66 61 6c 73 65 29 this->io->overwrite($msg,.false)
345e0 3b 0a 7d 0a 0a 0a 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 ;.}....$tag.=.str_replace('relea
34600 73 65 2d 27 2c 20 27 27 2c 20 24 74 61 67 29 3b 0a 0a 69 66 20 28 21 24 70 61 72 73 65 64 54 61 se-',.'',.$tag);..if.(!$parsedTa
34620 67 20 3d 20 24 74 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 g.=.$this->validateTag($tag)).{.
34640 69 66 20 28 24 76 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 if.($verbose).{.$this->io->write
34660 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 2c ('<warning>Skipped.tag.'.$tag.',
34680 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 27 29 3b 0a 7d .invalid.tag.name</warning>');.}
346a0 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 61 74 61 20 3d .continue;.}..try.{.if.(!$data.=
346c0 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 61 74 69 6f 6e .$driver->getComposerInformation
346e0 28 24 69 64 65 6e 74 69 66 69 65 72 29 29 20 7b 0a 69 66 20 28 24 76 65 72 62 6f 73 65 29 20 7b ($identifier)).{.if.($verbose).{
34700 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 3c 77 61 72 6e 69 6e 67 3e 53 6b 69 70 .$this->io->write('<warning>Skip
34720 70 65 64 20 74 61 67 20 27 2e 24 74 61 67 2e 27 2c 20 6e 6f 20 63 6f 6d 70 6f 73 65 72 20 66 69 ped.tag.'.$tag.',.no.composer.fi
34740 6c 65 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 0a le</warning>');.}.continue;.}...
34760 20 69 66 20 28 69 73 73 65 74 28 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 7b 0a .if.(isset($data['version'])).{.
34780 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 20 24 74 $data['version_normalized'].=.$t
347a0 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 24 64 his->versionParser->normalize($d
347c0 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 64 61 74 ata['version']);.}.else.{...$dat
347e0 61 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 24 74 61 67 3b 0a 24 64 61 74 61 5b 27 76 65 72 73 a['version'].=.$tag;.$data['vers
34800 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 20 3d 20 24 70 61 72 73 65 64 54 61 67 3b 0a 7d ion_normalized'].=.$parsedTag;.}
34820 0a 0a 0a 20 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 70 72 65 67 5f 72 65 70 6c ....$data['version'].=.preg_repl
34840 61 63 65 28 27 7b 5b 2e 2d 5d 3f 64 65 76 24 7d 69 27 2c 20 27 27 2c 20 24 64 61 74 61 5b 27 76 ace('{[.-]?dev$}i',.'',.$data['v
34860 65 72 73 69 6f 6e 27 5d 29 3b 0a 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c ersion']);.$data['version_normal
34880 69 7a 65 64 27 5d 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 28 5e 64 65 76 2d 7c 5b ized'].=.preg_replace('{(^dev-|[
348a0 2e 2d 5d 3f 64 65 76 24 29 7d 69 27 2c 20 27 27 2c 20 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e .-]?dev$)}i',.'',.$data['version
348c0 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 29 3b 0a 0a 0a 20 69 66 20 28 24 64 61 74 61 5b 27 76 65 _normalized']);....if.($data['ve
348e0 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 20 21 3d 3d 20 24 70 61 72 73 65 64 54 61 rsion_normalized'].!==.$parsedTa
34900 67 29 20 7b 0a 69 66 20 28 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e g).{.if.($verbose).{.$this->io->
34920 77 72 69 74 65 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 write('<warning>Skipped.tag.'.$t
34940 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 65 73 20 ag.',.tag.('.$parsedTag.').does.
34960 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 65 72 73 not.match.version.('.$data['vers
34980 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 65 72 2e ion_normalized'].').in.composer.
349a0 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 0a 7d 0a json</warning>');.}.continue;.}.
349c0 0a 69 66 20 28 24 76 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 .if.($verbose).{.$this->io->writ
349e0 65 28 27 49 6d 70 6f 72 74 69 6e 67 20 74 61 67 20 27 2e 24 74 61 67 2e 27 20 28 27 2e 24 64 61 e('Importing.tag.'.$tag.'.('.$da
34a00 74 61 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 2e 27 29 27 29 3b 0a 7d ta['version_normalized'].')');.}
34a20 0a 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 3e 6c 6f 61 64 65 ..$this->addPackage($this->loade
34a40 72 2d 3e 6c 6f 61 64 28 24 74 68 69 73 2d 3e 70 72 65 50 72 6f 63 65 73 73 28 24 64 72 69 76 65 r->load($this->preProcess($drive
34a60 72 2c 20 24 64 61 74 61 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 29 29 3b 0a 7d 20 63 61 74 63 r,.$data,.$identifier)));.}.catc
34a80 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 76 65 72 62 6f 73 65 h.(\Exception.$e).{.if.($verbose
34aa0 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 3c 77 61 72 6e 69 6e 67 3e 53 ).{.$this->io->write('<warning>S
34ac0 6b 69 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 kipped.tag.'.$tag.',.'.($e.insta
34ae0 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 3f 20 27 6e 6f 20 63 nceof.TransportException.?.'no.c
34b00 6f 6d 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 omposer.file.was.found'.:.$e->ge
34b20 74 4d 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 tMessage()).'</warning>');.}.con
34b40 74 69 6e 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 tinue;.}.}..if.(!$verbose).{.$th
34b60 69 73 2d 3e 69 6f 2d 3e 6f 76 65 72 77 72 69 74 65 28 27 27 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a is->io->overwrite('',.false);.}.
34b80 0a 66 6f 72 65 61 63 68 20 28 24 64 72 69 76 65 72 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 29 .foreach.($driver->getBranches()
34ba0 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
34bc0 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.<
34be0 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.?:.
34c00 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
34c20 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
34c40 20 28 24 76 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 28 24 .($verbose).{.$this->io->write($
34c60 6d 73 67 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 6f 76 65 72 77 72 msg);.}.else.{.$this->io->overwr
34c80 69 74 65 28 24 6d 73 67 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 70 61 72 73 65 ite($msg,.false);.}..if.(!$parse
34ca0 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 68 28 dBranch.=.$this->validateBranch(
34cc0 24 62 72 61 6e 63 68 29 29 20 7b 0a 69 66 20 28 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 $branch)).{.if.($verbose).{.$thi
34ce0 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 3c 77 61 72 6e 69 6e 67 3e 53 6b 69 70 70 65 64 20 62 s->io->write('<warning>Skipped.b
34d00 72 61 6e 63 68 20 27 2e 24 62 72 61 6e 63 68 2e 27 2c 20 69 6e 76 61 6c 69 64 20 6e 61 6d 65 3c ranch.'.$branch.',.invalid.name<
34d20 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 74 72 79 20 /warning>');.}.continue;.}..try.
34d40 7b 0a 69 66 20 28 21 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 {.if.(!$data.=.$driver->getCompo
34d60 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 29 20 7b 0a 69 serInformation($identifier)).{.i
34d80 66 20 28 24 76 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 28 f.($verbose).{.$this->io->write(
34da0 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 62 72 61 6e '<warning>Skipped.branch.'.$bran
34dc0 63 68 2e 27 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 ch.',.no.composer.file</warning>
34de0 27 29 3b 0a 7d 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 ');.}.continue;.}....$data['vers
34e00 69 6f 6e 27 5d 20 3d 20 24 62 72 61 6e 63 68 3b 0a 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 5f ion'].=.$branch;.$data['version_
34e20 6e 6f 72 6d 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 0a normalized'].=.$parsedBranch;...
34e40 20 69 66 20 28 27 64 65 76 2d 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 70 61 72 73 65 64 42 72 .if.('dev-'.===.substr($parsedBr
34e60 61 6e 63 68 2c 20 30 2c 20 34 29 20 7c 7c 20 27 39 39 39 39 39 39 39 2d 64 65 76 27 20 3d 3d 3d anch,.0,.4).||.'9999999-dev'.===
34e80 20 24 70 61 72 73 65 64 42 72 61 6e 63 68 29 20 7b 0a 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e .$parsedBranch).{.$data['version
34ea0 27 5d 20 3d 20 27 64 65 76 2d 27 20 2e 20 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 3b 0a '].=.'dev-'...$data['version'];.
34ec0 7d 20 65 6c 73 65 20 7b 0a 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 70 72 65 67 }.else.{.$data['version'].=.preg
34ee0 5f 72 65 70 6c 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 70 _replace('{(\.9{7})+}',.'.x',.$p
34f00 61 72 73 65 64 42 72 61 6e 63 68 29 3b 0a 7d 0a 0a 69 66 20 28 24 76 65 72 62 6f 73 65 29 20 7b arsedBranch);.}..if.($verbose).{
34f20 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 49 6d 70 6f 72 74 69 6e 67 20 62 72 61 .$this->io->write('Importing.bra
34f40 6e 63 68 20 27 2e 24 62 72 61 6e 63 68 2e 27 20 28 27 2e 24 64 61 74 61 5b 27 76 65 72 73 69 6f nch.'.$branch.'.('.$data['versio
34f60 6e 27 5d 2e 27 29 27 29 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 44 61 74 61 20 3d 20 24 74 68 69 n'].')');.}..$packageData.=.$thi
34f80 73 2d 3e 70 72 65 50 72 6f 63 65 73 73 28 24 64 72 69 76 65 72 2c 20 24 64 61 74 61 2c 20 24 69 s->preProcess($driver,.$data,.$i
34fa0 64 65 6e 74 69 66 69 65 72 29 3b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 6c 6f dentifier);.$package.=.$this->lo
34fc0 61 64 65 72 2d 3e 6c 6f 61 64 28 24 70 61 63 6b 61 67 65 44 61 74 61 29 3b 0a 69 66 20 28 24 74 ader->load($packageData);.if.($t
34fe0 68 69 73 2d 3e 6c 6f 61 64 65 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 56 61 6c 69 64 61 74 69 6e his->loader.instanceof.Validatin
35000 67 41 72 72 61 79 4c 6f 61 64 65 72 20 26 26 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 67 gArrayLoader.&&.$this->loader->g
35020 65 74 57 61 72 6e 69 6e 67 73 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 etWarnings()).{.throw.new.Invali
35040 64 50 61 63 6b 61 67 65 45 78 63 65 70 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d dPackageException($this->loader-
35060 3e 67 65 74 45 72 72 6f 72 73 28 29 2c 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 67 65 74 >getErrors(),.$this->loader->get
35080 57 61 72 6e 69 6e 67 73 28 29 2c 20 24 70 61 63 6b 61 67 65 44 61 74 61 29 3b 0a 7d 0a 24 74 68 Warnings(),.$packageData);.}.$th
350a0 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 20 63 61 74 63 is->addPackage($package);.}.catc
350c0 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 69 66 20 28 h.(TransportException.$e).{.if.(
350e0 24 76 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 28 27 3c 77 $verbose).{.$this->io->write('<w
35100 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 62 72 61 6e 63 68 2e arning>Skipped.branch.'.$branch.
35120 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 6f 75 6e 64 3c 2f 77 ',.no.composer.file.was.found</w
35140 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 63 61 74 63 68 20 28 arning>');.}.continue;.}.catch.(
35160 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 21 24 76 65 72 62 6f 73 65 29 20 \Exception.$e).{.if.(!$verbose).
35180 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 27 29 3b 0a 7d 0a 24 74 68 69 73 2d {.$this->io->write('');.}.$this-
351a0 3e 62 72 61 6e 63 68 45 72 72 6f 72 4f 63 63 75 72 72 65 64 20 3d 20 74 72 75 65 3b 0a 24 74 68 >branchErrorOccurred.=.true;.$th
351c0 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 3c 65 72 72 6f 72 3e 53 6b 69 70 70 65 64 20 62 72 is->io->write('<error>Skipped.br
351e0 61 6e 63 68 20 27 2e 24 62 72 61 6e 63 68 2e 27 2c 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 anch.'.$branch.',.'.$e->getMessa
35200 67 65 28 29 2e 27 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 ge().'</error>');.$this->io->wri
35220 74 65 28 27 27 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 76 65 72 te('');.continue;.}.}..if.(!$ver
35240 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 28 27 27 2c bose).{.$this->io->overwrite('',
35260 20 66 61 6c 73 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 .false);.}..if.(!$this->getPacka
35280 67 65 73 28 29 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 ges()).{.throw.new.InvalidReposi
352a0 74 6f 72 79 45 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 toryException('No.valid.composer
352c0 2e 6a 73 6f 6e 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 .json.was.found.in.any.branch.or
352e0 20 74 61 67 20 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 .tag.of.'.$this->url.',.could.no
35300 74 20 6c 6f 61 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 t.load.a.package.from.it.');.}.}
35320 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 72 65 50 72 6f 63 65 73 73 28 56 63 ..private.function.preProcess(Vc
35340 73 44 72 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 sDriverInterface.$driver,.array.
35360 24 64 61 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 5b 27 6e $data,.$identifier).{...$data['n
35380 61 6d 65 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 ame'].=.$this->packageName.?:.$d
353a0 61 74 61 5b 27 6e 61 6d 65 27 5d 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 64 61 74 61 5b 27 ata['name'];..if.(!isset($data['
353c0 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
353e0 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.(
35400 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
35420 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(
35440 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;.}
35460 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
35480 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-
354a0 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(
354c0 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
354e0 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.
35500 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).{
35520 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
35540 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
35560 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
35580 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 6d 65 73 70 61 se;.}.}.<?php............namespa
355a0 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 43 6f 6d ce.Composer\Repository;..use.Com
355c0 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 0a 75 poser\Package\CompletePackage;.u
355e0 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
35600 69 6f 6e 50 61 72 73 65 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 6c 61 74 66 6f 72 6d 52 65 70 ionParser;.....class.PlatformRep
35620 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 6f 72 79 0a ository.extends.ArrayRepository.
35640 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 45 58 20 3d {.const.PLATFORM_PACKAGE_REGEX.=
35660 20 27 7b 5e 28 3f 3a 70 68 70 28 3f 3a 2d 36 34 62 69 74 29 3f 7c 28 3f 3a 65 78 74 7c 6c 69 62 .'{^(?:php(?:-64bit)?|(?:ext|lib
35680 29 2d 5b 5e 2f 5d 2b 29 24 7d 69 27 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f )-[^/]+)$}i';..protected.functio
356a0 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 6e 69 74 69 61 6c n.initialize().{.parent::initial
356c0 69 7a 65 28 29 3b 0a 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 ize();..$versionParser.=.new.Ver
356e0 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 0a 74 72 79 20 7b 0a 24 70 72 65 74 74 79 56 65 72 73 sionParser();..try.{.$prettyVers
35700 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 6f 6e 20 3d 20 24 76 ion.=.PHP_VERSION;.$version.=.$v
35720 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 70 72 65 74 74 79 56 ersionParser->normalize($prettyV
35740 65 72 73 69 6f 6e 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 ersion);.}.catch.(\UnexpectedVal
35760 75 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e ueException.$e).{.$prettyVersion
35780 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 23 5e 28 5b 5e 7e 2b 2d 5d 2b 29 2e 2a 24 23 .=.preg_replace('#^([^~+-]+).*$#
357a0 27 2c 20 27 24 31 27 2c 20 50 48 50 5f 56 45 52 53 49 4f 4e 29 3b 0a 24 76 65 72 73 69 6f 6e 20 ',.'$1',.PHP_VERSION);.$version.
357c0 3d 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 70 72 65 =.$versionParser->normalize($pre
357e0 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 0a 24 70 68 70 20 3d 20 6e 65 77 20 43 6f 6d 70 6c ttyVersion);.}..$php.=.new.Compl
35800 65 74 65 50 61 63 6b 61 67 65 28 27 70 68 70 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 etePackage('php',.$version,.$pre
35820 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 24 70 68 70 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f ttyVersion);.$php->setDescriptio
35840 6e 28 27 54 68 65 20 50 48 50 20 69 6e 74 65 72 70 72 65 74 65 72 27 29 3b 0a 70 61 72 65 6e 74 n('The.PHP.interpreter');.parent
35860 3a 3a 61 64 64 50 61 63 6b 61 67 65 28 24 70 68 70 29 3b 0a 0a 69 66 20 28 50 48 50 5f 49 4e 54 ::addPackage($php);..if.(PHP_INT
35880 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 65 77 20 43 6f 6d 70 _SIZE.===.8).{.$php64.=.new.Comp
358a0 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 24 76 65 72 73 69 6f letePackage('php-64bit',.$versio
358c0 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 34 2d 3e 73 65 74 44 n,.$prettyVersion);.$php64->setD
358e0 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 20 escription('The.PHP.interpreter.
35900 28 36 34 62 69 74 29 27 29 3b 0a 70 61 72 65 6e 74 3a 3a 61 64 64 50 61 63 6b 61 67 65 28 24 70 (64bit)');.parent::addPackage($p
35920 68 70 36 34 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 hp64);.}..$loadedExtensions.=.ge
35940 74 5f 6c 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 t_loaded_extensions();....foreac
35960 68 20 28 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 h.($loadedExtensions.as.$name).{
35980 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 27 73 74 61 6e .if.(in_array($name,.array('stan
359a0 64 61 72 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 dard',.'Core'))).{.continue;.}..
359c0 24 72 65 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 $reflExt.=.new.\ReflectionExtens
359e0 69 6f 6e 28 24 6e 61 6d 65 29 3b 0a 74 72 79 20 7b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e ion($name);.try.{.$prettyVersion
35a00 20 3d 20 24 72 65 66 6c 45 78 74 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 24 76 65 72 73 .=.$reflExt->getVersion();.$vers
35a20 69 6f 6e 20 3d 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 ion.=.$versionParser->normalize(
35a40 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
35a60 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 70 72 65 74 74 ectedValueException.$e).{.$prett
35a80 79 56 65 72 73 69 6f 6e 20 3d 20 27 30 27 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 76 65 72 73 yVersion.=.'0';.$version.=.$vers
35aa0 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 73 ionParser->normalize($prettyVers
35ac0 69 6f 6e 29 3b 0a 7d 0a 0a 24 65 78 74 20 3d 20 6e 65 77 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b ion);.}..$ext.=.new.CompletePack
35ae0 61 67 65 28 27 65 78 74 2d 27 2e 24 6e 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 age('ext-'.$name,.$version,.$pre
35b00 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 74 69 6f ttyVersion);.$ext->setDescriptio
35b20 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 6e 27 29 n('The.'.$name.'.PHP.extension')
35b40 3b 0a 70 61 72 65 6e 74 3a 3a 61 64 64 50 61 63 6b 61 67 65 28 24 65 78 74 29 3b 0a 7d 0a 0a 0a ;.parent::addPackage($ext);.}...
35b60 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 6e 73 20 .....foreach.($loadedExtensions.
35b80 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 6e 75 6c as.$name).{.$prettyVersion.=.nul
35ba0 6c 3b 0a 73 77 69 74 63 68 20 28 24 6e 61 6d 65 29 20 7b 0a 63 61 73 65 20 27 63 75 72 6c 27 3a l;.switch.($name).{.case.'curl':
35bc0 0a 24 63 75 72 6c 56 65 72 73 69 6f 6e 20 3d 20 63 75 72 6c 5f 76 65 72 73 69 6f 6e 28 29 3b 0a .$curlVersion.=.curl_version();.
35be0 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 24 63 75 72 6c 56 65 72 73 69 6f 6e 5b 27 76 $prettyVersion.=.$curlVersion['v
35c00 65 72 73 69 6f 6e 27 5d 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 69 63 6f 6e 76 27 3a 0a ersion'];.break;..case.'iconv':.
35c20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 49 43 4f 4e 56 5f 56 45 52 53 49 4f 4e 3b 0a $prettyVersion.=.ICONV_VERSION;.
35c40 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 69 6e 74 6c 27 3a 0a 24 6e 61 6d 65 20 3d 20 27 49 43 break;..case.'intl':.$name.=.'IC
35c60 55 27 3b 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 49 4e 54 4c 5f 49 43 55 5f 56 45 52 53 49 4f U';.if.(defined('INTL_ICU_VERSIO
35c80 4e 27 29 29 20 7b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 49 4e 54 4c 5f 49 43 55 N')).{.$prettyVersion.=.INTL_ICU
35ca0 5f 56 45 52 53 49 4f 4e 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 66 6c 65 63 74 6f 72 20 3d 20 _VERSION;.}.else.{.$reflector.=.
35cc0 6e 65 77 20 5c 52 65 66 6c 65 63 74 69 6f 6e 45 78 74 65 6e 73 69 6f 6e 28 27 69 6e 74 6c 27 29 new.\ReflectionExtension('intl')
35ce0 3b 0a 0a 6f 62 5f 73 74 61 72 74 28 29 3b 0a 24 72 65 66 6c 65 63 74 6f 72 2d 3e 69 6e 66 6f 28 ;..ob_start();.$reflector->info(
35d00 29 3b 0a 24 6f 75 74 70 75 74 20 3d 20 6f 62 5f 67 65 74 5f 63 6c 65 61 6e 28 29 3b 0a 0a 70 72 );.$output.=.ob_get_clean();..pr
35d20 65 67 5f 6d 61 74 63 68 28 27 2f 5e 49 43 55 20 76 65 72 73 69 6f 6e 20 3d 3e 20 28 2e 2a 29 24 eg_match('/^ICU.version.=>.(.*)$
35d40 2f 6d 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 6d 61 74 63 68 65 73 29 3b 0a 24 70 72 65 74 74 79 /m',.$output,.$matches);.$pretty
35d60 56 65 72 73 69 6f 6e 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 3b 0a 7d 0a 0a 62 72 65 61 6b 3b Version.=.$matches[1];.}..break;
35d80 0a 0a 63 61 73 65 20 27 6c 69 62 78 6d 6c 27 3a 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 ..case.'libxml':.$prettyVersion.
35da0 3d 20 4c 49 42 58 4d 4c 5f 44 4f 54 54 45 44 5f 56 45 52 53 49 4f 4e 3b 0a 62 72 65 61 6b 3b 0a =.LIBXML_DOTTED_VERSION;.break;.
35dc0 0a 63 61 73 65 20 27 6f 70 65 6e 73 73 6c 27 3a 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 .case.'openssl':.$prettyVersion.
35de0 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 7b 5e 28 3f 3a 4f 70 =.preg_replace_callback('{^(?:Op
35e00 65 6e 53 53 4c 5c 73 2a 29 3f 28 5b 30 2d 39 2e 5d 2b 29 28 5b 61 2d 7a 5d 3f 29 2e 2a 7d 27 2c enSSL\s*)?([0-9.]+)([a-z]?).*}',
35e20 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d 61 74 63 68 29 20 7b 0a 72 65 74 75 72 6e 20 24 6d 61 74 .function.($match).{.return.$mat
35e40 63 68 5b 31 5d 20 2e 20 28 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 32 5d 29 20 3f 20 27 27 20 3a ch[1]...(empty($match[2]).?.''.:
35e60 20 27 2e 27 2e 28 6f 72 64 28 24 6d 61 74 63 68 5b 32 5d 29 20 2d 20 39 36 29 29 3b 0a 7d 2c 20 .'.'.(ord($match[2]).-.96));.},.
35e80 4f 50 45 4e 53 53 4c 5f 56 45 52 53 49 4f 4e 5f 54 45 58 54 29 3b 0a 62 72 65 61 6b 3b 0a 0a 63 OPENSSL_VERSION_TEXT);.break;..c
35ea0 61 73 65 20 27 70 63 72 65 27 3a 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 70 72 65 ase.'pcre':.$prettyVersion.=.pre
35ec0 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 28 5c 53 2b 29 2e 2a 7d 27 2c 20 27 24 31 27 2c 20 50 43 g_replace('{^(\S+).*}',.'$1',.PC
35ee0 52 45 5f 56 45 52 53 49 4f 4e 29 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 75 75 69 64 27 RE_VERSION);.break;..case.'uuid'
35f00 3a 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 70 68 70 76 65 72 73 69 6f 6e 28 27 75 :.$prettyVersion.=.phpversion('u
35f20 75 69 64 27 29 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 78 73 6c 27 3a 0a 24 70 72 65 74 uid');.break;..case.'xsl':.$pret
35f40 74 79 56 65 72 73 69 6f 6e 20 3d 20 4c 49 42 58 53 4c 54 5f 44 4f 54 54 45 44 5f 56 45 52 53 49 tyVersion.=.LIBXSLT_DOTTED_VERSI
35f60 4f 4e 3b 0a 62 72 65 61 6b 3b 0a 0a 64 65 66 61 75 6c 74 3a 0a 0a 20 63 6f 6e 74 69 6e 75 65 20 ON;.break;..default:...continue.
35f80 32 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 76 65 72 73 69 6f 6e 50 2;.}..try.{.$version.=.$versionP
35fa0 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 73 69 6f 6e 29 arser->normalize($prettyVersion)
35fc0 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 65 45 78 63 65 70 ;.}.catch.(\UnexpectedValueExcep
35fe0 74 69 6f 6e 20 24 65 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6c 69 62 20 3d 20 6e tion.$e).{.continue;.}..$lib.=.n
36000 65 77 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 28 27 6c 69 62 2d 27 2e 24 6e 61 6d 65 2c ew.CompletePackage('lib-'.$name,
36020 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 24 6c 69 62 .$version,.$prettyVersion);.$lib
36040 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 54 68 65 20 27 2e 24 6e 61 6d 65 2e 27 20 ->setDescription('The.'.$name.'.
36060 50 48 50 20 6c 69 62 72 61 72 79 27 29 3b 0a 70 61 72 65 6e 74 3a 3a 61 64 64 50 61 63 6b 61 67 PHP.library');.parent::addPackag
36080 65 28 24 6c 69 62 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 0a e($lib);.}.}.}.<?php............
360a0 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;..
360c0 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 65 6d 52 65 .....class.InstalledFilesystemRe
360e0 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 65 70 6f 73 pository.extends.FilesystemRepos
36100 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 69 itory.implements.InstalledReposi
36120 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 0a toryInterface.{.}.<?php.........
36140 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
36160 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 49 ;..use.Composer\Package\PackageI
36180 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 70 6f 73 69 74 65 52 nterface;.......class.CompositeR
361a0 65 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 epository.implements.RepositoryI
361c0 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 72 65 70 6f 73 69 74 6f nterface.{.....private.$reposito
361e0 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 20 5f 5f 63 6f 6e ries;......public.function.__con
36200 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 29 0a 7b 0a 24 74 struct(array.$repositories).{.$t
36220 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 29 3b 0a 66 6f 72 his->repositories.=.array();.for
36240 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 70 6f 29 20 7b 0a each.($repositories.as.$repo).{.
36260 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 29 3b 0a 7d 0a 7d $this->addRepository($repo);.}.}
36280 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 65 70 6f 73 69 .......public.function.getReposi
362a0 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
362c0 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 6f 6e 20 68 61 73 ories;.}.....public.function.has
362e0 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 67 Package(PackageInterface.$packag
36300 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 69 74 6f 72 69 65 e).{.foreach.($this->repositorie
36320 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 72 65 70 6f 73 69 s.as.$repository).{..if.($reposi
36340 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 29 20 7b 0a 72 65 tory->hasPackage($package)).{.re
36360 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 0a turn.true;.}.}..return.false;.}.
36380 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 28 ....public.function.findPackage(
363a0 24 6e 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 $name,.$version).{.foreach.($thi
363c0 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 79 29 20 s->repositories.as.$repository).
363e0 7b 0a 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e 66 69 6e 64 50 {..$package.=.$repository->findP
36400 61 63 6b 61 67 65 28 24 6e 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 29 3b 0a 69 66 20 28 6e 75 6c ackage($name,.$version);.if.(nul
36420 6c 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 l.!==.$package).{.return.$packag
36440 65 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 69 e;.}.}..return.null;.}.....publi
36460 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 65 2c 20 24 c.function.findPackages($name,.$
36480 76 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 version.=.null).{.$packages.=.ar
364a0 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
364c0 69 65 73 20 61 73 20 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 0a 24 70 61 63 6b 61 67 65 73 ies.as.$repository).{..$packages
364e0 5b 5d 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 [].=.$repository->findPackages($
36500 6e 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b name,.$version);.}..return.$pack
36520 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 72 ages.?.call_user_func_array('arr
36540 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 3b ay_merge',.$packages).:.array();
36560 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 24 71 .}.....public.function.search($q
36580 75 65 72 79 2c 20 24 6d 6f 64 65 20 3d 20 30 29 0a 7b 0a 24 6d 61 74 63 68 65 73 20 3d 20 61 72 uery,.$mode.=.0).{.$matches.=.ar
365a0 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
365c0 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[
365e0 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,.
36600 24 6d 6f 64 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 65 73 20 3f 20 63 61 6c $mode);.}..return.$matches.?.cal
36620 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 6d 65 72 67 65 27 2c l_user_func_array('array_merge',
36640 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 0a 0a 0a 70 75 62 6c .$matches).:.array();.}.....publ
36660 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6c 74 65 72 50 61 63 6b 61 67 65 73 28 24 63 61 6c 6c ic.function.filterPackages($call
36680 62 61 63 6b 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 back,.$class.=.'Composer\Package
366a0 5c 50 61 63 6b 61 67 65 27 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 72 65 70 \Package').{.foreach.($this->rep
366c0 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 69 66 20 28 ositories.as.$repository).{.if.(
366e0 66 61 6c 73 65 20 3d 3d 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e 66 69 6c 74 65 72 50 61 63 false.===.$repository->filterPac
36700 6b 61 67 65 73 28 24 63 61 6c 6c 62 61 63 6b 2c 20 24 63 6c 61 73 73 29 29 20 7b 0a 72 65 74 75 kages($callback,.$class)).{.retu
36720 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 0a 0a rn.false;.}.}..return.true;.}...
36740 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 0a ..public.function.getPackages().
36760 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 28 {.$packages.=.array();.foreach.(
36780 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 6f $this->repositories.as.$reposito
367a0 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 79 ry).{..$packages[].=.$repository
367c0 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 6b ->getPackages();.}..return.$pack
367e0 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 72 ages.?.call_user_func_array('arr
36800 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 3b ay_merge',.$packages).:.array();
36820 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 63 .}.....public.function.removePac
36840 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 0a kage(PackageInterface.$package).
36860 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 61 {.foreach.($this->repositories.a
36880 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 72 s.$repository).{..$repository->r
368a0 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 0a emovePackage($package);.}.}.....
368c0 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 6c public.function.count().{.$total
368e0 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 69 .=.0;.foreach.($this->repositori
36900 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 20 es.as.$repository).{..$total.+=.
36920 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 20 $repository->count();.}..return.
36940 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 61 $total;.}......public.function.a
36960 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 65 ddRepository(RepositoryInterface
36980 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 20 .$repository).{.if.($repository.
369a0 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 70 instanceof.self).{.foreach.($rep
369c0 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 72 ository->getRepositories().as.$r
369e0 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 70 epo).{.$this->addRepository($rep
36a00 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 69 o);.}.}.else.{.$this->repositori
36a20 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 0a es[].=.$repository;.}.}.}.<?php.
36a40 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
36a60 70 6f 73 69 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 pository;.........interface.Inst
36a80 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 65 78 74 65 6e 64 73 alledRepositoryInterface.extends
36aa0 20 57 72 69 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 .WritableRepositoryInterface.{.}
36ac0 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
36ae0 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 50 oser\Repository;..use.Composer\P
36b00 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 43 ackage\Loader\ArrayLoader;.use.C
36b20 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
36b40 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 6b ;.use.Composer\Package\AliasPack
36b60 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 56 65 72 73 69 6f age;.use.Composer\Package\Versio
36b80 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 44 65 n\VersionParser;.use.Composer\De
36ba0 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 70 6f pendencyResolver\Pool;.use.Compo
36bc0 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 5c ser\Json\JsonFile;.use.Composer\
36be0 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 73 65 20 Cache;.use.Composer\Config;.use.
36c00 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
36c20 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 0a 0a 0a poser\Util\RemoteFilesystem;....
36c40 0a 63 6c 61 73 73 20 43 6f 6d 70 6f 73 65 72 52 65 70 6f 73 69 74 6f 72 79 20 65 78 74 65 6e 64 .class.ComposerRepository.extend
36c60 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 20 53 74 72 s.ArrayRepository.implements.Str
36c80 65 61 6d 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 72 6f eamableRepositoryInterface.{.pro
36ca0 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 6f 70 74 69 6f tected.$config;.protected.$optio
36cc0 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 20 24 62 ns;.protected.$url;.protected.$b
36ce0 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 74 65 64 aseUrl;.protected.$io;.protected
36d00 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 65 63 74 .$rfs;.protected.$cache;.protect
36d20 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 72 63 68 ed.$notifyUrl;.protected.$search
36d40 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 3d 20 66 Url;.protected.$hasProviders.=.f
36d60 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 3b 0a 70 alse;.protected.$providersUrl;.p
36d80 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
36da0 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
36dc0 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();.
36de0 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
36e00 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
36e20 77 6e 67 72 61 64 65 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 72 61 77 44 61 74 wngrade.=.false;.private.$rawDat
36e40 61 3b 0a 70 72 69 76 61 74 65 20 24 6d 69 6e 69 6d 61 6c 50 61 63 6b 61 67 65 73 3b 0a 70 72 69 a;.private.$minimalPackages;.pri
36e60 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 69 76 vate.$degradedMode.=.false;.priv
36e80 61 74 65 20 24 72 6f 6f 74 44 61 74 61 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ate.$rootData;..public.function.
36ea0 5f 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 __construct(array.$repoConfig,.I
36ec0 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).
36ee0 7b 0a 69 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 {.if.(!preg_match('{^[\w.]+\??:/
36f00 2f 7d 27 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 /}',.$repoConfig['url'])).{...$r
36f20 65 70 6f 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 epoConfig['url'].=.'http://'.$re
36f40 70 6f 43 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 poConfig['url'];.}.$repoConfig['
36f60 75 72 6c 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 url'].=.rtrim($repoConfig['url']
36f80 2c 20 27 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 ,.'/');..if.('https?'.===.substr
36fa0 28 24 72 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 ($repoConfig['url'],.0,.6)).{.$r
36fc0 65 70 6f 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 epoConfig['url'].=.(extension_lo
36fe0 61 64 65 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 aded('openssl').?.'https'.:.'htt
37000 70 27 29 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 p')...substr($repoConfig['url'],
37020 20 36 29 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 .6);.}..$urlBits.=.parse_url($re
37040 70 6f 43 6f 6e 66 69 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 poConfig['url']);.if.(empty($url
37060 42 69 74 73 5b 27 73 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 Bits['scheme']).||.empty($urlBit
37080 73 5b 27 68 6f 73 74 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 s['host'])).{.throw.new.\Unexpec
370a0 74 65 64 56 61 6c 75 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 tedValueException('Invalid.url.g
370c0 69 76 65 6e 20 66 6f 72 20 43 6f 6d 70 6f 73 65 72 20 72 65 70 6f 73 69 74 6f 72 79 3a 20 27 2e iven.for.Composer.repository:.'.
370e0 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 73 $repoConfig['url']);.}..if.(!iss
37100 65 74 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 6f 70 74 69 6f 6e 73 27 5d 29 29 20 7b 0a 24 72 et($repoConfig['options'])).{.$r
37120 65 70 6f 43 6f 6e 66 69 67 5b 27 6f 70 74 69 6f 6e 73 27 5d 20 3d 20 61 72 72 61 79 28 29 3b 0a epoConfig['options'].=.array();.
37140 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 61 6c 6c 6f 77 5f 73 }.if.(isset($repoConfig['allow_s
37160 73 6c 5f 64 6f 77 6e 67 72 61 64 65 27 5d 29 20 26 26 20 74 72 75 65 20 3d 3d 3d 20 24 72 65 70 sl_downgrade']).&&.true.===.$rep
37180 6f 43 6f 6e 66 69 67 5b 27 61 6c 6c 6f 77 5f 73 73 6c 5f 64 6f 77 6e 67 72 61 64 65 27 5d 29 20 oConfig['allow_ssl_downgrade']).
371a0 7b 0a 24 74 68 69 73 2d 3e 61 6c 6c 6f 77 53 73 6c 44 6f 77 6e 67 72 61 64 65 20 3d 20 74 72 75 {.$this->allowSslDowngrade.=.tru
371c0 65 3b 0a 7d 0a 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 e;.}..$this->config.=.$config;.$
371e0 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 6f 70 74 this->options.=.$repoConfig['opt
37200 69 6f 6e 73 27 5d 3b 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 ions'];.$this->url.=.$repoConfig
37220 5b 27 75 72 6c 27 5d 3b 0a 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 3d 20 72 74 72 69 6d 28 ['url'];.$this->baseUrl.=.rtrim(
37240 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 28 2e 2a 29 28 3f 3a 2f 70 61 63 6b 61 67 65 73 preg_replace('{^(.*)(?:/packages
37260 2e 6a 73 6f 6e 29 3f 28 3f 3a 5b 3f 23 5d 2e 2a 29 3f 24 7d 27 2c 20 27 24 31 27 2c 20 24 74 68 .json)?(?:[?#].*)?$}',.'$1',.$th
37280 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 6f 3b is->url),.'/');.$this->io.=.$io;
372a0 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 20 24 .$this->cache.=.new.Cache($io,.$
372c0 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 27 2f config->get('cache-repo-dir').'/
372e0 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 2c 20 '.preg_replace('{[^a-z0-9.]}i',.
37300 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 0a 24 '-',.$this->url),.'a-z0-9.$');.$
37320 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 28 29 this->loader.=.new.ArrayLoader()
37340 3b 0a 24 74 68 69 73 2d 3e 72 66 73 20 3d 20 6e 65 77 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 ;.$this->rfs.=.new.RemoteFilesys
37360 74 65 6d 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 29 3b 0a tem($this->io,.$this->options);.
37380 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 69 61 73 65 }..public.function.setRootAliase
373a0 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 73 2d 3e 72 s(array.$rootAliases).{.$this->r
373c0 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 0a 0a 70 75 ootAliases.=.$rootAliases;.}..pu
373e0 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 0a 69 66 blic.function.getPackages().{.if
37400 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 72 6f 77 .($this->hasProviders()).{.throw
37420 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 72 20 72 .new.\LogicException('Composer.r
37440 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 72 73 20 epositories.that.have.providers.
37460 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 74 20 6f can.not.load.the.complete.list.o
37480 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 6d 65 73 f.packages,.use.getProviderNames
374a0 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 3a 3a 67 .instead.');.}..return.parent::g
374c0 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 6e 63 74 etPackages();.}.....public.funct
374e0 69 6f 6e 20 67 65 74 4d 69 6e 69 6d 61 6c 50 61 63 6b 61 67 65 73 28 29 0a 7b 0a 69 66 20 28 69 ion.getMinimalPackages().{.if.(i
37500 73 73 65 74 28 24 74 68 69 73 2d 3e 6d 69 6e 69 6d 61 6c 50 61 63 6b 61 67 65 73 29 29 20 7b 0a sset($this->minimalPackages)).{.
37520 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 69 6e 69 6d 61 6c 50 61 63 6b 61 67 65 73 3b 0a 7d return.$this->minimalPackages;.}
37540 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 72 61 77 44 61 74 61 29 20 7b ..if.(null.===.$this->rawData).{
37560 0a 24 74 68 69 73 2d 3e 72 61 77 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 61 64 44 61 74 .$this->rawData.=.$this->loadDat
37580 61 46 72 6f 6d 53 65 72 76 65 72 28 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6d 69 6e 69 6d 61 6c aFromServer();.}..$this->minimal
375a0 50 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 76 65 72 73 69 6f 6e 50 61 72 73 Packages.=.array();.$versionPars
375c0 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 0a 66 6f 72 65 61 63 68 er.=.new.VersionParser;..foreach
375e0 20 28 24 74 68 69 73 2d 3e 72 61 77 44 61 74 61 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a .($this->rawData.as.$package).{.
37600 24 76 65 72 73 69 6f 6e 20 3d 20 21 65 6d 70 74 79 28 24 70 61 63 6b 61 67 65 5b 27 76 65 72 73 $version.=.!empty($package['vers
37620 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 29 20 3f 20 24 70 61 63 6b 61 67 65 5b 27 76 65 ion_normalized']).?.$package['ve
37640 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 20 3a 20 24 76 65 72 73 69 6f 6e 50 61 72 rsion_normalized'].:.$versionPar
37660 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 70 61 63 6b 61 67 65 5b 27 76 65 72 73 69 6f 6e ser->normalize($package['version
37680 27 5d 29 3b 0a 24 64 61 74 61 20 3d 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 27 20 3d 3e 20 73 74 ']);.$data.=.array(.'name'.=>.st
376a0 72 74 6f 6c 6f 77 65 72 28 24 70 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 29 2c 0a 27 72 65 70 rtolower($package['name']),.'rep
376c0 6f 27 20 3d 3e 20 24 74 68 69 73 2c 0a 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 76 65 72 73 69 o'.=>.$this,.'version'.=>.$versi
376e0 6f 6e 2c 0a 27 72 61 77 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2c 0a 29 3b 0a 69 66 20 28 21 65 on,.'raw'.=>.$package,.);.if.(!e
37700 6d 70 74 79 28 24 70 61 63 6b 61 67 65 5b 27 72 65 70 6c 61 63 65 27 5d 29 29 20 7b 0a 24 64 61 mpty($package['replace'])).{.$da
37720 74 61 5b 27 72 65 70 6c 61 63 65 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 5b 27 72 65 70 6c 61 63 ta['replace'].=.$package['replac
37740 65 27 5d 3b 0a 7d 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 e'];.}.if.(!empty($package['prov
37760 69 64 65 27 5d 29 29 20 7b 0a 24 64 61 74 61 5b 27 70 72 6f 76 69 64 65 27 5d 20 3d 20 24 70 61 ide'])).{.$data['provide'].=.$pa
37780 63 6b 61 67 65 5b 27 70 72 6f 76 69 64 65 27 5d 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 61 6c 69 61 ckage['provide'];.}....if.($alia
377a0 73 4e 6f 72 6d 61 6c 69 7a 65 64 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 67 65 74 sNormalized.=.$this->loader->get
377c0 42 72 61 6e 63 68 41 6c 69 61 73 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 64 61 74 61 5b 27 BranchAlias($package)).{.$data['
377e0 61 6c 69 61 73 27 5d 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 28 5c 2e 39 7b 37 7d alias'].=.preg_replace('{(\.9{7}
37800 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 29 3b 0a 24 )+}',.'.x',.$aliasNormalized);.$
37820 64 61 74 61 5b 27 61 6c 69 61 73 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 20 3d 20 24 61 6c 69 61 data['alias_normalized'].=.$alia
37840 73 4e 6f 72 6d 61 6c 69 7a 65 64 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6d 69 6e 69 6d 61 6c 50 61 sNormalized;.}..$this->minimalPa
37860 63 6b 61 67 65 73 5b 5d 20 3d 20 24 64 61 74 61 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 ckages[].=.$data;.}..return.$thi
37880 73 2d 3e 6d 69 6e 69 6d 61 6c 50 61 63 6b 61 67 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 s->minimalPackages;.}.....public
378a0 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 64 65 20 3d .function.search($query,.$mode.=
378c0 20 30 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 28 .0).{.$this->loadRootServerFile(
378e0 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 65 61 72 63 68 55 72 6c 20 26 26 20 24 6d 6f 64 );..if.($this->searchUrl.&&.$mod
37900 65 20 3d 3d 3d 20 73 65 6c 66 3a 3a 53 45 41 52 43 48 5f 46 55 4c 4c 54 45 58 54 29 20 7b 0a 24 e.===.self::SEARCH_FULLTEXT).{.$
37920 75 72 6c 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 25 71 75 65 72 79 25 27 2c 20 24 71 75 url.=.str_replace('%query%',.$qu
37940 65 72 79 2c 20 24 74 68 69 73 2d 3e 73 65 61 72 63 68 55 72 6c 29 3b 0a 0a 24 6a 73 6f 6e 20 3d ery,.$this->searchUrl);..$json.=
37960 20 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 75 72 6c 2c 20 24 .$this->rfs->getContents($url,.$
37980 75 72 6c 2c 20 66 61 6c 73 65 29 3b 0a 24 72 65 73 75 6c 74 73 20 3d 20 4a 73 6f 6e 46 69 6c 65 url,.false);.$results.=.JsonFile
379a0 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 6a 73 6f 6e 2c 20 24 75 72 6c 29 3b 0a 0a 72 65 74 75 72 ::parseJson($json,.$url);..retur
379c0 6e 20 24 72 65 73 75 6c 74 73 5b 27 72 65 73 75 6c 74 73 27 5d 3b 0a 7d 0a 0a 69 66 20 28 24 74 n.$results['results'];.}..if.($t
379e0 68 69 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 his->hasProviders()).{.$results.
37a00 3d 20 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 =.array();.$regex.=.'{(?:'.implo
37a20 64 65 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 de('|',.preg_split('{\s+}',.$que
37a40 72 79 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 ry)).')}i';..foreach.($this->get
37a60 50 72 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 ProviderNames().as.$name).{.if.(
37a80 70 72 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 preg_match($regex,.$name)).{.$re
37aa0 73 75 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 sults[].=.array('name'.=>.$name)
37ac0 3b 0a 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 ;.}.}..return.$results;.}..retur
37ae0 6e 20 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 n.parent::search($query,.$mode);
37b00 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 76 69 64 65 72 4e .}..public.function.getProviderN
37b20 61 6d 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 ames().{.$this->loadRootServerFi
37b40 6c 65 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 le();..if.(null.===.$this->provi
37b60 64 65 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 derListing).{.$this->loadProvide
37b80 72 4c 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 rListings($this->loadRootServerF
37ba0 69 6c 65 28 29 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 55 ile());.}..if.($this->providersU
37bc0 72 6c 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 70 rl).{.return.array_keys($this->p
37be0 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 29 3b 0a 7d 0a 0a 0a 20 24 70 72 6f 76 69 64 65 72 73 roviderListing);.}....$providers
37c00 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 6b 65 79 73 28 .=.array();.foreach.(array_keys(
37c20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 29 20 61 73 20 24 70 72 6f 76 $this->providerListing).as.$prov
37c40 69 64 65 72 29 20 7b 0a 24 70 72 6f 76 69 64 65 72 73 5b 5d 20 3d 20 73 75 62 73 74 72 28 24 70 ider).{.$providers[].=.substr($p
37c60 72 6f 76 69 64 65 72 2c 20 32 2c 20 2d 35 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 72 6f 76 rovider,.2,.-5);.}..return.$prov
37c80 69 64 65 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 6c 6f 61 iders;.}.....public.function.loa
37ca0 64 50 61 63 6b 61 67 65 28 61 72 72 61 79 20 24 64 61 74 61 29 0a 7b 0a 24 70 61 63 6b 61 67 65 dPackage(array.$data).{.$package
37cc0 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 50 61 63 6b 61 67 65 28 24 64 61 74 61 5b 27 72 .=.$this->createPackage($data['r
37ce0 61 77 27 5d 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 27 aw'],.'Composer\Package\Package'
37d00 29 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 );.if.($package.instanceof.Alias
37d20 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 61 67 65 2d 3e Package).{.$package.=.$package->
37d40 67 65 74 41 6c 69 61 73 4f 66 28 29 3b 0a 7d 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 70 getAliasOf();.}.$package->setRep
37d60 6f 73 69 74 6f 72 79 28 24 74 68 69 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 ository($this);..return.$package
37d80 3b 0a 7d 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 41 6c 69 61 ;.}.....public.function.loadAlia
37da0 73 50 61 63 6b 61 67 65 28 61 72 72 61 79 20 24 64 61 74 61 2c 20 50 61 63 6b 61 67 65 49 6e 74 sPackage(array.$data,.PackageInt
37dc0 65 72 66 61 63 65 20 24 61 6c 69 61 73 4f 66 29 0a 7b 0a 24 61 6c 69 61 73 50 61 63 6b 61 67 65 erface.$aliasOf).{.$aliasPackage
37de0 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 41 6c 69 61 73 50 61 63 6b 61 67 65 28 24 61 6c .=.$this->createAliasPackage($al
37e00 69 61 73 4f 66 2c 20 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 2c 20 24 64 61 74 61 5b 27 iasOf,.$data['version'],.$data['
37e20 61 6c 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 65 70 6f alias']);.$aliasPackage->setRepo
37e40 73 69 74 6f 72 79 28 24 74 68 69 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 61 6c 69 61 73 50 61 63 sitory($this);..return.$aliasPac
37e60 6b 61 67 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 50 72 6f 76 kage;.}..public.function.hasProv
37e80 69 64 65 72 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 iders().{.$this->loadRootServerF
37ea0 69 6c 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 73 50 72 6f 76 69 64 65 ile();..return.$this->hasProvide
37ec0 72 73 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 50 61 63 6b rs;.}..public.function.resetPack
37ee0 61 67 65 49 64 73 28 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 ageIds().{.foreach.($this->provi
37f00 64 65 72 73 42 79 55 69 64 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 70 61 dersByUid.as.$package).{.if.($pa
37f20 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 7b ckage.instanceof.AliasPackage).{
37f40 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 2d 3e 73 65 74 49 64 28 2d .$package->getAliasOf()->setId(-
37f60 31 29 3b 0a 7d 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 49 64 28 2d 31 29 3b 0a 7d 0a 7d 0a 0a 1);.}.$package->setId(-1);.}.}..
37f80 70 75 62 6c 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 public.function.whatProvides(Poo
37fa0 6c 20 24 70 6f 6f 6c 2c 20 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 l.$pool,.$name).{.if.(isset($thi
37fc0 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 s->providers[$name])).{.return.$
37fe0 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 0a 0a 0a 20 69 66 20 this->providers[$name];.}....if.
38000 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::
38020 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 6e 61 6d 65 29 20 7c PLATFORM_PACKAGE_REGEX,.$name).|
38040 7c 20 27 5f 5f 72 6f 6f 74 5f 5f 27 20 3d 3d 3d 20 24 6e 61 6d 65 29 20 7b 0a 72 65 74 75 72 6e |.'__root__'.===.$name).{.return
38060 20 61 72 72 61 79 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 .array();.}..if.(null.===.$this-
38080 3e 70 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 50 >providerListing).{.$this->loadP
380a0 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 73 28 24 74 68 69 73 2d 3e 6c 6f 61 64 52 6f 6f 74 53 roviderListings($this->loadRootS
380c0 65 72 76 65 72 46 69 6c 65 28 29 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 76 erverFile());.}..if.($this->prov
380e0 69 64 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 idersUrl).{...if.(!isset($this->
38100 70 72 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 providerListing[$name])).{.retur
38120 6e 20 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 n.array();.}..$hash.=.$this->pro
38140 76 69 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 viderListing[$name]['sha256'];.$
38160 75 72 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 url.=.str_replace(array('%packag
38180 65 25 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 e%',.'%hash%'),.array($name,.$ha
381a0 73 68 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 sh),.$this->providersUrl);.$cach
381c0 65 4b 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 eKey.=.'provider-'.strtr($name,.
381e0 27 2f 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 0a 20 24 75 '/',.'$').'.json';.}.else.{...$u
38200 72 6c 20 3d 20 27 70 2f 27 2e 24 6e 61 6d 65 2e 27 2e 6a 73 6f 6e 27 3b 0a 0a 0a 20 69 66 20 28 rl.=.'p/'.$name.'.json';....if.(
38220 21 69 73 73 65 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 75 !isset($this->providerListing[$u
38240 72 6c 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 24 68 61 73 68 20 rl])).{.return.array();.}.$hash.
38260 3d 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 5b 24 75 72 6c 5d 5b 27 =.$this->providerListing[$url]['
38280 73 68 61 32 35 36 27 5d 3b 0a 24 63 61 63 68 65 4b 65 79 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 0a 69 sha256'];.$cacheKey.=.null;.}..i
382a0 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 63 61 63 68 65 4b 65 f.($this->cache->sha256($cacheKe
382c0 79 29 20 3d 3d 3d 20 24 68 61 73 68 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 6a 73 6f 6e y).===.$hash).{.$packages.=.json
382e0 5f 64 65 63 6f 64 65 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 _decode($this->cache->read($cach
38300 65 4b 65 79 29 2c 20 74 72 75 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 63 6b 61 67 65 73 eKey),.true);.}.else.{.$packages
38320 20 3d 20 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 .=.$this->fetchFile($url,.$cache
38340 4b 65 79 2c 20 24 68 61 73 68 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 Key,.$hash);.}..$this->providers
38360 5b 24 6e 61 6d 65 5d 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 [$name].=.array();.foreach.($pac
38380 6b 61 67 65 73 5b 27 70 61 63 6b 61 67 65 73 27 5d 20 61 73 20 24 76 65 72 73 69 6f 6e 73 29 20 kages['packages'].as.$versions).
383a0 7b 0a 66 6f 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 {.foreach.($versions.as.$version
383c0 29 20 7b 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 65 72 73 ).{...if.(isset($this->providers
383e0 42 79 55 69 64 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 29 29 20 7b 0a 0a 20 69 66 20 ByUid[$version['uid']])).{...if.
38400 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e 61 6d 65 5d 5b (!isset($this->providers[$name][
38420 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 29 29 20 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 $version['uid']])).{...if.($this
38440 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 27 5d ->providersByUid[$version['uid']
38460 5d 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 74 68 ].instanceof.AliasPackage).{.$th
38480 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 75 is->providers[$name][$version['u
384a0 69 64 27 5d 5d 20 3d 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 id']].=.$this->providersByUid[$v
384c0 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 3b 0a 24 74 ersion['uid']]->getAliasOf();.$t
384e0 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['
38500 75 69 64 27 5d 2e 27 2d 61 6c 69 61 73 27 5d 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 uid'].'-alias'].=.$this->provide
38520 72 73 42 79 55 69 64 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 3b 0a 7d 20 65 6c 73 65 rsByUid[$version['uid']];.}.else
38540 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 65 72 73 .{.$this->providers[$name][$vers
38560 69 6f 6e 5b 27 75 69 64 27 5d 5d 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 42 79 ion['uid']].=.$this->providersBy
38580 55 69 64 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 3b 0a 7d 0a 0a 20 69 66 20 28 69 73 Uid[$version['uid']];.}...if.(is
385a0 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 24 76 65 72 73 69 set($this->providersByUid[$versi
385c0 6f 6e 5b 27 75 69 64 27 5d 2e 27 2d 72 6f 6f 74 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 on['uid'].'-root'])).{.$this->pr
385e0 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 2e 27 oviders[$name][$version['uid'].'
38600 2d 72 6f 6f 74 27 5d 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 42 79 55 69 64 5b -root'].=.$this->providersByUid[
38620 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 2e 27 2d 72 6f 6f 74 27 5d 3b 0a 7d 0a 7d 0a 7d 20 $version['uid'].'-root'];.}.}.}.
38640 65 6c 73 65 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 76 65 72 73 69 6f 6e 5b 27 70 72 6f 76 69 else.{.if.(isset($version['provi
38660 64 65 27 5d 29 20 7c 7c 20 69 73 73 65 74 28 24 76 65 72 73 69 6f 6e 5b 27 72 65 70 6c 61 63 65 de']).||.isset($version['replace
38680 27 5d 29 29 20 7b 0a 0a 20 24 6e 61 6d 65 73 20 3d 20 61 72 72 61 79 28 0a 73 74 72 74 6f 6c 6f '])).{...$names.=.array(.strtolo
386a0 77 65 72 28 24 76 65 72 73 69 6f 6e 5b 27 6e 61 6d 65 27 5d 29 20 3d 3e 20 74 72 75 65 2c 0a 29 wer($version['name']).=>.true,.)
386c0 3b 0a 69 66 20 28 69 73 73 65 74 28 24 76 65 72 73 69 6f 6e 5b 27 70 72 6f 76 69 64 65 27 5d 29 ;.if.(isset($version['provide'])
386e0 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 6f 76 69 64 65 27 5d ).{.foreach.($version['provide']
38700 20 61 73 20 24 74 61 72 67 65 74 20 3d 3e 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 24 6e .as.$target.=>.$constraint).{.$n
38720 61 6d 65 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 74 61 72 67 65 74 29 5d 20 3d 20 74 72 75 65 ames[strtolower($target)].=.true
38740 3b 0a 7d 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 76 65 72 73 69 6f 6e 5b 27 72 65 70 6c 61 63 ;.}.}.if.(isset($version['replac
38760 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 72 65 70 6c 61 e'])).{.foreach.($version['repla
38780 63 65 27 5d 20 61 73 20 24 74 61 72 67 65 74 20 3d 3e 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 ce'].as.$target.=>.$constraint).
387a0 7b 0a 24 6e 61 6d 65 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 74 61 72 67 65 74 29 5d 20 3d 20 {.$names[strtolower($target)].=.
387c0 74 72 75 65 3b 0a 7d 0a 7d 0a 24 6e 61 6d 65 73 20 3d 20 61 72 72 61 79 5f 6b 65 79 73 28 24 6e true;.}.}.$names.=.array_keys($n
387e0 61 6d 65 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6e 61 6d 65 73 20 3d 20 61 72 72 61 79 28 73 ames);.}.else.{.$names.=.array(s
38800 74 72 74 6f 6c 6f 77 65 72 28 24 76 65 72 73 69 6f 6e 5b 27 6e 61 6d 65 27 5d 29 29 3b 0a 7d 0a trtolower($version['name']));.}.
38820 69 66 20 28 21 24 70 6f 6f 6c 2d 3e 69 73 50 61 63 6b 61 67 65 41 63 63 65 70 74 61 62 6c 65 28 if.(!$pool->isPackageAcceptable(
38840 73 74 72 74 6f 6c 6f 77 65 72 28 24 76 65 72 73 69 6f 6e 5b 27 6e 61 6d 65 27 5d 29 2c 20 56 65 strtolower($version['name']),.Ve
38860 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
38880 73 69 6f 6e 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d sion['version']))).{.continue;.}
388a0 0a 0a 0a 20 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 50 61 63 6b ....$package.=.$this->createPack
388c0 61 67 65 28 24 76 65 72 73 69 6f 6e 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c age($version,.'Composer\Package\
388e0 50 61 63 6b 61 67 65 27 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f Package');.$package->setReposito
38900 72 79 28 24 74 68 69 73 29 3b 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 ry($this);..if.($package.instanc
38920 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 65 64 20 3d 20 24 eof.AliasPackage).{.$aliased.=.$
38940 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 3b 0a 24 61 6c 69 61 73 65 64 2d package->getAliasOf();.$aliased-
38960 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 28 24 74 68 69 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 >setRepository($this);..$this->p
38980 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 27 5d 5d roviders[$name][$version['uid']]
389a0 20 3d 20 24 61 6c 69 61 73 65 64 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e .=.$aliased;.$this->providers[$n
389c0 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'].=
389e0 20 24 70 61 63 6b 61 67 65 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 42 79 .$package;....$this->providersBy
38a00 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 65 3b Uid[$version['uid']].=.$package;
38a20 0a 7d 20 65 6c 73 65 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 .}.else.{.$this->providers[$name
38a40 5d 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 65 3b 0a 24 ][$version['uid']].=.$package;.$
38a60 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
38a80 69 64 27 5d 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 20 75 6e 73 65 74 28 24 72 6f id']].=.$package;.}....unset($ro
38aa0 6f 74 41 6c 69 61 73 44 61 74 61 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e otAliasData);..if.(isset($this->
38ac0 72 6f 6f 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 rootAliases[$name][$package->get
38ae0 56 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 Version()])).{.$rootAliasData.=.
38b00 24 74 68 69 73 2d 3e 72 6f 6f 74 41 6c 69 61 73 65 73 5b 24 6e 61 6d 65 5d 5b 24 70 61 63 6b 61 $this->rootAliases[$name][$packa
38b20 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 70 61 ge->getVersion()];.}.elseif.($pa
38b40 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 20 26 26 ckage.instanceof.AliasPackage.&&
38b60 20 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 6e 61 6d 65 5d .isset($this->rootAliases[$name]
38b80 5b 24 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 [$package->getAliasOf()->getVers
38ba0 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 74 68 69 ion()])).{.$rootAliasData.=.$thi
38bc0 73 2d 3e 72 6f 6f 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 s->rootAliases[$name][$package->
38be0 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 5d 3b 0a 7d 0a 0a getAliasOf()->getVersion()];.}..
38c00 69 66 20 28 69 73 73 65 74 28 24 72 6f 6f 74 41 6c 69 61 73 44 61 74 61 29 29 20 7b 0a 24 61 6c if.(isset($rootAliasData)).{.$al
38c20 69 61 73 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 41 6c 69 61 73 50 61 63 6b 61 67 65 28 ias.=.$this->createAliasPackage(
38c40 24 70 61 63 6b 61 67 65 2c 20 24 72 6f 6f 74 41 6c 69 61 73 44 61 74 61 5b 27 61 6c 69 61 73 5f $package,.$rootAliasData['alias_
38c60 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 2c 20 24 72 6f 6f 74 41 6c 69 61 73 44 61 74 61 5b 27 61 6c normalized'],.$rootAliasData['al
38c80 69 61 73 27 5d 29 3b 0a 24 61 6c 69 61 73 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 28 24 74 ias']);.$alias->setRepository($t
38ca0 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 5b 24 his);..$this->providers[$name][$
38cc0 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 61 73 version['uid'].'-root'].=.$alias
38ce0 3b 0a 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 ;.$this->providersByUid[$version
38d00 5b 27 75 69 64 27 5d 2e 27 2d 72 6f 6f 74 27 5d 20 3d 20 24 61 6c 69 61 73 3b 0a 7d 0a 7d 0a 7d ['uid'].'-root'].=.$alias;.}.}.}
38d20 0a 7d 0a 0a 72 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 .}..return.$this->providers[$nam
38d40 65 5d 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 6e 69 e];.}.....protected.function.ini
38d60 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 28 29 tialize().{.parent::initialize()
38d80 3b 0a 0a 24 72 65 70 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 ;..$repoData.=.$this->loadDataFr
38da0 6f 6d 53 65 72 76 65 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 omServer();..foreach.($repoData.
38dc0 61 73 20 24 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 as.$package).{.$this->addPackage
38de0 28 24 74 68 69 73 2d 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 ($this->createPackage($package,.
38e00 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 61 63 6b 61 67 'Composer\Package\CompletePackag
38e20 65 27 29 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 6c 6f e'));.}.}..protected.function.lo
38e40 61 64 52 6f 6f 74 53 65 72 76 65 72 46 69 6c 65 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d adRootServerFile().{.if.(null.!=
38e60 3d 20 24 74 68 69 73 2d 3e 72 6f 6f 74 44 61 74 61 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 =.$this->rootData).{.return.$thi
38e80 73 2d 3e 72 6f 6f 74 44 61 74 61 3b 0a 7d 0a 0a 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c s->rootData;.}..if.(!extension_l
38ea0 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 20 26 26 20 27 68 74 74 70 73 27 20 3d 3d 3d 20 oaded('openssl').&&.'https'.===.
38ec0 73 75 62 73 74 72 28 24 74 68 69 73 2d 3e 75 72 6c 2c 20 30 2c 20 35 29 29 20 7b 0a 74 68 72 6f substr($this->url,.0,.5)).{.thro
38ee0 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 20 6d 75 73 w.new.\RuntimeException('You.mus
38f00 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 73 69 6f 6e 20 69 t.enable.the.openssl.extension.i
38f20 6e 20 79 6f 75 72 20 70 68 70 2e 69 6e 69 20 74 6f 20 6c 6f 61 64 20 69 6e 66 6f 72 6d 61 74 69 n.your.php.ini.to.load.informati
38f40 6f 6e 20 66 72 6f 6d 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 7d 0a 0a 24 6a 73 6f 6e 55 on.from.'.$this->url);.}..$jsonU
38f60 72 6c 50 61 72 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 3b rlParts.=.parse_url($this->url);
38f80 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6a 73 6f 6e 55 72 6c 50 61 72 74 73 5b 27 70 61 74 68 27 ..if.(isset($jsonUrlParts['path'
38fa0 5d 29 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 6a 73 6f 6e 55 72 6c 50 ]).&&.false.!==.strpos($jsonUrlP
38fc0 61 72 74 73 5b 27 70 61 74 68 27 5d 2c 20 27 2f 70 61 63 6b 61 67 65 73 2e 6a 73 6f 6e 27 29 29 arts['path'],.'/packages.json'))
38fe0 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 65 .{.$jsonUrl.=.$this->url;.}.else
39000 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 63 .{.$jsonUrl.=.$this->url...'/pac
39020 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 66 kages.json';.}..$data.=.$this->f
39040 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 6f etchFile($jsonUrl,.'packages.jso
39060 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 62 n');..if.(!empty($data['notify-b
39080 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 74 atch'])).{.$this->notifyUrl.=.$t
390a0 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 69 his->canonicalizeUrl($data['noti
390c0 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 64 fy-batch']);.}.elseif.(!empty($d
390e0 61 74 61 5b 27 6e 6f 74 69 66 79 5f 62 61 74 63 68 27 5d 29 29 20 7b 0a 0a 20 24 74 68 69 73 2d ata['notify_batch'])).{...$this-
39100 3e 6e 6f 74 69 66 79 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 >notifyUrl.=.$this->canonicalize
39120 55 72 6c 28 24 64 61 74 61 5b 27 6e 6f 74 69 66 79 5f 62 61 74 63 68 27 5d 29 3b 0a 7d 20 65 6c Url($data['notify_batch']);.}.el
39140 73 65 69 66 20 28 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 6e 6f 74 69 66 79 27 5d 29 29 20 7b seif.(!empty($data['notify'])).{
39160 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 66 79 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 63 61 6e 6f 6e .$this->notifyUrl.=.$this->canon
39180 69 63 61 6c 69 7a 65 55 72 6c 28 24 64 61 74 61 5b 27 6e 6f 74 69 66 79 27 5d 29 3b 0a 7d 0a 0a icalizeUrl($data['notify']);.}..
391a0 69 66 20 28 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 73 65 61 72 63 68 27 5d 29 29 20 7b 0a 24 if.(!empty($data['search'])).{.$
391c0 74 68 69 73 2d 3e 73 65 61 72 63 68 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 63 61 6e 6f 6e 69 63 this->searchUrl.=.$this->canonic
391e0 61 6c 69 7a 65 55 72 6c 28 24 64 61 74 61 5b 27 73 65 61 72 63 68 27 5d 29 3b 0a 7d 0a 0a 69 66 alizeUrl($data['search']);.}..if
39200 20 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 .($this->allowSslDowngrade).{.$t
39220 68 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 his->url.=.str_replace('https://
39240 27 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 7d 0a 0a 69 66 ',.'http://',.$this->url);.}..if
39260 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 6c 27 5d 29 .(!empty($data['providers-url'])
39280 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 68 69 73 2d ).{.$this->providersUrl.=.$this-
392a0 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 69 64 65 72 >canonicalizeUrl($data['provider
392c0 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 73 20 3d 20 s-url']);.$this->hasProviders.=.
392e0 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 72 6f 76 69 true;.}..if.(!empty($data['provi
39300 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 76 69 64 65 ders']).||.!empty($data['provide
39320 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 50 72 6f 76 rs-includes'])).{.$this->hasProv
39340 69 64 65 72 73 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 iders.=.true;.}..return.$this->r
39360 6f 6f 74 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 ootData.=.$data;.}..protected.fu
39380 6e 63 74 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 nction.canonicalizeUrl($url).{.i
393a0 66 20 28 27 2f 27 20 3d 3d 3d 20 24 75 72 6c 5b 30 5d 29 20 7b 0a 72 65 74 75 72 6e 20 70 72 65 f.('/'.===.$url[0]).{.return.pre
393c0 67 5f 72 65 70 6c 61 63 65 28 27 7b 28 68 74 74 70 73 3f 3a 2f 2f 5b 5e 2f 5d 2b 29 2e 2a 7d 69 g_replace('{(https?://[^/]+).*}i
393e0 27 2c 20 27 24 31 27 20 2e 20 24 75 72 6c 2c 20 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 7d 0a 0a ',.'$1'...$url,.$this->url);.}..
39400 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 75 6e 63 74 69 return.$url;.}..protected.functi
39420 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 64 61 74 61 20 on.loadDataFromServer().{.$data.
39440 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 28 29 3b 0a 0a =.$this->loadRootServerFile();..
39460 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 24 64 61 74 61 return.$this->loadIncludes($data
39480 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 61 64 50 72 6f );.}..protected.function.loadPro
394a0 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 69 73 73 65 74 viderListings($data).{.if.(isset
394c0 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 28 21 69 73 5f ($data['providers'])).{.if.(!is_
394e0 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 67 29 29 20 7b array($this->providerListing)).{
39500 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 72 72 61 79 28 .$this->providerListing.=.array(
39520 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 20 3d 20 61 72 );.}.$this->providerListing.=.ar
39540 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 73 74 69 6e 67 ray_merge($this->providerListing
39560 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 66 20 28 24 74 ,.$data['providers']);.}..if.($t
39580 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 24 64 61 74 61 his->providersUrl.&&.isset($data
395a0 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 69 6e 63 6c 75 ['provider-includes'])).{.$inclu
395c0 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 64 65 73 27 5d des.=.$data['provider-includes']
395e0 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 63 6c 75 64 65 ;.foreach.($includes.as.$include
39600 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 69 73 2d 3e 62 .=>.$metadata).{.$url.=.$this->b
39620 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 27 25 68 61 73 aseUrl...'/'...str_replace('%has
39640 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 69 6e 63 6c 75 h%',.$metadata['sha256'],.$inclu
39660 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 65 28 61 72 72 de);.$cacheKey.=.str_replace(arr
39680 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 75 64 65 29 3b ay('%hash%','$'),.'',.$include);
396a0 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 63 61 63 68 65 .if.($this->cache->sha256($cache
396c0 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 5d 29 20 7b 0a Key).===.$metadata['sha256']).{.
396e0 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 28 24 74 68 69 $includedData.=.json_decode($thi
39700 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)
39720 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 24 74 68 69 73 ;.}.else.{.$includedData.=.$this
39740 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 2c 20 24 6d 65 ->fetchFile($url,.$cacheKey,.$me
39760 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 2d 3e 6c 6f 61 tadata['sha256']);.}..$this->loa
39780 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 44 61 74 61 29 dProviderListings($includedData)
397a0 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 64 61 74 61 5b 27 70 72 6f 76 69 ;.}.}.elseif.(isset($data['provi
397c0 64 65 72 73 2d 69 6e 63 6c 75 64 65 73 27 5d 29 29 20 7b 0a 0a 20 24 69 6e 63 6c 75 64 65 73 20 ders-includes'])).{...$includes.
397e0 3d 20 24 64 61 74 61 5b 27 70 72 6f 76 69 64 65 72 73 2d 69 6e 63 6c 75 64 65 73 27 5d 3b 0a 66 =.$data['providers-includes'];.f
39800 6f 72 65 61 63 68 20 28 24 69 6e 63 6c 75 64 65 73 20 61 73 20 24 69 6e 63 6c 75 64 65 20 3d 3e oreach.($includes.as.$include.=>
39820 20 24 6d 65 74 61 64 61 74 61 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e .$metadata).{.if.($this->cache->
39840 73 68 61 32 35 36 28 24 69 6e 63 6c 75 64 65 29 20 3d 3d 3d 20 24 6d 65 74 61 64 61 74 61 5b 27 sha256($include).===.$metadata['
39860 73 68 61 32 35 36 27 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 sha256']).{.$includedData.=.json
39880 5f 64 65 63 6f 64 65 28 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 72 65 61 64 28 24 69 6e 63 6c _decode($this->cache->read($incl
398a0 75 64 65 29 2c 20 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 ude),.true);.}.else.{.$includedD
398c0 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 66 65 74 63 68 46 69 6c 65 28 24 69 6e 63 6c 75 64 65 2c ata.=.$this->fetchFile($include,
398e0 20 6e 75 6c 6c 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 .null,.$metadata['sha256']);.}..
39900 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 69 6e 63 $this->loadProviderListings($inc
39920 6c 75 64 65 64 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 ludedData);.}.}.}..protected.fun
39940 63 74 69 6f 6e 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 ction.loadIncludes($data).{.$pac
39960 6b 61 67 65 73 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 kages.=.array();....if.(!isset($
39980 64 61 74 61 5b 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 data['packages']).&&.!isset($dat
399a0 61 5b 27 69 6e 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 a['includes'])).{.foreach.($data
399c0 20 61 73 20 24 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 .as.$pkg).{.foreach.($pkg['versi
399e0 6f 6e 73 27 5d 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 ons'].as.$metadata).{.$packages[
39a00 5d 20 3d 20 24 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 ].=.$metadata;.}.}..return.$pack
39a20 61 67 65 73 3b 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 ages;.}..if.(isset($data['packag
39a40 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 70 61 63 6b 61 67 65 es'])).{.foreach.($data['package
39a60 73 27 5d 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 s'].as.$package.=>.$versions).{.
39a80 66 6f 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 foreach.($versions.as.$version.=
39aa0 3e 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 6d 65 >.$metadata).{.$packages[].=.$me
39ac0 74 61 64 61 74 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 tadata;.}.}.}..if.(isset($data['
39ae0 69 6e 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 5b 27 69 includes'])).{.foreach.($data['i
39b00 6e 63 6c 75 64 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 ncludes'].as.$include.=>.$metada
39b20 74 61 29 20 7b 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 ta).{.if.($this->cache->sha1($in
39b40 63 6c 75 64 65 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 clude).===.$metadata['sha1']).{.
39b60 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 28 24 74 68 69 $includedData.=.json_decode($thi
39b80 73 2d 3e 63 61 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 s->cache->read($include),.true);
39ba0 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 24 74 68 69 73 2d .}.else.{.$includedData.=.$this-
39bc0 3e 66 65 74 63 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 >fetchFile($include);.}.$package
39be0 73 20 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 74 68 69 73 s.=.array_merge($packages,.$this
39c00 2d 3e 6c 6f 61 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 ->loadIncludes($includedData));.
39c20 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 0a 70 72 6f 74 65 63 }.}..return.$packages;.}..protec
39c40 74 65 64 20 66 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 ted.function.createPackage(array
39c60 20 24 64 61 74 61 2c 20 24 63 6c 61 73 73 29 0a 7b 0a 74 72 79 20 7b 0a 69 66 20 28 21 69 73 73 .$data,.$class).{.try.{.if.(!iss
39c80 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'])).{
39ca0 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
39cc0 69 73 2d 3e 6e 6f 74 69 66 79 55 72 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e is->notifyUrl;.}..return.$this->
39ce0 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 64 61 74 61 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 50 61 loader->load($data,.'Composer\Pa
39d00 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 7d 20 63 61 74 63 68 ckage\CompletePackage');.}.catch
39d20 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 5c 52 75 .(\Exception.$e).{.throw.new.\Ru
39d40 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 6c 6f 61 64 20 70 ntimeException('Could.not.load.p
39d60 61 63 6b 61 67 65 20 27 2e 28 69 73 73 65 74 28 24 64 61 74 61 5b 27 6e 61 6d 65 27 5d 29 20 3f ackage.'.(isset($data['name']).?
39d80 20 24 64 61 74 61 5b 27 6e 61 6d 65 27 5d 20 3a 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 64 61 .$data['name'].:.json_encode($da
39da0 74 61 29 29 2e 27 20 69 6e 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 3a 20 5b 27 2e 67 65 74 ta)).'.in.'.$this->url.':.['.get
39dc0 5f 63 6c 61 73 73 28 24 65 29 2e 27 5d 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 _class($e).'].'.$e->getMessage()
39de0 2c 20 30 2c 20 24 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 ,.0,.$e);.}.}..protected.functio
39e00 6e 20 66 65 74 63 68 46 69 6c 65 28 24 66 69 6c 65 6e 61 6d 65 2c 20 24 63 61 63 68 65 4b 65 79 n.fetchFile($filename,.$cacheKey
39e20 20 3d 20 6e 75 6c 6c 2c 20 24 73 68 61 32 35 36 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 21 .=.null,.$sha256.=.null).{.if.(!
39e40 24 63 61 63 68 65 4b 65 79 29 20 7b 0a 24 63 61 63 68 65 4b 65 79 20 3d 20 24 66 69 6c 65 6e 61 $cacheKey).{.$cacheKey.=.$filena
39e60 6d 65 3b 0a 24 66 69 6c 65 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 2e 27 me;.$filename.=.$this->baseUrl.'
39e80 2f 27 2e 24 66 69 6c 65 6e 61 6d 65 3b 0a 7d 0a 0a 24 72 65 74 72 69 65 73 20 3d 20 33 3b 0a 77 /'.$filename;.}..$retries.=.3;.w
39ea0 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 6a 73 6f 6e 20 hile.($retries--).{.try.{.$json.
39ec0 3d 20 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 66 69 6c 65 6e =.$this->rfs->getContents($filen
39ee0 61 6d 65 2c 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 ame,.$filename,.false);.if.($sha
39f00 32 35 36 20 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 256.&&.$sha256.!==.hash('sha256'
39f20 2c 20 24 6a 73 6f 6e 29 29 20 7b 0a 69 66 20 28 24 72 65 74 72 69 65 73 29 20 7b 0a 75 73 6c 65 ,.$json)).{.if.($retries).{.usle
39f40 65 70 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 ep(100000);..continue;.}....thro
39f60 77 20 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 w.new.RepositorySecurityExceptio
39f80 6e 28 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 n('The.contents.of.'.$filename.'
39fa0 20 64 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 .do.not.match.its.signature..Thi
39fc0 73 20 73 68 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 s.should.indicate.a.man-in-the-m
39fe0 69 64 64 6c 65 20 61 74 74 61 63 6b 2e 20 54 72 79 20 72 75 6e 6e 69 6e 67 20 63 6f 6d 70 6f 73 iddle.attack..Try.running.compos
3a000 65 72 20 61 67 61 69 6e 20 61 6e 64 20 72 65 70 6f 72 74 20 74 68 69 73 20 69 66 20 79 6f 75 20 er.again.and.report.this.if.you.
3a020 74 68 69 6e 6b 20 69 74 20 69 73 20 61 20 6d 69 73 74 61 6b 65 2e 27 29 3b 0a 7d 0a 24 64 61 74 think.it.is.a.mistake.');.}.$dat
3a040 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 6a 73 6f 6e 2c 20 24 a.=.JsonFile::parseJson($json,.$
3a060 66 69 6c 65 6e 61 6d 65 29 3b 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 77 72 69 74 65 28 24 filename);.$this->cache->write($
3a080 63 61 63 68 65 4b 65 79 2c 20 24 6a 73 6f 6e 29 3b 0a 0a 62 72 65 61 6b 3b 0a 7d 20 63 61 74 63 cacheKey,.$json);..break;.}.catc
3a0a0 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 69 65 73 h.(\Exception.$e).{.if.($retries
3a0c0 29 20 7b 0a 75 73 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 ).{.usleep(100000);.continue;.}.
3a0e0 0a 69 66 20 28 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 52 65 70 6f 73 69 74 6f 72 79 53 65 63 .if.($e.instanceof.RepositorySec
3a100 75 72 69 74 79 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 69 urityException).{.throw.$e;.}..i
3a120 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 65 2d 3e 72 65 61 f.($contents.=.$this->cache->rea
3a140 64 28 24 63 61 63 68 65 4b 65 79 29 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 67 72 d($cacheKey)).{.if.(!$this->degr
3a160 61 64 65 64 4d 6f 64 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 3c 77 adedMode).{.$this->io->write('<w
3a180 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 2e 27 3c 2f 77 61 72 arning>'.$e->getMessage().'</war
3a1a0 6e 69 6e 67 3e 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 3c 77 61 72 6e ning>');.$this->io->write('<warn
3a1c0 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 65 20 ing>'.$this->url.'.could.not.be.
3a1e0 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 69 6f fully.loaded,.package.informatio
3a200 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 63 68 n.was.loaded.from.the.local.cach
3a220 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 69 6e e.and.may.be.out.of.date</warnin
3a240 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 74 72 g>');.}.$this->degradedMode.=.tr
3a260 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 6e 28 ue;.$data.=.JsonFile::parseJson(
3a280 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 6f 74 $contents,.$this->cache->getRoot
3a2a0 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 77 20 ().$cacheKey);..break;.}..throw.
3a2c0 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 7d 0a 3c 3f 70 68 70 $e;.}.}..return.$data;.}.}.<?php
3a2e0 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
3a300 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 44 65 70 65 epository\Pear;.......class.Depe
3a320 6e 64 65 6e 63 79 49 6e 66 6f 0a 7b 0a 70 72 69 76 61 74 65 20 24 72 65 71 75 69 72 65 73 3b 0a ndencyInfo.{.private.$requires;.
3a340 70 72 69 76 61 74 65 20 24 6f 70 74 69 6f 6e 61 6c 73 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 private.$optionals;......public.
3a360 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 72 65 71 75 69 72 65 73 2c 20 function.__construct($requires,.
3a380 24 6f 70 74 69 6f 6e 61 6c 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 73 20 3d 20 $optionals).{.$this->requires.=.
3a3a0 24 72 65 71 75 69 72 65 73 3b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 61 6c 73 20 3d 20 24 6f $requires;.$this->optionals.=.$o
3a3c0 70 74 69 6f 6e 61 6c 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 ptionals;.}.....public.function.
3a3e0 67 65 74 52 65 71 75 69 72 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 getRequires().{.return.$this->re
3a400 71 75 69 72 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 quires;.}.....public.function.ge
3a420 74 4f 70 74 69 6f 6e 61 6c 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 70 74 tOptionals().{.return.$this->opt
3a440 69 6f 6e 61 6c 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 ionals;.}.}.<?php............nam
3a460 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 61 72 3b espace.Composer\Repository\Pear;
3a480 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 61 63 6b 61 67 65 44 65 70 65 6e 64 65 6e 63 79 50 61 .......class.PackageDependencyPa
3a4a0 72 73 65 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 rser.{.......public.function.bui
3a4c0 6c 64 44 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 28 24 64 65 70 41 72 72 61 79 29 0a 7b 0a 69 66 ldDependencyInfo($depArray).{.if
3a4e0 20 28 21 69 73 5f 61 72 72 61 79 28 24 64 65 70 41 72 72 61 79 29 29 20 7b 0a 72 65 74 75 72 6e .(!is_array($depArray)).{.return
3a500 20 6e 65 77 20 44 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 .new.DependencyInfo(array(),.arr
3a520 61 79 28 29 29 3b 0a 7d 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 73 48 61 73 68 28 24 64 65 70 ay());.}.if.(!$this->isHash($dep
3a540 41 72 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 Array)).{.return.new.DependencyI
3a560 6e 66 6f 28 24 74 68 69 73 2d 3e 62 75 69 6c 64 44 65 70 65 6e 64 65 6e 63 79 31 30 49 6e 66 6f nfo($this->buildDependency10Info
3a580 28 24 64 65 70 41 72 72 61 79 29 2c 20 61 72 72 61 79 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e ($depArray),.array());.}..return
3a5a0 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 44 65 70 65 6e 64 65 6e 63 79 32 30 49 6e 66 6f 28 24 64 .$this->buildDependency20Info($d
3a5c0 65 70 41 72 72 61 79 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 epArray);.}..............private
3a5e0 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 31 30 49 6e 66 6f 28 .function.buildDependency10Info(
3a600 24 64 65 70 41 72 72 61 79 29 0a 7b 0a 73 74 61 74 69 63 20 24 64 65 70 31 30 74 6f 4f 70 65 72 $depArray).{.static.$dep10toOper
3a620 61 74 6f 72 4d 61 70 20 3d 20 61 72 72 61 79 28 27 68 61 73 27 3d 3e 27 3d 3d 27 2c 20 27 65 71 atorMap.=.array('has'=>'==',.'eq
3a640 27 20 3d 3e 20 27 3d 3d 27 2c 20 27 67 65 27 20 3d 3e 20 27 3e 3d 27 2c 20 27 67 74 27 20 3d 3e '.=>.'==',.'ge'.=>.'>=',.'gt'.=>
3a660 20 27 3e 27 2c 20 27 6c 65 27 20 3d 3e 20 27 3c 3d 27 2c 20 27 6c 74 27 20 3d 3e 20 27 3c 27 2c .'>',.'le'.=>.'<=',.'lt'.=>.'<',
3a680 20 27 6e 6f 74 27 20 3d 3e 20 27 21 3d 27 29 3b 0a 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 .'not'.=>.'!=');..$result.=.arra
3a6a0 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 64 65 70 41 72 72 61 79 20 61 73 20 24 64 65 70 y();..foreach.($depArray.as.$dep
3a6c0 49 74 65 6d 29 20 7b 0a 69 66 20 28 65 6d 70 74 79 28 24 64 65 70 49 74 65 6d 5b 27 72 65 6c 27 Item).{.if.(empty($depItem['rel'
3a6e0 5d 29 20 7c 7c 20 21 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 64 65 70 49 74 65 6d ]).||.!array_key_exists($depItem
3a700 5b 27 72 65 6c 27 5d 2c 20 24 64 65 70 31 30 74 6f 4f 70 65 72 61 74 6f 72 4d 61 70 29 29 20 7b ['rel'],.$dep10toOperatorMap)).{
3a720 0a 0a 20 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 64 65 70 54 79 70 65 20 3d 20 21 65 6d 70 74 ...continue;.}..$depType.=.!empt
3a740 79 28 24 64 65 70 49 74 65 6d 5b 27 6f 70 74 69 6f 6e 61 6c 27 5d 29 20 26 26 20 27 79 65 73 27 y($depItem['optional']).&&.'yes'
3a760 20 3d 3d 20 24 64 65 70 49 74 65 6d 5b 27 6f 70 74 69 6f 6e 61 6c 27 5d 0a 3f 20 27 6f 70 74 69 .==.$depItem['optional'].?.'opti
3a780 6f 6e 61 6c 27 0a 3a 20 27 72 65 71 75 69 72 65 64 27 3b 0a 24 64 65 70 54 79 70 65 20 3d 20 27 onal'.:.'required';.$depType.=.'
3a7a0 6e 6f 74 27 20 3d 3d 20 24 64 65 70 49 74 65 6d 5b 27 72 65 6c 27 5d 0a 3f 20 27 63 6f 6e 66 6c not'.==.$depItem['rel'].?.'confl
3a7c0 69 63 74 73 27 0a 3a 20 24 64 65 70 54 79 70 65 3b 0a 0a 24 64 65 70 56 65 72 73 69 6f 6e 20 3d icts'.:.$depType;..$depVersion.=
3a7e0 20 21 65 6d 70 74 79 28 24 64 65 70 49 74 65 6d 5b 27 76 65 72 73 69 6f 6e 27 5d 29 20 3f 20 24 .!empty($depItem['version']).?.$
3a800 74 68 69 73 2d 3e 70 61 72 73 65 56 65 72 73 69 6f 6e 28 24 64 65 70 49 74 65 6d 5b 27 76 65 72 this->parseVersion($depItem['ver
3a820 73 69 6f 6e 27 5d 29 20 3a 20 27 2a 27 3b 0a 0a 0a 20 24 64 65 70 56 65 72 73 69 6f 6e 43 6f 6e sion']).:.'*';....$depVersionCon
3a840 73 74 72 61 69 6e 74 20 3d 20 28 27 68 61 73 27 20 3d 3d 20 24 64 65 70 49 74 65 6d 5b 27 72 65 straint.=.('has'.==.$depItem['re
3a860 6c 27 5d 20 7c 7c 20 27 6e 6f 74 27 20 3d 3d 20 24 64 65 70 49 74 65 6d 5b 27 72 65 6c 27 5d 29 l'].||.'not'.==.$depItem['rel'])
3a880 20 26 26 20 27 2a 27 20 3d 3d 20 24 64 65 70 56 65 72 73 69 6f 6e 0a 3f 20 27 2a 27 0a 3a 20 24 .&&.'*'.==.$depVersion.?.'*'.:.$
3a8a0 64 65 70 31 30 74 6f 4f 70 65 72 61 74 6f 72 4d 61 70 5b 24 64 65 70 49 74 65 6d 5b 27 72 65 6c dep10toOperatorMap[$depItem['rel
3a8c0 27 5d 5d 20 2e 20 24 64 65 70 56 65 72 73 69 6f 6e 3b 0a 0a 73 77 69 74 63 68 20 28 24 64 65 70 ']]...$depVersion;..switch.($dep
3a8e0 49 74 65 6d 5b 27 74 79 70 65 27 5d 29 20 7b 0a 63 61 73 65 20 27 70 68 70 27 3a 0a 24 64 65 70 Item['type']).{.case.'php':.$dep
3a900 43 68 61 6e 6e 65 6c 4e 61 6d 65 20 3d 20 27 70 68 70 27 3b 0a 24 64 65 70 50 61 63 6b 61 67 65 ChannelName.=.'php';.$depPackage
3a920 4e 61 6d 65 20 3d 20 27 27 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 70 6b 67 27 3a 0a 24 64 Name.=.'';.break;.case.'pkg':.$d
3a940 65 70 43 68 61 6e 6e 65 6c 4e 61 6d 65 20 3d 20 21 65 6d 70 74 79 28 24 64 65 70 49 74 65 6d 5b epChannelName.=.!empty($depItem[
3a960 27 63 68 61 6e 6e 65 6c 27 5d 29 20 3f 20 24 64 65 70 49 74 65 6d 5b 27 63 68 61 6e 6e 65 6c 27 'channel']).?.$depItem['channel'
3a980 5d 20 3a 20 27 70 65 61 72 2e 70 68 70 2e 6e 65 74 27 3b 0a 24 64 65 70 50 61 63 6b 61 67 65 4e ].:.'pear.php.net';.$depPackageN
3a9a0 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
3a9c0 61 73 65 20 27 65 78 74 27 3a 0a 24 64 65 70 43 68 61 6e 6e 65 6c 4e 61 6d 65 20 3d 20 27 65 78 ase.'ext':.$depChannelName.=.'ex
3a9e0 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['
3aa00 6e 61 6d 65 27 5d 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 6f 73 27 3a 0a 63 61 73 65 20 27 name'];.break;.case.'os':.case.'
3aa20 73 61 70 69 27 3a 0a 24 64 65 70 43 68 61 6e 6e 65 6c 4e 61 6d 65 20 3d 20 27 27 3b 0a 24 64 65 sapi':.$depChannelName.=.'';.$de
3aa40 70 50 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 27 27 3b 0a 62 72 65 61 6b 3b 0a 64 65 66 61 75 6c pPackageName.=.'';.break;.defaul
3aa60 74 3a 0a 24 64 65 70 43 68 61 6e 6e 65 6c 4e 61 6d 65 20 3d 20 27 27 3b 0a 24 64 65 70 50 61 63 t:.$depChannelName.=.'';.$depPac
3aa80 6b 61 67 65 4e 61 6d 65 20 3d 20 27 27 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 69 66 20 28 27 27 20 kageName.=.'';.break;.}..if.(''.
3aaa0 21 3d 20 24 64 65 70 43 68 61 6e 6e 65 6c 4e 61 6d 65 29 20 7b 0a 24 72 65 73 75 6c 74 5b 5d 20 !=.$depChannelName).{.$result[].
3aac0 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 24 64 65 70 =.new.DependencyConstraint(.$dep
3aae0 54 79 70 65 2c 0a 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 Type,.$depVersionConstraint,.$de
3ab00 70 43 68 61 6e 6e 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 pChannelName,.$depPackageName.);
3ab20 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 0a 0a 0a 0a 0a 0a 70 .}.}..return.$result;.}........p
3ab40 72 69 76 61 74 65 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 32 rivate.function.buildDependency2
3ab60 30 49 6e 66 6f 28 24 64 65 70 41 72 72 61 79 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 0Info($depArray).{.$result.=.arr
3ab80 61 79 28 29 3b 0a 24 6f 70 74 69 6f 6e 61 6c 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 64 65 66 ay();.$optionals.=.array();.$def
3aba0 61 75 6c 74 4f 70 74 69 6f 6e 61 6c 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 aultOptionals.=.array();.foreach
3abc0 20 28 24 64 65 70 41 72 72 61 79 20 61 73 20 24 64 65 70 54 79 70 65 20 3d 3e 20 24 64 65 70 54 .($depArray.as.$depType.=>.$depT
3abe0 79 70 65 47 72 6f 75 70 29 20 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 64 65 70 54 79 ypeGroup).{.if.(!is_array($depTy
3ac00 70 65 47 72 6f 75 70 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 69 66 20 28 27 72 65 71 peGroup)).{.continue;.}.if.('req
3ac20 75 69 72 65 64 27 20 3d 3d 20 24 64 65 70 54 79 70 65 20 7c 7c 20 27 6f 70 74 69 6f 6e 61 6c 27 uired'.==.$depType.||.'optional'
3ac40 20 3d 3d 20 24 64 65 70 54 79 70 65 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 70 54 79 70 .==.$depType).{.foreach.($depTyp
3ac60 65 47 72 6f 75 70 20 61 73 20 24 64 65 70 49 74 65 6d 54 79 70 65 20 3d 3e 20 24 64 65 70 49 74 eGroup.as.$depItemType.=>.$depIt
3ac80 65 6d 29 20 7b 0a 73 77 69 74 63 68 20 28 24 64 65 70 49 74 65 6d 54 79 70 65 29 20 7b 0a 63 61 em).{.switch.($depItemType).{.ca
3aca0 73 65 20 27 70 68 70 27 3a 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 6e 65 77 20 44 65 70 65 6e 64 se.'php':.$result[].=.new.Depend
3acc0 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 24 74 68 69 73 2d encyConstraint(.$depType,.$this-
3ace0 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 28 24 64 65 70 49 74 >parse20VersionConstraint($depIt
3ad00 65 6d 29 2c 0a 27 70 68 70 27 2c 0a 27 27 0a 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 70 em),.'php',.''.);.break;.case.'p
3ad20 61 63 6b 61 67 65 27 3a 0a 24 64 65 70 73 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 44 65 70 ackage':.$deps.=.$this->buildDep
3ad40 50 61 63 6b 61 67 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 64 65 70 49 74 65 6d 2c 20 24 64 65 PackageConstraints($depItem,.$de
3ad60 70 54 79 70 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 pType);.$result.=.array_merge($r
3ad80 65 73 75 6c 74 2c 20 24 64 65 70 73 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 65 78 74 65 esult,.$deps);.break;.case.'exte
3ada0 6e 73 69 6f 6e 27 3a 0a 24 64 65 70 73 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 44 65 70 45 nsion':.$deps.=.$this->buildDepE
3adc0 78 74 65 6e 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 64 65 70 49 74 65 6d 2c 20 24 64 xtensionConstraints($depItem,.$d
3ade0 65 70 54 79 70 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 epType);.$result.=.array_merge($
3ae00 72 65 73 75 6c 74 2c 20 24 64 65 70 73 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 73 75 62 result,.$deps);.break;.case.'sub
3ae20 70 61 63 6b 61 67 65 27 3a 0a 24 64 65 70 73 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 44 65 package':.$deps.=.$this->buildDe
3ae40 70 50 61 63 6b 61 67 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 64 65 70 49 74 65 6d 2c 20 27 72 pPackageConstraints($depItem,.'r
3ae60 65 70 6c 61 63 65 73 27 29 3b 0a 24 64 65 66 61 75 6c 74 4f 70 74 69 6f 6e 61 6c 73 20 2b 3d 20 eplaces');.$defaultOptionals.+=.
3ae80 24 64 65 70 73 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 6f 73 27 3a 0a 63 61 73 65 20 27 70 $deps;.break;.case.'os':.case.'p
3aea0 65 61 72 69 6e 73 74 61 6c 6c 65 72 27 3a 0a 62 72 65 61 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a 62 earinstaller':.break;.default:.b
3aec0 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 27 67 72 6f 75 70 27 20 3d 3d 20 24 reak;.}.}.}.elseif.('group'.==.$
3aee0 64 65 70 54 79 70 65 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 48 61 73 68 28 24 64 65 depType).{.if.($this->isHash($de
3af00 70 54 79 70 65 47 72 6f 75 70 29 29 20 7b 0a 24 64 65 70 54 79 70 65 47 72 6f 75 70 20 3d 20 61 pTypeGroup)).{.$depTypeGroup.=.a
3af20 72 72 61 79 28 24 64 65 70 54 79 70 65 47 72 6f 75 70 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 rray($depTypeGroup);.}..foreach.
3af40 28 24 64 65 70 54 79 70 65 47 72 6f 75 70 20 61 73 20 24 64 65 70 49 74 65 6d 29 20 7b 0a 24 67 ($depTypeGroup.as.$depItem).{.$g
3af60 72 6f 75 70 4e 61 6d 65 20 3d 20 24 64 65 70 49 74 65 6d 5b 27 61 74 74 72 69 62 73 27 5d 5b 27 roupName.=.$depItem['attribs']['
3af80 6e 61 6d 65 27 5d 3b 0a 69 66 20 28 21 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 61 6c 73 5b 24 67 name'];.if.(!isset($optionals[$g
3afa0 72 6f 75 70 4e 61 6d 65 5d 29 29 20 7b 0a 24 6f 70 74 69 6f 6e 61 6c 73 5b 24 67 72 6f 75 70 4e roupName])).{.$optionals[$groupN
3afc0 61 6d 65 5d 20 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 64 65 ame].=.array();.}..if.(isset($de
3afe0 70 49 74 65 6d 5b 27 73 75 62 70 61 63 6b 61 67 65 27 5d 29 29 20 7b 0a 24 6f 70 74 69 6f 6e 61 pItem['subpackage'])).{.$optiona
3b000 6c 73 5b 24 67 72 6f 75 70 4e 61 6d 65 5d 20 2b 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 44 65 ls[$groupName].+=.$this->buildDe
3b020 70 50 61 63 6b 61 67 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 64 65 70 49 74 65 6d 5b 27 73 75 pPackageConstraints($depItem['su
3b040 62 70 61 63 6b 61 67 65 27 5d 2c 20 27 72 65 70 6c 61 63 65 73 27 29 3b 0a 7d 20 65 6c 73 65 20 bpackage'],.'replaces');.}.else.
3b060 7b 0a 24 72 65 73 75 6c 74 20 2b 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 44 65 70 50 61 63 6b {.$result.+=.$this->buildDepPack
3b080 61 67 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 64 65 70 49 74 65 6d 5b 27 70 61 63 6b 61 67 65 ageConstraints($depItem['package
3b0a0 27 5d 2c 20 27 6f 70 74 69 6f 6e 61 6c 27 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 63 6f '],.'optional');.}.}.}.}..if.(co
3b0c0 75 6e 74 28 24 64 65 66 61 75 6c 74 4f 70 74 69 6f 6e 61 6c 73 29 20 3e 20 30 29 20 7b 0a 24 6f unt($defaultOptionals).>.0).{.$o
3b0e0 70 74 69 6f 6e 61 6c 73 5b 27 2a 27 5d 20 3d 20 24 64 65 66 61 75 6c 74 4f 70 74 69 6f 6e 61 6c ptionals['*'].=.$defaultOptional
3b100 73 3b 0a 7d 0a 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 6f 28 s;.}..return.new.DependencyInfo(
3b120 24 72 65 73 75 6c 74 2c 20 24 6f 70 74 69 6f 6e 61 6c 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a $result,.$optionals);.}.........
3b140 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 45 78 74 65 6e 73 69 private.function.buildDepExtensi
3b160 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 64 65 70 49 74 65 6d 2c 20 24 64 65 70 54 79 70 65 onConstraints($depItem,.$depType
3b180 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 48 61 73 68 28 24 64 65 70 49 74 65 6d 29 29 ).{.if.($this->isHash($depItem))
3b1a0 20 7b 0a 24 64 65 70 49 74 65 6d 20 3d 20 61 72 72 61 79 28 24 64 65 70 49 74 65 6d 29 3b 0a 7d .{.$depItem.=.array($depItem);.}
3b1c0 0a 0a 24 72 65 73 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 64 ..$result.=.array();.foreach.($d
3b1e0 65 70 49 74 65 6d 20 61 73 20 24 73 75 62 44 65 70 49 74 65 6d 29 20 7b 0a 24 64 65 70 43 68 61 epItem.as.$subDepItem).{.$depCha
3b200 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 61 6d nnelName.=.'ext';.$depPackageNam
3b220 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 24 64 65 70 56 65 72 e.=.$subDepItem['name'];.$depVer
3b240 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 61 72 73 65 32 30 56 sionConstraint.=.$this->parse20V
3b260 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 74 65 6d 29 3b 0a 0a ersionConstraint($subDepItem);..
3b280 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 43 6f 6e 73 74 72 $result[].=.new.DependencyConstr
3b2a0 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 6e 43 6f 6e 73 74 aint(.$depType,.$depVersionConst
3b2c0 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 65 70 50 61 63 6b raint,.$depChannelName,.$depPack
3b2e0 61 67 65 4e 61 6d 65 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a ageName.);.}..return.$result;.}.
3b300 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 62 75 69 6c 64 44 65 ........private.function.buildDe
3b320 70 50 61 63 6b 61 67 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 64 65 70 49 74 65 6d 2c 20 24 64 pPackageConstraints($depItem,.$d
3b340 65 70 54 79 70 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 48 61 73 68 28 24 64 65 70 epType).{.if.($this->isHash($dep
3b360 49 74 65 6d 29 29 20 7b 0a 24 64 65 70 49 74 65 6d 20 3d 20 61 72 72 61 79 28 24 64 65 70 49 74 Item)).{.$depItem.=.array($depIt
3b380 65 6d 29 3b 0a 7d 0a 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 em);.}..$result.=.array();.forea
3b3a0 63 68 20 28 24 64 65 70 49 74 65 6d 20 61 73 20 24 73 75 62 44 65 70 49 74 65 6d 29 20 7b 0a 24 ch.($depItem.as.$subDepItem).{.$
3b3c0 64 65 70 43 68 61 6e 6e 65 6c 4e 61 6d 65 20 3d 20 24 73 75 62 44 65 70 49 74 65 6d 5b 27 63 68 depChannelName.=.$subDepItem['ch
3b3e0 61 6e 6e 65 6c 27 5d 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 annel'];.$depPackageName.=.$subD
3b400 65 70 49 74 65 6d 5b 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 epItem['name'];.$depVersionConst
3b420 72 61 69 6e 74 20 3d 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 raint.=.$this->parse20VersionCon
3b440 73 74 72 61 69 6e 74 28 24 73 75 62 44 65 70 49 74 65 6d 29 3b 0a 69 66 20 28 69 73 73 65 74 28 straint($subDepItem);.if.(isset(
3b460 24 73 75 62 44 65 70 49 74 65 6d 5b 27 63 6f 6e 66 6c 69 63 74 73 27 5d 29 29 20 7b 0a 24 64 65 $subDepItem['conflicts'])).{.$de
3b480 70 54 79 70 65 20 3d 20 27 63 6f 6e 66 6c 69 63 74 73 27 3b 0a 7d 0a 0a 24 72 65 73 75 6c 74 5b pType.=.'conflicts';.}..$result[
3b4a0 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 24 64 ].=.new.DependencyConstraint(.$d
3b4c0 65 70 54 79 70 65 2c 0a 24 64 65 70 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 2c 0a 24 epType,.$depVersionConstraint,.$
3b4e0 64 65 70 43 68 61 6e 6e 65 6c 4e 61 6d 65 2c 0a 24 64 65 70 50 61 63 6b 61 67 65 4e 61 6d 65 0a depChannelName,.$depPackageName.
3b500 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 0a 0a 0a 0a 0a 0a 70 );.}..return.$result;.}........p
3b520 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 32 30 56 65 72 73 69 6f 6e 43 6f rivate.function.parse20VersionCo
3b540 6e 73 74 72 61 69 6e 74 28 61 72 72 61 79 20 24 64 61 74 61 29 0a 7b 0a 73 74 61 74 69 63 20 24 nstraint(array.$data).{.static.$
3b560 64 65 70 32 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 61 73 27 dep20toOperatorMap.=.array('has'
3b580 3d 3e 27 3d 3d 27 2c 20 27 6d 69 6e 27 20 3d 3e 20 27 3e 3d 27 2c 20 27 6d 61 78 27 20 3d 3e 20 =>'==',.'min'.=>.'>=',.'max'.=>.
3b5a0 27 3c 3d 27 2c 20 27 65 78 63 6c 75 64 65 27 20 3d 3e 20 27 21 3d 27 29 3b 0a 0a 24 76 65 72 73 '<=',.'exclude'.=>.'!=');..$vers
3b5c0 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 76 61 6c 75 65 73 20 3d 20 61 72 72 61 79 5f ions.=.array();.$values.=.array_
3b5e0 69 6e 74 65 72 73 65 63 74 5f 6b 65 79 28 24 64 61 74 61 2c 20 24 64 65 70 32 30 74 6f 4f 70 65 intersect_key($data,.$dep20toOpe
3b600 72 61 74 6f 72 4d 61 70 29 3b 0a 69 66 20 28 30 20 3d 3d 20 63 6f 75 6e 74 28 24 76 61 6c 75 65 ratorMap);.if.(0.==.count($value
3b620 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 2a 27 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 76 s)).{.return.'*';.}.if.(isset($v
3b640 61 6c 75 65 73 5b 27 6d 69 6e 27 5d 29 20 26 26 20 69 73 73 65 74 28 24 76 61 6c 75 65 73 5b 27 alues['min']).&&.isset($values['
3b660 65 78 63 6c 75 64 65 27 5d 29 20 26 26 20 24 64 61 74 61 5b 27 6d 69 6e 27 5d 20 3d 3d 20 24 64 exclude']).&&.$data['min'].==.$d
3b680 61 74 61 5b 27 65 78 63 6c 75 64 65 27 5d 29 20 7b 0a 24 76 65 72 73 69 6f 6e 73 5b 5d 20 3d 20 ata['exclude']).{.$versions[].=.
3b6a0 27 3e 27 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 61 6c 75 65 '>'...$this->parseVersion($value
3b6c0 73 5b 27 6d 69 6e 27 5d 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 76 61 6c 75 s['min']);.}.elseif.(isset($valu
3b6e0 65 73 5b 27 6d 61 78 27 5d 29 20 26 26 20 69 73 73 65 74 28 24 76 61 6c 75 65 73 5b 27 65 78 63 es['max']).&&.isset($values['exc
3b700 6c 75 64 65 27 5d 29 20 26 26 20 24 64 61 74 61 5b 27 6d 61 78 27 5d 20 3d 3d 20 24 64 61 74 61 lude']).&&.$data['max'].==.$data
3b720 5b 27 65 78 63 6c 75 64 65 27 5d 29 20 7b 0a 24 76 65 72 73 69 6f 6e 73 5b 5d 20 3d 20 27 3c 27 ['exclude']).{.$versions[].=.'<'
3b740 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 61 6c 75 65 73 5b 27 ...$this->parseVersion($values['
3b760 6d 61 78 27 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 76 61 6c 75 65 max']);.}.else.{.foreach.($value
3b780 73 20 61 73 20 24 6f 70 20 3d 3e 20 24 76 65 72 73 69 6f 6e 29 20 7b 0a 69 66 20 28 27 65 78 63 s.as.$op.=>.$version).{.if.('exc
3b7a0 6c 75 64 65 27 20 3d 3d 20 24 6f 70 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 76 65 72 73 69 6f lude'.==.$op.&&.is_array($versio
3b7c0 6e 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 76 65 72 73 69 6f 6e 20 61 73 20 24 76 65 72 73 n)).{.foreach.($version.as.$vers
3b7e0 69 6f 6e 50 61 72 74 29 20 7b 0a 24 76 65 72 73 69 6f 6e 73 5b 5d 20 3d 20 24 64 65 70 32 30 74 ionPart).{.$versions[].=.$dep20t
3b800 6f 4f 70 65 72 61 74 6f 72 4d 61 70 5b 24 6f 70 5d 20 2e 20 24 74 68 69 73 2d 3e 70 61 72 73 65 oOperatorMap[$op]...$this->parse
3b820 56 65 72 73 69 6f 6e 28 24 76 65 72 73 69 6f 6e 50 61 72 74 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 Version($versionPart);.}.}.else.
3b840 7b 0a 24 76 65 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 {.$versions[].=.$dep20toOperator
3b860 4d 61 70 5b 24 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 Map[$op]...$this->parseVersion($
3b880 76 65 72 73 69 6f 6e 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 version);.}.}.}..return.implode(
3b8a0 27 2c 27 2c 20 24 76 65 72 73 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 ',',.$versions);.}........privat
3b8c0 65 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 56 65 72 73 69 6f 6e 28 24 76 65 72 73 69 6f 6e e.function.parseVersion($version
3b8e0 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 76 3f 28 5c 64 7b 31 2c 33 7d ).{.if.(preg_match('{^v?(\d{1,3}
3b900 29 28 5c 2e 5c 64 2b 29 3f 28 5c 2e 5c 64 2b 29 3f 28 5c 2e 5c 64 2b 29 3f 7d 69 27 2c 20 24 76 )(\.\d+)?(\.\d+)?(\.\d+)?}i',.$v
3b920 65 72 73 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 ersion,.$matches)).{.$version.=.
3b940 24 6d 61 74 63 68 65 73 5b 31 5d 0a 2e 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 32 5d $matches[1]..(!empty($matches[2]
3b960 29 20 3f 20 24 6d 61 74 63 68 65 73 5b 32 5d 20 3a 20 27 2e 30 27 29 0a 2e 28 21 65 6d 70 74 79 ).?.$matches[2].:.'.0')..(!empty
3b980 28 24 6d 61 74 63 68 65 73 5b 33 5d 29 20 3f 20 24 6d 61 74 63 68 65 73 5b 33 5d 20 3a 20 27 2e ($matches[3]).?.$matches[3].:.'.
3b9a0 30 27 29 0a 2e 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 34 5d 29 20 3f 20 24 6d 61 74 0')..(!empty($matches[4]).?.$mat
3b9c0 63 68 65 73 5b 34 5d 20 3a 20 27 2e 30 27 29 3b 0a 0a 72 65 74 75 72 6e 20 24 76 65 72 73 69 6f ches[4].:.'.0');..return.$versio
3b9e0 6e 3b 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 0a 70 72 69 76 n;.}..return.null;.}........priv
3ba00 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 48 61 73 68 28 61 72 72 61 79 20 24 61 72 72 61 79 ate.function.isHash(array.$array
3ba20 29 0a 7b 0a 72 65 74 75 72 6e 20 21 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 31 2c 20 ).{.return.!array_key_exists(1,.
3ba40 24 61 72 72 61 79 29 20 26 26 20 21 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 30 2c 20 $array).&&.!array_key_exists(0,.
3ba60 24 61 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 0a 0a 0a 6e 61 $array);.}.}.<?php............na
3ba80 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 61 72 mespace.Composer\Repository\Pear
3baa0 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 7b 0a 70 72 69 76 ;.......class.ChannelInfo.{.priv
3bac0 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 0a 70 72 69 76 61 ate.$name;.private.$alias;.priva
3bae0 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 20 66 75 6e 63 74 te.$packages;.......public.funct
3bb00 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 69 61 73 2c 20 61 ion.__construct($name,.$alias,.a
3bb20 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 61 6d 65 20 3d 20 rray.$packages).{.$this->name.=.
3bb40 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 61 73 3b 0a 24 74 $name;.$this->alias.=.$alias;.$t
3bb60 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 0a 7d 0a 0a 0a 0a his->packages.=.$packages;.}....
3bb80 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
3bba0 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
3bbc0 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 74 75 72 6e 20 24 c.function.getAlias().{.return.$
3bbe0 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 63 20 66 75 6e 63 this->alias;.}.......public.func
3bc00 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 6e 20 24 74 68 69 tion.getPackages().{.return.$thi
3bc20 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 0a 0a 0a 0a 0a 0a s->packages;.}.}.<?php..........
3bc40 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\
3bc60 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 65 6d 6f 74 65 46 Pear;..use.Composer\Util\RemoteF
3bc80 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 68 61 6e 6e 65 6c ilesystem;.........class.Channel
3bca0 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 61 64 65 72 Reader.extends.BaseChannelReader
3bcc0 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 75 62 6c 69 63 20 .{..private.$readerMap;..public.
3bce0 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 65 46 69 6c 65 73 function.__construct(RemoteFiles
3bd00 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 6e 73 74 72 75 63 ystem.$rfs).{.parent::__construc
3bd20 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 6e 65 77 20 43 68 t($rfs);..$rest10reader.=.new.Ch
3bd40 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 72 65 73 74 31 31 annelRest10Reader($rfs);.$rest11
3bd60 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 52 65 61 64 65 72 reader.=.new.ChannelRest11Reader
3bd80 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 3d 20 61 72 72 61 ($rfs);..$this->readerMap.=.arra
3bda0 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 64 65 72 2c 0a 27 y(.'REST1.3'.=>.$rest11reader,.'
3bdc0 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 0a 27 52 45 53 54 REST1.2'.=>.$rest11reader,.'REST
3bde0 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 53 54 31 2e 30 27 1.1'.=>.$rest11reader,.'REST1.0'
3be00 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 0a 0a 0a 0a 0a 0a .=>.$rest10reader,.);.}.........
3be20 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 0a 7b 0a 24 78 6d public.function.read($url).{.$xm
3be40 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 2c 20 22 2f 63 68 l.=.$this->requestXml($url,."/ch
3be60 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 20 3d 20 28 73 74 annel.xml");..$channelName.=.(st
3be80 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 53 75 6d 6d 61 72 ring).$xml->name;.$channelSummar
3bea0 79 20 3d 20 28 73 74 72 69 6e 67 29 20 24 78 6d 6c 2d 3e 73 75 6d 6d 61 72 79 3b 0a 24 63 68 61 y.=.(string).$xml->summary;.$cha
3bec0 6e 6e 65 6c 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 nnelAlias.=.(string).$xml->sugge
3bee0 73 74 65 64 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 stedalias;..$supportedVersions.=
3bf00 20 61 72 72 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 .array_keys($this->readerMap);.$
3bf20 73 65 6c 65 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 selectedRestVersion.=.$this->sel
3bf40 65 63 74 52 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 ectRestVersion($xml,.$supportedV
3bf60 65 72 73 69 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 ersions);.if.(!$selectedRestVers
3bf80 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 61 6c 75 ion).{.throw.new.\UnexpectedValu
3bfa0 65 45 78 63 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 eException(sprintf('PEAR.reposit
3bfc0 6f 72 79 20 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 ory.%s.does.not.supports.any.of.
3bfe0 25 73 20 70 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 %s.protocols.',.$url,.implode(',
3c000 20 27 2c 20 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 .',.$supportedVersions)));.}..$r
3c020 65 61 64 65 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 eader.=.$this->readerMap[$select
3c040 65 64 52 65 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 edRestVersion['version']];.$pack
3c060 61 67 65 44 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 ageDefinitions.=.$reader->read($
3c080 73 65 6c 65 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 selectedRestVersion['baseUrl']);
3c0a0 0a 0a 72 65 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 ..return.new.ChannelInfo($channe
3c0c0 6c 4e 61 6d 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 lName,.$channelAlias,.$packageDe
3c0e0 66 69 6e 69 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 finitions);.}.........private.fu
3c100 6e 63 74 69 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 nction.selectRestVersion($channe
3c120 6c 58 6d 6c 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 lXml,.$supportedVersions).{.$cha
3c140 6e 6e 65 6c 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 nnelXml->registerXPathNamespace(
3c160 27 6e 73 27 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 'ns',.self::CHANNEL_NS);..foreac
3c180 68 20 28 24 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 h.($supportedVersions.as.$versio
3c1a0 6e 29 20 7b 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 n).{.$xpathTest.=."ns:servers/ns
3c1c0 3a 70 72 69 6d 61 72 79 2f 6e 73 3a 72 65 73 74 2f 6e 73 3a 62 61 73 65 75 72 6c 5b 40 74 79 70 :primary/ns:rest/ns:baseurl[@typ
3c1e0 65 3d 27 7b 24 76 65 72 73 69 6f 6e 7d 27 5d 22 3b 0a 24 74 65 73 74 52 65 73 75 6c 74 20 3d 20 e='{$version}']";.$testResult.=.
3c200 24 63 68 61 6e 6e 65 6c 58 6d 6c 2d 3e 78 70 61 74 68 28 24 78 70 61 74 68 54 65 73 74 29 3b 0a $channelXml->xpath($xpathTest);.
3c220 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 20 7b 0a 72 65 if.(count($testResult).>.0).{.re
3c240 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 6e turn.array('version'.=>.$version
3c260 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 73 74 52 65 73 ,.'baseUrl'.=>.(string).$testRes
3c280 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 7d 0a 7d 0a 3c ult[0]);.}.}..return.null;.}.}.<
3c2a0 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
3c2c0 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.
3c2e0 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
3c300 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
3c320 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
3c340 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
3c360 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.
3c380 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
3c3a0 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
3c3c0 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
3c3e0 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
3c400 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.=
3c420 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.=.
3c440 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
3c460 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
3c480 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-
3c4a0 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
3c4c0 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().{.
3c4e0 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;.}....
3c500 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(
3c520 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;.}
3c540 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
3c560 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
3c580 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
3c5a0 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
3c5c0 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
3c5e0 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
3c600 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
3c620 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-
3c640 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............
3c660 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
3c680 61 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 ar;.......class.DependencyConstr
3c6a0 61 69 6e 74 0a 7b 0a 70 72 69 76 61 74 65 20 24 74 79 70 65 3b 0a 70 72 69 76 61 74 65 20 24 63 aint.{.private.$type;.private.$c
3c6c0 6f 6e 73 74 72 61 69 6e 74 3b 0a 70 72 69 76 61 74 65 20 24 63 68 61 6e 6e 65 6c 4e 61 6d 65 3b onstraint;.private.$channelName;
3c6e0 0a 70 72 69 76 61 74 65 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 .private.$packageName;........pu
3c700 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 79 70 65 2c blic.function.__construct($type,
3c720 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 63 68 61 6e 6e 65 6c 4e 61 6d 65 2c 20 24 70 61 63 .$constraint,.$channelName,.$pac
3c740 6b 61 67 65 4e 61 6d 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 kageName).{.$this->type.=.$type;
3c760 0a 24 74 68 69 73 2d 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 .$this->constraint.=.$constraint
3c780 3b 0a 24 74 68 69 73 2d 3e 63 68 61 6e 6e 65 6c 4e 61 6d 65 20 3d 20 24 63 68 61 6e 6e 65 6c 4e ;.$this->channelName.=.$channelN
3c7a0 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 20 24 70 61 63 6b 61 ame;.$this->packageName.=.$packa
3c7c0 67 65 4e 61 6d 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 geName;.}..public.function.getCh
3c7e0 61 6e 6e 65 6c 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 68 61 6e annelName().{.return.$this->chan
3c800 6e 65 6c 4e 61 6d 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 nelName;.}..public.function.getC
3c820 6f 6e 73 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 onstraint().{.return.$this->cons
3c840 74 72 61 69 6e 74 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 61 traint;.}..public.function.getPa
3c860 63 6b 61 67 65 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 63 6b ckageName().{.return.$this->pack
3c880 61 67 65 4e 61 6d 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 54 ageName;.}..public.function.getT
3c8a0 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 79 70 65 3b 0a 7d 0a 7d 0a ype().{.return.$this->type;.}.}.
3c8c0 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
3c8e0 73 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 0a 0a 0a 0a 63 ser\Repository\Pear;...........c
3c900 6c 61 73 73 20 43 68 61 6e 6e 65 6c 52 65 73 74 31 31 52 65 61 64 65 72 20 65 78 74 65 6e 64 73 lass.ChannelRest11Reader.extends
3c920 20 42 61 73 65 43 68 61 6e 6e 65 6c 52 65 61 64 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 64 65 .BaseChannelReader.{.private.$de
3c940 70 65 6e 64 65 6e 63 79 52 65 61 64 65 72 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e pendencyReader;..public.function
3c960 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 72 66 73 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 .__construct($rfs).{.parent::__c
3c980 6f 6e 73 74 72 75 63 74 28 24 72 66 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 64 65 70 65 6e 64 65 6e onstruct($rfs);..$this->dependen
3c9a0 63 79 52 65 61 64 65 72 20 3d 20 6e 65 77 20 50 61 63 6b 61 67 65 44 65 70 65 6e 64 65 6e 63 79 cyReader.=.new.PackageDependency
3c9c0 50 61 72 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 63 74 Parser();.}.........public.funct
3c9e0 69 6f 6e 20 72 65 61 64 28 24 62 61 73 65 55 72 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 ion.read($baseUrl).{.return.$thi
3ca00 73 2d 3e 72 65 61 64 43 68 61 6e 6e 65 6c 50 61 63 6b 61 67 65 73 28 24 62 61 73 65 55 72 6c 29 s->readChannelPackages($baseUrl)
3ca20 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 72 65 61 ;.}.........private.function.rea
3ca40 64 43 68 61 6e 6e 65 6c 50 61 63 6b 61 67 65 73 28 24 62 61 73 65 55 72 6c 29 0a 7b 0a 24 72 65 dChannelPackages($baseUrl).{.$re
3ca60 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 78 6d 6c 20 3d 20 24 74 68 69 73 2d 3e 72 sult.=.array();..$xml.=.$this->r
3ca80 65 71 75 65 73 74 58 6d 6c 28 24 62 61 73 65 55 72 6c 2c 20 22 2f 63 2f 63 61 74 65 67 6f 72 69 equestXml($baseUrl,."/c/categori
3caa0 65 73 2e 78 6d 6c 22 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 es.xml");.$xml->registerXPathNam
3cac0 65 73 70 61 63 65 28 27 6e 73 27 2c 20 73 65 6c 66 3a 3a 41 4c 4c 5f 43 41 54 45 47 4f 52 49 45 espace('ns',.self::ALL_CATEGORIE
3cae0 53 5f 4e 53 29 3b 0a 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 S_NS);.foreach.($xml->xpath('ns:
3cb00 63 27 29 20 61 73 20 24 6e 6f 64 65 29 20 7b 0a 24 63 61 74 65 67 6f 72 79 4e 61 6d 65 20 3d 20 c').as.$node).{.$categoryName.=.
3cb20 28 73 74 72 69 6e 67 29 20 24 6e 6f 64 65 3b 0a 24 63 61 74 65 67 6f 72 79 50 61 63 6b 61 67 65 (string).$node;.$categoryPackage
3cb40 73 20 3d 20 24 74 68 69 73 2d 3e 72 65 61 64 43 61 74 65 67 6f 72 79 50 61 63 6b 61 67 65 73 28 s.=.$this->readCategoryPackages(
3cb60 24 62 61 73 65 55 72 6c 2c 20 24 63 61 74 65 67 6f 72 79 4e 61 6d 65 29 3b 0a 24 72 65 73 75 6c $baseUrl,.$categoryName);.$resul
3cb80 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 63 61 74 65 67 6f t.=.array_merge($result,.$catego
3cba0 72 79 50 61 63 6b 61 67 65 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a ryPackages);.}..return.$result;.
3cbc0 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 6f 6e 20 72 65 61 64 }..........private.function.read
3cbe0 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 65 CategoryPackages($baseUrl,.$cate
3cc00 67 6f 72 79 4e 61 6d 65 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a goryName).{.$result.=.array();..
3cc20 24 63 61 74 65 67 6f 72 79 50 61 74 68 20 3d 20 27 2f 63 2f 27 2e 75 72 6c 65 6e 63 6f 64 65 28 $categoryPath.=.'/c/'.urlencode(
3cc40 24 63 61 74 65 67 6f 72 79 4e 61 6d 65 29 2e 27 2f 70 61 63 6b 61 67 65 73 69 6e 66 6f 2e 78 6d $categoryName).'/packagesinfo.xm
3cc60 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 6d 6c 28 24 62 61 l';.$xml.=.$this->requestXml($ba
3cc80 73 65 55 72 6c 2c 20 24 63 61 74 65 67 6f 72 79 50 61 74 68 29 3b 0a 24 78 6d 6c 2d 3e 72 65 67 seUrl,.$categoryPath);.$xml->reg
3cca0 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 3a isterXPathNamespace('ns',.self::
3ccc0 43 41 54 45 47 4f 52 59 5f 50 41 43 4b 41 47 45 53 5f 49 4e 46 4f 5f 4e 53 29 3b 0a 66 6f 72 65 CATEGORY_PACKAGES_INFO_NS);.fore
3cce0 61 63 68 20 28 24 78 6d 6c 2d 3e 78 70 61 74 68 28 27 6e 73 3a 70 69 27 29 20 61 73 20 24 6e 6f ach.($xml->xpath('ns:pi').as.$no
3cd00 64 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 49 6e 66 6f 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 de).{.$packageInfo.=.$this->pars
3cd20 65 50 61 63 6b 61 67 65 28 24 6e 6f 64 65 29 3b 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 24 70 61 ePackage($node);.$result[].=.$pa
3cd40 63 6b 61 67 65 49 6e 66 6f 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a ckageInfo;.}..return.$result;.}.
3cd60 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 50 61 63 .......private.function.parsePac
3cd80 6b 61 67 65 28 24 70 61 63 6b 61 67 65 49 6e 66 6f 29 0a 7b 0a 24 70 61 63 6b 61 67 65 49 6e 66 kage($packageInfo).{.$packageInf
3cda0 6f 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 o->registerXPathNamespace('ns',.
3cdc0 73 65 6c 66 3a 3a 43 41 54 45 47 4f 52 59 5f 50 41 43 4b 41 47 45 53 5f 49 4e 46 4f 5f 4e 53 29 self::CATEGORY_PACKAGES_INFO_NS)
3cde0 3b 0a 24 63 68 61 6e 6e 65 6c 4e 61 6d 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 70 61 63 6b 61 ;.$channelName.=.(string).$packa
3ce00 67 65 49 6e 66 6f 2d 3e 70 2d 3e 63 3b 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 28 73 74 geInfo->p->c;.$packageName.=.(st
3ce20 72 69 6e 67 29 20 24 70 61 63 6b 61 67 65 49 6e 66 6f 2d 3e 70 2d 3e 6e 3b 0a 24 6c 69 63 65 6e ring).$packageInfo->p->n;.$licen
3ce40 73 65 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 6c se.=.(string).$packageInfo->p->l
3ce60 3b 0a 24 73 68 6f 72 74 44 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 28 73 74 72 69 6e 67 29 20 24 ;.$shortDescription.=.(string).$
3ce80 70 61 63 6b 61 67 65 49 6e 66 6f 2d 3e 70 2d 3e 73 3b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 packageInfo->p->s;.$description.
3cea0 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 64 3b 0a 0a =.(string).$packageInfo->p->d;..
3cec0 24 64 65 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 $dependencies.=.array();.foreach
3cee0 20 28 24 70 61 63 6b 61 67 65 49 6e 66 6f 2d 3e 78 70 61 74 68 28 27 6e 73 3a 64 65 70 73 27 29 .($packageInfo->xpath('ns:deps')
3cf00 20 61 73 20 24 6e 6f 64 65 29 20 7b 0a 24 64 65 70 65 6e 64 65 6e 63 79 56 65 72 73 69 6f 6e 20 .as.$node).{.$dependencyVersion.
3cf20 3d 20 28 73 74 72 69 6e 67 29 20 24 6e 6f 64 65 2d 3e 76 3b 0a 24 64 65 70 65 6e 64 65 6e 63 79 =.(string).$node->v;.$dependency
3cf40 41 72 72 61 79 20 3d 20 75 6e 73 65 72 69 61 6c 69 7a 65 28 28 73 74 72 69 6e 67 29 20 24 6e 6f Array.=.unserialize((string).$no
3cf60 64 65 2d 3e 64 29 3b 0a 0a 24 64 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 20 3d 20 24 74 68 69 73 de->d);..$dependencyInfo.=.$this
3cf80 2d 3e 64 65 70 65 6e 64 65 6e 63 79 52 65 61 64 65 72 2d 3e 62 75 69 6c 64 44 65 70 65 6e 64 65 ->dependencyReader->buildDepende
3cfa0 6e 63 79 49 6e 66 6f 28 24 64 65 70 65 6e 64 65 6e 63 79 41 72 72 61 79 29 3b 0a 0a 24 64 65 70 ncyInfo($dependencyArray);..$dep
3cfc0 65 6e 64 65 6e 63 69 65 73 5b 24 64 65 70 65 6e 64 65 6e 63 79 56 65 72 73 69 6f 6e 5d 20 3d 20 endencies[$dependencyVersion].=.
3cfe0 24 64 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 3b 0a 7d 0a 0a 24 72 65 6c 65 61 73 65 73 20 3d 20 $dependencyInfo;.}..$releases.=.
3d000 61 72 72 61 79 28 29 3b 0a 24 72 65 6c 65 61 73 65 73 49 6e 66 6f 20 3d 20 24 70 61 63 6b 61 67 array();.$releasesInfo.=.$packag
3d020 65 49 6e 66 6f 2d 3e 78 70 61 74 68 28 27 6e 73 3a 61 2f 6e 73 3a 72 27 29 3b 0a 69 66 20 28 24 eInfo->xpath('ns:a/ns:r');.if.($
3d040 72 65 6c 65 61 73 65 73 49 6e 66 6f 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 6c 65 61 73 releasesInfo).{.foreach.($releas
3d060 65 73 49 6e 66 6f 20 61 73 20 24 6e 6f 64 65 29 20 7b 0a 24 72 65 6c 65 61 73 65 56 65 72 73 69 esInfo.as.$node).{.$releaseVersi
3d080 6f 6e 20 3d 20 28 73 74 72 69 6e 67 29 20 24 6e 6f 64 65 2d 3e 76 3b 0a 24 72 65 6c 65 61 73 65 on.=.(string).$node->v;.$release
3d0a0 53 74 61 62 69 6c 69 74 79 20 3d 20 28 73 74 72 69 6e 67 29 20 24 6e 6f 64 65 2d 3e 73 3b 0a 24 Stability.=.(string).$node->s;.$
3d0c0 72 65 6c 65 61 73 65 73 5b 24 72 65 6c 65 61 73 65 56 65 72 73 69 6f 6e 5d 20 3d 20 6e 65 77 20 releases[$releaseVersion].=.new.
3d0e0 52 65 6c 65 61 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 ReleaseInfo(.$releaseStability,.
3d100 69 73 73 65 74 28 24 64 65 70 65 6e 64 65 6e 63 69 65 73 5b 24 72 65 6c 65 61 73 65 56 65 72 73 isset($dependencies[$releaseVers
3d120 69 6f 6e 5d 29 20 3f 20 24 64 65 70 65 6e 64 65 6e 63 69 65 73 5b 24 72 65 6c 65 61 73 65 56 65 ion]).?.$dependencies[$releaseVe
3d140 72 73 69 6f 6e 5d 20 3a 20 6e 65 77 20 44 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 28 61 72 72 61 rsion].:.new.DependencyInfo(arra
3d160 79 28 29 2c 20 61 72 72 61 79 28 29 29 0a 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 y(),.array()).);.}.}..return.new
3d180 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 0a 24 70 61 63 .PackageInfo(.$channelName,.$pac
3d1a0 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 65 73 63 72 69 kageName,.$license,.$shortDescri
3d1c0 70 74 69 6f 6e 2c 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 2c 0a 24 72 65 6c 65 61 73 65 73 0a 29 ption,.$description,.$releases.)
3d1e0 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
3d200 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 0a 0a 0a .Composer\Repository\Pear;......
3d220 0a 63 6c 61 73 73 20 52 65 6c 65 61 73 65 49 6e 66 6f 0a 7b 0a 70 72 69 76 61 74 65 20 24 73 74 .class.ReleaseInfo.{.private.$st
3d240 61 62 69 6c 69 74 79 3b 0a 70 72 69 76 61 74 65 20 24 64 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f ability;.private.$dependencyInfo
3d260 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
3d280 63 74 28 24 73 74 61 62 69 6c 69 74 79 2c 20 24 64 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 29 0a ct($stability,.$dependencyInfo).
3d2a0 7b 0a 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 20 3d 20 24 73 74 61 62 69 6c 69 74 79 3b {.$this->stability.=.$stability;
3d2c0 0a 24 74 68 69 73 2d 3e 64 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 20 3d 20 24 64 65 70 65 6e 64 .$this->dependencyInfo.=.$depend
3d2e0 65 6e 63 79 49 6e 66 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 encyInfo;.}.....public.function.
3d300 67 65 74 44 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 getDependencyInfo().{.return.$th
3d320 69 73 2d 3e 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 is->dependencyInfo;.}.....public
3d340 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 7b 0a 72 65 74 75 72 .function.getStability().{.retur
3d360 6e 20 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a n.$this->stability;.}.}.<?php...
3d380 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
3d3a0 73 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 sitory\Pear;..use.Composer\Util\
3d3c0 52 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 61 62 73 74 72 61 RemoteFilesystem;.........abstra
3d3e0 63 74 20 63 6c 61 73 73 20 42 61 73 65 43 68 61 6e 6e 65 6c 52 65 61 64 65 72 0a 7b 0a 0a 0a 0a ct.class.BaseChannelReader.{....
3d400 63 6f 6e 73 74 20 43 48 41 4e 4e 45 4c 5f 4e 53 20 3d 20 27 68 74 74 70 3a 2f 2f 70 65 61 72 2e const.CHANNEL_NS.=.'http://pear.
3d420 70 68 70 2e 6e 65 74 2f 63 68 61 6e 6e 65 6c 2d 31 2e 30 27 3b 0a 63 6f 6e 73 74 20 41 4c 4c 5f php.net/channel-1.0';.const.ALL_
3d440 43 41 54 45 47 4f 52 49 45 53 5f 4e 53 20 3d 20 27 68 74 74 70 3a 2f 2f 70 65 61 72 2e 70 68 70 CATEGORIES_NS.=.'http://pear.php
3d460 2e 6e 65 74 2f 64 74 64 2f 72 65 73 74 2e 61 6c 6c 63 61 74 65 67 6f 72 69 65 73 27 3b 0a 63 6f .net/dtd/rest.allcategories';.co
3d480 6e 73 74 20 43 41 54 45 47 4f 52 59 5f 50 41 43 4b 41 47 45 53 5f 49 4e 46 4f 5f 4e 53 20 3d 20 nst.CATEGORY_PACKAGES_INFO_NS.=.
3d4a0 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 63 61 'http://pear.php.net/dtd/rest.ca
3d4c0 74 65 67 6f 72 79 70 61 63 6b 61 67 65 69 6e 66 6f 27 3b 0a 63 6f 6e 73 74 20 41 4c 4c 5f 50 41 tegorypackageinfo';.const.ALL_PA
3d4e0 43 4b 41 47 45 53 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 CKAGES_NS.=.'http://pear.php.net
3d500 2f 64 74 64 2f 72 65 73 74 2e 61 6c 6c 70 61 63 6b 61 67 65 73 27 3b 0a 63 6f 6e 73 74 20 41 4c /dtd/rest.allpackages';.const.AL
3d520 4c 5f 52 45 4c 45 41 53 45 53 5f 4e 53 20 3d 20 27 68 74 74 70 3a 2f 2f 70 65 61 72 2e 70 68 70 L_RELEASES_NS.=.'http://pear.php
3d540 2e 6e 65 74 2f 64 74 64 2f 72 65 73 74 2e 61 6c 6c 72 65 6c 65 61 73 65 73 27 3b 0a 63 6f 6e 73 .net/dtd/rest.allreleases';.cons
3d560 74 20 50 41 43 4b 41 47 45 5f 49 4e 46 4f 5f 4e 53 20 3d 20 27 68 74 74 70 3a 2f 2f 70 65 61 72 t.PACKAGE_INFO_NS.=.'http://pear
3d580 2e 70 68 70 2e 6e 65 74 2f 64 74 64 2f 72 65 73 74 2e 70 61 63 6b 61 67 65 27 3b 0a 0a 0a 70 72 .php.net/dtd/rest.package';...pr
3d5a0 69 76 61 74 65 20 24 72 66 73 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 ivate.$rfs;..protected.function.
3d5c0 5f 5f 63 6f 6e 73 74 72 75 63 74 28 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 66 __construct(RemoteFilesystem.$rf
3d5e0 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 66 73 20 3d 20 24 72 66 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a s).{.$this->rfs.=.$rfs;.}.......
3d600 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 65 73 74 43 6f 6e ...protected.function.requestCon
3d620 74 65 6e 74 28 24 6f 72 69 67 69 6e 2c 20 24 70 61 74 68 29 0a 7b 0a 24 75 72 6c 20 3d 20 72 74 tent($origin,.$path).{.$url.=.rt
3d640 72 69 6d 28 24 6f 72 69 67 69 6e 2c 20 27 2f 27 29 20 2e 20 27 2f 27 20 2e 20 6c 74 72 69 6d 28 rim($origin,.'/')...'/'...ltrim(
3d660 24 70 61 74 68 2c 20 27 2f 27 29 3b 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 72 $path,.'/');.$content.=.$this->r
3d680 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
3d6a0 61 6c 73 65 29 3b 0a 69 66 20 28 21 24 63 6f 6e 74 65 6e 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 alse);.if.(!$content).{.throw.ne
3d6c0 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 54 68 65 w.\UnexpectedValueException('The
3d6e0 20 50 45 41 52 20 63 68 61 6e 6e 65 6c 20 61 74 20 27 20 2e 20 24 75 72 6c 20 2e 20 27 20 64 69 .PEAR.channel.at.'...$url...'.di
3d700 64 20 6e 6f 74 20 72 65 73 70 6f 6e 64 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6e d.not.respond.');.}..return.$con
3d720 74 65 6e 74 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 tent;.}..........protected.funct
3d740 69 6f 6e 20 72 65 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 ion.requestXml($origin,.$path).{
3d760 0a 0a 20 24 78 6d 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 ...$xml.=.simplexml_load_string(
3d780 24 74 68 69 73 2d 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 $this->requestContent($origin,.$
3d7a0 70 61 74 68 29 2c 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 path),."SimpleXMLElement",.LIBXM
3d7c0 4c 5f 4e 4f 45 52 52 4f 52 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 20 24 78 6d 6c 29 20 L_NOERROR);..if.(false.==.$xml).
3d7e0 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 2f 27 29 20 2e 20 27 {.$url.=.rtrim($origin,.'/')...'
3d800 2f 27 20 2e 20 6c 74 72 69 6d 28 24 70 61 74 68 2c 20 27 2f 27 29 3b 0a 74 68 72 6f 77 20 6e 65 /'...ltrim($path,.'/');.throw.ne
3d820 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 73 70 72 69 w.\UnexpectedValueException(spri
3d840 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 2e 20 24 6f 72 ntf('The.PEAR.channel.at.'...$or
3d860 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 64 20 58 4d 4c igin...'.is.broken..(Invalid.XML
3d880 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 0a 0a 72 65 74 .at.file.`%s`)',.$path));.}..ret
3d8a0 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 0a 0a 0a 0a 6e urn.$xml;.}.}.<?php............n
3d8c0 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 61 amespace.Composer\Repository\Pea
3d8e0 72 3b 0a 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 r;..use.Composer\Downloader\Tran
3d900 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 sportException;.............clas
3d920 73 20 43 68 61 6e 6e 65 6c 52 65 73 74 31 30 52 65 61 64 65 72 20 65 78 74 65 6e 64 73 20 42 61 s.ChannelRest10Reader.extends.Ba
3d940 73 65 43 68 61 6e 6e 65 6c 52 65 61 64 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 64 65 70 65 6e seChannelReader.{.private.$depen
3d960 64 65 6e 63 79 52 65 61 64 65 72 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f dencyReader;..public.function.__
3d980 63 6f 6e 73 74 72 75 63 74 28 24 72 66 73 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 construct($rfs).{.parent::__cons
3d9a0 74 72 75 63 74 28 24 72 66 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 64 65 70 65 6e 64 65 6e 63 79 52 truct($rfs);..$this->dependencyR
3d9c0 65 61 64 65 72 20 3d 20 6e 65 77 20 50 61 63 6b 61 67 65 44 65 70 65 6e 64 65 6e 63 79 50 61 72 eader.=.new.PackageDependencyPar
3d9e0 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 63 74 69 6f 6e ser();.}.........public.function
3da00 20 72 65 61 64 28 24 62 61 73 65 55 72 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e .read($baseUrl).{.return.$this->
3da20 72 65 61 64 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 readPackages($baseUrl);.}.......
3da40 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 50 61 63 6b 61 67 65 73 28 ..private.function.readPackages(
3da60 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 3b 0a 0a $baseUrl).{.$result.=.array();..
3da80 24 78 6d 6c 50 61 74 68 20 3d 20 27 2f 70 2f 70 61 63 6b 61 67 65 73 2e 78 6d 6c 27 3b 0a 24 78 $xmlPath.=.'/p/packages.xml';.$x
3daa0 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 65 55 72 6c 2c ml.=.$this->requestXml($baseUrl,
3dac0 20 24 78 6d 6c 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 .$xmlPath);.$xml->registerXPathN
3dae0 61 6d 65 73 70 61 63 65 28 27 6e 73 27 2c 20 73 65 6c 66 3a 3a 41 4c 4c 5f 50 41 43 4b 41 47 45 amespace('ns',.self::ALL_PACKAGE
3db00 53 5f 4e 53 29 3b 0a 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 S_NS);.foreach.($xml->xpath('ns:
3db20 70 27 29 20 61 73 20 24 6e 6f 64 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 28 p').as.$node).{.$packageName.=.(
3db40 73 74 72 69 6e 67 29 20 24 6e 6f 64 65 3b 0a 24 70 61 63 6b 61 67 65 49 6e 66 6f 20 3d 20 24 74 string).$node;.$packageInfo.=.$t
3db60 68 69 73 2d 3e 72 65 61 64 50 61 63 6b 61 67 65 28 24 62 61 73 65 55 72 6c 2c 20 24 70 61 63 6b his->readPackage($baseUrl,.$pack
3db80 61 67 65 4e 61 6d 65 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 ageName);.$result[].=.$packageIn
3dba0 66 6f 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 fo;.}..return.$result;.}........
3dbc0 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 50 61 63 6b 61 67 65 28 24 ..private.function.readPackage($
3dbe0 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 78 6d 6c 50 61 74 baseUrl,.$packageName).{.$xmlPat
3dc00 68 20 3d 20 27 2f 70 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 h.=.'/p/'...strtolower($packageN
3dc20 61 6d 65 29 20 2e 20 27 2f 69 6e 66 6f 2e 78 6d 6c 27 3b 0a 24 78 6d 6c 20 3d 20 24 74 68 69 73 ame)...'/info.xml';.$xml.=.$this
3dc40 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)
3dc60 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('
3dc80 6e 73 27 2c 20 73 65 6c 66 3a 3a 50 41 43 4b 41 47 45 5f 49 4e 46 4f 5f 4e 53 29 3b 0a 0a 24 63 ns',.self::PACKAGE_INFO_NS);..$c
3dca0 68 61 6e 6e 65 6c 4e 61 6d 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 78 6d 6c 2d 3e 63 3b 0a 24 hannelName.=.(string).$xml->c;.$
3dcc0 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 78 6d 6c 2d 3e 6e 3b 0a packageName.=.(string).$xml->n;.
3dce0 24 6c 69 63 65 6e 73 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 78 6d 6c 2d 3e 6c 3b 0a 24 73 68 $license.=.(string).$xml->l;.$sh
3dd00 6f 72 74 44 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 28 73 74 72 69 6e 67 29 20 24 78 6d 6c 2d 3e ortDescription.=.(string).$xml->
3dd20 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 78 6d 6c 2d s;.$description.=.(string).$xml-
3dd40 3e 64 3b 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 24 63 68 >d;..return.new.PackageInfo(.$ch
3dd60 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 65 6e 73 annelName,.$packageName,.$licens
3dd80 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 70 74 69 e,.$shortDescription,.$descripti
3dda0 6f 6e 2c 0a 24 74 68 69 73 2d 3e 72 65 61 64 50 61 63 6b 61 67 65 52 65 6c 65 61 73 65 73 28 24 on,.$this->readPackageReleases($
3ddc0 62 61 73 65 55 72 6c 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 0a 29 3b 0a 7d 0a 0a 0a 0a 0a baseUrl,.$packageName).);.}.....
3dde0 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 50 61 63 6b 61 ......private.function.readPacka
3de00 67 65 52 65 6c 65 61 73 65 73 28 24 62 61 73 65 55 72 6c 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d geReleases($baseUrl,.$packageNam
3de20 65 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 74 72 79 20 7b 0a 24 e).{.$result.=.array();..try.{.$
3de40 78 6d 6c 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 xmlPath.=.'/r/'...strtolower($pa
3de60 63 6b 61 67 65 4e 61 6d 65 29 20 2e 20 27 2f 61 6c 6c 72 65 6c 65 61 73 65 73 2e 78 6d 6c 27 3b ckageName)...'/allreleases.xml';
3de80 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 65 55 .$xml.=.$this->requestXml($baseU
3dea0 72 6c 2c 20 24 78 6d 6c 50 61 74 68 29 3b 0a 24 78 6d 6c 2d 3e 72 65 67 69 73 74 65 72 58 50 61 rl,.$xmlPath);.$xml->registerXPa
3dec0 74 68 4e 61 6d 65 73 70 61 63 65 28 27 6e 73 27 2c 20 73 65 6c 66 3a 3a 41 4c 4c 5f 52 45 4c 45 thNamespace('ns',.self::ALL_RELE
3dee0 41 53 45 53 5f 4e 53 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 78 6d 6c 2d 3e 78 70 61 74 68 28 27 ASES_NS);.foreach.($xml->xpath('
3df00 6e 73 3a 72 27 29 20 61 73 20 24 6e 6f 64 65 29 20 7b 0a 24 72 65 6c 65 61 73 65 56 65 72 73 69 ns:r').as.$node).{.$releaseVersi
3df20 6f 6e 20 3d 20 28 73 74 72 69 6e 67 29 20 24 6e 6f 64 65 2d 3e 76 3b 0a 24 72 65 6c 65 61 73 65 on.=.(string).$node->v;.$release
3df40 53 74 61 62 69 6c 69 74 79 20 3d 20 28 73 74 72 69 6e 67 29 20 24 6e 6f 64 65 2d 3e 73 3b 0a 0a Stability.=.(string).$node->s;..
3df60 74 72 79 20 7b 0a 24 72 65 73 75 6c 74 5b 24 72 65 6c 65 61 73 65 56 65 72 73 69 6f 6e 5d 20 3d try.{.$result[$releaseVersion].=
3df80 20 6e 65 77 20 52 65 6c 65 61 73 65 49 6e 66 6f 28 0a 24 72 65 6c 65 61 73 65 53 74 61 62 69 6c .new.ReleaseInfo(.$releaseStabil
3dfa0 69 74 79 2c 0a 24 74 68 69 73 2d 3e 72 65 61 64 50 61 63 6b 61 67 65 52 65 6c 65 61 73 65 44 65 ity,.$this->readPackageReleaseDe
3dfc0 70 65 6e 64 65 6e 63 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 pendencies($baseUrl,.$packageNam
3dfe0 65 2c 20 24 72 65 6c 65 61 73 65 56 65 72 73 69 6f 6e 29 0a 29 3b 0a 7d 20 63 61 74 63 68 20 28 e,.$releaseVersion).);.}.catch.(
3e000 54 72 61 6e 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 TransportException.$exception).{
3e020 0a 69 66 20 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 .if.($exception->getCode().!=.40
3e040 34 29 20 7b 0a 74 68 72 6f 77 20 24 65 78 63 65 70 74 69 6f 6e 3b 0a 7d 0a 7d 0a 7d 0a 7d 20 63 4).{.throw.$exception;.}.}.}.}.c
3e060 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 78 63 65 70 74 atch.(TransportException.$except
3e080 69 6f 6e 29 20 7b 0a 69 66 20 28 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 43 6f 64 65 28 29 ion).{.if.($exception->getCode()
3e0a0 20 21 3d 20 34 30 34 29 20 7b 0a 74 68 72 6f 77 20 24 65 78 63 65 70 74 69 6f 6e 3b 0a 7d 0a 7d .!=.404).{.throw.$exception;.}.}
3e0c0 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 0a 70 72 ..return.$result;.}...........pr
3e0e0 69 76 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 ivate.function.readPackageReleas
3e100 65 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 62 61 73 65 55 72 6c 2c 20 24 70 61 63 6b 61 67 65 eDependencies($baseUrl,.$package
3e120 4e 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 29 0a 7b 0a 24 64 65 70 65 6e 64 65 6e 63 79 52 65 61 Name,.$version).{.$dependencyRea
3e140 64 65 72 20 3d 20 6e 65 77 20 50 61 63 6b 61 67 65 44 65 70 65 6e 64 65 6e 63 79 50 61 72 73 65 der.=.new.PackageDependencyParse
3e160 72 28 29 3b 0a 0a 24 64 65 70 74 68 50 61 74 68 20 3d 20 27 2f 72 2f 27 20 2e 20 73 74 72 74 6f r();..$depthPath.=.'/r/'...strto
3e180 6c 6f 77 65 72 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 20 2e 20 27 2f 64 65 70 73 2e 27 20 2e lower($packageName)...'/deps.'..
3e1a0 20 24 76 65 72 73 69 6f 6e 20 2e 20 27 2e 74 78 74 27 3b 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 24 .$version...'.txt';.$content.=.$
3e1c0 74 68 69 73 2d 3e 72 65 71 75 65 73 74 43 6f 6e 74 65 6e 74 28 24 62 61 73 65 55 72 6c 2c 20 24 this->requestContent($baseUrl,.$
3e1e0 64 65 70 74 68 50 61 74 68 29 3b 0a 24 64 65 70 65 6e 64 65 6e 63 79 41 72 72 61 79 20 3d 20 75 depthPath);.$dependencyArray.=.u
3e200 6e 73 65 72 69 61 6c 69 7a 65 28 24 63 6f 6e 74 65 6e 74 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 nserialize($content);.$result.=.
3e220 24 64 65 70 65 6e 64 65 6e 63 79 52 65 61 64 65 72 2d 3e 62 75 69 6c 64 44 65 70 65 6e 64 65 6e $dependencyReader->buildDependen
3e240 63 79 49 6e 66 6f 28 24 64 65 70 65 6e 64 65 6e 63 79 41 72 72 61 79 29 3b 0a 0a 72 65 74 75 72 cyInfo($dependencyArray);..retur
3e260 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 0a 0a 0a 0a 0a 0a n.$result;.}.}.<?php............
3e280 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;..
3e2a0 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
3e2c0 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 74 rface;.........interface.Reposit
3e2e0 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 0a oryInterface.extends.\Countable.
3e300 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 6e {.const.SEARCH_FULLTEXT.=.0;.con
3e320 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 6c st.SEARCH_NAME.=.1;.........publ
3e340 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 6e ic.function.hasPackage(PackageIn
3e360 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 6c terface.$package);..........publ
3e380 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 24 ic.function.findPackage($name,.$
3e3a0 76 65 72 73 69 6f 6e 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 version);..........public.functi
3e3c0 6f 6e 20 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 6e 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 20 on.findPackages($name,.$version.
3e3e0 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 63 74 69 6f 6e 20 67 =.null);.......public.function.g
3e400 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e etPackages();.........public.fun
3e420 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 29 3b ction.search($query,.$mode.=.0);
3e440 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
3e460 6d 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 mposer\Repository;..use.Composer
3e480 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 4a 73 \IO\IOInterface;.use.Composer\Js
3e4a0 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
3e4c0 65 5c 4c 6f 61 64 65 72 5c 41 72 72 61 79 4c 6f 61 64 65 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 e\Loader\ArrayLoader;.....class.
3e4e0 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 72 61 79 ArtifactRepository.extends.Array
3e500 52 65 70 6f 73 69 74 6f 72 79 0a 7b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 6f 61 64 65 72 3b Repository.{..protected.$loader;
3e520 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 6f 6f 6b 75 70 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e ..protected.$lookup;..public.fun
3e540 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 70 6f 43 6f 6e ction.__construct(array.$repoCon
3e560 66 69 67 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 29 0a 7b 0a 69 66 20 28 21 65 78 74 fig,.IOInterface.$io).{.if.(!ext
3e580 65 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 ension_loaded('zip')).{.throw.ne
3e5a0 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 61 72 74 69 66 61 63 w.\RuntimeException('The.artifac
3e5c0 74 20 72 65 70 6f 73 69 74 6f 72 79 20 72 65 71 75 69 72 65 73 20 50 48 50 5c 27 73 20 7a 69 70 t.repository.requires.PHP\'s.zip
3e5e0 20 65 78 74 65 6e 73 69 6f 6e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 20 3d .extension');.}..$this->loader.=
3e600 20 6e 65 77 20 41 72 72 61 79 4c 6f 61 64 65 72 28 29 3b 0a 24 74 68 69 73 2d 3e 6c 6f 6f 6b 75 .new.ArrayLoader();.$this->looku
3e620 70 20 3d 20 24 72 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 p.=.$repoConfig['url'];.$this->i
3e640 6f 20 3d 20 24 69 6f 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 o.=.$io;.}..protected.function.i
3e660 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
3e680 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 73 63 61 6e 44 69 72 65 63 74 6f 72 79 28 24 74 68 69 73 2d ();..$this->scanDirectory($this-
3e6a0 3e 6c 6f 6f 6b 75 70 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 63 >lookup);.}..private.function.sc
3e6c0 61 6e 44 69 72 65 63 74 6f 72 79 28 24 70 61 74 68 29 0a 7b 0a 24 69 6f 20 3d 20 24 74 68 69 73 anDirectory($path).{.$io.=.$this
3e6e0 2d 3e 69 6f 3b 0a 0a 24 64 69 72 65 63 74 6f 72 79 20 3d 20 6e 65 77 20 5c 52 65 63 75 72 73 69 ->io;..$directory.=.new.\Recursi
3e700 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 28 24 70 61 74 68 29 3b 0a 24 69 74 65 veDirectoryIterator($path);.$ite
3e720 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 74 rator.=.new.\RecursiveIteratorIt
3e740 65 72 61 74 6f 72 28 24 64 69 72 65 63 74 6f 72 79 29 3b 0a 24 72 65 67 65 78 20 3d 20 6e 65 77 erator($directory);.$regex.=.new
3e760 20 5c 52 65 67 65 78 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 27 2f 5e 2e 2b .\RegexIterator($iterator,.'/^.+
3e780 5c 2e 28 7a 69 70 7c 70 68 61 72 29 24 2f 69 27 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 67 \.(zip|phar)$/i');.foreach.($reg
3e7a0 65 78 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 0a 69 66 20 28 21 24 66 69 6c 65 2d 3e 69 73 46 69 ex.as.$file).{..if.(!$file->isFi
3e7c0 6c 65 28 29 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 3d 20 le()).{.continue;.}..$package.=.
3e7e0 24 74 68 69 73 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 66 $this->getComposerInformation($f
3e800 69 6c 65 29 3b 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 69 6f 2d 3e ile);.if.(!$package).{.if.($io->
3e820 69 73 56 65 72 62 6f 73 65 28 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 22 46 69 6c 65 20 isVerbose()).{.$io->write("File.
3e840 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 28 29 7d 3c <comment>{$file->getBasename()}<
3e860 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 6c 64 20 61 /comment>.doesn't.seem.to.hold.a
3e880 20 70 61 63 6b 61 67 65 22 29 3b 0a 7d 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 .package");.}.continue;.}..if.($
3e8a0 69 6f 2d 3e 69 73 56 65 72 62 6f 73 65 28 29 29 20 7b 0a 24 74 65 6d 70 6c 61 74 65 20 3d 20 27 io->isVerbose()).{.$template.=.'
3e8c0 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 66 6f 3e 20 28 3c Found.package.<info>%s</info>.(<
3e8e0 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 69 6c 65 20 3c 69 comment>%s</comment>).in.file.<i
3e900 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 28 73 70 72 69 6e nfo>%s</info>';.$io->write(sprin
3e920 74 66 28 24 74 65 6d 70 6c 61 74 65 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 tf($template,.$package->getName(
3e940 29 2c 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 2c ),.$package->getPrettyVersion(),
3e960 20 24 66 69 6c 65 2d 3e 67 65 74 42 61 73 65 6e 61 6d 65 28 29 29 29 3b 0a 7d 0a 0a 24 74 68 69 .$file->getBasename()));.}..$thi
3e980 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 7d 0a 0a 70 72 s->addPackage($package);.}.}..pr
3e9a0 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 6e 66 6f 72 6d ivate.function.getComposerInform
3e9c0 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 0a 24 7a 69 70 ation(\SplFileInfo.$file).{.$zip
3e9e0 20 3d 20 6e 65 77 20 5c 5a 69 70 41 72 63 68 69 76 65 28 29 3b 0a 24 7a 69 70 2d 3e 6f 70 65 6e .=.new.\ZipArchive();.$zip->open
3ea00 28 24 66 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 30 20 3d ($file->getPathname());..if.(0.=
3ea20 3d 20 24 7a 69 70 2d 3e 6e 75 6d 46 69 6c 65 73 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 =.$zip->numFiles).{.return.false
3ea40 3b 0a 7d 0a 0a 24 66 6f 75 6e 64 46 69 6c 65 49 6e 64 65 78 20 3d 20 24 7a 69 70 2d 3e 6c 6f 63 ;.}..$foundFileIndex.=.$zip->loc
3ea60 61 74 65 4e 61 6d 65 28 27 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 2c 20 5c 5a 69 70 41 72 63 ateName('composer.json',.\ZipArc
3ea80 68 69 76 65 3a 3a 46 4c 5f 4e 4f 44 49 52 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 hive::FL_NODIR);.if.(false.===.$
3eaa0 66 6f 75 6e 64 46 69 6c 65 49 6e 64 65 78 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a foundFileIndex).{.return.false;.
3eac0 7d 0a 0a 24 63 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 }..$configurationFileName.=.$zip
3eae0 2d 3e 67 65 74 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 ->getNameIndex($foundFileIndex);
3eb00 0a 0a 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 20 3d 20 22 7a 69 70 3a 2f 2f 7b 24 66 69 6c 65 2d ..$composerFile.=."zip://{$file-
3eb20 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 7d 23 24 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 46 69 >getPathname()}#$configurationFi
3eb40 6c 65 4e 61 6d 65 22 3b 0a 24 6a 73 6f 6e 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e leName";.$json.=.file_get_conten
3eb60 74 73 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 29 3b 0a 0a 24 70 61 63 6b 61 67 65 20 3d 20 4a ts($composerFile);..$package.=.J
3eb80 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 6d 70 6f sonFile::parseJson($json,.$compo
3eba0 73 65 72 46 69 6c 65 29 3b 0a 24 70 61 63 6b 61 67 65 5b 27 64 69 73 74 27 5d 20 3d 20 61 72 72 serFile);.$package['dist'].=.arr
3ebc0 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 24 66 ay(.'type'.=>.'zip',.'url'.=>.$f
3ebe0 69 6c 65 2d 3e 67 65 74 52 65 61 6c 50 61 74 68 28 29 2c 0a 27 72 65 66 65 72 65 6e 63 65 27 20 ile->getRealPath(),.'reference'.
3ec00 3d 3e 20 24 66 69 6c 65 2d 3e 67 65 74 42 61 73 65 6e 61 6d 65 28 29 2c 0a 27 73 68 61 73 75 6d =>.$file->getBasename(),.'shasum
3ec20 27 20 3d 3e 20 73 68 61 31 5f 66 69 6c 65 28 24 66 69 6c 65 2d 3e 67 65 74 52 65 61 6c 50 61 74 '.=>.sha1_file($file->getRealPat
3ec40 68 28 29 29 0a 29 3b 0a 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 h()).);..$package.=.$this->loade
3ec60 72 2d 3e 6c 6f 61 64 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 r->load($package);..return.$pack
3ec80 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 6e 61 6d 65 73 70 age;.}.}.<?php............namesp
3eca0 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 43 6f ace.Composer\Repository;..use.Co
3ecc0 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 64 65 mposer\Package\Loader\ArrayLoade
3ece0 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 56 r;.use.Composer\Package\Loader\V
3ed00 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 61 73 alidatingArrayLoader;.......clas
3ed20 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 72 61 s.PackageRepository.extends.Arra
3ed40 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 0a 0a yRepository.{.private.$config;..
3ed60 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
3ed80 28 61 72 72 61 79 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 (array.$config).{.$this->config.
3eda0 3d 20 24 63 6f 6e 66 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 =.$config['package'];....if.(!is
3edc0 5f 6e 75 6d 65 72 69 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 _numeric(key($this->config))).{.
3ede0 24 74 68 69 73 2d 3e 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 $this->config.=.array($this->con
3ee00 66 69 67 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 6f 6e fig);.}.}.....protected.function
3ee20 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 6e 69 74 69 61 6c 69 .initialize().{.parent::initiali
3ee40 7a 65 28 29 3b 0a 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 ze();..$loader.=.new.ValidatingA
3ee60 72 72 61 79 4c 6f 61 64 65 72 28 6e 65 77 20 41 72 72 61 79 4c 6f 61 64 65 72 2c 20 66 61 6c 73 rrayLoader(new.ArrayLoader,.fals
3ee80 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 61 73 20 24 70 e);.foreach.($this->config.as.$p
3eea0 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 24 6c 6f 61 64 ackage).{.try.{.$package.=.$load
3eec0 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 20 28 5c 45 78 er->load($package);.}.catch.(\Ex
3eee0 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 61 6c 69 64 52 ception.$e).{.throw.new.InvalidR
3ef00 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 69 74 6f 72 79 epositoryException('A.repository
3ef20 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 20 61 6e 20 69 .of.type."package".contains.an.i
3ef40 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 27 2e 24 65 2d nvalid.package.definition:.'.$e-
3ef60 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 70 61 63 6b 61 >getMessage()."\n\nInvalid.packa
3ef80 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 64 65 28 24 70 ge.definition:\n".json_encode($p
3efa0 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 61 67 65 28 24 ackage));.}..$this->addPackage($
3efc0 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 0a 0a 0a 0a 0a package);.}.}.}.<?php...........
3efe0 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;....
3f000 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 74 65 6e 64 73 ...class.CompletePackage.extends
3f020 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 65 50 61 63 6b .Package.implements.CompletePack
3f040 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 65 70 6f 73 69 ageInterface.{.protected.$reposi
3f060 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 3d 20 61 72 72 tories;.protected.$license.=.arr
3f080 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 70 72 6f 74 65 ay();.protected.$keywords;.prote
3f0a0 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 65 73 63 72 69 cted.$authors;.protected.$descri
3f0c0 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 0a 70 72 6f 74 ption;.protected.$homepage;.prot
3f0e0 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 72 6f 74 65 63 ected.$scripts.=.array();.protec
3f100 74 65 64 20 24 73 75 70 70 6f 72 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 75 62 6c ted.$support.=.array();.....publ
3f120 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 24 73 63 ic.function.setScripts(array.$sc
3f140 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 72 69 70 ripts).{.$this->scripts.=.$scrip
3f160 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 53 63 72 ts;.}.....public.function.getScr
3f180 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 73 3b 0a ipts().{.return.$this->scripts;.
3f1a0 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 70 6f 73 }.......public.function.setRepos
3f1c0 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 3e itories($repositories).{.$this->
3f1e0 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 0a 7d 0a repositories.=.$repositories;.}.
3f200 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 6f 72 ....public.function.getRepositor
3f220 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 6f 72 69 ies().{.return.$this->repositori
3f240 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 4c es;.}.......public.function.setL
3f260 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 73 2d 3e icense(array.$license).{.$this->
3f280 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 6c 69 63 license.=.$license;.}.....public
3f2a0 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 72 6e 20 .function.getLicense().{.return.
3f2c0 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 63 20 66 $this->license;.}.......public.f
3f2e0 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 79 77 6f unction.setKeywords(array.$keywo
3f300 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 77 6f 72 rds).{.$this->keywords.=.$keywor
3f320 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 4b 65 79 ds;.}.....public.function.getKey
3f340 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 72 64 73 words().{.return.$this->keywords
3f360 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 75 74 ;.}.......public.function.setAut
3f380 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 3e 61 75 hors(array.$authors).{.$this->au
3f3a0 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 63 20 66 thors.=.$authors;.}.....public.f
3f3c0 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 20 24 74 unction.getAuthors().{.return.$t
3f3e0 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 66 75 6e his->authors;.}.......public.fun
3f400 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 74 69 6f ction.setDescription($descriptio
3f420 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 73 63 72 n).{.$this->description.=.$descr
3f440 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 20 67 65 iption;.}.....public.function.ge
3f460 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 64 tDescription().{.return.$this->d
3f480 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 6e 63 74 escription;.}.......public.funct
3f4a0 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 24 74 68 ion.setHomepage($homepage).{.$th
3f4c0 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 0a 0a 0a is->homepage.=.$homepage;.}.....
3f4e0 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 0a 7b 0a public.function.getHomepage().{.
3f500 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 0a 0a 0a return.$this->homepage;.}.......
3f520 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 72 61 79 public.function.setSupport(array
3f540 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 20 24 73 .$support).{.$this->support.=.$s
3f560 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 20 67 65 upport;.}.....public.function.ge
3f580 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 70 70 6f tSupport().{.return.$this->suppo
3f5a0 72 74 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 rt;.}.}.<?php............namespa
3f5c0 63 65 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 ce.Composer\Package\Dumper;..use
3f5e0 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 0a 75 .Composer\Package\BasePackage;.u
3f600 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
3f620 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 6f 6d 70 6c face;.use.Composer\Package\Compl
3f640 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 73 65 etePackageInterface;.use.Compose
3f660 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 3b 0a r\Package\RootPackageInterface;.
3f680 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 0a use.Composer\Package\Link;......
3f6a0 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 6e 63 74 class.ArrayDumper.{.public.funct
3f6c0 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 63 6b 61 ion.dump(PackageInterface.$packa
3f6e0 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 73 27 20 ge).{.$keys.=.array(.'binaries'.
3f700 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 6e 73 74 =>.'bin',.'type',.'extra',.'inst
3f720 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 69 6f 6e allationSource'.=>.'installation
3f740 2d 73 6f 75 72 63 65 27 2c 0a 27 61 75 74 6f 6c 6f 61 64 27 2c 0a 27 6e 6f 74 69 66 69 63 61 74 -source',.'autoload',.'notificat
3f760 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 27 2c 0a 27 ionUrl'.=>.'notification-url',.'
3f780 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 74 68 27 2c includePaths'.=>.'include-path',
3f7a0 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 27 6e 61 6d .);..$data.=.array();.$data['nam
3f7c0 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 65 28 29 3b e'].=.$package->getPrettyName();
3f7e0 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 2d 3e 67 65 .$data['version'].=.$package->ge
3f800 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 73 69 6f 6e tPrettyVersion();.$data['version
3f820 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 74 56 65 72 _normalized'].=.$package->getVer
3f840 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 72 67 65 74 sion();..if.($package->getTarget
3f860 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 20 3d 20 24 Dir()).{.$data['target-dir'].=.$
3f880 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 69 66 20 28 package->getTargetDir();.}..if.(
3f8a0 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 0a 24 64 61 $package->getSourceType()).{.$da
3f8c0 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 61 67 65 2d ta['source']['type'].=.$package-
3f8e0 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 72 63 65 27 >getSourceType();.$data['source'
3f900 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 63 65 55 72 ]['url'].=.$package->getSourceUr
3f920 6c 28 29 3b 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 l();.$data['source']['reference'
3f940 5d 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 ].=.$package->getSourceReference
3f960 28 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 54 79 70 65 ();.}..if.($package->getDistType
3f980 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
3f9a0 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
3f9c0 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
3f9e0 72 6c 28 29 3b 0a 24 64 61 74 61 5b 27 64 69 73 74 27 5d 5b 27 72 65 66 65 72 65 6e 63 65 27 5d rl();.$data['dist']['reference']
3fa00 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 28 29 3b .=.$package->getDistReference();
3fa20 0a 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 70 61 63 6b .$data['dist']['shasum'].=.$pack
3fa40 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 3b 0a 7d 0a 0a 69 age->getDistSha1Checksum();.}..i
3fa60 66 20 28 24 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 f.($package->getArchiveExcludes(
3fa80 29 29 20 7b 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 )).{.$data['archive']['exclude']
3faa0 20 3d 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 75 64 65 73 28 .=.$package->getArchiveExcludes(
3fac0 29 3b 0a 7d 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 );.}..foreach.(BasePackage::$sup
3fae0 70 6f 72 74 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 portedLinkTypes.as.$type.=>.$opt
3fb00 73 29 20 7b 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 s).{.if.($links.=.$package->{'ge
3fb20 74 27 2e 75 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 t'.ucfirst($opts['method'])}()).
3fb40 7b 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 64 {.foreach.($links.as.$link).{.$d
3fb60 61 74 61 5b 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 ata[$type][$link->getTarget()].=
3fb80 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 3b 0a 7d .$link->getPrettyConstraint();.}
3fba0 0a 6b 73 6f 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 .ksort($data[$type]);.}.}..if.($
3fbc0 70 61 63 6b 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 packages.=.$package->getSuggests
3fbe0 28 29 29 20 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 ()).{.ksort($packages);.$data['s
3fc00 75 67 67 65 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 uggest'].=.$packages;.}..if.($pa
3fc20 63 6b 61 67 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 ckage->getReleaseDate()).{.$data
3fc40 5b 27 74 69 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 ['time'].=.$package->getReleaseD
3fc60 61 74 65 28 29 2d 3e 66 6f 72 6d 61 74 28 27 59 2d 6d 2d 64 20 48 3a 69 3a 73 27 29 3b 0a 7d 0a ate()->format('Y-m-d.H:i:s');.}.
3fc80 0a 24 64 61 74 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 .$data.=.$this->dumpValues($pack
3fca0 61 67 65 2c 20 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 age,.$keys,.$data);..if.($packag
3fcc0 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 49 6e 74 65 e.instanceof.CompletePackageInte
3fce0 72 66 61 63 65 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 rface).{.$keys.=.array(.'scripts
3fd00 27 2c 0a 27 6c 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 ',.'license',.'authors',.'descri
3fd20 70 74 69 6f 6e 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 ption',.'homepage',.'keywords',.
3fd40 27 72 65 70 6f 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 'repositories',.'support',.);..$
3fd60 64 61 74 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 data.=.$this->dumpValues($packag
3fd80 65 2c 20 24 6b 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 e,.$keys,.$data);..if.(isset($da
3fda0 74 61 5b 27 6b 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 ta['keywords']).&&.is_array($dat
3fdc0 61 5b 27 6b 65 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 a['keywords'])).{.sort($data['ke
3fde0 79 77 6f 72 64 73 27 5d 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 ywords']);.}.}..if.($package.ins
3fe00 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 0a tanceof.RootPackageInterface).{.
3fe20 24 6d 69 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 $minimumStability.=.$package->ge
3fe40 74 4d 69 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 tMinimumStability();.if.($minimu
3fe60 6d 53 74 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 mStability).{.$data['minimum-sta
3fe80 62 69 6c 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 bility'].=.$minimumStability;.}.
3fea0 7d 0a 0a 72 65 74 75 72 6e 20 24 64 61 74 61 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 }..return.$data;.}..private.func
3fec0 74 69 6f 6e 20 64 75 6d 70 56 61 6c 75 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 tion.dumpValues(PackageInterface
3fee0 20 24 70 61 63 6b 61 67 65 2c 20 61 72 72 61 79 20 24 6b 65 79 73 2c 20 61 72 72 61 79 20 24 64 .$package,.array.$keys,.array.$d
3ff00 61 74 61 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 6b 65 79 73 20 61 73 20 24 6d 65 74 68 6f 64 ata).{.foreach.($keys.as.$method
3ff20 20 3d 3e 20 24 6b 65 79 29 20 7b 0a 69 66 20 28 69 73 5f 6e 75 6d 65 72 69 63 28 24 6d 65 74 68 .=>.$key).{.if.(is_numeric($meth
3ff40 6f 64 29 29 20 7b 0a 24 6d 65 74 68 6f 64 20 3d 20 24 6b 65 79 3b 0a 7d 0a 0a 24 67 65 74 74 65 od)).{.$method.=.$key;.}..$gette
3ff60 72 20 3d 20 27 67 65 74 27 2e 75 63 66 69 72 73 74 28 24 6d 65 74 68 6f 64 29 3b 0a 24 76 61 6c r.=.'get'.ucfirst($method);.$val
3ff80 75 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 24 67 65 74 74 65 72 28 29 3b 0a 0a 69 66 20 28 6e ue.=.$package->$getter();..if.(n
3ffa0 75 6c 6c 20 21 3d 3d 20 24 76 61 6c 75 65 20 26 26 20 21 28 69 73 5f 61 72 72 61 79 28 24 76 61 ull.!==.$value.&&.!(is_array($va
3ffc0 6c 75 65 29 20 26 26 20 30 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 76 61 6c 75 65 29 29 29 20 7b 0a lue).&&.0.===.count($value))).{.
3ffe0 24 64 61 74 61 5b 24 6b 65 79 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 $data[$key].=.$value;.}.}..retur
40000 6e 20 24 64 61 74 61 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.$data;.}.}.<?php............na
40020 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 3b mespace.Composer\Package\Loader;
40040 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 76 61 6c 69 64 50 61 63 6b 61 67 65 45 78 63 65 70 74 69 .....class.InvalidPackageExcepti
40060 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 69 76 61 74 65 20 on.extends.\Exception.{.private.
40080 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 3b 0a 70 72 69 76 $errors;.private.$warnings;.priv
400a0 61 74 65 20 24 64 61 74 61 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f ate.$data;..public.function.__co
400c0 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 65 72 72 6f 72 73 2c 20 61 72 72 61 79 20 24 77 61 nstruct(array.$errors,.array.$wa
400e0 72 6e 69 6e 67 73 2c 20 61 72 72 61 79 20 24 64 61 74 61 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 72 rnings,.array.$data).{.$this->er
40100 72 6f 72 73 20 3d 20 24 65 72 72 6f 72 73 3b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 20 rors.=.$errors;.$this->warnings.
40120 3d 20 24 77 61 72 6e 69 6e 67 73 3b 0a 24 74 68 69 73 2d 3e 64 61 74 61 20 3d 20 24 64 61 74 61 =.$warnings;.$this->data.=.$data
40140 3b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 22 49 6e 76 61 6c 69 64 20 70 ;.parent::__construct("Invalid.p
40160 61 63 6b 61 67 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 3a 20 5c 6e 22 2e 69 6d 70 6c 6f 64 65 28 ackage.information:.\n".implode(
40180 22 5c 6e 22 2c 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 65 72 72 6f 72 73 2c 20 24 77 61 72 6e "\n",.array_merge($errors,.$warn
401a0 69 6e 67 73 29 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 44 ings)));.}..public.function.getD
401c0 61 74 61 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 61 74 61 3b 0a 7d 0a 0a 70 ata().{.return.$this->data;.}..p
401e0 75 62 6c 69 63 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 ublic.function.getErrors().{.ret
40200 75 72 6e 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e urn.$this->errors;.}..public.fun
40220 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 75 72 6e 20 24 74 68 ction.getWarnings().{.return.$th
40240 69 73 2d 3e 77 61 72 6e 69 6e 67 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a is->warnings;.}.}.<?php.........
40260 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 5c 4c 6f ...namespace.Composer\Package\Lo
40280 61 64 65 72 3b 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 ader;..use.Composer\Json\JsonFil
402a0 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4a 73 6f 6e 4c 6f 61 64 65 72 0a 7b 0a 70 72 69 76 61 74 e;.....class.JsonLoader.{.privat
402c0 65 20 24 6c 6f 61 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 e.$loader;..public.function.__co
402e0 6e 73 74 72 75 63 74 28 4c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 61 64 65 72 29 nstruct(LoaderInterface.$loader)
40300 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 20 3d 20 24 6c 6f 61 64 65 72 3b 0a 7d 0a 0a 0a .{.$this->loader.=.$loader;.}...
40320 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 28 24 6a 73 6f 6e 29 0a 7b ...public.function.load($json).{
40340 0a 69 66 20 28 24 6a 73 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 4a 73 6f 6e 46 69 6c 65 29 20 .if.($json.instanceof.JsonFile).
40360 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 24 6a 73 6f 6e 2d 3e 72 65 61 64 28 29 3b 0a 7d 20 65 6c 73 {.$config.=.$json->read();.}.els
40380 65 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 6a 73 6f 6e 29 29 20 7b 0a 24 63 6f 6e 66 eif.(file_exists($json)).{.$conf
403a0 69 67 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 66 69 6c 65 5f 67 65 ig.=.JsonFile::parseJson(file_ge
403c0 74 5f 63 6f 6e 74 65 6e 74 73 28 24 6a 73 6f 6e 29 2c 20 24 6a 73 6f 6e 29 3b 0a 7d 20 65 6c 73 t_contents($json),.$json);.}.els
403e0 65 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 6a 73 6f 6e 29 29 20 7b 0a 24 63 6f 6e 66 69 67 eif.(is_string($json)).{.$config
40400 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 6e 29 3b 0a 7d .=.JsonFile::parseJson($json);.}
40420 0a 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 61 64 28 24 63 6f ..return.$this->loader->load($co
40440 6e 66 69 67 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 nfig);.}.}.<?php............name
40460 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 0a space.Composer\Package\Loader;..
40480 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 4c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 0a 7b .....interface.LoaderInterface.{
404a0 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 64 28 61 72 72 ........public.function.load(arr
404c0 61 79 20 24 70 61 63 6b 61 67 65 2c 20 24 63 6c 61 73 73 20 3d 20 27 43 6f 6d 70 6f 73 65 72 5c ay.$package,.$class.=.'Composer\
404e0 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 7d 0a 3c 3f 70 Package\CompletePackage');.}.<?p
40500 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
40520 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 5c 50 \Package\Loader;..use.Composer\P
40540 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 41 6c 69 ackage;.use.Composer\Package\Ali
40560 61 73 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 5c asPackage;.use.Composer\Package\
40580 52 6f 6f 74 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 50 RootAliasPackage;.use.Composer\P
405a0 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 75 73 65 ackage\RootPackageInterface;.use
405c0 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
405e0 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 6f 61 64 65 72 20 nParser;......class.ArrayLoader.
40600 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 0a 7b 0a 70 72 6f implements.LoaderInterface.{.pro
40620 74 65 63 74 65 64 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 0a 70 75 62 6c 69 63 20 66 tected.$versionParser;..public.f
40640 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 56 65 72 73 69 6f 6e 50 61 72 73 65 unction.__construct(VersionParse
40660 72 20 24 70 61 72 73 65 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 21 24 70 61 72 73 65 72 r.$parser.=.null).{.if.(!$parser
40680 29 20 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;
406a0 0a 7d 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 61 72 73 65 .}.$this->versionParser.=.$parse
406c0 72 3b 0a 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 r;.}..public.function.load(array
406e0 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 73 65 72 5c 50 61 63 .$config,.$class.=.'Composer\Pac
40700 6b 61 67 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 kage\CompletePackage').{.if.(!is
40720 73 65 74 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 set($config['name'])).{.throw.ne
40740 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 55 6e 6b w.\UnexpectedValueException('Unk
40760 6e 6f 77 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 nown.package.has.no.name.defined
40780 20 28 27 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 .('.json_encode($config).').');.
407a0 7d 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 69 6f 6e 27 5d 29 }.if.(!isset($config['version'])
407c0 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 45 78 ).{.throw.new.\UnexpectedValueEx
407e0 63 65 70 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 ception('Package.'.$config['name
40800 27 5d 2e 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 '].'.has.no.version.defined.');.
40820 7d 0a 0a 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 }....if.(isset($config['version_
40840 6e 6f 72 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 normalized'])).{.$version.=.$con
40860 66 69 67 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 fig['version_normalized'];.}.els
40880 65 20 7b 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 e.{.$version.=.$this->versionPar
408a0 73 65 72 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 ser->normalize($config['version'
408c0 5d 29 3b 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 ]);.}.$package.=.new.$class($con
408e0 66 69 67 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 fig['name'],.$version,.$config['
40900 76 65 72 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 version']);.$package->setType(is
40920 73 65 74 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 set($config['type']).?.strtolowe
40940 72 28 24 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 r($config['type']).:.'library');
40960 0a 0a 69 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 ..if.(isset($config['target-dir'
40980 5d 29 29 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 ])).{.$package->setTargetDir($co
409a0 6e 66 69 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 nfig['target-dir']);.}..if.(isse
409c0 74 28 24 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 t($config['extra']).&&.is_array(
409e0 24 63 6f 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 $config['extra'])).{.$package->s
40a00 65 74 45 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 etExtra($config['extra']);.}..if
40a20 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 62 69 6e 27 5d 29 29 20 7b 0a 69 66 20 28 21 .(isset($config['bin'])).{.if.(!
40a40 69 73 5f 61 72 72 61 79 28 24 63 6f 6e 66 69 67 5b 27 62 69 6e 27 5d 29 29 20 7b 0a 74 68 72 6f is_array($config['bin'])).{.thro
40a60 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(
40a80 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 27 5c 27 73 20 'Package.'.$config['name'].'\'s.
40aa0 62 69 6e 20 6b 65 79 20 73 68 6f 75 6c 64 20 62 65 20 61 6e 20 61 72 72 61 79 2c 20 27 2e 67 65 bin.key.should.be.an.array,.'.ge
40ac0 74 74 79 70 65 28 24 63 6f 6e 66 69 67 5b 27 62 69 6e 27 5d 29 2e 27 20 67 69 76 65 6e 2e 27 29 ttype($config['bin']).'.given.')
40ae0 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 66 69 67 5b 27 62 69 6e 27 5d 20 61 73 20 24 ;.}.foreach.($config['bin'].as.$
40b00 6b 65 79 20 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 key.=>.$bin).{.$config['bin'][$k
40b20 65 79 5d 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 ey]=.ltrim($bin,.'/');.}.$packag
40b40 65 2d 3e 73 65 74 42 69 6e 61 72 69 65 73 28 24 63 6f 6e 66 69 67 5b 27 62 69 6e 27 5d 29 3b 0a e->setBinaries($config['bin']);.
40b60 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 6c 6c 61 74 69 }..if.(isset($config['installati
40b80 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 65 74 49 6e 73 on-source'])).{.$package->setIns
40ba0 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 73 74 61 6c 6c tallationSource($config['install
40bc0 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 65 74 28 24 63 ation-source']);.}..if.(isset($c
40be0 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 73 65 74 28 24 onfig['source'])).{.if.(!isset($
40c00 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 7c 20 21 69 73 config['source']['type']).||.!is
40c20 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 5d 29 20 7c 7c set($config['source']['url']).||
40c40 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 72 65 66 65 72 .!isset($config['source']['refer
40c60 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 65 63 74 65 64 ence'])).{.throw.new.\Unexpected
40c80 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 63 6b 61 67 65 ValueException(sprintf(."Package
40ca0 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 73 70 65 63 69 .%s's.source.key.should.be.speci
40cc0 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 72 6c 5c 22 3a fied.as.{\"type\":....,.\"url\":
40ce0 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 6e 25 73 20 67 ....,.\"reference\":....},\n%s.g
40d00 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 6f 6e 5f 65 6e iven.",.$config['name'],.json_en
40d20 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 0a 7d 0a 24 70 code($config['source']).));.}.$p
40d40 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 69 67 5b 27 73 ackage->setSourceType($config['s
40d60 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 3e 73 65 74 53 ource']['type']);.$package->setS
40d80 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 27 75 72 6c 27 ourceUrl($config['source']['url'
40da0 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 72 65 6e 63 65 ]);.$package->setSourceReference
40dc0 28 24 63 6f 6e 66 69 67 5b 27 73 6f 75 72 63 65 27 5d 5b 27 72 65 66 65 72 65 6e 63 65 27 5d 29 ($config['source']['reference'])
40de0 3b 0a 7d 0a 0a 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 ;.}..if.(isset($config['dist']))
40e00 20 7b 0a 69 66 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 .{.if.(!isset($config['dist']['t
40e20 79 70 65 27 5d 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 ype']).||.!isset($config['dist']
40e40 5b 27 75 72 6c 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 ['url'])).{.throw.new.\Unexpecte
40e60 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 63 6b 61 67 dValueException(sprintf(."Packag
40e80 65 20 25 73 27 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 e.%s's.dist.key.should.be.specif
40ea0 69 65 64 20 61 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 ied.as.".."{\"type\":....,.\"url
40ec0 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 2c 20 5c 22 73 \":....,.\"reference\":....,.\"s
40ee0 68 61 73 75 6d 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 hasum\":....},\n%s.given.",.$con
40f00 66 69 67 5b 27 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 fig['name'],.json_encode($config
40f20 5b 27 64 69 73 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 ['dist']).));.}.$package->setDis
40f40 74 54 79 70 65 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 tType($config['dist']['type']);.
40f60 24 70 61 63 6b 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 $package->setDistUrl($config['di
40f80 73 74 27 5d 5b 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 st']['url']);.$package->setDistR
40fa0 65 66 65 72 65 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 eference(isset($config['dist']['
40fc0 72 65 66 65 72 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 reference']).?.$config['dist']['
40fe0 72 65 66 65 72 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 reference'].:.null);.$package->s
41000 65 74 44 69 73 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 etDistSha1Checksum(isset($config
41020 5b 27 64 69 73 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 ['dist']['shasum']).?.$config['d
41040 69 73 74 27 5d 5b 27 73 68 61 73 75 6d 27 5d 20 3a 20 6e 75 6c 6c 29 3b 0a 7d 0a 0a 66 6f 72 65 ist']['shasum'].:.null);.}..fore
41060 61 63 68 20 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 ach.(Package\BasePackage::$suppo
41080 72 74 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 rtedLinkTypes.as.$type.=>.$opts)
410a0 20 7b 0a 69 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 .{.if.(isset($config[$type])).{.
410c0 24 6d 65 74 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 $method.=.'set'.ucfirst($opts['m
410e0 65 74 68 6f 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 ethod']);.$package->{$method}(.$
41100 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 4c 69 6e 6b 73 28 this->versionParser->parseLinks(
41120 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 3e .$package->getName(),.$package->
41140 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 0a 24 6f 70 74 73 5b 27 64 65 73 63 72 getPrettyVersion(),.$opts['descr
41160 69 70 74 69 6f 6e 27 5d 2c 0a 24 63 6f 6e 66 69 67 5b 24 74 79 70 65 5d 0a 29 0a 29 3b 0a 7d 0a iption'],.$config[$type].).);.}.
41180 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 73 75 67 67 65 73 74 27 5d 29 }..if.(isset($config['suggest'])
411a0 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 63 6f 6e 66 69 67 5b 27 73 75 67 67 65 73 74 27 5d 29 .&&.is_array($config['suggest'])
411c0 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 66 69 67 5b 27 73 75 67 67 65 73 74 27 5d 20 ).{.foreach.($config['suggest'].
411e0 61 73 20 24 74 61 72 67 65 74 20 3d 3e 20 24 72 65 61 73 6f 6e 29 20 7b 0a 69 66 20 28 27 73 65 as.$target.=>.$reason).{.if.('se
41200 6c 66 2e 76 65 72 73 69 6f 6e 27 20 3d 3d 3d 20 74 72 69 6d 28 24 72 65 61 73 6f 6e 29 29 20 7b lf.version'.===.trim($reason)).{
41220 0a 24 63 6f 6e 66 69 67 5b 27 73 75 67 67 65 73 74 27 5d 5b 24 74 61 72 67 65 74 5d 20 3d 20 24 .$config['suggest'][$target].=.$
41240 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 0a 7d package->getPrettyVersion();.}.}
41260 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 53 75 67 67 65 73 74 73 28 24 63 6f 6e 66 69 67 5b 27 .$package->setSuggests($config['
41280 73 75 67 67 65 73 74 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 suggest']);.}..if.(isset($config
412a0 5b 27 61 75 74 6f 6c 6f 61 64 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 41 75 ['autoload'])).{.$package->setAu
412c0 74 6f 6c 6f 61 64 28 24 63 6f 6e 66 69 67 5b 27 61 75 74 6f 6c 6f 61 64 27 5d 29 3b 0a 7d 0a 0a toload($config['autoload']);.}..
412e0 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 69 6e 63 6c 75 64 65 2d 70 61 74 68 27 if.(isset($config['include-path'
41300 5d 29 29 20 7b 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 28 ])).{.$package->setIncludePaths(
41320 24 63 6f 6e 66 69 67 5b 27 69 6e 63 6c 75 64 65 2d 70 61 74 68 27 5d 29 3b 0a 7d 0a 0a 69 66 20 $config['include-path']);.}..if.
41340 28 21 65 6d 70 74 79 28 24 63 6f 6e 66 69 67 5b 27 74 69 6d 65 27 5d 29 29 20 7b 0a 24 74 69 6d (!empty($config['time'])).{.$tim
41360 65 20 3d 20 63 74 79 70 65 5f 64 69 67 69 74 28 24 63 6f 6e 66 69 67 5b 27 74 69 6d 65 27 5d 29 e.=.ctype_digit($config['time'])
41380 20 3f 20 27 40 27 2e 24 63 6f 6e 66 69 67 5b 27 74 69 6d 65 27 5d 20 3a 20 24 63 6f 6e 66 69 67 .?.'@'.$config['time'].:.$config
413a0 5b 27 74 69 6d 65 27 5d 3b 0a 0a 74 72 79 20 7b 0a 24 64 61 74 65 20 3d 20 6e 65 77 20 5c 44 61 ['time'];..try.{.$date.=.new.\Da
413c0 74 65 54 69 6d 65 28 24 74 69 6d 65 2c 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 5a 6f 6e 65 28 teTime($time,.new.\DateTimeZone(
413e0 27 55 54 43 27 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 6c 65 61 73 65 44 61 74 'UTC'));.$package->setReleaseDat
41400 65 28 24 64 61 74 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 65 e($date);.}.catch.(\Exception.$e
41420 29 20 7b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 6f 6e 66 69 67 5b 27 6e 6f 74 ).{.}.}..if.(!empty($config['not
41440 69 66 69 63 61 74 69 6f 6e 2d 75 72 6c 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 ification-url'])).{.$package->se
41460 74 4e 6f 74 69 66 69 63 61 74 69 6f 6e 55 72 6c 28 24 63 6f 6e 66 69 67 5b 27 6e 6f 74 69 66 69 tNotificationUrl($config['notifi
41480 63 61 74 69 6f 6e 2d 75 72 6c 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 6f cation-url']);.}..if.(!empty($co
414a0 6e 66 69 67 5b 27 61 72 63 68 69 76 65 27 5d 5b 27 65 78 63 6c 75 64 65 27 5d 29 29 20 7b 0a 24 nfig['archive']['exclude'])).{.$
414c0 70 61 63 6b 61 67 65 2d 3e 73 65 74 41 72 63 68 69 76 65 45 78 63 6c 75 64 65 73 28 24 63 6f 6e package->setArchiveExcludes($con
414e0 66 69 67 5b 27 61 72 63 68 69 76 65 27 5d 5b 27 65 78 63 6c 75 64 65 27 5d 29 3b 0a 7d 0a 0a 69 fig['archive']['exclude']);.}..i
41500 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 50 61 63 6b 61 67 65 5c 43 f.($package.instanceof.Package\C
41520 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 69 66 20 28 69 ompletePackageInterface).{.if.(i
41540 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 73 63 72 69 70 74 73 27 5d 29 20 26 26 20 69 73 5f 61 sset($config['scripts']).&&.is_a
41560 72 72 61 79 28 24 63 6f 6e 66 69 67 5b 27 73 63 72 69 70 74 73 27 5d 29 29 20 7b 0a 66 6f 72 65 rray($config['scripts'])).{.fore
41580 61 63 68 20 28 24 63 6f 6e 66 69 67 5b 27 73 63 72 69 70 74 73 27 5d 20 61 73 20 24 65 76 65 6e ach.($config['scripts'].as.$even
415a0 74 20 3d 3e 20 24 6c 69 73 74 65 6e 65 72 73 29 20 7b 0a 24 63 6f 6e 66 69 67 5b 27 73 63 72 69 t.=>.$listeners).{.$config['scri
415c0 70 74 73 27 5d 5b 24 65 76 65 6e 74 5d 20 3d 20 28 61 72 72 61 79 29 20 24 6c 69 73 74 65 6e 65 pts'][$event].=.(array).$listene
415e0 72 73 3b 0a 7d 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 rs;.}.$package->setScripts($conf
41600 69 67 5b 27 73 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 ig['scripts']);.}..if.(!empty($c
41620 6f 6e 66 69 67 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 onfig['description']).&&.is_stri
41640 6e 67 28 24 63 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 ng($config['description'])).{.$p
41660 61 63 6b 61 67 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 ackage->setDescription($config['
41680 64 65 73 63 72 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 description']);.}..if.(!empty($c
416a0 6f 6e 66 69 67 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 onfig['homepage']).&&.is_string(
416c0 24 63 6f 6e 66 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 $config['homepage'])).{.$package
416e0 2d 3e 73 65 74 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 ->setHomepage($config['homepage'
41700 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 6b 65 79 77 6f ]);.}..if.(!empty($config['keywo
41720 72 64 73 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 6b 65 79 77 rds']).&&.is_array($config['keyw
41740 6f 72 64 73 27 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 ords'])).{.$package->setKeywords
41760 28 24 63 6f 6e 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 ($config['keywords']);.}..if.(!e
41780 6d 70 74 79 28 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 mpty($config['license'])).{.$pac
417a0 6b 61 67 65 2d 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 kage->setLicense(is_array($confi
417c0 67 5b 27 6c 69 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 g['license']).?.$config['license
417e0 27 5d 20 3a 20 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 '].:.array($config['license']));
41800 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 75 74 68 6f 72 73 27 .}..if.(!empty($config['authors'
41820 5d 29 20 26 26 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 ]).&&.is_array($config['authors'
41840 5d 29 29 20 7b 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 ])).{.$package->setAuthors($conf
41860 69 67 5b 27 61 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 ig['authors']);.}..if.(isset($co
41880 6e 66 69 67 5b 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 nfig['support'])).{.$package->se
418a0 74 53 75 70 70 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 tSupport($config['support']);.}.
418c0 7d 0a 0a 69 66 20 28 24 61 6c 69 61 73 4e 6f 72 6d 61 6c 69 7a 65 64 20 3d 20 24 74 68 69 73 2d }..if.($aliasNormalized.=.$this-
418e0 3e 67 65 74 42 72 61 6e 63 68 41 6c 69 61 73 28 24 63 6f 6e 66 69 67 29 29 20 7b 0a 69 66 20 28 >getBranchAlias($config)).{.if.(
41900 24 70 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 $package.instanceof.RootPackageI
41920 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 6e 65 77 20 52 6f 6f 74 41 nterface).{.$package.=.new.RootA
41940 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 4e 6f 72 6d liasPackage($package,.$aliasNorm
41960 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 39 7b 37 7d 29 2b alized,.preg_replace('{(\.9{7})+
41980 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 29 29 3b 0a 7d 20 }',.'.x',.$aliasNormalized));.}.
419a0 65 6c 73 65 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 6e 65 77 20 41 6c 69 61 73 50 61 63 6b 61 else.{.$package.=.new.AliasPacka
419c0 67 65 28 24 70 61 63 6b 61 67 65 2c 20 24 61 6c 69 61 73 4e 6f 72 6d 61 6c 69 7a 65 64 2c 20 70 ge($package,.$aliasNormalized,.p
419e0 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 28 5c 2e 39 7b 37 7d 29 2b 7d 27 2c 20 27 2e 78 27 2c reg_replace('{(\.9{7})+}',.'.x',
41a00 20 24 61 6c 69 61 73 4e 6f 72 6d 61 6c 69 7a 65 64 29 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e .$aliasNormalized));.}.}..return
41a20 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 .$package;.}........public.funct
41a40 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 69 67 ion.getBranchAlias(array.$config
41a60 29 0a 7b 0a 69 66 20 28 27 64 65 76 2d 27 20 21 3d 3d 20 73 75 62 73 74 72 28 24 63 6f 6e 66 69 ).{.if.('dev-'.!==.substr($confi
41a80 67 5b 27 76 65 72 73 69 6f 6e 27 5d 2c 20 30 2c 20 34 29 0a 7c 7c 20 21 69 73 73 65 74 28 24 63 g['version'],.0,.4).||.!isset($c
41aa0 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']).
41ac0 7c 7c 20 21 69 73 5f 61 72 72 61 79 28 24 63 6f 6e 66 69 67 5b 27 65 78 74 72 61 27 5d 5b 27 62 ||.!is_array($config['extra']['b
41ae0 72 61 6e 63 68 2d 61 6c 69 61 73 27 5d 29 0a 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 66 6f ranch-alias']).).{.return;.}..fo
41b00 72 65 61 63 68 20 28 24 63 6f 6e 66 69 67 5b 27 65 78 74 72 61 27 5d 5b 27 62 72 61 6e 63 68 2d reach.($config['extra']['branch-
41b20 61 6c 69 61 73 27 5d 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 alias'].as.$sourceBranch.=>.$tar
41b40 67 65 74 42 72 61 6e 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 getBranch).{...if.('-dev'.!==.su
41b60 62 73 74 72 28 24 74 61 72 67 65 74 42 72 61 6e 63 68 2c 20 2d 34 29 29 20 7b 0a 63 6f 6e 74 69 bstr($targetBranch,.-4)).{.conti
41b80 6e 75 65 3b 0a 7d 0a 0a 0a 20 24 76 61 6c 69 64 61 74 65 64 54 61 72 67 65 74 42 72 61 6e 63 68 nue;.}....$validatedTargetBranch
41ba0 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
41bc0 7a 65 42 72 61 6e 63 68 28 73 75 62 73 74 72 28 24 74 61 72 67 65 74 42 72 61 6e 63 68 2c 20 30 zeBranch(substr($targetBranch,.0
41be0 2c 20 2d 34 29 29 3b 0a 69 66 20 28 27 2d 64 65 76 27 20 21 3d 3d 20 73 75 62 73 74 72 28 24 76 ,.-4));.if.('-dev'.!==.substr($v
41c00 61 6c 69 64 61 74 65 64 54 61 72 67 65 74 42 72 61 6e 63 68 2c 20 2d 34 29 29 20 7b 0a 63 6f 6e alidatedTargetBranch,.-4)).{.con
41c20 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 63 6f 6e 66 tinue;.}....if.(strtolower($conf
41c40 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 29 20 21 3d 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 73 ig['version']).!==.strtolower($s
41c60 6f 75 72 63 65 42 72 61 6e 63 68 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 72 65 74 ourceBranch)).{.continue;.}..ret
41c80 75 72 6e 20 24 76 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 urn.$validatedTargetBranch;.}.}.
41ca0 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
41cc0 70 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 poser\Package\Loader;..use.Compo
41ce0 73 65 72 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 67 ser\Package;.use.Composer\Packag
41d00 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 63 6b e\BasePackage;.use.Composer\Pack
41d20 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 0a 0a 0a 0a 63 age\Version\VersionParser;.....c
41d40 6c 61 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 lass.ValidatingArrayLoader.imple
41d60 6d 65 6e 74 73 20 4c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 61 74 65 20 ments.LoaderInterface.{.private.
41d80 24 6c 6f 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 $loader;.private.$versionParser;
41da0 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 24 77 61 72 6e 69 .private.$errors;.private.$warni
41dc0 6e 67 73 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 ngs;.private.$config;.private.$s
41de0 74 72 69 63 74 4e 61 6d 65 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f trictName;..public.function.__co
41e00 6e 73 74 72 75 63 74 28 4c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 61 64 65 72 2c nstruct(LoaderInterface.$loader,
41e20 20 24 73 74 72 69 63 74 4e 61 6d 65 20 3d 20 74 72 75 65 2c 20 56 65 72 73 69 6f 6e 50 61 72 73 .$strictName.=.true,.VersionPars
41e40 65 72 20 24 70 61 72 73 65 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 er.$parser.=.null).{.$this->load
41e60 65 72 20 3d 20 24 6c 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 er.=.$loader;.$this->versionPars
41e80 65 72 20 3d 20 24 70 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 er.=.$parser.?:.new.VersionParse
41ea0 72 28 29 3b 0a 24 74 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 r();.$this->strictName.=.$strict
41ec0 4e 61 6d 65 3b 0a 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 Name;.}..public.function.load(ar
41ee0 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 73 65 72 5c ray.$config,.$class.=.'Composer\
41f00 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 0a 7b 0a 24 74 68 69 Package\CompletePackage').{.$thi
41f20 73 2d 3e 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 77 61 72 6e s->errors.=.array();.$this->warn
41f40 69 6e 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 ings.=.array();.$this->config.=.
41f60 24 63 6f 6e 66 69 67 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 74 72 69 63 74 4e 61 6d 65 29 $config;..if.($this->strictName)
41f80 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 52 65 67 65 78 28 27 6e 61 6d 65 27 2c 20 .{.$this->validateRegex('name',.
41fa0 27 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 2f 5b 41 2d 5a '[A-Za-z0-9][A-Za-z0-9_.-]*/[A-Z
41fc0 61 2d 7a 30 2d 39 5d 5b 41 2d 5a 61 2d 7a 30 2d 39 5f 2e 2d 5d 2a 27 2c 20 74 72 75 65 29 3b 0a a-z0-9][A-Za-z0-9_.-]*',.true);.
41fe0 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 53 74 72 69 6e 67 28 27 }.else.{.$this->validateString('
42000 6e 61 6d 65 27 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 74 68 69 name',.true);.}..if.(!empty($thi
42020 73 2d 3e 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 7b 0a 74 72 79 20 7b 0a 24 s->config['version'])).{.try.{.$
42040 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 24 this->versionParser->normalize($
42060 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 20 63 61 74 63 this->config['version']);.}.catc
42080 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d h.(\Exception.$e).{.unset($this-
420a0 3e 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 29 3b 0a 24 74 68 69 73 2d 3e 65 72 72 6f >config['version']);.$this->erro
420c0 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 20 76 61 6c 75 65 20 rs[].=.'version.:.invalid.value.
420e0 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 27 5d 2e 27 29 3a 20 ('.$this->config['version'].'):.
42100 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e '.$e->getMessage();.}.}..$this->
42120 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-
42140 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
42160 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
42180 79 28 27 65 78 74 72 61 27 29 3b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 46 6c 61 74 41 y('extra');.$this->validateFlatA
421a0 72 72 61 79 28 27 62 69 6e 27 29 3b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 41 72 72 61 rray('bin');.$this->validateArra
421c0 79 28 27 73 63 72 69 70 74 73 27 29 3b 20 0a 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 53 y('scripts');...$this->validateS
421e0 74 72 69 6e 67 28 27 64 65 73 63 72 69 70 74 69 6f 6e 27 29 3b 0a 24 74 68 69 73 2d 3e 76 61 6c tring('description');.$this->val
42200 69 64 61 74 65 55 72 6c 28 27 68 6f 6d 65 70 61 67 65 27 29 3b 0a 24 74 68 69 73 2d 3e 76 61 6c idateUrl('homepage');.$this->val
42220 69 64 61 74 65 46 6c 61 74 41 72 72 61 79 28 27 6b 65 79 77 6f 72 64 73 27 2c 20 27 5b 41 2d 5a idateFlatArray('keywords',.'[A-Z
42240 61 2d 7a 30 2d 39 20 2e 5f 2d 5d 2b 27 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 a-z0-9.._-]+');..if.(isset($this
42260 2d 3e 63 6f 6e 66 69 67 5b 27 6c 69 63 65 6e 73 65 27 5d 29 29 20 7b 0a 69 66 20 28 69 73 5f 73 ->config['license'])).{.if.(is_s
42280 74 72 69 6e 67 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 6c 69 63 65 6e 73 65 27 5d 29 29 tring($this->config['license']))
422a0 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 52 65 67 65 78 28 27 6c 69 63 65 6e 73 65 .{.$this->validateRegex('license
422c0 27 2c 20 27 5b 41 2d 5a 61 2d 7a 30 2d 39 2b 2e 20 28 29 2d 5d 2b 27 29 3b 0a 7d 20 65 6c 73 65 ',.'[A-Za-z0-9+..()-]+');.}.else
422e0 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 46 6c 61 74 41 72 72 61 79 28 27 6c 69 63 .{.$this->validateFlatArray('lic
42300 65 6e 73 65 27 2c 20 27 5b 41 2d 5a 61 2d 7a 30 2d 39 2b 2e 20 28 29 2d 5d 2b 27 29 3b 0a 7d 0a ense',.'[A-Za-z0-9+..()-]+');.}.
42320 7d 0a 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 69 6d 65 27 29 }..$this->validateString('time')
42340 3b 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 74 69 6d 65 ;.if.(!empty($this->config['time
42360 27 5d 29 29 20 7b 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 69 '])).{.try.{.$date.=.new.\DateTi
42380 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 5c 44 me($this->config['time'],.new.\D
423a0 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 5c 45 ateTimeZone('UTC'));.}.catch.(\E
423c0 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 20 3d xception.$e).{.$this->errors[].=
423e0 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 73 2d .'time.:.invalid.value.('.$this-
42400 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 65 73 >config['time'].'):.'.$e->getMes
42420 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 69 6d sage();.unset($this->config['tim
42440 65 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 41 72 e']);.}.}..if.($this->validateAr
42460 72 61 79 28 27 61 75 74 68 6f 72 73 27 29 20 26 26 20 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e ray('authors').&&.!empty($this->
42480 63 6f 6e 66 69 67 5b 27 61 75 74 68 6f 72 73 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 config['authors'])).{.foreach.($
424a0 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 74 68 6f 72 73 27 5d 20 61 73 20 24 6b 65 79 20 this->config['authors'].as.$key.
424c0 3d 3e 20 24 61 75 74 68 6f 72 29 20 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 61 75 74 =>.$author).{.if.(!is_array($aut
424e0 68 6f 72 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 68 6f hor)).{.$this->errors[].=.'autho
42500 72 73 2e 27 2e 24 6b 65 79 2e 27 20 3a 20 73 68 6f 75 6c 64 20 62 65 20 61 6e 20 61 72 72 61 79 rs.'.$key.'.:.should.be.an.array
42520 2c 20 27 2e 67 65 74 74 79 70 65 28 24 61 75 74 68 6f 72 29 2e 27 20 67 69 76 65 6e 27 3b 0a 75 ,.'.gettype($author).'.given';.u
42540 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
42560 65 79 5d 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 ey]);.continue;.}.foreach.(array
42580 28 27 68 6f 6d 65 70 61 67 65 27 2c 20 27 65 6d 61 69 6c 27 2c 20 27 6e 61 6d 65 27 2c 20 27 72 ('homepage',.'email',.'name',.'r
425a0 6f 6c 65 27 29 20 61 73 20 24 61 75 74 68 6f 72 44 61 74 61 29 20 7b 0a 69 66 20 28 69 73 73 65 ole').as.$authorData).{.if.(isse
425c0 74 28 24 61 75 74 68 6f 72 5b 24 61 75 74 68 6f 72 44 61 74 61 5d 29 20 26 26 20 21 69 73 5f 73 t($author[$authorData]).&&.!is_s
425e0 74 72 69 6e 67 28 24 61 75 74 68 6f 72 5b 24 61 75 74 68 6f 72 44 61 74 61 5d 29 29 20 7b 0a 24 tring($author[$authorData])).{.$
42600 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 27 61 75 74 68 6f 72 73 2e 27 2e 24 6b 65 79 this->errors[].=.'authors.'.$key
42620 2e 27 2e 27 2e 24 61 75 74 68 6f 72 44 61 74 61 2e 27 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c .'.'.$authorData.'.:.invalid.val
42640 75 65 2c 20 6d 75 73 74 20 62 65 20 61 20 73 74 72 69 6e 67 27 3b 0a 75 6e 73 65 74 28 24 74 68 ue,.must.be.a.string';.unset($th
42660 69 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 5b 24 61 75 74 is->config['authors'][$key][$aut
42680 68 6f 72 44 61 74 61 5d 29 3b 0a 7d 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 61 75 74 68 6f 72 horData]);.}.}.if.(isset($author
426a0 5b 27 68 6f 6d 65 70 61 67 65 27 5d 29 20 26 26 20 21 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 55 ['homepage']).&&.!$this->filterU
426c0 72 6c 28 24 61 75 74 68 6f 72 5b 27 68 6f 6d 65 70 61 67 65 27 5d 29 29 20 7b 0a 24 74 68 69 73 rl($author['homepage'])).{.$this
426e0 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 27 61 75 74 68 6f 72 73 2e 27 2e 24 6b 65 79 2e 27 ->warnings[].=.'authors.'.$key.'
42700 2e 68 6f 6d 65 70 61 67 65 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 28 27 2e 24 61 75 .homepage.:.invalid.value.('.$au
42720 74 68 6f 72 5b 27 68 6f 6d 65 70 61 67 65 27 5d 2e 27 29 2c 20 6d 75 73 74 20 62 65 20 61 6e 20 thor['homepage'].'),.must.be.an.
42740 68 74 74 70 2f 68 74 74 70 73 20 55 52 4c 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f http/https.URL';.unset($this->co
42760 6e 66 69 67 5b 27 61 75 74 68 6f 72 73 27 5d 5b 24 6b 65 79 5d 5b 27 68 6f 6d 65 70 61 67 65 27 nfig['authors'][$key]['homepage'
42780 5d 29 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 61 75 74 68 6f 72 5b 27 65 6d 61 69 6c 27 5d ]);.}.if.(isset($author['email']
427a0 29 20 26 26 20 21 66 69 6c 74 65 72 5f 76 61 72 28 24 61 75 74 68 6f 72 5b 27 65 6d 61 69 6c 27 ).&&.!filter_var($author['email'
427c0 5d 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 45 4d 41 49 4c 29 29 20 7b 0a 24 74 68 ],.FILTER_VALIDATE_EMAIL)).{.$th
427e0 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 27 61 75 74 68 6f 72 73 2e 27 2e 24 6b 65 79 is->warnings[].=.'authors.'.$key
42800 2e 27 2e 65 6d 61 69 6c 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 28 27 2e 24 61 75 74 .'.email.:.invalid.value.('.$aut
42820 68 6f 72 5b 27 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 hor['email'].'),.must.be.a.valid
42840 20 65 6d 61 69 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 .email.address';.unset($this->co
42860 6e 66 69 67 5b 27 61 75 74 68 6f 72 73 27 5d 5b 24 6b 65 79 5d 5b 27 65 6d 61 69 6c 27 5d 29 3b nfig['authors'][$key]['email']);
42880 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 67 5b 27 61 75 74 68 .}.if.(empty($this->config['auth
428a0 6f 72 73 27 5d 5b 24 6b 65 79 5d 29 29 20 7b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e ors'][$key])).{.unset($this->con
428c0 66 69 67 5b 27 61 75 74 68 6f 72 73 27 5d 5b 24 6b 65 79 5d 29 3b 0a 7d 0a 7d 0a 69 66 20 28 65 fig['authors'][$key]);.}.}.if.(e
428e0 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 29 29 20 mpty($this->config['authors'])).
42900 7b 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 72 73 27 5d {.unset($this->config['authors']
42920 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 41 72 72 61 79 );.}.}..if.($this->validateArray
42940 28 27 73 75 70 70 6f 72 74 27 29 20 26 26 20 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e ('support').&&.!empty($this->con
42960 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 fig['support'])).{.foreach.(arra
42980 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 20 27 73 6f y('issues',.'forum',.'wiki',.'so
429a0 75 72 63 65 27 2c 20 27 65 6d 61 69 6c 27 2c 20 27 69 72 63 27 29 20 61 73 20 24 6b 65 79 29 20 urce',.'email',.'irc').as.$key).
429c0 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 75 70 70 6f {.if.(isset($this->config['suppo
429e0 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 24 74 68 69 73 2d rt'][$key]).&&.!is_string($this-
42a00 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 20 7b 0a 24 74 68 >config['support'][$key])).{.$th
42a20 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 24 6b 65 79 2e 27 is->errors[].=.'support.'.$key.'
42a40 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 69 .:.invalid.value,.must.be.a.stri
42a60 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 73 75 70 70 6f 72 ng';.unset($this->config['suppor
42a80 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 28 24 74 68 69 73 t'][$key]);.}.}..if.(isset($this
42aa0 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 27 5d 29 20 26 26 ->config['support']['email']).&&
42ac0 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 5b 27 73 75 70 70 .!filter_var($this->config['supp
42ae0 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 49 44 41 54 45 5f ort']['email'],.FILTER_VALIDATE_
42b00 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 27 73 EMAIL)).{.$this->warnings[].=.'s
42b20 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 75 65 20 28 27 2e upport.email.:.invalid.value.('.
42b40 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 27 $this->config['support']['email'
42b60 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 6c 20 61 64 64 72 ].'),.must.be.a.valid.email.addr
42b80 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 27 73 75 70 70 6f ess';.unset($this->config['suppo
42ba0 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 65 74 28 24 74 68 rt']['email']);.}..if.(isset($th
42bc0 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 29 20 26 26 is->config['support']['irc']).&&
42be0 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 63 6f 6e 66 69 67 .!$this->filterUrl($this->config
42c00 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 27 69 72 63 27 29 ['support']['irc'],.array('irc')
42c20 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 70 6f 72 )).{.$this->warnings[].=.'suppor
42c40 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 74 68 69 73 2d 3e t.irc.:.invalid.value.('.$this->
42c60 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 29 2c 20 6d 75 73 config['support']['irc'].'),.mus
42c80 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 6e 6e 65 6c 3e 20 t.be.a.irc://<server>/<channel>.
42ca0 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 27 73 75 70 70 6f URL';.unset($this->config['suppo
42cc0 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 61 72 72 61 79 28 rt']['irc']);.}..foreach.(array(
42ce0 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 20 27 73 6f 75 72 'issues',.'forum',.'wiki',.'sour
42d00 63 65 27 29 20 61 73 20 24 6b 65 79 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d ce').as.$key).{.if.(isset($this-
42d20 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 20 26 26 20 21 24 74 >config['support'][$key]).&&.!$t
42d40 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 27 73 75 his->filterUrl($this->config['su
42d60 70 70 6f 72 74 27 5d 5b 24 6b 65 79 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 pport'][$key])).{.$this->warning
42d80 73 5b 5d 20 3d 20 27 73 75 70 70 6f 72 74 2e 27 2e 24 6b 65 79 2e 27 20 3a 20 69 6e 76 61 6c 69 s[].=.'support.'.$key.'.:.invali
42da0 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 73 75 70 70 6f 72 d.value.('.$this->config['suppor
42dc0 74 27 5d 5b 24 6b 65 79 5d 2e 27 29 2c 20 6d 75 73 74 20 62 65 20 61 6e 20 68 74 74 70 2f 68 74 t'][$key].'),.must.be.an.http/ht
42de0 74 70 73 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 27 73 tps.URL';.unset($this->config['s
42e00 75 70 70 6f 72 74 27 5d 5b 24 6b 65 79 5d 29 3b 0a 7d 0a 7d 0a 69 66 20 28 65 6d 70 74 79 28 24 upport'][$key]);.}.}.if.(empty($
42e20 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 7b 0a 75 6e 73 65 this->config['support'])).{.unse
42e40 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 29 3b 0a 7d 0a 7d t($this->config['support']);.}.}
42e60 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 61 67 ..foreach.(array_keys(BasePackag
42e80 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 6e 6b e::$supportedLinkTypes).as.$link
42ea0 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 61 79 Type).{.if.($this->validateArray
42ec0 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 6e 66 ($linkType).&&.isset($this->conf
42ee0 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 69 73 ig[$linkType])).{.foreach.($this
42f00 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 65 20 ->config[$linkType].as.$package.
42f20 3d 3e 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 =>.$constraint).{.if.(!preg_matc
42f40 68 28 27 7b 5e 5b 41 2d 5a 61 2d 7a 30 2d 39 5f 2e 2f 2d 5d 2b 24 7d 27 2c 20 24 70 61 63 6b 61 h('{^[A-Za-z0-9_./-]+$}',.$packa
42f60 67 65 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 24 6c 69 6e 6b ge)).{.$this->warnings[].=.$link
42f80 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 6b 65 Type.'.'.$package.'.:.invalid.ke
42fa0 79 2c 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 73 20 6d 75 73 74 20 62 65 20 73 74 72 69 6e 67 73 y,.package.names.must.be.strings
42fc0 20 63 6f 6e 74 61 69 6e 69 6e 67 20 6f 6e 6c 79 20 5b 41 2d 5a 61 2d 7a 30 2d 39 5f 2e 2f 2d 5d .containing.only.[A-Za-z0-9_./-]
42fe0 27 3b 0a 7d 0a 69 66 20 28 21 69 73 5f 73 74 72 69 6e 67 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 ';.}.if.(!is_string($constraint)
43000 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 54 79 70 65 2e ).{.$this->errors[].=.$linkType.
43020 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 61 6c 75 65 2c 20 '.'.$package.'.:.invalid.value,.
43040 6d 75 73 74 20 62 65 20 61 20 73 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 20 76 65 must.be.a.string.containing.a.ve
43060 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e rsion.constraint';.unset($this->
43080 63 6f 6e 66 69 67 5b 24 6c 69 6e 6b 54 79 70 65 5d 5b 24 70 61 63 6b 61 67 65 5d 29 3b 0a 7d 20 config[$linkType][$package]);.}.
430a0 65 6c 73 65 69 66 20 28 27 73 65 6c 66 2e 76 65 72 73 69 6f 6e 27 20 21 3d 3d 20 24 63 6f 6e 73 elseif.('self.version'.!==.$cons
430c0 74 72 61 69 6e 74 29 20 7b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 traint).{.try.{.$this->versionPa
430e0 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 72 61 69 rser->parseConstraints($constrai
43100 6e 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 20 7b 0a 24 nt);.}.catch.(\Exception.$e).{.$
43120 74 68 69 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 this->errors[].=.$linkType.'.'.$
43140 70 61 63 6b 61 67 65 2e 27 20 3a 20 69 6e 76 61 6c 69 64 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 package.'.:.invalid.version.cons
43160 74 72 61 69 6e 74 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 traint.('.$e->getMessage().')';.
43180 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6c 69 6e 6b 54 79 70 65 5d 5b 24 unset($this->config[$linkType][$
431a0 70 61 63 6b 61 67 65 5d 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d package]);.}.}.}.}.}..if.($this-
431c0 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 65 6d >validateArray('suggest').&&.!em
431e0 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 20 7b pty($this->config['suggest'])).{
43200 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 73 74 .foreach.($this->config['suggest
43220 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 29 20 '].as.$package.=>.$description).
43240 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 29 20 {.if.(!is_string($description)).
43260 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 2e 24 {.$this->errors[].=.'suggest.'.$
43280 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 74 20 package.'.:.invalid.value,.must.
432a0 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 20 70 be.a.string.describing.why.the.p
432c0 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 68 69 ackage.is.suggested';.unset($thi
432e0 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 29 3b s->config['suggest'][$package]);
43300 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 69 6e .}.}.}..if.($this->validateStrin
43320 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 74 79 g('minimum-stability').&&.!empty
43340 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 69 74 ($this->config['minimum-stabilit
43360 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 3a 3a y'])).{.if.(!isset(BasePackage::
43380 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 6e 69 $stabilities[$this->config['mini
433a0 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 72 6f mum-stability']])).{.$this->erro
433c0 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 76 61 rs[].=.'minimum-stability.:.inva
433e0 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 6e 69 lid.value.('.$this->config['mini
43400 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 65 20 mum-stability'].'),.must.be.one.
43420 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 42 61 of.'.implode(',.',.array_keys(Ba
43440 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 65 74 sePackage::$stabilities));.unset
43460 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 69 74 ($this->config['minimum-stabilit
43480 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 41 72 y']);.}.}..if.($this->validateAr
434a0 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 73 2d ray('autoload').&&.!empty($this-
434c0 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 20 3d >config['autoload'])).{.$types.=
434e0 20 61 72 72 61 79 28 27 70 73 72 2d 30 27 2c 20 27 63 6c 61 73 73 6d 61 70 27 2c 20 27 66 69 6c .array('psr-0',.'classmap',.'fil
43500 65 73 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 5b 27 61 75 es');.foreach.($this->config['au
43520 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 6e 66 69 67 toload'].as.$type.=>.$typeConfig
43540 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 70 65 73 29 ).{.if.(!in_array($type,.$types)
43560 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 6f 61 64 20 ).{.$this->errors[].=.'autoload.
43580 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 20 6d 75 73 :.invalid.value.('.$type.'),.mus
435a0 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 24 74 79 70 t.be.one.of.'.implode(',.',.$typ
435c0 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 74 6f 6c 6f es);.unset($this->config['autolo
435e0 61 64 27 5d 5b 24 74 79 70 65 5d 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 0a 0a 0a 20 0a 0a 24 74 68 ad'][$type]);.}.}.}..........$th
43600 69 73 2d 3e 76 61 6c 69 64 61 74 65 46 6c 61 74 41 72 72 61 79 28 27 69 6e 63 6c 75 64 65 2d 70 is->validateFlatArray('include-p
43620 61 74 68 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 ath');....if.(isset($this->confi
43640 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 29 20 7b 0a 69 g['extra']['branch-alias'])).{.i
43660 66 20 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 f.(!is_array($this->config['extr
43680 61 27 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 a']['branch-alias'])).{.$this->e
436a0 72 72 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 rrors[].=.'extra.branch-alias.:.
436c0 6d 75 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 must.be.an.array.of.versions.=>.
436e0 61 6c 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 aliases';.}.else.{.foreach.($thi
43700 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
43720 27 5d 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 '].as.$sourceBranch.=>.$targetBr
43740 61 6e 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 anch).{...if.('-dev'.!==.substr(
43760 24 74 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 $targetBranch,.-4)).{.$this->war
43780 6e 69 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 nings[].=.'extra.branch-alias.'.
437a0 24 73 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 $sourceBranch.'.:.the.target.bra
437c0 6e 63 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 nch.('.$targetBranch.').must.end
437e0 20 69 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 .in.-dev';.unset($this->config['
43800 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 75 72 63 65 42 extra']['branch-alias'][$sourceB
43820 72 61 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 ranch]);..continue;.}....$valida
43840 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 6f 6e tedTargetBranch.=.$this->version
43860 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 28 24 Parser->normalizeBranch(substr($
43880 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 65 76 targetBranch,.0,.-4));.if.('-dev
438a0 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 72 61 '.!==.substr($validatedTargetBra
438c0 6e 63 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 nch,.-4)).{.$this->warnings[].=.
438e0 27 65 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 'extra.branch-alias.'.$sourceBra
43900 6e 63 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 nch.'.:.the.target.branch.('.$ta
43920 72 67 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 rgetBranch.').must.be.a.parseabl
43940 65 20 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 e.number.like.2.0-dev';.unset($t
43960 68 69 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 his->config['extra']['branch-ali
43980 61 73 27 5d 5b 24 73 6f 75 72 63 65 42 72 61 6e 63 68 5d 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 69 as'][$sourceBranch]);.}.}.}.}..i
439a0 66 20 28 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e f.($this->errors).{.throw.new.In
439c0 76 61 6c 69 64 50 61 63 6b 61 67 65 45 78 63 65 70 74 69 6f 6e 28 24 74 68 69 73 2d 3e 65 72 72 validPackageException($this->err
439e0 6f 72 73 2c 20 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 2c 20 24 63 6f 6e 66 69 67 29 3b 0a ors,.$this->warnings,.$config);.
43a00 7d 0a 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 }..$package.=.$this->loader->loa
43a20 64 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 63 6c 61 73 73 29 3b 0a 24 74 68 69 73 2d d($this->config,.$class);.$this-
43a40 3e 63 6f 6e 66 69 67 20 3d 20 6e 75 6c 6c 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 >config.=.null;..return.$package
43a60 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
43a80 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 0a ().{.return.$this->warnings;.}..
43aa0 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 28 29 0a 7b 0a 72 65 public.function.getErrors().{.re
43ac0 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 turn.$this->errors;.}..private.f
43ae0 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 52 65 67 65 78 28 24 70 72 6f 70 65 72 74 79 2c unction.validateRegex($property,
43b00 20 24 72 65 67 65 78 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 .$regex,.$mandatory.=.false).{.i
43b20 66 20 28 21 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 53 74 72 69 6e 67 28 24 70 72 6f 70 65 f.(!$this->validateString($prope
43b40 72 74 79 2c 20 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 rty,.$mandatory)).{.return.false
43b60 3b 0a 7d 0a 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 27 2e 24 72 65 67 65 78 ;.}..if.(!preg_match('{^'.$regex
43b80 2e 27 24 7d 75 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d .'$}u',.$this->config[$property]
43ba0 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 24 70 72 6f 70 65 72 74 79 2e 27 20 3a 20 69 6e )).{.$message.=.$property.'.:.in
43bc0 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 24 70 72 valid.value.('.$this->config[$pr
43be0 6f 70 65 72 74 79 5d 2e 27 29 2c 20 6d 75 73 74 20 6d 61 74 63 68 20 27 2e 24 72 65 67 65 78 3b operty].'),.must.match.'.$regex;
43c00 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 72 72 6f 72 73 .if.($mandatory).{.$this->errors
43c20 5b 5d 20 3d 20 24 6d 65 73 73 61 67 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 77 [].=.$message;.}.else.{.$this->w
43c40 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 24 6d 65 73 73 61 67 65 3b 0a 7d 0a 75 6e 73 65 74 28 24 74 arnings[].=.$message;.}.unset($t
43c60 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 75 72 6e his->config[$property]);..return
43c80 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 69 76 61 .false;.}..return.true;.}..priva
43ca0 74 65 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 53 74 72 69 6e 67 28 24 70 72 6f 70 te.function.validateString($prop
43cc0 65 72 74 79 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 erty,.$mandatory.=.false).{.if.(
43ce0 69 73 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 20 isset($this->config[$property]).
43d00 26 26 20 21 69 73 5f 73 74 72 69 6e 67 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f &&.!is_string($this->config[$pro
43d20 70 65 72 74 79 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 24 70 72 perty])).{.$this->errors[].=.$pr
43d40 6f 70 65 72 74 79 2e 27 20 3a 20 73 68 6f 75 6c 64 20 62 65 20 61 20 73 74 72 69 6e 67 2c 20 27 operty.'.:.should.be.a.string,.'
43d60 2e 67 65 74 74 79 70 65 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 .gettype($this->config[$property
43d80 5d 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 67 ]).'.given';.unset($this->config
43da0 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;.}..
43dc0 69 66 20 28 21 69 73 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 if.(!isset($this->config[$proper
43de0 74 79 5d 29 20 7c 7c 20 74 72 69 6d 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 ty]).||.trim($this->config[$prop
43e00 65 72 74 79 5d 29 20 3d 3d 3d 20 27 27 29 20 7b 0a 69 66 20 28 24 6d 61 6e 64 61 74 6f 72 79 29 erty]).===.'').{.if.($mandatory)
43e20 20 7b 0a 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 .{.$this->errors[].=.$property.'
43e40 20 3a 20 6d 75 73 74 20 62 65 20 70 72 65 73 65 6e 74 27 3b 0a 7d 0a 75 6e 73 65 74 28 24 74 68 .:.must.be.present';.}.unset($th
43e60 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 75 72 6e 20 is->config[$property]);..return.
43e80 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 69 76 61 74 false;.}..return.true;.}..privat
43ea0 65 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 41 72 72 61 79 28 24 70 72 6f 70 65 72 e.function.validateArray($proper
43ec0 74 79 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 69 73 ty,.$mandatory.=.false).{.if.(is
43ee0 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 20 26 26 set($this->config[$property]).&&
43f00 20 21 69 73 5f 61 72 72 61 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 .!is_array($this->config[$proper
43f20 74 79 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 24 70 72 6f 70 65 ty])).{.$this->errors[].=.$prope
43f40 72 74 79 2e 27 20 3a 20 73 68 6f 75 6c 64 20 62 65 20 61 6e 20 61 72 72 61 79 2c 20 27 2e 67 65 rty.'.:.should.be.an.array,.'.ge
43f60 74 74 79 70 65 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 2e ttype($this->config[$property]).
43f80 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 67 5b 24 70 '.given';.unset($this->config[$p
43fa0 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 69 66 20 roperty]);..return.false;.}..if.
43fc0 28 21 69 73 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 (!isset($this->config[$property]
43fe0 29 20 7c 7c 20 21 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 ).||.!count($this->config[$prope
44000 72 74 79 5d 29 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 rty])).{.if.($mandatory).{.$this
44020 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 6d 75 73 74 20 ->errors[].=.$property.'.:.must.
44040 62 65 20 70 72 65 73 65 6e 74 20 61 6e 64 20 63 6f 6e 74 61 69 6e 20 61 74 20 6c 65 61 73 74 20 be.present.and.contain.at.least.
44060 6f 6e 65 20 65 6c 65 6d 65 6e 74 27 3b 0a 7d 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e one.element';.}.unset($this->con
44080 66 69 67 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 fig[$property]);..return.false;.
440a0 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 75 6e 63 74 }..return.true;.}..private.funct
440c0 69 6f 6e 20 76 61 6c 69 64 61 74 65 46 6c 61 74 41 72 72 61 79 28 24 70 72 6f 70 65 72 74 79 2c ion.validateFlatArray($property,
440e0 20 24 72 65 67 65 78 20 3d 20 6e 75 6c 6c 2c 20 24 6d 61 6e 64 61 74 6f 72 79 20 3d 20 66 61 6c .$regex.=.null,.$mandatory.=.fal
44100 73 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 41 72 72 61 79 28 se).{.if.(!$this->validateArray(
44120 24 70 72 6f 70 65 72 74 79 2c 20 24 6d 61 6e 64 61 74 6f 72 79 29 29 20 7b 0a 72 65 74 75 72 6e $property,.$mandatory)).{.return
44140 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 70 61 73 73 20 3d 20 74 72 75 65 3b 0a 66 6f 72 65 61 63 68 .false;.}..$pass.=.true;.foreach
44160 20 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 20 61 73 20 24 6b .($this->config[$property].as.$k
44180 65 79 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 21 69 73 5f 73 74 72 69 6e 67 28 24 ey.=>.$value).{.if.(!is_string($
441a0 76 61 6c 75 65 29 20 26 26 20 21 69 73 5f 6e 75 6d 65 72 69 63 28 24 76 61 6c 75 65 29 29 20 7b value).&&.!is_numeric($value)).{
441c0 0a 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 2e 27 .$this->errors[].=.$property.'.'
441e0 2e 24 6b 65 79 2e 27 20 3a 20 6d 75 73 74 20 62 65 20 61 20 73 74 72 69 6e 67 20 6f 72 20 69 6e .$key.'.:.must.be.a.string.or.in
44200 74 2c 20 27 2e 67 65 74 74 79 70 65 28 24 76 61 6c 75 65 29 2e 27 20 67 69 76 65 6e 27 3b 0a 75 t,.'.gettype($value).'.given';.u
44220 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 5b 24 6b nset($this->config[$property][$k
44240 65 79 5d 29 3b 0a 24 70 61 73 73 20 3d 20 66 61 6c 73 65 3b 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a ey]);.$pass.=.false;..continue;.
44260 7d 0a 0a 69 66 20 28 24 72 65 67 65 78 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e }..if.($regex.&&.!preg_match('{^
44280 27 2e 24 72 65 67 65 78 2e 27 24 7d 75 27 2c 20 24 76 61 6c 75 65 29 29 20 7b 0a 24 74 68 69 73 '.$regex.'$}u',.$value)).{.$this
442a0 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 24 70 72 6f 70 65 72 74 79 2e 27 2e 27 2e 24 6b 65 ->warnings[].=.$property.'.'.$ke
442c0 79 2e 27 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 28 27 2e 24 76 61 6c 75 65 2e 27 29 y.'.:.invalid.value.('.$value.')
442e0 2c 20 6d 75 73 74 20 6d 61 74 63 68 20 27 2e 24 72 65 67 65 78 3b 0a 75 6e 73 65 74 28 24 74 68 ,.must.match.'.$regex;.unset($th
44300 69 73 2d 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 is->config[$property][$key]);.$p
44320 61 73 73 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 73 73 3b 0a ass.=.false;.}.}..return.$pass;.
44340 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 65 55 72 6c 28 }..private.function.validateUrl(
44360 24 70 72 6f 70 65 72 74 79 2c 20 24 6d 61 6e 64 61 74 6f 72 79 20 3d 20 66 61 6c 73 65 29 0a 7b $property,.$mandatory.=.false).{
44380 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 53 74 72 69 6e 67 28 24 70 72 6f .if.(!$this->validateString($pro
443a0 70 65 72 74 79 2c 20 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 perty,.$mandatory)).{.return.fal
443c0 73 65 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 55 72 6c 28 24 74 68 se;.}..if.(!$this->filterUrl($th
443e0 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 69 73 2d is->config[$property])).{.$this-
44400 3e 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 24 70 72 6f 70 65 72 74 79 2e 27 20 3a 20 69 6e 76 61 >warnings[].=.$property.'.:.inva
44420 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 24 70 72 6f 70 lid.value.('.$this->config[$prop
44440 65 72 74 79 5d 2e 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 erty].'),.must.be.an.http/https.
44460 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 24 70 72 6f 70 65 URL';.unset($this->config[$prope
44480 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 65 74 75 72 6e 20 rty]);..return.false;.}..return.
444a0 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 66 69 6c 74 65 72 true;.}..private.function.filter
444c0 55 72 6c 28 24 76 61 6c 75 65 2c 20 61 72 72 61 79 20 24 73 63 68 65 6d 65 73 20 3d 20 61 72 72 Url($value,.array.$schemes.=.arr
444e0 61 79 28 27 68 74 74 70 27 2c 20 27 68 74 74 70 73 27 29 29 0a 7b 0a 69 66 20 28 24 76 61 6c 75 ay('http',.'https')).{.if.($valu
44500 65 20 3d 3d 3d 20 27 27 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 62 69 74 e.===.'').{.return.true;.}..$bit
44520 73 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 76 61 6c 75 65 29 3b 0a 69 66 20 28 65 6d 70 74 79 s.=.parse_url($value);.if.(empty
44540 28 24 62 69 74 73 5b 27 73 63 68 65 6d 65 27 5d 29 20 7c 7c 20 65 6d 70 74 79 28 24 62 69 74 73 ($bits['scheme']).||.empty($bits
44560 5b 27 68 6f 73 74 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 ['host'])).{.return.false;.}..if
44580 20 28 21 69 6e 5f 61 72 72 61 79 28 24 62 69 74 73 5b 27 73 63 68 65 6d 65 27 5d 2c 20 24 73 63 .(!in_array($bits['scheme'],.$sc
445a0 68 65 6d 65 73 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 hemes,.true)).{.return.false;.}.
445c0 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.........
445e0 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 5c 4c 6f ...namespace.Composer\Package\Lo
44600 61 64 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 42 61 73 65 ader;..use.Composer\Package\Base
44620 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 5c 41 6c Package;.use.Composer\Package\Al
44640 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 43 6f 6e 66 69 67 3b iasPackage;.use.Composer\Config;
44660 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
44680 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
446a0 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 65 70 6f 73 r;.use.Composer\Repository\Repos
446c0 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 70 6f 73 itoryManager;.use.Composer\Repos
446e0 69 74 6f 72 79 5c 56 63 73 5c 48 67 44 72 69 76 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 itory\Vcs\HgDriver;.use.Composer
44700 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 72 \IO\NullIO;.use.Composer\Util\Pr
44720 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
44740 5c 47 69 74 20 61 73 20 47 69 74 55 74 69 6c 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 \Git.as.GitUtil;.........class.R
44760 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 61 79 4c 6f ootPackageLoader.extends.ArrayLo
44780 61 64 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 6d 61 6e 61 67 65 72 3b 0a 70 72 69 76 61 74 65 ader.{.private.$manager;.private
447a0 20 24 63 6f 6e 66 69 67 3b 0a 70 72 69 76 61 74 65 20 24 70 72 6f 63 65 73 73 3b 0a 0a 70 75 62 .$config;.private.$process;..pub
447c0 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 70 6f 73 69 74 lic.function.__construct(Reposit
447e0 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 69 67 20 24 63 6f 6e oryManager.$manager,.Config.$con
44800 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 72 20 3d 20 6e 75 6c fig,.VersionParser.$parser.=.nul
44820 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 20 6e 75 l,.ProcessExecutor.$process.=.nu
44840 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 61 6e 61 67 65 72 20 3d 20 24 6d 61 6e 61 67 65 72 3b ll).{.$this->manager.=.$manager;
44860 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-
44880 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
448a0 73 73 45 78 65 63 75 74 6f 72 28 29 3b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 ssExecutor();.parent::__construc
448c0 74 28 24 70 61 72 73 65 72 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c t($parser);.}..public.function.l
448e0 6f 61 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 oad(array.$config,.$class.=.'Com
44900 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 27 29 0a 7b 0a 69 66 poser\Package\RootPackage').{.if
44920 20 28 21 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 6e 61 6d 65 27 5d 29 29 20 7b 0a 24 63 6f .(!isset($config['name'])).{.$co
44940 6e 66 69 67 5b 27 6e 61 6d 65 27 5d 20 3d 20 27 5f 5f 72 6f 6f 74 5f 5f 27 3b 0a 7d 0a 69 66 20 nfig['name'].=.'__root__';.}.if.
44960 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 0a 0a (!isset($config['version'])).{..
44980 20 69 66 20 28 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 49 .if.(getenv('COMPOSER_ROOT_VERSI
449a0 4f 4e 27 29 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f ON')).{.$version.=.getenv('COMPO
449c0 53 45 52 5f 52 4f 4f 54 5f 56 45 52 53 49 4f 4e 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 76 65 SER_ROOT_VERSION');.}.else.{.$ve
449e0 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 67 75 65 73 73 56 65 72 73 69 6f 6e 28 24 63 6f 6e rsion.=.$this->guessVersion($con
44a00 66 69 67 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 76 65 72 73 69 6f 6e 29 20 7b 0a 24 76 65 72 73 69 fig);.}..if.(!$version).{.$versi
44a20 6f 6e 20 3d 20 27 31 2e 30 2e 30 27 3b 0a 7d 0a 0a 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f on.=.'1.0.0';.}..$config['versio
44a40 6e 27 5d 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 24 72 65 61 6c 50 61 63 6b 61 67 65 20 n'].=.$version;.}..$realPackage.
44a60 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 6e 66 69 =.$package.=.parent::load($confi
44a80 67 2c 20 24 63 6c 61 73 73 29 3b 0a 0a 69 66 20 28 24 72 65 61 6c 50 61 63 6b 61 67 65 20 69 6e g,.$class);..if.($realPackage.in
44aa0 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 50 61 stanceof.AliasPackage).{.$realPa
44ac0 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 0a ckage.=.$package->getAliasOf();.
44ae0 7d 0a 0a 69 66 20 28 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 }..if.(isset($config['minimum-st
44b00 61 62 69 6c 69 74 79 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 ability'])).{.$realPackage->setM
44b20 69 6e 69 6d 75 6d 53 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 inimumStability(VersionParser::n
44b40 6f 72 6d 61 6c 69 7a 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 ormalizeStability($config['minim
44b60 75 6d 2d 73 74 61 62 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 um-stability']));.}..$aliases.=.
44b80 61 72 72 61 79 28 29 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 array();.$stabilityFlags.=.array
44ba0 28 29 3b 0a 24 72 65 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 ();.$references.=.array();.forea
44bc0 63 68 20 28 61 72 72 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 ch.(array('require',.'require-de
44be0 76 27 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 65 74 28 24 63 v').as.$linkType).{.if.(isset($c
44c00 6f 6e 66 69 67 5b 24 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 onfig[$linkType])).{.$linkInfo.=
44c20 20 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 6e 6b 54 79 70 65 .BasePackage::$supportedLinkType
44c40 73 5b 24 6c 69 6e 6b 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 s[$linkType];.$method.=.'get'.uc
44c60 66 69 72 73 74 28 24 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 first($linkInfo['method']);.$lin
44c80 6b 73 20 3d 20 61 72 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 ks.=.array();.foreach.($realPack
44ca0 61 67 65 2d 3e 24 6d 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 age->$method().as.$link).{.$link
44cc0 73 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 6e 6b 2d 3e 67 s[$link->getTarget()].=.$link->g
44ce0 65 74 43 6f 6e 73 74 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 etConstraint()->getPrettyString(
44d00 29 3b 0a 7d 0a 24 61 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 );.}.$aliases.=.$this->extractAl
44d20 69 61 73 65 73 28 24 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 iases($links,.$aliases);.$stabil
44d40 69 74 79 46 6c 61 67 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 ityFlags.=.$this->extractStabili
44d60 74 79 46 6c 61 67 73 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 tyFlags($links,.$stabilityFlags,
44d80 20 24 72 65 61 6c 50 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 .$realPackage->getMinimumStabili
44da0 74 79 28 29 29 3b 0a 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 ty());.$references.=.$this->extr
44dc0 61 63 74 52 65 66 65 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 actReferences($links,.$reference
44de0 73 29 3b 0a 7d 0a 7d 0a 0a 24 72 65 61 6c 50 61 63 6b 61 67 65 2d 3e 73 65 74 41 6c 69 61 73 65 s);.}.}..$realPackage->setAliase
44e00 73 28 24 61 6c 69 61 73 65 73 29 3b 0a 24 72 65 61 6c 50 61 63 6b 61 67 65 2d 3e 73 65 74 53 74 s($aliases);.$realPackage->setSt
44e20 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 67 73 29 3b 0a 24 abilityFlags($stabilityFlags);.$
44e40 72 65 61 6c 50 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 66 65 72 65 6e 63 65 73 28 24 72 65 66 65 realPackage->setReferences($refe
44e60 72 65 6e 63 65 73 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 70 72 65 rences);..if.(isset($config['pre
44e80 66 65 72 2d 73 74 61 62 6c 65 27 5d 29 29 20 7b 0a 24 72 65 61 6c 50 61 63 6b 61 67 65 2d 3e 73 fer-stable'])).{.$realPackage->s
44ea0 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 28 62 6f 6f 6c 29 20 24 63 6f 6e 66 69 67 5b 27 70 etPreferStable((bool).$config['p
44ec0 72 65 66 65 72 2d 73 74 61 62 6c 65 27 5d 29 3b 0a 7d 0a 0a 24 72 65 70 6f 73 20 3d 20 46 61 63 refer-stable']);.}..$repos.=.Fac
44ee0 74 6f 72 79 3a 3a 63 72 65 61 74 65 44 65 66 61 75 6c 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 tory::createDefaultRepositories(
44f00 6e 75 6c 6c 2c 20 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 null,.$this->config,.$this->mana
44f20 67 65 72 29 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 20 ger);.foreach.($repos.as.$repo).
44f40 7b 0a 24 74 68 69 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 {.$this->manager->addRepository(
44f60 24 72 65 70 6f 29 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 $repo);.}.$realPackage->setRepos
44f80 69 74 6f 72 69 65 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 itories($this->config->getReposi
44fa0 74 6f 72 69 65 73 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 tories());..return.$package;.}..
44fc0 70 72 69 76 61 74 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 private.function.extractAliases(
44fe0 61 72 72 61 79 20 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 array.$requires,.array.$aliases)
45000 0a 7b 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 .{.foreach.($requires.as.$reqNam
45020 65 20 3d 3e 20 24 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 e.=>.$reqVersion).{.if.(preg_mat
45040 63 68 28 27 7b 5e 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 ch('{^([^,\s#]+)(?:#[^.]+)?.+as.
45060 2b 28 5b 5e 2c 5c 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 +([^,\s]+)$}',.$reqVersion,.$mat
45080 63 68 29 29 20 7b 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 ch)).{.$aliases[].=.array(.'pack
450a0 61 67 65 27 20 3d 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 age'.=>.strtolower($reqName),.'v
450c0 65 72 73 69 6f 6e 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 ersion'.=>.$this->versionParser-
450e0 3e 6e 6f 72 6d 61 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 >normalize($match[1],.$reqVersio
45100 6e 29 2c 0a 27 61 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 n),.'alias'.=>.$match[2],.'alias
45120 5f 6e 6f 72 6d 61 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 _normalized'.=>.$this->versionPa
45140 72 73 65 72 2d 3e 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 rser->normalize($match[2],.$reqV
45160 65 72 73 69 6f 6e 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 ersion),.);.}.}..return.$aliases
45180 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 53 74 61 ;.}..private.function.extractSta
451a0 62 69 6c 69 74 79 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 bilityFlags(array.$requires,.arr
451c0 61 79 20 24 73 74 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 ay.$stabilityFlags,.$minimumStab
451e0 69 6c 69 74 79 29 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 ility).{.$stabilities.=.BasePack
45200 61 67 65 3a 3a 24 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 age::$stabilities;.$minimumStabi
45220 6c 69 74 79 20 3d 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 lity.=.$stabilities[$minimumStab
45240 69 6c 69 74 79 5d 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 ility];.foreach.($requires.as.$r
45260 65 71 4e 61 6d 65 20 3d 3e 20 24 72 65 71 56 65 72 73 69 6f 6e 29 20 7b 0a 0a 20 69 66 20 28 70 eqName.=>.$reqVersion).{...if.(p
45280 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 5e 2c 5c 73 5d 2a 3f 40 28 27 2e 69 6d 70 6c 6f 64 65 reg_match('{^[^,\s]*?@('.implode
452a0 28 27 7c 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 73 74 61 62 69 6c 69 74 69 65 73 29 29 2e ('|',.array_keys($stabilities)).
452c0 27 29 24 7d 69 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 0a ')$}i',.$reqVersion,.$match)).{.
452e0 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 3b 0a 24 73 $name.=.strtolower($reqName);.$s
45300 74 61 62 69 6c 69 74 79 20 3d 20 24 73 74 61 62 69 6c 69 74 69 65 73 5b 56 65 72 73 69 6f 6e 50 tability.=.$stabilities[VersionP
45320 61 72 73 65 72 3a 3a 6e 6f 72 6d 61 6c 69 7a 65 53 74 61 62 69 6c 69 74 79 28 24 6d 61 74 63 68 arser::normalizeStability($match
45340 5b 31 5d 29 5d 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 [1])];..if.(isset($stabilityFlag
45360 73 5b 24 6e 61 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 s[$name]).&&.$stabilityFlags[$na
45380 6d 65 5d 20 3e 20 24 73 74 61 62 69 6c 69 74 79 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a me].>.$stability).{.continue;.}.
453a0 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
453c0 69 74 79 3b 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 0a 20 24 72 65 71 56 65 72 73 69 ity;..continue;.}......$reqVersi
453e0 6f 6e 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 on.=.preg_replace('{^([^,\s@]+).
45400 61 73 20 2e 2b 24 7d 27 2c 20 27 24 31 27 2c 20 24 72 65 71 56 65 72 73 69 6f 6e 29 3b 0a 69 66 as..+$}',.'$1',.$reqVersion);.if
45420 20 28 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 .(preg_match('{^[^,\s@]+$}',.$re
45440 71 56 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 qVersion).&&.'stable'.!==.($stab
45460 69 6c 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 ilityName.=.VersionParser::parse
45480 53 74 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 Stability($reqVersion))).{.$name
454a0 20 3d 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 .=.strtolower($reqName);.$stabil
454c0 69 74 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 ity.=.$stabilities[$stabilityNam
454e0 65 5d 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 e];.if.((isset($stabilityFlags[$
45500 6e 61 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 name]).&&.$stabilityFlags[$name]
45520 20 3e 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 .>.$stability).||.($minimumStabi
45540 6c 69 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 lity.>.$stability)).{.continue;.
45560 7d 0a 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 }.$stabilityFlags[$name].=.$stab
45580 69 6c 69 74 79 3b 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 ility;.}.}..return.$stabilityFla
455a0 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
455c0 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
455e0 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
45600 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).{
45620 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('{^(
45640 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
45660 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@
45680 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,
456a0 20 24 6d 61 74 63 68 29 20 26 26 20 27 64 65 76 27 20 3d 3d 3d 20 28 24 73 74 61 62 69 6c 69 74 .$match).&&.'dev'.===.($stabilit
456c0 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 61 62 yName.=.VersionParser::parseStab
456e0 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 20 73 ility($reqVersion))).{.$name.=.s
45700 74 72 74 6f 6c 6f 77 65 72 28 24 72 65 71 4e 61 6d 65 29 3b 0a 24 72 65 66 65 72 65 6e 63 65 73 trtolower($reqName);.$references
45720 5b 24 6e 61 6d 65 5d 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e [$name].=.$match[1];.}.}..return
45740 20 24 72 65 66 65 72 65 6e 63 65 73 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f .$references;.}..private.functio
45760 6e 20 67 75 65 73 73 56 65 72 73 69 6f 6e 28 61 72 72 61 79 20 24 63 6f 6e 66 69 67 29 0a 7b 0a n.guessVersion(array.$config).{.
45780 69 66 20 28 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 if.(function_exists('proc_open')
457a0 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 67 75 65 73 73 47 69 74 56 65 ).{.$version.=.$this->guessGitVe
457c0 72 73 69 6f 6e 28 24 63 6f 6e 66 69 67 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 76 65 rsion($config);.if.(null.!==.$ve
457e0 72 73 69 6f 6e 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 72 65 74 rsion).{.return.$version;.}..ret
45800 75 72 6e 20 24 74 68 69 73 2d 3e 67 75 65 73 73 48 67 56 65 72 73 69 6f 6e 28 24 63 6f 6e 66 69 urn.$this->guessHgVersion($confi
45820 67 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 67 75 65 73 73 47 g);.}.}..private.function.guessG
45840 69 74 56 65 72 73 69 6f 6e 28 61 72 72 61 79 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 24 75 74 69 6c itVersion(array.$config).{.$util
45860 20 3d 20 6e 65 77 20 47 69 74 55 74 69 6c 3b 0a 24 75 74 69 6c 2d 3e 63 6c 65 61 6e 45 6e 76 28 .=.new.GitUtil;.$util->cleanEnv(
45880 29 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 73 2d 3e );....if.(0.===.$this->process->
458a0 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 72 20 2d execute('git.branch.--no-color.-
458c0 2d 6e 6f 2d 61 62 62 72 65 76 20 2d 76 27 2c 20 24 6f 75 74 70 75 74 29 29 20 7b 0a 24 62 72 61 -no-abbrev.-v',.$output)).{.$bra
458e0 6e 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 69 73 46 65 61 74 75 72 65 42 72 61 6e 63 nches.=.array();.$isFeatureBranc
45900 68 20 3d 20 66 61 6c 73 65 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 0a 0a 20 66 h.=.false;.$version.=.null;....f
45920 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
45940 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
45960 72 61 6e 63 68 20 26 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 ranch.&&.preg_match('{^(?:\*.).*
45980 28 5c 28 6e 6f 20 62 72 61 6e 63 68 5c 29 7c 5c 28 64 65 74 61 63 68 65 64 20 66 72 6f 6d 20 5b (\(no.branch\)|\(detached.from.[
459a0 61 2d 66 30 2d 39 5d 2b 5c 29 7c 5c 53 2b 29 20 2a 28 5b 61 2d 66 30 2d 39 5d 2b 29 20 2e 2a 24 a-f0-9]+\)|\S+).*([a-f0-9]+)..*$
459c0 7d 27 2c 20 24 62 72 61 6e 63 68 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 69 66 20 28 24 6d 61 74 }',.$branch,.$match)).{.if.($mat
459e0 63 68 5b 31 5d 20 3d 3d 3d 20 27 28 6e 6f 20 62 72 61 6e 63 68 29 27 20 7c 7c 20 73 75 62 73 74 ch[1].===.'(no.branch)'.||.subst
45a00 72 28 24 6d 61 74 63 68 5b 31 5d 2c 20 30 2c 20 31 30 29 20 3d 3d 3d 20 27 28 64 65 74 61 63 68 r($match[1],.0,.10).===.'(detach
45a20 65 64 20 27 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 27 64 65 76 2d 27 2e 24 6d 61 74 63 68 ed.').{.$version.=.'dev-'.$match
45a40 5b 32 5d 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 7d 20 [2];.$isFeatureBranch.=.true;.}.
45a60 65 6c 73 65 20 7b 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 else.{.$version.=.$this->version
45a80 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 6d 61 74 63 68 5b 31 Parser->normalizeBranch($match[1
45aa0 5d 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 3d 20 73 74 72 ]);.$isFeatureBranch.=.0.===.str
45ac0 70 6f 73 28 24 76 65 72 73 69 6f 6e 2c 20 27 64 65 76 2d 27 29 3b 0a 69 66 20 28 27 39 39 39 39 pos($version,.'dev-');.if.('9999
45ae0 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 24 76 65 72 73 69 6f 999-dev'.===.$version).{.$versio
45b00 6e 20 3d 20 27 64 65 76 2d 27 2e 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 n.=.'dev-'.$match[1];.}.}.}..if.
45b20 28 24 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 ($branch.&&.!preg_match('{^.*[^/
45b40 5d 2b 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 ]+/HEAD.}',.$branch)).{.if.(preg
45b60 5f 6d 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 _match('{^(?:\*.)?.*(\S+).*([a-f
45b80 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 29 20 0-9]+)..*$}',.$branch,.$match)).
45ba0 7b 0a 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 {.$branches[].=.$match[1];.}.}.}
45bc0 0a 0a 69 66 20 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 ..if.(!$isFeatureBranch).{.retur
45be0 6e 20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 0a 20 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 n.$version;.}....$version.=.$thi
45c00 73 2d 3e 67 75 65 73 73 46 65 61 74 75 72 65 56 65 72 73 69 6f 6e 28 24 63 6f 6e 66 69 67 2c 20 s->guessFeatureVersion($config,.
45c20 24 76 65 72 73 69 6f 6e 2c 20 24 62 72 61 6e 63 68 65 73 2c 20 27 67 69 74 20 72 65 76 2d 6c 69 $version,.$branches,.'git.rev-li
45c40 73 74 20 25 63 61 6e 64 69 64 61 74 65 25 2e 2e 25 62 72 61 6e 63 68 25 27 29 3b 0a 0a 72 65 74 st.%candidate%..%branch%');..ret
45c60 75 72 6e 20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 urn.$version;.}.}..private.funct
45c80 69 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 63 6f 6e 66 69 67 ion.guessHgVersion(array.$config
45ca0 29 0a 7b 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 73 2d 3e ).{...if.(0.===.$this->process->
45cc0 65 78 65 63 75 74 65 28 27 68 67 20 62 72 61 6e 63 68 27 2c 20 24 6f 75 74 70 75 74 29 29 20 7b execute('hg.branch',.$output)).{
45ce0 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 72 73 69 .$branch.=.trim($output);.$versi
45d00 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
45d20 6c 69 7a 65 42 72 61 6e 63 68 28 24 62 72 61 6e 63 68 29 3b 0a 24 69 73 46 65 61 74 75 72 65 42 lizeBranch($branch);.$isFeatureB
45d40 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 6f 6e 2c 20 27 ranch.=.0.===.strpos($version,.'
45d60 64 65 76 2d 27 29 3b 0a 0a 69 66 20 28 27 39 39 39 39 39 39 39 2d 64 65 76 27 20 3d 3d 3d 20 24 dev-');..if.('9999999-dev'.===.$
45d80 76 65 72 73 69 6f 6e 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 27 64 65 76 2d 27 2e 24 62 72 version).{.$version.=.'dev-'.$br
45da0 61 6e 63 68 3b 0a 7d 0a 0a 69 66 20 28 21 24 69 73 46 65 61 74 75 72 65 42 72 61 6e 63 68 29 20 anch;.}..if.(!$isFeatureBranch).
45dc0 7b 0a 72 65 74 75 72 6e 20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 0a 20 24 63 6f 6e 66 69 67 20 {.return.$version;.}....$config.
45de0 3d 20 61 72 72 61 79 28 27 75 72 6c 27 20 3d 3e 20 67 65 74 63 77 64 28 29 29 3b 0a 24 64 72 69 =.array('url'.=>.getcwd());.$dri
45e00 76 65 72 20 3d 20 6e 65 77 20 48 67 44 72 69 76 65 72 28 24 63 6f 6e 66 69 67 2c 20 6e 65 77 20 ver.=.new.HgDriver($config,.new.
45e20 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 2d 3e NullIO(),.$this->config,.$this->
45e40 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 79 73 process);.$branches.=.array_keys
45e60 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 76 65 ($driver->getBranches());....$ve
45e80 72 73 69 6f 6e 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 rsion.=.$this->guessFeatureVersi
45ea0 6f 6e 28 24 63 6f 6e 66 69 67 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 62 72 61 6e 63 68 65 73 2c on($config,.$version,.$branches,
45ec0 20 27 68 67 20 6c 6f 67 20 2d 72 20 22 6e 6f 74 20 61 6e 63 65 73 74 6f 72 73 28 5c 27 25 63 61 .'hg.log.-r."not.ancestors(\'%ca
45ee0 6e 64 69 64 61 74 65 25 5c 27 29 20 61 6e 64 20 61 6e 63 65 73 74 6f 72 73 28 5c 27 25 62 72 61 ndidate%\').and.ancestors(\'%bra
45f00 6e 63 68 25 5c 27 29 22 20 2d 2d 74 65 6d 70 6c 61 74 65 20 22 7b 6e 6f 64 65 7d 5c 5c 6e 22 27 nch%\')".--template."{node}\\n"'
45f20 29 3b 0a 0a 72 65 74 75 72 6e 20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 );..return.$version;.}.}..privat
45f40 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 73 69 6f 6e 28 61 e.function.guessFeatureVersion(a
45f60 72 72 61 79 20 24 63 6f 6e 66 69 67 2c 20 24 76 65 72 73 69 6f 6e 2c 20 61 72 72 61 79 20 24 62 rray.$config,.$version,.array.$b
45f80 72 61 6e 63 68 65 73 2c 20 24 73 63 6d 43 6d 64 6c 69 6e 65 29 0a 7b 0a 0a 20 0a 20 69 66 20 28 ranches,.$scmCmdline).{.....if.(
45fa0 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 65 78 74 72 61 27 5d 5b 27 62 72 61 6e 63 68 2d (isset($config['extra']['branch-
45fc0 61 6c 69 61 73 27 5d 29 20 26 26 20 21 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 65 78 74 72 alias']).&&.!isset($config['extr
45fe0 61 27 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 a']['branch-alias'][$version])).
46000 7c 7c 20 73 74 72 70 6f 73 28 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 63 6f 6e 66 69 67 29 2c 20 ||.strpos(json_encode($config),.
46020 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 63 68 20 3d 20 '"self.version"').).{.$branch.=.
46040 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 20 24 76 65 72 preg_replace('{^dev-}',.'',.$ver
46060 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 58 3b 0a 66 6f sion);.$length.=.PHP_INT_MAX;.fo
46080 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 61 74 65 29 20 reach.($branches.as.$candidate).
460a0 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 6e 63 68 20 7c {...if.($candidate.===.$branch.|
460c0 7c 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 6d 61 73 74 65 72 7c 74 72 75 6e 6b 7c 64 |.!preg_match('{^(master|trunk|d
460e0 65 66 61 75 6c 74 7c 64 65 76 65 6c 6f 70 7c 5c 64 2b 5c 2e 2e 2b 29 24 7d 27 2c 20 24 63 61 6e efault|develop|\d+\..+)$}',.$can
46100 64 69 64 61 74 65 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a didate,.$match)).{.continue;.}..
46120 24 63 6d 64 4c 69 6e 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 25 63 $cmdLine.=.str_replace(array('%c
46140 61 6e 64 69 64 61 74 65 25 27 2c 20 27 25 62 72 61 6e 63 68 25 27 29 2c 20 61 72 72 61 79 28 24 andidate%',.'%branch%'),.array($
46160 63 61 6e 64 69 64 61 74 65 2c 20 24 62 72 61 6e 63 68 29 2c 20 24 73 63 6d 43 6d 64 6c 69 6e 65 candidate,.$branch),.$scmCmdline
46180 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 2d 3e 65 78 65 );.if.(0.!==.$this->process->exe
461a0 63 75 74 65 28 24 63 6d 64 4c 69 6e 65 2c 20 24 6f 75 74 70 75 74 29 29 20 7b 0a 63 6f 6e 74 69 cute($cmdLine,.$output)).{.conti
461c0 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 6f 75 74 70 75 74 29 20 3c 20 24 6c nue;.}..if.(strlen($output).<.$l
461e0 65 6e 67 74 68 29 20 7b 0a 24 6c 65 6e 67 74 68 20 3d 20 73 74 72 6c 65 6e 28 24 6f 75 74 70 75 ength).{.$length.=.strlen($outpu
46200 74 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 t);.$version.=.$this->versionPar
46220 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 42 72 61 6e 63 68 28 24 63 61 6e 64 69 64 61 74 65 29 ser->normalizeBranch($candidate)
46240 3b 0a 69 66 20 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 ;.if.('9999999-dev'.===.$version
46260 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 27 64 65 76 2d 27 2e 24 6d 61 74 63 68 5b 31 5d 3b ).{.$version.=.'dev-'.$match[1];
46280 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 7d 0a 3c .}.}.}.}..return.$version;.}.}.<
462a0 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
462c0 65 72 5c 50 61 63 6b 61 67 65 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a er\Package;..use.Composer\Json\J
462e0 73 6f 6e 46 69 6c 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 5c sonFile;.use.Composer\Installer\
46300 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 65 InstallationManager;.use.Compose
46320 72 5c 52 65 70 6f 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 r\Repository\RepositoryManager;.
46340 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
46360 72 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 r;.use.Composer\Package\AliasPac
46380 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 41 72 kage;.use.Composer\Repository\Ar
463a0 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 50 61 63 6b rayRepository;.use.Composer\Pack
463c0 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 20 43 6f 6d 70 age\Dumper\ArrayDumper;.use.Comp
463e0 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 64 65 72 3b oser\Package\Loader\ArrayLoader;
46400 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
46420 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 69 6c 5c 47 rsionParser;.use.Composer\Util\G
46440 69 74 20 61 73 20 47 69 74 55 74 69 6c 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4c 6f 63 6b it.as.GitUtil;........class.Lock
46460 65 72 0a 7b 0a 70 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 er.{.private.$lockFile;.private.
46480 24 72 65 70 6f 73 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 $repositoryManager;.private.$ins
464a0 74 61 6c 6c 61 74 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 tallationManager;.private.$hash;
464c0 0a 70 72 69 76 61 74 65 20 24 6c 6f 61 64 65 72 3b 0a 70 72 69 76 61 74 65 20 24 64 75 6d 70 65 .private.$loader;.private.$dumpe
464e0 72 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 0a 0a r;.private.$lockDataCache;......
46500 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(
46520 4a 73 6f 6e 46 69 6c 65 20 24 6c 6f 63 6b 46 69 6c 65 2c 20 52 65 70 6f 73 69 74 6f 72 79 4d 61 JsonFile.$lockFile,.RepositoryMa
46540 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 49 6e 73 74 61 6c nager.$repositoryManager,.Instal
46560 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 67 lationManager.$installationManag
46580 65 72 2c 20 24 68 61 73 68 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 63 6b 46 69 6c 65 20 3d 20 24 er,.$hash).{.$this->lockFile.=.$
465a0 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 61 6e 61 67 lockFile;.$this->repositoryManag
465c0 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 69 73 2d 3e er.=.$repositoryManager;.$this->
465e0 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 6c 6c 61 74 installationManager.=.$installat
46600 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 24 68 61 73 68 3b ionManager;.$this->hash.=.$hash;
46620 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
46640 28 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 61 79 44 75 6d ();.$this->dumper.=.new.ArrayDum
46660 70 65 72 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 69 per();.}.......public.function.i
46680 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 6f 63 6b 46 69 6c 65 sLocked().{.if.(!$this->lockFile
466a0 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 65 3b 0a 7d 0a 0a 24 ->exists()).{.return.false;.}..$
466c0 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 28 29 3b 0a 0a 72 65 data.=.$this->getLockData();..re
466e0 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 73 27 5d 29 3b 0a 7d turn.isset($data['packages']);.}
46700 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 46 72 65 73 68 28 29 .......public.function.isFresh()
46720 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 65 2d 3e 72 65 61 64 .{.$lock.=.$this->lockFile->read
46740 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 73 68 20 3d 3d 3d 20 24 6c 6f 63 ();..return.$this->hash.===.$loc
46760 6b 5b 27 68 61 73 68 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 k['hash'];.}.........public.func
46780 74 69 6f 6e 20 67 65 74 4c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 28 24 77 69 74 68 44 65 tion.getLockedRepository($withDe
467a0 76 52 65 71 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 6c 6f 63 6b 44 61 74 61 20 3d 20 24 74 68 vReqs.=.false).{.$lockData.=.$th
467c0 69 73 2d 3e 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 3b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 6e is->getLockData();.$packages.=.n
467e0 65 77 20 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 0a 24 6c 6f 63 6b 65 64 50 61 ew.ArrayRepository();..$lockedPa
46800 63 6b 61 67 65 73 20 3d 20 24 6c 6f 63 6b 44 61 74 61 5b 27 70 61 63 6b 61 67 65 73 27 5d 3b 0a ckages.=.$lockData['packages'];.
46820 69 66 20 28 24 77 69 74 68 44 65 76 52 65 71 73 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 6c if.($withDevReqs).{.if.(isset($l
46840 6f 63 6b 44 61 74 61 5b 27 70 61 63 6b 61 67 65 73 2d 64 65 76 27 5d 29 29 20 7b 0a 24 6c 6f 63 ockData['packages-dev'])).{.$loc
46860 6b 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 24 6c 6f 63 6b 65 kedPackages.=.array_merge($locke
46880 64 50 61 63 6b 61 67 65 73 2c 20 24 6c 6f 63 6b 44 61 74 61 5b 27 70 61 63 6b 61 67 65 73 2d 64 dPackages,.$lockData['packages-d
468a0 65 76 27 5d 29 3b 0a 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 ev']);.}.else.{.throw.new.\Runti
468c0 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 6c 6f 63 6b 20 66 69 6c 65 20 64 6f 65 73 20 meException('The.lock.file.does.
468e0 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 72 65 71 75 69 72 65 2d 64 65 76 20 69 6e 66 6f 72 6d 61 74 not.contain.require-dev.informat
46900 69 6f 6e 2c 20 72 75 6e 20 69 6e 73 74 61 6c 6c 20 77 69 74 68 20 74 68 65 20 2d 2d 6e 6f 2d 64 ion,.run.install.with.the.--no-d
46920 65 76 20 6f 70 74 69 6f 6e 20 6f 72 20 72 75 6e 20 75 70 64 61 74 65 20 74 6f 20 69 6e 73 74 61 ev.option.or.run.update.to.insta
46940 6c 6c 20 74 68 6f 73 65 20 70 61 63 6b 61 67 65 73 2e 27 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 65 ll.those.packages.');.}.}..if.(e
46960 6d 70 74 79 28 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 mpty($lockedPackages)).{.return.
46980 24 70 61 63 6b 61 67 65 73 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6c 6f 63 6b 65 64 50 $packages;.}..if.(isset($lockedP
469a0 61 63 6b 61 67 65 73 5b 30 5d 5b 27 6e 61 6d 65 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 ackages[0]['name'])).{.foreach.(
469c0 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 73 20 61 73 20 24 69 6e 66 6f 29 20 7b 0a 24 70 61 63 $lockedPackages.as.$info).{.$pac
469e0 6b 61 67 65 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d kages->addPackage($this->loader-
46a00 3e 6c 6f 61 64 28 24 69 6e 66 6f 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 >load($info));.}..return.$packag
46a20 65 73 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 74 69 es;.}..throw.new.\RuntimeExcepti
46a40 6f 6e 28 27 59 6f 75 72 20 63 6f 6d 70 6f 73 65 72 2e 6c 6f 63 6b 20 77 61 73 20 63 72 65 61 74 on('Your.composer.lock.was.creat
46a60 65 64 20 62 65 66 6f 72 65 20 32 30 31 32 2d 30 39 2d 31 35 2c 20 61 6e 64 20 69 73 20 6e 6f 74 ed.before.2012-09-15,.and.is.not
46a80 20 73 75 70 70 6f 72 74 65 64 20 61 6e 79 6d 6f 72 65 2e 20 52 75 6e 20 22 63 6f 6d 70 6f 73 65 .supported.anymore..Run."compose
46aa0 72 20 75 70 64 61 74 65 22 20 74 6f 20 67 65 6e 65 72 61 74 65 20 61 20 6e 65 77 20 6f 6e 65 2e r.update".to.generate.a.new.one.
46ac0 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 20 67 65 74 ');.}........public.function.get
46ae0 50 6c 61 74 66 6f 72 6d 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 77 69 74 68 44 65 76 52 65 71 PlatformRequirements($withDevReq
46b00 73 20 3d 20 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 s.=.false).{.$lockData.=.$this->
46b20 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 3b 0a 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 getLockData();.$versionParser.=.
46b40 6e 65 77 20 56 65 72 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 new.VersionParser();.$requiremen
46b60 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6c 6f 63 6b 44 ts.=.array();..if.(!empty($lockD
46b80 61 74 61 5b 27 70 6c 61 74 66 6f 72 6d 27 5d 29 29 20 7b 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 ata['platform'])).{.$requirement
46ba0 73 20 3d 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 4c 69 6e 6b 73 28 0a s.=.$versionParser->parseLinks(.
46bc0 27 5f 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 '__ROOT__',.'1.0.0',.'requires',
46be0 0a 69 73 73 65 74 28 24 6c 6f 63 6b 44 61 74 61 5b 27 70 6c 61 74 66 6f 72 6d 27 5d 29 20 3f 20 .isset($lockData['platform']).?.
46c00 24 6c 6f 63 6b 44 61 74 61 5b 27 70 6c 61 74 66 6f 72 6d 27 5d 20 3a 20 61 72 72 61 79 28 29 0a $lockData['platform'].:.array().
46c20 29 3b 0a 7d 0a 0a 69 66 20 28 24 77 69 74 68 44 65 76 52 65 71 73 20 26 26 20 21 65 6d 70 74 79 );.}..if.($withDevReqs.&&.!empty
46c40 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 29 20 7b 0a 24 ($lockData['platform-dev'])).{.$
46c60 64 65 76 52 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 devRequirements.=.$versionParser
46c80 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 30 2e 30 ->parseLinks(.'__ROOT__',.'1.0.0
46ca0 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 61 5b 27 ',.'requires',.isset($lockData['
46cc0 70 6c 61 74 66 6f 72 6d 2d 64 65 76 27 5d 29 20 3f 20 24 6c 6f 63 6b 44 61 74 61 5b 27 70 6c 61 platform-dev']).?.$lockData['pla
46ce0 74 66 6f 72 6d 2d 64 65 76 27 5d 20 3a 20 61 72 72 61 79 28 29 0a 29 3b 0a 0a 24 72 65 71 75 69 tform-dev'].:.array().);..$requi
46d00 72 65 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 72 65 71 75 69 72 65 6d 65 rements.=.array_merge($requireme
46d20 6e 74 73 2c 20 24 64 65 76 52 65 71 75 69 72 65 6d 65 6e 74 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 nts,.$devRequirements);.}..retur
46d40 6e 20 24 72 65 71 75 69 72 65 6d 65 6e 74 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 n.$requirements;.}..public.funct
46d60 69 6f 6e 20 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 29 0a 7b 0a 24 6c 6f 63 ion.getMinimumStability().{.$loc
46d80 6b 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 3b 0a 0a 72 kData.=.$this->getLockData();..r
46da0 65 74 75 72 6e 20 69 73 73 65 74 28 24 6c 6f 63 6b 44 61 74 61 5b 27 6d 69 6e 69 6d 75 6d 2d 73 eturn.isset($lockData['minimum-s
46dc0 74 61 62 69 6c 69 74 79 27 5d 29 20 3f 20 24 6c 6f 63 6b 44 61 74 61 5b 27 6d 69 6e 69 6d 75 6d tability']).?.$lockData['minimum
46de0 2d 73 74 61 62 69 6c 69 74 79 27 5d 20 3a 20 27 73 74 61 62 6c 65 27 3b 0a 7d 0a 0a 70 75 62 6c -stability'].:.'stable';.}..publ
46e00 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 29 0a ic.function.getStabilityFlags().
46e20 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 61 74 61 {.$lockData.=.$this->getLockData
46e40 28 29 3b 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 6c 6f 63 6b 44 61 74 61 5b 27 73 74 61 ();..return.isset($lockData['sta
46e60 62 69 6c 69 74 79 2d 66 6c 61 67 73 27 5d 29 20 3f 20 24 6c 6f 63 6b 44 61 74 61 5b 27 73 74 61 bility-flags']).?.$lockData['sta
46e80 62 69 6c 69 74 79 2d 66 6c 61 67 73 27 5d 20 3a 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 70 75 62 bility-flags'].:.array();.}..pub
46ea0 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 24 6c 6f 63 lic.function.getAliases().{.$loc
46ec0 6b 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 3b 0a 0a 72 kData.=.$this->getLockData();..r
46ee0 65 74 75 72 6e 20 69 73 73 65 74 28 24 6c 6f 63 6b 44 61 74 61 5b 27 61 6c 69 61 73 65 73 27 5d eturn.isset($lockData['aliases']
46f00 29 20 3f 20 24 6c 6f 63 6b 44 61 74 61 5b 27 61 6c 69 61 73 65 73 27 5d 20 3a 20 61 72 72 61 79 ).?.$lockData['aliases'].:.array
46f20 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 4c 6f 63 6b 44 61 ();.}..public.function.getLockDa
46f40 74 61 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 6c 6f 63 6b 44 ta().{.if.(null.!==.$this->lockD
46f60 61 74 61 43 61 63 68 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 44 61 ataCache).{.return.$this->lockDa
46f80 74 61 43 61 63 68 65 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6c 6f 63 6b 46 69 6c 65 taCache;.}..if.(!$this->lockFile
46fa0 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 4c 6f 67 69 63 45 78 ->exists()).{.throw.new.\LogicEx
46fc0 63 65 70 74 69 6f 6e 28 27 4e 6f 20 6c 6f 63 6b 66 69 6c 65 20 66 6f 75 6e 64 2e 20 55 6e 61 62 ception('No.lockfile.found..Unab
46fe0 6c 65 20 74 6f 20 72 65 61 64 20 6c 6f 63 6b 65 64 20 70 61 63 6b 61 67 65 73 27 29 3b 0a 7d 0a le.to.read.locked.packages');.}.
47000 0a 72 65 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 20 3d 20 24 .return.$this->lockDataCache.=.$
47020 74 68 69 73 2d 3e 6c 6f 63 6b 46 69 6c 65 2d 3e 72 65 61 64 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a this->lockFile->read();.}.......
47040 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 6f 63 6b 44 ........public.function.setLockD
47060 61 74 61 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 73 2c 20 24 64 65 76 50 61 63 6b 61 67 65 ata(array.$packages,.$devPackage
47080 73 2c 20 61 72 72 61 79 20 24 70 6c 61 74 66 6f 72 6d 52 65 71 73 2c 20 24 70 6c 61 74 66 6f 72 s,.array.$platformReqs,.$platfor
470a0 6d 44 65 76 52 65 71 73 2c 20 61 72 72 61 79 20 24 61 6c 69 61 73 65 73 2c 20 24 6d 69 6e 69 6d mDevReqs,.array.$aliases,.$minim
470c0 75 6d 53 74 61 62 69 6c 69 74 79 2c 20 61 72 72 61 79 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 umStability,.array.$stabilityFla
470e0 67 73 29 0a 7b 0a 24 6c 6f 63 6b 20 3d 20 61 72 72 61 79 28 0a 27 5f 72 65 61 64 6d 65 27 20 3d gs).{.$lock.=.array(.'_readme'.=
47100 3e 20 61 72 72 61 79 28 27 54 68 69 73 20 66 69 6c 65 20 6c 6f 63 6b 73 20 74 68 65 20 64 65 70 >.array('This.file.locks.the.dep
47120 65 6e 64 65 6e 63 69 65 73 20 6f 66 20 79 6f 75 72 20 70 72 6f 6a 65 63 74 20 74 6f 20 61 20 6b endencies.of.your.project.to.a.k
47140 6e 6f 77 6e 20 73 74 61 74 65 27 2c 20 27 52 65 61 64 20 6d 6f 72 65 20 61 62 6f 75 74 20 69 74 nown.state',.'Read.more.about.it
47160 20 61 74 20 68 74 74 70 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.http://getcomposer.org/doc/0
47180 31 2d 62 61 73 69 63 2d 75 73 61 67 65 2e 6d 64 23 63 6f 6d 70 6f 73 65 72 2d 6c 6f 63 6b 2d 74 1-basic-usage.md#composer-lock-t
471a0 68 65 2d 6c 6f 63 6b 2d 66 69 6c 65 27 29 2c 0a 27 68 61 73 68 27 20 3d 3e 20 24 74 68 69 73 2d he-lock-file'),.'hash'.=>.$this-
471c0 3e 68 61 73 68 2c 0a 27 70 61 63 6b 61 67 65 73 27 20 3d 3e 20 6e 75 6c 6c 2c 0a 27 70 61 63 6b >hash,.'packages'.=>.null,.'pack
471e0 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 65 73 27 20 3d 3e 20 ages-dev'.=>.null,.'aliases'.=>.
47200 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 74 79 27 20 3d 3e 20 array(),.'minimum-stability'.=>.
47220 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 6c 69 74 79 2d 66 6c $minimumStability,.'stability-fl
47240 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 29 3b 0a 0a 66 6f 72 ags'.=>.$stabilityFlags,.);..for
47260 65 61 63 68 20 28 24 61 6c 69 61 73 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 20 3d 3e 20 24 76 each.($aliases.as.$package.=>.$v
47280 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 73 20 61 73 ersions).{.foreach.($versions.as
472a0 20 24 76 65 72 73 69 6f 6e 20 3d 3e 20 24 61 6c 69 61 73 29 20 7b 0a 24 6c 6f 63 6b 5b 27 61 6c .$version.=>.$alias).{.$lock['al
472c0 69 61 73 65 73 27 5d 5b 5d 20 3d 20 61 72 72 61 79 28 0a 27 61 6c 69 61 73 27 20 3d 3e 20 24 61 iases'][].=.array(.'alias'.=>.$a
472e0 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 7a 65 64 lias['alias'],.'alias_normalized
47300 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 27 5d 2c '.=>.$alias['alias_normalized'],
47320 0a 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 76 65 72 73 69 6f 6e 2c 0a 27 70 61 63 6b 61 67 65 .'version'.=>.$version,.'package
47340 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2c 0a 29 3b 0a 7d 0a 7d 0a 0a 24 6c 6f 63 6b 5b 27 70 61 '.=>.$package,.);.}.}..$lock['pa
47360 63 6b 61 67 65 73 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 ckages'].=.$this->lockPackages($
47380 70 61 63 6b 61 67 65 73 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 64 65 76 50 61 63 6b packages);.if.(null.!==.$devPack
473a0 61 67 65 73 29 20 7b 0a 24 6c 6f 63 6b 5b 27 70 61 63 6b 61 67 65 73 2d 64 65 76 27 5d 20 3d 20 ages).{.$lock['packages-dev'].=.
473c0 24 74 68 69 73 2d 3e 6c 6f 63 6b 50 61 63 6b 61 67 65 73 28 24 64 65 76 50 61 63 6b 61 67 65 73 $this->lockPackages($devPackages
473e0 29 3b 0a 7d 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 6c 6f 63 6b 5b 27 70 61 63 6b 61 67 65 73 27 );.}..if.(empty($lock['packages'
47400 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 65 73 2d 64 65 76 27 ]).&&.empty($lock['packages-dev'
47420 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 69 73 74 ])).{.if.($this->lockFile->exist
47440 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 2d 3e 67 s()).{.unlink($this->lockFile->g
47460 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 0a 0a 24 etPath());.}..return.false;.}..$
47480 6c 6f 63 6b 5b 27 70 6c 61 74 66 6f 72 6d 27 5d 20 3d 20 24 70 6c 61 74 66 6f 72 6d 52 65 71 73 lock['platform'].=.$platformReqs
474a0 3b 0a 24 6c 6f 63 6b 5b 27 70 6c 61 74 66 6f 72 6d 2d 64 65 76 27 5d 20 3d 20 24 70 6c 61 74 66 ;.$lock['platform-dev'].=.$platf
474c0 6f 72 6d 44 65 76 52 65 71 73 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 73 4c 6f 63 6b 65 ormDevReqs;..if.(!$this->isLocke
474e0 64 28 29 20 7c 7c 20 24 6c 6f 63 6b 20 21 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 63 6b 44 d().||.$lock.!==.$this->getLockD
47500 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 3e 77 72 69 74 65 28 ata()).{.$this->lockFile->write(
47520 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 63 68 65 20 3d 20 6e $lock);.$this->lockDataCache.=.n
47540 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 75 72 6e 20 66 61 6c ull;..return.true;.}..return.fal
47560 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 6f 63 6b 50 61 63 6b se;.}..private.function.lockPack
47580 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 6c 6f 63 6b 65 64 20 ages(array.$packages).{.$locked.
475a0 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 20 61 =.array();..foreach.($packages.a
475c0 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 61 s.$package).{.if.($package.insta
475e0 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 74 69 6e 75 65 3b 0a nceof.AliasPackage).{.continue;.
47600 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 72 65 74 74 79 4e 61 }..$name.=.$package->getPrettyNa
47620 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 2d 3e 67 65 74 50 72 me();.$version.=.$package->getPr
47640 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 65 20 7c 7c 20 21 24 ettyVersion();..if.(!$name.||.!$
47660 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 69 63 45 78 63 65 70 version).{.throw.new.\LogicExcep
47680 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 73 22 20 68 61 73 20 tion(sprintf(.'Package."%s".has.
476a0 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 6e 20 6e 6f 74 20 62 no.version.or.name.and.can.not.b
476c0 65 20 6c 6f 63 6b 65 64 27 2c 20 24 70 61 63 6b 61 67 65 0a 29 29 3b 0a 7d 0a 0a 24 73 70 65 63 e.locked',.$package.));.}..$spec
476e0 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 61 63 6b 61 67 65 29 .=.$this->dumper->dump($package)
47700 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 72 6d 61 6c 69 7a 65 ;.unset($spec['version_normalize
47720 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 70 65 63 5b 27 74 69 d']);....$time.=.isset($spec['ti
47740 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 75 6c 6c 3b 0a 75 6e me']).?.$spec['time'].:.null;.un
47760 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 70 61 63 6b 61 67 65 set($spec['time']);.if.($package
47780 2d 3e 69 73 44 65 76 28 29 29 20 7b 0a 0a 20 24 74 69 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 ->isDev()).{...$time.=.$this->ge
477a0 74 50 61 63 6b 61 67 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 tPackageTime($package).?:.$time;
477c0 0a 7d 0a 69 66 20 28 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 .}.if.(null.!==.$time).{.$spec['
477e0 74 69 6d 65 27 5d 20 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 time'].=.$time;.}..unset($spec['
47800 69 6e 73 74 61 6c 6c 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 installation-source']);..$locked
47820 5b 5d 20 3d 20 24 73 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 [].=.$spec;.}..usort($locked,.fu
47840 6e 63 74 69 6f 6e 20 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 nction.($a,.$b).{.$comparison.=.
47860 73 74 72 63 6d 70 28 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 strcmp($a['name'],.$b['name']);.
47880 0a 69 66 20 28 30 20 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 .if.(0.!==.$comparison).{.return
478a0 20 24 63 6f 6d 70 61 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 .$comparison;.}....return.strcmp
478c0 28 24 61 5b 27 76 65 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 ($a['version'],.$b['version']);.
478e0 7d 29 3b 0a 0a 72 65 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 });..return.$locked;.}........pr
47900 69 76 61 74 65 20 66 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 ivate.function.getPackageTime(Pa
47920 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 28 21 ckageInterface.$package).{.if.(!
47940 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 20 7b 0a function_exists('proc_open')).{.
47960 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 69 return.null;.}..$path.=.$this->i
47980 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 50 61 nstallationManager->getInstallPa
479a0 74 68 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 73 6f 75 72 63 65 54 79 70 65 20 3d 20 24 70 61 63 th($package);.$sourceType.=.$pac
479c0 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 69 6d 65 kage->getSourceType();.$datetime
479e0 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 61 79 28 .=.null;..if.($path.&&.in_array(
47a00 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 27 29 29 $sourceType,.array('git',.'hg'))
47a20 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 74 53 6f ).{.$sourceRef.=.$package->getSo
47a40 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 67 65 74 urceReference().?:.$package->get
47a60 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 24 70 72 6f 63 65 73 73 20 3d 20 6e 65 77 20 DistReference();.$process.=.new.
47a80 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 29 3b 0a 0a 73 77 69 74 63 68 20 28 24 73 6f 75 ProcessExecutor();..switch.($sou
47aa0 72 63 65 54 79 70 65 29 20 7b 0a 63 61 73 65 20 27 67 69 74 27 3a 0a 24 75 74 69 6c 20 3d 20 6e rceType).{.case.'git':.$util.=.n
47ac0 65 77 20 47 69 74 55 74 69 6c 3b 0a 24 75 74 69 6c 2d 3e 63 6c 65 61 6e 45 6e 76 28 29 3b 0a 0a ew.GitUtil;.$util->cleanEnv();..
47ae0 69 66 20 28 30 20 3d 3d 3d 20 24 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 if.(0.===.$process->execute('git
47b00 20 6c 6f 67 20 2d 6e 31 20 2d 2d 70 72 65 74 74 79 3d 25 63 74 20 27 2e 65 73 63 61 70 65 73 68 .log.-n1.--pretty=%ct.'.escapesh
47b20 65 6c 6c 61 72 67 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 ellarg($sourceRef),.$output,.$pa
47b40 74 68 29 20 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 th).&&.preg_match('{^\s*\d+\s*$}
47b60 27 2c 20 24 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 ',.$output)).{.$datetime.=.new.\
47b80 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 77 20 DateTime('@'.trim($output),.new.
47ba0 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 62 72 65 61 6b 3b 0a \DateTimeZone('UTC'));.}.break;.
47bc0 0a 63 61 73 65 20 27 68 67 27 3a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 70 72 6f 63 65 73 73 2d 3e .case.'hg':.if.(0.===.$process->
47be0 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 61 74 execute('hg.log.--template."{dat
47c00 65 7c 68 67 64 61 74 65 7d 22 20 2d 72 20 27 2e 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 e|hgdate}".-r.'.escapeshellarg($
47c20 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 26 26 20 70 sourceRef),.$output,.$path).&&.p
47c40 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5c 73 2a 28 5c 64 2b 29 5c 73 2a 7d 27 2c 20 24 6f 75 74 reg_match('{^\s*(\d+)\s*}',.$out
47c60 70 75 74 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 64 61 74 65 74 69 6d 65 20 3d 20 6e 65 77 20 put,.$match)).{.$datetime.=.new.
47c80 5c 44 61 74 65 54 69 6d 65 28 27 40 27 2e 24 6d 61 74 63 68 5b 31 5d 2c 20 6e 65 77 20 5c 44 61 \DateTime('@'.$match[1],.new.\Da
47ca0 74 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 7d 0a 7d teTimeZone('UTC'));.}.break;.}.}
47cc0 0a 0a 72 65 74 75 72 6e 20 24 64 61 74 65 74 69 6d 65 20 3f 20 24 64 61 74 65 74 69 6d 65 2d 3e ..return.$datetime.?.$datetime->
47ce0 66 6f 72 6d 61 74 28 27 59 2d 6d 2d 64 20 48 3a 69 3a 73 27 29 20 3a 20 6e 75 6c 6c 3b 0a 7d 0a format('Y-m-d.H:i:s').:.null;.}.
47d00 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
47d20 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 72 5c 52 65 70 poser\Package;..use.Composer\Rep
47d40 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 0a 0a 0a ository\RepositoryInterface;....
47d60 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a ...interface.PackageInterface.{.
47d80 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 3b 0a .....public.function.getName();.
47da0 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 65 74 74 79 4e ......public.function.getPrettyN
47dc0 61 6d 65 28 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 ame();..........public.function.
47de0 67 65 74 4e 61 6d 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 getNames();.......public.functio
47e00 6e 20 73 65 74 49 64 28 24 69 64 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 n.setId($id);.......public.funct
47e20 69 6f 6e 20 67 65 74 49 64 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ion.getId();.......public.functi
47e40 6f 6e 20 69 73 44 65 76 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f on.isDev();.......public.functio
47e60 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 6e 63 74 69 n.getType();.......public.functi
47e80 6f 6e 20 67 65 74 54 61 72 67 65 74 44 69 72 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 on.getTargetDir();.......public.
47ea0 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 78 74 72 61 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 function.getExtra();.......publi
47ec0 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 6f 75 72 63 65 c.function.setInstallationSource
47ee0 28 24 74 79 70 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 ($type);.......public.function.g
47f00 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 0a 0a 0a 0a 0a 70 75 etInstallationSource();.......pu
47f20 62 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 3b 0a 0a blic.function.getSourceType();..
47f40 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 55 72 .....public.function.getSourceUr
47f60 6c 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 53 6f l();.......public.function.getSo
47f80 75 72 63 65 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 urceReference();.......public.fu
47fa0 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 70 75 62 6c nction.getDistType();.......publ
47fc0 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 0a 0a 0a 0a ic.function.getDistUrl();.......
47fe0 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 72 65 6e 63 65 public.function.getDistReference
48000 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 44 69 73 ();.......public.function.getDis
48020 74 53 68 61 31 43 68 65 63 6b 73 75 6d 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 tSha1Checksum();.......public.fu
48040 6e 63 74 69 6f 6e 20 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 nction.getVersion();.......publi
48060 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 29 3b 0a 0a c.function.getPrettyVersion();..
48080 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 6c 65 61 73 65 44 .....public.function.getReleaseD
480a0 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 67 65 74 ate();.......public.function.get
480c0 53 74 61 62 69 6c 69 74 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 Stability();........public.funct
480e0 69 6f 6e 20 67 65 74 52 65 71 75 69 72 65 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ion.getRequires();........public
48100 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 66 6c 69 63 74 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a .function.getConflicts();.......
48120 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 73 28 29 3b 0a .public.function.getProvides();.
48140 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 65 70 6c 61 63 .......public.function.getReplac
48160 65 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 es();........public.function.get
48180 44 65 76 52 65 71 75 69 72 65 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e DevRequires();........public.fun
481a0 63 74 69 6f 6e 20 67 65 74 53 75 67 67 65 73 74 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ction.getSuggests();............
481c0 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 61 64 28 29 3b 0a 0a public.function.getAutoload();..
481e0 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 6c 75 64 65 ......public.function.getInclude
48200 50 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 Paths();.......public.function.s
48220 65 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 etRepository(RepositoryInterface
48240 20 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 .$repository);.......public.func
48260 74 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 tion.getRepository();.......publ
48280 69 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 ic.function.getBinaries();......
482a0 0a 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 .public.function.getUniqueName()
482c0 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 6f 74 69 66 ;.......public.function.getNotif
482e0 69 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 icationUrl();.......public.funct
48300 69 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 ion.__toString();.......public.f
48320 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 3b 0a 0a 0a 0a 0a 0a unction.getPrettyString();......
48340 0a 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 .public.function.getArchiveExclu
48360 64 65 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 des();.}.<?php............namesp
48380 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 6d 70 6f ace.Composer\Package;..use.Compo
483a0 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 66 61 ser\Repository\RepositoryInterfa
483c0 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 74 ce;.use.Composer\Repository\Plat
483e0 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 formRepository;.......abstract.c
48400 6c 61 73 73 20 42 61 73 65 50 61 63 6b 61 67 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 50 61 63 6b lass.BasePackage.implements.Pack
48420 61 67 65 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 24 73 75 ageInterface.{.public.static.$su
48440 70 70 6f 72 74 65 64 4c 69 6e 6b 54 79 70 65 73 20 3d 20 61 72 72 61 79 28 0a 27 72 65 71 75 69 pportedLinkTypes.=.array(.'requi
48460 72 65 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 72 re'.=>.array('description'.=>.'r
48480 65 71 75 69 72 65 73 27 2c 20 27 6d 65 74 68 6f 64 27 20 3d 3e 20 27 72 65 71 75 69 72 65 73 27 equires',.'method'.=>.'requires'
484a0 29 2c 0a 27 63 6f 6e 66 6c 69 63 74 27 20 3d 3e 20 61 72 72 61 79 28 27 64 65 73 63 72 69 70 74 ),.'conflict'.=>.array('descript
484c0 69 6f 6e 27 20 3d 3e 20 27 63 6f 6e 66 6c 69 63 74 73 27 2c 20 27 6d 65 74 68 6f 64 27 20 3d 3e ion'.=>.'conflicts',.'method'.=>
484e0 20 27 63 6f 6e 66 6c 69 63 74 73 27 29 2c 0a 27 70 72 6f 76 69 64 65 27 20 3d 3e 20 61 72 72 61 .'conflicts'),.'provide'.=>.arra
48500 79 28 27 64 65 73 63 72 69 70 74 69 6f 6e 27 20 3d 3e 20 27 70 72 6f 76 69 64 65 73 27 2c 20 27 y('description'.=>.'provides',.'
48520 6d 65 74 68 6f 64 27 20 3d 3e 20 27 70 72 6f 76 69 64 65 73 27 29 2c 0a 27 72 65 70 6c 61 63 65 method'.=>.'provides'),.'replace
48540 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 72 65 70 '.=>.array('description'.=>.'rep
48560 6c 61 63 65 73 27 2c 20 27 6d 65 74 68 6f 64 27 20 3d 3e 20 27 72 65 70 6c 61 63 65 73 27 29 2c laces',.'method'.=>.'replaces'),
48580 0a 27 72 65 71 75 69 72 65 2d 64 65 76 27 20 3d 3e 20 61 72 72 61 79 28 27 64 65 73 63 72 69 70 .'require-dev'.=>.array('descrip
485a0 74 69 6f 6e 27 20 3d 3e 20 27 72 65 71 75 69 72 65 73 20 28 66 6f 72 20 64 65 76 65 6c 6f 70 6d tion'.=>.'requires.(for.developm
485c0 65 6e 74 29 27 2c 20 27 6d 65 74 68 6f 64 27 20 3d 3e 20 27 64 65 76 52 65 71 75 69 72 65 73 27 ent)',.'method'.=>.'devRequires'
485e0 29 2c 0a 29 3b 0a 0a 63 6f 6e 73 74 20 53 54 41 42 49 4c 49 54 59 5f 53 54 41 42 4c 45 20 3d 20 ),.);..const.STABILITY_STABLE.=.
48600 30 3b 0a 63 6f 6e 73 74 20 53 54 41 42 49 4c 49 54 59 5f 52 43 20 3d 20 35 3b 0a 63 6f 6e 73 74 0;.const.STABILITY_RC.=.5;.const
48620 20 53 54 41 42 49 4c 49 54 59 5f 42 45 54 41 20 3d 20 31 30 3b 0a 63 6f 6e 73 74 20 53 54 41 42 .STABILITY_BETA.=.10;.const.STAB
48640 49 4c 49 54 59 5f 41 4c 50 48 41 20 3d 20 31 35 3b 0a 63 6f 6e 73 74 20 53 54 41 42 49 4c 49 54 ILITY_ALPHA.=.15;.const.STABILIT
48660 59 5f 44 45 56 20 3d 20 32 30 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 24 73 74 61 62 Y_DEV.=.20;..public.static.$stab
48680 69 6c 69 74 69 65 73 20 3d 20 61 72 72 61 79 28 0a 27 73 74 61 62 6c 65 27 20 3d 3e 20 73 65 6c ilities.=.array(.'stable'.=>.sel
486a0 66 3a 3a 53 54 41 42 49 4c 49 54 59 5f 53 54 41 42 4c 45 2c 0a 27 52 43 27 20 3d 3e 20 73 65 6c f::STABILITY_STABLE,.'RC'.=>.sel
486c0 66 3a 3a 53 54 41 42 49 4c 49 54 59 5f 52 43 2c 0a 27 62 65 74 61 27 20 3d 3e 20 73 65 6c 66 3a f::STABILITY_RC,.'beta'.=>.self:
486e0 3a 53 54 41 42 49 4c 49 54 59 5f 42 45 54 41 2c 0a 27 61 6c 70 68 61 27 20 3d 3e 20 73 65 6c 66 :STABILITY_BETA,.'alpha'.=>.self
48700 3a 3a 53 54 41 42 49 4c 49 54 59 5f 41 4c 50 48 41 2c 0a 27 64 65 76 27 20 3d 3e 20 73 65 6c 66 ::STABILITY_ALPHA,.'dev'.=>.self
48720 3a 3a 53 54 41 42 49 4c 49 54 59 5f 44 45 56 2c 0a 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 ::STABILITY_DEV,.);..protected.$
48740 6e 61 6d 65 3b 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 name;.protected.$prettyName;..pr
48760 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 20 24 otected.$repository;.protected.$
48780 69 64 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 id;.......public.function.__cons
487a0 74 72 75 63 74 28 24 6e 61 6d 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 74 74 79 4e 61 6d 65 truct($name).{.$this->prettyName
487c0 20 3d 20 24 6e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 6e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 .=.$name;.$this->name.=.strtolow
487e0 65 72 28 24 6e 61 6d 65 29 3b 0a 24 74 68 69 73 2d 3e 69 64 20 3d 20 2d 31 3b 0a 7d 0a 0a 0a 0a er($name);.$this->id.=.-1;.}....
48800 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
48820 75 72 6e 20 24 74 68 69 73 2d 3e 6e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 urn.$this->name;.}.....public.fu
48840 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 nction.getPrettyName().{.return.
48860 24 74 68 69 73 2d 3e 70 72 65 74 74 79 4e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 $this->prettyName;.}.....public.
48880 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 73 28 29 0a 7b 0a 24 6e 61 6d 65 73 20 3d 20 61 function.getNames().{.$names.=.a
488a0 72 72 61 79 28 0a 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3e 20 74 72 75 65 2c 0a rray(.$this->getName().=>.true,.
488c0 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 76 69 64 65 73 28 );..foreach.($this->getProvides(
488e0 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 67 65 74 54 ).as.$link).{.$names[$link->getT
48900 61 72 67 65 74 28 29 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 arget()].=.true;.}..foreach.($th
48920 69 73 2d 3e 67 65 74 52 65 70 6c 61 63 65 73 28 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 6e is->getReplaces().as.$link).{.$n
48940 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 72 75 65 3b ames[$link->getTarget()].=.true;
48960 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6b 65 79 73 28 24 6e 61 6d 65 73 29 3b 0a 7d .}..return.array_keys($names);.}
48980 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 0a .....public.function.setId($id).
489a0 7b 0a 24 74 68 69 73 2d 3e 69 64 20 3d 20 24 69 64 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 {.$this->id.=.$id;.}.....public.
489c0 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d function.getId().{.return.$this-
489e0 3e 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 73 65 74 52 65 >id;.}.....public.function.setRe
48a00 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 65 pository(RepositoryInterface.$re
48a20 70 6f 73 69 74 6f 72 79 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 pository).{.if.($this->repositor
48a40 79 20 26 26 20 24 72 65 70 6f 73 69 74 6f 72 79 20 21 3d 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f y.&&.$repository.!==.$this->repo
48a60 73 69 74 6f 72 79 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 sitory).{.throw.new.\LogicExcept
48a80 69 6f 6e 28 27 41 20 70 61 63 6b 61 67 65 20 63 61 6e 20 6f 6e 6c 79 20 62 65 20 61 64 64 65 64 ion('A.package.can.only.be.added
48aa0 20 74 6f 20 6f 6e 65 20 72 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 72 .to.one.repository');.}.$this->r
48ac0 65 70 6f 73 69 74 6f 72 79 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 3b 0a 7d 0a 0a 0a 0a 0a 70 epository.=.$repository;.}.....p
48ae0 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 6f 72 79 28 29 0a 7b ublic.function.getRepository().{
48b00 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 3b 0a 7d 0a 0a 0a 0a .return.$this->repository;.}....
48b20 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 6d 28 29 0a ...public.function.isPlatform().
48b40 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 79 28 29 20 {.return.$this->getRepository().
48b60 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 79 3b 0a 7d instanceof.PlatformRepository;.}
48b80 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 69 71 75 65 .......public.function.getUnique
48ba0 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 6d 65 28 29 Name().{.return.$this->getName()
48bc0 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 0a 70 75 62 .'-'.$this->getVersion();.}..pub
48be0 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 6e 74 65 72 lic.function.equals(PackageInter
48c00 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 69 73 3b 0a face.$package).{.$self.=.$this;.
48c20 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 63 6b 61 67 if.($this.instanceof.AliasPackag
48c40 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 4f 66 28 29 e).{.$self.=.$this->getAliasOf()
48c60 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 41 6c 69 61 ;.}.if.($package.instanceof.Alia
48c80 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 61 67 65 2d sPackage).{.$package.=.$package-
48ca0 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 63 6b 61 67 >getAliasOf();.}..return.$packag
48cc0 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 66 75 6e 63 e.===.$self;.}.......public.func
48ce0 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 74 68 69 73 tion.__toString().{.return.$this
48d00 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 20 66 75 6e ->getUniqueName();.}..public.fun
48d20 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 74 75 72 6e ction.getPrettyString().{.return
48d40 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 24 74 68 69 .$this->getPrettyName().'.'.$thi
48d60 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 70 75 62 6c 69 63 s->getPrettyVersion();.}..public
48d80 20 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 70 .function.__clone().{.$this->rep
48da0 6f 73 69 74 6f 72 79 20 3d 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 69 64 20 3d 20 2d 31 3b 0a ository.=.null;.$this->id.=.-1;.
48dc0 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
48de0 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 73 65 20 43 6f omposer\Package\Version;..use.Co
48e00 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 20 mposer\Package\BasePackage;.use.
48e20 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
48e40 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 3b 0a 75 73 e;.use.Composer\Package\Link;.us
48e60 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
48e80 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 6f 73 65 72 5c t\EmptyConstraint;.use.Composer\
48ea0 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 5c 4d 75 6c 74 69 43 6f 6e 73 Package\LinkConstraint\MultiCons
48ec0 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 69 6e traint;.use.Composer\Package\Lin
48ee0 6b 43 6f 6e 73 74 72 61 69 6e 74 5c 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a kConstraint\VersionConstraint;..
48f00 0a 0a 0a 0a 0a 63 6c 61 73 73 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 0a 7b 0a 70 72 69 76 61 .....class.VersionParser.{.priva
48f20 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 2d te.static.$modifierRegex.=.'[._-
48f40 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 70 ]?(?:(stable|beta|b|RC|alpha|a|p
48f60 61 74 63 68 7c 70 6c 7c 70 29 28 3f 3a 5b 2e 2d 5d 3f 28 5c 64 2b 29 29 3f 29 3f 28 5b 2e 2d 5d atch|pl|p)(?:[.-]?(\d+))?)?([.-]
48f80 3f 64 65 76 29 3f 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 ?dev)?';........public.static.fu
48fa0 6e 63 74 69 6f 6e 20 70 61 72 73 65 53 74 61 62 69 6c 69 74 79 28 24 76 65 72 73 69 6f 6e 29 0a nction.parseStability($version).
48fc0 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 23 2e 2b 24 {.$version.=.preg_replace('{#.+$
48fe0 7d 69 27 2c 20 27 27 2c 20 24 76 65 72 73 69 6f 6e 29 3b 0a 0a 69 66 20 28 27 64 65 76 2d 27 20 }i',.'',.$version);..if.('dev-'.
49000 3d 3d 3d 20 73 75 62 73 74 72 28 24 76 65 72 73 69 6f 6e 2c 20 30 2c 20 34 29 20 7c 7c 20 27 2d ===.substr($version,.0,.4).||.'-
49020 64 65 76 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 76 65 72 73 69 6f 6e 2c 20 2d 34 29 29 20 7b dev'.===.substr($version,.-4)).{
49040 0a 72 65 74 75 72 6e 20 27 64 65 76 27 3b 0a 7d 0a 0a 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 27 .return.'dev';.}..preg_match('{'
49060 2e 73 65 6c 66 3a 3a 24 6d 6f 64 69 66 69 65 72 52 65 67 65 78 2e 27 24 7d 69 27 2c 20 73 74 72 .self::$modifierRegex.'$}i',.str
49080 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.(
490a0 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
490c0 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
490e0 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'.=
49100 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';.}
49120 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
49140 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
49160 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
49180 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'
491a0 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 6e 6f 72 6d ;.}..public.static.function.norm
491c0 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 7b 0a 24 73 74 alizeStability($stability).{.$st
491e0 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 6c 69 74 79 29 ability.=.strtolower($stability)
49200 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 63 27 20 3f 20 ;..return.$stability.===.'rc'.?.
49220 27 52 43 27 20 3a 20 24 73 74 61 62 69 6c 69 74 79 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 'RC'.:.$stability;.}..public.sta
49240 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 56 65 72 73 69 6f 6e 28 50 61 63 6b 61 tic.function.formatVersion(Packa
49260 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 74 72 75 6e 63 61 74 65 20 geInterface.$package,.$truncate.
49280 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 2d 3e 69 73 44 65 76 28 29 =.true).{.if.(!$package->isDev()
492a0 20 7c 7c 20 21 69 6e 5f 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 .||.!in_array($package->getSourc
492c0 65 54 79 70 65 28 29 2c 20 61 72 72 61 79 28 27 68 67 27 2c 20 27 67 69 74 27 29 29 29 20 7b 0a eType(),.array('hg',.'git'))).{.
492e0 72 65 74 75 72 6e 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 return.$package->getPrettyVersio
49300 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 26 20 73 74 72 6c 65 n();.}....if.($truncate.&&.strle
49320 6e 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 n($package->getSourceReference()
49340 29 20 3d 3d 3d 20 34 30 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 ).===.40).{.return.$package->get
49360 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 24 PrettyVersion()...'.'...substr($
49380 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 2c 20 30 package->getSourceReference(),.0
493a0 2c 20 37 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 ,.7);.}..return.$package->getPre
493c0 74 74 79 56 65 72 73 69 6f 6e 28 29 20 2e 20 27 20 27 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 ttyVersion()...'.'...$package->g
493e0 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a etSourceReference();.}..........
49400 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 76 65 72 73 69 public.function.normalize($versi
49420 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 24 76 65 72 73 on,.$fullVersion.=.null).{.$vers
49440 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 75 6c 6c 20 3d ion.=.trim($version);.if.(null.=
49460 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 73 69 6f 6e 20 ==.$fullVersion).{.$fullVersion.
49480 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 61 74 63 68 28 =.$version;.}....if.(preg_match(
494a0 27 7b 5e 28 5b 5e 2c 5c 73 5d 2b 29 20 2b 61 73 20 2b 28 5b 5e 2c 5c 73 5d 2b 29 24 7d 27 2c 20 '{^([^,\s]+).+as.+([^,\s]+)$}',.
494c0 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 6e 20 3d 20 $version,.$match)).{.$version.=.
494e0 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 63 68 28 27 $match[1];.}....if.(preg_match('
49500 7b 5e 28 3f 3a 64 65 76 2d 29 3f 28 3f 3a 6d 61 73 74 65 72 7c 74 72 75 6e 6b 7c 64 65 66 61 75 {^(?:dev-)?(?:master|trunk|defau
49520 6c 74 29 24 7d 69 27 2c 20 24 76 65 72 73 69 6f 6e 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 39 39 lt)$}i',.$version)).{.return.'99
49540 39 39 39 39 39 2d 64 65 76 27 3b 0a 7d 0a 0a 69 66 20 28 27 64 65 76 2d 27 20 3d 3d 3d 20 73 74 99999-dev';.}..if.('dev-'.===.st
49560 72 74 6f 6c 6f 77 65 72 28 73 75 62 73 74 72 28 24 76 65 72 73 69 6f 6e 2c 20 30 2c 20 34 29 29 rtolower(substr($version,.0,.4))
49580 29 20 7b 0a 72 65 74 75 72 6e 20 27 64 65 76 2d 27 2e 73 75 62 73 74 72 28 24 76 65 72 73 69 6f ).{.return.'dev-'.substr($versio
495a0 6e 2c 20 34 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 76 3f n,.4);.}....if.(preg_match('{^v?
495c0 28 5c 64 7b 31 2c 33 7d 29 28 5c 2e 5c 64 2b 29 3f 28 5c 2e 5c 64 2b 29 3f 28 5c 2e 5c 64 2b 29 (\d{1,3})(\.\d+)?(\.\d+)?(\.\d+)
495e0 3f 27 2e 73 65 6c 66 3a 3a 24 6d 6f 64 69 66 69 65 72 52 65 67 65 78 2e 27 24 7d 69 27 2c 20 24 ?'.self::$modifierRegex.'$}i',.$
49600 76 65 72 73 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 version,.$matches)).{.$version.=
49620 20 24 6d 61 74 63 68 65 73 5b 31 5d 0a 2e 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 32 .$matches[1]..(!empty($matches[2
49640 5d 29 20 3f 20 24 6d 61 74 63 68 65 73 5b 32 5d 20 3a 20 27 2e 30 27 29 0a 2e 28 21 65 6d 70 74 ]).?.$matches[2].:.'.0')..(!empt
49660 79 28 24 6d 61 74 63 68 65 73 5b 33 5d 29 20 3f 20 24 6d 61 74 63 68 65 73 5b 33 5d 20 3a 20 27 y($matches[3]).?.$matches[3].:.'
49680 2e 30 27 29 0a 2e 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 34 5d 29 20 3f 20 24 6d 61 .0')..(!empty($matches[4]).?.$ma
496a0 74 63 68 65 73 5b 34 5d 20 3a 20 27 2e 30 27 29 3b 0a 24 69 6e 64 65 78 20 3d 20 35 3b 0a 7d 20 tches[4].:.'.0');.$index.=.5;.}.
496c0 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 76 3f 28 5c 64 7b 34 7d 28 3f elseif.(preg_match('{^v?(\d{4}(?
496e0 3a 5b 2e 3a 2d 5d 3f 5c 64 7b 32 7d 29 7b 31 2c 36 7d 28 3f 3a 5b 2e 3a 2d 5d 3f 5c 64 7b 31 2c :[.:-]?\d{2}){1,6}(?:[.:-]?\d{1,
49700 33 7d 29 3f 29 27 2e 73 65 6c 66 3a 3a 24 6d 6f 64 69 66 69 65 72 52 65 67 65 78 2e 27 24 7d 69 3})?)'.self::$modifierRegex.'$}i
49720 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 20 0a 20 24 76 65 72 ',.$version,.$matches)).{...$ver
49740 73 69 6f 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5c 44 7d 27 2c 20 27 2d 27 2c sion.=.preg_replace('{\D}',.'-',
49760 20 24 6d 61 74 63 68 65 73 5b 31 5d 29 3b 0a 24 69 6e 64 65 78 20 3d 20 32 3b 0a 7d 0a 0a 0a 20 .$matches[1]);.$index.=.2;.}....
49780 69 66 20 28 69 73 73 65 74 28 24 69 6e 64 65 78 29 29 20 7b 0a 69 66 20 28 21 65 6d 70 74 79 28 if.(isset($index)).{.if.(!empty(
497a0 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 78 5d 29 29 20 7b 0a 69 66 20 28 27 73 74 61 62 6c 65 $matches[$index])).{.if.('stable
497c0 27 20 3d 3d 3d 20 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 78 5d 29 20 7b 0a 72 65 74 75 72 6e '.===.$matches[$index]).{.return
497e0 20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 24 76 65 72 73 69 6f 6e 20 2e 3d 20 27 2d 27 20 2e 20 24 .$version;.}.$version..=.'-'...$
49800 74 68 69 73 2d 3e 65 78 70 61 6e 64 53 74 61 62 69 6c 69 74 79 28 24 6d 61 74 63 68 65 73 5b 24 this->expandStability($matches[$
49820 69 6e 64 65 78 5d 29 20 2e 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 index])...(!empty($matches[$inde
49840 78 2b 31 5d 29 20 3f 20 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 78 2b 31 5d 20 3a 20 27 27 29 x+1]).?.$matches[$index+1].:.'')
49860 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 24 69 6e 64 65 78 2b ;.}..if.(!empty($matches[$index+
49880 32 5d 29 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 0a 72 65 2])).{.$version..=.'-dev';.}..re
498a0 74 75 72 6e 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 61 74 turn.$version;.}....if.(preg_mat
498c0 63 68 28 27 7b 28 2e 2a 3f 29 5b 2e 2d 5d 3f 64 65 76 24 7d 69 27 2c 20 24 76 65 72 73 69 6f 6e ch('{(.*?)[.-]?dev$}i',.$version
498e0 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d ,.$match)).{.try.{.return.$this-
49900 3e 6e 6f 72 6d 61 6c 69 7a 65 42 72 61 6e 63 68 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 7d 20 63 >normalizeBranch($match[1]);.}.c
49920 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 7d 0a 7d 0a 0a 24 65 78 74 72 atch.(\Exception.$e).{}.}..$extr
49940 61 4d 65 73 73 61 67 65 20 3d 20 27 27 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b aMessage.=.'';.if.(preg_match('{
49960 20 2b 61 73 20 2b 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 76 65 72 73 69 6f 6e 29 2e 27 24 7d .+as.+'.preg_quote($version).'$}
49980 27 2c 20 24 66 75 6c 6c 56 65 72 73 69 6f 6e 29 29 20 7b 0a 24 65 78 74 72 61 4d 65 73 73 61 67 ',.$fullVersion)).{.$extraMessag
499a0 65 20 3d 20 27 20 69 6e 20 22 27 2e 24 66 75 6c 6c 56 65 72 73 69 6f 6e 2e 27 22 2c 20 74 68 65 e.=.'.in."'.$fullVersion.'",.the
499c0 20 61 6c 69 61 73 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 27 .alias.must.be.an.exact.version'
499e0 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 5e 27 2e 70 72 65 67 ;.}.elseif.(preg_match('{^'.preg
49a00 5f 71 75 6f 74 65 28 24 76 65 72 73 69 6f 6e 29 2e 27 20 2b 61 73 20 2b 7d 27 2c 20 24 66 75 6c _quote($version).'.+as.+}',.$ful
49a20 6c 56 65 72 73 69 6f 6e 29 29 20 7b 0a 24 65 78 74 72 61 4d 65 73 73 61 67 65 20 3d 20 27 20 69 lVersion)).{.$extraMessage.=.'.i
49a40 6e 20 22 27 2e 24 66 75 6c 6c 56 65 72 73 69 6f 6e 2e 27 22 2c 20 74 68 65 20 61 6c 69 61 73 20 n."'.$fullVersion.'",.the.alias.
49a60 73 6f 75 72 63 65 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 source.must.be.an.exact.version,
49a80 20 69 66 20 69 74 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 .if.it.is.a.branch.name.you.shou
49aa0 6c 64 20 70 72 65 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 ld.prefix.it.with.dev-';.}..thro
49ac0 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(
49ae0 27 49 6e 76 61 6c 69 64 20 76 65 72 73 69 6f 6e 20 73 74 72 69 6e 67 20 22 27 2e 24 76 65 72 73 'Invalid.version.string."'.$vers
49b00 69 6f 6e 2e 27 22 27 2e 24 65 78 74 72 61 4d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a ion.'"'.$extraMessage);.}.......
49b20 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 42 72 61 6e 63 68 .public.function.normalizeBranch
49b40 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 6d 65 29 3b 0a 0a ($name).{.$name.=.trim($name);..
49b60 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 27 6d 61 73 74 65 if.(in_array($name,.array('maste
49b80 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 7b 0a 72 65 74 75 r',.'trunk',.'default'))).{.retu
49ba0 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 3b 0a 7d 0a 0a 69 rn.$this->normalize($name);.}..i
49bc0 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e 76 3f 28 5c 64 2b 29 28 5c 2e 28 3f 3a 5c 64 f.(preg_match('#^v?(\d+)(\.(?:\d
49be0 2b 7c 5b 78 2a 5d 29 29 3f 28 5c 2e 28 3f 3a 5c 64 2b 7c 5b 78 2a 5d 29 29 3f 28 5c 2e 28 3f 3a +|[x*]))?(\.(?:\d+|[x*]))?(\.(?:
49c00 5c 64 2b 7c 5b 78 2a 5d 29 29 3f 24 23 69 27 2c 20 24 6e 61 6d 65 2c 20 24 6d 61 74 63 68 65 73 \d+|[x*]))?$#i',.$name,.$matches
49c20 29 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 27 27 3b 0a 66 6f 72 20 28 24 69 20 3d 20 31 3b )).{.$version.=.'';.for.($i.=.1;
49c40 20 24 69 20 3c 20 35 3b 20 24 69 2b 2b 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 2e 3d 20 69 73 73 .$i.<.5;.$i++).{.$version..=.iss
49c60 65 74 28 24 6d 61 74 63 68 65 73 5b 24 69 5d 29 20 3f 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 et($matches[$i]).?.str_replace('
49c80 2a 27 2c 20 27 78 27 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 *',.'x',.$matches[$i]).:.'.x';.}
49ca0 0a 0a 72 65 74 75 72 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 ..return.str_replace('x',.'99999
49cc0 39 39 27 2c 20 24 76 65 72 73 69 6f 6e 29 2e 27 2d 64 65 76 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 99',.$version).'-dev';.}..return
49ce0 20 27 64 65 76 2d 27 2e 24 6e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 .'dev-'.$name;.}.........public.
49d00 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 4c 69 6e 6b 73 28 24 73 6f 75 72 63 65 2c 20 24 73 6f function.parseLinks($source,.$so
49d20 75 72 63 65 56 65 72 73 69 6f 6e 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 2c 20 24 6c 69 6e 6b urceVersion,.$description,.$link
49d40 73 29 0a 7b 0a 24 72 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c s).{.$res.=.array();.foreach.($l
49d60 69 6e 6b 73 20 61 73 20 24 74 61 72 67 65 74 20 3d 3e 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 inks.as.$target.=>.$constraint).
49d80 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 24 63 6f 6e 73 74 72 {.if.('self.version'.===.$constr
49da0 61 69 6e 74 29 20 7b 0a 24 70 61 72 73 65 64 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 74 68 69 aint).{.$parsedConstraint.=.$thi
49dc0 73 2d 3e 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 s->parseConstraints($sourceVersi
49de0 6f 6e 29 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 on);.}.else.{.$parsedConstraint.
49e00 3d 20 24 74 68 69 73 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 =.$this->parseConstraints($const
49e20 72 61 69 6e 74 29 3b 0a 7d 0a 24 72 65 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 74 61 72 67 65 raint);.}.$res[strtolower($targe
49e40 74 29 5d 20 3d 20 6e 65 77 20 4c 69 6e 6b 28 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 2c t)].=.new.Link($source,.$target,
49e60 20 24 70 61 72 73 65 64 43 6f 6e 73 74 72 61 69 6e 74 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e .$parsedConstraint,.$description
49e80 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 3b 0a ,.$constraint);.}..return.$res;.
49ea0 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 70 61 72 73 65 43 6f }........public.function.parseCo
49ec0 6e 73 74 72 61 69 6e 74 73 28 24 63 6f 6e 73 74 72 61 69 6e 74 73 29 0a 7b 0a 24 70 72 65 74 74 nstraints($constraints).{.$prett
49ee0 79 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 69 66 20 yConstraint.=.$constraints;..if.
49f00 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 5b 5e 2c 5c 73 5d 2a 3f 29 40 28 27 2e 69 6d 70 (preg_match('{^([^,\s]*?)@('.imp
49f20 6c 6f 64 65 28 27 7c 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 lode('|',.array_keys(BasePackage
49f40 3a 3a 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 6e 73 74 72 ::$stabilities)).')$}i',.$constr
49f60 61 69 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 aints,.$match)).{.$constraints.=
49f80 20 65 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 .empty($match[1]).?.'*'.:.$match
49fa0 5b 31 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 [1];.}..if.(preg_match('{^(dev-[
49fc0 5e 2c 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 ^,\s@]+?|[^,\s@]+?\.x-dev)#.+$}i
49fe0 27 2c 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 ',.$constraints,.$match)).{.$con
4a000 73 74 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 straints.=.$match[1];.}..$orCons
4a020 74 72 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 73 2a 7d traints.=.preg_split('{\s*\|\s*}
4a040 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 70 ',.trim($constraints));.$orGroup
4a060 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 61 s.=.array();.foreach.($orConstra
4a080 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 73 ints.as.$constraints).{.$andCons
4a0a0 74 72 61 69 6e 74 73 20 3d 20 70 72 65 67 5f 73 70 6c 69 74 28 27 7b 5c 73 2a 2c 5c 73 2a 7d 27 traints.=.preg_split('{\s*,\s*}'
4a0c0 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 29 3b 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 61 6e 64 ,.$constraints);..if.(count($and
4a0e0 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 74 72 61 69 6e 74 4f Constraints).>.1).{.$constraintO
4a100 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 20 28 24 61 6e 64 43 bjects.=.array();.foreach.($andC
4a120 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 29 20 7b 0a 24 63 6f onstraints.as.$constraint).{.$co
4a140 6e 73 74 72 61 69 6e 74 4f 62 6a 65 63 74 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 63 nstraintObjects.=.array_merge($c
4a160 6f 6e 73 74 72 61 69 6e 74 4f 62 6a 65 63 74 73 2c 20 24 74 68 69 73 2d 3e 70 61 72 73 65 43 6f onstraintObjects,.$this->parseCo
4a180 6e 73 74 72 61 69 6e 74 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 29 3b 0a 7d 0a 7d 20 65 6c 73 65 nstraint($constraint));.}.}.else
4a1a0 20 7b 0a 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 .{.$constraintObjects.=.$this->p
4a1c0 61 72 73 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 arseConstraint($andConstraints[0
4a1e0 5d 29 3b 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 ]);.}..if.(1.===.count($constrai
4a200 6e 74 4f 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 ntObjects)).{.$constraint.=.$con
4a220 73 74 72 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 straintObjects[0];.}.else.{.$con
4a240 73 74 72 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 straint.=.new.MultiConstraint($c
4a260 6f 6e 73 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 onstraintObjects);.}..$orGroups[
4a280 5d 20 3d 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 ].=.$constraint;.}..if.(1.===.co
4a2a0 75 6e 74 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 unt($orGroups)).{.$constraint.=.
4a2c0 24 6f 72 47 72 6f 75 70 73 5b 30 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6e 73 74 72 61 69 $orGroups[0];.}.else.{.$constrai
4a2e0 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 6f 72 47 72 6f 75 nt.=.new.MultiConstraint($orGrou
4a300 70 73 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 73 65 74 50 ps,.false);.}..$constraint->setP
4a320 72 65 74 74 79 53 74 72 69 6e 67 28 24 70 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 29 3b 0a rettyString($prettyConstraint);.
4a340 0a 72 65 74 75 72 6e 20 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 .return.$constraint;.}..private.
4a360 66 75 6e 63 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 function.parseConstraint($constr
4a380 61 69 6e 74 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 aint).{.if.(preg_match('{^([^,\s
4a3a0 5d 2b 3f 29 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 73 28 ]+?)@('.implode('|',.array_keys(
4a3c0 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 24 7d BasePackage::$stabilities)).')$}
4a3e0 69 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 63 6f 6e i',.$constraint,.$match)).{.$con
4a400 73 74 72 61 69 6e 74 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 69 66 20 28 24 6d 61 74 63 68 5b straint.=.$match[1];.if.($match[
4a420 32 5d 20 21 3d 3d 20 27 73 74 61 62 6c 65 27 29 20 7b 0a 24 73 74 61 62 69 6c 69 74 79 4d 6f 64 2].!==.'stable').{.$stabilityMod
4a440 69 66 69 65 72 20 3d 20 24 6d 61 74 63 68 5b 32 5d 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 70 72 65 67 ifier.=.$match[2];.}.}..if.(preg
4a460 5f 6d 61 74 63 68 28 27 7b 5e 5b 78 2a 5d 28 5c 2e 5b 78 2a 5d 29 2a 24 7d 69 27 2c 20 24 63 6f _match('{^[x*](\.[x*])*$}i',.$co
4a480 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 6e 65 77 20 45 6d nstraint)).{.return.array(new.Em
4a4a0 70 74 79 43 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 ptyConstraint);.}..if.(preg_matc
4a4c0 68 28 27 7b 5e 7e 28 5c 64 2b 29 28 3f 3a 5c 2e 28 5c 64 2b 29 29 3f 28 3f 3a 5c 2e 28 5c 64 2b h('{^~(\d+)(?:\.(\d+))?(?:\.(\d+
4a4e0 29 29 3f 28 3f 3a 5c 2e 28 5c 64 2b 29 29 3f 27 2e 73 65 6c 66 3a 3a 24 6d 6f 64 69 66 69 65 72 ))?(?:\.(\d+))?'.self::$modifier
4a500 52 65 67 65 78 2e 27 3f 24 7d 69 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 6d 61 74 63 Regex.'?$}i',.$constraint,.$matc
4a520 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 34 5d 29 20 26 hes)).{.if.(isset($matches[4]).&
4a540 26 20 27 27 20 21 3d 3d 20 24 6d 61 74 63 68 65 73 5b 34 5d 29 20 7b 0a 24 68 69 67 68 56 65 72 &.''.!==.$matches[4]).{.$highVer
4a560 73 69 6f 6e 20 3d 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 sion.=.$matches[1]...'.'...$matc
4a580 68 65 73 5b 32 5d 20 2e 20 27 2e 27 20 2e 20 28 24 6d 61 74 63 68 65 73 5b 33 5d 20 2b 20 31 29 hes[2]...'.'...($matches[3].+.1)
4a5a0 20 2e 20 27 2e 30 2d 64 65 76 27 3b 0a 24 6c 6f 77 56 65 72 73 69 6f 6e 20 3d 20 24 6d 61 74 63 ...'.0-dev';.$lowVersion.=.$matc
4a5c0 68 65 73 5b 31 5d 20 2e 20 27 2e 27 20 2e 20 24 6d 61 74 63 68 65 73 5b 32 5d 20 2e 20 27 2e 27 hes[1]...'.'...$matches[2]...'.'
4a5e0 20 2e 20 24 6d 61 74 63 68 65 73 5b 33 5d 2e 20 27 2e 27 20 2e 20 24 6d 61 74 63 68 65 73 5b 34 ...$matches[3]..'.'...$matches[4
4a600 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 33 5d 29 20 ];.}.elseif.(isset($matches[3]).
4a620 26 26 20 27 27 20 21 3d 3d 20 24 6d 61 74 63 68 65 73 5b 33 5d 29 20 7b 0a 24 68 69 67 68 56 65 &&.''.!==.$matches[3]).{.$highVe
4a640 72 73 69 6f 6e 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 20 2e 20 27 2e 27 20 2e 20 28 24 6d 61 rsion.=.$matches[1]...'.'...($ma
4a660 74 63 68 65 73 5b 32 5d 20 2b 20 31 29 20 2e 20 27 2e 30 2e 30 2d 64 65 76 27 3b 0a 24 6c 6f 77 tches[2].+.1)...'.0.0-dev';.$low
4a680 56 65 72 73 69 6f 6e 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 20 2e 20 27 2e 27 20 2e 20 24 6d Version.=.$matches[1]...'.'...$m
4a6a0 61 74 63 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 2e 20 27 atches[2]...'.'...$matches[3]..'
4a6c0 2e 30 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 68 69 67 68 56 65 72 73 69 6f 6e 20 3d 20 28 24 6d .0';.}.else.{.$highVersion.=.($m
4a6e0 61 74 63 68 65 73 5b 31 5d 20 2b 20 31 29 20 2e 20 27 2e 30 2e 30 2e 30 2d 64 65 76 27 3b 0a 69 atches[1].+.1)...'.0.0.0-dev';.i
4a700 66 20 28 69 73 73 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 f.(isset($matches[2]).&&.''.!==.
4a720 24 6d 61 74 63 68 65 73 5b 32 5d 29 20 7b 0a 24 6c 6f 77 56 65 72 73 69 6f 6e 20 3d 20 24 6d 61 $matches[2]).{.$lowVersion.=.$ma
4a740 74 63 68 65 73 5b 31 5d 20 2e 20 27 2e 27 20 2e 20 24 6d 61 74 63 68 65 73 5b 32 5d 20 2e 20 27 tches[1]...'.'...$matches[2]...'
4a760 2e 30 2e 30 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6c 6f 77 56 65 72 73 69 6f 6e 20 3d 20 24 6d .0.0';.}.else.{.$lowVersion.=.$m
4a780 61 74 63 68 65 73 5b 31 5d 20 2e 20 27 2e 30 2e 30 2e 30 27 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 atches[1]...'.0.0.0';.}.}..if.(!
4a7a0 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 35 5d 29 29 20 7b 0a 24 6c 6f 77 56 65 72 73 69 6f empty($matches[5])).{.$lowVersio
4a7c0 6e 20 2e 3d 20 27 2d 27 20 2e 20 24 74 68 69 73 2d 3e 65 78 70 61 6e 64 53 74 61 62 69 6c 69 74 n..=.'-'...$this->expandStabilit
4a7e0 79 28 24 6d 61 74 63 68 65 73 5b 35 5d 29 20 2e 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 y($matches[5])...(!empty($matche
4a800 73 5b 36 5d 29 20 3f 20 24 6d 61 74 63 68 65 73 5b 36 5d 20 3a 20 27 27 29 3b 0a 7d 0a 0a 69 66 s[6]).?.$matches[6].:.'');.}..if
4a820 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 37 5d 29 29 20 7b 0a 24 6c 6f 77 56 65 72 .(!empty($matches[7])).{.$lowVer
4a840 73 69 6f 6e 20 2e 3d 20 27 2d 64 65 76 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 sion..=.'-dev';.}..return.array(
4a860 0a 6e 65 77 20 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 28 27 3e 3d 27 2c 20 24 6c 6f .new.VersionConstraint('>=',.$lo
4a880 77 56 65 72 73 69 6f 6e 29 2c 0a 6e 65 77 20 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 wVersion),.new.VersionConstraint
4a8a0 28 27 3c 27 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 69 66 20 ('<',.$highVersion),.);.}....if.
4a8c0 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 5c 64 2b 29 28 3f 3a 5c 2e 28 5c 64 2b 29 29 3f (preg_match('{^(\d+)(?:\.(\d+))?
4a8e0 28 3f 3a 5c 2e 28 5c 64 2b 29 29 3f 5c 2e 5b 78 2a 5d 24 7d 27 2c 20 24 63 6f 6e 73 74 72 61 69 (?:\.(\d+))?\.[x*]$}',.$constrai
4a900 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 74 28 24 6d 61 74 63 nt,.$matches)).{.if.(isset($matc
4a920 68 65 73 5b 33 5d 29 29 20 7b 0a 24 68 69 67 68 56 65 72 73 69 6f 6e 20 3d 20 24 6d 61 74 63 68 hes[3])).{.$highVersion.=.$match
4a940 65 73 5b 31 5d 20 2e 20 27 2e 27 20 2e 20 24 6d 61 74 63 68 65 73 5b 32 5d 20 2e 20 27 2e 27 20 es[1]...'.'...$matches[2]...'.'.
4a960 2e 20 24 6d 61 74 63 68 65 73 5b 33 5d 20 2e 20 27 2e 39 39 39 39 39 39 39 27 3b 0a 69 66 20 28 ..$matches[3]...'.9999999';.if.(
4a980 24 6d 61 74 63 68 65 73 5b 33 5d 20 3d 3d 3d 20 27 30 27 29 20 7b 0a 24 6c 6f 77 56 65 72 73 69 $matches[3].===.'0').{.$lowVersi
4a9a0 6f 6e 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 20 2e 20 27 2e 27 20 2e 20 28 24 6d 61 74 63 68 on.=.$matches[1]...'.'...($match
4a9c0 65 73 5b 32 5d 20 2d 20 31 29 20 2e 20 27 2e 39 39 39 39 39 39 39 2e 39 39 39 39 39 39 39 27 3b es[2].-.1)...'.9999999.9999999';
4a9e0 0a 7d 20 65 6c 73 65 20 7b 0a 24 6c 6f 77 56 65 72 73 69 6f 6e 20 3d 20 24 6d 61 74 63 68 65 73 .}.else.{.$lowVersion.=.$matches
4aa00 5b 31 5d 20 2e 20 27 2e 27 20 2e 20 24 6d 61 74 63 68 65 73 5b 32 5d 20 2e 20 27 2e 27 20 2e 20 [1]...'.'...$matches[2]...'.'...
4aa20 28 24 6d 61 74 63 68 65 73 5b 33 5d 20 2d 20 31 29 2e 20 27 2e 39 39 39 39 39 39 39 27 3b 0a 7d ($matches[3].-.1)..'.9999999';.}
4aa40 0a 7d 20 65 6c 73 65 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 .}.elseif.(isset($matches[2])).{
4aa60 0a 24 68 69 67 68 56 65 72 73 69 6f 6e 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 20 2e 20 27 2e .$highVersion.=.$matches[1]...'.
4aa80 27 20 2e 20 24 6d 61 74 63 68 65 73 5b 32 5d 20 2e 20 27 2e 39 39 39 39 39 39 39 2e 39 39 39 39 '...$matches[2]...'.9999999.9999
4aaa0 39 39 39 27 3b 0a 69 66 20 28 24 6d 61 74 63 68 65 73 5b 32 5d 20 3d 3d 3d 20 27 30 27 29 20 7b 999';.if.($matches[2].===.'0').{
4aac0 0a 24 6c 6f 77 56 65 72 73 69 6f 6e 20 3d 20 28 24 6d 61 74 63 68 65 73 5b 31 5d 20 2d 20 31 29 .$lowVersion.=.($matches[1].-.1)
4aae0 20 2e 20 27 2e 39 39 39 39 39 39 39 2e 39 39 39 39 39 39 39 2e 39 39 39 39 39 39 39 27 3b 0a 7d ...'.9999999.9999999.9999999';.}
4ab00 20 65 6c 73 65 20 7b 0a 24 6c 6f 77 56 65 72 73 69 6f 6e 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 .else.{.$lowVersion.=.$matches[1
4ab20 5d 20 2e 20 27 2e 27 20 2e 20 28 24 6d 61 74 63 68 65 73 5b 32 5d 20 2d 20 31 29 20 2e 20 27 2e ]...'.'...($matches[2].-.1)...'.
4ab40 39 39 39 39 39 39 39 2e 39 39 39 39 39 39 39 27 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 68 69 9999999.9999999';.}.}.else.{.$hi
4ab60 67 68 56 65 72 73 69 6f 6e 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 20 2e 20 27 2e 39 39 39 39 ghVersion.=.$matches[1]...'.9999
4ab80 39 39 39 2e 39 39 39 39 39 39 39 2e 39 39 39 39 39 39 39 27 3b 0a 69 66 20 28 24 6d 61 74 63 68 999.9999999.9999999';.if.($match
4aba0 65 73 5b 31 5d 20 3d 3d 3d 20 27 30 27 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 6e 65 es[1].===.'0').{.return.array(ne
4abc0 77 20 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 28 27 3c 27 2c 20 24 68 69 67 68 56 65 w.VersionConstraint('<',.$highVe
4abe0 72 73 69 6f 6e 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6c 6f 77 56 65 72 73 69 6f 6e 20 3d 20 rsion));.}.else.{.$lowVersion.=.
4ac00 28 24 6d 61 74 63 68 65 73 5b 31 5d 20 2d 20 31 29 20 2e 20 27 2e 39 39 39 39 39 39 39 2e 39 39 ($matches[1].-.1)...'.9999999.99
4ac20 39 39 39 39 39 2e 39 39 39 39 39 39 39 27 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 99999.9999999';.}.}..return.arra
4ac40 79 28 0a 6e 65 77 20 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 28 27 3e 27 2c 20 24 6c y(.new.VersionConstraint('>',.$l
4ac60 6f 77 56 65 72 73 69 6f 6e 29 2c 0a 6e 65 77 20 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e owVersion),.new.VersionConstrain
4ac80 74 28 27 3c 27 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 69 66 t('<',.$highVersion),.);.}....if
4aca0 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('{^(<>|!=|>=?|<=?|=
4acc0 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
4ace0 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-
4ad00 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
4ad20 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
4ad40 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).===.
4ad60 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
4ad80 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.('<'.
4ada0 3d 3d 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 29 20 7b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 ===.$matches[1]).{.if.(!preg_mat
4adc0 63 68 28 27 2f 2d 73 74 61 62 6c 65 24 2f 27 2c 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 6d 61 74 ch('/-stable$/',.strtolower($mat
4ade0 63 68 65 73 5b 32 5d 29 29 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 2e 3d 20 27 2d 64 65 76 27 3b ches[2]))).{.$version..=.'-dev';
4ae00 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 6e 65 77 20 56 65 72 73 69 6f 6e 43 6f .}.}..return.array(new.VersionCo
4ae20 6e 73 74 72 61 69 6e 74 28 24 6d 61 74 63 68 65 73 5b 31 5d 20 3f 3a 20 27 3d 27 2c 20 24 76 65 nstraint($matches[1].?:.'=',.$ve
4ae40 72 73 69 6f 6e 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 rsion));.}.catch.(\Exception.$e)
4ae60 20 7b 20 7d 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 43 6f 75 6c 64 20 6e 6f 74 20 70 61 .{.}.}..$message.=.'Could.not.pa
4ae80 72 73 65 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 20 27 2e 24 63 6f 6e 73 74 72 rse.version.constraint.'.$constr
4aea0 61 69 6e 74 3b 0a 69 66 20 28 69 73 73 65 74 28 24 65 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 aint;.if.(isset($e)).{.$message.
4aec0 2e 3d 20 27 3a 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 7d 0a 0a 74 68 72 .=.':.'.$e->getMessage();.}..thr
4aee0 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
4af00 28 24 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 ($message);.}..private.function.
4af20 65 78 70 61 6e 64 53 74 61 62 69 6c 69 74 79 28 24 73 74 61 62 69 6c 69 74 79 29 0a 7b 0a 24 73 expandStability($stability).{.$s
4af40 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 6c 69 74 79 tability.=.strtolower($stability
4af60 29 3b 0a 0a 73 77 69 74 63 68 20 28 24 73 74 61 62 69 6c 69 74 79 29 20 7b 0a 63 61 73 65 20 27 );..switch.($stability).{.case.'
4af80 61 27 3a 0a 72 65 74 75 72 6e 20 27 61 6c 70 68 61 27 3b 0a 63 61 73 65 20 27 62 27 3a 0a 72 65 a':.return.'alpha';.case.'b':.re
4afa0 74 75 72 6e 20 27 62 65 74 61 27 3b 0a 63 61 73 65 20 27 70 27 3a 0a 63 61 73 65 20 27 70 6c 27 turn.'beta';.case.'p':.case.'pl'
4afc0 3a 0a 72 65 74 75 72 6e 20 27 70 61 74 63 68 27 3b 0a 63 61 73 65 20 27 72 63 27 3a 0a 72 65 74 :.return.'patch';.case.'rc':.ret
4afe0 75 72 6e 20 27 52 43 27 3b 0a 64 65 66 61 75 6c 74 3a 0a 72 65 74 75 72 6e 20 24 73 74 61 62 69 urn.'RC';.default:.return.$stabi
4b000 6c 69 74 79 3b 0a 7d 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 lity;.}.}........public.function
4b020 20 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 61 79 20 24 70 61 .parseNameVersionPairs(array.$pa
4b040 69 72 73 29 0a 7b 0a 24 70 61 69 72 73 20 3d 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 70 61 irs).{.$pairs.=.array_values($pa
4b060 69 72 73 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 20 28 24 irs);.$result.=.array();..for.($
4b080 69 20 3d 20 30 2c 20 24 63 6f 75 6e 74 20 3d 20 63 6f 75 6e 74 28 24 70 61 69 72 73 29 3b 20 24 i.=.0,.$count.=.count($pairs);.$
4b0a0 69 20 3c 20 24 63 6f 75 6e 74 3b 20 24 69 2b 2b 29 20 7b 0a 24 70 61 69 72 20 3d 20 70 72 65 67 i.<.$count;.$i++).{.$pair.=.preg
4b0c0 5f 72 65 70 6c 61 63 65 28 27 7b 5e 28 5b 5e 3d 3a 20 5d 2b 29 5b 3d 3a 20 5d 28 2e 2a 29 24 7d _replace('{^([^=:.]+)[=:.](.*)$}
4b0e0 27 2c 20 27 24 31 20 24 32 27 2c 20 74 72 69 6d 28 24 70 61 69 72 73 5b 24 69 5d 29 29 3b 0a 69 ',.'$1.$2',.trim($pairs[$i]));.i
4b100 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 70 61 69 72 2c 20 27 20 27 29 20 f.(false.===.strpos($pair,.'.').
4b120 26 26 20 69 73 73 65 74 28 24 70 61 69 72 73 5b 24 69 2b 31 5d 29 20 26 26 20 66 61 6c 73 65 20 &&.isset($pairs[$i+1]).&&.false.
4b140 3d 3d 3d 20 73 74 72 70 6f 73 28 24 70 61 69 72 73 5b 24 69 2b 31 5d 2c 20 27 2f 27 29 29 20 7b ===.strpos($pairs[$i+1],.'/')).{
4b160 0a 24 70 61 69 72 20 2e 3d 20 27 20 27 2e 24 70 61 69 72 73 5b 24 69 2b 31 5d 3b 0a 24 69 2b 2b .$pair..=.'.'.$pairs[$i+1];.$i++
4b180 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 20 7b 0a 6c ;.}..if.(strpos($pair,.'.')).{.l
4b1a0 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 64 65 28 22 ist($name,.$version).=.explode("
4b1c0 20 22 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 72 72 61 79 .",.$pair,.2);.$result[].=.array
4b1e0 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 3d 3e 20 24 ('name'.=>.$name,.'version'.=>.$
4b200 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 20 3d 20 61 version);.}.else.{.$result[].=.a
4b220 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 72 65 74 75 rray('name'.=>.$pair);.}.}..retu
4b240 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 0a 0a 0a 0a 0a rn.$result;.}.}.<?php...........
4b260 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;....
4b280 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 65 ...interface.CompletePackageInte
4b2a0 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 7b rface.extends.PackageInterface.{
4b2c0 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 73 ......public.function.getScripts
4b2e0 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 52 ();.........public.function.getR
4b300 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 63 epositories();.......public.func
4b320 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 20 tion.getLicense();.......public.
4b340 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 75 function.getKeywords();.......pu
4b360 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 0a blic.function.getDescription();.
4b380 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 67 ......public.function.getHomepag
4b3a0 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 74 e();.........public.function.get
4b3c0 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 6e Authors();.......public.function
4b3e0 20 67 65 74 53 75 70 70 6f 72 74 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a .getSupport();.}.<?php..........
4b400 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;...
4b420 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 ....interface.RootPackageInterfa
4b440 63 65 20 65 78 74 65 6e 64 73 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 ce.extends.CompletePackageInterf
4b460 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 67 65 74 41 6c ace.{......public.function.getAl
4b480 69 61 73 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 iases();.......public.function.g
4b4a0 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 etMinimumStability();.........pu
4b4c0 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 46 6c 61 67 73 28 blic.function.getStabilityFlags(
4b4e0 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 52 65 );.........public.function.getRe
4b500 66 65 72 65 6e 63 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 ferences();.......public.functio
4b520 6e 20 67 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 n.getPreferStable();.......publi
4b540 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 71 75 69 72 65 73 28 61 72 72 61 79 20 24 72 65 c.function.setRequires(array.$re
4b560 71 75 69 72 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 73 quires);.......public.function.s
4b580 65 74 44 65 76 52 65 71 75 69 72 65 73 28 61 72 72 61 79 20 24 64 65 76 52 65 71 75 69 72 65 73 etDevRequires(array.$devRequires
4b5a0 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 20 );.}.<?php............namespace.
4b5c0 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 6f Composer\Package;.......class.Ro
4b5e0 6f 74 50 61 63 6b 61 67 65 20 65 78 74 65 6e 64 73 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 otPackage.extends.CompletePackag
4b600 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 e.implements.RootPackageInterfac
4b620 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 20 e.{.protected.$minimumStability.
4b640 3d 20 27 73 74 61 62 6c 65 27 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 65 66 65 72 53 74 61 =.'stable';.protected.$preferSta
4b660 62 6c 65 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 ble.=.false;.protected.$stabilit
4b680 79 46 6c 61 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 66 yFlags.=.array();.protected.$ref
4b6a0 65 72 65 6e 63 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 61 6c erences.=.array();.protected.$al
4b6c0 69 61 73 65 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 75 iases.=.array();.......public.fu
4b6e0 6e 63 74 69 6f 6e 20 73 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 24 6d 69 6e 69 nction.setMinimumStability($mini
4b700 6d 75 6d 53 74 61 62 69 6c 69 74 79 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 69 6e 69 6d 75 6d 53 74 mumStability).{.$this->minimumSt
4b720 61 62 69 6c 69 74 79 20 3d 20 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 3b 0a 7d 0a 0a ability.=.$minimumStability;.}..
4b740 0a 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 61 ...public.function.getMinimumSta
4b760 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 6d 69 6e 69 6d 75 6d bility().{.return.$this->minimum
4b780 53 74 61 62 69 6c 69 74 79 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 Stability;.}.......public.functi
4b7a0 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 74 61 62 on.setStabilityFlags(array.$stab
4b7c0 69 6c 69 74 79 46 6c 61 67 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 46 6c ilityFlags).{.$this->stabilityFl
4b7e0 61 67 73 20 3d 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 ags.=.$stabilityFlags;.}.....pub
4b800 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 46 6c 61 67 73 28 29 lic.function.getStabilityFlags()
4b820 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 46 6c 61 67 73 3b .{.return.$this->stabilityFlags;
4b840 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 50 72 65 66 .}.......public.function.setPref
4b860 65 72 53 74 61 62 6c 65 28 24 70 72 65 66 65 72 53 74 61 62 6c 65 29 0a 7b 0a 24 74 68 69 73 2d erStable($preferStable).{.$this-
4b880 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 6c 65 3b 0a 7d >preferStable.=.$preferStable;.}
4b8a0 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 65 66 65 72 53 74 .....public.function.getPreferSt
4b8c0 61 62 6c 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 65 66 65 72 53 74 61 able().{.return.$this->preferSta
4b8e0 62 6c 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 65 74 ble;.}.......public.function.set
4b900 52 65 66 65 72 65 6e 63 65 73 28 61 72 72 61 79 20 24 72 65 66 65 72 65 6e 63 65 73 29 0a 7b 0a References(array.$references).{.
4b920 24 74 68 69 73 2d 3e 72 65 66 65 72 65 6e 63 65 73 20 3d 20 24 72 65 66 65 72 65 6e 63 65 73 3b $this->references.=.$references;
4b940 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 66 65 72 65 .}.....public.function.getRefere
4b960 6e 63 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 66 65 72 65 6e 63 65 nces().{.return.$this->reference
4b980 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 41 6c s;.}.......public.function.setAl
4b9a0 69 61 73 65 73 28 61 72 72 61 79 20 24 61 6c 69 61 73 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 iases(array.$aliases).{.$this->a
4b9c0 6c 69 61 73 65 73 20 3d 20 24 61 6c 69 61 73 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 liases.=.$aliases;.}.....public.
4b9e0 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 72 6e 20 24 function.getAliases().{.return.$
4ba00 74 68 69 73 2d 3e 61 6c 69 61 73 65 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a this->aliases;.}.}.<?php........
4ba20 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 5c 41 ....namespace.Composer\Package\A
4ba40 72 63 68 69 76 65 72 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 41 72 63 68 69 76 65 rchiver;.......interface.Archive
4ba60 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 rInterface.{...........public.fu
4ba80 6e 63 74 69 6f 6e 20 61 72 63 68 69 76 65 28 24 73 6f 75 72 63 65 73 2c 20 24 74 61 72 67 65 74 nction.archive($sources,.$target
4baa0 2c 20 24 66 6f 72 6d 61 74 2c 20 61 72 72 61 79 20 24 65 78 63 6c 75 64 65 73 20 3d 20 61 72 72 ,.$format,.array.$excludes.=.arr
4bac0 61 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 ay());..........public.function.
4bae0 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 3b 0a supports($format,.$sourceType);.
4bb00 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
4bb20 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 0a 0a 0a 0a 0a 63 6c poser\Package\Archiver;.......cl
4bb40 61 73 73 20 43 6f 6d 70 6f 73 65 72 45 78 63 6c 75 64 65 46 69 6c 74 65 72 20 65 78 74 65 6e 64 ass.ComposerExcludeFilter.extend
4bb60 73 20 42 61 73 65 45 78 63 6c 75 64 65 46 69 6c 74 65 72 0a 7b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 s.BaseExcludeFilter.{.....public
4bb80 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 50 61 74 .function.__construct($sourcePat
4bba0 68 2c 20 61 72 72 61 79 20 24 65 78 63 6c 75 64 65 52 75 6c 65 73 29 0a 7b 0a 70 61 72 65 6e 74 h,.array.$excludeRules).{.parent
4bbc0 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 24 74 68 69 ::__construct($sourcePath);.$thi
4bbe0 73 2d 3e 65 78 63 6c 75 64 65 50 61 74 74 65 72 6e 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 s->excludePatterns.=.$this->gene
4bc00 72 61 74 65 50 61 74 74 65 72 6e 73 28 24 65 78 63 6c 75 64 65 52 75 6c 65 73 29 3b 0a 7d 0a 7d ratePatterns($excludeRules);.}.}
4bc20 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
4bc40 6f 73 65 72 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 63 6c 61 oser\Package\Archiver;.......cla
4bc60 73 73 20 50 68 61 72 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 ss.PharArchiver.implements.Archi
4bc80 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.
4bca0 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 5c 50 68 61 72 $formats.=.array(.'zip'.=>.\Phar
4bcc0 3a 3a 5a 49 50 2c 0a 27 74 61 72 27 20 3d 3e 20 5c 50 68 61 72 3a 3a 54 41 52 2c 0a 29 3b 0a 0a ::ZIP,.'tar'.=>.\Phar::TAR,.);..
4bce0 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 75 72 ...public.function.archive($sour
4bd00 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 65 78 ces,.$target,.$format,.array.$ex
4bd20 63 6c 75 64 65 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 73 6f 75 72 63 65 73 20 3d 20 72 cludes.=.array()).{.$sources.=.r
4bd40 65 61 6c 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 ealpath($sources);....if.(file_e
4bd60 78 69 73 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 xists($target)).{.unlink($target
4bd80 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 70 68 61 72 20 3d 20 6e 65 77 20 5c 50 68 61 72 44 61 74 );.}..try.{.$phar.=.new.\PharDat
4bda0 61 28 24 74 61 72 67 65 74 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 73 74 61 74 69 63 3a 3a 24 a($target,.null,.null,.static::$
4bdc0 66 6f 72 6d 61 74 73 5b 24 66 6f 72 6d 61 74 5d 29 3b 0a 24 66 69 6c 65 73 20 3d 20 6e 65 77 20 formats[$format]);.$files.=.new.
4bde0 41 72 63 68 69 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 ArchivableFilesFinder($sources,.
4be00 24 65 78 63 6c 75 64 65 73 29 3b 0a 24 70 68 61 72 2d 3e 62 75 69 6c 64 46 72 6f 6d 49 74 65 72 $excludes);.$phar->buildFromIter
4be20 61 74 6f 72 28 24 66 69 6c 65 73 2c 20 24 73 6f 75 72 63 65 73 29 3b 0a 0a 72 65 74 75 72 6e 20 ator($files,.$sources);..return.
4be40 24 74 61 72 67 65 74 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 $target;.}.catch.(\UnexpectedVal
4be60 75 65 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 73 70 72 ueException.$e).{.$message.=.spr
4be80 69 6e 74 66 28 22 43 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 intf("Could.not.create.archive.'
4bea0 25 73 27 20 66 72 6f 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 %s'.from.'%s':.%s",.$target,.$so
4bec0 75 72 63 65 73 2c 0a 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 urces,.$e->getMessage().);..thro
4bee0 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 6d 65 73 73 61 67 65 w.new.\RuntimeException($message
4bf00 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 0a 0a 0a 0a 70 75 ,.$e->getCode(),.$e);.}.}.....pu
4bf20 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 6d 61 74 2c 20 blic.function.supports($format,.
4bf40 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 28 73 74 61 74 $sourceType).{.return.isset(stat
4bf60 69 63 3a 3a 24 66 6f 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 ic::$formats[$format]);.}.}.<?ph
4bf80 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\
4bfa0 50 61 63 6b 61 67 65 5c 41 72 63 68 69 76 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 Package\Archiver;..use.Symfony\C
4bfc0 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 3b 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c omponent\Finder;.....abstract.cl
4bfe0 61 73 73 20 42 61 73 65 45 78 63 6c 75 64 65 46 69 6c 74 65 72 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 ass.BaseExcludeFilter.{....prote
4c000 63 74 65 64 20 24 73 6f 75 72 63 65 50 61 74 68 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 cted.$sourcePath;.....protected.
4c020 24 65 78 63 6c 75 64 65 50 61 74 74 65 72 6e 73 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e $excludePatterns;.....public.fun
4c040 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 50 61 74 68 29 0a 7b ction.__construct($sourcePath).{
4c060 0a 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 50 61 74 68 20 3d 20 24 73 6f 75 72 63 65 50 61 74 68 .$this->sourcePath.=.$sourcePath
4c080 3b 0a 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 50 61 74 74 65 72 6e 73 20 3d 20 61 72 72 61 79 ;.$this->excludePatterns.=.array
4c0a0 28 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 ();.}............public.function
4c0c0 20 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 65 29 .filter($relativePath,.$exclude)
4c0e0 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 50 61 74 74 65 72 .{.foreach.($this->excludePatter
4c100 6e 73 20 61 73 20 24 70 61 74 74 65 72 6e 44 61 74 61 29 20 7b 0a 6c 69 73 74 28 24 70 61 74 74 ns.as.$patternData).{.list($patt
4c120 65 72 6e 2c 20 24 6e 65 67 61 74 65 2c 20 24 73 74 72 69 70 4c 65 61 64 69 6e 67 53 6c 61 73 68 ern,.$negate,.$stripLeadingSlash
4c140 29 20 3d 20 24 70 61 74 74 65 72 6e 44 61 74 61 3b 0a 0a 69 66 20 28 24 73 74 72 69 70 4c 65 61 ).=.$patternData;..if.($stripLea
4c160 64 69 6e 67 53 6c 61 73 68 29 20 7b 0a 24 70 61 74 68 20 3d 20 73 75 62 73 74 72 28 24 72 65 6c dingSlash).{.$path.=.substr($rel
4c180 61 74 69 76 65 50 61 74 68 2c 20 31 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 74 68 20 3d 20 ativePath,.1);.}.else.{.$path.=.
4c1a0 24 72 65 6c 61 74 69 76 65 50 61 74 68 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 $relativePath;.}..if.(preg_match
4c1c0 28 24 70 61 74 74 65 72 6e 2c 20 24 70 61 74 68 29 29 20 7b 0a 24 65 78 63 6c 75 64 65 20 3d 20 ($pattern,.$path)).{.$exclude.=.
4c1e0 21 24 6e 65 67 61 74 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 78 63 6c 75 64 65 3b 0a !$negate;.}.}..return.$exclude;.
4c200 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 70 61 }..........protected.function.pa
4c220 72 73 65 4c 69 6e 65 73 28 61 72 72 61 79 20 24 6c 69 6e 65 73 2c 20 24 6c 69 6e 65 50 61 72 73 rseLines(array.$lines,.$linePars
4c240 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 0a 61 72 72 61 79 er).{.return.array_filter(.array
4c260 5f 6d 61 70 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 6c 69 6e 65 29 20 75 73 65 20 28 24 6c 69 6e _map(.function.($line).use.($lin
4c280 65 50 61 72 73 65 72 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 eParser).{.$line.=.trim($line);.
4c2a0 0a 24 63 6f 6d 6d 65 6e 74 48 61 73 68 20 3d 20 73 74 72 70 6f 73 28 24 6c 69 6e 65 2c 20 27 23 .$commentHash.=.strpos($line,.'#
4c2c0 27 29 3b 0a 69 66 20 28 24 63 6f 6d 6d 65 6e 74 48 61 73 68 20 21 3d 3d 20 66 61 6c 73 65 29 20 ');.if.($commentHash.!==.false).
4c2e0 7b 0a 24 6c 69 6e 65 20 3d 20 73 75 62 73 74 72 28 24 6c 69 6e 65 2c 20 30 2c 20 24 63 6f 6d 6d {.$line.=.substr($line,.0,.$comm
4c300 65 6e 74 48 61 73 68 29 3b 0a 7d 0a 0a 69 66 20 28 24 6c 69 6e 65 29 20 7b 0a 72 65 74 75 72 6e entHash);.}..if.($line).{.return
4c320 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 6c 69 6e 65 50 61 72 73 65 72 2c 20 24 6c 69 .call_user_func($lineParser,.$li
4c340 6e 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 2c 20 24 6c 69 6e 65 73 29 2c ne);.}..return.null;.},.$lines),
4c360 0a 66 75 6e 63 74 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 .function.($pattern).{.return.$p
4c380 61 74 74 65 72 6e 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 attern.!==.null;.}.);.}.........
4c3a0 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 74 74 65 protected.function.generatePatte
4c3c0 72 6e 73 28 24 72 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 rns($rules).{.$patterns.=.array(
4c3e0 29 3b 0a 66 6f 72 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 );.foreach.($rules.as.$rule).{.$
4c400 70 61 74 74 65 72 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 patterns[].=.$this->generatePatt
4c420 65 72 6e 28 24 72 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 ern($rule);.}..return.$patterns;
4c440 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 20 67 65 .}.........protected.function.ge
4c460 6e 65 72 61 74 65 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 neratePattern($rule).{.$negate.=
4c480 20 66 61 6c 73 65 3b 0a 24 70 61 74 74 65 72 6e 20 3d 20 27 23 27 3b 0a 0a 69 66 20 28 73 74 72 .false;.$pattern.=.'#';..if.(str
4c4a0 6c 65 6e 28 24 72 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 len($rule).&&.$rule[0].===.'!').
4c4c0 7b 0a 24 6e 65 67 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 {.$negate.=.true;.$rule.=.substr
4c4e0 28 24 72 75 6c 65 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 ($rule,.1);.}..if.(strlen($rule)
4c500 20 26 26 20 24 72 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 .&&.$rule[0].===.'/').{.$pattern
4c520 20 2e 3d 20 27 5e 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 ..=.'^/';.$rule.=.substr($rule,.
4c540 31 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 1);.}.elseif.(false.===.strpos($
4c560 72 75 6c 65 2c 20 27 2f 27 29 20 7c 7c 20 73 74 72 6c 65 6e 28 24 72 75 6c 65 29 20 2d 20 31 20 rule,.'/').||.strlen($rule).-.1.
4c580 3d 3d 3d 20 73 74 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 ===.strpos($rule,.'/')).{.$patte
4c5a0 72 6e 20 2e 3d 20 27 2f 27 3b 0a 7d 0a 0a 24 70 61 74 74 65 72 6e 20 2e 3d 20 73 75 62 73 74 72 rn..=.'/';.}..$pattern..=.substr
4c5c0 28 46 69 6e 64 65 72 5c 47 6c 6f 62 3a 3a 74 6f 52 65 67 65 78 28 24 72 75 6c 65 29 2c 20 32 2c (Finder\Glob::toRegex($rule),.2,
4c5e0 20 2d 32 29 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 27 .-2);..return.array($pattern...'
4c600 23 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 0a #',.$negate,.false);.}.}.<?php..
4c620 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
4c640 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
4c660 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
4c680 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._
4c6a0 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
4c6c0 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.
4c6e0 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
4c700 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
4c720 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
4c740 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
4c760 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').);.}.
4c780 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
4c7a0 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
4c7c0 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
4c7e0 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
4c800 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
4c820 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
4c840 74 72 69 62 75 74 65 73 4c 69 6e 65 27 29 0a 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 tributesLine').));.}.}.........p
4c860 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 6e ublic.function.parseGitIgnoreLin
4c880 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 74 e($line).{.return.$this->generat
4c8a0 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 69 ePattern($line);.}.........publi
4c8c0 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 6e c.function.parseGitAttributesLin
4c8e0 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 27 e($line).{.$parts.=.preg_split('
4c900 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 74 #\s+#',.$line);..if.(count($part
4c920 73 29 20 21 3d 20 32 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 69 66 20 28 24 s).!=.2).{.return.null;.}..if.($
4c940 70 61 72 74 73 5b 31 5d 20 3d 3d 3d 20 27 65 78 70 6f 72 74 2d 69 67 6e 6f 72 65 27 29 20 7b 0a parts[1].===.'export-ignore').{.
4c960 72 65 74 75 72 6e 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 70 return.$this->generatePattern($p
4c980 61 72 74 73 5b 30 5d 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 arts[0]);.}.}.}.<?php...........
4c9a0 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 5c 41 72 63 68 .namespace.Composer\Package\Arch
4c9c0 69 76 65 72 3b 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 iver;..use.Composer\Util\Filesys
4c9e0 74 65 6d 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 tem;..use.Symfony\Component\Find
4ca00 65 72 3b 0a 0a 0a 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 er;..........class.ArchivableFil
4ca20 65 73 46 69 6e 64 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 esFinder.extends.\FilterIterator
4ca40 0a 7b 0a 0a 0a 0a 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 .{....protected.$finder;........
4ca60 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 75 public.function.__construct($sou
4ca80 72 63 65 73 2c 20 61 72 72 61 79 20 24 65 78 63 6c 75 64 65 73 29 0a 7b 0a 24 66 73 20 3d 20 6e rces,.array.$excludes).{.$fs.=.n
4caa0 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 0a 24 73 6f 75 72 63 65 73 20 3d 20 24 66 73 ew.Filesystem();..$sources.=.$fs
4cac0 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 73 6f 75 72 63 65 73 29 3b 0a 0a 24 66 69 6c ->normalizePath($sources);..$fil
4cae0 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 65 46 69 6c 74 65 ters.=.array(.new.HgExcludeFilte
4cb00 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 65 46 69 6c 74 65 r($sources),.new.GitExcludeFilte
4cb20 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 78 63 6c 75 64 65 r($sources),.new.ComposerExclude
4cb40 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 29 2c 0a 29 3b 0a Filter($sources,.$excludes),.);.
4cb60 0a 24 74 68 69 73 2d 3e 66 69 6e 64 65 72 20 3d 20 6e 65 77 20 46 69 6e 64 65 72 5c 46 69 6e 64 .$this->finder.=.new.Finder\Find
4cb80 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 46 er();..$filter.=.function.(\SplF
4cba0 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 66 ileInfo.$file).use.($sources,.$f
4cbc0 69 6c 74 65 72 73 2c 20 24 66 73 29 20 7b 0a 24 72 65 6c 61 74 69 76 65 50 61 74 68 20 3d 20 70 ilters,.$fs).{.$relativePath.=.p
4cbe0 72 65 67 5f 72 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 reg_replace(.'#^'.preg_quote($so
4cc00 75 72 63 65 73 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 urces,.'#').'#',.'',.$fs->normal
4cc20 69 7a 65 50 61 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 izePath($file->getRealPath()).);
4cc40 0a 0a 24 65 78 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 ..$exclude.=.false;.foreach.($fi
4cc60 6c 74 65 72 73 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 lters.as.$filter).{.$exclude.=.$
4cc80 66 69 6c 74 65 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 filter->filter($relativePath,.$e
4cca0 78 63 6c 75 64 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 xclude);.}..return.!$exclude;.};
4ccc0 0a 0a 69 66 20 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 ..if.(method_exists($filter,.'bi
4cce0 6e 64 54 6f 27 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 ndTo')).{.$filter.=.$filter->bin
4cd00 64 54 6f 28 6e 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 dTo(null);.}..$this->finder.->in
4cd20 28 24 73 6f 75 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 ($sources).->filter($filter).->i
4cd40 67 6e 6f 72 65 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 gnoreVCS(true).->ignoreDotFiles(
4cd60 66 61 6c 73 65 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 false);..parent::__construct($th
4cd80 69 73 2d 3e 66 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 is->finder->getIterator());.}..p
4cda0 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 72 65 74 75 72 6e ublic.function.accept().{.return
4cdc0 20 21 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 .!$this->getInnerIterator()->cur
4cde0 72 65 6e 74 28 29 2d 3e 69 73 44 69 72 28 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a rent()->isDir();.}.}.<?php......
4ce00 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
4ce20 5c 41 72 63 68 69 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 \Archiver;..use.Composer\Downloa
4ce40 64 65 72 5c 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 der\DownloadManager;.use.Compose
4ce60 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 65 20 r\Package\PackageInterface;.use.
4ce80 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 3b 0a 75 73 Composer\Package\RootPackage;.us
4cea0 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 0a 0a e.Composer\Util\Filesystem;.....
4cec0 0a 63 6c 61 73 73 20 41 72 63 68 69 76 65 4d 61 6e 61 67 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 .class.ArchiveManager.{.protecte
4cee0 64 20 24 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 d.$downloadManager;..protected.$
4cf00 61 72 63 68 69 76 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 archivers.=.array();.....protect
4cf20 65 64 20 24 6f 76 65 72 77 72 69 74 65 46 69 6c 65 73 20 3d 20 74 72 75 65 3b 0a 0a 0a 0a 0a 70 ed.$overwriteFiles.=.true;.....p
4cf40 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 44 6f 77 6e 6c ublic.function.__construct(Downl
4cf60 6f 61 64 4d 61 6e 61 67 65 72 20 24 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 29 0a 7b 0a 24 oadManager.$downloadManager).{.$
4cf80 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 77 6e 6c 6f 61 this->downloadManager.=.$downloa
4cfa0 64 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 63 74 69 6f 6e 20 dManager;.}.....public.function.
4cfc0 61 64 64 41 72 63 68 69 76 65 72 28 41 72 63 68 69 76 65 72 49 6e 74 65 72 66 61 63 65 20 24 61 addArchiver(ArchiverInterface.$a
4cfe0 72 63 68 69 76 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 72 63 68 69 76 65 72 73 5b 5d 20 3d 20 rchiver).{.$this->archivers[].=.
4d000 24 61 72 63 68 69 76 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 $archiver;.}.........public.func
4d020 74 69 6f 6e 20 73 65 74 4f 76 65 72 77 72 69 74 65 46 69 6c 65 73 28 24 6f 76 65 72 77 72 69 74 tion.setOverwriteFiles($overwrit
4d040 65 46 69 6c 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 76 65 72 77 72 69 74 65 46 69 6c 65 73 20 eFiles).{.$this->overwriteFiles.
4d060 3d 20 24 6f 76 65 72 77 72 69 74 65 46 69 6c 65 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 =.$overwriteFiles;..return.$this
4d080 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 50 ;.}.........public.function.getP
4d0a0 61 63 6b 61 67 65 46 69 6c 65 6e 61 6d 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 ackageFilename(PackageInterface.
4d0c0 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 6e 61 6d 65 50 61 72 74 73 20 3d 20 61 72 72 61 79 28 70 $package).{.$nameParts.=.array(p
4d0e0 72 65 67 5f 72 65 70 6c 61 63 65 28 27 23 5b 5e 61 2d 7a 30 2d 39 2d 5f 2e 5d 23 69 27 2c 20 27 reg_replace('#[^a-z0-9-_.]#i',.'
4d100 2d 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 3b 0a 0a 69 66 20 28 -',.$package->getName()));..if.(
4d120 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 20 24 preg_match('{^[a-f0-9]{40}$}',.$
4d140 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 29 20 7b 0a package->getDistReference())).{.
4d160 24 6e 61 6d 65 50 61 72 74 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6e 61 6d 65 50 61 $nameParts.=.array_merge($namePa
4d180 72 74 73 2c 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 rts,.array($package->getDistRefe
4d1a0 72 65 6e 63 65 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 rence(),.$package->getDistType()
4d1c0 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6e 61 6d 65 50 61 72 74 73 20 3d 20 61 72 72 61 79 5f ));.}.else.{.$nameParts.=.array_
4d1e0 6d 65 72 67 65 28 24 6e 61 6d 65 50 61 72 74 73 2c 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 merge($nameParts,.array($package
4d200 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 6b 61 67 65 2d 3e ->getPrettyVersion(),.$package->
4d220 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 29 29 3b 0a 7d 0a 0a 69 66 20 28 24 70 61 getDistReference()));.}..if.($pa
4d240 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 20 7b 0a 24 ckage->getSourceReference()).{.$
4d260 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 70 61 63 6b 61 nameParts[].=.substr(sha1($packa
4d280 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 30 2c 20 36 29 ge->getSourceReference()),.0,.6)
4d2a0 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 27 2d 27 2c 20 61 72 72 61 79 5f 66 ;.}..return.implode('-',.array_f
4d2c0 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 20 28 24 70 29 20 ilter($nameParts,.function.($p).
4d2e0 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 7d 0a 0a 0a 0a 0a {.return.!empty($p);.}));.}.....
4d300 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 63 68 69 76 65 28 50 .......public.function.archive(P
4d320 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 66 6f 72 6d 61 ackageInterface.$package,.$forma
4d340 74 2c 20 24 74 61 72 67 65 74 44 69 72 29 0a 7b 0a 69 66 20 28 65 6d 70 74 79 28 24 66 6f 72 6d t,.$targetDir).{.if.(empty($form
4d360 61 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 75 6d 65 6e at)).{.throw.new.\InvalidArgumen
4d380 74 45 78 63 65 70 74 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 tException('Format.must.be.speci
4d3a0 66 69 65 64 27 29 3b 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 fied');.}....$usableArchiver.=.n
4d3c0 75 6c 6c 3b 0a 66 6f 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 ull;.foreach.($this->archivers.a
4d3e0 73 20 24 61 72 63 68 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 s.$archiver).{.if.($archiver->su
4d400 70 70 6f 72 74 73 28 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 pports($format,.$package->getSou
4d420 72 63 65 54 79 70 65 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 rceType())).{.$usableArchiver.=.
4d440 24 61 72 63 68 69 76 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 $archiver;.break;.}.}....if.(nul
4d460 6c 20 3d 3d 3d 20 24 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 l.===.$usableArchiver).{.throw.n
4d480 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 4e 6f ew.\RuntimeException(sprintf('No
4d4a0 20 61 72 63 68 69 76 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 .archiver.found.to.support.%s.fo
4d4c0 72 6d 61 74 27 2c 20 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 rmat',.$format));.}..$filesystem
4d4e0 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 70 61 63 6b 61 67 65 4e 61 6d .=.new.Filesystem();.$packageNam
4d500 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 46 69 6c 65 6e 61 6d 65 28 24 70 e.=.$this->getPackageFilename($p
4d520 61 63 6b 61 67 65 29 3b 0a 0a 0a 20 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 65 44 ackage);....$filesystem->ensureD
4d540 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 24 74 61 72 67 65 74 44 69 72 29 3b 0a 24 74 61 72 irectoryExists($targetDir);.$tar
4d560 67 65 74 20 3d 20 72 65 61 6c 70 61 74 68 28 24 74 61 72 67 65 74 44 69 72 29 2e 27 2f 27 2e 24 get.=.realpath($targetDir).'/'.$
4d580 70 61 63 6b 61 67 65 4e 61 6d 65 2e 27 2e 27 2e 24 66 6f 72 6d 61 74 3b 0a 24 66 69 6c 65 73 79 packageName.'.'.$format;.$filesy
4d5a0 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 74 73 28 64 69 72 6e stem->ensureDirectoryExists(dirn
4d5c0 61 6d 65 28 24 74 61 72 67 65 74 29 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6f 76 65 72 ame($target));..if.(!$this->over
4d5e0 77 72 69 74 65 46 69 6c 65 73 20 26 26 20 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 61 72 67 65 writeFiles.&&.file_exists($targe
4d600 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 61 72 67 65 74 3b 0a 7d 0a 0a 69 66 20 28 24 70 61 t)).{.return.$target;.}..if.($pa
4d620 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 29 20 7b 0a ckage.instanceof.RootPackage).{.
4d640 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 65 $sourcePath.=.realpath('.');.}.e
4d660 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 65 lse.{...$sourcePath.=.sys_get_te
4d680 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 72 2f 27 2e 24 mp_dir().'/composer_archiver/'.$
4d6a0 70 61 63 6b 61 67 65 4e 61 6d 65 3b 0a 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 65 packageName;.$filesystem->ensure
4d6c0 44 69 72 65 63 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 0a DirectoryExists($sourcePath);...
4d6e0 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 61 .$this->downloadManager->downloa
4d700 64 28 24 70 61 63 6b 61 67 65 2c 20 24 73 6f 75 72 63 65 50 61 74 68 2c 20 74 72 75 65 29 3b 0a d($package,.$sourcePath,.true);.
4d720 7d 0a 0a 0a 20 72 65 74 75 72 6e 20 24 75 73 61 62 6c 65 41 72 63 68 69 76 65 72 2d 3e 61 72 63 }....return.$usableArchiver->arc
4d740 68 69 76 65 28 24 73 6f 75 72 63 65 50 61 74 68 2c 20 24 74 61 72 67 65 74 2c 20 24 66 6f 72 6d hive($sourcePath,.$target,.$form
4d760 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 75 64 65 73 at,.$package->getArchiveExcludes
4d780 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 73 70 ());.}.}.<?php............namesp
4d7a0 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 0a 0a ace.Composer\Package\Archiver;..
4d7c0 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 0a 0a use.Symfony\Component\Finder;...
4d7e0 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 6e 64 ....class.HgExcludeFilter.extend
4d800 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 5f 49 s.BaseExcludeFilter.{.const.HG_I
4d820 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 52 45 GNORE_REGEX.=.1;.const.HG_IGNORE
4d840 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 74 65 _GLOB.=.2;......protected.$patte
4d860 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 5f 5f rnMode;.......public.function.__
4d880 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 3a construct($sourcePath).{.parent:
4d8a0 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 68 69 :__construct($sourcePath);..$thi
4d8c0 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 52 45 s->patternMode.=.self::HG_IGNORE
4d8e0 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 63 65 _REGEX;..if.(file_exists($source
4d900 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 78 63 Path.'/.hgignore')).{.$this->exc
4d920 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 65 73 ludePatterns.=.$this->parseLines
4d940 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 27 29 (.file($sourcePath.'/.hgignore')
4d960 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 69 6e ,.array($this,.'parseHgIgnoreLin
4d980 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 74 69 e').);.}.}.........public.functi
4d9a0 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 69 66 on.parseHgIgnoreLine($line).{.if
4d9c0 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 67 6c .(preg_match('#^syntax\s*:\s*(gl
4d9e0 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 29 29 ob|regexp)$#',.$line,.$matches))
4da00 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 20 7b .{.if.($matches[1].===.'glob').{
4da20 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 5f 49 .$this->patternMode.=.self::HG_I
4da40 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 74 74 GNORE_GLOB;.}.else.{.$this->patt
4da60 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 58 3b ernMode.=.self::HG_IGNORE_REGEX;
4da80 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 3e 70 .}..return.null;.}..if.($this->p
4daa0 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 47 4c atternMode.==.self::HG_IGNORE_GL
4dac0 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 6d 47 OB).{.return.$this->patternFromG
4dae0 6c 6f 62 28 24 6c 69 6e 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 lob($line);.}.else.{.return.$thi
4db00 73 2d 3e 70 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 7d 0a s->patternFromRegex($line);.}.}.
4db20 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 61 74 74 65 ........protected.function.patte
4db40 72 6e 46 72 6f 6d 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 rnFromGlob($line).{.$pattern.=.'
4db60 23 27 2e 73 75 62 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 #'.substr(Finder\Glob::toRegex($
4db80 6c 69 6e 65 29 2c 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 line),.2,.-1).'#';.$pattern.=.st
4dba0 72 5f 72 65 70 6c 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 r_replace('[^/]*',.'.*',.$patter
4dbc0 6e 29 3b 0a 0a 72 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 n);..return.array($pattern,.fals
4dbe0 65 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 63 74 e,.true);.}.........public.funct
4dc00 69 6f 6e 20 70 61 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 ion.patternFromRegex($line).{...
4dc20 24 70 61 74 74 65 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 $pattern.=.'#'.preg_replace('/((
4dc40 3f 3a 5c 5c 5c 5c 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 ?:\\\\\\\\)*)(\\\\?)#/',.'\1\2\2
4dc60 5c 5c 23 27 2c 20 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 \\#',.$line).'#';..return.array(
4dc80 24 70 61 74 74 65 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 $pattern,.false,.true);.}.}.<?ph
4dca0 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\
4dcc0 50 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 6f 6f 74 41 6c 69 61 73 50 61 63 6b Package;.....class.RootAliasPack
4dce0 61 67 65 20 65 78 74 65 6e 64 73 20 41 6c 69 61 73 50 61 63 6b 61 67 65 20 69 6d 70 6c 65 6d 65 age.extends.AliasPackage.impleme
4dd00 6e 74 73 20 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 75 62 6c 69 nts.RootPackageInterface.{.publi
4dd20 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 52 6f 6f 74 50 61 63 6b 61 c.function.__construct(RootPacka
4dd40 67 65 49 6e 74 65 72 66 61 63 65 20 24 61 6c 69 61 73 4f 66 2c 20 24 76 65 72 73 69 6f 6e 2c 20 geInterface.$aliasOf,.$version,.
4dd60 24 70 72 65 74 74 79 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 $prettyVersion).{.parent::__cons
4dd80 74 72 75 63 74 28 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 truct($aliasOf,.$version,.$prett
4dda0 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e yVersion);.}.....public.function
4ddc0 20 67 65 74 41 6c 69 61 73 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c .getAliases().{.return.$this->al
4dde0 69 61 73 4f 66 2d 3e 67 65 74 41 6c 69 61 73 65 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 iasOf->getAliases();.}.....publi
4de00 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 74 79 28 29 c.function.getMinimumStability()
4de20 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 4d 69 6e .{.return.$this->aliasOf->getMin
4de40 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 imumStability();.}.....public.fu
4de60 6e 63 74 69 6f 6e 20 67 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 29 0a 7b 0a 72 65 74 nction.getStabilityFlags().{.ret
4de80 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 79 urn.$this->aliasOf->getStability
4dea0 46 6c 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 Flags();.}.....public.function.g
4dec0 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 68 69 73 2d 3e 61 etReferences().{.return.$this->a
4dee0 6c 69 61 73 4f 66 2d 3e 67 65 74 52 65 66 65 72 65 6e 63 65 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 liasOf->getReferences();.}.....p
4df00 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 65 28 29 ublic.function.getPreferStable()
4df20 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 50 72 65 .{.return.$this->aliasOf->getPre
4df40 66 65 72 53 74 61 62 6c 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ferStable();.}.....public.functi
4df60 6f 6e 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 29 0a 7b on.setRequires(array.$require).{
4df80 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 52 65 71 75 69 .return.$this->aliasOf->setRequi
4dfa0 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 63 20 66 75 6e 63 res($require);.}.....public.func
4dfc0 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 24 64 65 76 52 65 tion.setDevRequires(array.$devRe
4dfe0 71 75 69 72 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 3e quire).{.return.$this->aliasOf->
4e000 73 65 74 44 65 76 52 65 71 75 69 72 65 73 28 24 64 65 76 52 65 71 75 69 72 65 29 3b 0a 7d 0a 0a setDevRequires($devRequire);.}..
4e020 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6c 6f 6e 65 28 29 0a 7b 0a 70 61 72 65 public.function.__clone().{.pare
4e040 6e 74 3a 3a 5f 5f 63 6c 6f 6e 65 28 29 3b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 20 3d 20 nt::__clone();.$this->aliasOf.=.
4e060 63 6c 6f 6e 65 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a clone.$this->aliasOf;.}.}.<?php.
4e080 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
4e0a0 63 6b 61 67 65 3b 0a 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 ckage;..use.Composer\Package\Ver
4e0c0 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 63 6c 61 73 73 20 sion\VersionParser;.......class.
4e0e0 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 65 0a 7b 0a 70 72 Package.extends.BasePackage.{.pr
4e100 6f 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 74 61 72 67 65 74 otected.$type;.protected.$target
4e120 44 69 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 Dir;.protected.$installationSour
4e140 63 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 6f 75 72 63 65 54 79 70 65 3b 0a 70 72 6f 74 65 ce;.protected.$sourceType;.prote
4e160 63 74 65 64 20 24 73 6f 75 72 63 65 55 72 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 6f 75 72 cted.$sourceUrl;.protected.$sour
4e180 63 65 52 65 66 65 72 65 6e 63 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 69 73 74 54 79 70 65 ceReference;.protected.$distType
4e1a0 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 69 73 74 55 72 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 ;.protected.$distUrl;.protected.
4e1c0 24 64 69 73 74 52 65 66 65 72 65 6e 63 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 69 73 74 53 $distReference;.protected.$distS
4e1e0 68 61 31 43 68 65 63 6b 73 75 6d 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 76 65 72 73 69 6f 6e 3b ha1Checksum;.protected.$version;
4e200 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 0a 70 72 6f 74 65 .protected.$prettyVersion;.prote
4e220 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 65 64 20 24 65 78 cted.$releaseDate;.protected.$ex
4e240 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 62 69 6e 61 72 69 tra.=.array();.protected.$binari
4e260 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 65 76 3b 0a 70 72 es.=.array();.protected.$dev;.pr
4e280 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 74 65 64 20 24 6e otected.$stability;.protected.$n
4e2a0 6f 74 69 66 69 63 61 74 69 6f 6e 55 72 6c 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 71 75 otificationUrl;..protected.$requ
4e2c0 69 72 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 63 6f 6e 66 6c ires.=.array();.protected.$confl
4e2e0 69 63 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 76 69 icts.=.array();.protected.$provi
4e300 64 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 72 65 70 6c 61 63 des.=.array();.protected.$replac
4e320 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 65 76 52 65 71 75 es.=.array();.protected.$devRequ
4e340 69 72 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 73 75 67 67 65 ires.=.array();.protected.$sugge
4e360 73 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 61 75 74 6f 6c 6f sts.=.array();.protected.$autolo
4e380 61 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 63 6c 75 64 65 ad.=.array();.protected.$include
4e3a0 50 61 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 61 72 63 68 Paths.=.array();.protected.$arch
4e3c0 69 76 65 45 78 63 6c 75 64 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 iveExcludes.=.array();.........p
4e3e0 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
4e400 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 0a 7b 0a 70 61 ,.$version,.$prettyVersion).{.pa
4e420 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 29 3b 0a 0a 24 74 68 69 73 rent::__construct($name);..$this
4e440 2d 3e 76 65 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 70 72 65 ->version.=.$version;.$this->pre
4e460 74 74 79 56 65 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 ttyVersion.=.$prettyVersion;..$t
4e480 68 69 73 2d 3e 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 his->stability.=.VersionParser::
4e4a0 70 61 72 73 65 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 parseStability($version);.$this-
4e4c0 3e 64 65 76 20 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 >dev.=.$this->stability.===.'dev
4e4e0 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 44 65 76 28 29 ';.}.....public.function.isDev()
4e500 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
4e520 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 79 70 65 28 24 74 79 70 65 29 0a 7b 0a 24 74 68 ic.function.setType($type).{.$th
4e540 69 73 2d 3e 74 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 is->type.=.$type;.}.....public.f
4e560 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 24 74 68 69 73 unction.getType().{.return.$this
4e580 2d 3e 74 79 70 65 20 3f 3a 20 27 6c 69 62 72 61 72 79 27 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 ->type.?:.'library';.}.....publi
4e5a0 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 7b 0a 72 65 74 75 c.function.getStability().{.retu
4e5c0 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 0a 70 75 62 6c 69 rn.$this->stability;.}.....publi
4e5e0 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 61 72 67 65 74 44 69 72 28 24 74 61 72 67 65 74 44 c.function.setTargetDir($targetD
4e600 69 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 72 67 65 74 44 69 72 20 3d 20 24 74 61 72 67 65 74 ir).{.$this->targetDir.=.$target
4e620 44 69 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 54 61 Dir;.}.....public.function.getTa
4e640 72 67 65 74 44 69 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 rgetDir().{.if.(null.===.$this->
4e660 74 61 72 67 65 74 44 69 72 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6c targetDir).{.return;.}..return.l
4e680 74 72 69 6d 28 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 20 28 3f 3a 5e 7c 5b 5c 5c 5c 5c 2f trim(preg_replace('{.(?:^|[\\\\/
4e6a0 5d 2b 29 20 5c 2e 5c 2e 3f 20 28 3f 3a 5b 5c 5c 5c 5c 2f 5d 2b 7c 24 29 20 28 3f 3a 5c 2e 5c 2e ]+).\.\.?.(?:[\\\\/]+|$).(?:\.\.
4e6c0 3f 20 28 3f 3a 5b 5c 5c 5c 5c 2f 5d 2b 7c 24 29 20 29 2a 7d 78 27 2c 20 27 2f 27 2c 20 24 74 68 ?.(?:[\\\\/]+|$).)*}x',.'/',.$th
4e6e0 69 73 2d 3e 74 61 72 67 65 74 44 69 72 29 2c 20 27 2f 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c is->targetDir),.'/');.}.....publ
4e700 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 78 74 72 61 28 61 72 72 61 79 20 24 65 78 74 72 ic.function.setExtra(array.$extr
4e720 61 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 78 74 72 61 20 3d 20 24 65 78 74 72 61 3b 0a 7d 0a 0a 0a a).{.$this->extra.=.$extra;.}...
4e740 0a 0a 70 75 62 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 ..public.function.getExtra().{.r
4e760 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 74 72 61 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 eturn.$this->extra;.}.....public
4e780 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 42 69 6e 61 72 69 65 73 28 61 72 72 61 79 20 24 62 69 6e .function.setBinaries(array.$bin
4e7a0 61 72 69 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 69 6e 61 72 69 65 73 20 3d 20 24 62 69 6e 61 aries).{.$this->binaries.=.$bina
4e7c0 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 6f 6e 20 67 65 74 42 ries;.}.....public.function.getB
4e7e0 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 3e 62 69 6e 61 72 69 inaries().{.return.$this->binari
4e800 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 73 65 74 49 6e 73 es;.}.....public.function.setIns
4e820 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 24 74 79 70 65 29 0a 7b 0a 24 74 68 69 73 2d 3e tallationSource($type).{.$this->
4e840 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 20 3d 20 24 74 79 70 65 3b 0a 7d 0a 0a 0a installationSource.=.$type;.}...
4e860 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
4e880 6e 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 69 6e 73 74 61 6c nSource().{.return.$this->instal
4e8a0 6c 61 74 69 6f 6e 53 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 lationSource;.}.....public.funct
4e8c0 69 6f 6e 20 73 65 74 53 6f 75 72 63 65 54 79 70 65 28 24 74 79 70 65 29 0a 7b 0a 24 74 68 69 73 ion.setSourceType($type).{.$this
4e8e0 2d 3e 73 6f 75 72 63 65 54 79 70 65 20 3d 20 24 74 79 70 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c ->sourceType.=.$type;.}.....publ
4e900 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 65 ic.function.getSourceType().{.re
4e920 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 54 79 70 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 turn.$this->sourceType;.}.....pu
4e940 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 6f 75 72 63 65 55 72 6c 28 24 75 72 6c 29 blic.function.setSourceUrl($url)
4e960 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 55 72 6c 20 3d 20 24 75 72 6c 3b 0a 7d 0a 0a 0a .{.$this->sourceUrl.=.$url;.}...
4e980 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 55 72 6c 28 29 ..public.function.getSourceUrl()
4e9a0 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 55 72 6c 3b 0a 7d 0a 0a 0a .{.return.$this->sourceUrl;.}...
4e9c0 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 52 65 66 65 72 ..public.function.setSourceRefer
4e9e0 65 6e 63 65 28 24 72 65 66 65 72 65 6e 63 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 ence($reference).{.$this->source
4ea00 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 0a 0a 0a 0a 0a 70 75 Reference.=.$reference;.}.....pu
4ea20 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 65 6e 63 65 blic.function.getSourceReference
4ea40 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 52 65 66 65 72 65 6e ().{.return.$this->sourceReferen
4ea60 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 44 69 73 ce;.}.....public.function.setDis
4ea80 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 79 70 65 20 3d tType($type).{.$this->distType.=
4eaa0 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 65 .$type;.}.....public.function.ge
4eac0 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 3e 64 69 73 74 tDistType().{.return.$this->dist
4eae0 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 20 73 65 74 44 Type;.}.....public.function.setD
4eb00 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 72 6c 20 3d 20 istUrl($url).{.$this->distUrl.=.
4eb20 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 65 74 44 $url;.}.....public.function.getD
4eb40 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 73 74 55 72 6c istUrl().{.return.$this->distUrl
4eb60 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 69 73 74 52 ;.}.....public.function.setDistR
4eb80 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 73 2d 3e 64 69 eference($reference).{.$this->di
4eba0 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 0a 0a 0a 0a 0a stReference.=.$reference;.}.....
4ebc0 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 72 65 6e 63 65 public.function.getDistReference
4ebe0 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 72 65 6e 63 65 ().{.return.$this->distReference
4ec00 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 69 73 74 53 ;.}.....public.function.setDistS
4ec20 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 7b 0a 24 74 68 ha1Checksum($sha1checksum).{.$th
4ec40 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 31 63 68 65 63 is->distSha1Checksum.=.$sha1chec
4ec60 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 20 67 65 74 44 ksum;.}.....public.function.getD
4ec80 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 73 istSha1Checksum().{.return.$this
4eca0 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 75 62 6c 69 63 ->distSha1Checksum;.}.....public
4ecc0 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 72 65 74 75 72 6e 20 .function.getVersion().{.return.
4ece0 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e $this->version;.}.....public.fun
4ed00 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 ction.getPrettyVersion().{.retur
4ed20 6e 20 24 74 68 69 73 2d 3e 70 72 65 74 74 79 56 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a n.$this->prettyVersion;.}.......
4ed40 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 6c 65 61 73 65 44 61 74 65 28 5c public.function.setReleaseDate(\
4ed60 44 61 74 65 54 69 6d 65 20 24 72 65 6c 65 61 73 65 44 61 74 65 29 0a 7b 0a 24 74 68 69 73 2d 3e DateTime.$releaseDate).{.$this->
4ed80 72 65 6c 65 61 73 65 44 61 74 65 20 3d 20 24 72 65 6c 65 61 73 65 44 61 74 65 3b 0a 7d 0a 0a 0a releaseDate.=.$releaseDate;.}...
4eda0 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 74 65 ..public.function.getReleaseDate
4edc0 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6c 65 61 73 65 44 61 74 65 3b 0a ().{.return.$this->releaseDate;.
4ede0 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 71 75 69 }.......public.function.setRequi
4ee00 72 65 73 28 61 72 72 61 79 20 24 72 65 71 75 69 72 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 res(array.$requires).{.$this->re
4ee20 71 75 69 72 65 73 20 3d 20 24 72 65 71 75 69 72 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 quires.=.$requires;.}.....public
4ee40 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 72 6e .function.getRequires().{.return
4ee60 20 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 .$this->requires;.}.......public
4ee80 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 6f .function.setConflicts(array.$co
4eea0 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 63 nflicts).{.$this->conflicts.=.$c
4eec0 6f 6e 66 6c 69 63 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 onflicts;.}.....public.function.
4eee0 67 65 74 43 6f 6e 66 6c 69 63 74 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 getConflicts().{.return.$this->c
4ef00 6f 6e 66 6c 69 63 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 onflicts;.}.......public.functio
4ef20 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 0a 7b n.setProvides(array.$provides).{
4ef40 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 73 20 3d 20 24 70 72 6f 76 69 64 65 73 3b 0a 7d 0a .$this->provides.=.$provides;.}.
4ef60 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 76 69 64 65 73 28 ....public.function.getProvides(
4ef80 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 73 3b 0a 7d 0a 0a 0a ).{.return.$this->provides;.}...
4efa0 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 73 28 ....public.function.setReplaces(
4efc0 61 72 72 61 79 20 24 72 65 70 6c 61 63 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6c 61 63 array.$replaces).{.$this->replac
4efe0 65 73 20 3d 20 24 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 es.=.$replaces;.}.....public.fun
4f000 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 74 68 ction.getReplaces().{.return.$th
4f020 69 73 2d 3e 72 65 70 6c 61 63 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e is->replaces;.}.......public.fun
4f040 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 24 64 65 76 52 ction.setDevRequires(array.$devR
4f060 65 71 75 69 72 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 76 52 65 71 75 69 72 65 73 20 3d 20 equires).{.$this->devRequires.=.
4f080 24 64 65 76 52 65 71 75 69 72 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 $devRequires;.}.....public.funct
4f0a0 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 24 74 ion.getDevRequires().{.return.$t
4f0c0 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 70 75 62 6c 69 63 his->devRequires;.}.......public
4f0e0 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 24 73 75 67 .function.setSuggests(array.$sug
4f100 67 65 73 74 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 75 67 67 65 73 74 73 20 3d 20 24 73 75 67 67 gests).{.$this->suggests.=.$sugg
4f120 65 73 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 53 ests;.}.....public.function.getS
4f140 75 67 67 65 73 74 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 75 67 67 65 73 uggests().{.return.$this->sugges
4f160 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 6e 20 73 65 74 41 ts;.}.......public.function.setA
4f180 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 74 68 69 73 utoload(array.$autoload).{.$this
4f1a0 2d 3e 61 75 74 6f 6c 6f 61 64 20 3d 20 24 61 75 74 6f 6c 6f 61 64 3b 0a 7d 0a 0a 0a 0a 0a 70 75 ->autoload.=.$autoload;.}.....pu
4f1c0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 6f 6c 6f 61 64 28 29 0a 7b 0a 72 65 blic.function.getAutoload().{.re
4f1e0 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 75 74 6f 6c 6f 61 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 turn.$this->autoload;.}.......pu
4f200 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 6e 63 6c 75 64 65 50 61 74 68 73 28 61 72 blic.function.setIncludePaths(ar
4f220 72 61 79 20 24 69 6e 63 6c 75 64 65 50 61 74 68 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 63 6c ray.$includePaths).{.$this->incl
4f240 75 64 65 50 61 74 68 73 20 3d 20 24 69 6e 63 6c 75 64 65 50 61 74 68 73 3b 0a 7d 0a 0a 0a 0a 0a udePaths.=.$includePaths;.}.....
4f260 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 73 28 public.function.getIncludePaths(
4f280 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 63 6c 75 64 65 50 61 74 68 73 3b 0a ).{.return.$this->includePaths;.
4f2a0 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 4e 6f 74 69 66 }.......public.function.setNotif
4f2c0 69 63 61 74 69 6f 6e 55 72 6c 28 24 6e 6f 74 69 66 69 63 61 74 69 6f 6e 55 72 6c 29 0a 7b 0a 24 icationUrl($notificationUrl).{.$
4f2e0 74 68 69 73 2d 3e 6e 6f 74 69 66 69 63 61 74 69 6f 6e 55 72 6c 20 3d 20 24 6e 6f 74 69 66 69 63 this->notificationUrl.=.$notific
4f300 61 74 69 6f 6e 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 ationUrl;.}.....public.function.
4f320 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 6e 20 24 74 getNotificationUrl().{.return.$t
4f340 68 69 73 2d 3e 6e 6f 74 69 66 69 63 61 74 69 6f 6e 55 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 his->notificationUrl;.}.......pu
4f360 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 72 63 68 69 76 65 45 78 63 6c 75 64 65 73 blic.function.setArchiveExcludes
4f380 28 61 72 72 61 79 20 24 65 78 63 6c 75 64 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 72 63 68 69 (array.$excludes).{.$this->archi
4f3a0 76 65 45 78 63 6c 75 64 65 73 20 3d 20 24 65 78 63 6c 75 64 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 veExcludes.=.$excludes;.}.....pu
4f3c0 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 65 73 blic.function.getArchiveExcludes
4f3e0 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 72 63 68 69 76 65 45 78 63 6c 75 64 ().{.return.$this->archiveExclud
4f400 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 73 70 61 es;.}.}.<?php............namespa
4f420 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 6d 70 6f 73 ce.Composer\Package;..use.Compos
4f440 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 5c 56 65 72 73 69 6f er\Package\LinkConstraint\Versio
4f460 6e 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 50 61 63 6b 61 67 nConstraint;.use.Composer\Packag
4f480 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 0a 0a 0a 0a 63 6c 61 e\Version\VersionParser;.....cla
4f4a0 73 73 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 ss.AliasPackage.extends.BasePack
4f4c0 61 67 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 age.implements.CompletePackageIn
4f4e0 74 65 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 terface.{.protected.$version;.pr
4f500 6f 74 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 otected.$prettyVersion;.protecte
4f520 64 20 24 64 65 76 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 61 6c 69 61 73 4f 66 3b 0a 70 72 6f 74 d.$dev;.protected.$aliasOf;.prot
4f540 65 63 74 65 64 20 24 72 6f 6f 74 50 61 63 6b 61 67 65 41 6c 69 61 73 20 3d 20 66 61 6c 73 65 3b ected.$rootPackageAlias.=.false;
4f560 0a 70 72 6f 74 65 63 74 65 64 20 24 73 74 61 62 69 6c 69 74 79 3b 0a 0a 70 72 6f 74 65 63 74 65 .protected.$stability;..protecte
4f580 64 20 24 72 65 71 75 69 72 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 6c 69 63 74 d.$requires;.protected.$conflict
4f5a0 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 76 69 64 65 73 3b 0a 70 72 6f 74 65 63 74 65 s;.protected.$provides;.protecte
4f5c0 64 20 24 72 65 70 6c 61 63 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 63 6f 6d 6d 65 6e d.$replaces;.protected.$recommen
4f5e0 64 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 75 67 67 65 73 74 73 3b 0a 0a 0a 0a 0a 0a 0a 0a ds;.protected.$suggests;........
4f600 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 50 61 63 .public.function.__construct(Pac
4f620 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 61 6c 69 61 73 4f 66 2c 20 24 76 65 72 73 69 6f 6e kageInterface.$aliasOf,.$version
4f640 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f ,.$prettyVersion).{.parent::__co
4f660 6e 73 74 72 75 63 74 28 24 61 6c 69 61 73 4f 66 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 0a 24 nstruct($aliasOf->getName());..$
4f680 74 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 24 74 68 69 73 2d this->version.=.$version;.$this-
4f6a0 3e 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 3b >prettyVersion.=.$prettyVersion;
4f6c0 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 20 3d 20 24 61 6c 69 61 73 4f 66 3b 0a 24 74 68 69 .$this->aliasOf.=.$aliasOf;.$thi
4f6e0 73 2d 3e 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 s->stability.=.VersionParser::pa
4f700 72 73 65 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 rseStability($version);.$this->d
4f720 65 76 20 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 ev.=.$this->stability.===.'dev';
4f740 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 27 72 65 71 75 69 72 65 73 27 2c 20 27 ....foreach.(array('requires',.'
4f760 64 65 76 52 65 71 75 69 72 65 73 27 29 20 61 73 20 24 74 79 70 65 29 20 7b 0a 24 6c 69 6e 6b 73 devRequires').as.$type).{.$links
4f780 20 3d 20 24 61 6c 69 61 73 4f 66 2d 3e 7b 27 67 65 74 27 2e 75 63 66 69 72 73 74 28 24 74 79 70 .=.$aliasOf->{'get'.ucfirst($typ
4f7a0 65 29 7d 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 6b 73 20 61 73 20 24 69 6e 64 65 78 e)}();.foreach.($links.as.$index
4f7c0 20 3d 3e 20 24 6c 69 6e 6b 29 20 7b 0a 0a 20 69 66 20 28 27 73 65 6c 66 2e 76 65 72 73 69 6f 6e .=>.$link).{...if.('self.version
4f7e0 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 72 61 69 6e 74 '.===.$link->getPrettyConstraint
4f800 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 4c 69 6e 6b 28 ()).{.$links[$index].=.new.Link(
4f820 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 74 54 61 $link->getSource(),.$link->getTa
4f840 72 67 65 74 28 29 2c 20 6e 65 77 20 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d rget(),.new.VersionConstraint('=
4f860 27 2c 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 29 2c 20 24 74 79 70 65 2c 20 24 70 72 65 74 ',.$this->version),.$type,.$pret
4f880 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 7d 0a 24 74 68 69 73 2d 3e 24 74 79 70 65 20 3d 20 24 tyVersion);.}.}.$this->$type.=.$
4f8a0 6c 69 6e 6b 73 3b 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 27 63 6f 6e 66 links;.}....foreach.(array('conf
4f8c0 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 20 licts',.'provides',.'replaces').
4f8e0 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 7b as.$type).{.$links.=.$aliasOf->{
4f900 27 67 65 74 27 2e 75 63 66 69 72 73 74 28 24 74 79 70 65 29 7d 28 29 3b 0a 24 6e 65 77 4c 69 6e 'get'.ucfirst($type)}();.$newLin
4f920 6b 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 6b 73 20 61 73 ks.=.array();.foreach.($links.as
4f940 20 24 6c 69 6e 6b 29 20 7b 0a 0a 20 69 66 20 28 27 73 65 6c 66 2e 76 65 72 73 69 6f 6e 27 20 3d .$link).{...if.('self.version'.=
4f960 3d 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 6e 74 28 29 29 ==.$link->getPrettyConstraint())
4f980 20 7b 0a 24 6e 65 77 4c 69 6e 6b 73 5b 5d 20 3d 20 6e 65 77 20 4c 69 6e 6b 28 24 6c 69 6e 6b 2d .{.$newLinks[].=.new.Link($link-
4f9a0 3e 67 65 74 53 6f 75 72 63 65 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 >getSource(),.$link->getTarget()
4f9c0 2c 20 6e 65 77 20 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 24 74 68 ,.new.VersionConstraint('=',.$th
4f9e0 69 73 2d 3e 76 65 72 73 69 6f 6e 29 2c 20 24 74 79 70 65 2c 20 24 70 72 65 74 74 79 56 65 72 73 is->version),.$type,.$prettyVers
4fa00 69 6f 6e 29 3b 0a 7d 0a 7d 0a 24 74 68 69 73 2d 3e 24 74 79 70 65 20 3d 20 61 72 72 61 79 5f 6d ion);.}.}.$this->$type.=.array_m
4fa20 65 72 67 65 28 24 6c 69 6e 6b 73 2c 20 24 6e 65 77 4c 69 6e 6b 73 29 3b 0a 7d 0a 7d 0a 0a 70 75 erge($links,.$newLinks);.}.}..pu
4fa40 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 6c 69 61 73 4f 66 28 29 0a 7b 0a 72 65 74 blic.function.getAliasOf().{.ret
4fa60 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 urn.$this->aliasOf;.}.....public
4fa80 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 72 65 74 75 72 6e 20 .function.getVersion().{.return.
4faa0 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e $this->version;.}.....public.fun
4fac0 63 74 69 6f 6e 20 67 65 74 53 74 61 62 69 6c 69 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 ction.getStability().{.return.$t
4fae0 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e his->stability;.}.....public.fun
4fb00 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 ction.getPrettyVersion().{.retur
4fb20 6e 20 24 74 68 69 73 2d 3e 70 72 65 74 74 79 56 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 75 n.$this->prettyVersion;.}.....pu
4fb40 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 76 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 blic.function.isDev().{.return.$
4fb60 74 68 69 73 2d 3e 64 65 76 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e this->dev;.}.....public.function
4fb80 20 67 65 74 52 65 71 75 69 72 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 .getRequires().{.return.$this->r
4fba0 65 71 75 69 72 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 equires;.}.....public.function.g
4fbc0 65 74 43 6f 6e 66 6c 69 63 74 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f etConflicts().{.return.$this->co
4fbe0 6e 66 6c 69 63 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 nflicts;.}.....public.function.g
4fc00 65 74 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 etProvides().{.return.$this->pro
4fc20 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
4fc40 52 65 70 6c 61 63 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 70 6c 61 Replaces().{.return.$this->repla
4fc60 63 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 44 65 ces;.}.....public.function.getDe
4fc80 76 52 65 71 75 69 72 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 76 52 vRequires().{.return.$this->devR
4fca0 65 71 75 69 72 65 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 equires;.}...........public.func
4fcc0 74 69 6f 6e 20 73 65 74 52 6f 6f 74 50 61 63 6b 61 67 65 41 6c 69 61 73 28 24 76 61 6c 75 65 29 tion.setRootPackageAlias($value)
4fce0 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 69 61 .{.return.$this->rootPackageAlia
4fd00 73 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 s.=.$value;.}......public.functi
4fd20 6f 6e 20 69 73 52 6f 6f 74 50 61 63 6b 61 67 65 41 6c 69 61 73 28 29 0a 7b 0a 72 65 74 75 72 6e on.isRootPackageAlias().{.return
4fd40 20 24 74 68 69 73 2d 3e 72 6f 6f 74 50 61 63 6b 61 67 65 41 6c 69 61 73 3b 0a 7d 0a 0a 0a 0a 0a .$this->rootPackageAlias;.}.....
4fd60 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 74 .public.function.getType().{.ret
4fd80 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 54 79 70 65 28 29 3b 0a 7d urn.$this->aliasOf->getType();.}
4fda0 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 69 72 28 29 0a .public.function.getTargetDir().
4fdc0 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 54 61 72 67 {.return.$this->aliasOf->getTarg
4fde0 65 74 44 69 72 28 29 3b 0a 7d 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 78 etDir();.}.public.function.getEx
4fe00 74 72 61 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 tra().{.return.$this->aliasOf->g
4fe20 65 74 45 78 74 72 61 28 29 3b 0a 7d 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 etExtra();.}.public.function.set
4fe40 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 0a 7b 0a 24 74 68 69 InstallationSource($type).{.$thi
4fe60 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 s->aliasOf->setInstallationSourc
4fe80 65 28 24 74 79 70 65 29 3b 0a 7d 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 e($type);.}.public.function.getI
4fea0 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 24 74 68 nstallationSource().{.return.$th
4fec0 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 is->aliasOf->getInstallationSour
4fee0 63 65 28 29 3b 0a 7d 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 ce();.}.public.function.getSourc
4ff00 65 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 4f 66 2d eType().{.return.$this->aliasOf-
4ff20 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 3b 0a 7d 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 >getSourceType();.}.public.funct
4ff40 69 6f 6e 20 67 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 ion.getSourceUrl().{.return.$thi
4ff60 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 6c 28 29 3b 0a 7d 0a 70 75 s->aliasOf->getSourceUrl();.}.pu
4ff80 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 65 6e 63 65 blic.function.getSourceReference
4ffa0 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 53 ().{.return.$this->aliasOf->getS
4ffc0 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 7d 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ourceReference();.}.public.funct
4ffe0 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 65 72 65 6e 63 ion.setSourceReference($referenc
50000 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 3e 73 65 74 53 e).{.return.$this->aliasOf->setS
50020 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 0a 7d 0a 70 75 ourceReference($reference);.}.pu
50040 62 6c 69 63 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 blic.function.getDistType().{.re
50060 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 54 79 70 65 turn.$this->aliasOf->getDistType
50080 28 29 3b 0a 7d 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 ();.}.public.function.getDistUrl
500a0 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 44 ().{.return.$this->aliasOf->getD
500c0 69 73 74 55 72 6c 28 29 3b 0a 7d 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 istUrl();.}.public.function.getD
500e0 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 74 68 69 73 2d 3e 61 istReference().{.return.$this->a
50100 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 29 3b 0a 7d 0a 70 75 liasOf->getDistReference();.}.pu
50120 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 53 68 61 31 43 68 65 63 6b 73 75 blic.function.getDistSha1Checksu
50140 6d 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 m().{.return.$this->aliasOf->get
50160 44 69 73 74 53 68 61 31 43 68 65 63 6b 73 75 6d 28 29 3b 0a 7d 0a 70 75 62 6c 69 63 20 66 75 6e DistSha1Checksum();.}.public.fun
50180 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 6e 20 24 74 68 69 ction.getScripts().{.return.$thi
501a0 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 7d 0a 70 75 62 6c s->aliasOf->getScripts();.}.publ
501c0 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 72 ic.function.getLicense().{.retur
501e0 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 6e 73 65 28 29 3b 0a n.$this->aliasOf->getLicense();.
50200 7d 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 61 64 28 29 0a }.public.function.getAutoload().
50220 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 75 74 6f {.return.$this->aliasOf->getAuto
50240 6c 6f 61 64 28 29 3b 0a 7d 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 63 load();.}.public.function.getInc
50260 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 61 6c 69 61 ludePaths().{.return.$this->alia
50280 73 4f 66 2d 3e 67 65 74 49 6e 63 6c 75 64 65 50 61 74 68 73 28 29 3b 0a 7d 0a 70 75 62 6c 69 63 sOf->getIncludePaths();.}.public
502a0 20 66 75 6e 63 74 69 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 .function.getRepositories().{.re
502c0 74 75 72 6e 20 24 74 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 turn.$this->aliasOf->getReposito
502e0 72 69 65 73 28 29 3b 0a 7d 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 6c ries();.}.public.function.getRel
50300 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 61 6c 69 61 73 easeDate().{.return.$this->alias
50320 4f 66 2d 3e 67 65 74 52 65 6c 65 61 73 65 44 61 74 65 28 29 3b 0a 7d 0a 70 75 62 6c 69 63 20 66 Of->getReleaseDate();.}.public.f
50340 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 24 unction.getBinaries().{.return.$
50360 74 68 69 73 2d 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 this->aliasOf->getBinaries();.}.
50380 70 75 62 6c 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 public.function.getKeywords().{.
503a0 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 4b 65 79 77 6f 72 return.$this->aliasOf->getKeywor
503c0 64 73 28 29 3b 0a 7d 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 ds();.}.public.function.getDescr
503e0 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 61 6c 69 61 73 4f 66 iption().{.return.$this->aliasOf
50400 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 3b 0a 7d 0a 70 75 62 6c 69 63 20 66 75 6e ->getDescription();.}.public.fun
50420 63 74 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 ction.getHomepage().{.return.$th
50440 69 73 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 70 75 is->aliasOf->getHomepage();.}.pu
50460 62 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 blic.function.getSuggests().{.re
50480 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 75 67 67 65 73 74 73 turn.$this->aliasOf->getSuggests
504a0 28 29 3b 0a 7d 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
504c0 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
504e0 75 74 68 6f 72 73 28 29 3b 0a 7d 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 uthors();.}.public.function.getS
50500 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 66 upport().{.return.$this->aliasOf
50520 2d 3e 67 65 74 53 75 70 70 6f 72 74 28 29 3b 0a 7d 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ->getSupport();.}.public.functio
50540 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 6e 20 n.getNotificationUrl().{.return.
50560 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 6e 55 $this->aliasOf->getNotificationU
50580 72 6c 28 29 3b 0a 7d 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 63 68 69 rl();.}.public.function.getArchi
505a0 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 61 6c 69 veExcludes().{.return.$this->ali
505c0 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 0a 70 75 asOf->getArchiveExcludes();.}.pu
505e0 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
50600 75 72 6e 20 70 61 72 65 6e 74 3a 3a 5f 5f 74 6f 53 74 72 69 6e 67 28 29 2e 27 20 28 61 6c 69 61 urn.parent::__toString().'.(alia
50620 73 20 6f 66 20 27 2e 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 56 65 72 73 69 6f s.of.'.$this->aliasOf->getVersio
50640 6e 28 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 n().')';.}.}.<?php............na
50660 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 75 73 65 20 43 mespace.Composer\Package;..use.C
50680 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 5c 4c omposer\Package\LinkConstraint\L
506a0 69 6e 6b 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 inkConstraintInterface;.use.Comp
506c0 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;..
506e0 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4c 69 6e 6b 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 6f 75 .....class.Link.{.protected.$sou
50700 72 63 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 61 72 67 65 74 3b 0a 70 72 6f 74 65 63 74 65 rce;.protected.$target;.protecte
50720 64 20 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 65 73 63 72 69 d.$constraint;.protected.$descri
50740 70 74 69 6f 6e 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 65 74 74 79 43 6f 6e 73 74 72 61 69 ption;.protected.$prettyConstrai
50760 6e 74 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 5f 5f nt;...........public.function.__
50780 63 6f 6e 73 74 72 75 63 74 28 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 2c 20 4c 69 6e 6b construct($source,.$target,.Link
507a0 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.
507c0 3d 20 6e 75 6c 6c 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 27 72 65 6c 61 74 65 73 20 =.null,.$description.=.'relates.
507e0 74 6f 27 2c 20 24 70 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 29 0a 7b to',.$prettyConstraint.=.null).{
50800 0a 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 73 6f 75 .$this->source.=.strtolower($sou
50820 72 63 65 29 3b 0a 24 74 68 69 73 2d 3e 74 61 72 67 65 74 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 rce);.$this->target.=.strtolower
50840 28 24 74 61 72 67 65 74 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 ($target);.$this->constraint.=.$
50860 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e 20 3d constraint;.$this->description.=
50880 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 24 74 68 69 73 2d 3e 70 72 65 74 74 79 43 6f 6e 73 .$description;.$this->prettyCons
508a0 74 72 61 69 6e 74 20 3d 20 24 70 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 0a 70 traint.=.$prettyConstraint;.}..p
508c0 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 29 0a 7b 0a 72 65 74 ublic.function.getSource().{.ret
508e0 75 72 6e 20 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e urn.$this->source;.}..public.fun
50900 63 74 69 6f 6e 20 67 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 ction.getTarget().{.return.$this
50920 2d 3e 74 61 72 67 65 74 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 ->target;.}..public.function.get
50940 43 6f 6e 73 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 Constraint().{.return.$this->con
50960 73 74 72 61 69 6e 74 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 straint;.}..public.function.getP
50980 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.===
509a0 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
509c0 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(
509e0 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
50a00 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
50a20 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.
50a40 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 70 75 62 6c $this->prettyConstraint;.}..publ
50a60 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 72 ic.function.__toString().{.retur
50a80 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 73 63 72 n.$this->source.'.'.$this->descr
50aa0 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 2e 24 74 iption.'.'.$this->target.'.('.$t
50ac0 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 2e 27 29 27 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 his->constraint.')';.}..public.f
50ae0 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 61 63 6b 61 67 65 49 unction.getPrettyString(PackageI
50b00 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 7b 0a 72 65 74 75 72 nterface.$sourcePackage).{.retur
50b20 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 74 79 53 74 72 69 6e n.$sourcePackage->getPrettyStrin
50b40 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 6e 2e 27 20 27 2e 24 g().'.'.$this->description.'.'.$
50b60 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 6f 6e 73 74 72 61 69 this->target.'.'.$this->constrai
50b80 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 0a 7d 0a 7d 0a 3c 3f nt->getPrettyString().'';.}.}.<?
50ba0 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
50bc0 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 0a 0a 0a 0a 0a 0a 0a r\Package\LinkConstraint;.......
50be0 63 6c 61 73 73 20 45 6d 70 74 79 43 6f 6e 73 74 72 61 69 6e 74 20 69 6d 70 6c 65 6d 65 6e 74 73 class.EmptyConstraint.implements
50c00 20 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 .LinkConstraintInterface.{.prote
50c20 63 74 65 64 20 24 70 72 65 74 74 79 53 74 72 69 6e 67 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 cted.$prettyString;..public.func
50c40 74 69 6f 6e 20 6d 61 74 63 68 65 73 28 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 tion.matches(LinkConstraintInter
50c60 66 61 63 65 20 24 70 72 6f 76 69 64 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d face.$provider).{.return.true;.}
50c80 0a 0a 70 75 62 6c 69 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 ..public.function.setPrettyStrin
50ca0 67 28 24 70 72 65 74 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 g($prettyString).{.$this->pretty
50cc0 53 74 72 69 6e 67 20 3d 20 24 70 72 65 74 74 79 53 74 72 69 6e 67 3b 0a 7d 0a 0a 70 75 62 6c 69 String.=.$prettyString;.}..publi
50ce0 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 29 0a 7b 0a 69 c.function.getPrettyString().{.i
50d00 66 20 28 24 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 f.($this->prettyString).{.return
50d20 20 24 74 68 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 .$this->prettyString;.}..return.
50d40 24 74 68 69 73 2d 3e 5f 5f 74 6f 53 74 72 69 6e 67 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 $this->__toString();.}..public.f
50d60 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 5b unction.__toString().{.return.'[
50d80 5d 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 61 ]';.}.}.<?php............namespa
50da0 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 72 61 69 ce.Composer\Package\LinkConstrai
50dc0 6e 74 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4d 75 6c 74 69 43 6f 6e 73 74 72 61 69 6e 74 nt;........class.MultiConstraint
50de0 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 6e 74 65 72 66 .implements.LinkConstraintInterf
50e00 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 70 72 ace.{.protected.$constraints;.pr
50e20 6f 74 65 63 74 65 64 20 24 70 72 65 74 74 79 53 74 72 69 6e 67 3b 0a 70 72 6f 74 65 63 74 65 64 otected.$prettyString;.protected
50e40 20 24 63 6f 6e 6a 75 6e 63 74 69 76 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e .$conjunctive;........public.fun
50e60 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 63 6f 6e 73 74 72 61 ction.__construct(array.$constra
50e80 69 6e 74 73 2c 20 24 63 6f 6e 6a 75 6e 63 74 69 76 65 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 ints,.$conjunctive.=.true).{.$th
50ea0 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 73 20 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 3b 0a is->constraints.=.$constraints;.
50ec0 24 74 68 69 73 2d 3e 63 6f 6e 6a 75 6e 63 74 69 76 65 20 3d 20 24 63 6f 6e 6a 75 6e 63 74 69 76 $this->conjunctive.=.$conjunctiv
50ee0 65 3b 0a 7d 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 4c 69 e;.}..public.function.matches(Li
50f00 6e 6b 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 nkConstraintInterface.$provider)
50f20 0a 7b 0a 69 66 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 .{.if.(false.===.$this->conjunct
50f40 69 76 65 29 20 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 ive).{.foreach.($this->constrain
50f60 74 73 20 61 73 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 ts.as.$constraint).{.if.($constr
50f80 61 69 6e 74 2d 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 aint->matches($provider)).{.retu
50fa0 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 66 rn.true;.}.}..return.false;.}..f
50fc0 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 20 24 63 oreach.($this->constraints.as.$c
50fe0 6f 6e 73 74 72 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 onstraint).{.if.(!$constraint->m
51000 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 66 61 6c 73 atches($provider)).{.return.fals
51020 65 3b 0a 7d 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 63 20 66 e;.}.}..return.true;.}..public.f
51040 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 74 79 53 unction.setPrettyString($prettyS
51060 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 3d 20 24 tring).{.$this->prettyString.=.$
51080 70 72 65 74 74 79 53 74 72 69 6e 67 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e prettyString;.}..public.function
510a0 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->
510c0 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
510e0 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
51100 6f 53 74 72 69 6e 67 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 oString();.}..public.function.__
51120 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 61 72 72 61 toString().{.$constraints.=.arra
51140 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 69 6e 74 73 y();.foreach.($this->constraints
51160 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 6e 74 73 5b .as.$constraint).{.$constraints[
51180 5d 20 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 5f 5f 74 6f 53 74 72 69 6e 67 28 29 3b 0a 7d ].=.$constraint->__toString();.}
511a0 0a 0a 72 65 74 75 72 6e 20 27 5b 27 2e 69 6d 70 6c 6f 64 65 28 24 74 68 69 73 2d 3e 63 6f 6e 6a ..return.'['.implode($this->conj
511c0 75 6e 63 74 69 76 65 20 3f 20 27 2c 20 27 20 3a 20 27 20 7c 20 27 2c 20 24 63 6f 6e 73 74 72 61 unctive.?.',.'.:.'.|.',.$constra
511e0 69 6e 74 73 29 2e 27 5d 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ints).']';.}.}.<?php............
51200 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 5c 4c 69 6e 6b 43 namespace.Composer\Package\LinkC
51220 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 56 65 72 73 69 6f 6e onstraint;.........class.Version
51240 43 6f 6e 73 74 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 53 70 65 63 69 66 69 63 43 6f 6e 73 74 Constraint.extends.SpecificConst
51260 72 61 69 6e 74 0a 7b 0a 70 72 69 76 61 74 65 20 24 6f 70 65 72 61 74 6f 72 3b 0a 70 72 69 76 61 raint.{.private.$operator;.priva
51280 74 65 20 24 76 65 72 73 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 te.$version;........public.funct
512a0 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 2c 20 24 76 65 72 73 ion.__construct($operator,.$vers
512c0 69 6f 6e 29 0a 7b 0a 69 66 20 28 27 3d 27 20 3d 3d 3d 20 24 6f 70 65 72 61 74 6f 72 29 20 7b 0a ion).{.if.('='.===.$operator).{.
512e0 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 27 3c 3e 27 20 3d 3d $operator.=.'==';.}..if.('<>'.==
51300 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 21 3d 27 3b =.$operator).{.$operator.=.'!=';
51320 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 6f 72 20 3d 20 24 6f 70 65 72 61 74 6f 72 3b .}..$this->operator.=.$operator;
51340 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 6e 3b 0a 7d 0a 0a 70 .$this->version.=.$version;.}..p
51360 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 65 72 73 69 6f 6e 43 6f 6d 70 61 72 65 28 24 61 ublic.function.versionCompare($a
51380 2c 20 24 62 2c 20 24 6f 70 65 72 61 74 6f 72 2c 20 24 63 6f 6d 70 61 72 65 42 72 61 6e 63 68 65 ,.$b,.$operator,.$compareBranche
513a0 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 61 49 73 42 72 61 6e 63 68 20 3d 20 27 64 65 76 2d 27 s.=.false).{.$aIsBranch.=.'dev-'
513c0 20 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 .===.substr($a,.0,.4);.$bIsBranc
513e0 68 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 h.=.'dev-'.===.substr($b,.0,.4);
51400 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).{
51420 0a 72 65 74 75 72 6e 20 24 6f 70 65 72 61 74 6f 72 20 3d 3d 20 27 3d 3d 27 20 26 26 20 24 61 20 .return.$operator.==.'=='.&&.$a.
51440 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 68 ===.$b;.}....if.(!$compareBranch
51460 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 29 es.&&.($aIsBranch.||.$bIsBranch)
51480 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 73 ).{.return.false;.}..return.vers
514a0 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 0a ion_compare($a,.$b,.$operator);.
514c0 7d 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 70 65 }.......public.function.matchSpe
514e0 63 69 66 69 63 28 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 20 24 70 72 6f 76 69 64 65 cific(VersionConstraint.$provide
51500 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 24 r,.$compareBranches.=.false).{.$
51520 6e 6f 45 71 75 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 noEqualOp.=.str_replace('=',.'',
51540 20 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 6f 72 29 3b 0a 24 70 72 6f 76 69 64 65 72 4e 6f 45 71 .$this->operator);.$providerNoEq
51560 75 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 24 70 72 ualOp.=.str_replace('=',.'',.$pr
51580 6f 76 69 64 65 72 2d 3e 6f 70 65 72 61 74 6f 72 29 3b 0a 0a 24 69 73 45 71 75 61 6c 4f 70 20 3d ovider->operator);..$isEqualOp.=
515a0 20 27 3d 3d 27 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 6f 72 3b 0a 24 69 73 4e 6f .'=='.===.$this->operator;.$isNo
515c0 6e 45 71 75 61 6c 4f 70 20 3d 20 27 21 3d 27 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 6f 70 65 72 61 nEqualOp.=.'!='.===.$this->opera
515e0 74 6f 72 3b 0a 24 69 73 50 72 6f 76 69 64 65 72 45 71 75 61 6c 4f 70 20 3d 20 27 3d 3d 27 20 3d tor;.$isProviderEqualOp.=.'=='.=
51600 3d 3d 20 24 70 72 6f 76 69 64 65 72 2d 3e 6f 70 65 72 61 74 6f 72 3b 0a 24 69 73 50 72 6f 76 69 ==.$provider->operator;.$isProvi
51620 64 65 72 4e 6f 6e 45 71 75 61 6c 4f 70 20 3d 20 27 21 3d 27 20 3d 3d 3d 20 24 70 72 6f 76 69 64 derNonEqualOp.=.'!='.===.$provid
51640 65 72 2d 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 er->operator;......if.($isNonEqu
51660 61 6c 4f 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 alOp.||.$isProviderNonEqualOp).{
51680 0a 72 65 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 .return.!$isEqualOp.&&.!$isProvi
516a0 64 65 72 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 derEqualOp.||.$this->versionComp
516c0 61 72 65 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 are($provider->version,.$this->v
516e0 65 72 73 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 ersion,.'!=',.$compareBranches);
51700 0a 7d 0a 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 20 27 .}......if.($this->operator.!=.'
51720 3d 3d 27 20 26 26 20 24 6e 6f 45 71 75 61 6c 4f 70 20 3d 3d 20 24 70 72 6f 76 69 64 65 72 4e 6f =='.&&.$noEqualOp.==.$providerNo
51740 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 0a 69 66 20 28 24 EqualOp).{.return.true;.}..if.($
51760 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 69 64 65 72 2d 3e this->versionCompare($provider->
51780 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 24 74 68 69 73 2d 3e version,.$this->version,.$this->
517a0 6f 70 65 72 61 74 6f 72 2c 20 24 63 6f 6d 70 61 72 65 42 72 61 6e 63 68 65 73 29 29 20 7b 0a 0a operator,.$compareBranches)).{..
517c0 20 0a 20 69 66 20 28 24 70 72 6f 76 69 64 65 72 2d 3e 76 65 72 73 69 6f 6e 20 3d 3d 20 24 74 68 ...if.($provider->version.==.$th
517e0 69 73 2d 3e 76 65 72 73 69 6f 6e 20 26 26 20 24 70 72 6f 76 69 64 65 72 2d 3e 6f 70 65 72 61 74 is->version.&&.$provider->operat
51800 6f 72 20 3d 3d 20 24 70 72 6f 76 69 64 65 72 4e 6f 45 71 75 61 6c 4f 70 20 26 26 20 24 74 68 69 or.==.$providerNoEqualOp.&&.$thi
51820 73 2d 3e 6f 70 65 72 61 74 6f 72 20 21 3d 20 24 6e 6f 45 71 75 61 6c 4f 70 29 20 7b 0a 72 65 74 s->operator.!=.$noEqualOp).{.ret
51840 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 72 65 urn.false;.}..return.true;.}..re
51860 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 74 69 6f 6e 20 5f turn.false;.}..public.function._
51880 5f 74 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 6f 70 65 72 _toString().{.return.$this->oper
518a0 61 74 6f 72 2e 27 20 27 2e 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 3b 0a 7d 0a 7d 0a 3c 3f 70 ator.'.'.$this->version;.}.}.<?p
518c0 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
518e0 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 0a 0a 0a 0a 0a 61 \Package\LinkConstraint;.......a
51900 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 53 70 65 63 69 66 69 63 43 6f 6e 73 74 72 61 69 6e 74 bstract.class.SpecificConstraint
51920 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 6e 74 65 72 66 .implements.LinkConstraintInterf
51940 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 65 74 74 79 53 74 72 69 6e 67 3b 0a 0a ace.{.protected.$prettyString;..
51960 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 61 74 63 68 65 73 28 4c 69 6e 6b 43 6f 6e 73 public.function.matches(LinkCons
51980 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 20 traintInterface.$provider).{.if.
519a0 28 24 70 72 6f 76 69 64 65 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 4d 75 6c 74 69 43 6f 6e 73 74 ($provider.instanceof.MultiConst
519c0 72 61 69 6e 74 29 20 7b 0a 0a 20 72 65 74 75 72 6e 20 24 70 72 6f 76 69 64 65 72 2d 3e 6d 61 74 raint).{...return.$provider->mat
519e0 63 68 65 73 28 24 74 68 69 73 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 70 72 6f 76 69 64 65 72 ches($this);.}.elseif.($provider
51a00 20 69 6e 73 74 61 6e 63 65 6f 66 20 24 74 68 69 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 .instanceof.$this).{.return.$thi
51a20 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 3b 0a 7d 0a 0a s->matchSpecific($provider);.}..
51a40 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 63 74 69 6f 6e 20 return.true;.}..public.function.
51a60 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 6e 67 29 0a 7b setPrettyString($prettyString).{
51a80 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 74 74 79 53 74 .$this->prettyString.=.$prettySt
51aa0 72 69 6e 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 50 72 65 74 ring;.}..public.function.getPret
51ac0 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 53 74 tyString().{.if.($this->prettySt
51ae0 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 72 69 ring).{.return.$this->prettyStri
51b00 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 67 28 ng;.}..return.$this->__toString(
51b20 29 3b 0a 7d 0a 0a 0a 20 0a 20 0a 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e );.}........}.<?php............n
51b40 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 69 6e 6b 43 6f amespace.Composer\Package\LinkCo
51b60 6e 73 74 72 61 69 6e 74 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 4c 69 6e 6b 43 6f nstraint;.......interface.LinkCo
51b80 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 nstraintInterface.{.public.funct
51ba0 69 6f 6e 20 6d 61 74 63 68 65 73 28 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 ion.matches(LinkConstraintInterf
51bc0 61 63 65 20 24 70 72 6f 76 69 64 65 72 29 3b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ace.$provider);.public.function.
51be0 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 6e 67 29 3b 0a setPrettyString($prettyString);.
51c00 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(
51c20 29 3b 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 3b );.public.function.__toString();
51c40 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
51c60 6d 70 6f 73 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 mposer;..use.Composer\IO\IOInter
51c80 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 74 face;.use.Composer\Util\Filesyst
51ca0 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 46 69 6e 64 65 72 em;.use.Symfony\Component\Finder
51cc0 5c 46 69 6e 64 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 61 63 68 65 0a 7b 0a 70 72 69 \Finder;.......class.Cache.{.pri
51ce0 76 61 74 65 20 24 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 vate.$io;.private.$root;.private
51d00 20 24 65 6e 61 62 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 .$enabled.=.true;.private.$white
51d20 6c 69 73 74 3b 0a 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 list;.private.$filesystem;......
51d40 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 4f ..public.function.__construct(IO
51d60 49 6e 74 65 72 66 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 Interface.$io,.$cacheDir,.$white
51d80 6c 69 73 74 20 3d 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 list.=.'a-z0-9.',.Filesystem.$fi
51da0 6c 65 73 79 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 lesystem.=.null).{.$this->io.=.$
51dc0 69 6f 3b 0a 24 74 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 io;.$this->root.=.rtrim($cacheDi
51de0 72 2c 20 27 2f 5c 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 r,.'/\\')...'/';.$this->whitelis
51e00 74 20 3d 20 24 77 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 t.=.$whitelist;.$this->filesyste
51e20 6d 20 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 m.=.$filesystem.?:.new.Filesyste
51e40 6d 28 29 3b 0a 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 74 68 69 73 2d 3e 72 6f 6f 74 29 29 20 m();..if.(!is_dir($this->root)).
51e60 7b 0a 69 66 20 28 21 40 6d 6b 64 69 72 28 24 74 68 69 73 2d 3e 72 6f 6f 74 2c 20 30 37 37 37 2c {.if.(!@mkdir($this->root,.0777,
51e80 20 74 72 75 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 64 20 3d 20 66 61 6c 73 65 .true)).{.$this->enabled.=.false
51ea0 3b 0a 7d 0a 7d 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 ;.}.}.}..public.function.isEnabl
51ec0 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;.}.
51ee0 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
51f00 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
51f20 69 6f 6e 20 72 65 61 64 28 24 66 69 6c 65 29 0a 7b 0a 24 66 69 6c 65 20 3d 20 70 72 65 67 5f 72 ion.read($file).{.$file.=.preg_r
51f40 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 2e 27 5d eplace('{[^'.$this->whitelist.']
51f60 7d 69 27 2c 20 27 2d 27 2c 20 24 66 69 6c 65 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 6e 61 }i',.'-',.$file);.if.($this->ena
51f80 62 6c 65 64 20 26 26 20 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 68 69 73 2d 3e 72 6f 6f 74 20 bled.&&.file_exists($this->root.
51fa0 2e 20 24 66 69 6c 65 29 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 44 65 62 ..$file)).{.if.($this->io->isDeb
51fc0 75 67 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 52 65 61 64 69 6e ug()).{.$this->io->write('Readin
51fe0 67 20 27 2e 24 74 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 g.'.$this->root...$file.'.from.c
52000 61 63 68 65 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 ache');.}..return.file_get_conte
52020 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 0a 0a 72 65 74 nts($this->root...$file);.}..ret
52040 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 74 69 6f 6e 20 77 72 urn.false;.}..public.function.wr
52060 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 66 20 28 24 74 68 69 ite($file,.$contents).{.if.($thi
52080 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 67 5f 72 65 70 6c 61 s->enabled).{.$file.=.preg_repla
520a0 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 2e 27 5d 7d 69 27 2c ce('{[^'.$this->whitelist.']}i',
520c0 20 27 2d 27 2c 20 24 66 69 6c 65 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 .'-',.$file);..if.($this->io->is
520e0 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 28 27 57 72 69 Debug()).{.$this->io->write('Wri
52100 74 69 6e 67 20 27 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 ting.'.$this->root...$file.'.int
52120 6f 20 63 61 63 68 65 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 69 6c 65 5f 70 75 74 5f 63 6f o.cache');.}..return.file_put_co
52140 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 2c 20 24 63 6f 6e ntents($this->root...$file,.$con
52160 74 65 6e 74 73 29 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 70 tents);.}..return.false;.}.....p
52180 75 62 6c 69 63 20 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 ublic.function.copyFrom($file,.$
521a0 73 6f 75 72 63 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 source).{.if.($this->enabled).{.
521c0 24 66 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 $file.=.preg_replace('{[^'.$this
521e0 2d 3e 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 ->whitelist.']}i',.'-',.$file);.
52200 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 65 63 74 6f $this->filesystem->ensureDirecto
52220 72 79 45 78 69 73 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 ryExists(dirname($this->root...$
52240 66 69 6c 65 29 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 44 65 62 75 67 28 file));..if.($this->io->isDebug(
52260 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 57 72 69 74 69 6e 67 20 27 )).{.$this->io->write('Writing.'
52280 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
522a0 65 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 63 6f 70 79 28 24 73 6f 75 72 63 65 2c 20 24 74 68 e');.}..return.copy($source,.$th
522c0 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c is->root...$file);.}..return.fal
522e0 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 63 6f 70 79 54 6f se;.}.....public.function.copyTo
52300 28 24 66 69 6c 65 2c 20 24 74 61 72 67 65 74 29 0a 7b 0a 24 66 69 6c 65 20 3d 20 70 72 65 67 5f ($file,.$target).{.$file.=.preg_
52320 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 2e 27 replace('{[^'.$this->whitelist.'
52340 5d 7d 69 27 2c 20 27 2d 27 2c 20 24 66 69 6c 65 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 6e ]}i',.'-',.$file);.if.($this->en
52360 61 62 6c 65 64 20 26 26 20 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 68 69 73 2d 3e 72 6f 6f 74 abled.&&.file_exists($this->root
52380 20 2e 20 24 66 69 6c 65 29 29 20 7b 0a 74 6f 75 63 68 28 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e ...$file)).{.touch($this->root..
523a0 20 24 66 69 6c 65 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 44 65 62 75 67 .$file);..if.($this->io->isDebug
523c0 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 52 65 61 64 69 6e 67 20 ()).{.$this->io->write('Reading.
523e0 27 2e 24 74 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 '.$this->root...$file.'.from.cac
52400 68 65 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 63 6f 70 79 28 24 74 68 69 73 2d 3e 72 6f 6f 74 he');.}..return.copy($this->root
52420 20 2e 20 24 66 69 6c 65 2c 20 24 74 61 72 67 65 74 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 ...$file,.$target);.}..return.fa
52440 6c 73 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 28 24 lse;.}..public.function.remove($
52460 66 69 6c 65 29 0a 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 file).{.$file.=.preg_replace('{[
52480 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',.'-',.
524a0 24 66 69 6c 65 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 64 20 26 26 20 66 69 $file);.if.($this->enabled.&&.fi
524c0 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 65 29 29 20 le_exists($this->root...$file)).
524e0 7b 0a 72 65 74 75 72 6e 20 75 6e 6c 69 6e 6b 28 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 {.return.unlink($this->root...$f
52500 69 6c 65 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 ile);.}..return.false;.}..public
52520 20 66 75 6e 63 74 69 6f 6e 20 67 63 28 24 74 74 6c 2c 20 24 6d 61 78 53 69 7a 65 29 0a 7b 0a 24 .function.gc($ttl,.$maxSize).{.$
52540 65 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 expire.=.new.\DateTime();.$expir
52560 65 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 e->modify('-'.$ttl.'.seconds');.
52580 0a 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 .$finder.=.$this->getFinder()->d
525a0 61 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 ate('until.'.$expire->format('Y-
525c0 6d 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 m-d.H:i:s'));.foreach.($finder.a
525e0 73 20 24 66 69 6c 65 29 20 7b 0a 75 6e 6c 69 6e 6b 28 24 66 69 6c 65 2d 3e 67 65 74 52 65 61 6c s.$file).{.unlink($file->getReal
52600 50 61 74 68 28 29 29 3b 0a 7d 0a 0a 24 74 6f 74 61 6c 53 69 7a 65 20 3d 20 24 74 68 69 73 2d 3e Path());.}..$totalSize.=.$this->
52620 66 69 6c 65 73 79 73 74 65 6d 2d 3e 73 69 7a 65 28 24 74 68 69 73 2d 3e 72 6f 6f 74 29 3b 0a 69 filesystem->size($this->root);.i
52640 66 20 28 24 74 6f 74 61 6c 53 69 7a 65 20 3e 20 24 6d 61 78 53 69 7a 65 29 20 7b 0a 24 69 74 65 f.($totalSize.>.$maxSize).{.$ite
52660 72 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 46 69 6e 64 65 72 28 29 2d 3e 73 6f 72 74 rator.=.$this->getFinder()->sort
52680 42 79 41 63 63 65 73 73 65 64 54 69 6d 65 28 29 2d 3e 67 65 74 49 74 65 72 61 74 6f 72 28 29 3b ByAccessedTime()->getIterator();
526a0 0a 77 68 69 6c 65 20 28 24 74 6f 74 61 6c 53 69 7a 65 20 3e 20 24 6d 61 78 53 69 7a 65 20 26 26 .while.($totalSize.>.$maxSize.&&
526c0 20 24 69 74 65 72 61 74 6f 72 2d 3e 76 61 6c 69 64 28 29 29 20 7b 0a 24 66 69 6c 65 70 61 74 68 .$iterator->valid()).{.$filepath
526e0 20 3d 20 24 69 74 65 72 61 74 6f 72 2d 3e 63 75 72 72 65 6e 74 28 29 2d 3e 67 65 74 52 65 61 6c .=.$iterator->current()->getReal
52700 50 61 74 68 28 29 3b 0a 24 74 6f 74 61 6c 53 69 7a 65 20 2d 3d 20 24 74 68 69 73 2d 3e 66 69 6c Path();.$totalSize.-=.$this->fil
52720 65 73 79 73 74 65 6d 2d 3e 73 69 7a 65 28 24 66 69 6c 65 70 61 74 68 29 3b 0a 75 6e 6c 69 6e 6b esystem->size($filepath);.unlink
52740 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 74 28 29 3b 0a ($filepath);.$iterator->next();.
52760 7d 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 63 20 66 75 6e 63 }.}..return.true;.}..public.func
52780 74 69 6f 6e 20 73 68 61 31 28 24 66 69 6c 65 29 0a 7b 0a 24 66 69 6c 65 20 3d 20 70 72 65 67 5f tion.sha1($file).{.$file.=.preg_
527a0 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 2e 27 replace('{[^'.$this->whitelist.'
527c0 5d 7d 69 27 2c 20 27 2d 27 2c 20 24 66 69 6c 65 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 6e ]}i',.'-',.$file);.if.($this->en
527e0 61 62 6c 65 64 20 26 26 20 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 68 69 73 2d 3e 72 6f 6f 74 abled.&&.file_exists($this->root
52800 20 2e 20 24 66 69 6c 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 ...$file)).{.return.sha1_file($t
52820 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 his->root...$file);.}..return.fa
52840 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 32 35 36 28 24 lse;.}..public.function.sha256($
52860 66 69 6c 65 29 0a 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 file).{.$file.=.preg_replace('{[
52880 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',.'-',.
528a0 24 66 69 6c 65 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 64 20 26 26 20 66 69 $file);.if.($this->enabled.&&.fi
528c0 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 65 29 29 20 le_exists($this->root...$file)).
528e0 7b 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 {.return.hash_file('sha256',.$th
52900 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c is->root...$file);.}..return.fal
52920 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 6e se;.}..protected.function.getFin
52940 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 2d der().{.return.Finder::create()-
52960 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 3c >in($this->root)->files();.}.}.<
52980 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
529a0 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
529c0 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;..
529e0 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 50 6f 6c 69 63 79 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 ...interface.PolicyInterface.{.p
52a00 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 65 72 73 69 6f 6e 43 6f 6d 70 61 72 65 28 50 61 ublic.function.versionCompare(Pa
52a20 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 61 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 ckageInterface.$a,.PackageInterf
52a40 61 63 65 20 24 62 2c 20 24 6f 70 65 72 61 74 6f 72 29 3b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ace.$b,.$operator);.public.funct
52a60 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 6f 6f ion.findUpdatePackages(Pool.$poo
52a80 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 65 49 l,.array.$installedMap,.PackageI
52aa0 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 3b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 nterface.$package);.public.funct
52ac0 69 6f 6e 20 73 65 6c 65 63 74 50 72 65 66 65 72 65 64 50 61 63 6b 61 67 65 73 28 50 6f 6f 6c 20 ion.selectPreferedPackages(Pool.
52ae0 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 61 72 72 61 $pool,.array.$installedMap,.arra
52b00 79 20 24 6c 69 74 65 72 61 6c 73 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a y.$literals);.}.<?php...........
52b20 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 6e 63 79 52 65 .namespace.Composer\DependencyRe
52b40 73 6f 6c 76 65 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 75 6c 65 53 65 74 20 69 6d 70 6c 65 6d solver;.....class.RuleSet.implem
52b60 65 6e 74 73 20 5c 49 74 65 72 61 74 6f 72 41 67 67 72 65 67 61 74 65 2c 20 5c 43 6f 75 6e 74 61 ents.\IteratorAggregate,.\Counta
52b80 62 6c 65 0a 7b 0a 0a 20 63 6f 6e 73 74 20 54 59 50 45 5f 50 41 43 4b 41 47 45 20 3d 20 30 3b 0a ble.{...const.TYPE_PACKAGE.=.0;.
52ba0 63 6f 6e 73 74 20 54 59 50 45 5f 4a 4f 42 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 54 59 50 45 5f 4c const.TYPE_JOB.=.1;.const.TYPE_L
52bc0 45 41 52 4e 45 44 20 3d 20 34 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 69 63 20 24 74 EARNED.=.4;..protected.static.$t
52be0 79 70 65 73 20 3d 20 61 72 72 61 79 28 0a 2d 31 20 3d 3e 20 27 55 4e 4b 4e 4f 57 4e 27 2c 0a 73 ypes.=.array(.-1.=>.'UNKNOWN',.s
52c00 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 2c 0a elf::TYPE_PACKAGE.=>.'PACKAGE',.
52c20 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 3a 54 self::TYPE_JOB.=>.'JOB',.self::T
52c40 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 70 72 YPE_LEARNED.=>.'LEARNED',.);..pr
52c60 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 72 75 6c 65 42 otected.$rules;.protected.$ruleB
52c80 79 49 64 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6e 65 78 74 52 75 6c 65 49 64 3b 0a 0a 70 72 6f yId;.protected.$nextRuleId;..pro
52ca0 74 65 63 74 65 64 20 24 72 75 6c 65 73 42 79 48 61 73 68 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e tected.$rulesByHash;..public.fun
52cc0 63 74 69 6f 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 6e 65 78 ction.__construct().{.$this->nex
52ce0 74 52 75 6c 65 49 64 20 3d 20 30 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 tRuleId.=.0;..foreach.($this->ge
52d00 74 54 79 70 65 73 28 29 20 61 73 20 24 74 79 70 65 29 20 7b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 tTypes().as.$type).{.$this->rule
52d20 73 5b 24 74 79 70 65 5d 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 75 s[$type].=.array();.}..$this->ru
52d40 6c 65 73 42 79 48 61 73 68 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 lesByHash.=.array();.}..public.f
52d60 75 6e 63 74 69 6f 6e 20 61 64 64 28 52 75 6c 65 20 24 72 75 6c 65 2c 20 24 74 79 70 65 29 0a 7b unction.add(Rule.$rule,.$type).{
52d80 0a 69 66 20 28 21 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 74 79 70 65 73 5b 24 74 79 70 65 5d 29 .if.(!isset(self::$types[$type])
52da0 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4f 75 74 4f 66 42 6f 75 6e 64 73 45 78 63 65 70 74 ).{.throw.new.\OutOfBoundsExcept
52dc0 69 6f 6e 28 27 55 6e 6b 6e 6f 77 6e 20 72 75 6c 65 20 74 79 70 65 3a 20 27 20 2e 20 24 74 79 70 ion('Unknown.rule.type:.'...$typ
52de0 65 29 3b 0a 7d 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 e);.}..if.(!isset($this->rules[$
52e00 74 79 70 65 5d 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 type])).{.$this->rules[$type].=.
52e20 61 72 72 61 79 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 array();.}..$this->rules[$type][
52e40 5d 20 3d 20 24 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 ].=.$rule;.$this->ruleById[$this
52e60 2d 3e 6e 65 78 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 ->nextRuleId].=.$rule;.$rule->se
52e80 74 54 79 70 65 28 24 74 79 70 65 29 3b 0a 0a 24 72 75 6c 65 2d 3e 73 65 74 49 64 28 24 74 68 69 tType($type);..$rule->setId($thi
52ea0 73 2d 3e 6e 65 78 74 52 75 6c 65 49 64 29 3b 0a 24 74 68 69 73 2d 3e 6e 65 78 74 52 75 6c 65 49 s->nextRuleId);.$this->nextRuleI
52ec0 64 2b 2b 3b 0a 0a 24 68 61 73 68 20 3d 20 24 72 75 6c 65 2d 3e 67 65 74 48 61 73 68 28 29 3b 0a d++;..$hash.=.$rule->getHash();.
52ee0 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
52f00 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
52f20 68 5d 20 3d 20 61 72 72 61 79 28 24 72 75 6c 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 h].=.array($rule);.}.else.{.$thi
52f40 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 3b s->rulesByHash[$hash][].=.$rule;
52f60 0a 7d 0a 7d 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 .}.}..public.function.count().{.
52f80 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 65 78 74 52 75 6c 65 49 64 3b 0a 7d 0a 0a 70 75 62 return.$this->nextRuleId;.}..pub
52fa0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 75 6c 65 42 79 49 64 28 24 69 64 29 0a 7b 0a 72 65 74 lic.function.ruleById($id).{.ret
52fc0 75 72 6e 20 24 74 68 69 73 2d 3e 72 75 6c 65 42 79 49 64 5b 24 69 64 5d 3b 0a 7d 0a 0a 70 75 62 urn.$this->ruleById[$id];.}..pub
52fe0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 75 6c 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e lic.function.getRules().{.return
53000 20 24 74 68 69 73 2d 3e 72 75 6c 65 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f .$this->rules;.}..public.functio
53020 6e 20 67 65 74 49 74 65 72 61 74 6f 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 52 75 6c n.getIterator().{.return.new.Rul
53040 65 53 65 74 49 74 65 72 61 74 6f 72 28 24 74 68 69 73 2d 3e 67 65 74 52 75 6c 65 73 28 29 29 3b eSetIterator($this->getRules());
53060 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 61 74 6f 72 46 .}..public.function.getIteratorF
53080 6f 72 28 24 74 79 70 65 73 29 0a 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 74 79 70 65 or($types).{.if.(!is_array($type
530a0 73 29 29 20 7b 0a 24 74 79 70 65 73 20 3d 20 61 72 72 61 79 28 24 74 79 70 65 73 29 3b 0a 7d 0a s)).{.$types.=.array($types);.}.
530c0 0a 24 61 6c 6c 52 75 6c 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 52 75 6c 65 73 28 29 3b 0a .$allRules.=.$this->getRules();.
530e0 24 72 75 6c 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 74 79 70 $rules.=.array();..foreach.($typ
53100 65 73 20 61 73 20 24 74 79 70 65 29 20 7b 0a 24 72 75 6c 65 73 5b 24 74 79 70 65 5d 20 3d 20 24 es.as.$type).{.$rules[$type].=.$
53120 61 6c 6c 52 75 6c 65 73 5b 24 74 79 70 65 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 52 allRules[$type];.}..return.new.R
53140 75 6c 65 53 65 74 49 74 65 72 61 74 6f 72 28 24 72 75 6c 65 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 uleSetIterator($rules);.}..publi
53160 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 74 65 72 61 74 6f 72 57 69 74 68 6f 75 74 28 24 74 c.function.getIteratorWithout($t
53180 79 70 65 73 29 0a 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 74 79 70 65 73 29 29 20 7b ypes).{.if.(!is_array($types)).{
531a0 0a 24 74 79 70 65 73 20 3d 20 61 72 72 61 79 28 24 74 79 70 65 73 29 3b 0a 7d 0a 0a 24 72 75 6c .$types.=.array($types);.}..$rul
531c0 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 52 75 6c 65 73 28 29 3b 0a 0a 66 6f 72 65 61 63 68 es.=.$this->getRules();..foreach
531e0 20 28 24 74 79 70 65 73 20 61 73 20 24 74 79 70 65 29 20 7b 0a 75 6e 73 65 74 28 24 72 75 6c 65 .($types.as.$type).{.unset($rule
53200 73 5b 24 74 79 70 65 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 52 75 6c 65 53 65 74 s[$type]);.}..return.new.RuleSet
53220 49 74 65 72 61 74 6f 72 28 24 72 75 6c 65 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 Iterator($rules);.}..public.func
53240 74 69 6f 6e 20 67 65 74 54 79 70 65 73 28 29 0a 7b 0a 24 74 79 70 65 73 20 3d 20 73 65 6c 66 3a tion.getTypes().{.$types.=.self:
53260 3a 24 74 79 70 65 73 3b 0a 75 6e 73 65 74 28 24 74 79 70 65 73 5b 2d 31 5d 29 3b 0a 0a 72 65 74 :$types;.unset($types[-1]);..ret
53280 75 72 6e 20 61 72 72 61 79 5f 6b 65 79 73 28 24 74 79 70 65 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 urn.array_keys($types);.}..publi
532a0 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 74 61 69 6e 73 45 71 75 61 6c 28 24 72 75 6c 65 29 0a c.function.containsEqual($rule).
532c0 7b 0a 69 66 20 28 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 {.if.(isset($this->rulesByHash[$
532e0 72 75 6c 65 2d 3e 67 65 74 48 61 73 68 28 29 5d 29 29 20 7b 0a 24 70 6f 74 65 6e 74 69 61 6c 44 rule->getHash()])).{.$potentialD
53300 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 73 68 5b 24 uplicates.=.$this->rulesByHash[$
53320 72 75 6c 65 2d 3e 67 65 74 48 61 73 68 28 29 5d 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 6f 74 65 rule->getHash()];.foreach.($pote
53340 6e 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 ntialDuplicates.as.$potentialDup
53360 6c 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 licate).{.if.($rule->equals($pot
53380 65 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 20 74 72 75 65 3b entialDuplicate)).{.return.true;
533a0 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 70 75 62 6c 69 63 20 .}.}.}..return.false;.}..public.
533c0 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 24 73 74 72 69 6e 67 20 function.__toString().{.$string.
533e0 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 75 6c 65 73 20 61 73 =."\n";.foreach.($this->rules.as
53400 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 6e 67 20 2e 3d 20 73 .$type.=>.$rules).{.$string..=.s
53420 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 5d 2c 20 38 2c 20 27 tr_pad(self::$types[$type],.8,.'
53440 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 65 73 20 61 73 20 24 .')...":.";.foreach.($rules.as.$
53460 72 75 6c 65 29 20 7b 0a 24 73 74 72 69 6e 67 20 2e 3d 20 24 72 75 6c 65 2e 22 5c 6e 22 3b 0a 7d rule).{.$string..=.$rule."\n";.}
53480 0a 24 73 74 72 69 6e 67 20 2e 3d 20 22 5c 6e 5c 6e 22 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 .$string..=."\n\n";.}..return.$s
534a0 74 72 69 6e 67 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 tring;.}.}.<?php............name
534c0 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 65 space.Composer\DependencyResolve
534e0 72 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 r;.....class.SolverBugException.
53500 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 70 75 62 6c extends.\RuntimeException.{.publ
53520 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 65 ic.function.__construct($message
53540 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 6d 65 73 73 61 67 ).{.parent::__construct(.$messag
53560 65 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 e."\nThis.exception.was.most.lik
53580 65 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 ely.caused.by.a.bug.in.Composer.
535a0 5c 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 \n".."Please.report.the.command.
535c0 79 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 you.ran,.the.exact.error.you.rec
535e0 65 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 eived,.and.your.composer.json.on
53600 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 65 72 2f 63 6f 6d .https://github.com/composer/com
53620 70 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 29 3b 0a 7d poser/issues.-.thank.you!\n");.}
53640 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
53660 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.
53680 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
536a0 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
536c0 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 42 61 73 65 50 kage;.use.Composer\Package\BaseP
536e0 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 4c 69 6e ackage;.use.Composer\Package\Lin
53700 6b 43 6f 6e 73 74 72 61 69 6e 74 5c 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a kConstraint\VersionConstraint;..
53720 0a 0a 0a 0a 63 6c 61 73 73 20 44 65 66 61 75 6c 74 50 6f 6c 69 63 79 20 69 6d 70 6c 65 6d 65 6e ....class.DefaultPolicy.implemen
53740 74 73 20 50 6f 6c 69 63 79 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 61 74 65 20 24 70 72 ts.PolicyInterface.{.private.$pr
53760 65 66 65 72 53 74 61 62 6c 65 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 eferStable;..public.function.__c
53780 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 61 6c 73 65 29 0a onstruct($preferStable.=.false).
537a0 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
537c0 74 61 62 6c 65 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 69 6f table;.}..public.function.versio
537e0 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 50 61 nCompare(PackageInterface.$a,.Pa
53800 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 7b 0a ckageInterface.$b,.$operator).{.
53820 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 74 61 if.($this->preferStable.&&.($sta
53840 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 24 73 bA.=.$a->getStability()).!==.($s
53860 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 72 65 tabB.=.$b->getStability())).{.re
53880 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 5b 24 turn.BasePackage::$stabilities[$
538a0 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 74 69 stabA].<.BasePackage::$stabiliti
538c0 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 65 77 es[$stabB];.}..$constraint.=.new
538e0 20 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 28 24 6f 70 65 72 61 74 6f 72 2c 20 24 62 .VersionConstraint($operator,.$b
53900 2d 3e 67 65 74 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 ->getVersion());.$version.=.new.
53920 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 3d 27 2c 20 24 61 2d 3e 67 65 74 56 VersionConstraint('==',.$a->getV
53940 65 72 73 69 6f 6e 28 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e ersion());..return.$constraint->
53960 6d 61 74 63 68 53 70 65 63 69 66 69 63 28 24 76 65 72 73 69 6f 6e 2c 20 74 72 75 65 29 3b 0a 7d matchSpecific($version,.true);.}
53980 0a 0a 70 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 ..public.function.findUpdatePack
539a0 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 6c 6c 65 ages(Pool.$pool,.array.$installe
539c0 64 4d 61 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 dMap,.PackageInterface.$package)
539e0 0a 7b 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 65 61 63 68 .{.$packages.=.array();..foreach
53a00 20 28 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 2d 3e .($pool->whatProvides($package->
53a20 67 65 74 4e 61 6d 65 28 29 29 20 61 73 20 24 63 61 6e 64 69 64 61 74 65 29 20 7b 0a 69 66 20 28 getName()).as.$candidate).{.if.(
53a40 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 63 6b $candidate.!==.$package).{.$pack
53a60 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 72 6e ages[].=.$candidate;.}.}..return
53a80 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 20 67 .$packages;.}..public.function.g
53aa0 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 49 6e etPriority(Pool.$pool,.PackageIn
53ac0 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 6f 6c terface.$package).{.return.$pool
53ae0 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 6f 73 ->getPriority($package->getRepos
53b00 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 65 6c itory());.}..public.function.sel
53b20 65 63 74 50 72 65 66 65 72 65 64 50 61 63 6b 61 67 65 73 28 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 ectPreferedPackages(Pool.$pool,.
53b40 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 69 74 65 array.$installedMap,.array.$lite
53b60 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 29 0a 7b rals,.$requiredPackage.=.null).{
53b80 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 72 61 6c .$packages.=.$this->groupLiteral
53ba0 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 20 24 69 sByNamePreferInstalled($pool,.$i
53bc0 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 65 61 63 nstalledMap,.$literals);..foreac
53be0 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 0a 24 70 h.($packages.as.&$literals).{.$p
53c00 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 73 2c 20 olicy.=.$this;.usort($literals,.
53c20 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 79 2c 20 function.($a,.$b).use.($policy,.
53c40 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 65 64 50 $pool,.$installedMap,.$requiredP
53c60 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 70 61 72 ackage).{.return.$policy->compar
53c80 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 6f 6f 6c eByPriorityPreferInstalled($pool
53ca0 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 61 6c 54 ,.$installedMap,.$pool->literalT
53cc0 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 6f 50 61 oPackage($a),.$pool->literalToPa
53ce0 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 74 72 75 ckage($b),.$requiredPackage,.tru
53d00 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 20 61 73 e);.});.}..foreach.($packages.as
53d20 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 68 69 73 .&$literals).{.$literals.=.$this
53d40 2d 3e 70 72 75 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 ->pruneToBestVersion($pool,.$lit
53d60 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 6e erals);..$literals.=.$this->prun
53d80 65 54 6f 48 69 67 68 65 73 74 50 72 69 6f 72 69 74 79 4f 72 49 6e 73 74 61 6c 6c 65 64 28 24 70 eToHighestPriorityOrInstalled($p
53da0 6f 6f 6c 2c 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 ool,.$installedMap,.$literals);.
53dc0 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 74 65 41 .$literals.=.$this->pruneRemoteA
53de0 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 24 73 65 liases($pool,.$literals);.}..$se
53e00 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 28 27 61 lected.=.call_user_func_array('a
53e20 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 73 6f 72 rray_merge',.$packages);....usor
53e40 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 29 20 75 t($selected,.function.($a,.$b).u
53e60 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 64 4d 61 se.($policy,.$pool,.$installedMa
53e80 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 20 24 70 p,.$requiredPackage).{.return.$p
53ea0 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 72 49 6e olicy->compareByPriorityPreferIn
53ec0 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 20 24 70 stalled($pool,.$installedMap,.$p
53ee0 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 6f 6f 6c ool->literalToPackage($a),.$pool
53f00 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 69 72 65 ->literalToPackage($b),.$require
53f20 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 74 65 64 dPackage);.});..return.$selected
53f40 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 4c 69 74 ;.}..protected.function.groupLit
53f60 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 6f 6c 20 eralsByNamePreferInstalled(Pool.
53f80 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 6c 69 74 $pool,.array.$installedMap,.$lit
53fa0 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 0a 66 6f erals).{.$packages.=.array();.fo
53fc0 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 7b 0a reach.($literals.as.$literal).{.
53fe0 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 54 6f 50 $packageName.=.$pool->literalToP
54000 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 0a 69 66 ackage($literal)->getName();..if
54020 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 6d 65 5d .(!isset($packages[$packageName]
54040 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 3d 20 61 )).{.$packages[$packageName].=.a
54060 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 65 64 4d rray();.}..if.(isset($installedM
54080 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 6e 73 68 ap[abs($literal)])).{.array_unsh
540a0 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 24 6c 69 ift($packages[$packageName],.$li
540c0 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 61 63 6b teral);.}.else.{.$packages[$pack
540e0 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 65 74 75 ageName][].=.$literal;.}.}..retu
54100 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 6e 63 74 rn.$packages;.}.....public.funct
54120 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 73 74 61 ion.compareByPriorityPreferInsta
54140 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 6c 6c 65 lled(Pool.$pool,.array.$installe
54160 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 63 6b 61 dMap,.PackageInterface.$a,.Packa
54180 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 61 67 65 geInterface.$b,.$requiredPackage
541a0 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 73 65 29 .=.null,.$ignoreReplace.=.false)
541c0 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 3d 20 24 .{.if.($a->getRepository().===.$
541e0 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 61 2d 3e b->getRepository()).{...if.($a->
54200 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 7b 0a 24 getName().===.$b->getName()).{.$
54220 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 73 50 61 aAliased.=.$a.instanceof.AliasPa
54240 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 65 6f 66 ckage;.$bAliased.=.$b.instanceof
54260 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 26 26 20 .AliasPackage;.if.($aAliased.&&.
54280 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 69 66 20 !$bAliased).{.return.-1;...}.if.
542a0 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 65 74 75 (!$aAliased.&&.$bAliased).{.retu
542c0 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 61 63 65 rn.1;...}.}..if.(!$ignoreReplace
542e0 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 20 24 62 ).{...if.($this->replaces($a,.$b
54300 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 3e 72 65 )).{.return.1;...}.if.($this->re
54320 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 0a 20 7d places($b,.$a)).{.return.-1;...}
54340 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 20 66 61 ......if.($requiredPackage.&&.fa
54360 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 72 65 64 lse.!==.($pos.=.strpos($required
54380 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 6e 64 6f Package,.'/'))).{.$requiredVendo
543a0 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 30 2c 20 r.=.substr($requiredPackage,.0,.
543c0 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 74 72 28 $pos);..$aIsSameVendor.=.substr(
543e0 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 72 65 71 $a->getName(),.0,.$pos).===.$req
54400 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 20 73 75 uiredVendor;.$bIsSameVendor.=.su
54420 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 3d 3d 3d bstr($b->getName(),.0,.$pos).===
54440 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 6d 65 56 .$requiredVendor;..if.($bIsSameV
54460 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 65 74 75 endor.!==.$aIsSameVendor).{.retu
54480 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 0a 7d 0a rn.$aIsSameVendor.?.-1.:.1;.}.}.
544a0 7d 0a 0a 0a 20 69 66 20 28 24 61 2d 3e 67 65 74 49 64 28 29 20 3d 3d 3d 20 24 62 2d 3e 67 65 74 }....if.($a->getId().===.$b->get
544c0 49 64 28 29 29 20 7b 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 Id()).{.return.0;.}..return.($a-
544e0 3e 67 65 74 49 64 28 29 20 3c 20 24 62 2d 3e 67 65 74 49 64 28 29 29 20 3f 20 2d 31 20 3a 20 31 >getId().<.$b->getId()).?.-1.:.1
54500 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 61 2d ;.}..if.(isset($installedMap[$a-
54520 3e 67 65 74 49 64 28 29 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 2d 31 3b 0a 7d 0a 0a 69 66 20 28 >getId()])).{.return.-1;.}..if.(
54540 69 73 73 65 74 28 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 5b 24 62 2d 3e 67 65 74 49 64 28 29 5d isset($installedMap[$b->getId()]
54560 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 74 68 69 73 2d )).{.return.1;.}..return.($this-
54580 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 74 68 69 73 2d >getPriority($pool,.$a).>.$this-
545a0 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 2d 31 20 3a 20 >getPriority($pool,.$b)).?.-1.:.
545c0 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 75 6e 63 74 69 1;.}............protected.functi
545e0 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 65 20 24 73 6f on.replaces(PackageInterface.$so
54600 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 67 65 74 29 0a urce,.PackageInterface.$target).
54620 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 61 63 65 73 28 {.foreach.($source->getReplaces(
54640 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 74 54 61 72 67 ).as.$link).{.if.($link->getTarg
54660 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 0a 0a 0a 20 29 et().===.$target->getName()....)
54680 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 73 .{.return.true;.}.}..return.fals
546a0 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 75 6e 65 54 6f e;.}..protected.function.pruneTo
546c0 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 74 65 72 61 6c BestVersion(Pool.$pool,.$literal
546e0 73 29 0a 7b 0a 24 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 s).{.$bestLiterals.=.array($lite
54700 72 61 6c 73 5b 30 5d 29 3b 0a 24 62 65 73 74 50 61 63 6b 61 67 65 20 3d 20 24 70 6f 6f 6c 2d 3e rals[0]);.$bestPackage.=.$pool->
54720 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 73 5b 30 5d 29 3b 0a literalToPackage($literals[0]);.
54740 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 72 61 6c 73 20 61 73 20 24 69 20 3d 3e 20 24 6c 69 74 foreach.($literals.as.$i.=>.$lit
54760 65 72 61 6c 29 20 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 69 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 eral).{.if.(0.===.$i).{.continue
54780 3b 0a 7d 0a 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 ;.}..$package.=.$pool->literalTo
547a0 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 76 Package($literal);..if.($this->v
547c0 65 72 73 69 6f 6e 43 6f 6d 70 61 72 65 28 24 70 61 63 6b 61 67 65 2c 20 24 62 65 73 74 50 61 63 ersionCompare($package,.$bestPac
547e0 6b 61 67 65 2c 20 27 3e 27 29 29 20 7b 0a 24 62 65 73 74 50 61 63 6b 61 67 65 20 3d 20 24 70 61 kage,.'>')).{.$bestPackage.=.$pa
54800 63 6b 61 67 65 3b 0a 24 62 65 73 74 4c 69 74 65 72 61 6c 73 20 3d 20 61 72 72 61 79 28 24 6c 69 ckage;.$bestLiterals.=.array($li
54820 74 65 72 61 6c 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e teral);.}.elseif.($this->version
54840 43 6f 6d 70 61 72 65 28 24 70 61 63 6b 61 67 65 2c 20 24 62 65 73 74 50 61 63 6b 61 67 65 2c 20 Compare($package,.$bestPackage,.
54860 27 3d 3d 27 29 29 20 7b 0a 24 62 65 73 74 4c 69 74 65 72 61 6c 73 5b 5d 20 3d 20 24 6c 69 74 65 '==')).{.$bestLiterals[].=.$lite
54880 72 61 6c 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 62 65 73 74 4c 69 74 65 72 61 6c 73 3b 0a ral;.}.}..return.$bestLiterals;.
548a0 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 65 6c 65 63 74 4e 65 77 65 }..protected.function.selectNewe
548c0 73 74 50 61 63 6b 61 67 65 73 28 61 72 72 61 79 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 stPackages(array.$installedMap,.
548e0 61 72 72 61 79 20 24 6c 69 74 65 72 61 6c 73 29 0a 7b 0a 24 6d 61 78 4c 69 74 65 72 61 6c 73 20 array.$literals).{.$maxLiterals.
54900 3d 20 61 72 72 61 79 28 24 6c 69 74 65 72 61 6c 73 5b 30 5d 29 3b 0a 24 6d 61 78 50 61 63 6b 61 =.array($literals[0]);.$maxPacka
54920 67 65 20 3d 20 24 6c 69 74 65 72 61 6c 73 5b 30 5d 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b ge.=.$literals[0]->getPackage();
54940 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 72 61 6c 73 20 61 73 20 24 69 20 3d 3e 20 24 6c 69 .foreach.($literals.as.$i.=>.$li
54960 74 65 72 61 6c 29 20 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 69 29 20 7b 0a 63 6f 6e 74 69 6e 75 teral).{.if.(0.===.$i).{.continu
54980 65 3b 0a 7d 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 e;.}..if.($this->versionCompare(
549a0 24 6c 69 74 65 72 61 6c 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2c 20 24 6d 61 78 50 61 63 6b $literal->getPackage(),.$maxPack
549c0 61 67 65 2c 20 27 3e 27 29 29 20 7b 0a 24 6d 61 78 50 61 63 6b 61 67 65 20 3d 20 24 6c 69 74 65 age,.'>')).{.$maxPackage.=.$lite
549e0 72 61 6c 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 24 6d 61 78 4c 69 74 65 72 61 6c 73 20 ral->getPackage();.$maxLiterals.
54a00 3d 20 61 72 72 61 79 28 24 6c 69 74 65 72 61 6c 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 =.array($literal);.}.elseif.($th
54a20 69 73 2d 3e 76 65 72 73 69 6f 6e 43 6f 6d 70 61 72 65 28 24 6c 69 74 65 72 61 6c 2d 3e 67 65 74 is->versionCompare($literal->get
54a40 50 61 63 6b 61 67 65 28 29 2c 20 24 6d 61 78 50 61 63 6b 61 67 65 2c 20 27 3d 3d 27 29 29 20 7b Package(),.$maxPackage,.'==')).{
54a60 0a 24 6d 61 78 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 0a .$maxLiterals[].=.$literal;.}.}.
54a80 0a 72 65 74 75 72 6e 20 24 6d 61 78 4c 69 74 65 72 61 6c 73 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 .return.$maxLiterals;.}.....prot
54aa0 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 72 69 ected.function.pruneToHighestPri
54ac0 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 72 72 orityOrInstalled(Pool.$pool,.arr
54ae0 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 61 6c ay.$installedMap,.array.$literal
54b00 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 69 6f s).{.$selected.=.array();..$prio
54b20 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 6c 73 rity.=.null;..foreach.($literals
54b40 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 6f 6c .as.$literal).{.$package.=.$pool
54b60 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 0a 69 ->literalToPackage($literal);..i
54b80 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 65 2d f.(isset($installedMap[$package-
54ba0 3e 67 65 74 49 64 28 29 5d 29 29 20 7b 0a 24 73 65 6c 65 63 74 65 64 5b 5d 20 3d 20 24 6c 69 74 >getId()])).{.$selected[].=.$lit
54bc0 65 72 61 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 eral;.continue;.}..if.(null.===.
54be0 24 70 72 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 $priority).{.$priority.=.$this->
54c00 67 65 74 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 getPriority($pool,.$package);.}.
54c20 0a 69 66 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 .if.($this->getPriority($pool,.$
54c40 70 61 63 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 package).!=.$priority).{.break;.
54c60 7d 0a 0a 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 }..$selected[].=.$literal;.}..re
54c80 74 75 72 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 turn.$selected;.}.......protecte
54ca0 64 20 66 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 d.function.pruneRemoteAliases(Po
54cc0 6f 6c 20 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 ol.$pool,.array.$literals).{.$ha
54ce0 73 4c 6f 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 sLocalAlias.=.false;..foreach.($
54d00 6c 69 74 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 literals.as.$literal).{.$package
54d20 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 6c 69 74 65 .=.$pool->literalToPackage($lite
54d40 72 61 6c 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 ral);..if.($package.instanceof.A
54d60 6c 69 61 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 liasPackage.&&.$package->isRootP
54d80 61 63 6b 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 ackageAlias()).{.$hasLocalAlias.
54da0 3d 20 74 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 =.true;.break;.}.}..if.(!$hasLoc
54dc0 61 6c 41 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 alAlias).{.return.$literals;.}..
54de0 24 73 65 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 $selected.=.array();.foreach.($l
54e00 69 74 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 iterals.as.$literal).{.$package.
54e20 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
54e40 61 6c 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 al);..if.($package.instanceof.Al
54e60 69 61 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 iasPackage.&&.$package->isRootPa
54e80 63 6b 61 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 ckageAlias()).{.$selected[].=.$l
54ea0 69 74 65 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 iteral;.}.}..return.$selected;.}
54ec0 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
54ee0 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 0a 0a 0a 0a mposer\DependencyResolver;......
54f00 0a 63 6c 61 73 73 20 44 65 63 69 73 69 6f 6e 73 20 69 6d 70 6c 65 6d 65 6e 74 73 20 5c 49 74 65 .class.Decisions.implements.\Ite
54f20 72 61 74 6f 72 2c 20 5c 43 6f 75 6e 74 61 62 6c 65 0a 7b 0a 63 6f 6e 73 74 20 44 45 43 49 53 49 rator,.\Countable.{.const.DECISI
54f40 4f 4e 5f 4c 49 54 45 52 41 4c 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 44 45 43 49 53 49 4f 4e 5f 52 ON_LITERAL.=.0;.const.DECISION_R
54f60 45 41 53 4f 4e 20 3d 20 31 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 6f 6f 6c 3b 0a 70 72 6f EASON.=.1;..protected.$pool;.pro
54f80 74 65 63 74 65 64 20 24 64 65 63 69 73 69 6f 6e 4d 61 70 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 tected.$decisionMap;.protected.$
54fa0 64 65 63 69 73 69 6f 6e 51 75 65 75 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 75 62 6c 69 63 decisionQueue.=.array();..public
54fc0 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 6f 6f 6c 29 0a 7b 0a 24 .function.__construct($pool).{.$
54fe0 74 68 69 73 2d 3e 70 6f 6f 6c 20 3d 20 24 70 6f 6f 6c 3b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 this->pool.=.$pool;.$this->decis
55000 69 6f 6e 4d 61 70 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 ionMap.=.array();.}..public.func
55020 74 69 6f 6e 20 64 65 63 69 64 65 28 24 6c 69 74 65 72 61 6c 2c 20 24 6c 65 76 65 6c 2c 20 24 77 tion.decide($literal,.$level,.$w
55040 68 79 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 64 64 44 65 63 69 73 69 6f 6e 28 24 6c 69 74 65 72 61 hy).{.$this->addDecision($litera
55060 6c 2c 20 24 6c 65 76 65 6c 29 3b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 l,.$level);.$this->decisionQueue
55080 5b 5d 20 3d 20 61 72 72 61 79 28 0a 73 65 6c 66 3a 3a 44 45 43 49 53 49 4f 4e 5f 4c 49 54 45 52 [].=.array(.self::DECISION_LITER
550a0 41 4c 20 3d 3e 20 24 6c 69 74 65 72 61 6c 2c 0a 73 65 6c 66 3a 3a 44 45 43 49 53 49 4f 4e 5f 52 AL.=>.$literal,.self::DECISION_R
550c0 45 41 53 4f 4e 20 3d 3e 20 24 77 68 79 2c 0a 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 EASON.=>.$why,.);.}..public.func
550e0 74 69 6f 6e 20 73 61 74 69 73 66 79 28 24 6c 69 74 65 72 61 6c 29 0a 7b 0a 24 70 61 63 6b 61 67 tion.satisfy($literal).{.$packag
55100 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 24 eId.=.abs($literal);..return.(.$
55120 6c 69 74 65 72 61 6c 20 3e 20 30 20 26 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 64 65 63 69 literal.>.0.&&.isset($this->deci
55140 73 69 6f 6e 4d 61 70 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 sionMap[$packageId]).&&.$this->d
55160 65 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 20 3e 20 30 20 7c 7c 0a 24 6c ecisionMap[$packageId].>.0.||.$l
55180 69 74 65 72 61 6c 20 3c 20 30 20 26 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 iteral.<.0.&&.isset($this->decis
551a0 69 6f 6e 4d 61 70 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 ionMap[$packageId]).&&.$this->de
551c0 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 20 3c 20 30 0a 29 3b 0a 7d 0a 0a cisionMap[$packageId].<.0.);.}..
551e0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 6c 69 63 74 28 24 6c 69 74 65 72 61 public.function.conflict($litera
55200 6c 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 l).{.$packageId.=.abs($literal);
55220 0a 0a 72 65 74 75 72 6e 20 28 0a 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f ..return.(.(isset($this->decisio
55240 6e 4d 61 70 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 nMap[$packageId]).&&.$this->deci
55260 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 20 3e 20 30 20 26 26 20 24 6c 69 74 65 sionMap[$packageId].>.0.&&.$lite
55280 72 61 6c 20 3c 20 30 29 20 7c 7c 0a 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 ral.<.0).||.(isset($this->decisi
552a0 6f 6e 4d 61 70 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 onMap[$packageId]).&&.$this->dec
552c0 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 20 3c 20 30 20 26 26 20 24 6c 69 74 isionMap[$packageId].<.0.&&.$lit
552e0 65 72 61 6c 20 3e 20 30 29 0a 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 eral.>.0).);.}..public.function.
55300 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 29 0a 7b 0a 72 decided($literalOrPackageId).{.r
55320 65 74 75 72 6e 20 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b eturn.!empty($this->decisionMap[
55340 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 7d 0a 0a 70 abs($literalOrPackageId)]);.}..p
55360 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 64 65 63 69 64 65 64 28 24 6c 69 74 65 72 61 ublic.function.undecided($litera
55380 6c 4f 72 50 61 63 6b 61 67 65 49 64 29 0a 7b 0a 72 65 74 75 72 6e 20 65 6d 70 74 79 28 24 74 68 lOrPackageId).{.return.empty($th
553a0 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 4f 72 50 61 is->decisionMap[abs($literalOrPa
553c0 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 6f 6e 20 64 ckageId)]);.}..public.function.d
553e0 65 63 69 64 65 64 49 6e 73 74 61 6c 6c 28 24 6c 69 74 65 72 61 6c 4f 72 50 61 63 6b 61 67 65 49 ecidedInstall($literalOrPackageI
55400 64 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 4f 72 d).{.$packageId.=.abs($literalOr
55420 50 61 63 6b 61 67 65 49 64 29 3b 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d PackageId);..return.isset($this-
55440 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 26 26 20 24 74 68 >decisionMap[$packageId]).&&.$th
55460 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 3e 20 30 3b is->decisionMap[$packageId].>.0;
55480 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 63 69 73 69 6f 6e 4c 65 76 65 .}..public.function.decisionLeve
554a0 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
554c0 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);.
554e0 69 66 20 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 if.(isset($this->decisionMap[$pa
55500 63 6b 61 67 65 49 64 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 62 73 28 24 74 68 69 73 2d 3e 64 ckageId])).{.return.abs($this->d
55520 65 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 29 3b 0a 7d 0a 0a 72 65 74 75 ecisionMap[$packageId]);.}..retu
55540 72 6e 20 30 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 73 69 6f rn.0;.}..public.function.decisio
55560 6e 52 75 6c 65 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 nRule($literalOrPackageId).{.$pa
55580 63 6b 61 67 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 ckageId.=.abs($literalOrPackageI
555a0 64 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 69 6f 6e 51 75 65 d);..foreach.($this->decisionQue
555c0 75 65 20 61 73 20 24 69 20 3d 3e 20 24 64 65 63 69 73 69 6f 6e 29 20 7b 0a 69 66 20 28 24 70 61 ue.as.$i.=>.$decision).{.if.($pa
555e0 63 6b 61 67 65 49 64 20 3d 3d 3d 20 61 62 73 28 24 64 65 63 69 73 69 6f 6e 5b 73 65 6c 66 3a 3a ckageId.===.abs($decision[self::
55600 44 45 43 49 53 49 4f 4e 5f 4c 49 54 45 52 41 4c 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 64 65 DECISION_LITERAL])).{.return.$de
55620 63 69 73 69 6f 6e 5b 73 65 6c 66 3a 3a 44 45 43 49 53 49 4f 4e 5f 52 45 41 53 4f 4e 5d 3b 0a 7d cision[self::DECISION_REASON];.}
55640 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 20 66 75 6e 63 74 .}..return.null;.}..public.funct
55660 69 6f 6e 20 61 74 4f 66 66 73 65 74 28 24 71 75 65 75 65 4f 66 66 73 65 74 29 0a 7b 0a 72 65 74 ion.atOffset($queueOffset).{.ret
55680 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 5b 24 71 75 65 75 65 4f urn.$this->decisionQueue[$queueO
556a0 66 66 73 65 74 5d 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 ffset];.}..public.function.valid
556c0 4f 66 66 73 65 74 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 71 Offset($queueOffset).{.return.$q
556e0 75 65 75 65 4f 66 66 73 65 74 20 3e 3d 20 30 20 26 26 20 24 71 75 65 75 65 4f 66 66 73 65 74 20 ueueOffset.>=.0.&&.$queueOffset.
55700 3c 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 <.count($this->decisionQueue);.}
55720 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 61 73 74 52 65 61 73 6f 6e 28 29 0a 7b ..public.function.lastReason().{
55740 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 5b 63 6f 75 .return.$this->decisionQueue[cou
55760 6e 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 20 2d 20 31 5d 5b 73 65 nt($this->decisionQueue).-.1][se
55780 6c 66 3a 3a 44 45 43 49 53 49 4f 4e 5f 52 45 41 53 4f 4e 5d 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 lf::DECISION_REASON];.}..public.
557a0 66 75 6e 63 74 69 6f 6e 20 6c 61 73 74 4c 69 74 65 72 61 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 function.lastLiteral().{.return.
557c0 24 74 68 69 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 $this->decisionQueue[count($this
557e0 2d 3e 64 65 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 ->decisionQueue).-.1][self::DECI
55800 53 49 4f 4e 5f 4c 49 54 45 52 41 4c 5d 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f SION_LITERAL];.}..public.functio
55820 6e 20 72 65 73 65 74 28 29 0a 7b 0a 77 68 69 6c 65 20 28 24 64 65 63 69 73 69 6f 6e 20 3d 20 61 n.reset().{.while.($decision.=.a
55840 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 75 65 29 29 20 rray_pop($this->decisionQueue)).
55860 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 24 64 65 63 69 73 69 {.$this->decisionMap[abs($decisi
55880 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 3d 20 30 on[self::DECISION_LITERAL])].=.0
558a0 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 73 65 74 54 6f 4f 66 ;.}.}..public.function.resetToOf
558c0 66 73 65 74 28 24 6f 66 66 73 65 74 29 0a 7b 0a 77 68 69 6c 65 20 28 63 6f 75 6e 74 28 24 74 68 fset($offset).{.while.(count($th
558e0 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 20 3e 20 24 6f 66 66 73 65 74 20 2b 20 31 is->decisionQueue).>.$offset.+.1
55900 29 20 7b 0a 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 69 73 2d ).{.$decision.=.array_pop($this-
55920 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 3b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e >decisionQueue);.$this->decision
55940 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 49 53 49 4f 4e Map[abs($decision[self::DECISION
55960 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 63 20 66 75 6e _LITERAL])].=.0;.}.}..public.fun
55980 63 74 69 6f 6e 20 72 65 76 65 72 74 4c 61 73 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 63 69 ction.revertLast().{.$this->deci
559a0 73 69 6f 6e 4d 61 70 5b 61 62 73 28 24 74 68 69 73 2d 3e 6c 61 73 74 4c 69 74 65 72 61 6c 28 29 sionMap[abs($this->lastLiteral()
559c0 29 5d 20 3d 20 30 3b 0a 61 72 72 61 79 5f 70 6f 70 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f )].=.0;.array_pop($this->decisio
559e0 6e 51 75 65 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 75 6e nQueue);.}..public.function.coun
55a00 74 28 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 t().{.return.count($this->decisi
55a20 6f 6e 51 75 65 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 77 onQueue);.}..public.function.rew
55a40 69 6e 64 28 29 0a 7b 0a 65 6e 64 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 ind().{.end($this->decisionQueue
55a60 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 75 72 72 65 6e 74 28 29 0a );.}..public.function.current().
55a80 7b 0a 72 65 74 75 72 6e 20 63 75 72 72 65 6e 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e {.return.current($this->decision
55aa0 51 75 65 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6b 65 79 28 29 Queue);.}..public.function.key()
55ac0 0a 7b 0a 72 65 74 75 72 6e 20 6b 65 79 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 .{.return.key($this->decisionQue
55ae0 75 65 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 29 0a 7b ue);.}..public.function.next().{
55b00 0a 72 65 74 75 72 6e 20 70 72 65 76 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 .return.prev($this->decisionQueu
55b20 65 29 3b 0a 7d 0a 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 e);.}..public.function.valid().{
55b40 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 20 21 3d 3d 20 63 75 72 72 65 6e 74 28 24 74 68 69 73 2d .return.false.!==.current($this-
55b60 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 63 74 >decisionQueue);.}..public.funct
55b80 69 6f 6e 20 69 73 45 6d 70 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 63 6f 75 6e 74 28 24 74 68 ion.isEmpty().{.return.count($th
55ba0 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 20 3d 3d 3d 20 30 3b 0a 7d 0a 0a 70 72 6f is->decisionQueue).===.0;.}..pro
55bc0 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 44 65 63 69 73 69 6f 6e 28 24 6c 69 74 tected.function.addDecision($lit
55be0 65 72 61 6c 2c 20 24 6c 65 76 65 6c 29 0a 7b 0a 24 70 61 63 6b 61 67 65 49 64 20 3d 20 61 62 73 eral,.$level).{.$packageId.=.abs
55c00 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 24 70 72 65 76 69 6f 75 73 44 65 63 69 73 69 6f 6e 20 3d ($literal);..$previousDecision.=
55c20 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 61 .isset($this->decisionMap[$packa
55c40 67 65 49 64 5d 29 20 3f 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 geId]).?.$this->decisionMap[$pac
55c60 6b 61 67 65 49 64 5d 20 3a 20 6e 75 6c 6c 3b 0a 69 66 20 28 24 70 72 65 76 69 6f 75 73 44 65 63 kageId].:.null;.if.($previousDec
55c80 69 73 69 6f 6e 20 21 3d 20 30 29 20 7b 0a 24 6c 69 74 65 72 61 6c 53 74 72 69 6e 67 20 3d 20 24 ision.!=.0).{.$literalString.=.$
55ca0 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 53 74 72 69 6e 67 28 24 6c 69 74 this->pool->literalToString($lit
55cc0 65 72 61 6c 29 3b 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 eral);.$package.=.$this->pool->l
55ce0 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 74 68 72 6f 77 iteralToPackage($literal);.throw
55d00 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 54 72 79 69 6e 67 .new.SolverBugException(."Trying
55d20 20 74 6f 20 64 65 63 69 64 65 20 24 6c 69 74 65 72 61 6c 53 74 72 69 6e 67 20 6f 6e 20 6c 65 76 .to.decide.$literalString.on.lev
55d40 65 6c 20 24 6c 65 76 65 6c 2c 20 65 76 65 6e 20 74 68 6f 75 67 68 20 24 70 61 63 6b 61 67 65 20 el.$level,.even.though.$package.
55d60 77 61 73 20 70 72 65 76 69 6f 75 73 6c 79 20 64 65 63 69 64 65 64 20 61 73 20 22 2e 28 69 6e 74 was.previously.decided.as.".(int
55d80 29 20 24 70 72 65 76 69 6f 75 73 44 65 63 69 73 69 6f 6e 2e 22 2e 22 0a 29 3b 0a 7d 0a 0a 69 66 ).$previousDecision.".".);.}..if
55da0 20 28 24 6c 69 74 65 72 61 6c 20 3e 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f .($literal.>.0).{.$this->decisio
55dc0 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 20 3d 20 24 6c 65 76 65 6c 3b 0a 7d 20 65 6c 73 nMap[$packageId].=.$level;.}.els
55de0 65 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 65 49 e.{.$this->decisionMap[$packageI
55e00 64 5d 20 3d 20 2d 24 6c 65 76 65 6c 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a d].=.-$level;.}.}.}.<?php.......
55e20 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 6e .....namespace.Composer\Dependen
55e40 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 75 6c 65 57 61 cyResolver;.........class.RuleWa
55e60 74 63 68 4e 6f 64 65 0a 7b 0a 70 75 62 6c 69 63 20 24 77 61 74 63 68 31 3b 0a 70 75 62 6c 69 63 tchNode.{.public.$watch1;.public
55e80 20 24 77 61 74 63 68 32 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 75 6c 65 3b 0a 0a 0a 0a 0a .$watch2;..protected.$rule;.....
55ea0 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 72 ..public.function.__construct($r
55ec0 75 6c 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 20 3d 20 24 72 75 6c 65 3b 0a 0a 24 6c 69 ule).{.$this->rule.=.$rule;..$li
55ee0 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 0a 0a terals.=.$rule->getLiterals();..
55f00 24 74 68 69 73 2d 3e 77 61 74 63 68 31 20 3d 20 63 6f 75 6e 74 28 24 6c 69 74 65 72 61 6c 73 29 $this->watch1.=.count($literals)
55f20 20 3e 20 30 20 3f 20 24 6c 69 74 65 72 61 6c 73 5b 30 5d 20 3a 20 30 3b 0a 24 74 68 69 73 2d 3e .>.0.?.$literals[0].:.0;.$this->
55f40 77 61 74 63 68 32 20 3d 20 63 6f 75 6e 74 28 24 6c 69 74 65 72 61 6c 73 29 20 3e 20 31 20 3f 20 watch2.=.count($literals).>.1.?.
55f60 24 6c 69 74 65 72 61 6c 73 5b 31 5d 20 3a 20 30 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 $literals[1].:.0;.}..........pub
55f80 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 61 74 63 68 32 4f 6e 48 69 67 68 65 73 74 28 44 65 63 lic.function.watch2OnHighest(Dec
55fa0 69 73 69 6f 6e 73 20 24 64 65 63 69 73 69 6f 6e 73 29 0a 7b 0a 24 6c 69 74 65 72 61 6c 73 20 3d isions.$decisions).{.$literals.=
55fc0 20 24 74 68 69 73 2d 3e 72 75 6c 65 2d 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 29 3b 0a 0a 0a 20 .$this->rule->getLiterals();....
55fe0 69 66 20 28 24 6c 69 74 65 72 61 6c 73 20 3c 20 33 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a if.($literals.<.3).{.return;.}..
56000 24 77 61 74 63 68 4c 65 76 65 6c 20 3d 20 30 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 $watchLevel.=.0;..foreach.($lite
56020 72 61 6c 73 20 61 73 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 24 6c 65 76 65 6c 20 3d 20 24 64 65 rals.as.$literal).{.$level.=.$de
56040 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 61 6c 29 cisions->decisionLevel($literal)
56060 3b 0a 0a 69 66 20 28 24 6c 65 76 65 6c 20 3e 20 24 77 61 74 63 68 4c 65 76 65 6c 29 20 7b 0a 24 ;..if.($level.>.$watchLevel).{.$
56080 74 68 69 73 2d 3e 72 75 6c 65 2d 3e 77 61 74 63 68 32 20 3d 20 24 6c 69 74 65 72 61 6c 3b 0a 24 this->rule->watch2.=.$literal;.$
560a0 77 61 74 63 68 4c 65 76 65 6c 20 3d 20 24 6c 65 76 65 6c 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a watchLevel.=.$level;.}.}.}......
560c0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 75 6c 65 28 29 0a 7b 0a 72 65 74 .public.function.getRule().{.ret
560e0 75 72 6e 20 24 74 68 69 73 2d 3e 72 75 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 urn.$this->rule;.}........public
56100 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 74 68 65 72 57 61 74 63 68 28 24 6c 69 74 65 72 61 6c .function.getOtherWatch($literal
56120 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 77 61 74 63 68 31 20 3d 3d 20 24 6c 69 74 65 72 61 ).{.if.($this->watch1.==.$litera
56140 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 77 61 74 63 68 32 3b 0a 7d 20 65 6c 73 l).{.return.$this->watch2;.}.els
56160 65 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 77 61 74 63 68 31 3b 0a 7d 0a 7d 0a 0a 0a e.{.return.$this->watch1;.}.}...
56180 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 6f 76 65 57 61 74 63 68 28 24 .....public.function.moveWatch($
561a0 66 72 6f 6d 2c 20 24 74 6f 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 77 61 74 63 68 31 20 3d from,.$to).{.if.($this->watch1.=
561c0 3d 20 24 66 72 6f 6d 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 74 63 68 31 20 3d 20 24 74 6f 3b 0a =.$from).{.$this->watch1.=.$to;.
561e0 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 77 61 74 63 68 32 20 3d 20 24 74 6f 3b 0a 7d 0a }.else.{.$this->watch2.=.$to;.}.
56200 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
56220 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 0a 0a 0a omposer\DependencyResolver;.....
56240 63 6c 61 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 class.SolverProblemsException.ex
56260 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
56280 74 65 64 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 ted.$problems;.protected.$instal
562a0 6c 65 64 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 ledMap;..public.function.__const
562c0 72 75 63 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 ruct(array.$problems,.array.$ins
562e0 74 61 6c 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 talledMap).{.$this->problems.=.$
56300 70 72 6f 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 problems;.$this->installedMap.=.
56320 24 69 6e 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 $installedMap;..parent::__constr
56340 75 63 74 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 uct($this->createMessage(),.2);.
56360 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 65 4d 65 73 73 }..protected.function.createMess
56380 61 67 65 28 29 0a 7b 0a 24 74 65 78 74 20 3d 20 22 5c 6e 22 3b 0a 66 6f 72 65 61 63 68 20 28 24 age().{.$text.=."\n";.foreach.($
563a0 74 68 69 73 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 this->problems.as.$i.=>.$problem
563c0 29 20 7b 0a 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 2b 31 29 ).{.$text..=."..Problem.".($i+1)
563e0 2e 24 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 .$problem->getPrettyString($this
56400 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 29 2e 22 5c 6e 22 3b 0a 7d 0a 0a 69 66 20 28 73 74 72 ->installedMap)."\n";.}..if.(str
56420 70 6f 73 28 24 74 65 78 74 2c 20 27 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 6f 75 6e 64 27 29 pos($text,.'could.not.be.found')
56440 20 7c 7c 20 73 74 72 70 6f 73 28 24 74 65 78 74 2c 20 27 6e 6f 20 6d 61 74 63 68 69 6e 67 20 70 .||.strpos($text,.'no.matching.p
56460 61 63 6b 61 67 65 20 66 6f 75 6e 64 27 29 29 20 7b 0a 24 74 65 78 74 20 2e 3d 20 22 5c 6e 50 6f ackage.found')).{.$text..=."\nPo
56480 74 65 6e 74 69 61 6c 20 63 61 75 73 65 73 3a 5c 6e 20 2d 20 41 20 74 79 70 6f 20 69 6e 20 74 68 tential.causes:\n.-.A.typo.in.th
564a0 65 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 5c 6e 20 2d 20 54 68 65 20 70 61 63 6b 61 67 65 20 69 e.package.name\n.-.The.package.i
564c0 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 61 20 73 74 61 62 6c 65 2d 65 6e 6f 75 s.not.available.in.a.stable-enou
564e0 67 68 20 76 65 72 73 69 6f 6e 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 79 6f 75 72 20 6d 69 6e gh.version.according.to.your.min
56500 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 20 73 65 74 74 69 6e 67 5c 6e 20 20 20 73 65 65 20 3c imum-stability.setting\n...see.<
56520 68 74 74 70 73 3a 2f 2f 67 72 6f 75 70 73 2e 67 6f 6f 67 6c 65 2e 63 6f 6d 2f 64 2f 74 6f 70 69 https://groups.google.com/d/topi
56540 63 2f 63 6f 6d 70 6f 73 65 72 2d 64 65 76 2f 5f 67 33 41 53 65 49 46 6c 72 63 2f 64 69 73 63 75 c/composer-dev/_g3ASeIFlrc/discu
56560 73 73 69 6f 6e 3e 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 5c 6e 5c 6e 52 65 61 64 ssion>.for.more.details.\n\nRead
56580 20 3c 68 74 74 70 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 .<http://getcomposer.org/doc/art
565a0 69 63 6c 65 73 2f 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 icles/troubleshooting.md>.for.fu
565c0 72 74 68 65 72 20 63 6f 6d 6d 6f 6e 20 70 72 6f 62 6c 65 6d 73 2e 22 3b 0a 7d 0a 0a 72 65 74 75 rther.common.problems.";.}..retu
565e0 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 74 rn.$text;.}..public.function.get
56600 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 6c Problems().{.return.$this->probl
56620 65 6d 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 73 70 ems;.}.}.<?php............namesp
56640 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;
56660 0a 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 6b ..use.Composer\Package\AliasPack
56680 61 67 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 age;.use.Composer\DependencyReso
566a0 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 54 72 61 6e 73 61 lver\Operation;.....class.Transa
566c0 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 6f 74 65 ction.{.protected.$policy;.prote
566e0 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 6c 65 64 cted.$pool;.protected.$installed
56700 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 6f 74 65 Map;.protected.$decisions;.prote
56720 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 6e 63 74 cted.$transaction;..public.funct
56740 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 6c 2c 20 ion.__construct($policy,.$pool,.
56760 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 24 74 68 $installedMap,.$decisions).{.$th
56780 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 6f 6f is->policy.=.$policy;.$this->poo
567a0 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 70 20 3d l.=.$pool;.$this->installedMap.=
567c0 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 6f 6e 73 .$installedMap;.$this->decisions
567e0 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 74 69 6f .=.$decisions;.$this->transactio
56800 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 6f 6e 20 n.=.array();.}..public.function.
56820 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 6e 73 55 getOperations().{.$installMeansU
56840 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 28 29 3b pdateMap.=.$this->findUpdates();
56860 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 61 6c 6c ..$updateMap.=.array();.$install
56880 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 3d 20 61 Map.=.array();.$uninstallMap.=.a
568a0 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 69 6f rray();..foreach.($this->decisio
568c0 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 72 61 ns.as.$i.=>.$decision).{.$litera
568e0 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 49 4f l.=.$decision[Decisions::DECISIO
56900 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 6f 6e 5b N_LITERAL];.$reason.=.$decision[
56920 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 0a 24 70 Decisions::DECISION_REASON];..$p
56940 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 54 6f 50 ackage.=.$this->pool->literalToP
56960 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 74 65 72 ackage($literal);....if.(($liter
56980 61 6c 20 3e 20 30 29 20 3d 3d 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c al.>.0).==.(isset($this->install
569a0 65 64 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 64 28 29 5d 29 29 29 20 7b 0a 63 6f edMap[$package->getId()]))).{.co
569c0 6e 74 69 6e 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 ntinue;.}..if.($literal.>.0).{.i
569e0 66 20 28 69 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 f.(isset($installMeansUpdateMap[
56a00 61 62 73 28 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 abs($literal)]).&&.!$package.ins
56a20 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 0a 24 73 6f 75 72 63 65 tanceof.AliasPackage).{..$source
56a40 20 3d 20 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 6c .=.$installMeansUpdateMap[abs($l
56a60 69 74 65 72 61 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 iteral)];..$updateMap[$package->
56a80 67 65 74 49 64 28 29 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 getId()].=.array(.'package'.=>.$
56aa0 70 61 63 6b 61 67 65 2c 0a 27 73 6f 75 72 63 65 27 20 3d 3e 20 24 73 6f 75 72 63 65 2c 0a 27 72 package,.'source'.=>.$source,.'r
56ac0 65 61 73 6f 6e 27 20 3d 3e 20 24 72 65 61 73 6f 6e 2c 0a 29 3b 0a 0a 0a 20 75 6e 73 65 74 28 24 eason'.=>.$reason,.);....unset($
56ae0 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 6c 69 74 65 72 installMeansUpdateMap[abs($liter
56b00 61 6c 29 5d 29 3b 0a 24 69 67 6e 6f 72 65 52 65 6d 6f 76 65 5b 24 73 6f 75 72 63 65 2d 3e 67 65 al)]);.$ignoreRemove[$source->ge
56b20 74 49 64 28 29 5d 20 3d 20 74 72 75 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6e 73 74 61 6c 6c tId()].=.true;.}.else.{.$install
56b40 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 64 28 29 5d 20 3d 20 61 72 72 61 79 28 0a Map[$package->getId()].=.array(.
56b60 27 70 61 63 6b 61 67 65 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2c 0a 27 72 65 61 73 6f 6e 27 20 'package'.=>.$package,.'reason'.
56b80 3d 3e 20 24 72 65 61 73 6f 6e 2c 0a 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 =>.$reason,.);.}.}.}..foreach.($
56ba0 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 20 61 73 20 24 69 20 3d 3e 20 24 64 65 63 69 73 69 this->decisions.as.$i.=>.$decisi
56bc0 6f 6e 29 20 7b 0a 24 6c 69 74 65 72 61 6c 20 3d 20 24 64 65 63 69 73 69 6f 6e 5b 44 65 63 69 73 on).{.$literal.=.$decision[Decis
56be0 69 6f 6e 73 3a 3a 44 45 43 49 53 49 4f 4e 5f 4c 49 54 45 52 41 4c 5d 3b 0a 24 70 61 63 6b 61 67 ions::DECISION_LITERAL];.$packag
56c00 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 61 67 e.=.$this->pool->literalToPackag
56c20 65 28 24 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 e($literal);..if.($literal.<=.0.
56c40 26 26 0a 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 &&.isset($this->installedMap[$pa
56c60 63 6b 61 67 65 2d 3e 67 65 74 49 64 28 29 5d 29 20 26 26 0a 21 69 73 73 65 74 28 24 69 67 6e 6f ckage->getId()]).&&.!isset($igno
56c80 72 65 52 65 6d 6f 76 65 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 64 28 29 5d 29 29 20 7b 0a reRemove[$package->getId()])).{.
56ca0 24 75 6e 69 6e 73 74 61 6c 6c 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 64 28 29 5d $uninstallMap[$package->getId()]
56cc0 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 65 2c .=.array(.'package'.=>.$package,
56ce0 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 0a 7d 0a 7d 0a 0a 24 .'reason'.=>.$reason,.);..}.}..$
56d00 74 68 69 73 2d 3e 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 this->transactionFromMaps($insta
56d20 6c 6c 4d 61 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 llMap,.$updateMap,.$uninstallMap
56d40 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 72 61 6e 73 61 63 74 69 6f 6e 3b 0a 7d );..return.$this->transaction;.}
56d60 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 72 61 6e 73 61 63 74 69 6f 6e ..protected.function.transaction
56d80 46 72 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 FromMaps($installMap,.$updateMap
56da0 2c 20 24 75 6e 69 6e 73 74 61 6c 6c 4d 61 70 29 0a 7b 0a 24 71 75 65 75 65 20 3d 20 61 72 72 61 ,.$uninstallMap).{.$queue.=.arra
56dc0 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 6f 70 65 72 61 74 69 6f 6e 29 20 7b 0a 72 65 y_map(function.($operation).{.re
56de0 74 75 72 6e 20 24 6f 70 65 72 61 74 69 6f 6e 5b 27 70 61 63 6b 61 67 65 27 5d 3b 0a 7d 2c 0a 24 turn.$operation['package'];.},.$
56e00 74 68 69 73 2d 3e 66 69 6e 64 52 6f 6f 74 50 61 63 6b 61 67 65 73 28 24 69 6e 73 74 61 6c 6c 4d this->findRootPackages($installM
56e20 61 70 2c 20 24 75 70 64 61 74 65 4d 61 70 29 0a 29 3b 0a 0a 24 76 69 73 69 74 65 64 20 3d 20 61 ap,.$updateMap).);..$visited.=.a
56e40 72 72 61 79 28 29 3b 0a 0a 77 68 69 6c 65 20 28 21 65 6d 70 74 79 28 24 71 75 65 75 65 29 29 20 rray();..while.(!empty($queue)).
56e60 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 61 72 72 61 79 5f 70 6f 70 28 24 71 75 65 75 65 29 3b 0a {.$package.=.array_pop($queue);.
56e80 24 70 61 63 6b 61 67 65 49 64 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 64 28 29 3b 0a $packageId.=.$package->getId();.
56ea0 0a 69 66 20 28 21 69 73 73 65 74 28 24 76 69 73 69 74 65 64 5b 24 70 61 63 6b 61 67 65 49 64 5d .if.(!isset($visited[$packageId]
56ec0 29 29 20 7b 0a 61 72 72 61 79 5f 70 75 73 68 28 24 71 75 65 75 65 2c 20 24 70 61 63 6b 61 67 65 )).{.array_push($queue,.$package
56ee0 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
56f00 73 50 61 63 6b 61 67 65 29 20 7b 0a 61 72 72 61 79 5f 70 75 73 68 28 24 71 75 65 75 65 2c 20 24 sPackage).{.array_push($queue,.$
56f20 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 20 65 6c 73 65 20 7b package->getAliasOf());.}.else.{
56f40 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 73 28 .foreach.($package->getRequires(
56f60 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 73 20 ).as.$link).{.$possibleRequires.
56f80 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 69 6e =.$this->pool->whatProvides($lin
56fa0 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
56fc0 61 69 6e 74 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 aint());..foreach.($possibleRequ
56fe0 69 72 65 73 20 61 73 20 24 72 65 71 75 69 72 65 29 20 7b 0a 61 72 72 61 79 5f 70 75 73 68 28 24 ires.as.$require).{.array_push($
57000 71 75 65 75 65 2c 20 24 72 65 71 75 69 72 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 76 69 73 69 74 65 queue,.$require);.}.}.}..$visite
57020 64 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 64 28 29 5d 20 3d 20 74 72 75 65 3b 0a 7d 20 65 d[$package->getId()].=.true;.}.e
57040 6c 73 65 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 69 6e 73 74 61 6c 6c 4d 61 70 5b 24 70 61 63 lse.{.if.(isset($installMap[$pac
57060 6b 61 67 65 49 64 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 28 0a 24 69 6e 73 kageId])).{.$this->install(.$ins
57080 74 61 6c 6c 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 5b 27 70 61 63 6b 61 67 65 27 5d 2c 0a tallMap[$packageId]['package'],.
570a0 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 72 65 61 73 6f 6e 27 $installMap[$packageId]['reason'
570c0 5d 0a 29 3b 0a 75 6e 73 65 74 28 24 69 6e 73 74 61 6c 6c 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 ].);.unset($installMap[$packageI
570e0 64 5d 29 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 75 70 64 61 74 65 4d 61 70 5b 24 70 61 63 d]);.}.if.(isset($updateMap[$pac
57100 6b 61 67 65 49 64 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 28 0a 24 75 70 64 61 kageId])).{.$this->update(.$upda
57120 74 65 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 5b 27 73 6f 75 72 63 65 27 5d 2c 0a 24 75 70 teMap[$packageId]['source'],.$up
57140 64 61 74 65 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 5b 27 70 61 63 6b 61 67 65 27 5d 2c 0a dateMap[$packageId]['package'],.
57160 24 75 70 64 61 74 65 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 5b 27 72 65 61 73 6f 6e 27 5d $updateMap[$packageId]['reason']
57180 0a 29 3b 0a 75 6e 73 65 74 28 24 75 70 64 61 74 65 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d .);.unset($updateMap[$packageId]
571a0 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 75 6e 69 6e 73 74 61 6c 6c 4d 61 70 );.}.}.}..foreach.($uninstallMap
571c0 20 61 73 20 24 75 6e 69 6e 73 74 61 6c 6c 29 20 7b 0a 24 74 68 69 73 2d 3e 75 6e 69 6e 73 74 61 .as.$uninstall).{.$this->uninsta
571e0 6c 6c 28 24 75 6e 69 6e 73 74 61 6c 6c 5b 27 70 61 63 6b 61 67 65 27 5d 2c 20 24 75 6e 69 6e 73 ll($uninstall['package'],.$unins
57200 74 61 6c 6c 5b 27 72 65 61 73 6f 6e 27 5d 29 3b 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 tall['reason']);.}.}..protected.
57220 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 52 6f 6f 74 50 61 63 6b 61 67 65 73 28 24 69 6e 73 74 61 function.findRootPackages($insta
57240 6c 6c 4d 61 70 2c 20 24 75 70 64 61 74 65 4d 61 70 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d llMap,.$updateMap).{.$packages.=
57260 20 24 69 6e 73 74 61 6c 6c 4d 61 70 20 2b 20 24 75 70 64 61 74 65 4d 61 70 3b 0a 24 72 6f 6f 74 .$installMap.+.$updateMap;.$root
57280 73 20 3d 20 24 70 61 63 6b 61 67 65 73 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 s.=.$packages;..foreach.($packag
572a0 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 49 64 20 3d 3e 20 24 6f 70 65 72 61 74 69 6f 6e 29 20 es.as.$packageId.=>.$operation).
572c0 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 5b 27 70 61 63 6b 61 67 65 {.$package.=.$operation['package
572e0 27 5d 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 72 6f 6f 74 73 5b 24 70 61 63 6b 61 67 65 49 '];..if.(!isset($roots[$packageI
57300 64 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 d])).{.continue;.}..foreach.($pa
57320 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 6b 29 20 7b ckage->getRequires().as.$link).{
57340 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 70 6f 6f 6c .$possibleRequires.=.$this->pool
57360 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(
57380 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 66 6f 72 ),.$link->getConstraint());..for
573a0 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 71 75 each.($possibleRequires.as.$requ
573c0 69 72 65 29 20 7b 0a 75 6e 73 65 74 28 24 72 6f 6f 74 73 5b 24 72 65 71 75 69 72 65 2d 3e 67 65 ire).{.unset($roots[$require->ge
573e0 74 49 64 28 29 5d 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 6f 6f 74 73 3b 0a 7d tId()]);.}.}.}..return.$roots;.}
57400 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 74 65 73 ..protected.function.findUpdates
57420 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 20 61 72 ().{.$installMeansUpdateMap.=.ar
57440 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 69 6f 6e ray();..foreach.($this->decision
57460 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 72 61 6c s.as.$i.=>.$decision).{.$literal
57480 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 49 4f 4e .=.$decision[Decisions::DECISION
574a0 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 70 6f 6f _LITERAL];.$package.=.$this->poo
574c0 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 0a l->literalToPackage($literal);..
574e0 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 61 63 if.($package.instanceof.AliasPac
57500 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 69 74 65 kage).{.continue;.}....if.($lite
57520 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 61 6c 6c ral.<=.0.&&.isset($this->install
57540 65 64 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 64 28 29 5d 29 29 20 7b 0a 24 75 70 edMap[$package->getId()])).{.$up
57560 64 61 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 dates.=.$this->policy->findUpdat
57580 65 50 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 ePackages($this->pool,.$this->in
575a0 73 74 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 stalledMap,.$package);..$literal
575c0 73 20 3d 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 64 28 29 29 3b 0a 0a 66 s.=.array($package->getId());..f
575e0 6f 72 65 61 63 68 20 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 oreach.($updates.as.$update).{.$
57600 6c 69 74 65 72 61 6c 73 5b 5d 20 3d 20 24 75 70 64 61 74 65 2d 3e 67 65 74 49 64 28 29 3b 0a 7d literals[].=.$update->getId();.}
57620 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 75 70 64 61 74 65 4c ..foreach.($literals.as.$updateL
57640 69 74 65 72 61 6c 29 20 7b 0a 69 66 20 28 24 75 70 64 61 74 65 4c 69 74 65 72 61 6c 20 21 3d 3d iteral).{.if.($updateLiteral.!==
57660 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 4d 65 61 6e 73 55 70 64 61 74 65 .$literal).{.$installMeansUpdate
57680 4d 61 70 5b 61 62 73 28 24 75 70 64 61 74 65 4c 69 74 65 72 61 6c 29 5d 20 3d 20 24 70 61 63 6b Map[abs($updateLiteral)].=.$pack
576a0 61 67 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 69 6e 73 74 61 6c 6c 4d 65 61 age;.}.}.}.}..return.$installMea
576c0 6e 73 55 70 64 61 74 65 4d 61 70 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 nsUpdateMap;.}..protected.functi
576e0 6f 6e 20 69 6e 73 74 61 6c 6c 28 24 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 29 0a 7b 0a on.install($package,.$reason).{.
57700 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 61 63 if.($package.instanceof.AliasPac
57720 6b 61 67 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 61 72 6b 41 6c 69 61 73 49 kage).{.return.$this->markAliasI
57740 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 3b 0a 7d 0a 0a nstalled($package,.$reason);.}..
57760 24 74 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 $this->transaction[].=.new.Opera
57780 74 69 6f 6e 5c 49 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 28 24 70 61 63 6b 61 67 65 2c 20 tion\InstallOperation($package,.
577a0 24 72 65 61 73 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 6e 20 $reason);.}..protected.function.
577c0 75 70 64 61 74 65 28 24 66 72 6f 6d 2c 20 24 74 6f 2c 20 24 72 65 61 73 6f 6e 29 0a 7b 0a 24 74 update($from,.$to,.$reason).{.$t
577e0 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
57800 6f 6e 5c 55 70 64 61 74 65 4f 70 65 72 61 74 69 6f 6e 28 24 66 72 6f 6d 2c 20 24 74 6f 2c 20 24 on\UpdateOperation($from,.$to,.$
57820 72 65 61 73 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 6e 20 75 reason);.}..protected.function.u
57840 6e 69 6e 73 74 61 6c 6c 28 24 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 29 0a 7b 0a 69 66 ninstall($package,.$reason).{.if
57860 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 61 63 6b 61 .($package.instanceof.AliasPacka
57880 67 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 61 72 6b 41 6c 69 61 73 55 6e 69 ge).{.return.$this->markAliasUni
578a0 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 3b 0a 7d 0a 0a nstalled($package,.$reason);.}..
578c0 24 74 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 $this->transaction[].=.new.Opera
578e0 74 69 6f 6e 5c 55 6e 69 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 28 24 70 61 63 6b 61 67 65 tion\UninstallOperation($package
57900 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 66 75 6e 63 74 69 6f ,.$reason);.}..protected.functio
57920 6e 20 6d 61 72 6b 41 6c 69 61 73 49 6e 73 74 61 6c 6c 65 64 28 24 70 61 63 6b 61 67 65 2c 20 24 n.markAliasInstalled($package,.$
57940 72 65 61 73 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 72 61 6e 73 61 63 74 69 6f 6e 5b 5d 20 3d reason).{.$this->transaction[].=
57960 20 6e 65 77 20 4f 70 65 72 61 74 69 6f 6e 5c 4d 61 72 6b 41 6c 69 61 73 49 6e 73 74 61 6c 6c 65 .new.Operation\MarkAliasInstalle
57980 64 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 dOperation($package,.$reason);.}
579a0 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 55 6e ..protected.function.markAliasUn
579c0 69 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 installed($package,.$reason).{.$
579e0 74 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 this->transaction[].=.new.Operat
57a00 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 61 74 69 6f ion\MarkAliasUninstalledOperatio
57a20 6e 28 24 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a n($package,.$reason);.}.}.<?php.
57a40 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 65 ...........namespace.Composer\De
57a60 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 0a 0a 75 73 65 pendencyResolver\Operation;..use
57a80 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
57aa0 63 65 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 ce;.......class.UninstallOperati
57ac0 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 70 72 6f on.extends.SolverOperation.{.pro
57ae0 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 63 20 66 tected.$package;........public.f
57b00 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 65 49 6e 74 65 72 unction.__construct(PackageInter
57b20 66 61 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 face.$package,.$reason.=.null).{
57b40 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);..
57b60 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 0a 7d 0a 0a 0a 0a $this->package.=.$package;.}....
57b80 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 28 29 0a ...public.function.getPackage().
57ba0 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 0a 0a 0a 0a 0a 0a {.return.$this->package;.}......
57bc0 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 65 28 29 0a 7b 0a .public.function.getJobType().{.
57be0 72 65 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 return.'uninstall';.}.....public
57c00 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 20 .function.__toString().{.return.
57c20 27 55 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 'Uninstalling.'.$this->package->
57c40 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 3e 66 6f 72 6d getPrettyName().'.('.$this->form
57c60 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 29 27 3b 0a 7d atVersion($this->package).')';.}
57c80 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
57ca0 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 65 72 61 74 mposer\DependencyResolver\Operat
57cc0 69 6f 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 ion;..use.Composer\Package\Packa
57ce0 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 55 70 64 61 74 65 4f geInterface;.......class.UpdateO
57d00 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 74 69 6f 6e peration.extends.SolverOperation
57d20 0a 7b 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 .{.protected.$initialPackage;.pr
57d40 6f 74 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 otected.$targetPackage;.........
57d60 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 50 61 63 6b public.function.__construct(Pack
57d80 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 49 6e ageInterface.$initial,.PackageIn
57da0 74 65 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 terface.$target,.$reason.=.null)
57dc0 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 6f 6e 29 3b .{.parent::__construct($reason);
57de0 0a 0a 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 ..$this->initialPackage.=.$initi
57e00 61 6c 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 al;.$this->targetPackage.=.$targ
57e20 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 49 et;.}.......public.function.getI
57e40 6e 69 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 nitialPackage().{.return.$this->
57e60 69 6e 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 initialPackage;.}.......public.f
57e80 75 6e 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 unction.getTargetPackage().{.ret
57ea0 75 72 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 urn.$this->targetPackage;.}.....
57ec0 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 65 28 29 0a 7b ..public.function.getJobType().{
57ee0 0a 72 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 .return.'update';.}.....public.f
57f00 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
57f20 70 64 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 pdating.'.$this->initialPackage-
57f40 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 3e 66 6f 72 >getPrettyName().'.('.$this->for
57f60 6d 61 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 matVersion($this->initialPackage
57f80 29 2e 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 ).').to.'..$this->targetPackage-
57fa0 3e 67 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 >getPrettyName()..'.('.$this->fo
57fc0 72 6d 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 rmatVersion($this->targetPackage
57fe0 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 65 ).')';.}.}.<?php............name
58000 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 65 space.Composer\DependencyResolve
58020 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 61 63 6b 61 r\Operation;..use.Composer\Packa
58040 67 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 4d 61 72 ge\AliasPackage;.......class.Mar
58060 6b 41 6c 69 61 73 49 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 69 6f 6e 20 65 78 74 65 6e 64 73 kAliasInstalledOperation.extends
58080 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 24 70 61 .SolverOperation.{.protected.$pa
580a0 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 20 5f 5f ckage;........public.function.__
580c0 63 6f 6e 73 74 72 75 63 74 28 41 6c 69 61 73 50 61 63 6b 61 67 65 20 24 70 61 63 6b 61 67 65 2c construct(AliasPackage.$package,
580e0 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 3a 3a 5f 5f 63 6f 6e .$reason.=.null).{.parent::__con
58100 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 70 61 63 6b 61 67 65 struct($reason);..$this->package
58120 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 69 63 20 66 75 6e 63 .=.$package;.}.......public.func
58140 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 6e 20 24 74 68 69 73 tion.getPackage().{.return.$this
58160 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 20 66 75 6e 63 74 69 ->package;.}.......public.functi
58180 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 27 6d 61 72 6b 41 6c on.getJobType().{.return.'markAl
581a0 69 61 73 49 6e 73 74 61 6c 6c 65 64 27 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 iasInstalled';.}.....public.func
581c0 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 4d 61 72 6b tion.__toString().{.return.'Mark
581e0 69 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 ing.'.$this->package->getPrettyN
58200 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 73 69 6f 6e 28 ame().'.('.$this->formatVersion(
58220 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 29 2e 27 29 20 61 73 20 69 6e 73 74 61 6c 6c 65 64 2c $this->package).').as.installed,
58240 20 61 6c 69 61 73 20 6f 66 20 27 2e 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 .alias.of.'.$this->package->getA
58260 6c 69 61 73 4f 66 28 29 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 20 28 27 2e 24 liasOf()->getPrettyName().'.('.$
58280 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
582a0 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 29 2e 27 29 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 ge->getAliasOf()).')';.}.}.<?php
582c0 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
582e0 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 0a 0a 75 73 ependencyResolver\Operation;..us
58300 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
58320 61 63 65 3b 0a 0a 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 ace;.......class.InstallOperatio
58340 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 70 72 6f 74 n.extends.SolverOperation.{.prot
58360 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 63 20 66 75 ected.$package;........public.fu
58380 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 65 49 6e 74 65 72 66 nction.__construct(PackageInterf
583a0 61 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 ace.$package,.$reason.=.null).{.
583c0 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);..$
583e0 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;.}.....
58400 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().{
58420 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;.}.......
58440 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
58460 65 74 75 72 6e 20 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 eturn.'install';.}.....public.fu
58480 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 49 6e nction.__toString().{.return.'In
584a0 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 74 50 72 stalling.'.$this->package->getPr
584c0 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
584e0 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 0a 3c 3f sion($this->package).')';.}.}.<?
58500 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
58520 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 0a r\DependencyResolver\Operation;.
58540 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
58560 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 50 61 63 6b 61 67 rsionParser;.use.Composer\Packag
58580 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 61 62 73 74 72 61 e\PackageInterface;.......abstra
585a0 63 74 20 63 6c 61 73 73 20 53 6f 6c 76 65 72 4f 70 65 72 61 74 69 6f 6e 20 69 6d 70 6c 65 6d 65 ct.class.SolverOperation.impleme
585c0 6e 74 73 20 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 nts.OperationInterface.{.protect
585e0 65 64 20 24 72 65 61 73 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ed.$reason;.......public.functio
58600 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 72 65 61 73 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a n.__construct($reason.=.null).{.
58620 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 20 3d 20 24 72 65 61 73 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a $this->reason.=.$reason;.}......
58640 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 28 29 0a 7b 0a 72 .public.function.getReason().{.r
58660 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 eturn.$this->reason;.}..protecte
58680 64 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 56 65 72 73 69 6f 6e 28 50 61 63 6b 61 67 65 d.function.formatVersion(Package
586a0 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 56 65 72 Interface.$package).{.return.Ver
586c0 73 69 6f 6e 50 61 72 73 65 72 3a 3a 66 6f 72 6d 61 74 56 65 72 73 69 6f 6e 28 24 70 61 63 6b 61 sionParser::formatVersion($packa
586e0 67 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 ge);.}.}.<?php............namesp
58700 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 5c ace.Composer\DependencyResolver\
58720 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 61 63 6b 61 67 65 Operation;..use.Composer\Package
58740 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 4d 61 72 6b 41 \AliasPackage;.......class.MarkA
58760 6c 69 61 73 55 6e 69 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 69 6f 6e 20 65 78 74 65 6e 64 73 liasUninstalledOperation.extends
58780 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 24 70 61 .SolverOperation.{.protected.$pa
587a0 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 20 5f 5f ckage;........public.function.__
587c0 63 6f 6e 73 74 72 75 63 74 28 41 6c 69 61 73 50 61 63 6b 61 67 65 20 24 70 61 63 6b 61 67 65 2c construct(AliasPackage.$package,
587e0 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 3a 3a 5f 5f 63 6f 6e .$reason.=.null).{.parent::__con
58800 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 70 61 63 6b 61 67 65 struct($reason);..$this->package
58820 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 69 63 20 66 75 6e 63 .=.$package;.}.......public.func
58840 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 6e 20 24 74 68 69 73 tion.getPackage().{.return.$this
58860 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 20 66 75 6e 63 74 69 ->package;.}.......public.functi
58880 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 27 6d 61 72 6b 41 6c on.getJobType().{.return.'markAl
588a0 69 61 73 55 6e 69 6e 73 74 61 6c 6c 65 64 27 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 iasUninstalled';.}.....public.fu
588c0 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 4d 61 nction.__toString().{.return.'Ma
588e0 72 6b 69 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 rking.'.$this->package->getPrett
58900 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 73 69 6f yName().'.('.$this->formatVersio
58920 6e 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 29 2e 27 29 20 61 73 20 75 6e 69 6e 73 74 61 6c n($this->package).').as.uninstal
58940 6c 65 64 2c 20 61 6c 69 61 73 20 6f 66 20 27 2e 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e led,.alias.of.'.$this->package->
58960 67 65 74 41 6c 69 61 73 4f 66 28 29 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 20 getAliasOf()->getPrettyName().'.
58980 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 74 68 69 73 2d 3e 70 ('.$this->formatVersion($this->p
589a0 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 29 2e 27 29 27 3b 0a 7d 0a 7d 0a 3c ackage->getAliasOf()).')';.}.}.<
589c0 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
589e0 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;
58a00 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 .......interface.OperationInterf
58a20 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 67 65 74 4a 6f ace.{......public.function.getJo
58a40 62 54 79 70 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 bType();.......public.function.g
58a60 65 74 52 65 61 73 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 etReason();.......public.functio
58a80 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 0a 0a 0a 0a 0a 0a n.__toString();.}.<?php.........
58aa0 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 6e 63 79 ...namespace.Composer\Dependency
58ac0 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 61 67 65 5c Resolver;..use.Composer\Package\
58ae0 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 63 6b 61 67 BasePackage;.use.Composer\Packag
58b00 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 50 61 63 e\AliasPackage;.use.Composer\Pac
58b20 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 73 65 20 kage\Version\VersionParser;.use.
58b40 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
58b60 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 5c 4c 69 6e 6b 43 ser\Package\LinkConstraint\LinkC
58b80 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
58ba0 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 5c 56 65 72 73 69 6f 6e 43 \Package\LinkConstraint\VersionC
58bc0 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 73 69 74 6f onstraint;.use.Composer\Reposito
58be0 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
58c00 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 6f 73 69 74 oser\Repository\CompositeReposit
58c20 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
58c40 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
58c60 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 49 6e 74 65 pository\InstalledRepositoryInte
58c80 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 53 rface;.use.Composer\Repository\S
58ca0 74 72 65 61 6d 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 treamableRepositoryInterface;.us
58cc0 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
58ce0 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 6f 6f 6c 0a 7b 0a 63 6f pository;........class.Pool.{.co
58d00 6e 73 74 20 4d 41 54 43 48 5f 4e 41 4d 45 20 3d 20 2d 31 3b 0a 63 6f 6e 73 74 20 4d 41 54 43 48 nst.MATCH_NAME.=.-1;.const.MATCH
58d20 5f 4e 4f 4e 45 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 4d 41 54 43 48 20 3d 20 31 3b 0a 63 6f 6e 73 _NONE.=.0;.const.MATCH.=.1;.cons
58d40 74 20 4d 41 54 43 48 5f 50 52 4f 56 49 44 45 20 3d 20 32 3b 0a 63 6f 6e 73 74 20 4d 41 54 43 48 t.MATCH_PROVIDE.=.2;.const.MATCH
58d60 5f 52 45 50 4c 41 43 45 20 3d 20 33 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f 73 69 _REPLACE.=.3;..protected.$reposi
58d80 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 24 70 72 6f tories.=.array();.protected.$pro
58da0 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 74 65 64 20 viderRepos.=.array();.protected.
58dc0 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 65 64 20 24 $packages.=.array();.protected.$
58de0 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 74 65 63 74 packageByName.=.array();.protect
58e00 65 64 20 24 61 63 63 65 70 74 61 62 6c 65 53 74 61 62 69 6c 69 74 69 65 73 3b 0a 70 72 6f 74 65 ed.$acceptableStabilities;.prote
58e20 63 74 65 64 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 cted.$stabilityFlags;.protected.
58e40 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 20 24 70 72 6f 76 69 $versionParser;.protected.$provi
58e60 64 65 72 43 61 63 68 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 derCache.=.array();.protected.$i
58e80 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 6f 6e 73 74 72 d.=.1;..public.function.__constr
58ea0 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 61 62 6c 65 27 uct($minimumStability.=.'stable'
58ec0 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 72 72 61 79 28 ,.array.$stabilityFlags.=.array(
58ee0 29 29 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 )).{.$stabilities.=.BasePackage:
58f00 3a 24 73 74 61 62 69 6c 69 74 69 65 73 3b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 :$stabilities;.$this->versionPar
58f20 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 74 68 69 73 2d 3e ser.=.new.VersionParser;.$this->
58f40 61 63 63 65 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 acceptableStabilities.=.array();
58f60 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 74 61 62 69 6c 69 74 .foreach.(BasePackage::$stabilit
58f80 69 65 73 20 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 ies.as.$stability.=>.$value).{.i
58fa0 66 20 28 24 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 f.($value.<=.BasePackage::$stabi
58fc0 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 29 20 7b 0a 24 74 68 lities[$minimumStability]).{.$th
58fe0 69 73 2d 3e 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 is->acceptableStabilities[$stabi
59000 6c 69 74 79 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 lity].=.$value;.}.}.$this->stabi
59020 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 0a 0a lityFlags.=.$stabilityFlags;.}..
59040 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
59060 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 2c 20 24 ory(RepositoryInterface.$repo,.$
59080 72 6f 6f 74 41 6c 69 61 73 65 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 20 28 24 72 65 rootAliases.=.array()).{.if.($re
590a0 70 6f 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 po.instanceof.CompositeRepositor
590c0 79 29 20 7b 0a 24 72 65 70 6f 73 20 3d 20 24 72 65 70 6f 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f y).{.$repos.=.$repo->getReposito
590e0 72 69 65 73 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 70 6f 73 20 3d 20 61 72 72 61 79 28 ries();.}.else.{.$repos.=.array(
59100 24 72 65 70 6f 29 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 $repo);.}..foreach.($repos.as.$r
59120 65 70 6f 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 20 3d 20 24 epo).{.$this->repositories[].=.$
59140 72 65 70 6f 3b 0a 0a 24 65 78 65 6d 70 74 20 3d 20 24 72 65 70 6f 20 69 6e 73 74 61 6e 63 65 6f repo;..$exempt.=.$repo.instanceo
59160 66 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 20 7c 7c 20 24 72 65 70 6f 20 69 6e f.PlatformRepository.||.$repo.in
59180 73 74 61 6e 63 65 6f 66 20 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 stanceof.InstalledRepositoryInte
591a0 72 66 61 63 65 3b 0a 0a 69 66 20 28 24 72 65 70 6f 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d rface;..if.($repo.instanceof.Com
591c0 70 6f 73 65 72 52 65 70 6f 73 69 74 6f 72 79 20 26 26 20 24 72 65 70 6f 2d 3e 68 61 73 50 72 6f poserRepository.&&.$repo->hasPro
591e0 76 69 64 65 72 73 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 52 65 70 6f 73 viders()).{.$this->providerRepos
59200 5b 5d 20 3d 20 24 72 65 70 6f 3b 0a 24 72 65 70 6f 2d 3e 73 65 74 52 6f 6f 74 41 6c 69 61 73 65 [].=.$repo;.$repo->setRootAliase
59220 73 28 24 72 6f 6f 74 41 6c 69 61 73 65 73 29 3b 0a 24 72 65 70 6f 2d 3e 72 65 73 65 74 50 61 63 s($rootAliases);.$repo->resetPac
59240 6b 61 67 65 49 64 73 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 72 65 70 6f 20 69 6e 73 74 61 kageIds();.}.elseif.($repo.insta
59260 6e 63 65 6f 66 20 53 74 72 65 61 6d 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 nceof.StreamableRepositoryInterf
59280 61 63 65 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 6f 2d 3e 67 65 74 4d 69 6e 69 6d 61 ace).{.foreach.($repo->getMinima
592a0 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 6e 61 6d 65 lPackages().as.$package).{.$name
592c0 20 3d 20 24 70 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 .=.$package['name'];.$version.=.
592e0 24 70 61 63 6b 61 67 65 5b 27 76 65 72 73 69 6f 6e 27 5d 3b 0a 24 73 74 61 62 69 6c 69 74 79 20 $package['version'];.$stability.
59300 3d 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 6c 69 74 79 28 =.VersionParser::parseStability(
59320 24 76 65 72 73 69 6f 6e 29 3b 0a 0a 0a 20 24 6e 61 6d 65 73 20 3d 20 61 72 72 61 79 28 0a 24 6e $version);....$names.=.array(.$n
59340 61 6d 65 20 3d 3e 20 74 72 75 65 2c 0a 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 70 61 63 6b 61 ame.=>.true,.);.if.(isset($packa
59360 67 65 5b 27 70 72 6f 76 69 64 65 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b ge['provide'])).{.foreach.($pack
59380 61 67 65 5b 27 70 72 6f 76 69 64 65 27 5d 20 61 73 20 24 74 61 72 67 65 74 20 3d 3e 20 24 63 6f age['provide'].as.$target.=>.$co
593a0 6e 73 74 72 61 69 6e 74 29 20 7b 0a 24 6e 61 6d 65 73 5b 24 74 61 72 67 65 74 5d 20 3d 20 74 72 nstraint).{.$names[$target].=.tr
593c0 75 65 3b 0a 7d 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 5b 27 72 65 70 6c ue;.}.}.if.(isset($package['repl
593e0 61 63 65 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 5b 27 72 65 70 ace'])).{.foreach.($package['rep
59400 6c 61 63 65 27 5d 20 61 73 20 24 74 61 72 67 65 74 20 3d 3e 20 24 63 6f 6e 73 74 72 61 69 6e 74 lace'].as.$target.=>.$constraint
59420 29 20 7b 0a 24 6e 61 6d 65 73 5b 24 74 61 72 67 65 74 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a ).{.$names[$target].=.true;.}.}.
59440 24 6e 61 6d 65 73 20 3d 20 61 72 72 61 79 5f 6b 65 79 73 28 24 6e 61 6d 65 73 29 3b 0a 0a 69 66 $names.=.array_keys($names);..if
59460 20 28 24 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 .($exempt.||.$this->isPackageAcc
59480 65 70 74 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 eptable($names,.$stability)).{.$
594a0 70 61 63 6b 61 67 65 5b 27 69 64 27 5d 20 3d 20 24 74 68 69 73 2d 3e 69 64 2b 2b 3b 0a 24 74 68 package['id'].=.$this->id++;.$th
594c0 69 73 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 66 6f 72 65 is->packages[].=.$package;..fore
594e0 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 7b 0a 24 74 68 69 ach.($names.as.$provided).{.$thi
59500 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 5d 5b 24 70 61 63 s->packageByName[$provided][$pac
59520 6b 61 67 65 5b 27 69 64 27 5d 5d 20 3d 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 5b 24 74 kage['id']].=.$this->packages[$t
59540 68 69 73 2d 3e 69 64 20 2d 20 32 5d 3b 0a 7d 0a 0a 0a 20 75 6e 73 65 74 28 24 72 6f 6f 74 41 6c his->id.-.2];.}....unset($rootAl
59560 69 61 73 44 61 74 61 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 72 6f 6f 74 41 6c 69 61 73 65 73 iasData);.if.(isset($rootAliases
59580 5b 24 6e 61 6d 65 5d 5b 24 76 65 72 73 69 6f 6e 5d 29 29 20 7b 0a 24 72 6f 6f 74 41 6c 69 61 73 [$name][$version])).{.$rootAlias
595a0 44 61 74 61 20 3d 20 24 72 6f 6f 74 41 6c 69 61 73 65 73 5b 24 6e 61 6d 65 5d 5b 24 76 65 72 73 Data.=.$rootAliases[$name][$vers
595c0 69 6f 6e 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 5b 27 ion];.}.elseif.(isset($package['
595e0 61 6c 69 61 73 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 29 20 26 26 20 69 73 73 65 74 28 24 72 6f alias_normalized']).&&.isset($ro
59600 6f 74 41 6c 69 61 73 65 73 5b 24 6e 61 6d 65 5d 5b 24 70 61 63 6b 61 67 65 5b 27 61 6c 69 61 73 otAliases[$name][$package['alias
59620 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 5d 29 29 20 7b 0a 24 72 6f 6f 74 41 6c 69 61 73 44 61 74 _normalized']])).{.$rootAliasDat
59640 61 20 3d 20 24 72 6f 6f 74 41 6c 69 61 73 65 73 5b 24 6e 61 6d 65 5d 5b 24 70 61 63 6b 61 67 65 a.=.$rootAliases[$name][$package
59660 5b 27 61 6c 69 61 73 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 5d 3b 0a 7d 0a 0a 69 66 20 28 69 73 ['alias_normalized']];.}..if.(is
59680 73 65 74 28 24 72 6f 6f 74 41 6c 69 61 73 44 61 74 61 29 29 20 7b 0a 24 61 6c 69 61 73 20 3d 20 set($rootAliasData)).{.$alias.=.
596a0 24 70 61 63 6b 61 67 65 3b 0a 75 6e 73 65 74 28 24 61 6c 69 61 73 5b 27 72 61 77 27 5d 29 3b 0a $package;.unset($alias['raw']);.
596c0 24 61 6c 69 61 73 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 24 72 6f 6f 74 41 6c 69 61 73 44 61 $alias['version'].=.$rootAliasDa
596e0 74 61 5b 27 61 6c 69 61 73 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 3b 0a 24 61 6c 69 61 73 5b 27 ta['alias_normalized'];.$alias['
59700 61 6c 69 61 73 27 5d 20 3d 20 24 72 6f 6f 74 41 6c 69 61 73 44 61 74 61 5b 27 61 6c 69 61 73 27 alias'].=.$rootAliasData['alias'
59720 5d 3b 0a 24 61 6c 69 61 73 5b 27 61 6c 69 61 73 5f 6f 66 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 ];.$alias['alias_of'].=.$package
59740 5b 27 69 64 27 5d 3b 0a 24 61 6c 69 61 73 5b 27 69 64 27 5d 20 3d 20 24 74 68 69 73 2d 3e 69 64 ['id'];.$alias['id'].=.$this->id
59760 2b 2b 3b 0a 24 61 6c 69 61 73 5b 27 72 6f 6f 74 5f 61 6c 69 61 73 27 5d 20 3d 20 74 72 75 65 3b ++;.$alias['root_alias'].=.true;
59780 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 61 6c 69 61 73 3b 0a 0a 66 6f .$this->packages[].=.$alias;..fo
597a0 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 7b 0a 24 74 reach.($names.as.$provided).{.$t
597c0 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 5d 5b 24 61 his->packageByName[$provided][$a
597e0 6c 69 61 73 5b 27 69 64 27 5d 5d 20 3d 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 5b 24 74 lias['id']].=.$this->packages[$t
59800 68 69 73 2d 3e 69 64 20 2d 20 32 5d 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 his->id.-.2];.}.}....if.(isset($
59820 70 61 63 6b 61 67 65 5b 27 61 6c 69 61 73 27 5d 29 29 20 7b 0a 24 61 6c 69 61 73 20 3d 20 24 70 package['alias'])).{.$alias.=.$p
59840 61 63 6b 61 67 65 3b 0a 75 6e 73 65 74 28 24 61 6c 69 61 73 5b 27 72 61 77 27 5d 29 3b 0a 24 61 ackage;.unset($alias['raw']);.$a
59860 6c 69 61 73 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 5b 27 61 6c 69 61 lias['version'].=.$package['alia
59880 73 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 3b 0a 24 61 6c 69 61 73 5b 27 61 6c 69 61 73 27 5d 20 s_normalized'];.$alias['alias'].
598a0 3d 20 24 70 61 63 6b 61 67 65 5b 27 61 6c 69 61 73 27 5d 3b 0a 24 61 6c 69 61 73 5b 27 61 6c 69 =.$package['alias'];.$alias['ali
598c0 61 73 5f 6f 66 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 5b 27 69 64 27 5d 3b 0a 24 61 6c 69 61 73 as_of'].=.$package['id'];.$alias
598e0 5b 27 69 64 27 5d 20 3d 20 24 74 68 69 73 2d 3e 69 64 2b 2b 3b 0a 24 74 68 69 73 2d 3e 70 61 63 ['id'].=.$this->id++;.$this->pac
59900 6b 61 67 65 73 5b 5d 20 3d 20 24 61 6c 69 61 73 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6e 61 6d kages[].=.$alias;..foreach.($nam
59920 65 73 20 61 73 20 24 70 72 6f 76 69 64 65 64 29 20 7b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 es.as.$provided).{.$this->packag
59940 65 42 79 4e 61 6d 65 5b 24 70 72 6f 76 69 64 65 64 5d 5b 24 61 6c 69 61 73 5b 27 69 64 27 5d 5d eByName[$provided][$alias['id']]
59960 20 3d 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 5b 24 74 68 69 73 2d 3e 69 64 20 2d 20 32 .=.$this->packages[$this->id.-.2
59980 5d 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 ];.}.}.}.}.}.else.{.foreach.($re
599a0 70 6f 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 29 20 7b po->getPackages().as.$package).{
599c0 0a 24 6e 61 6d 65 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 73 28 29 3b 0a .$names.=.$package->getNames();.
599e0 24 73 74 61 62 69 6c 69 74 79 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 74 61 62 69 6c $stability.=.$package->getStabil
59a00 69 74 79 28 29 3b 0a 69 66 20 28 24 65 78 65 6d 70 74 20 7c 7c 20 24 74 68 69 73 2d 3e 69 73 50 ity();.if.($exempt.||.$this->isP
59a20 61 63 6b 61 67 65 41 63 63 65 70 74 61 62 6c 65 28 24 6e 61 6d 65 73 2c 20 24 73 74 61 62 69 6c ackageAcceptable($names,.$stabil
59a40 69 74 79 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 49 64 28 24 74 68 69 73 2d 3e 69 ity)).{.$package->setId($this->i
59a60 64 2b 2b 29 3b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 70 61 63 6b 61 d++);.$this->packages[].=.$packa
59a80 67 65 3b 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 ge;..foreach.($names.as.$provide
59aa0 64 29 20 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 d).{.$this->packageByName[$provi
59ac0 64 65 64 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 ded][].=.$package;.}....$name.=.
59ae0 24 70 61 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 $package->getName();.if.(isset($
59b00 72 6f 6f 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 rootAliases[$name][$package->get
59b20 56 65 72 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 Version()])).{.$alias.=.$rootAli
59b40 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 73 69 6f 6e ases[$name][$package->getVersion
59b60 28 29 5d 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 ()];.if.($package.instanceof.Ali
59b80 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 61 67 65 asPackage).{.$package.=.$package
59ba0 2d 3e 67 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 ->getAliasOf();.}.$aliasPackage.
59bc0 3d 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 =.new.AliasPackage($package,.$al
59be0 69 61 73 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 ias['alias_normalized'],.$alias[
59c00 27 61 6c 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 'alias']);.$aliasPackage->setRoo
59c20 74 50 61 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 tPackageAlias(true);.$aliasPacka
59c40 67 65 2d 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 ge->setId($this->id++);..$packag
59c60 65 2d 3e 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 e->getRepository()->addPackage($
59c80 61 6c 69 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 aliasPackage);.$this->packages[]
59ca0 20 3d 20 24 61 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 61 6c 69 .=.$aliasPackage;..foreach.($ali
59cc0 61 73 50 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 73 28 29 20 61 73 20 24 6e 61 6d 65 29 20 asPackage->getNames().as.$name).
59ce0 7b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 42 79 4e 61 6d 65 5b 24 6e 61 6d 65 5d 5b 5d 20 {.$this->packageByName[$name][].
59d00 3d 20 24 61 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a =.$aliasPackage;.}.}.}.}.}.}.}..
59d20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 69 6f 72 69 74 79 28 52 65 70 6f public.function.getPriority(Repo
59d40 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 29 0a 7b 0a 24 70 72 69 6f 72 69 sitoryInterface.$repo).{.$priori
59d60 74 79 20 3d 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 24 72 65 70 6f 2c 20 24 74 68 69 73 2d 3e ty.=.array_search($repo,.$this->
59d80 72 65 70 6f 73 69 74 6f 72 69 65 73 2c 20 74 72 75 65 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 repositories,.true);..if.(false.
59da0 3d 3d 3d 20 24 70 72 69 6f 72 69 74 79 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 ===.$priority).{.throw.new.\Runt
59dc0 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 22 43 6f 75 6c 64 20 6e 6f 74 20 64 65 74 65 72 6d 69 6e imeException("Could.not.determin
59de0 65 20 72 65 70 6f 73 69 74 6f 72 79 20 70 72 69 6f 72 69 74 79 2e 20 54 68 65 20 72 65 70 6f 73 e.repository.priority..The.repos
59e00 69 74 6f 72 79 20 77 61 73 20 6e 6f 74 20 72 65 67 69 73 74 65 72 65 64 20 69 6e 20 74 68 65 20 itory.was.not.registered.in.the.
59e20 70 6f 6f 6c 2e 22 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 2d 24 70 72 69 6f 72 69 74 79 3b 0a 7d pool.");.}..return.-$priority;.}
59e40 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 63 6b 61 67 65 42 ........public.function.packageB
59e60 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 65 6e 73 75 72 65 50 yId($id).{.return.$this->ensureP
59e80 61 63 6b 61 67 65 49 73 4c 6f 61 64 65 64 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 5b 24 ackageIsLoaded($this->packages[$
59ea0 69 64 20 2d 20 31 5d 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 id.-.1]);.}..........public.func
59ec0 74 69 6f 6e 20 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 6e 61 6d 65 2c 20 4c 69 6e 6b 43 6f 6e tion.whatProvides($name,.LinkCon
59ee0 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 20 6e straintInterface.$constraint.=.n
59f00 75 6c 6c 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 ull).{.if.(isset($this->provider
59f20 43 61 63 68 65 5b 24 6e 61 6d 65 5d 5b 28 73 74 72 69 6e 67 29 20 24 63 6f 6e 73 74 72 61 69 6e Cache[$name][(string).$constrain
59f40 74 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 64 65 72 43 61 63 t])).{.return.$this->providerCac
59f60 68 65 5b 24 6e 61 6d 65 5d 5b 28 73 74 72 69 6e 67 29 20 24 63 6f 6e 73 74 72 61 69 6e 74 5d 3b he[$name][(string).$constraint];
59f80 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 43 61 63 68 65 5b .}..return.$this->providerCache[
59fa0 24 6e 61 6d 65 5d 5b 28 73 74 72 69 6e 67 29 20 24 63 6f 6e 73 74 72 61 69 6e 74 5d 20 3d 20 24 $name][(string).$constraint].=.$
59fc0 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 24 6e 61 6d 65 2c this->computeWhatProvides($name,
59fe0 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e .$constraint);.}.....private.fun
5a000 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 24 6e 61 6d 65 2c ction.computeWhatProvides($name,
5a020 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 0a 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 61 72 .$constraint).{.$candidates.=.ar
5a040 72 61 79 28 29 3b 0a 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 ray();..foreach.($this->provider
5a060 52 65 70 6f 73 20 61 73 20 24 72 65 70 6f 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 6f Repos.as.$repo).{.foreach.($repo
5a080 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 74 68 69 73 2c 20 24 6e 61 6d 65 29 20 61 73 20 ->whatProvides($this,.$name).as.
5a0a0 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 5d 20 3d 20 24 63 $candidate).{.$candidates[].=.$c
5a0c0 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 67 65 74 49 64 28 andidate;.if.($candidate->getId(
5a0e0 29 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 73 ).<.1).{.$candidate->setId($this
5a100 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 3e ->id++);.$this->packages[$this->
5a120 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 20 id.-.2].=.$candidate;.}.}.}..if.
5a140 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 42 79 4e 61 6d 65 5b 24 6e 61 6d (isset($this->packageByName[$nam
5a160 65 5d 29 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 e])).{.$candidates.=.array_merge
5a180 28 24 63 61 6e 64 69 64 61 74 65 73 2c 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 42 79 4e 61 ($candidates,.$this->packageByNa
5a1a0 6d 65 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 63 6f 6e me[$name]);.}..if.(null.===.$con
5a1c0 73 74 72 61 69 6e 74 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 61 6e 64 69 64 61 74 65 73 20 straint).{.foreach.($candidates.
5a1e0 61 73 20 24 6b 65 79 20 3d 3e 20 24 63 61 6e 64 69 64 61 74 65 29 20 7b 0a 24 63 61 6e 64 69 64 as.$key.=>.$candidate).{.$candid
5a200 61 74 65 73 5b 24 6b 65 79 5d 20 3d 20 24 74 68 69 73 2d 3e 65 6e 73 75 72 65 50 61 63 6b 61 67 ates[$key].=.$this->ensurePackag
5a220 65 49 73 4c 6f 61 64 65 64 28 24 63 61 6e 64 69 64 61 74 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e eIsLoaded($candidate);.}..return
5a240 20 24 63 61 6e 64 69 64 61 74 65 73 3b 0a 7d 0a 0a 24 6d 61 74 63 68 65 73 20 3d 20 24 70 72 6f .$candidates;.}..$matches.=.$pro
5a260 76 69 64 65 4d 61 74 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 6e 61 6d 65 4d 61 74 63 videMatches.=.array();.$nameMatc
5a280 68 20 3d 20 66 61 6c 73 65 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 61 6e 64 69 64 61 74 65 73 h.=.false;..foreach.($candidates
5a2a0 20 61 73 20 24 63 61 6e 64 69 64 61 74 65 29 20 7b 0a 73 77 69 74 63 68 20 28 24 74 68 69 73 2d .as.$candidate).{.switch.($this-
5a2c0 3e 6d 61 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 >match($candidate,.$name,.$const
5a2e0 72 61 69 6e 74 29 29 20 7b 0a 63 61 73 65 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 4e 4f 4e 45 3a raint)).{.case.self::MATCH_NONE:
5a300 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 4e 41 4d 45 3a 0a .break;..case.self::MATCH_NAME:.
5a320 24 6e 61 6d 65 4d 61 74 63 68 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 $nameMatch.=.true;.break;..case.
5a340 73 65 6c 66 3a 3a 4d 41 54 43 48 3a 0a 24 6e 61 6d 65 4d 61 74 63 68 20 3d 20 74 72 75 65 3b 0a self::MATCH:.$nameMatch.=.true;.
5a360 24 6d 61 74 63 68 65 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 65 6e 73 75 72 65 50 61 63 6b 61 67 $matches[].=.$this->ensurePackag
5a380 65 49 73 4c 6f 61 64 65 64 28 24 63 61 6e 64 69 64 61 74 65 29 3b 0a 62 72 65 61 6b 3b 0a 0a 63 eIsLoaded($candidate);.break;..c
5a3a0 61 73 65 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 50 52 4f 56 49 44 45 3a 0a 24 70 72 6f 76 69 64 ase.self::MATCH_PROVIDE:.$provid
5a3c0 65 4d 61 74 63 68 65 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 65 6e 73 75 72 65 50 61 63 6b 61 67 eMatches[].=.$this->ensurePackag
5a3e0 65 49 73 4c 6f 61 64 65 64 28 24 63 61 6e 64 69 64 61 74 65 29 3b 0a 62 72 65 61 6b 3b 0a 0a 63 eIsLoaded($candidate);.break;..c
5a400 61 73 65 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 52 45 50 4c 41 43 45 3a 0a 24 6d 61 74 63 68 65 ase.self::MATCH_REPLACE:.$matche
5a420 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 65 6e 73 75 72 65 50 61 63 6b 61 67 65 49 73 4c 6f 61 64 s[].=.$this->ensurePackageIsLoad
5a440 65 64 28 24 63 61 6e 64 69 64 61 74 65 29 3b 0a 62 72 65 61 6b 3b 0a 0a 64 65 66 61 75 6c 74 3a ed($candidate);.break;..default:
5a460 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
5a480 74 69 6f 6e 28 27 55 6e 65 78 70 65 63 74 65 64 20 6d 61 74 63 68 20 74 79 70 65 27 29 3b 0a 7d tion('Unexpected.match.type');.}
5a4a0 0a 7d 0a 0a 0a 20 69 66 20 28 24 6e 61 6d 65 4d 61 74 63 68 29 20 7b 0a 72 65 74 75 72 6e 20 24 .}....if.($nameMatch).{.return.$
5a4c0 6d 61 74 63 68 65 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 matches;.}..return.array_merge($
5a4e0 6d 61 74 63 68 65 73 2c 20 24 70 72 6f 76 69 64 65 4d 61 74 63 68 65 73 29 3b 0a 7d 0a 0a 70 75 matches,.$provideMatches);.}..pu
5a500 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 blic.function.literalToPackage($
5a520 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 69 74 literal).{.$packageId.=.abs($lit
5a540 65 72 61 6c 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 42 79 49 eral);..return.$this->packageByI
5a560 64 28 24 70 61 63 6b 61 67 65 49 64 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f d($packageId);.}..public.functio
5a580 6e 20 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 0a 7b 0a 72 65 n.literalToString($literal).{.re
5a5a0 74 75 72 6e 20 28 24 6c 69 74 65 72 61 6c 20 3e 20 30 20 3f 20 27 2b 27 20 3a 20 27 2d 27 29 20 turn.($literal.>.0.?.'+'.:.'-').
5a5c0 2e 20 24 74 68 69 73 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 ..$this->literalToPackage($liter
5a5e0 61 6c 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 al);.}..public.function.literalT
5a600 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
5a620 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
5a640 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
5a660 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 67 65 74 49 64 28 t($installedMap[$package->getId(
5a680 29 5d 29 29 20 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 )])).{.$prefix.=.($literal.>.0.?
5a6a0 20 27 6b 65 65 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 .'keep'.:.'remove');.}.else.{.$p
5a6c0 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 69 6e 73 74 61 6c 6c refix.=.($literal.>.0.?.'install
5a6e0 27 20 3a 20 27 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 '.:.'don\'t.install');.}..return
5a700 20 24 70 72 65 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 .$prefix.'.'.$package->getPretty
5a720 53 74 72 69 6e 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 String();.}..public.function.isP
5a740 61 63 6b 61 67 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 ackageAcceptable($name,.$stabili
5a760 74 79 29 0a 7b 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 ty).{.foreach.((array).$name.as.
5a780 24 6e 29 20 7b 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 $n).{...if.(!isset($this->stabil
5a7a0 69 74 79 46 6c 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 ityFlags[$n]).&&.isset($this->ac
5a7c0 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 5d 29 ceptableStabilities[$stability])
5a7e0 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 69 73 73 65 74 28 ).{.return.true;.}....if.(isset(
5a800 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 26 26 20 42 61 $this->stabilityFlags[$n]).&&.Ba
5a820 73 65 50 61 63 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 sePackage::$stabilities[$stabili
5a840 74 79 5d 20 3c 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 ty].<=.$this->stabilityFlags[$n]
5a860 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
5a880 73 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 6e 73 75 72 65 50 61 se;.}..private.function.ensurePa
5a8a0 63 6b 61 67 65 49 73 4c 6f 61 64 65 64 28 24 64 61 74 61 29 0a 7b 0a 69 66 20 28 69 73 5f 61 72 ckageIsLoaded($data).{.if.(is_ar
5a8c0 72 61 79 28 24 64 61 74 61 29 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 64 61 74 61 5b 27 61 ray($data)).{.if.(isset($data['a
5a8e0 6c 69 61 73 5f 6f 66 27 5d 29 29 20 7b 0a 24 61 6c 69 61 73 4f 66 20 3d 20 24 74 68 69 73 2d 3e lias_of'])).{.$aliasOf.=.$this->
5a900 70 61 63 6b 61 67 65 42 79 49 64 28 24 64 61 74 61 5b 27 61 6c 69 61 73 5f 6f 66 27 5d 29 3b 0a packageById($data['alias_of']);.
5a920 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 5b 24 64 61 74 61 $package.=.$this->packages[$data
5a940 5b 27 69 64 27 5d 20 2d 20 31 5d 20 3d 20 24 64 61 74 61 5b 27 72 65 70 6f 27 5d 2d 3e 6c 6f 61 ['id'].-.1].=.$data['repo']->loa
5a960 64 41 6c 69 61 73 50 61 63 6b 61 67 65 28 24 64 61 74 61 2c 20 24 61 6c 69 61 73 4f 66 29 3b 0a dAliasPackage($data,.$aliasOf);.
5a980 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 52 6f 6f 74 50 61 63 6b 61 67 65 41 6c 69 61 73 28 21 65 $package->setRootPackageAlias(!e
5a9a0 6d 70 74 79 28 24 64 61 74 61 5b 27 72 6f 6f 74 5f 61 6c 69 61 73 27 5d 29 29 3b 0a 7d 20 65 6c mpty($data['root_alias']));.}.el
5a9c0 73 65 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 5b se.{.$package.=.$this->packages[
5a9e0 24 64 61 74 61 5b 27 69 64 27 5d 20 2d 20 31 5d 20 3d 20 24 64 61 74 61 5b 27 72 65 70 6f 27 5d $data['id'].-.1].=.$data['repo']
5aa00 2d 3e 6c 6f 61 64 50 61 63 6b 61 67 65 28 24 64 61 74 61 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 ->loadPackage($data);.}..foreach
5aa20 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 24 6e 61 6d 65 29 .($package->getNames().as.$name)
5aa40 20 7b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 42 79 4e 61 6d 65 5b 24 6e 61 6d 65 5d 5b 24 .{.$this->packageByName[$name][$
5aa60 64 61 74 61 5b 27 69 64 27 5d 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 24 70 61 63 6b 61 data['id']].=.$package;.}.$packa
5aa80 67 65 2d 3e 73 65 74 49 64 28 24 64 61 74 61 5b 27 69 64 27 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 ge->setId($data['id']);..return.
5aaa0 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 61 74 61 3b 0a 7d 0a 0a 0a 0a $package;.}..return.$data;.}....
5aac0 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 61 74 63 68 28 24 63 .......private.function.match($c
5aae0 61 6e 64 69 64 61 74 65 2c 20 24 6e 61 6d 65 2c 20 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 49 andidate,.$name,.LinkConstraintI
5ab00 6e 74 65 72 66 61 63 65 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 0a 7b 0a 0a 20 69 66 20 28 69 73 nterface.$constraint).{...if.(is
5ab20 5f 61 72 72 61 79 28 24 63 61 6e 64 69 64 61 74 65 29 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 _array($candidate)).{.$candidate
5ab40 4e 61 6d 65 20 3d 20 24 63 61 6e 64 69 64 61 74 65 5b 27 6e 61 6d 65 27 5d 3b 0a 24 63 61 6e 64 Name.=.$candidate['name'];.$cand
5ab60 69 64 61 74 65 56 65 72 73 69 6f 6e 20 3d 20 24 63 61 6e 64 69 64 61 74 65 5b 27 76 65 72 73 69 idateVersion.=.$candidate['versi
5ab80 6f 6e 27 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 63 61 6e 64 69 64 61 74 65 4e 61 6d 65 20 on'];.}.else.{...$candidateName.
5aba0 3d 20 24 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 =.$candidate->getName();.$candid
5abc0 61 74 65 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 ateVersion.=.$candidate->getVers
5abe0 69 6f 6e 28 29 3b 0a 7d 0a 0a 69 66 20 28 24 63 61 6e 64 69 64 61 74 65 4e 61 6d 65 20 3d 3d 3d ion();.}..if.($candidateName.===
5ac00 20 24 6e 61 6d 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 .$name).{.return.$constraint->ma
5ac20 74 63 68 65 73 28 6e 65 77 20 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 3d 27 tches(new.VersionConstraint('=='
5ac40 2c 20 24 63 61 6e 64 69 64 61 74 65 56 65 72 73 69 6f 6e 29 29 20 3f 20 73 65 6c 66 3a 3a 4d 41 ,.$candidateVersion)).?.self::MA
5ac60 54 43 48 20 3a 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 4e 41 4d 45 3b 0a 7d 0a 0a 69 66 20 28 69 TCH.:.self::MATCH_NAME;.}..if.(i
5ac80 73 5f 61 72 72 61 79 28 24 63 61 6e 64 69 64 61 74 65 29 29 20 7b 0a 24 70 72 6f 76 69 64 65 73 s_array($candidate)).{.$provides
5aca0 20 3d 20 69 73 73 65 74 28 24 63 61 6e 64 69 64 61 74 65 5b 27 70 72 6f 76 69 64 65 27 5d 29 0a .=.isset($candidate['provide']).
5acc0 3f 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 4c 69 6e ?.$this->versionParser->parseLin
5ace0 6b 73 28 24 63 61 6e 64 69 64 61 74 65 4e 61 6d 65 2c 20 24 63 61 6e 64 69 64 61 74 65 56 65 72 ks($candidateName,.$candidateVer
5ad00 73 69 6f 6e 2c 20 27 70 72 6f 76 69 64 65 73 27 2c 20 24 63 61 6e 64 69 64 61 74 65 5b 27 70 72 sion,.'provides',.$candidate['pr
5ad20 6f 76 69 64 65 27 5d 29 0a 3a 20 61 72 72 61 79 28 29 3b 0a 24 72 65 70 6c 61 63 65 73 20 3d 20 ovide']).:.array();.$replaces.=.
5ad40 69 73 73 65 74 28 24 63 61 6e 64 69 64 61 74 65 5b 27 72 65 70 6c 61 63 65 27 5d 29 0a 3f 20 24 isset($candidate['replace']).?.$
5ad60 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 4c 69 6e 6b 73 28 this->versionParser->parseLinks(
5ad80 24 63 61 6e 64 69 64 61 74 65 4e 61 6d 65 2c 20 24 63 61 6e 64 69 64 61 74 65 56 65 72 73 69 6f $candidateName,.$candidateVersio
5ada0 6e 2c 20 27 72 65 70 6c 61 63 65 73 27 2c 20 24 63 61 6e 64 69 64 61 74 65 5b 27 72 65 70 6c 61 n,.'replaces',.$candidate['repla
5adc0 63 65 27 5d 29 0a 3a 20 61 72 72 61 79 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 72 6f 76 69 ce']).:.array();.}.else.{.$provi
5ade0 64 65 73 20 3d 20 24 63 61 6e 64 69 64 61 74 65 2d 3e 67 65 74 50 72 6f 76 69 64 65 73 28 29 3b des.=.$candidate->getProvides();
5ae00 0a 24 72 65 70 6c 61 63 65 73 20 3d 20 24 63 61 6e 64 69 64 61 74 65 2d 3e 67 65 74 52 65 70 6c .$replaces.=.$candidate->getRepl
5ae20 61 63 65 73 28 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 72 65 70 6c 61 63 65 73 aces();.}....if.(isset($replaces
5ae40 5b 30 5d 29 20 7c 7c 20 69 73 73 65 74 28 24 70 72 6f 76 69 64 65 73 5b 30 5d 29 29 20 7b 0a 66 [0]).||.isset($provides[0])).{.f
5ae60 6f 72 65 61 63 68 20 28 24 70 72 6f 76 69 64 65 73 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 69 66 oreach.($provides.as.$link).{.if
5ae80 20 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 20 3d 3d 3d 20 24 6e 61 6d 65 20 26 .($link->getTarget().===.$name.&
5aea0 26 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 65 &.$constraint->matches($link->ge
5aec0 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 4d tConstraint())).{.return.self::M
5aee0 41 54 43 48 5f 50 52 4f 56 49 44 45 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 ATCH_PROVIDE;.}.}..foreach.($rep
5af00 6c 61 63 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 laces.as.$link).{.if.($link->get
5af20 54 61 72 67 65 74 28 29 20 3d 3d 3d 20 24 6e 61 6d 65 20 26 26 20 24 63 6f 6e 73 74 72 61 69 6e Target().===.$name.&&.$constrain
5af40 74 2d 3e 6d 61 74 63 68 65 73 28 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 t->matches($link->getConstraint(
5af60 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 52 45 50 4c 41 43 45 ))).{.return.self::MATCH_REPLACE
5af80 3b 0a 7d 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 0a ;.}.}..return.self::MATCH_NONE;.
5afa0 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 70 72 6f 76 69 64 65 73 5b 24 6e 61 6d 65 5d 29 20 26 }..if.(isset($provides[$name]).&
5afc0 26 20 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 28 24 70 72 6f 76 69 64 65 73 &.$constraint->matches($provides
5afe0 5b 24 6e 61 6d 65 5d 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 29 20 7b 0a 72 65 74 [$name]->getConstraint())).{.ret
5b000 75 72 6e 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 50 52 4f 56 49 44 45 3b 0a 7d 0a 0a 69 66 20 28 urn.self::MATCH_PROVIDE;.}..if.(
5b020 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 24 63 6f 6e 73 isset($replaces[$name]).&&.$cons
5b040 74 72 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 traint->matches($replaces[$name]
5b060 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c ->getConstraint())).{.return.sel
5b080 66 3a 3a 4d 41 54 43 48 5f 52 45 50 4c 41 43 45 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 f::MATCH_REPLACE;.}..return.self
5b0a0 3a 3a 4d 41 54 43 48 5f 4e 4f 4e 45 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a ::MATCH_NONE;.}.}.<?php.........
5b0c0 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 6e 63 79 ...namespace.Composer\Dependency
5b0e0 52 65 73 6f 6c 76 65 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 75 6c 65 0a 7b 0a 63 6f 6e 73 74 Resolver;.....class.Rule.{.const
5b100 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 20 3d 20 31 3b .RULE_INTERNAL_ALLOW_UPDATE.=.1;
5b120 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 3b 0a 63 6f 6e .const.RULE_JOB_INSTALL.=.2;.con
5b140 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 73 74 20 52 55 st.RULE_JOB_REMOVE.=.3;.const.RU
5b160 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 6e 73 74 20 52 LE_PACKAGE_CONFLICT.=.6;.const.R
5b180 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 6f 6e 73 74 20 ULE_PACKAGE_REQUIRES.=.7;.const.
5b1a0 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 0a 63 6f 6e 73 RULE_PACKAGE_OBSOLETES.=.8;.cons
5b1c0 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 53 4f 4c 45 54 t.RULE_INSTALLED_PACKAGE_OBSOLET
5b1e0 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 53 41 4d 45 5f ES.=.9;.const.RULE_PACKAGE_SAME_
5b200 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 47 45 5f 49 4d NAME.=.10;.const.RULE_PACKAGE_IM
5b220 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 74 20 52 55 4c PLICIT_OBSOLETES.=.11;.const.RUL
5b240 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 50 41 43 4b 41 E_LEARNED.=.12;.const.RULE_PACKA
5b260 47 45 5f 41 4c 49 41 53 20 3d 20 31 33 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 6f 6f 6c 3b GE_ALIAS.=.13;..protected.$pool;
5b280 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 64 69 73 61 62 6c 65 64 3b 0a 70 72 6f 74 65 63 74 65 64 ..protected.$disabled;.protected
5b2a0 20 24 6c 69 74 65 72 61 6c 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 79 70 65 3b 0a 70 72 6f .$literals;.protected.$type;.pro
5b2c0 74 65 63 74 65 64 20 24 69 64 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 61 73 6f 6e 3b 0a 70 tected.$id;.protected.$reason;.p
5b2e0 72 6f 74 65 63 74 65 64 20 24 72 65 61 73 6f 6e 44 61 74 61 3b 0a 0a 70 72 6f 74 65 63 74 65 64 rotected.$reasonData;..protected
5b300 20 24 6a 6f 62 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 75 6c 65 48 61 73 68 3b 0a 0a 70 75 .$job;..protected.$ruleHash;..pu
5b320 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 6f 6f 6c 20 24 blic.function.__construct(Pool.$
5b340 70 6f 6f 6c 2c 20 61 72 72 61 79 20 24 6c 69 74 65 72 61 6c 73 2c 20 24 72 65 61 73 6f 6e 2c 20 pool,.array.$literals,.$reason,.
5b360 24 72 65 61 73 6f 6e 44 61 74 61 2c 20 24 6a 6f 62 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 $reasonData,.$job.=.null).{.$thi
5b380 73 2d 3e 70 6f 6f 6c 20 3d 20 24 70 6f 6f 6c 3b 0a 0a 0a 20 73 6f 72 74 28 24 6c 69 74 65 72 61 s->pool.=.$pool;....sort($litera
5b3a0 6c 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 73 20 3d 20 24 6c 69 74 65 72 61 6c ls);..$this->literals.=.$literal
5b3c0 73 3b 0a 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 20 3d 20 24 72 65 61 73 6f 6e 3b 0a 24 74 68 69 s;.$this->reason.=.$reason;.$thi
5b3e0 73 2d 3e 72 65 61 73 6f 6e 44 61 74 61 20 3d 20 24 72 65 61 73 6f 6e 44 61 74 61 3b 0a 0a 24 74 s->reasonData.=.$reasonData;..$t
5b400 68 69 73 2d 3e 64 69 73 61 62 6c 65 64 20 3d 20 66 61 6c 73 65 3b 0a 0a 24 74 68 69 73 2d 3e 6a his->disabled.=.false;..$this->j
5b420 6f 62 20 3d 20 24 6a 6f 62 3b 0a 0a 24 74 68 69 73 2d 3e 74 79 70 65 20 3d 20 2d 31 3b 0a 0a 24 ob.=.$job;..$this->type.=.-1;..$
5b440 74 68 69 73 2d 3e 72 75 6c 65 48 61 73 68 20 3d 20 73 75 62 73 74 72 28 6d 64 35 28 69 6d 70 6c this->ruleHash.=.substr(md5(impl
5b460 6f 64 65 28 27 2c 27 2c 20 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 73 29 29 2c 20 30 2c 20 35 ode(',',.$this->literals)),.0,.5
5b480 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 48 61 73 68 28 29 0a );.}..public.function.getHash().
5b4a0 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 75 6c 65 48 61 73 68 3b 0a 7d 0a 0a 70 75 62 {.return.$this->ruleHash;.}..pub
5b4c0 6c 69 63 20 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 lic.function.setId($id).{.$this-
5b4e0 3e 69 64 20 3d 20 24 69 64 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 >id.=.$id;.}..public.function.ge
5b500 74 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 70 75 62 tId().{.return.$this->id;.}..pub
5b520 6c 69 63 20 66 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 lic.function.getJob().{.return.$
5b540 74 68 69 73 2d 3e 6a 6f 62 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 this->job;.}..public.function.ge
5b560 74 52 65 61 73 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e tReason().{.return.$this->reason
5b580 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 61 73 6f 6e 44 61 ;.}..public.function.getReasonDa
5b5a0 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 6f 6e 44 61 74 61 3b ta().{.return.$this->reasonData;
5b5c0 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 71 75 69 72 65 64 50 .}..public.function.getRequiredP
5b5e0 61 63 6b 61 67 65 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 20 3d 3d 3d ackage().{.if.($this->reason.===
5b600 20 73 65 6c 66 3a 3a 52 55 4c 45 5f 4a 4f 42 5f 49 4e 53 54 41 4c 4c 29 20 7b 0a 72 65 74 75 72 .self::RULE_JOB_INSTALL).{.retur
5b620 6e 20 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 44 61 74 61 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 n.$this->reasonData;.}..if.($thi
5b640 73 2d 3e 72 65 61 73 6f 6e 20 3d 3d 3d 20 73 65 6c 66 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 s->reason.===.self::RULE_PACKAGE
5b660 5f 52 45 51 55 49 52 45 53 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 61 73 6f _REQUIRES).{.return.$this->reaso
5b680 6e 44 61 74 61 2d 3e 67 65 74 54 61 72 67 65 74 28 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a nData->getTarget();.}.}.........
5b6a0 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 72 75 .public.function.equals(Rule.$ru
5b6c0 6c 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 72 75 6c 65 48 61 73 68 20 21 3d 3d 20 24 72 le).{.if.($this->ruleHash.!==.$r
5b6e0 75 6c 65 2d 3e 72 75 6c 65 48 61 73 68 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d ule->ruleHash).{.return.false;.}
5b700 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 73 29 20 21 3d 20 ..if.(count($this->literals).!=.
5b720 63 6f 75 6e 74 28 24 72 75 6c 65 2d 3e 6c 69 74 65 72 61 6c 73 29 29 20 7b 0a 72 65 74 75 72 6e count($rule->literals)).{.return
5b740 20 66 61 6c 73 65 3b 0a 7d 0a 0a 66 6f 72 20 28 24 69 20 3d 20 30 2c 20 24 6e 20 3d 20 63 6f 75 .false;.}..for.($i.=.0,.$n.=.cou
5b760 6e 74 28 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 73 29 3b 20 24 69 20 3c 20 24 6e 3b 20 24 69 nt($this->literals);.$i.<.$n;.$i
5b780 2b 2b 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 73 5b 24 69 5d 20 21 3d ++).{.if.($this->literals[$i].!=
5b7a0 3d 20 24 72 75 6c 65 2d 3e 6c 69 74 65 72 61 6c 73 5b 24 69 5d 29 20 7b 0a 72 65 74 75 72 6e 20 =.$rule->literals[$i]).{.return.
5b7c0 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 0a 70 75 62 6c false;.}.}..return.true;.}..publ
5b7e0 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 79 70 65 28 24 74 79 70 65 29 0a 7b 0a 24 74 68 ic.function.setType($type).{.$th
5b800 69 73 2d 3e 74 79 70 65 20 3d 20 24 74 79 70 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 is->type.=.$type;.}..public.func
5b820 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
5b840 79 70 65 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 6c 65 28 ype;.}..public.function.disable(
5b860 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 64 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 70 ).{.$this->disabled.=.true;.}..p
5b880 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6e 61 62 6c 65 28 29 0a 7b 0a 24 74 68 69 73 2d ublic.function.enable().{.$this-
5b8a0 3e 64 69 73 61 62 6c 65 64 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e >disabled.=.false;.}..public.fun
5b8c0 63 74 69 6f 6e 20 69 73 44 69 73 61 62 6c 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 ction.isDisabled().{.return.$thi
5b8e0 73 2d 3e 64 69 73 61 62 6c 65 64 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 s->disabled;.}..public.function.
5b900 69 73 45 6e 61 62 6c 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 21 24 74 68 69 73 2d 3e 64 69 73 isEnabled().{.return.!$this->dis
5b920 61 62 6c 65 64 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 69 74 abled;.}..public.function.getLit
5b940 65 72 61 6c 73 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 6c 73 erals().{.return.$this->literals
5b960 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 74 69 6f 6e ;.}..public.function.isAssertion
5b980 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 73 2d 3e 6c ().{.return.1.===.count($this->l
5b9a0 69 74 65 72 61 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 iterals);.}..public.function.get
5b9c0 50 72 65 74 74 79 53 74 72 69 6e 67 28 61 72 72 61 79 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 PrettyString(array.$installedMap
5b9e0 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 72 75 6c 65 54 65 78 74 20 3d 20 27 27 3b 0a 66 6f .=.array()).{.$ruleText.=.'';.fo
5ba00 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 73 20 61 73 20 24 69 20 3d 3e 20 reach.($this->literals.as.$i.=>.
5ba20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 69 66 20 28 24 69 20 21 3d 20 30 29 20 7b 0a 24 72 75 6c 65 $literal).{.if.($i.!=.0).{.$rule
5ba40 54 65 78 74 20 2e 3d 20 27 7c 27 3b 0a 7d 0a 24 72 75 6c 65 54 65 78 74 20 2e 3d 20 24 74 68 69 Text..=.'|';.}.$ruleText..=.$thi
5ba60 73 2d 3e 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 s->pool->literalToPrettyString($
5ba80 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 0a 0a 73 77 69 74 literal,.$installedMap);.}..swit
5baa0 63 68 20 28 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 29 20 7b 0a 63 61 73 65 20 73 65 6c 66 3a 3a ch.($this->reason).{.case.self::
5bac0 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 3a 0a 72 65 74 75 RULE_INTERNAL_ALLOW_UPDATE:.retu
5bae0 72 6e 20 24 72 75 6c 65 54 65 78 74 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a 3a 52 55 4c 45 5f 4a rn.$ruleText;..case.self::RULE_J
5bb00 4f 42 5f 49 4e 53 54 41 4c 4c 3a 0a 72 65 74 75 72 6e 20 22 49 6e 73 74 61 6c 6c 20 63 6f 6d 6d OB_INSTALL:.return."Install.comm
5bb20 61 6e 64 20 72 75 6c 65 20 28 24 72 75 6c 65 54 65 78 74 29 22 3b 0a 0a 63 61 73 65 20 73 65 6c and.rule.($ruleText)";..case.sel
5bb40 66 3a 3a 52 55 4c 45 5f 4a 4f 42 5f 52 45 4d 4f 56 45 3a 0a 72 65 74 75 72 6e 20 22 52 65 6d 6f f::RULE_JOB_REMOVE:.return."Remo
5bb60 76 65 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 3b 0a 0a 63 ve.command.rule.($ruleText)";..c
5bb80 61 73 65 20 73 65 6c 66 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 43 4f 4e 46 4c 49 43 54 3a ase.self::RULE_PACKAGE_CONFLICT:
5bba0 0a 24 70 61 63 6b 61 67 65 31 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 .$package1.=.$this->pool->litera
5bbc0 6c 54 6f 50 61 63 6b 61 67 65 28 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 73 5b 30 5d 29 3b 0a lToPackage($this->literals[0]);.
5bbe0 24 70 61 63 6b 61 67 65 32 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c $package2.=.$this->pool->literal
5bc00 54 6f 50 61 63 6b 61 67 65 28 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 73 5b 31 5d 29 3b 0a 0a ToPackage($this->literals[1]);..
5bc20 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 31 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e return.$package1->getPrettyStrin
5bc40 67 28 29 2e 27 20 63 6f 6e 66 6c 69 63 74 73 20 77 69 74 68 20 27 2e 24 74 68 69 73 2d 3e 66 6f g().'.conflicts.with.'.$this->fo
5bc60 72 6d 61 74 50 61 63 6b 61 67 65 73 55 6e 69 71 75 65 28 61 72 72 61 79 28 24 70 61 63 6b 61 67 rmatPackagesUnique(array($packag
5bc80 65 32 29 29 2e 27 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 e2)).'.';..case.self::RULE_PACKA
5bca0 47 45 5f 52 45 51 55 49 52 45 53 3a 0a 24 6c 69 74 65 72 61 6c 73 20 3d 20 24 74 68 69 73 2d 3e GE_REQUIRES:.$literals.=.$this->
5bcc0 6c 69 74 65 72 61 6c 73 3b 0a 24 73 6f 75 72 63 65 4c 69 74 65 72 61 6c 20 3d 20 61 72 72 61 79 literals;.$sourceLiteral.=.array
5bce0 5f 73 68 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 _shift($literals);.$sourcePackag
5bd00 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 61 67 e.=.$this->pool->literalToPackag
5bd20 65 28 24 73 6f 75 72 63 65 4c 69 74 65 72 61 6c 29 3b 0a 0a 24 72 65 71 75 69 72 65 73 20 3d 20 e($sourceLiteral);..$requires.=.
5bd40 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 72 61 6c 73 20 61 73 20 24 array();.foreach.($literals.as.$
5bd60 6c 69 74 65 72 61 6c 29 20 7b 0a 24 72 65 71 75 69 72 65 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e literal).{.$requires[].=.$this->
5bd80 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)
5bda0 3b 0a 7d 0a 0a 24 74 65 78 74 20 3d 20 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 44 61 74 61 2d 3e ;.}..$text.=.$this->reasonData->
5bdc0 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 73 6f 75 72 63 65 50 61 63 6b 61 67 65 29 3b getPrettyString($sourcePackage);
5bde0 0a 69 66 20 28 24 72 65 71 75 69 72 65 73 29 20 7b 0a 24 74 65 78 74 20 2e 3d 20 27 20 2d 3e 20 .if.($requires).{.$text..=.'.->.
5be00 73 61 74 69 73 66 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 satisfiable.by.'...$this->format
5be20 50 61 63 6b 61 67 65 73 55 6e 69 71 75 65 28 24 72 65 71 75 69 72 65 73 29 20 2e 20 27 2e 27 3b PackagesUnique($requires)...'.';
5be40 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 61 72 67 65 74 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 72 .}.else.{.$targetName.=.$this->r
5be60 65 61 73 6f 6e 44 61 74 61 2d 3e 67 65 74 54 61 72 67 65 74 28 29 3b 0a 0a 0a 20 69 66 20 28 30 easonData->getTarget();....if.(0
5be80 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 74 61 72 67 65 74 4e 61 6d 65 2c 20 27 65 78 74 2d 27 29 .===.strpos($targetName,.'ext-')
5bea0 29 20 7b 0a 24 65 78 74 20 3d 20 73 75 62 73 74 72 28 24 74 61 72 67 65 74 4e 61 6d 65 2c 20 34 ).{.$ext.=.substr($targetName,.4
5bec0 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 65 78 );.$error.=.extension_loaded($ex
5bee0 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 2e 70 t).?.'has.the.wrong.version.('.p
5bf00 68 70 76 65 72 73 69 6f 6e 28 24 65 78 74 29 2e 27 29 20 69 6e 73 74 61 6c 6c 65 64 27 20 3a 20 hpversion($ext).').installed'.:.
5bf20 27 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 'is.missing.from.your.system';..
5bf40 24 74 65 78 74 20 2e 3d 20 27 20 2d 3e 20 74 68 65 20 72 65 71 75 65 73 74 65 64 20 50 48 50 20 $text..=.'.->.the.requested.PHP.
5bf60 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 2e 27 2e 27 3b extension.'.$ext.'.'.$error.'.';
5bf80 0a 7d 20 65 6c 73 65 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 74 61 72 67 65 74 4e .}.elseif.(0.===.strpos($targetN
5bfa0 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 72 28 ame,.'lib-')).{...$lib.=.substr(
5bfc0 24 74 61 72 67 65 74 4e 61 6d 65 2c 20 34 29 3b 0a 0a 24 74 65 78 74 20 2e 3d 20 27 20 2d 3e 20 $targetName,.4);..$text..=.'.->.
5bfe0 74 68 65 20 72 65 71 75 65 73 74 65 64 20 6c 69 6e 6b 65 64 20 6c 69 62 72 61 72 79 20 27 2e 24 the.requested.linked.library.'.$
5c000 6c 69 62 2e 27 20 68 61 73 20 74 68 65 20 77 72 6f 6e 67 20 76 65 72 73 69 6f 6e 20 69 6e 73 74 lib.'.has.the.wrong.version.inst
5c020 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 79 6f 75 72 20 73 79 alled.or.is.missing.from.your.sy
5c040 73 74 65 6d 2c 20 6d 61 6b 65 20 73 75 72 65 20 74 6f 20 68 61 76 65 20 74 68 65 20 65 78 74 65 stem,.make.sure.to.have.the.exte
5c060 6e 73 69 6f 6e 20 70 72 6f 76 69 64 69 6e 67 20 69 74 2e 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 nsion.providing.it.';.}.else.{.$
5c080 74 65 78 74 20 2e 3d 20 27 20 2d 3e 20 6e 6f 20 6d 61 74 63 68 69 6e 67 20 70 61 63 6b 61 67 65 text..=.'.->.no.matching.package
5c0a0 20 66 6f 75 6e 64 2e 27 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 65 78 74 3b 0a 0a 63 61 .found.';.}.}..return.$text;..ca
5c0c0 73 65 20 73 65 6c 66 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 4f 42 53 4f 4c 45 54 45 53 3a se.self::RULE_PACKAGE_OBSOLETES:
5c0e0 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 3a 52 55 .return.$ruleText;.case.self::RU
5c100 4c 45 5f 49 4e 53 54 41 4c 4c 45 44 5f 50 41 43 4b 41 47 45 5f 4f 42 53 4f 4c 45 54 45 53 3a 0a LE_INSTALLED_PACKAGE_OBSOLETES:.
5c120 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 3a 52 55 4c return.$ruleText;.case.self::RUL
5c140 45 5f 50 41 43 4b 41 47 45 5f 53 41 4d 45 5f 4e 41 4d 45 3a 0a 72 65 74 75 72 6e 20 27 43 61 6e E_PACKAGE_SAME_NAME:.return.'Can
5c160 20 6f 6e 6c 79 20 69 6e 73 74 61 6c 6c 20 6f 6e 65 20 6f 66 3a 20 27 20 2e 20 24 74 68 69 73 2d .only.install.one.of:.'...$this-
5c180 3e 66 6f 72 6d 61 74 50 61 63 6b 61 67 65 73 55 6e 69 71 75 65 28 24 74 68 69 73 2d 3e 6c 69 74 >formatPackagesUnique($this->lit
5c1a0 65 72 61 6c 73 29 20 2e 20 27 2e 27 3b 0a 63 61 73 65 20 73 65 6c 66 3a 3a 52 55 4c 45 5f 50 41 erals)...'.';.case.self::RULE_PA
5c1c0 43 4b 41 47 45 5f 49 4d 50 4c 49 43 49 54 5f 4f 42 53 4f 4c 45 54 45 53 3a 0a 72 65 74 75 72 6e CKAGE_IMPLICIT_OBSOLETES:.return
5c1e0 20 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 4c 45 41 52 .$ruleText;.case.self::RULE_LEAR
5c200 4e 45 44 3a 0a 72 65 74 75 72 6e 20 27 43 6f 6e 63 6c 75 73 69 6f 6e 3a 20 27 2e 24 72 75 6c 65 NED:.return.'Conclusion:.'.$rule
5c220 54 65 78 74 3b 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 41 4c Text;.case.self::RULE_PACKAGE_AL
5c240 49 41 53 3a 0a 72 65 74 75 72 6e 20 24 72 75 6c 65 54 65 78 74 3b 0a 7d 0a 7d 0a 0a 70 72 6f 74 IAS:.return.$ruleText;.}.}..prot
5c260 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 50 61 63 6b 61 67 65 73 55 6e 69 ected.function.formatPackagesUni
5c280 71 75 65 28 61 72 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 que(array.$packages).{.$prepared
5c2a0 20 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 73 20 61 .=.array();.foreach.($packages.a
5c2c0 73 20 24 70 61 63 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 s.$package).{.if.(!is_object($pa
5c2e0 63 6b 61 67 65 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c ckage)).{.$package.=.$this->pool
5c300 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a ->literalToPackage($package);.}.
5c320 24 70 72 65 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 $prepared[$package->getName()]['
5c340 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 65 name'].=.$package->getPrettyName
5c360 28 29 3b 0a 24 70 72 65 70 61 72 65 64 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 ();.$prepared[$package->getName(
5c380 29 5d 5b 27 76 65 72 73 69 6f 6e 73 27 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 )]['versions'][$package->getVers
5c3a0 69 6f 6e 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 56 65 72 73 ion()].=.$package->getPrettyVers
5c3c0 69 6f 6e 28 29 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 70 72 65 70 61 72 65 64 20 61 73 20 24 ion();.}.foreach.($prepared.as.$
5c3e0 6e 61 6d 65 20 3d 3e 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 70 72 65 70 61 72 65 64 5b 24 6e name.=>.$package).{.$prepared[$n
5c400 61 6d 65 5d 20 3d 20 24 70 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 2e 27 5b 27 2e 69 6d 70 6c ame].=.$package['name'].'['.impl
5c420 6f 64 65 28 27 2c 20 27 2c 20 24 70 61 63 6b 61 67 65 5b 27 76 65 72 73 69 6f 6e 73 27 5d 29 2e ode(',.',.$package['versions']).
5c440 27 5d 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 70 72 ']';.}..return.implode(',.',.$pr
5c460 65 70 61 72 65 64 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 epared);.}.......public.function
5c480 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 28 24 74 68 69 73 .__toString().{.$result.=.($this
5c4a0 2d 3e 69 73 44 69 73 61 62 6c 65 64 28 29 29 20 3f 20 27 64 69 73 61 62 6c 65 64 28 27 20 3a 20 ->isDisabled()).?.'disabled('.:.
5c4c0 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 73 20 61 '(';..foreach.($this->literals.a
5c4e0 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 20 30 29 s.$i.=>.$literal).{.if.($i.!=.0)
5c500 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 2e 3d 20 .{.$result..=.'|';.}.$result..=.
5c520 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 53 74 72 69 6e 67 28 24 6c 69 $this->pool->literalToString($li
5c540 74 65 72 61 6c 29 3b 0a 7d 0a 0a 24 72 65 73 75 6c 74 20 2e 3d 20 27 29 27 3b 0a 0a 72 65 74 75 teral);.}..$result..=.')';..retu
5c560 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 0a 0a 0a 0a 0a rn.$result;.}.}.<?php...........
5c580 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 6e 63 79 52 65 .namespace.Composer\DependencyRe
5c5a0 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 61 67 65 5c 50 61 solver;..use.Composer\Package\Pa
5c5c0 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 50 61 63 ckageInterface;.use.Composer\Pac
5c5e0 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 52 75 6c kage\AliasPackage;.....class.Rul
5c600 65 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 eSetGenerator.{.protected.$polic
5c620 79 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 y;.protected.$pool;.protected.$r
5c640 75 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 ules;.protected.$jobs;.protected
5c660 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e .$installedMap;..public.function
5c680 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 61 63 65 20 24 70 6f .__construct(PolicyInterface.$po
5c6a0 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 2d 3e 70 6f 6c 69 63 licy,.Pool.$pool).{.$this->polic
5c6c0 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 3d 20 24 70 6f 6f 6c y.=.$policy;.$this->pool.=.$pool
5c6e0 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
5c700 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 61 63 6b 61 67 65 49 ction.createRequireRule(PackageI
5c720 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 24 70 72 6f 76 69 64 nterface.$package,.array.$provid
5c740 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 20 3d 20 6e 75 6c 6c ers,.$reason,.$reasonData.=.null
5c760 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 61 63 6b 61 67 65 2d ).{.$literals.=.array(-$package-
5c780 3e 67 65 74 49 64 28 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 72 6f 76 69 64 65 72 73 20 >getId());..foreach.($providers.
5c7a0 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 72 20 as.$provider).{...if.($provider.
5c7c0 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 0a 24 ===.$package).{.return.null;.}.$
5c7e0 6c 69 74 65 72 61 6c 73 5b 5d 20 3d 20 24 70 72 6f 76 69 64 65 72 2d 3e 67 65 74 49 64 28 29 3b literals[].=.$provider->getId();
5c800 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 52 75 6c 65 28 24 74 68 69 73 2d 3e 70 6f 6f 6c 2c .}..return.new.Rule($this->pool,
5c820 20 24 6c 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 .$literals,.$reason,.$reasonData
5c840 29 3b 0a 7d 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 );.}..............protected.func
5c860 74 69 6f 6e 20 63 72 65 61 74 65 49 6e 73 74 61 6c 6c 4f 6e 65 4f 66 52 75 6c 65 28 61 72 72 61 tion.createInstallOneOfRule(arra
5c880 79 20 24 70 61 63 6b 61 67 65 73 2c 20 24 72 65 61 73 6f 6e 2c 20 24 6a 6f 62 29 0a 7b 0a 24 6c y.$packages,.$reason,.$job).{.$l
5c8a0 69 74 65 72 61 6c 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 63 iterals.=.array();.foreach.($pac
5c8c0 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 6c 69 74 65 72 61 6c 73 5b 5d kages.as.$package).{.$literals[]
5c8e0 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 64 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 .=.$package->getId();.}..return.
5c900 6e 65 77 20 52 75 6c 65 28 24 74 68 69 73 2d 3e 70 6f 6f 6c 2c 20 24 6c 69 74 65 72 61 6c 73 2c new.Rule($this->pool,.$literals,
5c920 20 24 72 65 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 .$reason,.$job['packageName'],.$
5c940 6a 6f 62 29 3b 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 75 job);.}.............protected.fu
5c960 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 52 65 6d 6f 76 65 52 75 6c 65 28 50 61 63 6b 61 67 65 49 nction.createRemoveRule(PackageI
5c980 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 2c 20 24 6a 6f 62 nterface.$package,.$reason,.$job
5c9a0 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 52 75 6c 65 28 24 74 68 69 73 2d 3e 70 6f 6f 6c 2c ).{.return.new.Rule($this->pool,
5c9c0 20 61 72 72 61 79 28 2d 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 64 28 29 29 2c 20 24 72 65 61 .array(-$package->getId()),.$rea
5c9e0 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 3b son,.$job['packageName'],.$job);
5ca00 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 63 .}................protected.func
5ca20 74 69 6f 6e 20 63 72 65 61 74 65 43 6f 6e 66 6c 69 63 74 52 75 6c 65 28 50 61 63 6b 61 67 65 49 tion.createConflictRule(PackageI
5ca40 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 66 61 nterface.$issuer,.PackageInterfa
5ca60 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 44 61 ce.$provider,.$reason,.$reasonDa
5ca80 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 20 24 ta.=.null).{...if.($issuer.===.$
5caa0 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 74 75 provider).{.return.null;.}..retu
5cac0 72 6e 20 6e 65 77 20 52 75 6c 65 28 24 74 68 69 73 2d 3e 70 6f 6f 6c 2c 20 61 72 72 61 79 28 2d rn.new.Rule($this->pool,.array(-
5cae0 24 69 73 73 75 65 72 2d 3e 67 65 74 49 64 28 29 2c 20 2d 24 70 72 6f 76 69 64 65 72 2d 3e 67 65 $issuer->getId(),.-$provider->ge
5cb00 74 49 64 28 29 29 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 tId()),.$reason,.$reasonData);.}
5cb20 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 64 64 52 ...........private.function.addR
5cb40 75 6c 65 28 24 74 79 70 65 2c 20 52 75 6c 65 20 24 6e 65 77 52 75 6c 65 20 3d 20 6e 75 6c 6c 29 ule($type,.Rule.$newRule.=.null)
5cb60 0a 7b 0a 69 66 20 28 21 24 6e 65 77 52 75 6c 65 20 7c 7c 20 24 74 68 69 73 2d 3e 72 75 6c 65 73 .{.if.(!$newRule.||.$this->rules
5cb80 2d 3e 63 6f 6e 74 61 69 6e 73 45 71 75 61 6c 28 24 6e 65 77 52 75 6c 65 29 29 20 7b 0a 72 65 74 ->containsEqual($newRule)).{.ret
5cba0 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 65 77 52 75 urn;.}..$this->rules->add($newRu
5cbc0 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 63 74 69 6f le,.$type);.}..protected.functio
5cbe0 6e 20 61 64 64 52 75 6c 65 73 46 6f 72 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 n.addRulesForPackage(PackageInte
5cc00 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 75 65 20 3d 20 6e rface.$package).{.$workQueue.=.n
5cc20 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 65 6e 71 75 65 75 ew.\SplQueue;.$workQueue->enqueu
5cc40 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 6b 51 75 65 75 65 e($package);..while.(!$workQueue
5cc60 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 77 6f 72 6b 51 ->isEmpty()).{.$package.=.$workQ
5cc80 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 28 24 74 68 69 73 ueue->dequeue();.if.(isset($this
5cca0 2d 3e 61 64 64 65 64 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 64 28 29 5d 29 29 20 ->addedMap[$package->getId()])).
5ccc0 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 64 4d 61 70 5b 24 {.continue;.}..$this->addedMap[$
5cce0 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 64 28 29 5d 20 3d 20 74 72 75 65 3b 0a 0a 66 6f 72 65 61 package->getId()].=.true;..forea
5cd00 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 24 ch.($package->getRequires().as.$
5cd20 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 68 69 link).{.$possibleRequires.=.$thi
5cd40 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 65 74 s->pool->whatProvides($link->get
5cd60 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 29 Target(),.$link->getConstraint()
5cd80 29 3b 0a 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 );..$this->addRule(RuleSet::TYPE
5cda0 5f 50 41 43 4b 41 47 45 2c 20 24 72 75 6c 65 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 52 _PACKAGE,.$rule.=.$this->createR
5cdc0 65 71 75 69 72 65 52 75 6c 65 28 24 70 61 63 6b 61 67 65 2c 20 24 70 6f 73 73 69 62 6c 65 52 65 equireRule($package,.$possibleRe
5cde0 71 75 69 72 65 73 2c 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 quires,.Rule::RULE_PACKAGE_REQUI
5ce00 52 45 53 2c 20 24 6c 69 6e 6b 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 6f 73 73 69 62 6c RES,.$link));..foreach.($possibl
5ce20 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 6b 51 75 eRequires.as.$require).{.$workQu
5ce40 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 66 6f 72 eue->enqueue($require);.}.}..for
5ce60 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 74 73 28 29 20 61 each.($package->getConflicts().a
5ce80 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 70 6f 73 73 69 62 6c 65 43 6f 6e 66 6c 69 63 74 73 20 3d 20 s.$link).{.$possibleConflicts.=.
5cea0 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 69 6e 6b 2d $this->pool->whatProvides($link-
5cec0 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 61 69 >getTarget(),.$link->getConstrai
5cee0 6e 74 28 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 6f 73 73 69 62 6c 65 43 6f 6e 66 6c 69 nt());..foreach.($possibleConfli
5cf00 63 74 73 20 61 73 20 24 63 6f 6e 66 6c 69 63 74 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 52 75 cts.as.$conflict).{.$this->addRu
5cf20 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 2d le(RuleSet::TYPE_PACKAGE,.$this-
5cf40 3e 63 72 65 61 74 65 43 6f 6e 66 6c 69 63 74 52 75 6c 65 28 24 70 61 63 6b 61 67 65 2c 20 24 63 >createConflictRule($package,.$c
5cf60 6f 6e 66 6c 69 63 74 2c 20 52 75 6c 65 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 43 4f 4e 46 onflict,.Rule::RULE_PACKAGE_CONF
5cf80 4c 49 43 54 2c 20 24 6c 69 6e 6b 29 29 3b 0a 7d 0a 7d 0a 0a 0a 20 24 69 73 49 6e 73 74 61 6c 6c LICT,.$link));.}.}....$isInstall
5cfa0 65 64 20 3d 20 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 ed.=.(isset($this->installedMap[
5cfc0 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 64 28 29 5d 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 $package->getId()]));..foreach.(
5cfe0 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 73 28 29 20 61 73 20 24 6c 69 6e 6b $package->getReplaces().as.$link
5d000 29 20 7b 0a 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 ).{.$obsoleteProviders.=.$this->
5d020 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
5d040 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());.
5d060 0a 66 6f 72 65 61 63 68 20 28 24 6f 62 73 6f 6c 65 74 65 50 72 6f 76 69 64 65 72 73 20 61 73 20 .foreach.($obsoleteProviders.as.
5d080 24 70 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 $provider).{.if.($provider.===.$
5d0a0 70 61 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 package).{.continue;.}..if.(!$th
5d0c0 69 73 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 is->obsoleteImpossibleForAlias($
5d0e0 70 61 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 package,.$provider)).{.$reason.=
5d100 20 28 24 69 73 49 6e 73 74 61 6c 6c 65 64 29 20 3f 20 52 75 6c 65 3a 3a 52 55 4c 45 5f 49 4e 53 .($isInstalled).?.Rule::RULE_INS
5d120 54 41 4c 4c 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 TALLED_PACKAGE_OBSOLETES.:.Rule:
5d140 3a 52 55 4c 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 :RULE_PACKAGE_OBSOLETES;.$this->
5d160 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 2c 20 24 addRule(RuleSet::TYPE_PACKAGE,.$
5d180 74 68 69 73 2d 3e 63 72 65 61 74 65 43 6f 6e 66 6c 69 63 74 52 75 6c 65 28 24 70 61 63 6b 61 67 this->createConflictRule($packag
5d1a0 65 2c 20 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 e,.$provider,.$reason,.$link));.
5d1c0 7d 0a 7d 0a 7d 0a 0a 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 }.}.}..$obsoleteProviders.=.$thi
5d1e0 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 6b 61 67 65 2d 3e s->pool->whatProvides($package->
5d200 67 65 74 4e 61 6d 65 28 29 2c 20 6e 75 6c 6c 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6f 62 73 getName(),.null);..foreach.($obs
5d220 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 7b 0a 69 oleteProviders.as.$provider).{.i
5d240 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 63 6f 6e f.($provider.===.$package).{.con
5d260 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 6e 63 65 tinue;.}..if.(($package.instance
5d280 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 3e 67 65 of.AliasPackage).&&.$package->ge
5d2a0 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 74 68 69 tAliasOf().===.$provider).{.$thi
5d2c0 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
5d2e0 2c 20 24 72 75 6c 65 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 52 65 71 75 69 72 65 52 75 ,.$rule.=.$this->createRequireRu
5d300 6c 65 28 24 70 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 le($package,.array($provider),.R
5d320 75 6c 65 3a 3a 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 ule::RULE_PACKAGE_ALIAS,.$packag
5d340 65 29 29 3b 0a 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 e));.}.elseif.(!$this->obsoleteI
5d360 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 24 70 72 6f mpossibleForAlias($package,.$pro
5d380 76 69 64 65 72 29 29 20 7b 0a 24 72 65 61 73 6f 6e 20 3d 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 vider)).{.$reason.=.($package->g
5d3a0 65 74 4e 61 6d 65 28 29 20 3d 3d 20 24 70 72 6f 76 69 64 65 72 2d 3e 67 65 74 4e 61 6d 65 28 29 etName().==.$provider->getName()
5d3c0 29 20 3f 20 52 75 6c 65 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 53 41 4d 45 5f 4e 41 4d 45 ).?.Rule::RULE_PACKAGE_SAME_NAME
5d3e0 20 3a 20 52 75 6c 65 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 .:.Rule::RULE_PACKAGE_IMPLICIT_O
5d400 42 53 4f 4c 45 54 45 53 3b 0a 24 74 68 69 73 2d 3e 61 64 64 52 75 6c 65 28 52 75 6c 65 53 65 74 BSOLETES;.$this->addRule(RuleSet
5d420 3a 3a 54 59 50 45 5f 50 41 43 4b 41 47 45 2c 20 24 72 75 6c 65 20 3d 20 24 74 68 69 73 2d 3e 63 ::TYPE_PACKAGE,.$rule.=.$this->c
5d440 72 65 61 74 65 43 6f 6e 66 6c 69 63 74 52 75 6c 65 28 24 70 61 63 6b 61 67 65 2c 20 24 70 72 6f reateConflictRule($package,.$pro
5d460 76 69 64 65 72 2c 20 24 72 65 61 73 6f 6e 2c 20 24 70 61 63 6b 61 67 65 29 29 3b 0a 7d 0a 7d 0a vider,.$reason,.$package));.}.}.
5d480 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 65 74 65 }.}..protected.function.obsolete
5d4a0 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 24 70 72 ImpossibleForAlias($package,.$pr
5d4c0 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 70 61 63 ovider).{.$packageIsAlias.=.$pac
5d4e0 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 0a 24 70 kage.instanceof.AliasPackage;.$p
5d500 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 73 74 61 roviderIsAlias.=.$provider.insta
5d520 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 62 6c 65 nceof.AliasPackage;..$impossible
5d540 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 6b 61 67 .=.(.($packageIsAlias.&&.$packag
5d560 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 29 20 7c e->getAliasOf().===.$provider).|
5d580 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 64 65 72 |.($providerIsAlias.&&.$provider
5d5a0 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 7c 7c 0a ->getAliasOf().===.$package).||.
5d5c0 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 49 73 41 ($packageIsAlias.&&.$providerIsA
5d5e0 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 28 29 20 lias.&&.$provider->getAliasOf().
5d600 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 3b 0a 0a ===.$package->getAliasOf()).);..
5d620 72 65 74 75 72 6e 20 24 69 6d 70 6f 73 73 69 62 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 return.$impossible;.}........pri
5d640 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 75 6c 65 73 46 6f 72 55 70 64 61 74 65 50 vate.function.addRulesForUpdateP
5d660 61 63 6b 61 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 ackages(PackageInterface.$packag
5d680 65 29 0a 7b 0a 24 75 70 64 61 74 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6c 69 63 79 2d 3e 66 e).{.$updates.=.$this->policy->f
5d6a0 69 6e 64 55 70 64 61 74 65 50 61 63 6b 61 67 65 73 28 24 74 68 69 73 2d 3e 70 6f 6f 6c 2c 20 24 indUpdatePackages($this->pool,.$
5d6c0 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 24 70 61 63 6b 61 67 65 29 3b 0a 0a this->installedMap,.$package);..
5d6e0 66 6f 72 65 61 63 68 20 28 24 75 70 64 61 74 65 73 20 61 73 20 24 75 70 64 61 74 65 29 20 7b 0a foreach.($updates.as.$update).{.
5d700 24 74 68 69 73 2d 3e 61 64 64 52 75 6c 65 73 46 6f 72 50 61 63 6b 61 67 65 28 24 75 70 64 61 74 $this->addRulesForPackage($updat
5d720 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 61 64 64 52 e);.}.}..protected.function.addR
5d740 75 6c 65 73 46 6f 72 4a 6f 62 73 28 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e ulesForJobs().{.foreach.($this->
5d760 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 27 63 6d jobs.as.$job).{.switch.($job['cm
5d780 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 24 6a 6f 62 5b d']).{.case.'install':.if.($job[
5d7a0 27 70 61 63 6b 61 67 65 73 27 5d 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 6a 6f 62 5b 27 70 61 'packages']).{.foreach.($job['pa
5d7c0 63 6b 61 67 65 73 27 5d 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 21 69 73 73 ckages'].as.$package).{.if.(!iss
5d7e0 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-
5d800 3e 67 65 74 49 64 28 29 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 52 75 6c 65 73 46 6f 72 >getId()])).{.$this->addRulesFor
5d820 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 24 72 75 6c 65 20 3d 20 Package($package);.}.}..$rule.=.
5d840 24 74 68 69 73 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 6a $this->createInstallOneOfRule($j
5d860 6f 62 5b 27 70 61 63 6b 61 67 65 73 27 5d 2c 20 52 75 6c 65 3a 3a 52 55 4c 45 5f 4a 4f 42 5f 49 ob['packages'],.Rule::RULE_JOB_I
5d880 4e 53 54 41 4c 4c 2c 20 24 6a 6f 62 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 52 75 6c 65 28 52 75 NSTALL,.$job);.$this->addRule(Ru
5d8a0 6c 65 53 65 74 3a 3a 54 59 50 45 5f 4a 4f 42 2c 20 24 72 75 6c 65 29 3b 0a 7d 0a 62 72 65 61 6b leSet::TYPE_JOB,.$rule);.}.break
5d8c0 3b 0a 63 61 73 65 20 27 72 65 6d 6f 76 65 27 3a 0a 0a 20 0a 20 66 6f 72 65 61 63 68 20 28 24 6a ;.case.'remove':.....foreach.($j
5d8e0 6f 62 5b 27 70 61 63 6b 61 67 65 73 27 5d 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 72 ob['packages'].as.$package).{.$r
5d900 75 6c 65 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 ule.=.$this->createRemoveRule($p
5d920 61 63 6b 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 ackage,.Rule::RULE_JOB_REMOVE,.$
5d940 6a 6f 62 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 job);.$this->addRule(RuleSet::TY
5d960 50 45 5f 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 PE_JOB,.$rule);.}.break;.}.}.}..
5d980 70 75 62 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 public.function.getRulesFor($job
5d9a0 73 2c 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 29 0a 7b 0a 24 74 68 69 73 2d 3e 6a 6f 62 73 20 s,.$installedMap).{.$this->jobs.
5d9c0 3d 20 24 6a 6f 62 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 =.$jobs;.$this->rules.=.new.Rule
5d9e0 53 65 74 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 73 74 Set;.$this->installedMap.=.$inst
5da00 61 6c 6c 65 64 4d 61 70 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 alledMap;..foreach.($this->insta
5da20 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 73 2d 3e 61 64 lledMap.as.$package).{.$this->ad
5da40 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 29 3b 0a 24 74 68 69 dRulesForPackage($package);.$thi
5da60 73 2d 3e 61 64 64 52 75 6c 65 73 46 6f 72 55 70 64 61 74 65 50 61 63 6b 61 67 65 73 28 24 70 61 s->addRulesForUpdatePackages($pa
5da80 63 6b 61 67 65 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 64 64 52 75 6c 65 73 46 6f 72 4a 6f 62 ckage);.}..$this->addRulesForJob
5daa0 73 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 75 6c 65 73 3b 0a 7d 0a 7d 0a 3c s();..return.$this->rules;.}.}.<
5dac0 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
5dae0 65 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 63 6c 61 73 73 er\DependencyResolver;.....class
5db00 20 44 65 62 75 67 53 6f 6c 76 65 72 20 65 78 74 65 6e 64 73 20 53 6f 6c 76 65 72 0a 7b 0a 70 72 .DebugSolver.extends.Solver.{.pr
5db20 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 69 6e 74 44 65 63 69 73 69 6f 6e 4d 61 otected.function.printDecisionMa
5db40 70 28 29 0a 7b 0a 65 63 68 6f 20 22 5c 6e 44 65 63 69 73 69 6f 6e 4d 61 70 3a 20 5c 6e 22 3b 0a p().{.echo."\nDecisionMap:.\n";.
5db60 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 20 61 73 20 24 foreach.($this->decisionMap.as.$
5db80 70 61 63 6b 61 67 65 49 64 20 3d 3e 20 24 6c 65 76 65 6c 29 20 7b 0a 69 66 20 28 24 70 61 63 6b packageId.=>.$level).{.if.($pack
5dba0 61 67 65 49 64 20 3d 3d 3d 20 30 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 69 66 20 28 24 ageId.===.0).{.continue;.}.if.($
5dbc0 6c 65 76 65 6c 20 3e 20 30 29 20 7b 0a 65 63 68 6f 20 27 20 20 20 20 2b 27 20 2e 20 24 74 68 69 level.>.0).{.echo.'....+'...$thi
5dbe0 73 2d 3e 70 6f 6f 6c 2d 3e 70 61 63 6b 61 67 65 42 79 49 64 28 24 70 61 63 6b 61 67 65 49 64 29 s->pool->packageById($packageId)
5dc00 2e 22 5c 6e 22 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6c 65 76 65 6c 20 3c 20 30 29 20 7b 0a 65 ."\n";.}.elseif.($level.<.0).{.e
5dc20 63 68 6f 20 27 20 20 20 20 2d 27 20 2e 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 70 61 63 6b 61 cho.'....-'...$this->pool->packa
5dc40 67 65 42 79 49 64 28 24 70 61 63 6b 61 67 65 49 64 29 2e 22 5c 6e 22 3b 0a 7d 20 65 6c 73 65 20 geById($packageId)."\n";.}.else.
5dc60 7b 0a 65 63 68 6f 20 27 20 20 20 20 3f 27 20 2e 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 70 61 {.echo.'....?'...$this->pool->pa
5dc80 63 6b 61 67 65 42 79 49 64 28 24 70 61 63 6b 61 67 65 49 64 29 2e 22 5c 6e 22 3b 0a 7d 0a 7d 0a ckageById($packageId)."\n";.}.}.
5dca0 65 63 68 6f 20 22 5c 6e 22 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e echo."\n";.}..protected.function
5dcc0 20 70 72 69 6e 74 44 65 63 69 73 69 6f 6e 51 75 65 75 65 28 29 0a 7b 0a 65 63 68 6f 20 22 44 65 .printDecisionQueue().{.echo."De
5dce0 63 69 73 69 6f 6e 51 75 65 75 65 3a 20 5c 6e 22 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 cisionQueue:.\n";.foreach.($this
5dd00 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 24 6c 69 74 65 72 61 ->decisionQueue.as.$i.=>.$litera
5dd20 6c 29 20 7b 0a 65 63 68 6f 20 27 20 20 20 20 27 20 2e 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e l).{.echo.'....'...$this->pool->
5dd40 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 20 2e 20 27 20 27 20 literalToString($literal)...'.'.
5dd60 2e 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 57 68 79 5b 24 69 5d 2e 22 20 ..$this->decisionQueueWhy[$i].".
5dd80 6c 65 76 65 6c 20 22 2e 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 61 62 73 28 24 level.".$this->decisionMap[abs($
5dda0 6c 69 74 65 72 61 6c 29 5d 2e 22 5c 6e 22 3b 0a 7d 0a 65 63 68 6f 20 22 5c 6e 22 3b 0a 7d 0a 0a literal)]."\n";.}.echo."\n";.}..
5ddc0 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 69 6e 74 57 61 74 63 68 65 73 28 protected.function.printWatches(
5dde0 29 0a 7b 0a 65 63 68 6f 20 22 5c 6e 57 61 74 63 68 65 73 3a 5c 6e 22 3b 0a 66 6f 72 65 61 63 68 ).{.echo."\nWatches:\n";.foreach
5de00 20 28 24 74 68 69 73 2d 3e 77 61 74 63 68 65 73 20 61 73 20 24 6c 69 74 65 72 61 6c 49 64 20 3d .($this->watches.as.$literalId.=
5de20 3e 20 24 77 61 74 63 68 29 20 7b 0a 65 63 68 6f 20 27 20 20 27 2e 24 74 68 69 73 2d 3e 6c 69 74 >.$watch).{.echo.'..'.$this->lit
5de40 65 72 61 6c 46 72 6f 6d 49 64 28 24 6c 69 74 65 72 61 6c 49 64 29 2e 22 5c 6e 22 3b 0a 24 71 75 eralFromId($literalId)."\n";.$qu
5de60 65 75 65 20 3d 20 61 72 72 61 79 28 61 72 72 61 79 28 27 20 20 20 20 27 2c 20 24 77 61 74 63 68 eue.=.array(array('....',.$watch
5de80 29 29 3b 0a 0a 77 68 69 6c 65 20 28 21 65 6d 70 74 79 28 24 71 75 65 75 65 29 29 20 7b 0a 6c 69 ));..while.(!empty($queue)).{.li
5dea0 73 74 28 24 69 6e 64 65 6e 74 2c 20 24 77 61 74 63 68 29 20 3d 20 61 72 72 61 79 5f 70 6f 70 28 st($indent,.$watch).=.array_pop(
5dec0 24 71 75 65 75 65 29 3b 0a 0a 65 63 68 6f 20 24 69 6e 64 65 6e 74 2e 24 77 61 74 63 68 3b 0a 0a $queue);..echo.$indent.$watch;..
5dee0 69 66 20 28 24 77 61 74 63 68 29 20 7b 0a 65 63 68 6f 20 27 20 5b 69 64 3d 27 2e 24 77 61 74 63 if.($watch).{.echo.'.[id='.$watc
5df00 68 2d 3e 67 65 74 49 64 28 29 2e 27 2c 77 61 74 63 68 31 3d 27 2e 24 74 68 69 73 2d 3e 6c 69 74 h->getId().',watch1='.$this->lit
5df20 65 72 61 6c 46 72 6f 6d 49 64 28 24 77 61 74 63 68 2d 3e 77 61 74 63 68 31 29 2e 27 2c 77 61 74 eralFromId($watch->watch1).',wat
5df40 63 68 32 3d 27 2e 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 46 72 6f 6d 49 64 28 24 77 61 74 63 ch2='.$this->literalFromId($watc
5df60 68 2d 3e 77 61 74 63 68 32 29 2e 22 5d 22 3b 0a 7d 0a 0a 65 63 68 6f 20 22 5c 6e 22 3b 0a 0a 69 h->watch2)."]";.}..echo."\n";..i
5df80 66 20 28 24 77 61 74 63 68 20 26 26 20 28 24 77 61 74 63 68 2d 3e 6e 65 78 74 31 20 3d 3d 20 24 f.($watch.&&.($watch->next1.==.$
5dfa0 77 61 74 63 68 20 7c 7c 20 24 77 61 74 63 68 2d 3e 6e 65 78 74 32 20 3d 3d 20 24 77 61 74 63 68 watch.||.$watch->next2.==.$watch
5dfc0 29 29 20 7b 0a 69 66 20 28 24 77 61 74 63 68 2d 3e 6e 65 78 74 31 20 3d 3d 20 24 77 61 74 63 68 )).{.if.($watch->next1.==.$watch
5dfe0 29 20 7b 0a 65 63 68 6f 20 24 69 6e 64 65 6e 74 2e 22 20 20 20 20 31 20 2a 52 45 43 55 52 53 49 ).{.echo.$indent."....1.*RECURSI
5e000 4f 4e 2a 22 3b 0a 7d 0a 69 66 20 28 24 77 61 74 63 68 2d 3e 6e 65 78 74 32 20 3d 3d 20 24 77 61 ON*";.}.if.($watch->next2.==.$wa
5e020 74 63 68 29 20 7b 0a 65 63 68 6f 20 24 69 6e 64 65 6e 74 2e 22 20 20 20 20 32 20 2a 52 45 43 55 tch).{.echo.$indent."....2.*RECU
5e040 52 53 49 4f 4e 2a 22 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 77 61 74 63 68 20 26 26 20 28 RSION*";.}.}.elseif.($watch.&&.(
5e060 24 77 61 74 63 68 2d 3e 6e 65 78 74 31 20 7c 7c 20 24 77 61 74 63 68 2d 3e 6e 65 78 74 32 29 29 $watch->next1.||.$watch->next2))
5e080 20 7b 0a 24 69 6e 64 65 6e 74 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 .{.$indent.=.str_replace(array('
5e0a0 31 27 2c 20 27 32 27 29 2c 20 27 20 27 2c 20 24 69 6e 64 65 6e 74 29 3b 0a 0a 61 72 72 61 79 5f 1',.'2'),.'.',.$indent);..array_
5e0c0 70 75 73 68 28 24 71 75 65 75 65 2c 20 61 72 72 61 79 28 24 69 6e 64 65 6e 74 2e 27 20 20 20 20 push($queue,.array($indent.'....
5e0e0 32 20 27 2c 20 24 77 61 74 63 68 2d 3e 6e 65 78 74 32 29 29 3b 0a 61 72 72 61 79 5f 70 75 73 68 2.',.$watch->next2));.array_push
5e100 28 24 71 75 65 75 65 2c 20 61 72 72 61 79 28 24 69 6e 64 65 6e 74 2e 27 20 20 20 20 31 20 27 2c ($queue,.array($indent.'....1.',
5e120 20 24 77 61 74 63 68 2d 3e 6e 65 78 74 31 29 29 3b 0a 7d 0a 7d 0a 0a 65 63 68 6f 20 22 5c 6e 22 .$watch->next1));.}.}..echo."\n"
5e140 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 70 61 ;.}.}.}.<?php............namespa
5e160 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;.
5e180 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 6d 70 6c 65 6d ....class.RuleSetIterator.implem
5e1a0 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 24 72 75 6c 65 ents.\Iterator.{.protected.$rule
5e1c0 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 63 74 65 64 20 s;.protected.$types;..protected.
5e1e0 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 63 75 72 72 65 $currentOffset;.protected.$curre
5e200 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 79 70 65 4f 66 ntType;.protected.$currentTypeOf
5e220 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 6e 73 74 72 75 fset;..public.function.__constru
5e240 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 75 6c 65 73 20 ct(array.$rules).{.$this->rules.
5e260 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 72 61 79 5f 6b =.$rules;.$this->types.=.array_k
5e280 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 70 65 73 29 3b eys($rules);.sort($this->types);
5e2a0 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 63 20 66 75 6e ..$this->rewind();.}..public.fun
5e2c0 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 68 69 73 2d 3e ction.current().{.return.$this->
5e2e0 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 74 68 69 73 2d rules[$this->currentType][$this-
5e300 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 66 75 6e 63 74 >currentOffset];.}..public.funct
5e320 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 75 72 72 65 6e ion.key().{.return.$this->curren
5e340 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 65 78 74 28 29 tType;.}..public.function.next()
5e360 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 0a 69 66 20 28 .{.$this->currentOffset++;..if.(
5e380 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 63 75 72 72 65 !isset($this->rules[$this->curre
5e3a0 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 24 74 68 69 73 ntType])).{.return;.}..if.($this
5e3c0 2d 3e 63 75 72 72 65 6e 74 4f 66 66 73 65 74 20 3e 3d 20 73 69 7a 65 6f 66 28 24 74 68 69 73 2d ->currentOffset.>=.sizeof($this-
5e3e0 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 20 7b 0a 24 >rules[$this->currentType])).{.$
5e400 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 20 7b 0a 24 this->currentOffset.=.0;..do.{.$
5e420 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 69 66 20 28 this->currentTypeOffset++;..if.(
5e440 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 75 72 72 65 !isset($this->types[$this->curre
5e460 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 72 65 6e 74 ntTypeOffset])).{.$this->current
5e480 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 63 75 72 72 Type.=.-1;.break;.}..$this->curr
5e4a0 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 2d 3e 63 75 entType.=.$this->types[$this->cu
5e4c0 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 73 73 65 74 rrentTypeOffset];.}.while.(isset
5e4e0 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 54 79 70 65 ($this->types[$this->currentType
5e500 4f 66 66 73 65 74 5d 29 20 26 26 20 21 73 69 7a 65 6f 66 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 Offset]).&&.!sizeof($this->rules
5e520 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 70 75 62 [$this->currentType]));.}.}..pub
5e540 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 2d 3e 63 lic.function.rewind().{.$this->c
5e560 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 72 65 6e urrentOffset.=.0;..$this->curren
5e580 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 65 6e 74 tTypeOffset.=.-1;.$this->current
5e5a0 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 6e 74 54 Type.=.-1;..do.{.$this->currentT
5e5c0 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 73 2d 3e ypeOffset++;..if.(!isset($this->
5e5e0 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 74 5d 29 types[$this->currentTypeOffset])
5e600 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 62 72 65 ).{.$this->currentType.=.-1;.bre
5e620 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 74 68 69 ak;.}..$this->currentType.=.$thi
5e640 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
5e660 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 65 73 5b t];.}.while.(isset($this->types[
5e680 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 20 21 73 $this->currentTypeOffset]).&&.!s
5e6a0 69 7a 65 6f 66 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 izeof($this->rules[$this->curren
5e6c0 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 61 6c tType]));.}..public.function.val
5e6e0 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 65 73 id().{.return.isset($this->rules
5e700 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 28 24 [$this->currentType]).&&.isset($
5e720 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 5d 5b this->rules[$this->currentType][
5e740 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 70 68 $this->currentOffset]);.}.}.<?ph
5e760 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\
5e780 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 6c 61 DependencyResolver;..........cla
5e7a0 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 44 6f ss.RuleWatchChain.extends.\SplDo
5e7c0 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 66 73 ublyLinkedList.{.protected.$offs
5e7e0 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 73 65 et.=.0;.......public.function.se
5e800 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 0a 66 ek($offset).{.$this->rewind();.f
5e820 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 2c 20 or.($i.=.0;.$i.<.$offset;.$i++,.
5e840 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 6c 69 $this->next());.}..........publi
5e860 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 3d 20 c.function.remove().{.$offset.=.
5e880 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 65 74 $this->key();.$this->offsetUnset
5e8a0 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 29 3b ($offset);.$this->seek($offset);
5e8c0 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.
5e8e0 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
5e900 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 79 e.Composer\Repository\Repository
5e920 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 6f 6c 76 65 72 0a 7b 0a 63 6f Interface;.....class.Solver.{.co
5e940 6e 73 74 20 42 52 41 4e 43 48 5f 4c 49 54 45 52 41 4c 53 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 42 nst.BRANCH_LITERALS.=.0;.const.B
5e960 52 41 4e 43 48 5f 4c 45 56 45 4c 20 3d 20 31 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 6f 6c RANCH_LEVEL.=.1;..protected.$pol
5e980 69 63 79 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 icy;.protected.$pool;.protected.
5e9a0 24 69 6e 73 74 61 6c 6c 65 64 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 75 6c 65 73 3b 0a 70 72 $installed;.protected.$rules;.pr
5e9c0 6f 74 65 63 74 65 64 20 24 72 75 6c 65 53 65 74 47 65 6e 65 72 61 74 6f 72 3b 0a 70 72 6f 74 65 otected.$ruleSetGenerator;.prote
5e9e0 63 74 65 64 20 24 75 70 64 61 74 65 41 6c 6c 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 61 64 64 cted.$updateAll;..protected.$add
5ea00 65 64 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 75 70 64 61 edMap.=.array();.protected.$upda
5ea20 74 65 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 77 61 74 63 teMap.=.array();.protected.$watc
5ea40 68 47 72 61 70 68 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 hGraph;.protected.$decisions;.pr
5ea60 6f 74 65 63 74 65 64 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 3b 0a 0a 70 72 6f 74 65 63 74 65 otected.$installedMap;..protecte
5ea80 64 20 24 70 72 6f 70 61 67 61 74 65 49 6e 64 65 78 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 72 d.$propagateIndex;.protected.$br
5eaa0 61 6e 63 68 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 70 72 6f anches.=.array();.protected.$pro
5eac0 62 6c 65 6d 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 65 61 72 blems.=.array();.protected.$lear
5eae0 6e 65 64 50 6f 6f 6c 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 nedPool.=.array();..public.funct
5eb00 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 61 63 65 20 ion.__construct(PolicyInterface.
5eb20 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 69 74 6f 72 79 49 $policy,.Pool.$pool,.RepositoryI
5eb40 6e 74 65 72 66 61 63 65 20 24 69 6e 73 74 61 6c 6c 65 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 6f nterface.$installed).{.$this->po
5eb60 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 3d 20 24 70 licy.=.$policy;.$this->pool.=.$p
5eb80 6f 6f 6c 3b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 20 3d 20 24 69 6e 73 74 61 6c 6c ool;.$this->installed.=.$install
5eba0 65 64 3b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 53 65 74 47 65 6e 65 72 61 74 6f 72 20 3d 20 6e 65 ed;.$this->ruleSetGenerator.=.ne
5ebc0 77 20 52 75 6c 65 53 65 74 47 65 6e 65 72 61 74 6f 72 28 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f w.RuleSetGenerator($policy,.$poo
5ebe0 6c 29 3b 0a 7d 0a 0a 0a 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6d 61 6b 65 41 73 l);.}....private.function.makeAs
5ec00 73 65 72 74 69 6f 6e 52 75 6c 65 44 65 63 69 73 69 6f 6e 73 28 29 0a 7b 0a 24 64 65 63 69 73 69 sertionRuleDecisions().{.$decisi
5ec20 6f 6e 53 74 61 72 74 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 onStart.=.count($this->decisions
5ec40 29 20 2d 20 31 3b 0a 0a 24 72 75 6c 65 73 43 6f 75 6e 74 20 3d 20 63 6f 75 6e 74 28 24 74 68 69 ).-.1;..$rulesCount.=.count($thi
5ec60 73 2d 3e 72 75 6c 65 73 29 3b 0a 66 6f 72 20 28 24 72 75 6c 65 49 6e 64 65 78 20 3d 20 30 3b 20 s->rules);.for.($ruleIndex.=.0;.
5ec80 24 72 75 6c 65 49 6e 64 65 78 20 3c 20 24 72 75 6c 65 73 43 6f 75 6e 74 3b 20 24 72 75 6c 65 49 $ruleIndex.<.$rulesCount;.$ruleI
5eca0 6e 64 65 78 2b 2b 29 20 7b 0a 24 72 75 6c 65 20 3d 20 24 74 68 69 73 2d 3e 72 75 6c 65 73 2d 3e ndex++).{.$rule.=.$this->rules->
5ecc0 72 75 6c 65 42 79 49 64 28 24 72 75 6c 65 49 6e 64 65 78 29 3b 0a 0a 69 66 20 28 21 24 72 75 6c ruleById($ruleIndex);..if.(!$rul
5ece0 65 2d 3e 69 73 41 73 73 65 72 74 69 6f 6e 28 29 20 7c 7c 20 24 72 75 6c 65 2d 3e 69 73 44 69 73 e->isAssertion().||.$rule->isDis
5ed00 61 62 6c 65 64 28 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6c 69 74 65 72 61 6c abled()).{.continue;.}..$literal
5ed20 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 0a 24 6c 69 74 65 72 s.=.$rule->getLiterals();.$liter
5ed40 61 6c 20 3d 20 24 6c 69 74 65 72 61 6c 73 5b 30 5d 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e al.=.$literals[0];..if.(!$this->
5ed60 64 65 63 69 73 69 6f 6e 73 2d 3e 64 65 63 69 64 65 64 28 61 62 73 28 24 6c 69 74 65 72 61 6c 29 decisions->decided(abs($literal)
5ed80 29 29 20 7b 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 )).{.$this->decisions->decide($l
5eda0 69 74 65 72 61 6c 2c 20 31 2c 20 24 72 75 6c 65 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a iteral,.1,.$rule);.continue;.}..
5edc0 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 6c if.($this->decisions->satisfy($l
5ede0 69 74 65 72 61 6c 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 52 75 iteral)).{.continue;.}....if.(Ru
5ee00 6c 65 53 65 74 3a 3a 54 59 50 45 5f 4c 45 41 52 4e 45 44 20 3d 3d 3d 20 24 72 75 6c 65 2d 3e 67 leSet::TYPE_LEARNED.===.$rule->g
5ee20 65 74 54 79 70 65 28 29 29 20 7b 0a 24 72 75 6c 65 2d 3e 64 69 73 61 62 6c 65 28 29 3b 0a 63 6f etType()).{.$rule->disable();.co
5ee40 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 63 6f 6e 66 6c 69 63 74 20 3d 20 24 74 68 69 73 2d 3e 64 65 ntinue;.}..$conflict.=.$this->de
5ee60 63 69 73 69 6f 6e 73 2d 3e 64 65 63 69 73 69 6f 6e 52 75 6c 65 28 24 6c 69 74 65 72 61 6c 29 3b cisions->decisionRule($literal);
5ee80 0a 0a 69 66 20 28 24 63 6f 6e 66 6c 69 63 74 20 26 26 20 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 ..if.($conflict.&&.RuleSet::TYPE
5eea0 5f 50 41 43 4b 41 47 45 20 3d 3d 3d 20 24 63 6f 6e 66 6c 69 63 74 2d 3e 67 65 74 54 79 70 65 28 _PACKAGE.===.$conflict->getType(
5eec0 29 29 20 7b 0a 0a 24 70 72 6f 62 6c 65 6d 20 3d 20 6e 65 77 20 50 72 6f 62 6c 65 6d 28 24 74 68 )).{..$problem.=.new.Problem($th
5eee0 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 52 75 6c 65 28 24 72 is->pool);..$problem->addRule($r
5ef00 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 63 6f 6e 66 6c 69 63 ule);.$problem->addRule($conflic
5ef20 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 28 24 72 75 6c 65 29 t);.$this->disableProblem($rule)
5ef40 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 6f 62 6c 65 6d 3b 0a ;.$this->problems[].=.$problem;.
5ef60 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 20 6e 65 77 20 50 72 continue;.}....$problem.=.new.Pr
5ef80 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 64 oblem($this->pool);.$problem->ad
5efa0 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 64 64 52 75 6c 65 28 dRule($rule);.$problem->addRule(
5efc0 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 28 24 74 68 69 73 2d $conflict);......foreach.($this-
5efe0 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 74 3a 3a >rules->getIteratorFor(RuleSet::
5f000 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 20 7b 0a 69 66 20 28 TYPE_JOB).as.$assertRule).{.if.(
5f020 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 20 7c 7c 20 21 24 61 $assertRule->isDisabled().||.!$a
5f040 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 20 7b 0a 63 6f 6e 74 ssertRule->isAssertion()).{.cont
5f060 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 61 6c 73 20 3d 20 24 inue;.}..$assertRuleLiterals.=.$
5f080 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 3b 0a 24 61 73 73 65 assertRule->getLiterals();.$asse
5f0a0 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 6c 65 4c 69 74 65 72 rtRuleLiteral.=.$assertRuleLiter
5f0c0 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 29 20 21 3d 3d 20 61 als[0];..if.(abs($literal).!==.a
5f0e0 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 0a 63 6f 6e 74 69 6e bs($assertRuleLiteral)).{.contin
5f100 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 24 61 73 73 65 72 74 ue;.}..$problem->addRule($assert
5f120 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 6c 65 6d 28 24 61 73 Rule);.$this->disableProblem($as
5f140 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 65 6d 73 5b 5d 20 3d sertRule);.}.$this->problems[].=
5f160 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 6f 6e 73 2d 3e 72 65 .$problem;..$this->decisions->re
5f180 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 74 29 3b 0a 24 72 75 setToOffset($decisionStart);.$ru
5f1a0 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 74 65 64 20 66 75 6e leIndex.=.-1;.}.}..protected.fun
5f1c0 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 0a 7b 0a 24 74 68 69 ction.setupInstalledMap().{.$thi
5f1e0 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 3b 0a 66 6f 72 65 61 s->installedMap.=.array();.forea
5f200 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 50 61 63 6b 61 67 65 ch.($this->installed->getPackage
5f220 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 3e 69 6e 73 74 61 6c s().as.$package).{.$this->instal
5f240 6c 65 64 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 64 28 29 5d 20 3d 20 24 70 61 63 ledMap[$package->getId()].=.$pac
5f260 6b 61 67 65 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 6a 6f 62 73 20 61 73 kage;.}..foreach.($this->jobs.as
5f280 20 24 6a 6f 62 29 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 .$job).{.switch.($job['cmd']).{.
5f2a0 63 61 73 65 20 27 75 70 64 61 74 65 27 3a 0a 66 6f 72 65 61 63 68 20 28 24 6a 6f 62 5b 27 70 61 case.'update':.foreach.($job['pa
5f2c0 63 6b 61 67 65 73 27 5d 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 69 73 73 65 ckages'].as.$package).{.if.(isse
5f2e0 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 3e t($this->installedMap[$package->
5f300 67 65 74 49 64 28 29 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 4d 61 70 5b 24 70 getId()])).{.$this->updateMap[$p
5f320 61 63 6b 61 67 65 2d 3e 67 65 74 49 64 28 29 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 62 72 65 ackage->getId()].=.true;.}.}.bre
5f340 61 6b 3b 0a 0a 63 61 73 65 20 27 75 70 64 61 74 65 2d 61 6c 6c 27 3a 0a 66 6f 72 65 61 63 68 20 ak;..case.'update-all':.foreach.
5f360 28 24 74 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 ($this->installedMap.as.$package
5f380 29 20 7b 0a 24 74 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 67 ).{.$this->updateMap[$package->g
5f3a0 65 74 49 64 28 29 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 etId()].=.true;.}.break;..case.'
5f3c0 69 6e 73 74 61 6c 6c 27 3a 0a 69 66 20 28 21 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 73 27 5d 29 install':.if.(!$job['packages'])
5f3e0 20 7b 0a 24 70 72 6f 62 6c 65 6d 20 3d 20 6e 65 77 20 50 72 6f 62 6c 65 6d 28 24 74 68 69 73 2d .{.$problem.=.new.Problem($this-
5f400 3e 70 6f 6f 6c 29 3b 0a 24 70 72 6f 62 6c 65 6d 2d 3e 61 64 64 52 75 6c 65 28 6e 65 77 20 52 75 >pool);.$problem->addRule(new.Ru
5f420 6c 65 28 24 74 68 69 73 2d 3e 70 6f 6f 6c 2c 20 61 72 72 61 79 28 29 2c 20 6e 75 6c 6c 2c 20 6e le($this->pool,.array(),.null,.n
5f440 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 65 6d 73 5b 5d 20 3d ull,.$job));.$this->problems[].=
5f460 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 0a 0a 70 75 62 6c 69 .$problem;.}.break;.}.}.}..publi
5f480 63 20 66 75 6e 63 74 69 6f 6e 20 73 6f 6c 76 65 28 52 65 71 75 65 73 74 20 24 72 65 71 75 65 73 c.function.solve(Request.$reques
5f4a0 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 6a 6f 62 73 20 3d 20 24 72 65 71 75 65 73 74 2d 3e 67 65 74 t).{.$this->jobs.=.$request->get
5f4c0 4a 6f 62 73 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 73 65 74 75 70 49 6e 73 74 61 6c 6c 65 64 4d 61 Jobs();..$this->setupInstalledMa
5f4e0 70 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 20 3d 20 6e 65 77 20 44 65 63 p();..$this->decisions.=.new.Dec
5f500 69 73 69 6f 6e 73 28 24 74 68 69 73 2d 3e 70 6f 6f 6c 29 3b 0a 0a 24 74 68 69 73 2d 3e 72 75 6c isions($this->pool);..$this->rul
5f520 65 73 20 3d 20 24 74 68 69 73 2d 3e 72 75 6c 65 53 65 74 47 65 6e 65 72 61 74 6f 72 2d 3e 67 65 es.=.$this->ruleSetGenerator->ge
5f540 74 52 75 6c 65 73 46 6f 72 28 24 74 68 69 73 2d 3e 6a 6f 62 73 2c 20 24 74 68 69 73 2d 3e 69 6e tRulesFor($this->jobs,.$this->in
5f560 73 74 61 6c 6c 65 64 4d 61 70 29 3b 0a 24 74 68 69 73 2d 3e 77 61 74 63 68 47 72 61 70 68 20 3d stalledMap);.$this->watchGraph.=
5f580 20 6e 65 77 20 52 75 6c 65 57 61 74 63 68 47 72 61 70 68 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 .new.RuleWatchGraph;..foreach.($
5f5a0 74 68 69 73 2d 3e 72 75 6c 65 73 20 61 73 20 24 72 75 6c 65 29 20 7b 0a 24 74 68 69 73 2d 3e 77 this->rules.as.$rule).{.$this->w
5f5c0 61 74 63 68 47 72 61 70 68 2d 3e 69 6e 73 65 72 74 28 6e 65 77 20 52 75 6c 65 57 61 74 63 68 4e atchGraph->insert(new.RuleWatchN
5f5e0 6f 64 65 28 24 72 75 6c 65 29 29 3b 0a 7d 0a 0a 0a 24 74 68 69 73 2d 3e 6d 61 6b 65 41 73 73 65 ode($rule));.}...$this->makeAsse
5f600 72 74 69 6f 6e 52 75 6c 65 44 65 63 69 73 69 6f 6e 73 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 72 75 rtionRuleDecisions();..$this->ru
5f620 6e 53 61 74 28 74 72 75 65 29 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 69 nSat(true);....foreach.($this->i
5f640 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 3d 3e 20 24 76 6f nstalledMap.as.$packageId.=>.$vo
5f660 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 2d 3e 75 6e 64 65 id).{.if.($this->decisions->unde
5f680 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 2d 3e 64 65 63 69 cided($packageId)).{.$this->deci
5f6a0 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 20 31 2c 20 6e 75 sions->decide(-$packageId,.1,.nu
5f6c0 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 65 6d 73 29 20 7b ll);.}.}..if.($this->problems).{
5f6e0 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 78 63 65 70 74 69 .throw.new.SolverProblemsExcepti
5f700 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 3e 69 6e 73 74 61 on($this->problems,.$this->insta
5f720 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 3d 20 6e 65 77 20 lledMap);.}..$transaction.=.new.
5f740 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 20 24 74 68 69 73 Transaction($this->policy,.$this
5f760 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 74 68 ->pool,.$this->installedMap,.$th
5f780 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 72 61 6e 73 61 63 is->decisions);..return.$transac
5f7a0 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 70 72 6f 74 65 63 tion->getOperations();.}..protec
5f7c0 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6c 69 74 65 72 61 6c 46 72 6f 6d 49 64 28 24 69 64 29 0a ted.function.literalFromId($id).
5f7e0 7b 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 70 61 63 6b 61 67 {.$package.=.$this->pool->packag
5f800 65 42 79 49 64 28 61 62 73 28 24 69 64 29 29 3b 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 4c 69 74 eById(abs($id));..return.new.Lit
5f820 65 72 61 6c 28 24 70 61 63 6b 61 67 65 2c 20 24 69 64 20 3e 20 30 29 3b 0a 7d 0a 0a 0a 0a 0a 0a eral($package,.$id.>.0);.}......
5f840 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 61 67 61 74 .....protected.function.propagat
5f860 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 63 69 73 69 e($level).{.while.($this->decisi
5f880 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 61 67 61 74 ons->validOffset($this->propagat
5f8a0 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 2d 3e 64 65 eIndex)).{.$decision.=.$this->de
5f8c0 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 70 61 67 61 cisions->atOffset($this->propaga
5f8e0 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 2d 3e 77 61 teIndex);..$conflict.=.$this->wa
5f900 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 24 64 65 63 tchGraph->propagateLiteral(.$dec
5f920 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 41 ision[Decisions::DECISION_LITERA
5f940 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 0a 29 3b 0a L],.$level,.$this->decisions.);.
5f960 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 66 20 28 24 .$this->propagateIndex++;..if.($
5f980 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 3b 0a 7d 0a conflict).{.return.$conflict;.}.
5f9a0 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 }..return.null;.}.....private.fu
5f9c0 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 69 6c 65 20 28 21 nction.revert($level).{.while.(!
5f9e0 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 29 29 20 7b 0a 24 $this->decisions->isEmpty()).{.$
5fa00 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 2d 3e 6c 61 73 74 literal.=.$this->decisions->last
5fa20 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 69 73 69 6f 6e 73 Literal();..if.($this->decisions
5fa40 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 72 65 61 6b 3b 0a ->undecided($literal)).{.break;.
5fa60 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 3e 64 65 63 69 73 }..$decisionLevel.=.$this->decis
5fa80 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 61 6c 29 3b 0a 0a ions->decisionLevel($literal);..
5faa0 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 65 6c 29 20 7b 0a if.($decisionLevel.<=.$level).{.
5fac0 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 2d 3e 72 65 76 65 break;.}..$this->decisions->reve
5fae0 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 49 6e 64 65 78 20 rtLast();.$this->propagateIndex.
5fb00 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 0a 7d 0a 0a 77 68 =.count($this->decisions);.}..wh
5fb20 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 73 29 20 26 26 20 ile.(!empty($this->branches).&&.
5fb40 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 73 2d 3e 62 72 61 $this->branches[count($this->bra
5fb60 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 45 56 45 4c 5d 20 nches).-.1][self::BRANCH_LEVEL].
5fb80 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 69 73 2d 3e 62 72 >=.$level).{.array_pop($this->br
5fba0 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 0a 0a 0a 70 72 69 anches);.}.}.................pri
5fbc0 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 6f 70 61 67 61 74 65 4c 65 61 72 6e 28 vate.function.setPropagateLearn(
5fbe0 24 6c 65 76 65 6c 2c 20 24 6c 69 74 65 72 61 6c 2c 20 24 64 69 73 61 62 6c 65 52 75 6c 65 73 2c $level,.$literal,.$disableRules,
5fc00 20 52 75 6c 65 20 24 72 75 6c 65 29 0a 7b 0a 24 6c 65 76 65 6c 2b 2b 3b 0a 0a 24 74 68 69 73 2d .Rule.$rule).{.$level++;..$this-
5fc20 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 64 65 63 69 64 65 28 24 6c 69 74 65 72 61 6c 2c 20 24 6c 65 >decisions->decide($literal,.$le
5fc40 76 65 6c 2c 20 24 72 75 6c 65 29 3b 0a 0a 77 68 69 6c 65 20 28 74 72 75 65 29 20 7b 0a 24 72 75 vel,.$rule);..while.(true).{.$ru
5fc60 6c 65 20 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 0a le.=.$this->propagate($level);..
5fc80 69 66 20 28 21 24 72 75 6c 65 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 69 66 20 28 24 6c 65 76 if.(!$rule).{.break;.}..if.($lev
5fca0 65 6c 20 3d 3d 20 31 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6e 61 6c 79 7a 65 el.==.1).{.return.$this->analyze
5fcc0 55 6e 73 6f 6c 76 61 62 6c 65 28 24 72 75 6c 65 2c 20 24 64 69 73 61 62 6c 65 52 75 6c 65 73 29 Unsolvable($rule,.$disableRules)
5fce0 3b 0a 7d 0a 0a 0a 20 6c 69 73 74 28 24 6c 65 61 72 6e 4c 69 74 65 72 61 6c 2c 20 24 6e 65 77 4c ;.}....list($learnLiteral,.$newL
5fd00 65 76 65 6c 2c 20 24 6e 65 77 52 75 6c 65 2c 20 24 77 68 79 29 20 3d 20 24 74 68 69 73 2d 3e 61 evel,.$newRule,.$why).=.$this->a
5fd20 6e 61 6c 79 7a 65 28 24 6c 65 76 65 6c 2c 20 24 72 75 6c 65 29 3b 0a 0a 69 66 20 28 24 6e 65 77 nalyze($level,.$rule);..if.($new
5fd40 4c 65 76 65 6c 20 3c 3d 20 30 20 7c 7c 20 24 6e 65 77 4c 65 76 65 6c 20 3e 3d 20 24 6c 65 76 65 Level.<=.0.||.$newLevel.>=.$leve
5fd60 6c 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 53 6f 6c 76 65 72 42 75 67 45 78 63 65 70 74 69 6f l).{.throw.new.SolverBugExceptio
5fd80 6e 28 0a 22 54 72 79 69 6e 67 20 74 6f 20 72 65 76 65 72 74 20 74 6f 20 69 6e 76 61 6c 69 64 20 n(."Trying.to.revert.to.invalid.
5fda0 6c 65 76 65 6c 20 22 2e 28 69 6e 74 29 20 24 6e 65 77 4c 65 76 65 6c 2e 22 20 66 72 6f 6d 20 6c level.".(int).$newLevel.".from.l
5fdc0 65 76 65 6c 20 22 2e 28 69 6e 74 29 20 24 6c 65 76 65 6c 2e 22 2e 22 0a 29 3b 0a 7d 20 65 6c 73 evel.".(int).$level.".".);.}.els
5fde0 65 69 66 20 28 21 24 6e 65 77 52 75 6c 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 53 6f 6c 76 eif.(!$newRule).{.throw.new.Solv
5fe00 65 72 42 75 67 45 78 63 65 70 74 69 6f 6e 28 0a 22 4e 6f 20 72 75 6c 65 20 77 61 73 20 6c 65 61 erBugException(."No.rule.was.lea
5fe20 72 6e 65 64 20 66 72 6f 6d 20 61 6e 61 6c 79 7a 69 6e 67 20 24 72 75 6c 65 20 61 74 20 6c 65 76 rned.from.analyzing.$rule.at.lev
5fe40 65 6c 20 24 6c 65 76 65 6c 2e 22 0a 29 3b 0a 7d 0a 0a 24 6c 65 76 65 6c 20 3d 20 24 6e 65 77 4c el.$level.".);.}..$level.=.$newL
5fe60 65 76 65 6c 3b 0a 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 evel;..$this->revert($level);..$
5fe80 74 68 69 73 2d 3e 72 75 6c 65 73 2d 3e 61 64 64 28 24 6e 65 77 52 75 6c 65 2c 20 52 75 6c 65 53 this->rules->add($newRule,.RuleS
5fea0 65 74 3a 3a 54 59 50 45 5f 4c 45 41 52 4e 45 44 29 3b 0a 0a 24 74 68 69 73 2d 3e 6c 65 61 72 6e et::TYPE_LEARNED);..$this->learn
5fec0 65 64 57 68 79 5b 24 6e 65 77 52 75 6c 65 2d 3e 67 65 74 49 64 28 29 5d 20 3d 20 24 77 68 79 3b edWhy[$newRule->getId()].=.$why;
5fee0 0a 0a 24 72 75 6c 65 4e 6f 64 65 20 3d 20 6e 65 77 20 52 75 6c 65 57 61 74 63 68 4e 6f 64 65 28 ..$ruleNode.=.new.RuleWatchNode(
5ff00 24 6e 65 77 52 75 6c 65 29 3b 0a 24 72 75 6c 65 4e 6f 64 65 2d 3e 77 61 74 63 68 32 4f 6e 48 69 $newRule);.$ruleNode->watch2OnHi
5ff20 67 68 65 73 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 29 3b 0a 24 74 68 69 73 2d 3e ghest($this->decisions);.$this->
5ff40 77 61 74 63 68 47 72 61 70 68 2d 3e 69 6e 73 65 72 74 28 24 72 75 6c 65 4e 6f 64 65 29 3b 0a 0a watchGraph->insert($ruleNode);..
5ff60 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 65 61 72 6e 4c $this->decisions->decide($learnL
5ff80 69 74 65 72 61 6c 2c 20 24 6c 65 76 65 6c 2c 20 24 6e 65 77 52 75 6c 65 29 3b 0a 7d 0a 0a 72 65 iteral,.$level,.$newRule);.}..re
5ffa0 74 75 72 6e 20 24 6c 65 76 65 6c 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e turn.$level;.}..private.function
5ffc0 20 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 61 72 72 61 79 20 .selectAndInstall($level,.array.
5ffe0 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 52 $decisionQueue,.$disableRules,.R
60000 75 6c 65 20 24 72 75 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 ule.$rule).{...$literals.=.$this
60020 2d 3e 70 6f 6c 69 63 79 2d 3e 73 65 6c 65 63 74 50 72 65 66 65 72 65 64 50 61 63 6b 61 67 65 73 ->policy->selectPreferedPackages
60040 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 61 6c 6c 65 64 4d 61 ($this->pool,.$this->installedMa
60060 70 2c 20 24 64 65 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 p,.$decisionQueue,.$rule->getReq
60080 75 69 72 65 64 50 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 uiredPackage());..$selectedLiter
600a0 61 6c 20 3d 20 61 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 al.=.array_shift($literals);....
600c0 69 66 20 28 63 6f 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 if.(count($literals)).{.$this->b
600e0 72 61 6e 63 68 65 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 ranches[].=.array($literals,.$le
60100 76 65 6c 29 3b 0a 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 vel);.}..return.$this->setPropag
60120 61 74 65 4c 65 61 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 ateLearn($level,.$selectedLitera
60140 6c 2c 20 24 64 69 73 61 62 6c 65 52 75 6c 65 73 2c 20 24 72 75 6c 65 29 3b 0a 7d 0a 0a 70 72 6f l,.$disableRules,.$rule);.}..pro
60160 74 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 tected.function.analyze($level,.
60180 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 6c 65 3b 0a $rule).{.$analyzedRule.=.$rule;.
601a0 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 31 6e 75 6d $ruleLevel.=.1;.$num.=.0;.$l1num
601c0 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 6e 65 64 4c .=.0;.$seen.=.array();.$learnedL
601e0 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 69 73 69 6f iterals.=.array(null);..$decisio
60200 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 29 3b 0a 0a nId.=.count($this->decisions);..
60220 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 28 29 3b 0a $this->learnedPool[].=.array();.
60240 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 65 64 50 6f .while.(true).{.$this->learnedPo
60260 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 20 2d 20 31 ol[count($this->learnedPool).-.1
60280 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 2d 3e 67 65 ][].=.$rule;..foreach.($rule->ge
602a0 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 20 69 66 20 tLiterals().as.$literal).{...if.
602c0 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 6c 69 74 65 ($this->decisions->satisfy($lite
602e0 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 65 74 28 24 ral)).{.continue;.}..if.(isset($
60300 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 69 6e 75 65 seen[abs($literal)])).{.continue
60320 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 72 75 65 3b ;.}.$seen[abs($literal)].=.true;
60340 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 69 73 69 6f ..$l.=.$this->decisions->decisio
60360 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 20 24 6c 29 nLevel($literal);..if.(1.===.$l)
60380 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 6c 20 3d 3d .{.$l1num++;.}.elseif.($level.==
603a0 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 6c 65 61 72 =.$l).{.$num++;.}.else.{...$lear
603c0 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 66 20 28 24 nedLiterals[].=.$literal;..if.($
603e0 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 20 3d 20 24 l.>.$ruleLevel).{.$ruleLevel.=.$
60400 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 68 69 6c 65 l;.}.}.}..$l1retry.=.true;.while
60420 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 73 65 3b 0a .($l1retry).{.$l1retry.=.false;.
60440 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 20 62 72 65 .if.(!$num.&&.!--$l1num).{...bre
60460 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 24 64 65 63 ak.2;.}..while.(true).{.if.($dec
60480 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 6c 76 65 72 isionId.<=.0).{.throw.new.Solver
604a0 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 69 64 20 64 BugException(."Reached.invalid.d
604c0 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 20 6c 6f 6f ecision.id.$decisionId.while.loo
604e0 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 65 72 61 6c king.through.$rule.for.a.literal
60500 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 65 20 24 61 .present.in.the.analyzed.rule.$a
60520 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 6e 49 64 2d nalyzedRule.".);.}..$decisionId-
60540 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 69 6f 6e 73 -;..$decision.=.$this->decisions
60560 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 74 65 72 61 ->atOffset($decisionId);.$litera
60580 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 49 4f l.=.$decision[Decisions::DECISIO
605a0 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 5b 61 62 73 N_LITERAL];..if.(isset($seen[abs
605c0 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 75 6e 73 65 ($literal)])).{.break;.}.}..unse
605e0 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 20 28 24 6e t($seen[abs($literal)]);..if.($n
60600 75 6d 20 26 26 20 30 20 3d 3d 3d 20 2d 2d 24 6e 75 6d 29 20 7b 0a 24 6c 65 61 72 6e 65 64 4c 69 um.&&.0.===.--$num).{.$learnedLi
60620 74 65 72 61 6c 73 5b 30 5d 20 3d 20 2d 61 62 73 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 69 66 20 terals[0].=.-abs($literal);..if.
60640 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 63 68 20 (!$l1num).{.break.2;.}..foreach.
60660 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 65 61 72 ($learnedLiterals.as.$i.=>.$lear
60680 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 0a 75 6e nedLiteral).{.if.($i.!==.0).{.un
606a0 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 29 5d 29 set($seen[abs($learnedLiteral)])
606c0 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 74 72 75 ;.}.}...$l1num++;.$l1retry.=.tru
606e0 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 63 69 73 e;.}.}..$decision.=.$this->decis
60700 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 72 75 ions->atOffset($decisionId);.$ru
60720 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 49 53 49 le.=.$decision[Decisions::DECISI
60740 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 74 68 69 ON_REASON];.}..$why.=.count($thi
60760 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 65 61 72 s->learnedPool).-.1;..if.(!$lear
60780 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 6f 6c 76 nedLiterals[0]).{.throw.new.Solv
607a0 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 20 61 20 erBugException(."Did.not.find.a.
607c0 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 20 72 75 learnable.literal.in.analyzed.ru
607e0 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 52 75 6c le.$analyzedRule.".);.}..$newRul
60800 65 20 3d 20 6e 65 77 20 52 75 6c 65 28 24 74 68 69 73 2d 3e 70 6f 6f 6c 2c 20 24 6c 65 61 72 6e e.=.new.Rule($this->pool,.$learn
60820 65 64 4c 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 edLiterals,.Rule::RULE_LEARNED,.
60840 24 77 68 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 $why);..return.array($learnedLit
60860 65 72 61 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 erals[0],.$ruleLevel,.$newRule,.
60880 24 77 68 79 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 6e 61 6c 79 $why);.}..private.function.analy
608a0 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 20 24 63 6f 6e 66 zeUnsolvableRule($problem,.$conf
608c0 6c 69 63 74 52 75 6c 65 29 0a 7b 0a 24 77 68 79 20 3d 20 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 lictRule).{.$why.=.$conflictRule
608e0 2d 3e 67 65 74 49 64 28 29 3b 0a 0a 69 66 20 28 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 2d 3e 67 ->getId();..if.($conflictRule->g
60900 65 74 54 79 70 65 28 29 20 3d 3d 20 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 4c 45 41 52 4e 45 etType().==.RuleSet::TYPE_LEARNE
60920 44 29 20 7b 0a 24 6c 65 61 72 6e 65 64 57 68 79 20 3d 20 24 74 68 69 73 2d 3e 6c 65 61 72 6e 65 D).{.$learnedWhy.=.$this->learne
60940 64 57 68 79 5b 24 77 68 79 5d 3b 0a 24 70 72 6f 62 6c 65 6d 52 75 6c 65 73 20 3d 20 24 74 68 69 dWhy[$why];.$problemRules.=.$thi
60960 73 2d 3e 6c 65 61 72 6e 65 64 50 6f 6f 6c 5b 24 6c 65 61 72 6e 65 64 57 68 79 5d 3b 0a 0a 66 6f s->learnedPool[$learnedWhy];..fo
60980 72 65 61 63 68 20 28 24 70 72 6f 62 6c 65 6d 52 75 6c 65 73 20 61 73 20 24 70 72 6f 62 6c 65 6d reach.($problemRules.as.$problem
609a0 52 75 6c 65 29 20 7b 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 Rule).{.$this->analyzeUnsolvable
609c0 52 75 6c 65 28 24 70 72 6f 62 6c 65 6d 2c 20 24 70 72 6f 62 6c 65 6d 52 75 6c 65 29 3b 0a 7d 0a Rule($problem,.$problemRule);.}.
609e0 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 2d 3e 67 .return;.}..if.($conflictRule->g
60a00 65 74 54 79 70 65 28 29 20 3d 3d 20 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 50 41 43 4b 41 47 etType().==.RuleSet::TYPE_PACKAG
60a20 45 29 20 7b 0a 0a 20 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 70 72 6f 62 6c 65 6d 2d 3e 6e 65 78 74 E).{...return;.}..$problem->next
60a40 53 65 63 74 69 6f 6e 28 29 3b 0a 24 70 72 6f 62 6c 65 6d 2d 3e 61 64 64 52 75 6c 65 28 24 63 6f Section();.$problem->addRule($co
60a60 6e 66 6c 69 63 74 52 75 6c 65 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e nflictRule);.}..private.function
60a80 20 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 52 75 6c 65 .analyzeUnsolvable($conflictRule
60aa0 2c 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 ,.$disableRules).{.$problem.=.ne
60ac0 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 6c 65 6d w.Problem($this->pool);.$problem
60ae0 2d 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 ->addRule($conflictRule);..$this
60b00 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 65 6d ->analyzeUnsolvableRule($problem
60b20 2c 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 ,.$conflictRule);..$this->proble
60b40 6d 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 ms[].=.$problem;..$seen.=.array(
60b60 29 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 );.$literals.=.$conflictRule->ge
60b80 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 72 61 6c 73 tLiterals();..foreach.($literals
60ba0 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 3e 64 65 63 .as.$literal).{...if.($this->dec
60bc0 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 0a 63 6f 6e isions->satisfy($literal)).{.con
60be0 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 5d 20 3d 20 tinue;.}.$seen[abs($literal)].=.
60c00 74 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 true;.}..foreach.($this->decisio
60c20 6e 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 ns.as.$decision).{.$literal.=.$d
60c40 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 54 45 ecision[Decisions::DECISION_LITE
60c60 52 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 RAL];....if.(!isset($seen[abs($l
60c80 69 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 iteral)])).{.continue;.}..$why.=
60ca0 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 49 4f 4e 5f 52 .$decision[Decisions::DECISION_R
60cc0 45 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 EASON];..$problem->addRule($why)
60ce0 3b 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 ;.$this->analyzeUnsolvableRule($
60d00 70 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 problem,.$why);..$literals.=.$wh
60d20 79 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 y->getLiterals();..foreach.($lit
60d40 65 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 erals.as.$literal).{...if.($this
60d60 2d 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 ->decisions->satisfy($literal)).
60d80 7b 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 {.continue;.}.$seen[abs($literal
60da0 29 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 )].=.true;.}.}..if.($disableRule
60dc0 73 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 s).{.foreach.($this->problems[co
60de0 75 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 unt($this->problems).-.1].as.$re
60e00 61 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 ason).{.$this->disableProblem($r
60e20 65 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 eason['rule']);.}..$this->resetS
60e40 6f 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 olver();..return.1;.}..return.0;
60e60 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 50 72 6f 62 .}..private.function.disableProb
60e80 6c 65 6d 28 24 77 68 79 29 0a 7b 0a 24 6a 6f 62 20 3d 20 24 77 68 79 2d 3e 67 65 74 4a 6f 62 28 lem($why).{.$job.=.$why->getJob(
60ea0 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 73 61 62 6c 65 28 29 );..if.(!$job).{.$why->disable()
60ec0 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 24 74 68 69 73 2d 3e ;..return;.}....foreach.($this->
60ee0 72 75 6c 65 73 20 61 73 20 24 72 75 6c 65 29 20 7b 0a 69 66 20 28 24 6a 6f 62 20 3d 3d 3d 20 24 rules.as.$rule).{.if.($job.===.$
60f00 72 75 6c 65 2d 3e 67 65 74 4a 6f 62 28 29 29 20 7b 0a 24 72 75 6c 65 2d 3e 64 69 73 61 62 6c 65 rule->getJob()).{.$rule->disable
60f20 28 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 20 72 65 73 65 ();.}.}.}..private.function.rese
60f40 74 53 6f 6c 76 65 72 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 72 65 tSolver().{.$this->decisions->re
60f60 73 65 74 28 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 20 3d 20 set();..$this->propagateIndex.=.
60f80 30 3b 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 24 0;.$this->branches.=.array();..$
60fa0 74 68 69 73 2d 3e 65 6e 61 62 6c 65 44 69 73 61 62 6c 65 4c 65 61 72 6e 65 64 52 75 6c 65 73 28 this->enableDisableLearnedRules(
60fc0 29 3b 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 63 69 73 );.$this->makeAssertionRuleDecis
60fe0 69 6f 6e 73 28 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 ions();.}.........private.functi
61000 6f 6e 20 65 6e 61 62 6c 65 44 69 73 61 62 6c 65 4c 65 61 72 6e 65 64 52 75 6c 65 73 28 29 0a 7b on.enableDisableLearnedRules().{
61020 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 2d 3e 67 65 74 49 74 65 72 61 .foreach.($this->rules->getItera
61040 74 6f 72 46 6f 72 28 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 4c 45 41 52 4e 45 44 29 20 61 73 torFor(RuleSet::TYPE_LEARNED).as
61060 20 24 72 75 6c 65 29 20 7b 0a 24 77 68 79 20 3d 20 24 74 68 69 73 2d 3e 6c 65 61 72 6e 65 64 57 .$rule).{.$why.=.$this->learnedW
61080 68 79 5b 24 72 75 6c 65 2d 3e 67 65 74 49 64 28 29 5d 3b 0a 24 70 72 6f 62 6c 65 6d 52 75 6c 65 hy[$rule->getId()];.$problemRule
610a0 73 20 3d 20 24 74 68 69 73 2d 3e 6c 65 61 72 6e 65 64 50 6f 6f 6c 5b 24 77 68 79 5d 3b 0a 0a 24 s.=.$this->learnedPool[$why];..$
610c0 66 6f 75 6e 64 44 69 73 61 62 6c 65 64 20 3d 20 66 61 6c 73 65 3b 0a 66 6f 72 65 61 63 68 20 28 foundDisabled.=.false;.foreach.(
610e0 24 70 72 6f 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 $problemRules.as.$problemRule).{
61100 0a 69 66 20 28 24 70 72 6f 62 6c 65 6d 52 75 6c 65 2d 3e 69 73 44 69 73 61 62 6c 65 64 28 29 29 .if.($problemRule->isDisabled())
61120 20 7b 0a 24 66 6f 75 6e 64 44 69 73 61 62 6c 65 64 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b .{.$foundDisabled.=.true;.break;
61140 0a 7d 0a 7d 0a 0a 69 66 20 28 24 66 6f 75 6e 64 44 69 73 61 62 6c 65 64 20 26 26 20 24 72 75 6c .}.}..if.($foundDisabled.&&.$rul
61160 65 2d 3e 69 73 45 6e 61 62 6c 65 64 28 29 29 20 7b 0a 24 72 75 6c 65 2d 3e 64 69 73 61 62 6c 65 e->isEnabled()).{.$rule->disable
61180 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 66 6f 75 6e 64 44 69 73 61 62 6c 65 64 20 26 26 ();.}.elseif.(!$foundDisabled.&&
611a0 20 24 72 75 6c 65 2d 3e 69 73 44 69 73 61 62 6c 65 64 28 29 29 20 7b 0a 24 72 75 6c 65 2d 3e 65 .$rule->isDisabled()).{.$rule->e
611c0 6e 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 69 6f 6e nable();.}.}.}..private.function
611e0 20 72 75 6e 53 61 74 28 24 64 69 73 61 62 6c 65 52 75 6c 65 73 20 3d 20 74 72 75 65 29 0a 7b 0a .runSat($disableRules.=.true).{.
61200 24 74 68 69 73 2d 3e 70 72 6f 70 61 67 61 74 65 49 6e 64 65 78 20 3d 20 30 3b 0a 0a 0a 20 0a 20 $this->propagateIndex.=.0;......
61220 0a 20 0a 20 0a 20 0a 20 0a 20 0a 20 0a 0a 24 64 65 63 69 73 69 6f 6e 51 75 65 75 65 20 3d 20 61 ..............$decisionQueue.=.a
61240 72 72 61 79 28 29 3b 0a 24 64 65 63 69 73 69 6f 6e 53 75 70 70 6c 65 6d 65 6e 74 51 75 65 75 65 rray();.$decisionSupplementQueue
61260 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 64 69 73 61 62 6c 65 52 75 6c 65 73 20 3d 20 61 72 72 61 .=.array();.$disableRules.=.arra
61280 79 28 29 3b 0a 0a 24 6c 65 76 65 6c 20 3d 20 31 3b 0a 24 73 79 73 74 65 6d 4c 65 76 65 6c 20 3d y();..$level.=.1;.$systemLevel.=
612a0 20 24 6c 65 76 65 6c 20 2b 20 31 3b 0a 24 69 6e 73 74 61 6c 6c 65 64 50 6f 73 20 3d 20 30 3b 0a .$level.+.1;.$installedPos.=.0;.
612c0 0a 77 68 69 6c 65 20 28 74 72 75 65 29 20 7b 0a 0a 69 66 20 28 31 20 3d 3d 3d 20 24 6c 65 76 65 .while.(true).{..if.(1.===.$leve
612e0 6c 29 20 7b 0a 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 70 l).{.$conflictRule.=.$this->prop
61300 61 67 61 74 65 28 24 6c 65 76 65 6c 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 63 6f 6e agate($level);.if.(null.!==.$con
61320 66 6c 69 63 74 52 75 6c 65 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 61 6e 61 6c 79 7a 65 55 flictRule).{.if.($this->analyzeU
61340 6e 73 6f 6c 76 61 62 6c 65 28 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 2c 20 24 64 69 73 61 62 6c nsolvable($conflictRule,.$disabl
61360 65 52 75 6c 65 73 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 3b 0a eRules)).{.continue;.}..return;.
61380 7d 0a 7d 0a 0a 0a 20 69 66 20 28 24 6c 65 76 65 6c 20 3c 20 24 73 79 73 74 65 6d 4c 65 76 65 6c }.}....if.($level.<.$systemLevel
613a0 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 72 75 6c 65 73 2d 3e 67 65 ).{.$iterator.=.$this->rules->ge
613c0 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 4a 4f 42 29 3b tIteratorFor(RuleSet::TYPE_JOB);
613e0 0a 66 6f 72 65 61 63 68 20 28 24 69 74 65 72 61 74 6f 72 20 61 73 20 24 72 75 6c 65 29 20 7b 0a .foreach.($iterator.as.$rule).{.
61400 69 66 20 28 24 72 75 6c 65 2d 3e 69 73 45 6e 61 62 6c 65 64 28 29 29 20 7b 0a 24 64 65 63 69 73 if.($rule->isEnabled()).{.$decis
61420 69 6f 6e 51 75 65 75 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 6e 6f 6e 65 53 61 74 69 73 66 69 ionQueue.=.array();.$noneSatisfi
61440 65 64 20 3d 20 74 72 75 65 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 75 6c 65 2d 3e 67 65 74 4c ed.=.true;..foreach.($rule->getL
61460 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 69 66 20 28 24 74 68 iterals().as.$literal).{.if.($th
61480 69 73 2d 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 is->decisions->satisfy($literal)
614a0 29 20 7b 0a 24 6e 6f 6e 65 53 61 74 69 73 66 69 65 64 20 3d 20 66 61 6c 73 65 3b 0a 62 72 65 61 ).{.$noneSatisfied.=.false;.brea
614c0 6b 3b 0a 7d 0a 69 66 20 28 24 6c 69 74 65 72 61 6c 20 3e 20 30 20 26 26 20 24 74 68 69 73 2d 3e k;.}.if.($literal.>.0.&&.$this->
614e0 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 20 decisions->undecided($literal)).
61500 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 7d {.$decisionQueue[].=.$literal;.}
61520 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 6e 74 28 .}..if.($noneSatisfied.&&.count(
61540 24 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 29 20 7b 0a 0a 20 0a 20 69 66 20 28 63 6f 75 6e 74 $decisionQueue)).{.....if.(count
61560 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 29 20 21 3d 20 63 6f 75 6e 74 28 24 74 68 69 ($this->installed).!=.count($thi
61580 73 2d 3e 75 70 64 61 74 65 4d 61 70 29 29 20 7b 0a 24 70 72 75 6e 65 64 51 75 65 75 65 20 3d 20 s->updateMap)).{.$prunedQueue.=.
615a0 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 63 69 73 69 6f 6e 51 75 65 75 65 array();.foreach.($decisionQueue
615c0 20 61 73 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d .as.$literal).{.if.(isset($this-
615e0 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 29 5d 29 29 20 7b >installedMap[abs($literal)])).{
61600 0a 24 70 72 75 6e 65 64 51 75 65 75 65 5b 5d 20 3d 20 24 6c 69 74 65 72 61 6c 3b 0a 69 66 20 28 .$prunedQueue[].=.$literal;.if.(
61620 69 73 73 65 74 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 4d 61 70 5b 61 62 73 28 24 6c 69 74 65 isset($this->updateMap[abs($lite
61640 72 61 6c 29 5d 29 29 20 7b 0a 24 70 72 75 6e 65 64 51 75 65 75 65 20 3d 20 24 64 65 63 69 73 69 ral)])).{.$prunedQueue.=.$decisi
61660 6f 6e 51 75 65 75 65 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 24 64 65 63 69 73 69 6f 6e 51 onQueue;.break;.}.}.}.$decisionQ
61680 75 65 75 65 20 3d 20 24 70 72 75 6e 65 64 51 75 65 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 6e ueue.=.$prunedQueue;.}.}..if.($n
616a0 6f 6e 65 53 61 74 69 73 66 69 65 64 20 26 26 20 63 6f 75 6e 74 28 24 64 65 63 69 73 69 6f 6e 51 oneSatisfied.&&.count($decisionQ
616c0 75 65 75 65 29 29 20 7b 0a 0a 24 6f 4c 65 76 65 6c 20 3d 20 24 6c 65 76 65 6c 3b 0a 24 6c 65 76 ueue)).{..$oLevel.=.$level;.$lev
616e0 65 6c 20 3d 20 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 el.=.$this->selectAndInstall($le
61700 76 65 6c 2c 20 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 vel,.$decisionQueue,.$disableRul
61720 65 73 2c 20 24 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 es,.$rule);..if.(0.===.$level).{
61740 0a 72 65 74 75 72 6e 3b 0a 7d 0a 69 66 20 28 24 6c 65 76 65 6c 20 3c 3d 20 24 6f 4c 65 76 65 6c .return;.}.if.($level.<=.$oLevel
61760 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 24 73 79 73 74 65 6d 4c 65 76 65 6c ).{.break;.}.}.}.}..$systemLevel
61780 20 3d 20 24 6c 65 76 65 6c 20 2b 20 31 3b 0a 0a 0a 20 24 69 74 65 72 61 74 6f 72 2d 3e 6e 65 78 .=.$level.+.1;....$iterator->nex
617a0 74 28 29 3b 0a 69 66 20 28 24 69 74 65 72 61 74 6f 72 2d 3e 76 61 6c 69 64 28 29 29 20 7b 0a 63 t();.if.($iterator->valid()).{.c
617c0 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 6c 65 76 65 6c 20 3c 20 24 73 79 73 74 ontinue;.}.}..if.($level.<.$syst
617e0 65 6d 4c 65 76 65 6c 29 20 7b 0a 24 73 79 73 74 65 6d 4c 65 76 65 6c 20 3d 20 24 6c 65 76 65 6c emLevel).{.$systemLevel.=.$level
61800 3b 0a 7d 0a 0a 66 6f 72 20 28 24 69 20 3d 20 30 2c 20 24 6e 20 3d 20 30 3b 20 24 6e 20 3c 20 63 ;.}..for.($i.=.0,.$n.=.0;.$n.<.c
61820 6f 75 6e 74 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 29 3b 20 24 69 2b 2b 2c 20 24 6e 2b 2b 29 20 ount($this->rules);.$i++,.$n++).
61840 7b 0a 69 66 20 28 24 69 20 3d 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 29 29 {.if.($i.==.count($this->rules))
61860 20 7b 0a 24 69 20 3d 20 30 3b 0a 7d 0a 0a 24 72 75 6c 65 20 3d 20 24 74 68 69 73 2d 3e 72 75 6c .{.$i.=.0;.}..$rule.=.$this->rul
61880 65 73 2d 3e 72 75 6c 65 42 79 49 64 28 24 69 29 3b 0a 24 6c 69 74 65 72 61 6c 73 20 3d 20 24 72 es->ruleById($i);.$literals.=.$r
618a0 75 6c 65 2d 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 29 3b 0a 0a 69 66 20 28 24 72 75 6c 65 2d 3e ule->getLiterals();..if.($rule->
618c0 69 73 44 69 73 61 62 6c 65 64 28 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 64 65 isDisabled()).{.continue;.}..$de
618e0 63 69 73 69 6f 6e 51 75 65 75 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 0a 20 0a 20 0a 20 cisionQueue.=.array();..........
61900 0a 20 0a 20 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 ....foreach.($literals.as.$liter
61920 61 6c 29 20 7b 0a 69 66 20 28 24 6c 69 74 65 72 61 6c 20 3c 3d 20 30 29 20 7b 0a 69 66 20 28 21 al).{.if.($literal.<=.0).{.if.(!
61940 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 49 6e 73 74 61 6c 6c $this->decisions->decidedInstall
61960 28 61 62 73 28 24 6c 69 74 65 72 61 6c 29 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 20 32 3b 20 0a (abs($literal))).{.continue.2;..
61980 20 7d 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 .}.}.else.{.if.($this->decisions
619a0 2d 3e 64 65 63 69 64 65 64 49 6e 73 74 61 6c 6c 28 61 62 73 28 24 6c 69 74 65 72 61 6c 29 29 29 ->decidedInstall(abs($literal)))
619c0 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 3e 64 65 .{.continue.2;...}.if.($this->de
619e0 63 69 73 69 6f 6e 73 2d 3e 75 6e 64 65 63 69 64 65 64 28 61 62 73 28 24 6c 69 74 65 72 61 6c 29 cisions->undecided(abs($literal)
61a00 29 29 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 )).{.$decisionQueue[].=.$literal
61a20 3b 0a 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 ;.}.}.}....if.(count($decisionQu
61a40 65 75 65 29 20 3c 20 32 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6f 4c 65 76 65 6c eue).<.2).{.continue;.}..$oLevel
61a60 20 3d 20 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 .=.$level;.$level.=.$this->selec
61a80 74 41 6e 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 tAndInstall($level,.$decisionQue
61aa0 75 65 2c 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 ue,.$disableRules,.$rule);..if.(
61ac0 30 20 3d 3d 3d 20 24 6c 65 76 65 6c 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 24 6e 20 0.===.$level).{.return;.}....$n.
61ae0 3d 20 2d 31 3b 0a 7d 0a 0a 69 66 20 28 24 6c 65 76 65 6c 20 3c 20 24 73 79 73 74 65 6d 4c 65 76 =.-1;.}..if.($level.<.$systemLev
61b00 65 6c 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 63 6f 75 6e 74 28 24 el).{.continue;.}....if.(count($
61b20 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 29 29 20 7b 0a 0a 24 6c 61 73 74 4c 69 74 65 72 61 6c this->branches)).{..$lastLiteral
61b40 20 3d 20 6e 75 6c 6c 3b 0a 24 6c 61 73 74 4c 65 76 65 6c 20 3d 20 6e 75 6c 6c 3b 0a 24 6c 61 73 .=.null;.$lastLevel.=.null;.$las
61b60 74 42 72 61 6e 63 68 49 6e 64 65 78 20 3d 20 30 3b 0a 24 6c 61 73 74 42 72 61 6e 63 68 4f 66 66 tBranchIndex.=.0;.$lastBranchOff
61b80 73 65 74 20 3d 20 30 3b 0a 24 6c 20 3d 20 30 3b 0a 0a 66 6f 72 20 28 24 69 20 3d 20 63 6f 75 6e set.=.0;.$l.=.0;..for.($i.=.coun
61ba0 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 20 3e 3d 20 30 3b t($this->branches).-.1;.$i.>=.0;
61bc0 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 6c 29 20 3d 20 24 .$i--).{.list($literals,.$l).=.$
61be0 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 63 68 20 28 24 6c this->branches[$i];..foreach.($l
61c00 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 65 72 61 6c 29 20 iterals.as.$offset.=>.$literal).
61c20 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 20 3e 20 30 20 26 {.if.($literal.&&.$literal.>.0.&
61c40 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 6f 6e 4c 65 76 65 &.$this->decisions->decisionLeve
61c60 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 61 73 74 4c 69 74 l($literal).>.$l.+.1).{.$lastLit
61c80 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 63 68 49 6e 64 65 eral.=.$literal;.$lastBranchInde
61ca0 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 3d 20 24 6f 66 66 x.=.$i;.$lastBranchOffset.=.$off
61cc0 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 7d 0a 0a 69 66 20 set;.$lastLevel.=.$l;.}.}.}..if.
61ce0 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 69 73 2d 3e 62 72 ($lastLiteral).{.unset($this->br
61d00 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 65 6c 66 3a 3a 42 anches[$lastBranchIndex][self::B
61d20 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 68 4f 66 66 73 65 RANCH_LITERALS][$lastBranchOffse
61d40 74 5d 29 3b 0a 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 t]);.array_values($this->branche
61d60 73 5b 24 6c 61 73 74 42 72 61 6e 63 68 49 6e 64 65 78 5d 5b 73 65 6c 66 3a 3a 42 52 41 4e 43 48 s[$lastBranchIndex][self::BRANCH
61d80 5f 4c 49 54 45 52 41 4c 53 5d 29 3b 0a 0a 24 6c 65 76 65 6c 20 3d 20 24 6c 61 73 74 4c 65 76 65 _LITERALS]);..$level.=.$lastLeve
61da0 6c 3b 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 l;.$this->revert($level);..$why.
61dc0 3d 20 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 =.$this->decisions->lastReason()
61de0 3b 0a 0a 24 6f 4c 65 76 65 6c 20 3d 20 24 6c 65 76 65 6c 3b 0a 24 6c 65 76 65 6c 20 3d 20 24 74 ;..$oLevel.=.$level;.$level.=.$t
61e00 68 69 73 2d 3e 73 65 74 50 72 6f 70 61 67 61 74 65 4c 65 61 72 6e 28 24 6c 65 76 65 6c 2c 20 24 his->setPropagateLearn($level,.$
61e20 6c 61 73 74 4c 69 74 65 72 61 6c 2c 20 24 64 69 73 61 62 6c 65 52 75 6c 65 73 2c 20 24 77 68 79 lastLiteral,.$disableRules,.$why
61e40 29 3b 0a 0a 69 66 20 28 24 6c 65 76 65 6c 20 3d 3d 20 30 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d );..if.($level.==.0).{.return;.}
61e60 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 7d 0a 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f ..continue;.}.}..break;.}.}.}.<?
61e80 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
61ea0 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
61ec0 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 5c 4c 69 6e 6b 43 ser\Package\LinkConstraint\LinkC
61ee0 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 65 onstraintInterface;.....class.Re
61f00 71 75 65 73 74 0a 7b 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 quest.{.protected.$jobs;.protect
61f20 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 6f 6e ed.$pool;..public.function.__con
61f40 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 6f 6c struct(Pool.$pool).{.$this->pool
61f60 20 3d 20 24 70 6f 6f 6c 3b 0a 24 74 68 69 73 2d 3e 6a 6f 62 73 20 3d 20 61 72 72 61 79 28 29 3b .=.$pool;.$this->jobs.=.array();
61f80 0a 7d 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 24 70 61 63 .}..public.function.install($pac
61fa0 6b 61 67 65 4e 61 6d 65 2c 20 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 kageName,.LinkConstraintInterfac
61fc0 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 73 2d 3e 61 e.$constraint.=.null).{.$this->a
61fe0 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 27 2c 20 24 ddJob($packageName,.'install',.$
62000 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 69 6f 6e 20 constraint);.}..public.function.
62020 75 70 64 61 74 65 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 4c 69 6e 6b 43 6f 6e 73 74 72 61 update($packageName,.LinkConstra
62040 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)
62060 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,.'
62080 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
620a0 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 4c .function.remove($packageName,.L
620c0 69 6e 6b 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 inkConstraintInterface.$constrai
620e0 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 62 28 24 70 61 63 6b nt.=.null).{.$this->addJob($pack
62100 61 67 65 4e 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 ageName,.'remove',.$constraint);
62120 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 4a 6f 62 28 24 70 .}..protected.function.addJob($p
62140 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 63 6d 64 2c 20 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 ackageName,.$cmd,.LinkConstraint
62160 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 0a 7b 0a Interface.$constraint.=.null).{.
62180 24 70 61 63 6b 61 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 $packageName.=.strtolower($packa
621a0 67 65 4e 61 6d 65 29 3b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c geName);.$packages.=.$this->pool
621c0 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 20 24 63 6f ->whatProvides($packageName,.$co
621e0 6e 73 74 72 61 69 6e 74 29 3b 0a 0a 24 74 68 69 73 2d 3e 6a 6f 62 73 5b 5d 20 3d 20 61 72 72 61 nstraint);..$this->jobs[].=.arra
62200 79 28 0a 27 70 61 63 6b 61 67 65 73 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 73 2c 0a 27 63 6d 64 y(.'packages'.=>.$packages,.'cmd
62220 27 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 '.=>.$cmd,.'packageName'.=>.$pac
62240 6b 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 kageName,.'constraint'.=>.$const
62260 72 61 69 6e 74 2c 0a 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 raint,.);.}..public.function.upd
62280 61 74 65 41 6c 6c 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 6a 6f 62 73 5b 5d 20 3d 20 61 72 72 61 79 ateAll().{.$this->jobs[].=.array
622a0 28 27 63 6d 64 27 20 3d 3e 20 27 75 70 64 61 74 65 2d 61 6c 6c 27 2c 20 27 70 61 63 6b 61 67 65 ('cmd'.=>.'update-all',.'package
622c0 73 27 20 3d 3e 20 61 72 72 61 79 28 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 s'.=>.array());.}..public.functi
622e0 6f 6e 20 67 65 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 on.getJobs().{.return.$this->job
62300 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 73 70 61 63 s;.}.}.<?php............namespac
62320 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;..
62340 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 62 6c 65 6d 0a 7b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 .....class.Problem.{.....protect
62360 65 64 20 24 72 65 61 73 6f 6e 53 65 65 6e 3b 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 ed.$reasonSeen;......protected.$
62380 72 65 61 73 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 73 reasons.=.array();..protected.$s
623a0 65 63 74 69 6f 6e 20 3d 20 30 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 6f 6f 6c 3b 0a 0a 70 ection.=.0;..protected.$pool;..p
623c0 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 50 6f 6f 6c 20 ublic.function.__construct(Pool.
623e0 24 70 6f 6f 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 6f 6f 6c 20 3d 20 24 70 6f 6f 6c 3b 0a 7d 0a $pool).{.$this->pool.=.$pool;.}.
62400 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 75 6c 65 28 52 75 ......public.function.addRule(Ru
62420 6c 65 20 24 72 75 6c 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 64 64 52 65 61 73 6f 6e 28 24 72 75 le.$rule).{.$this->addReason($ru
62440 6c 65 2d 3e 67 65 74 49 64 28 29 2c 20 61 72 72 61 79 28 0a 27 72 75 6c 65 27 20 3d 3e 20 24 72 le->getId(),.array(.'rule'.=>.$r
62460 75 6c 65 2c 0a 27 6a 6f 62 27 20 3d 3e 20 24 72 75 6c 65 2d 3e 67 65 74 4a 6f 62 28 29 2c 0a 29 ule,.'job'.=>.$rule->getJob(),.)
62480 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 52 65 );.}.......public.function.getRe
624a0 61 73 6f 6e 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 73 3b asons().{.return.$this->reasons;
624c0 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 50 72 65 .}........public.function.getPre
624e0 74 74 79 53 74 72 69 6e 67 28 61 72 72 61 79 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 20 3d 20 ttyString(array.$installedMap.=.
62500 61 72 72 61 79 28 29 29 0a 7b 0a 24 72 65 61 73 6f 6e 73 20 3d 20 63 61 6c 6c 5f 75 73 65 72 5f array()).{.$reasons.=.call_user_
62520 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 61 72 72 61 79 5f func_array('array_merge',.array_
62540 72 65 76 65 72 73 65 28 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 73 29 29 3b 0a 0a 69 66 20 28 63 reverse($this->reasons));..if.(c
62560 6f 75 6e 74 28 24 72 65 61 73 6f 6e 73 29 20 3d 3d 3d 20 31 29 20 7b 0a 72 65 73 65 74 28 24 72 ount($reasons).===.1).{.reset($r
62580 65 61 73 6f 6e 73 29 3b 0a 24 72 65 61 73 6f 6e 20 3d 20 63 75 72 72 65 6e 74 28 24 72 65 61 73 easons);.$reason.=.current($reas
625a0 6f 6e 73 29 3b 0a 0a 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 ons);..$rule.=.$reason['rule'];.
625c0 24 6a 6f 62 20 3d 20 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 $job.=.$reason['job'];..if.($job
625e0 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 26 .&&.$job['cmd'].===.'install'.&&
62600 20 65 6d 70 74 79 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 73 27 5d 29 29 20 7b 0a 0a 20 69 66 .empty($job['packages'])).{...if
62620 20 28 30 20 3d 3d 3d 20 73 74 72 69 70 6f 73 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d .(0.===.stripos($job['packageNam
62640 65 27 5d 2c 20 27 65 78 74 2d 27 29 29 20 7b 0a 24 65 78 74 20 3d 20 73 75 62 73 74 72 28 24 6a e'],.'ext-')).{.$ext.=.substr($j
62660 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2c 20 34 29 3b 0a 24 65 72 72 6f 72 20 3d 20 ob['packageName'],.4);.$error.=.
62680 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 74 68 extension_loaded($ext).?.'has.th
626a0 65 20 77 72 6f 6e 67 20 76 65 72 73 69 6f 6e 20 28 27 2e 70 68 70 76 65 72 73 69 6f 6e 28 24 65 e.wrong.version.('.phpversion($e
626c0 78 74 29 2e 27 29 20 69 6e 73 74 61 6c 6c 65 64 27 20 3a 20 27 69 73 20 6d 69 73 73 69 6e 67 20 xt).').installed'.:.'is.missing.
626e0 66 72 6f 6d 20 79 6f 75 72 20 73 79 73 74 65 6d 27 3b 0a 0a 72 65 74 75 72 6e 20 22 5c 6e 20 20 from.your.system';..return."\n..
62700 20 20 2d 20 54 68 65 20 72 65 71 75 65 73 74 65 64 20 50 48 50 20 65 78 74 65 6e 73 69 6f 6e 20 ..-.The.requested.PHP.extension.
62720 22 2e 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2e 24 74 68 69 73 2d 3e 63 6f 6e ".$job['packageName'].$this->con
62740 73 74 72 61 69 6e 74 54 6f 54 65 78 74 28 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d straintToText($job['constraint']
62760 29 2e 27 20 27 2e 24 65 72 72 6f 72 2e 27 2e 27 3b 0a 7d 0a 0a 0a 20 69 66 20 28 30 20 3d 3d 3d ).'.'.$error.'.';.}....if.(0.===
62780 20 73 74 72 69 70 6f 73 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2c 20 27 6c .stripos($job['packageName'],.'l
627a0 69 62 2d 27 29 29 20 7b 0a 69 66 20 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 6a 6f 62 5b 27 70 61 ib-')).{.if.(strtolower($job['pa
627c0 63 6b 61 67 65 4e 61 6d 65 27 5d 29 20 3d 3d 3d 20 27 6c 69 62 2d 69 63 75 27 29 20 7b 0a 24 65 ckageName']).===.'lib-icu').{.$e
627e0 72 72 6f 72 20 3d 20 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 69 6e 74 6c 27 29 20 rror.=.extension_loaded('intl').
62800 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 69 6e 73 74 61 6c 6c ?.'has.the.wrong.version.install
62820 65 64 2c 20 74 72 79 20 75 70 67 72 61 64 69 6e 67 20 74 68 65 20 69 6e 74 6c 20 65 78 74 65 6e ed,.try.upgrading.the.intl.exten
62840 73 69 6f 6e 2e 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 20 73 sion.'.:.'is.missing.from.your.s
62860 79 73 74 65 6d 2c 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65 20 69 6e 74 6c 20 65 78 74 65 6e 73 ystem,.make.sure.the.intl.extens
62880 69 6f 6e 20 69 73 20 6c 6f 61 64 65 64 2e 27 3b 0a 0a 72 65 74 75 72 6e 20 22 5c 6e 20 20 20 20 ion.is.loaded.';..return."\n....
628a0 2d 20 54 68 65 20 72 65 71 75 65 73 74 65 64 20 6c 69 6e 6b 65 64 20 6c 69 62 72 61 72 79 20 22 -.The.requested.linked.library."
628c0 2e 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2e 24 74 68 69 73 2d 3e 63 6f 6e 73 .$job['packageName'].$this->cons
628e0 74 72 61 69 6e 74 54 6f 54 65 78 74 28 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 traintToText($job['constraint'])
62900 2e 27 20 27 2e 24 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 .'.'.$error;.}..return."\n....-.
62920 54 68 65 20 72 65 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 The.requested.linked.library.".$
62940 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2e 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 job['packageName'].$this->constr
62960 61 69 6e 74 54 6f 54 65 78 74 28 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 2e 27 aintToText($job['constraint']).'
62980 20 68 61 73 20 74 68 65 20 77 72 6f 6e 67 20 76 65 72 73 69 6f 6e 20 69 6e 73 74 61 6c 6c 65 64 .has.the.wrong.version.installed
629a0 20 6f 72 20 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 2c .or.is.missing.from.your.system,
629c0 20 6d 61 6b 65 20 73 75 72 65 20 74 6f 20 6c 6f 61 64 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e .make.sure.to.load.the.extension
629e0 20 70 72 6f 76 69 64 69 6e 67 20 69 74 2e 27 3b 0a 7d 0a 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 .providing.it.';.}..if.(!preg_ma
62a00 74 63 68 28 27 7b 5e 5b 41 2d 5a 61 2d 7a 30 2d 39 5f 2e 2f 2d 5d 2b 24 7d 27 2c 20 24 6a 6f 62 tch('{^[A-Za-z0-9_./-]+$}',.$job
62a20 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 29 29 20 7b 0a 24 69 6c 6c 65 67 61 6c 43 68 61 72 ['packageName'])).{.$illegalChar
62a40 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 2d 39 5f 2e 2f s.=.preg_replace('{[A-Za-z0-9_./
62a60 2d 5d 2b 7d 27 2c 20 27 27 2c 20 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 29 3b -]+}',.'',.$job['packageName']);
62a80 0a 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 64 20 ..return."\n....-.The.requested.
62aa0 70 61 63 6b 61 67 65 20 22 2e 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2e 27 20 package.".$job['packageName'].'.
62ac0 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 6f 75 6e 64 2c 20 69 74 20 6c 6f 6f 6b 73 20 6c 69 6b could.not.be.found,.it.looks.lik
62ae0 65 20 69 74 73 20 6e 61 6d 65 20 69 73 20 69 6e 76 61 6c 69 64 2c 20 22 27 2e 24 69 6c 6c 65 67 e.its.name.is.invalid,."'.$illeg
62b00 61 6c 43 68 61 72 73 2e 27 22 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 20 69 6e 20 70 61 63 alChars.'".is.not.allowed.in.pac
62b20 6b 61 67 65 20 6e 61 6d 65 73 2e 27 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 70 6f 6f kage.names.';.}..if.(!$this->poo
62b40 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
62b60 65 27 5d 29 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 e'])).{.return."\n....-.The.requ
62b80 65 73 74 65 64 20 70 61 63 6b 61 67 65 20 22 2e 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d ested.package.".$job['packageNam
62ba0 65 27 5d 2e 27 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 6f 75 6e 64 20 69 6e 20 61 6e 79 20 e'].'.could.not.be.found.in.any.
62bc0 76 65 72 73 69 6f 6e 2c 20 74 68 65 72 65 20 6d 61 79 20 62 65 20 61 20 74 79 70 6f 20 69 6e 20 version,.there.may.be.a.typo.in.
62be0 74 68 65 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 2e 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 22 5c the.package.name.';.}..return."\
62c00 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 67 65 20 22 2e 24 n....-.The.requested.package.".$
62c20 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2e 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 job['packageName'].$this->constr
62c40 61 69 6e 74 54 6f 54 65 78 74 28 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 2e 27 aintToText($job['constraint']).'
62c60 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 6f 75 6e 64 2e 27 3b 0a 7d 0a 7d 0a 0a 24 6d 65 73 .could.not.be.found.';.}.}..$mes
62c80 73 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 72 65 61 73 sages.=.array();..foreach.($reas
62ca0 6f 6e 73 20 61 73 20 24 72 65 61 73 6f 6e 29 20 7b 0a 24 72 75 6c 65 20 3d 20 24 72 65 61 73 6f ons.as.$reason).{.$rule.=.$reaso
62cc0 6e 5b 27 72 75 6c 65 27 5d 3b 0a 24 6a 6f 62 20 3d 20 24 72 65 61 73 6f 6e 5b 27 6a 6f 62 27 5d n['rule'];.$job.=.$reason['job']
62ce0 3b 0a 0a 69 66 20 28 24 6a 6f 62 29 20 7b 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 24 74 68 ;..if.($job).{.$messages[].=.$th
62d00 69 73 2d 3e 6a 6f 62 54 6f 54 65 78 74 28 24 6a 6f 62 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 is->jobToText($job);.}.elseif.($
62d20 72 75 6c 65 29 20 7b 0a 69 66 20 28 24 72 75 6c 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 52 75 6c rule).{.if.($rule.instanceof.Rul
62d40 65 29 20 7b 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 24 72 75 6c 65 2d 3e 67 65 74 50 72 65 e).{.$messages[].=.$rule->getPre
62d60 74 74 79 53 74 72 69 6e 67 28 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 29 3b 0a 7d 0a 7d 0a 7d 0a ttyString($installedMap);.}.}.}.
62d80 0a 72 65 74 75 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 .return."\n....-.".implode("\n..
62da0 20 20 2d 20 22 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 ..-.",.$messages);.}........prot
62dc0 65 63 74 65 64 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 ected.function.addReason($id,.$r
62de0 65 61 73 6f 6e 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 eason).{.if.(!isset($this->reaso
62e00 6e 53 65 65 6e 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 nSeen[$id])).{.$this->reasonSeen
62e20 5b 24 69 64 5d 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 [$id].=.true;.$this->reasons[$th
62e40 69 73 2d 3e 73 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 is->section][].=.$reason;.}.}..p
62e60 75 62 6c 69 63 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 ublic.function.nextSection().{.$
62e80 74 68 69 73 2d 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 this->section++;.}........protec
62ea0 74 65 64 20 66 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 73 ted.function.jobToText($job).{.s
62ec0 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 74 witch.($job['cmd']).{.case.'inst
62ee0 61 6c 6c 27 3a 0a 69 66 20 28 21 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 73 27 5d 29 20 7b 0a 72 all':.if.(!$job['packages']).{.r
62f00 65 74 75 72 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 eturn.'No.package.found.to.satis
62f20 66 79 20 69 6e 73 74 61 6c 6c 20 72 65 71 75 65 73 74 20 66 6f 72 20 27 2e 24 6a 6f 62 5b 27 70 fy.install.request.for.'.$job['p
62f40 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2e 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 54 6f ackageName'].$this->constraintTo
62f60 54 65 78 74 28 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 3b 0a 7d 0a 0a 72 65 74 Text($job['constraint']);.}..ret
62f80 75 72 6e 20 27 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 72 65 71 75 65 73 74 20 66 6f 72 20 27 2e urn.'Installation.request.for.'.
62fa0 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2e 24 74 68 69 73 2d 3e 63 6f 6e 73 74 $job['packageName'].$this->const
62fc0 72 61 69 6e 74 54 6f 54 65 78 74 28 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 2e raintToText($job['constraint']).
62fe0 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
63000 50 61 63 6b 61 67 65 4c 69 73 74 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 73 27 5d 29 2e 27 2e PackageList($job['packages']).'.
63020 27 3b 0a 63 61 73 65 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 ';.case.'update':.return.'Update
63040 20 72 65 71 75 65 73 74 20 66 6f 72 20 27 2e 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 .request.for.'.$job['packageName
63060 27 5d 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 6a 6f 62 5b '].$this->constraintToText($job[
63080 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 2e 27 2e 27 3b 0a 63 61 73 65 20 27 72 65 6d 6f 76 65 'constraint']).'.';.case.'remove
630a0 27 3a 0a 72 65 74 75 72 6e 20 27 52 65 6d 6f 76 61 6c 20 72 65 71 75 65 73 74 20 66 6f 72 20 27 ':.return.'Removal.request.for.'
630c0 2e 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2e 24 74 68 69 73 2d 3e 63 6f 6e 73 .$job['packageName'].$this->cons
630e0 74 72 61 69 6e 74 54 6f 54 65 78 74 28 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 traintToText($job['constraint'])
63100 2e 27 27 3b 0a 7d 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 .'';.}..return.'Job(cmd='.$job['
63120 63 6d 64 27 5d 2e 27 2c 20 74 61 72 67 65 74 3d 27 2e 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e cmd'].',.target='.$job['packageN
63140 61 6d 65 27 5d 2e 27 2c 20 70 61 63 6b 61 67 65 73 3d 5b 27 2e 24 74 68 69 73 2d 3e 67 65 74 50 ame'].',.packages=['.$this->getP
63160 61 63 6b 61 67 65 4c 69 73 74 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 73 27 5d 29 2e 27 5d 29 ackageList($job['packages']).'])
63180 27 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 61 63 6b ';.}..protected.function.getPack
631a0 61 67 65 4c 69 73 74 28 24 70 61 63 6b 61 67 65 73 29 0a 7b 0a 24 70 72 65 70 61 72 65 64 20 3d ageList($packages).{.$prepared.=
631c0 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.
631e0 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 70 72 65 70 61 72 65 64 5b 24 70 61 63 6b 61 67 65 2d 3e $package).{.$prepared[$package->
63200 67 65 74 4e 61 6d 65 28 29 5d 5b 27 6e 61 6d 65 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 getName()]['name'].=.$package->g
63220 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 3b 0a 24 70 72 65 70 61 72 65 64 5b 24 70 61 63 6b 61 etPrettyName();.$prepared[$packa
63240 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 27 76 65 72 73 69 6f 6e 73 27 5d 5b 24 70 61 63 6b ge->getName()]['versions'][$pack
63260 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 age->getVersion()].=.$package->g
63280 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 70 etPrettyVersion();.}.foreach.($p
632a0 72 65 70 61 72 65 64 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 70 61 63 6b 61 67 65 29 20 7b 0a repared.as.$name.=>.$package).{.
632c0 24 70 72 65 70 61 72 65 64 5b 24 6e 61 6d 65 5d 20 3d 20 24 70 61 63 6b 61 67 65 5b 27 6e 61 6d $prepared[$name].=.$package['nam
632e0 65 27 5d 2e 27 5b 27 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 70 61 63 6b 61 67 65 5b 27 e'].'['.implode(',.',.$package['
63300 76 65 72 73 69 6f 6e 73 27 5d 29 2e 27 5d 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f versions']).']';.}..return.implo
63320 64 65 28 27 2c 20 27 2c 20 24 70 72 65 70 61 72 65 64 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 de(',.',.$prepared);.}........pr
63340 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 54 6f 54 65 78 otected.function.constraintToTex
63360 74 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 0a 7b 0a 72 65 74 75 72 6e 20 28 24 63 6f 6e 73 74 72 t($constraint).{.return.($constr
63380 61 69 6e 74 29 20 3f 20 27 20 27 2e 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 67 65 74 50 72 65 74 aint).?.'.'.$constraint->getPret
633a0 74 79 53 74 72 69 6e 67 28 29 20 3a 20 27 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a tyString().:.'';.}.}.<?php......
633c0 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
633e0 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 75 ncyResolver;............class.Ru
63400 6c 65 57 61 74 63 68 47 72 61 70 68 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 77 61 74 63 68 43 leWatchGraph.{.protected.$watchC
63420 68 61 69 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 hains.=.array();..............pu
63440 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 65 72 74 28 52 75 6c 65 57 61 74 63 68 4e 6f blic.function.insert(RuleWatchNo
63460 64 65 20 24 6e 6f 64 65 29 0a 7b 0a 69 66 20 28 24 6e 6f 64 65 2d 3e 67 65 74 52 75 6c 65 28 29 de.$node).{.if.($node->getRule()
63480 2d 3e 69 73 41 73 73 65 72 74 69 6f 6e 28 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 66 6f ->isAssertion()).{.return;.}..fo
634a0 72 65 61 63 68 20 28 61 72 72 61 79 28 24 6e 6f 64 65 2d 3e 77 61 74 63 68 31 2c 20 24 6e 6f 64 reach.(array($node->watch1,.$nod
634c0 65 2d 3e 77 61 74 63 68 32 29 20 61 73 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 69 66 20 28 21 69 e->watch2).as.$literal).{.if.(!i
634e0 73 73 65 74 28 24 74 68 69 73 2d 3e 77 61 74 63 68 43 68 61 69 6e 73 5b 24 6c 69 74 65 72 61 6c sset($this->watchChains[$literal
63500 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 74 63 68 43 68 61 69 6e 73 5b 24 6c 69 74 65 72 61 ])).{.$this->watchChains[$litera
63520 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 74 68 69 l].=.new.RuleWatchChain;.}..$thi
63540 73 2d 3e 77 61 74 63 68 43 68 61 69 6e 73 5b 24 6c 69 74 65 72 61 6c 5d 2d 3e 75 6e 73 68 69 66 s->watchChains[$literal]->unshif
63560 74 28 24 6e 6f 64 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a t($node);.}.}...................
63580 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 70 61 67 61 74 65 4c ......public.function.propagateL
635a0 69 74 65 72 61 6c 28 24 64 65 63 69 64 65 64 4c 69 74 65 72 61 6c 2c 20 24 6c 65 76 65 6c 2c 20 iteral($decidedLiteral,.$level,.
635c0 24 64 65 63 69 73 69 6f 6e 73 29 0a 7b 0a 0a 20 0a 20 0a 20 24 6c 69 74 65 72 61 6c 20 3d 20 2d $decisions).{.......$literal.=.-
635e0 24 64 65 63 69 64 65 64 4c 69 74 65 72 61 6c 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 $decidedLiteral;..if.(!isset($th
63600 69 73 2d 3e 77 61 74 63 68 43 68 61 69 6e 73 5b 24 6c 69 74 65 72 61 6c 5d 29 29 20 7b 0a 72 65 is->watchChains[$literal])).{.re
63620 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 63 68 61 69 6e 20 3d 20 24 74 68 69 73 2d 3e 77 61 turn.null;.}..$chain.=.$this->wa
63640 74 63 68 43 68 61 69 6e 73 5b 24 6c 69 74 65 72 61 6c 5d 3b 0a 0a 24 63 68 61 69 6e 2d 3e 72 65 tchChains[$literal];..$chain->re
63660 77 69 6e 64 28 29 3b 0a 77 68 69 6c 65 20 28 24 63 68 61 69 6e 2d 3e 76 61 6c 69 64 28 29 29 20 wind();.while.($chain->valid()).
63680 7b 0a 24 6e 6f 64 65 20 3d 20 24 63 68 61 69 6e 2d 3e 63 75 72 72 65 6e 74 28 29 3b 0a 24 6f 74 {.$node.=.$chain->current();.$ot
636a0 68 65 72 57 61 74 63 68 20 3d 20 24 6e 6f 64 65 2d 3e 67 65 74 4f 74 68 65 72 57 61 74 63 68 28 herWatch.=.$node->getOtherWatch(
636c0 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 69 66 20 28 21 24 6e 6f 64 65 2d 3e 67 65 74 52 75 6c 65 28 $literal);..if.(!$node->getRule(
636e0 29 2d 3e 69 73 44 69 73 61 62 6c 65 64 28 29 20 26 26 20 21 24 64 65 63 69 73 69 6f 6e 73 2d 3e )->isDisabled().&&.!$decisions->
63700 73 61 74 69 73 66 79 28 24 6f 74 68 65 72 57 61 74 63 68 29 29 20 7b 0a 24 72 75 6c 65 4c 69 74 satisfy($otherWatch)).{.$ruleLit
63720 65 72 61 6c 73 20 3d 20 24 6e 6f 64 65 2d 3e 67 65 74 52 75 6c 65 28 29 2d 3e 67 65 74 4c 69 74 erals.=.$node->getRule()->getLit
63740 65 72 61 6c 73 28 29 3b 0a 0a 24 61 6c 74 65 72 6e 61 74 69 76 65 4c 69 74 65 72 61 6c 73 20 3d erals();..$alternativeLiterals.=
63760 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 24 72 75 6c 65 4c 69 74 65 72 61 6c 73 2c 20 66 75 6e .array_filter($ruleLiterals,.fun
63780 63 74 69 6f 6e 20 28 24 72 75 6c 65 4c 69 74 65 72 61 6c 29 20 75 73 65 20 28 24 6c 69 74 65 72 ction.($ruleLiteral).use.($liter
637a0 61 6c 2c 20 24 6f 74 68 65 72 57 61 74 63 68 2c 20 24 64 65 63 69 73 69 6f 6e 73 29 20 7b 0a 72 al,.$otherWatch,.$decisions).{.r
637c0 65 74 75 72 6e 20 24 6c 69 74 65 72 61 6c 20 21 3d 3d 20 24 72 75 6c 65 4c 69 74 65 72 61 6c 20 eturn.$literal.!==.$ruleLiteral.
637e0 26 26 0a 24 6f 74 68 65 72 57 61 74 63 68 20 21 3d 3d 20 24 72 75 6c 65 4c 69 74 65 72 61 6c 20 &&.$otherWatch.!==.$ruleLiteral.
63800 26 26 0a 21 24 64 65 63 69 73 69 6f 6e 73 2d 3e 63 6f 6e 66 6c 69 63 74 28 24 72 75 6c 65 4c 69 &&.!$decisions->conflict($ruleLi
63820 74 65 72 61 6c 29 3b 0a 7d 29 3b 0a 0a 69 66 20 28 24 61 6c 74 65 72 6e 61 74 69 76 65 4c 69 74 teral);.});..if.($alternativeLit
63840 65 72 61 6c 73 29 20 7b 0a 72 65 73 65 74 28 24 61 6c 74 65 72 6e 61 74 69 76 65 4c 69 74 65 72 erals).{.reset($alternativeLiter
63860 61 6c 73 29 3b 0a 24 74 68 69 73 2d 3e 6d 6f 76 65 57 61 74 63 68 28 24 6c 69 74 65 72 61 6c 2c als);.$this->moveWatch($literal,
63880 20 63 75 72 72 65 6e 74 28 24 61 6c 74 65 72 6e 61 74 69 76 65 4c 69 74 65 72 61 6c 73 29 2c 20 .current($alternativeLiterals),.
638a0 24 6e 6f 64 65 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 64 65 63 69 73 69 $node);.continue;.}..if.($decisi
638c0 6f 6e 73 2d 3e 63 6f 6e 66 6c 69 63 74 28 24 6f 74 68 65 72 57 61 74 63 68 29 29 20 7b 0a 72 65 ons->conflict($otherWatch)).{.re
638e0 74 75 72 6e 20 24 6e 6f 64 65 2d 3e 67 65 74 52 75 6c 65 28 29 3b 0a 7d 0a 0a 24 64 65 63 69 73 turn.$node->getRule();.}..$decis
63900 69 6f 6e 73 2d 3e 64 65 63 69 64 65 28 24 6f 74 68 65 72 57 61 74 63 68 2c 20 24 6c 65 76 65 6c ions->decide($otherWatch,.$level
63920 2c 20 24 6e 6f 64 65 2d 3e 67 65 74 52 75 6c 65 28 29 29 3b 0a 7d 0a 0a 24 63 68 61 69 6e 2d 3e ,.$node->getRule());.}..$chain->
63940 6e 65 78 74 28 29 3b 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 next();.}..return.null;.}.......
63960 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6d 6f 76 65 57 61 74 63 68 ....protected.function.moveWatch
63980 28 24 66 72 6f 6d 4c 69 74 65 72 61 6c 2c 20 24 74 6f 4c 69 74 65 72 61 6c 2c 20 24 6e 6f 64 65 ($fromLiteral,.$toLiteral,.$node
639a0 29 0a 7b 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 ).{.if.(!isset($this->watchChain
639c0 73 5b 24 74 6f 4c 69 74 65 72 61 6c 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 74 63 68 43 68 s[$toLiteral])).{.$this->watchCh
639e0 61 69 6e 73 5b 24 74 6f 4c 69 74 65 72 61 6c 5d 20 3d 20 6e 65 77 20 52 75 6c 65 57 61 74 63 68 ains[$toLiteral].=.new.RuleWatch
63a00 43 68 61 69 6e 3b 0a 7d 0a 0a 24 6e 6f 64 65 2d 3e 6d 6f 76 65 57 61 74 63 68 28 24 66 72 6f 6d Chain;.}..$node->moveWatch($from
63a20 4c 69 74 65 72 61 6c 2c 20 24 74 6f 4c 69 74 65 72 61 6c 29 3b 0a 24 74 68 69 73 2d 3e 77 61 74 Literal,.$toLiteral);.$this->wat
63a40 63 68 43 68 61 69 6e 73 5b 24 66 72 6f 6d 4c 69 74 65 72 61 6c 5d 2d 3e 72 65 6d 6f 76 65 28 29 chChains[$fromLiteral]->remove()
63a60 3b 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 6c 5d ;.$this->watchChains[$toLiteral]
63a80 2d 3e 75 6e 73 68 69 66 74 28 24 6e 6f 64 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a ->unshift($node);.}.}.<?php.....
63aa0 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 6e 66 69 67 .......namespace.Composer\Config
63ac0 3b 0a 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 43 6f 6e 66 69 67 53 6f 75 72 63 65 49 ;........interface.ConfigSourceI
63ae0 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 6e 63 74 69 6f 6e nterface.{.......public.function
63b00 20 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 3b 0a .addRepository($name,.$config);.
63b20 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 52 65 70 6f ......public.function.removeRepo
63b40 73 69 74 6f 72 79 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 sitory($name);........public.fun
63b60 63 74 69 6f 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 ction.addConfigSetting($name,.$v
63b80 61 6c 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 72 65 6d alue);.......public.function.rem
63ba0 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 6e 61 6d 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a oveConfigSetting($name);........
63bc0 0a 70 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 .public.function.addLink($type,.
63be0 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 $name,.$value);........public.fu
63c00 6e 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 3b nction.removeLink($type,.$name);
63c20 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
63c40 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f mposer\Config;..use.Composer\Jso
63c60 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 4a 73 6f 6e 5c 4a 73 n\JsonFile;.use.Composer\Json\Js
63c80 6f 6e 4d 61 6e 69 70 75 6c 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4a 73 6f 6e onManipulator;........class.Json
63ca0 43 6f 6e 66 69 67 53 6f 75 72 63 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f 6e 66 69 67 53 6f ConfigSource.implements.ConfigSo
63cc0 75 72 63 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 3b 0a 70 urceInterface.{.private.$file;.p
63ce0 72 69 76 61 74 65 20 24 6d 61 6e 69 70 75 6c 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 rivate.$manipulator;.......publi
63d00 63 20 66 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 c.function.__construct(JsonFile.
63d20 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 0a $file).{.$this->file.=.$file;.}.
63d40 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 6f 72 ....public.function.addRepositor
63d60 79 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 61 6e 69 70 y($name,.$config).{.$this->manip
63d80 75 6c 61 74 65 4a 73 6f 6e 28 27 61 64 64 52 65 70 6f 73 69 74 6f 72 79 27 2c 20 24 6e 61 6d 65 ulateJson('addRepository',.$name
63da0 2c 20 24 63 6f 6e 66 69 67 2c 20 66 75 6e 63 74 69 6f 6e 20 28 26 24 63 6f 6e 66 69 67 2c 20 24 ,.$config,.function.(&$config,.$
63dc0 72 65 70 6f 2c 20 24 72 65 70 6f 43 6f 6e 66 69 67 29 20 7b 0a 24 63 6f 6e 66 69 67 5b 27 72 65 repo,.$repoConfig).{.$config['re
63de0 70 6f 73 69 74 6f 72 69 65 73 27 5d 5b 24 72 65 70 6f 5d 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 positories'][$repo].=.$repoConfi
63e00 67 3b 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 g;.});.}.....public.function.rem
63e20 6f 76 65 52 65 70 6f 73 69 74 6f 72 79 28 24 6e 61 6d 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 61 oveRepository($name).{.$this->ma
63e40 6e 69 70 75 6c 61 74 65 4a 73 6f 6e 28 27 72 65 6d 6f 76 65 52 65 70 6f 73 69 74 6f 72 79 27 2c nipulateJson('removeRepository',
63e60 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 72 65 70 .$name,.function.(&$config,.$rep
63e80 6f 29 20 7b 0a 75 6e 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 73 o).{.unset($config['repositories
63ea0 27 5d 5b 24 72 65 70 6f 5d 29 3b 0a 7d 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e '][$repo]);.});.}.....public.fun
63ec0 63 74 69 6f 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 ction.addConfigSetting($name,.$v
63ee0 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 61 alue).{.$this->manipulateJson('a
63f00 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 27 2c 20 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 2c ddConfigSetting',.$name,.$value,
63f20 20 66 75 6e 63 74 69 6f 6e 20 28 26 24 63 6f 6e 66 69 67 2c 20 24 6b 65 79 2c 20 24 76 61 6c 29 .function.(&$config,.$key,.$val)
63f40 20 7b 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 .{.$config['config'][$key].=.$va
63f60 6c 3b 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 l;.});.}.....public.function.rem
63f80 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 74 68 69 73 2d oveConfigSetting($name).{.$this-
63fa0 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 74 >manipulateJson('removeConfigSet
63fc0 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 67 ting',.$name,.function.(&$config
63fe0 2c 20 24 6b 65 79 29 20 7b 0a 75 6e 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 63 6f 6e 66 69 67 27 ,.$key).{.unset($config['config'
64000 5d 5b 24 6b 65 79 5d 29 3b 0a 7d 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ][$key]);.});.}.....public.funct
64020 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 76 61 6c 75 65 ion.addLink($type,.$name,.$value
64040 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 61 64 64 4c 69 ).{.$this->manipulateJson('addLi
64060 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 66 75 6e 63 74 nk',.$type,.$name,.$value,.funct
64080 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 2c 20 24 76 61 ion.(&$config,.$type,.$name,.$va
640a0 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 5d 20 3d 20 24 lue).{.$config[$type][$name].=.$
640c0 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 63 74 69 6f 6e value;.});.}.....public.function
640e0 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 0a 24 74 68 69 .removeLink($type,.$name).{.$thi
64100 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 62 4e 6f 64 65 s->manipulateJson('removeSubNode
64120 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 26 24 63 6f 6e ',.$type,.$name,.function.(&$con
64140 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 24 63 6f 6e 66 fig,.$type,.$name).{.unset($conf
64160 69 67 5b 24 74 79 70 65 5d 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 ig[$type][$name]);.});.}..protec
64180 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 65 74 ted.function.manipulateJson($met
641a0 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 20 3d hod,.$args,.$fallback).{.$args.=
641c0 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 74 28 .func_get_args();...array_shift(
641e0 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 24 61 $args);.$fallback.=.array_pop($a
64200 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 28 29 rgs);..if.($this->file->exists()
64220 29 20 7b 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
64240 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
64260 65 20 7b 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 22 7b 5c 6e 20 20 20 20 5c 22 63 6f 6e 66 69 67 e.{.$contents.=."{\n....\"config
64280 5c 22 3a 20 7b 5c 6e 20 20 20 20 7d 5c 6e 7d 5c 6e 22 3b 0a 7d 0a 24 6d 61 6e 69 70 75 6c 61 74 \":.{\n....}\n}\n";.}.$manipulat
642a0 6f 72 20 3d 20 6e 65 77 20 4a 73 6f 6e 4d 61 6e 69 70 75 6c 61 74 6f 72 28 24 63 6f 6e 74 65 6e or.=.new.JsonManipulator($conten
642c0 74 73 29 3b 0a 0a 24 6e 65 77 46 69 6c 65 20 3d 20 21 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 65 ts);..$newFile.=.!$this->file->e
642e0 78 69 73 74 73 28 29 3b 0a 0a 0a 20 69 66 20 28 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 xists();....if.(call_user_func_a
64300 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 64 rray(array($manipulator,.$method
64320 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 24 ),.$args)).{.file_put_contents($
64340 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 61 this->file->getPath(),.$manipula
64360 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 20 tor->getContents());.}.else.{...
64380 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 61 $config.=.$this->file->read();.a
643a0 72 72 61 79 5f 75 6e 73 68 69 66 74 28 24 61 72 67 73 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 63 61 rray_unshift($args,.$config);.ca
643c0 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 24 66 61 6c 6c 62 61 63 6b 2c 20 24 61 ll_user_func_array($fallback,.$a
643e0 72 67 73 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 77 72 69 74 65 28 24 63 6f 6e 66 69 67 rgs);.$this->file->write($config
64400 29 3b 0a 7d 0a 0a 69 66 20 28 24 6e 65 77 46 69 6c 65 29 20 7b 0a 63 68 6d 6f 64 28 24 74 68 69 );.}..if.($newFile).{.chmod($thi
64420 73 2d 3e 66 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 7d s->file->getPath(),.0600);.}.}.}
64440 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
64460 6f 73 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 4a 73 6f 6e 43 oser;..use.Composer\Config\JsonC
64480 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 4a 73 6f 6e 5c 4a onfigSource;.use.Composer\Json\J
644a0 73 6f 6e 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 sonFile;.use.Composer\IO\IOInter
644c0 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 41 72 63 68 69 face;.use.Composer\Package\Archi
644e0 76 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 ver;.use.Composer\Repository\Com
64500 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
64520 70 6f 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 pository\RepositoryManager;.use.
64540 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 3b 0a 75 Composer\Util\ProcessExecutor;.u
64560 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
64580 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 43 6f 6e 73 6f 6c 65 m;.use.Symfony\Component\Console
645a0 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 79 6c 65 3b \Formatter\OutputFormatterStyle;
645c0 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 44 69 73 70 61 74 .use.Composer\Script\EventDispat
645e0 63 68 65 72 3b 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 cher;.use.Composer\Autoload\Auto
64600 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 61 63 loadGenerator;.........class.Fac
64620 74 6f 72 79 0a 7b 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 tory.{.....public.static.functio
64640 6e 20 63 72 65 61 74 65 43 6f 6e 66 69 67 28 29 0a 7b 0a 0a 20 24 68 6f 6d 65 20 3d 20 67 65 74 n.createConfig().{...$home.=.get
64660 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 48 4f 4d 45 27 29 3b 0a 24 63 61 63 68 65 44 69 72 20 env('COMPOSER_HOME');.$cacheDir.
64680 3d 20 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 43 41 43 48 45 5f 44 49 52 27 29 3b 0a =.getenv('COMPOSER_CACHE_DIR');.
646a0 69 66 20 28 21 24 68 6f 6d 65 29 20 7b 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 50 48 50 5f 57 if.(!$home).{.if.(defined('PHP_W
646c0 49 4e 44 4f 57 53 5f 56 45 52 53 49 4f 4e 5f 4d 41 4a 4f 52 27 29 29 20 7b 0a 69 66 20 28 21 67 INDOWS_VERSION_MAJOR')).{.if.(!g
646e0 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 6e 65 77 20 5c 52 etenv('APPDATA')).{.throw.new.\R
64700 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 54 41 20 6f 72 20 untimeException('The.APPDATA.or.
64720 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 76 61 72 69 61 62 COMPOSER_HOME.environment.variab
64740 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 72 20 74 6f 20 72 le.must.be.set.for.composer.to.r
64760 75 6e 20 63 6f 72 72 65 63 74 6c 79 27 29 3b 0a 7d 0a 24 68 6f 6d 65 20 3d 20 73 74 72 74 72 28 un.correctly');.}.$home.=.strtr(
64780 67 65 74 65 6e 76 28 27 41 50 50 44 41 54 41 27 29 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 20 2e 20 getenv('APPDATA'),.'\\',.'/')...
647a0 27 2f 43 6f 6d 70 6f 73 65 72 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 21 67 65 74 65 6e '/Composer';.}.else.{.if.(!geten
647c0 76 28 27 48 4f 4d 45 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 v('HOME')).{.throw.new.\RuntimeE
647e0 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 45 52 5f 48 xception('The.HOME.or.COMPOSER_H
64800 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 74 20 62 65 OME.environment.variable.must.be
64820 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 72 65 63 74 .set.for.composer.to.run.correct
64840 6c 79 27 29 3b 0a 7d 0a 24 68 6f 6d 65 20 3d 20 72 74 72 69 6d 28 67 65 74 65 6e 76 28 27 48 4f ly');.}.$home.=.rtrim(getenv('HO
64860 4d 45 27 29 2c 20 27 2f 27 29 20 2e 20 27 2f 2e 63 6f 6d 70 6f 73 65 72 27 3b 0a 7d 0a 7d 0a 69 ME'),.'/')...'/.composer';.}.}.i
64880 66 20 28 21 24 63 61 63 68 65 44 69 72 29 20 7b 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 50 48 f.(!$cacheDir).{.if.(defined('PH
648a0 50 5f 57 49 4e 44 4f 57 53 5f 56 45 52 53 49 4f 4e 5f 4d 41 4a 4f 52 27 29 29 20 7b 0a 69 66 20 P_WINDOWS_VERSION_MAJOR')).{.if.
648c0 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 41 54 ($cacheDir.=.getenv('LOCALAPPDAT
648e0 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 27 3b A')).{.$cacheDir..=.'/Composer';
64900 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 61 63 68 65 44 69 72 20 3d 20 67 65 74 65 6e 76 28 27 41 50 .}.else.{.$cacheDir.=.getenv('AP
64920 50 44 41 54 41 27 29 20 2e 20 27 2f 43 6f 6d 70 6f 73 65 72 2f 63 61 63 68 65 27 3b 0a 7d 0a 24 PDATA')...'/Composer/cache';.}.$
64940 63 61 63 68 65 44 69 72 20 3d 20 73 74 72 74 72 28 24 63 61 63 68 65 44 69 72 2c 20 27 5c 5c 27 cacheDir.=.strtr($cacheDir,.'\\'
64960 2c 20 27 2f 27 29 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 ,.'/');.}.else.{.$cacheDir.=.$ho
64980 6d 65 2e 27 2f 63 61 63 68 65 27 3b 0a 7d 0a 7d 0a 0a 0a 20 0a 20 0a 20 66 6f 72 65 61 63 68 20 me.'/cache';.}.}........foreach.
649a0 28 61 72 72 61 79 28 24 68 6f 6d 65 2c 20 24 63 61 63 68 65 44 69 72 29 20 61 73 20 24 64 69 72 (array($home,.$cacheDir).as.$dir
649c0 29 20 7b 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 64 69 72 20 2e 20 27 2f 2e 68 ).{.if.(!file_exists($dir...'/.h
649e0 74 61 63 63 65 73 73 27 29 29 20 7b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 64 69 72 29 29 20 taccess')).{.if.(!is_dir($dir)).
64a00 7b 0a 40 6d 6b 64 69 72 28 24 64 69 72 2c 20 30 37 37 37 2c 20 74 72 75 65 29 3b 0a 7d 0a 40 66 {.@mkdir($dir,.0777,.true);.}.@f
64a20 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 64 69 72 20 2e 20 27 2f 2e 68 74 61 63 63 ile_put_contents($dir...'/.htacc
64a40 65 73 73 27 2c 20 27 44 65 6e 79 20 66 72 6f 6d 20 61 6c 6c 27 29 3b 0a 7d 0a 7d 0a 0a 24 63 6f ess',.'Deny.from.all');.}.}..$co
64a60 6e 66 69 67 20 3d 20 6e 65 77 20 43 6f 6e 66 69 67 28 29 3b 0a 0a 0a 20 24 63 6f 6e 66 69 67 2d nfig.=.new.Config();....$config-
64a80 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 72 72 61 79 28 27 >merge(array('config'.=>.array('
64aa0 68 6f 6d 65 27 20 3d 3e 20 24 68 6f 6d 65 2c 20 27 63 61 63 68 65 2d 64 69 72 27 20 3d 3e 20 24 home'.=>.$home,.'cache-dir'.=>.$
64ac0 63 61 63 68 65 44 69 72 29 29 29 3b 0a 0a 24 66 69 6c 65 20 3d 20 6e 65 77 20 4a 73 6f 6e 46 69 cacheDir)));..$file.=.new.JsonFi
64ae0 6c 65 28 24 68 6f 6d 65 2e 27 2f 63 6f 6e 66 69 67 2e 6a 73 6f 6e 27 29 3b 0a 69 66 20 28 24 66 le($home.'/config.json');.if.($f
64b00 69 6c 65 2d 3e 65 78 69 73 74 73 28 29 29 20 7b 0a 24 63 6f 6e 66 69 67 2d 3e 6d 65 72 67 65 28 ile->exists()).{.$config->merge(
64b20 24 66 69 6c 65 2d 3e 72 65 61 64 28 29 29 3b 0a 7d 0a 24 63 6f 6e 66 69 67 2d 3e 73 65 74 43 6f $file->read());.}.$config->setCo
64b40 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(
64b60 24 66 69 6c 65 29 29 3b 0a 0a 0a 20 24 6c 65 67 61 63 79 50 61 74 68 73 20 3d 20 61 72 72 61 79 $file));....$legacyPaths.=.array
64b80 28 0a 27 63 61 63 68 65 2d 72 65 70 6f 2d 64 69 72 27 20 3d 3e 20 61 72 72 61 79 28 27 2f 63 61 (.'cache-repo-dir'.=>.array('/ca
64ba0 63 68 65 27 20 3d 3e 20 27 2f 68 74 74 70 2a 27 2c 20 27 2f 63 61 63 68 65 2e 73 76 6e 27 20 3d che'.=>.'/http*',.'/cache.svn'.=
64bc0 3e 20 27 2f 2a 27 2c 20 27 2f 63 61 63 68 65 2e 67 69 74 68 75 62 27 20 3d 3e 20 27 2f 2a 27 29 >.'/*',.'/cache.github'.=>.'/*')
64be0 2c 0a 27 63 61 63 68 65 2d 76 63 73 2d 64 69 72 27 20 3d 3e 20 61 72 72 61 79 28 27 2f 63 61 63 ,.'cache-vcs-dir'.=>.array('/cac
64c00 68 65 2e 67 69 74 27 20 3d 3e 20 27 2f 2a 27 2c 20 27 2f 63 61 63 68 65 2e 68 67 27 20 3d 3e 20 he.git'.=>.'/*',.'/cache.hg'.=>.
64c20 27 2f 2a 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 61 72 72 61 '/*'),.'cache-files-dir'.=>.arra
64c40 79 28 27 2f 63 61 63 68 65 2e 66 69 6c 65 73 27 20 3d 3e 20 27 2f 2a 27 29 2c 0a 29 3b 0a 66 6f y('/cache.files'.=>.'/*'),.);.fo
64c60 72 65 61 63 68 20 28 24 6c 65 67 61 63 79 50 61 74 68 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 reach.($legacyPaths.as.$key.=>.$
64c80 6f 6c 64 50 61 74 68 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 6f 6c 64 50 61 74 68 73 20 61 oldPaths).{.foreach.($oldPaths.a
64ca0 73 20 24 6f 6c 64 50 61 74 68 20 3d 3e 20 24 6d 61 74 63 68 29 20 7b 0a 24 64 69 72 20 3d 20 24 s.$oldPath.=>.$match).{.$dir.=.$
64cc0 63 6f 6e 66 69 67 2d 3e 67 65 74 28 24 6b 65 79 29 3b 0a 69 66 20 28 27 2f 63 61 63 68 65 2e 67 config->get($key);.if.('/cache.g
64ce0 69 74 68 75 62 27 20 3d 3d 3d 20 24 6f 6c 64 50 61 74 68 29 20 7b 0a 24 64 69 72 20 2e 3d 20 27 ithub'.===.$oldPath).{.$dir..=.'
64d00 2f 67 69 74 68 75 62 2e 63 6f 6d 27 3b 0a 7d 0a 24 6f 6c 64 50 61 74 68 20 3d 20 24 63 6f 6e 66 /github.com';.}.$oldPath.=.$conf
64d20 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 2e 24 6f 6c 64 50 61 74 68 3b 0a 24 6f 6c 64 50 61 ig->get('home').$oldPath;.$oldPa
64d40 74 68 4d 61 74 63 68 20 3d 20 24 6f 6c 64 50 61 74 68 20 2e 20 24 6d 61 74 63 68 3b 0a 69 66 20 thMatch.=.$oldPath...$match;.if.
64d60 28 69 73 5f 64 69 72 28 24 6f 6c 64 50 61 74 68 29 20 26 26 20 24 64 69 72 20 21 3d 3d 20 24 6f (is_dir($oldPath).&&.$dir.!==.$o
64d80 6c 64 50 61 74 68 29 20 7b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 64 69 72 29 29 20 7b 0a 69 ldPath).{.if.(!is_dir($dir)).{.i
64da0 66 20 28 21 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 f.(!@mkdir($dir,.0777,.true)).{.
64dc0 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 7d 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 63 68 69 6c continue;.}.}.if.(is_array($chil
64de0 64 72 65 6e 20 3d 20 67 6c 6f 62 28 24 6f 6c 64 50 61 74 68 4d 61 74 63 68 29 29 29 20 7b 0a 66 dren.=.glob($oldPathMatch))).{.f
64e00 6f 72 65 61 63 68 20 28 24 63 68 69 6c 64 72 65 6e 20 61 73 20 24 63 68 69 6c 64 29 20 7b 0a 40 oreach.($children.as.$child).{.@
64e20 72 65 6e 61 6d 65 28 24 63 68 69 6c 64 2c 20 24 64 69 72 2e 27 2f 27 2e 62 61 73 65 6e 61 6d 65 rename($child,.$dir.'/'.basename
64e40 28 24 63 68 69 6c 64 29 29 3b 0a 7d 0a 7d 0a 40 72 6d 64 69 72 28 24 6f 6c 64 50 61 74 68 29 3b ($child));.}.}.@rmdir($oldPath);
64e60 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6e 66 69 67 3b 0a 7d 0a 0a 70 75 62 6c 69 .}.}.}..return.$config;.}..publi
64e80 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 6f 73 65 72 46 69 6c c.static.function.getComposerFil
64ea0 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 74 72 69 6d 28 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 e().{.return.trim(getenv('COMPOS
64ec0 45 52 27 29 29 20 3f 3a 20 27 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 3b 0a 7d 0a 0a 70 75 62 ER')).?:.'composer.json';.}..pub
64ee0 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 41 64 64 69 74 69 lic.static.function.createAdditi
64f00 6f 6e 61 6c 53 74 79 6c 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 68 69 onalStyles().{.return.array(.'hi
64f20 67 68 6c 69 67 68 74 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 ghlight'.=>.new.OutputFormatterS
64f40 74 79 6c 65 28 27 72 65 64 27 29 2c 0a 27 77 61 72 6e 69 6e 67 27 20 3d 3e 20 6e 65 77 20 4f 75 tyle('red'),.'warning'.=>.new.Ou
64f60 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 28 27 62 6c 61 63 6b 27 2c 20 27 79 65 6c tputFormatterStyle('black',.'yel
64f80 6c 6f 77 27 29 2c 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 low'),.);.}..public.static.funct
64fa0 69 6f 6e 20 63 72 65 61 74 65 44 65 66 61 75 6c 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 49 4f ion.createDefaultRepositories(IO
64fc0 49 6e 74 65 72 66 61 63 65 20 24 69 6f 20 3d 20 6e 75 6c 6c 2c 20 43 6f 6e 66 69 67 20 24 63 6f Interface.$io.=.null,.Config.$co
64fe0 6e 66 69 67 20 3d 20 6e 75 6c 6c 2c 20 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 20 24 nfig.=.null,.RepositoryManager.$
65000 72 6d 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 72 65 70 6f 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a rm.=.null).{.$repos.=.array();..
65020 69 66 20 28 21 24 63 6f 6e 66 69 67 29 20 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 73 74 61 74 69 63 if.(!$config).{.$config.=.static
65040 3a 3a 63 72 65 61 74 65 43 6f 6e 66 69 67 28 29 3b 0a 7d 0a 69 66 20 28 21 24 72 6d 29 20 7b 0a ::createConfig();.}.if.(!$rm).{.
65060 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 76 61 6c 69 64 41 72 if.(!$io).{.throw.new.\InvalidAr
65080 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 63 74 69 6f 6e 20 72 gumentException('This.function.r
650a0 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 66 61 63 65 20 6f 72 equires.either.an.IOInterface.or
650c0 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 0a 24 66 61 63 74 6f .a.RepositoryManager');.}.$facto
650e0 72 79 20 3d 20 6e 65 77 20 73 74 61 74 69 63 3b 0a 24 72 6d 20 3d 20 24 66 61 63 74 6f 72 79 2d ry.=.new.static;.$rm.=.$factory-
65100 3e 63 72 65 61 74 65 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 24 69 6f 2c 20 24 63 >createRepositoryManager($io,.$c
65120 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 66 69 67 2d 3e 67 65 74 onfig);.}..foreach.($config->get
65140 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 20 61 73 20 24 69 6e 64 65 78 20 3d 3e 20 24 72 65 70 Repositories().as.$index.=>.$rep
65160 6f 29 20 7b 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 o).{.if.(!is_array($repo)).{.thr
65180 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
651a0 28 27 52 65 70 6f 73 69 74 6f 72 79 20 27 2e 24 69 6e 64 65 78 2e 27 20 28 27 2e 6a 73 6f 6e 5f ('Repository.'.$index.'.('.json_
651c0 65 6e 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 encode($repo).').should.be.an.ar
651e0 72 61 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 ray,.'.gettype($repo).'.given');
65200 0a 7d 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 .}.if.(!isset($repo['type'])).{.
65220 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 74 throw.new.\UnexpectedValueExcept
65240 69 6f 6e 28 27 52 65 70 6f 73 69 74 6f 72 79 20 27 2e 24 69 6e 64 65 78 2e 27 20 28 27 2e 6a 73 ion('Repository.'.$index.'.('.js
65260 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.
65280 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
652a0 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']).
652c0 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',.
652e0 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
65300 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
65320 20 2e 3d 20 27 32 27 3b 0a 7d 0a 24 72 65 70 6f 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 72 6d 2d 3e ..=.'2';.}.$repos[$name].=.$rm->
65340 63 72 65 61 74 65 52 65 70 6f 73 69 74 6f 72 79 28 24 72 65 70 6f 5b 27 74 79 70 65 27 5d 2c 20 createRepository($repo['type'],.
65360 24 72 65 70 6f 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 70 6f 73 3b 0a 7d 0a 0a 0a 0a 0a $repo);.}..return.$repos;.}.....
65380 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 74 65 43 6f 6d .......public.function.createCom
653a0 70 6f 73 65 72 28 49 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 poser(IOInterface.$io,.$localCon
653c0 66 69 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6c 6f fig.=.null).{...if.(null.===.$lo
653e0 63 61 6c 43 6f 6e 66 69 67 29 20 7b 0a 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 20 3d 20 73 74 61 74 calConfig).{.$localConfig.=.stat
65400 69 63 3a 3a 67 65 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 ic::getComposerFile();.}..if.(is
65420 5f 73 74 72 69 6e 67 28 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 29 29 20 7b 0a 24 63 6f 6d 70 6f 73 _string($localConfig)).{.$compos
65440 65 72 46 69 6c 65 20 3d 20 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 3b 0a 24 66 69 6c 65 20 3d 20 6e erFile.=.$localConfig;.$file.=.n
65460 65 77 20 4a 73 6f 6e 46 69 6c 65 28 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 2c 20 6e 65 77 20 52 65 ew.JsonFile($localConfig,.new.Re
65480 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 69 6f 29 29 3b 0a 0a 69 66 20 28 21 24 66 69 6c moteFilesystem($io));..if.(!$fil
654a0 65 2d 3e 65 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 e->exists()).{.if.($localConfig.
654c0 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 65 20 ===.'composer.json').{.$message.
654e0 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 6f 6d =.'Composer.could.not.find.a.com
65500 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 20 69 6e 20 27 2e 67 65 74 63 77 64 28 29 3b 0a 7d poser.json.file.in.'.getcwd();.}
65520 20 65 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 .else.{.$message.=.'Composer.cou
65540 6c 64 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 ld.not.find.the.config.file:.'.$
65560 6c 6f 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 localConfig;.}.$instructions.=.'
65580 54 6f 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 To.initialize.a.project,.please.
655a0 63 72 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 create.a.composer.json.file.as.d
655c0 65 73 63 72 69 62 65 64 20 69 6e 20 74 68 65 20 68 74 74 70 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 escribed.in.the.http://getcompos
655e0 65 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 er.org/."Getting.Started".sectio
65600 6e 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 n';.throw.new.\InvalidArgumentEx
65620 63 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 ception($message.PHP_EOL.$instru
65640 63 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 ctions);.}..$file->validateSchem
65660 61 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 6c 6f 63 61 6c 43 a(JsonFile::LAX_SCHEMA);.$localC
65680 6f 6e 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 onfig.=.$file->read();.}....$con
656a0 66 69 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 29 3b 0a 24 63 fig.=.static::createConfig();.$c
656c0 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 29 3b 0a 0a 0a 20 69 onfig->merge($localConfig);....i
656e0 66 20 28 24 74 6f 6b 65 6e 73 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 68 75 f.($tokens.=.$config->get('githu
65700 62 2d 6f 61 75 74 68 27 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 6f 6b 65 6e 73 20 61 73 b-oauth')).{.foreach.($tokens.as
65720 20 24 64 6f 6d 61 69 6e 20 3d 3e 20 24 74 6f 6b 65 6e 29 20 7b 0a 69 66 20 28 21 70 72 65 67 5f .$domain.=>.$token).{.if.(!preg_
65740 6d 61 74 63 68 28 27 7b 5e 5b 61 2d 7a 30 2d 39 5d 2b 24 7d 27 2c 20 24 74 6f 6b 65 6e 29 29 20 match('{^[a-z0-9]+$}',.$token)).
65760 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
65780 70 74 69 6f 6e 28 27 59 6f 75 72 20 67 69 74 68 75 62 20 6f 61 75 74 68 20 74 6f 6b 65 6e 20 66 ption('Your.github.oauth.token.f
657a0 6f 72 20 27 2e 24 64 6f 6d 61 69 6e 2e 27 20 63 6f 6e 74 61 69 6e 73 20 69 6e 76 61 6c 69 64 20 or.'.$domain.'.contains.invalid.
657c0 63 68 61 72 61 63 74 65 72 73 3a 20 22 27 2e 24 74 6f 6b 65 6e 2e 27 22 27 29 3b 0a 7d 0a 24 69 characters:."'.$token.'"');.}.$i
657e0 6f 2d 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 o->setAuthentication($domain,.$t
65800 6f 6b 65 6e 2c 20 27 78 2d 6f 61 75 74 68 2d 62 61 73 69 63 27 29 3b 0a 7d 0a 7d 0a 0a 24 76 65 oken,.'x-oauth-basic');.}.}..$ve
65820 6e 64 6f 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 ndorDir.=.$config->get('vendor-d
65840 69 72 27 29 3b 0a 24 62 69 6e 44 69 72 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 62 69 ir');.$binDir.=.$config->get('bi
65860 6e 2d 64 69 72 27 29 3b 0a 0a 0a 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 73 65 74 n-dir');....ProcessExecutor::set
65880 54 69 6d 65 6f 75 74 28 28 69 6e 74 29 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 70 72 6f 63 Timeout((int).$config->get('proc
658a0 65 73 73 2d 74 69 6d 65 6f 75 74 27 29 29 3b 0a 0a 0a 20 24 72 6d 20 3d 20 24 74 68 69 73 2d 3e ess-timeout'));....$rm.=.$this->
658c0 63 72 65 61 74 65 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 24 69 6f 2c 20 24 63 6f createRepositoryManager($io,.$co
658e0 6e 66 69 67 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 61 64 64 4c 6f 63 61 6c 52 65 70 6f 73 69 74 nfig);....$this->addLocalReposit
65900 6f 72 79 28 24 72 6d 2c 20 24 76 65 6e 64 6f 72 44 69 72 29 3b 0a 0a 0a 20 24 6c 6f 61 64 65 72 ory($rm,.$vendorDir);....$loader
65920 20 3d 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 .=.new.Package\Loader\RootPackag
65940 65 4c 6f 61 64 65 72 28 24 72 6d 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 24 70 61 63 6b 61 67 65 20 eLoader($rm,.$config);.$package.
65960 3d 20 24 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 29 3b 0a 0a =.$loader->load($localConfig);..
65980 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 4d 61 6e ..$dm.=.$this->createDownloadMan
659a0 61 67 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 0a 0a 20 24 69 6d 20 3d 20 24 74 68 ager($io,.$config);....$im.=.$th
659c0 69 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 is->createInstallationManager();
659e0 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 0a ....$composer.=.new.Composer();.
65a00 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 24 $composer->setConfig($config);.$
65a20 63 6f 6d 70 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 composer->setPackage($package);.
65a40 24 63 6f 6d 70 6f 73 65 72 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 $composer->setRepositoryManager(
65a60 24 72 6d 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 4d 61 6e 61 $rm);.$composer->setDownloadMana
65a80 67 65 72 28 24 64 6d 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 ger($dm);.$composer->setInstalla
65aa0 74 69 6f 6e 4d 61 6e 61 67 65 72 28 24 69 6d 29 3b 0a 0a 0a 20 24 64 69 73 70 61 74 63 68 65 72 tionManager($im);....$dispatcher
65ac0 20 3d 20 6e 65 77 20 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 .=.new.EventDispatcher($composer
65ae0 2c 20 24 69 6f 29 3b 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 ,.$io);.$composer->setEventDispa
65b00 74 63 68 65 72 28 24 64 69 73 70 61 74 63 68 65 72 29 3b 0a 0a 0a 20 24 67 65 6e 65 72 61 74 6f tcher($dispatcher);....$generato
65b20 72 20 3d 20 6e 65 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 r.=.new.AutoloadGenerator($dispa
65b40 74 63 68 65 72 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 tcher);.$composer->setAutoloadGe
65b60 6e 65 72 61 74 6f 72 28 24 67 65 6e 65 72 61 74 6f 72 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 63 nerator($generator);....$this->c
65b80 72 65 61 74 65 44 65 66 61 75 6c 74 49 6e 73 74 61 6c 6c 65 72 73 28 24 69 6d 2c 20 24 63 6f 6d reateDefaultInstallers($im,.$com
65ba0 70 6f 73 65 72 2c 20 24 69 6f 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 70 75 72 67 65 50 61 63 6b poser,.$io);....$this->purgePack
65bc0 61 67 65 73 28 24 72 6d 2c 20 24 69 6d 29 3b 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 63 6f ages($rm,.$im);....if.(isset($co
65be0 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 6f 6e mposerFile)).{.$lockFile.=."json
65c00 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 50 41 ".===.pathinfo($composerFile,.PA
65c20 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 6d 70 THINFO_EXTENSION).?.substr($comp
65c40 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 70 6f oserFile,.0,.-4).'lock'.:.$compo
65c60 73 65 72 46 69 6c 65 20 2e 20 27 2e 6c 6f 63 6b 27 3b 0a 24 6c 6f 63 6b 65 72 20 3d 20 6e 65 77 serFile...'.lock';.$locker.=.new
65c80 20 50 61 63 6b 61 67 65 5c 4c 6f 63 6b 65 72 28 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 24 6c 6f .Package\Locker(new.JsonFile($lo
65ca0 63 6b 46 69 6c 65 2c 20 6e 65 77 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 69 6f ckFile,.new.RemoteFilesystem($io
65cc0 29 29 2c 20 24 72 6d 2c 20 24 69 6d 2c 20 6d 64 35 5f 66 69 6c 65 28 24 63 6f 6d 70 6f 73 65 72 )),.$rm,.$im,.md5_file($composer
65ce0 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 6f File));.$composer->setLocker($lo
65d00 63 6b 65 72 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 7d 0a 0a 0a cker);.}..return.$composer;.}...
65d20 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 74 65 52 65 70 ....protected.function.createRep
65d40 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 ositoryManager(IOInterface.$io,.
65d60 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 24 72 6d 20 3d 20 6e 65 77 20 52 65 70 6f Config.$config).{.$rm.=.new.Repo
65d80 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 24 72 6d sitoryManager($io,.$config);.$rm
65da0 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 63 6f 6d 70 6f 73 65 72 27 2c ->setRepositoryClass('composer',
65dc0 20 27 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 65 72 52 65 .'Composer\Repository\ComposerRe
65de0 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 6c pository');.$rm->setRepositoryCl
65e00 61 73 73 28 27 76 63 73 27 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c ass('vcs',.'Composer\Repository\
65e20 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 73 69 74 VcsRepository');.$rm->setReposit
65e40 6f 72 79 43 6c 61 73 73 28 27 70 61 63 6b 61 67 65 27 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 oryClass('package',.'Composer\Re
65e60 70 6f 73 69 74 6f 72 79 5c 50 61 63 6b 61 67 65 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 pository\PackageRepository');.$r
65e80 6d 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 70 65 61 72 27 2c 20 27 43 m->setRepositoryClass('pear',.'C
65ea0 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 65 61 72 52 65 70 6f 73 69 74 6f 72 omposer\Repository\PearRepositor
65ec0 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 67 69 y');.$rm->setRepositoryClass('gi
65ee0 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 65 70 6f t',.'Composer\Repository\VcsRepo
65f00 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
65f20 73 28 27 73 76 6e 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 s('svn',.'Composer\Repository\Vc
65f40 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 73 69 74 6f 72 sRepository');.$rm->setRepositor
65f60 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 73 69 74 6f 72 yClass('hg',.'Composer\Repositor
65f80 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 73 y\VcsRepository');.$rm->setRepos
65fa0 69 74 6f 72 79 43 6c 61 73 73 28 27 61 72 74 69 66 61 63 74 27 2c 20 27 43 6f 6d 70 6f 73 65 72 itoryClass('artifact',.'Composer
65fc0 5c 52 65 70 6f 73 69 74 6f 72 79 5c 41 72 74 69 66 61 63 74 52 65 70 6f 73 69 74 6f 72 79 27 29 \Repository\ArtifactRepository')
65fe0 3b 0a 0a 72 65 74 75 72 6e 20 24 72 6d 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 ;..return.$rm;.}......protected.
66000 66 75 6e 63 74 69 6f 6e 20 61 64 64 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 52 65 70 6f function.addLocalRepository(Repo
66020 73 69 74 6f 72 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 sitoryManager.$rm,.$vendorDir).{
66040 0a 24 72 6d 2d 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 .$rm->setLocalRepository(new.Rep
66060 6f 73 69 74 6f 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 ository\InstalledFilesystemRepos
66080 69 74 6f 72 79 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 itory(new.JsonFile($vendorDir.'/
660a0 63 6f 6d 70 6f 73 65 72 2f 69 6e 73 74 61 6c 6c 65 64 2e 6a 73 6f 6e 27 29 29 29 3b 0a 7d 0a 0a composer/installed.json')));.}..
660c0 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 44 6f 77 6e 6c .....public.function.createDownl
660e0 6f 61 64 4d 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 oadManager(IOInterface.$io,.Conf
66100 69 67 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 24 63 61 63 68 65 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 ig.$config).{.$cache.=.null;.if.
66120 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')
66140 20 3e 20 30 29 20 7b 0a 24 63 61 63 68 65 20 3d 20 6e 65 77 20 43 61 63 68 65 28 24 69 6f 2c 20 .>.0).{.$cache.=.new.Cache($io,.
66160 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 64 69 72 27 29 2c $config->get('cache-files-dir'),
66180 20 27 61 2d 7a 30 2d 39 5f 2e 2f 27 29 3b 0a 7d 0a 0a 24 64 6d 20 3d 20 6e 65 77 20 44 6f 77 6e .'a-z0-9_./');.}..$dm.=.new.Down
661a0 6c 6f 61 64 65 72 5c 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 29 3b 0a 24 64 6d 2d 3e 73 loader\DownloadManager();.$dm->s
661c0 65 74 44 6f 77 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 etDownloader('git',.new.Download
661e0 65 72 5c 47 69 74 44 6f 77 6e 6c 6f 61 64 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 29 3b er\GitDownloader($io,.$config));
66200 0a 24 64 6d 2d 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 27 73 76 6e 27 2c 20 6e 65 77 20 44 .$dm->setDownloader('svn',.new.D
66220 6f 77 6e 6c 6f 61 64 65 72 5c 53 76 6e 44 6f 77 6e 6c 6f 61 64 65 72 28 24 69 6f 2c 20 24 63 6f ownloader\SvnDownloader($io,.$co
66240 6e 66 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 68 67 27 2c nfig));.$dm->setDownloader('hg',
66260 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 48 67 44 6f 77 6e 6c 6f 61 64 65 72 28 24 69 6f .new.Downloader\HgDownloader($io
66280 2c 20 24 63 6f 6e 66 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 ,.$config));.$dm->setDownloader(
662a0 27 7a 69 70 27 2c 20 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 'zip',.new.Downloader\ZipDownloa
662c0 64 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 63 61 63 68 65 29 29 3b 0a 24 64 6d 2d der($io,.$config,.$cache));.$dm-
662e0 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 27 74 61 72 27 2c 20 6e 65 77 20 44 6f 77 6e 6c 6f >setDownloader('tar',.new.Downlo
66300 61 64 65 72 5c 54 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 ader\TarDownloader($io,.$config,
66320 20 24 63 61 63 68 65 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 .$cache));.$dm->setDownloader('p
66340 68 61 72 27 2c 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 50 68 61 72 44 6f 77 6e 6c 6f 61 har',.new.Downloader\PharDownloa
66360 64 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 63 61 63 68 65 29 29 3b 0a 24 64 6d 2d der($io,.$config,.$cache));.$dm-
66380 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 6e 6c >setDownloader('file',.new.Downl
663a0 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 66 69 oader\FileDownloader($io,.$confi
663c0 67 2c 20 24 63 61 63 68 65 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 64 6d 3b 0a 7d 0a 0a 0a 0a 0a g,.$cache));..return.$dm;.}.....
663e0 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 76 65 ...public.function.createArchive
66400 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 61 64 Manager(Config.$config,.Download
66420 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 0a 7b er\DownloadManager.$dm.=.null).{
66440 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 64 6d 29 20 7b 0a 24 64 6d 20 3d 20 24 74 68 69 73 .if.(null.===.$dm).{.$dm.=.$this
66460 2d 3e 63 72 65 61 74 65 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 6e 65 77 20 49 4f 5c 4e ->createDownloadManager(new.IO\N
66480 75 6c 6c 49 4f 28 29 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 24 61 6d 20 3d 20 6e 65 77 20 ullIO(),.$config);.}..$am.=.new.
664a0 41 72 63 68 69 76 65 72 5c 41 72 63 68 69 76 65 4d 61 6e 61 67 65 72 28 24 64 6d 29 3b 0a 24 61 Archiver\ArchiveManager($dm);.$a
664c0 6d 2d 3e 61 64 64 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 m->addArchiver(new.Archiver\Phar
664e0 41 72 63 68 69 76 65 72 29 3b 0a 0a 72 65 74 75 72 6e 20 24 61 6d 3b 0a 7d 0a 0a 0a 0a 0a 70 72 Archiver);..return.$am;.}.....pr
66500 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
66520 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
66540 6c 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 ler\InstallationManager();.}....
66560 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 74 65 44 65 66 61 ...protected.function.createDefa
66580 75 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 ultInstallers(Installer\Installa
665a0 74 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 tionManager.$im,.Composer.$compo
665c0 73 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 ser,.IOInterface.$io).{.$im->add
665e0 49 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 Installer(new.Installer\LibraryI
66600 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 6e 75 6c 6c 29 29 3b nstaller($io,.$composer,.null));
66620 0a 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 .$im->addInstaller(new.Installer
66640 5c 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 \PearInstaller($io,.$composer,.'
66660 70 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 pear-library'));.$im->addInstall
66680 65 72 28 6e 65 77 20 49 6e 73 74 61 6c 6c 65 72 5c 49 6e 73 74 61 6c 6c 65 72 49 6e 73 74 61 6c er(new.Installer\InstallerInstal
666a0 6c 65 72 28 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 ler($io,.$composer));.$im->addIn
666c0 73 74 61 6c 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 staller(new.Installer\Metapackag
666e0 65 49 6e 73 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 eInstaller($io));.}......protect
66700 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 75 72 67 65 50 61 63 6b 61 67 65 73 28 52 65 70 6f 73 69 ed.function.purgePackages(Reposi
66720 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 20 24 72 6d 2c 20 49 6e 73 74 tory\RepositoryManager.$rm,.Inst
66740 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 20 24 69 6d 29 0a 7b aller\InstallationManager.$im).{
66760 0a 24 72 65 70 6f 20 3d 20 24 72 6d 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 .$repo.=.$rm->getLocalRepository
66780 28 29 3b 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 67 65 73 28 ();.foreach.($repo->getPackages(
667a0 29 20 61 73 20 24 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 ).as.$package).{.if.(!$im->isPac
667c0 6b 61 67 65 49 6e 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 kageInstalled($repo,.$package)).
667e0 7b 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 65 29 {.$repo->removePackage($package)
66800 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 74 69 63 20 66 75 6e ;.}.}.}........public.static.fun
66820 63 74 69 6f 6e 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 ction.create(IOInterface.$io,.$c
66840 6f 6e 66 69 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 66 61 63 74 6f 72 79 20 3d 20 6e 65 77 20 73 onfig.=.null).{.$factory.=.new.s
66860 74 61 74 69 63 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 tatic();..return.$factory->creat
66880 65 43 6f 6d 70 6f 73 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 7d 0a 3c 3f 70 eComposer($io,.$config);.}.}.<?p
668a0 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
668c0 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 \Util;..use.RecursiveDirectoryIt
668e0 65 72 61 74 6f 72 3b 0a 75 73 65 20 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 erator;.use.RecursiveIteratorIte
66900 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 69 6c 65 73 79 73 74 65 6d 0a 7b 0a 70 rator;......class.Filesystem.{.p
66920 72 69 76 61 74 65 20 24 70 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 0a 70 75 62 6c 69 63 rivate.$processExecutor;..public
66940 20 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 45 78 65 .function.__construct(ProcessExe
66960 63 75 74 6f 72 20 24 65 78 65 63 75 74 6f 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d cutor.$executor.=.null).{.$this-
66980 3e 70 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 3d 20 24 65 78 65 63 75 74 6f 72 20 3f 3a 20 >processExecutor.=.$executor.?:.
669a0 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 new.ProcessExecutor();.}..public
669c0 20 66 75 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 69 73 .function.remove($file).{.if.(is
669e0 5f 64 69 72 28 24 66 69 6c 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6d _dir($file)).{.return.$this->rem
66a00 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 66 69 6c 65 29 3b 0a 7d 0a 0a 69 66 20 28 66 69 6c 65 oveDirectory($file);.}..if.(file
66a20 5f 65 78 69 73 74 73 28 24 66 69 6c 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 75 6e 6c 69 6e 6b 28 _exists($file)).{.return.unlink(
66a40 24 66 69 6c 65 29 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 $file);.}..return.false;.}......
66a60 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 72 65 63 .....public.function.removeDirec
66a80 74 6f 72 79 28 24 64 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 tory($directory).{.if.(!is_dir($
66aa0 64 69 72 65 63 74 6f 72 79 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 directory)).{.return.true;.}..if
66ac0 20 28 21 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'))
66ae0 20 7b 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 .{.return.$this->removeDirectory
66b00 50 68 70 28 24 64 69 72 65 63 74 6f 72 79 29 3b 0a 7d 0a 0a 69 66 20 28 64 65 66 69 6e 65 64 28 Php($directory);.}..if.(defined(
66b20 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 27 29 29 20 7b 0a 'PHP_WINDOWS_VERSION_BUILD')).{.
66b40 24 63 6d 64 20 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 $cmd.=.sprintf('rmdir./S./Q.%s',
66b60 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 72 65 61 6c 70 61 74 68 28 24 64 69 72 65 63 74 .escapeshellarg(realpath($direct
66b80 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 6e 74 66 28 ory)));.}.else.{.$cmd.=.sprintf(
66ba0 27 72 6d 20 2d 72 66 20 25 73 27 2c 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 64 69 72 'rm.-rf.%s',.escapeshellarg($dir
66bc0 65 63 74 6f 72 79 29 29 3b 0a 7d 0a 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 ectory));.}..$result.=.$this->ge
66be0 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 20 24 6f 75 74 70 75 tProcess()->execute($cmd,.$outpu
66c00 74 29 20 3d 3d 3d 20 30 3b 0a 0a 0a 20 63 6c 65 61 72 73 74 61 74 63 61 63 68 65 28 29 3b 0a 0a t).===.0;....clearstatcache();..
66c20 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 20 26 26 20 21 69 73 5f 64 69 72 28 24 64 69 72 65 63 return.$result.&&.!is_dir($direc
66c40 74 6f 72 79 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 tory);.}............public.funct
66c60 69 6f 6e 20 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 50 68 70 28 24 64 69 72 65 63 74 6f 72 ion.removeDirectoryPhp($director
66c80 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 72 y).{.$it.=.new.RecursiveDirector
66ca0 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 44 yIterator($directory,.RecursiveD
66cc0 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 72 irectoryIterator::SKIP_DOTS);.$r
66ce0 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 6f i.=.new.RecursiveIteratorIterato
66d00 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 72 r($it,.RecursiveIteratorIterator
66d20 3a 3a 43 48 49 4c 44 5f 46 49 52 53 54 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 69 20 61 73 ::CHILD_FIRST);..foreach.($ri.as
66d40 20 24 66 69 6c 65 29 20 7b 0a 69 66 20 28 24 66 69 6c 65 2d 3e 69 73 44 69 72 28 29 29 20 7b 0a .$file).{.if.($file->isDir()).{.
66d60 72 6d 64 69 72 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 20 65 rmdir($file->getPathname());.}.e
66d80 6c 73 65 20 7b 0a 75 6e 6c 69 6e 6b 28 24 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 lse.{.unlink($file->getPathname(
66da0 29 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 72 6d 64 69 72 28 24 64 69 72 65 63 74 6f 72 79 ));.}.}..return.rmdir($directory
66dc0 29 3b 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 );.}..public.function.ensureDire
66de0 63 74 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 ctoryExists($directory).{.if.(!i
66e00 73 5f 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 s_dir($directory)).{.if.(file_ex
66e20 69 73 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 ists($directory)).{.throw.new.\R
66e40 75 6e 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 untimeException(.$directory.'.ex
66e60 69 73 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 ists.and.is.not.a.directory.'.);
66e80 0a 7d 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 .}.if.(!@mkdir($directory,.0777,
66ea0 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 6d 65 45 78 63 65 .true)).{.throw.new.\RuntimeExce
66ec0 70 74 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 ption(.$directory.'.does.not.exi
66ee0 73 74 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 st.and.could.not.be.created.'.);
66f00 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 6e 63 74 69 6f 6e .}.}.}...........public.function
66f20 20 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
66f40 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 72 79 ).{.$it.=.new.RecursiveDirectory
66f60 49 74 65 72 61 74 6f 72 28 24 73 6f 75 72 63 65 2c 20 52 65 63 75 72 73 69 76 65 44 69 72 65 63 Iterator($source,.RecursiveDirec
66f80 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 72 69 20 3d 20 toryIterator::SKIP_DOTS);.$ri.=.
66fa0 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 6f 72 28 24 69 new.RecursiveIteratorIterator($i
66fc0 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 72 3a 3a 53 45 t,.RecursiveIteratorIterator::SE
66fe0 4c 46 5f 46 49 52 53 54 29 3b 0a 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 61 LF_FIRST);..if.(!file_exists($ta
67000 72 67 65 74 29 29 20 7b 0a 6d 6b 64 69 72 28 24 74 61 72 67 65 74 2c 20 30 37 37 37 2c 20 74 72 rget)).{.mkdir($target,.0777,.tr
67020 75 65 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 69 20 61 73 20 24 66 69 6c 65 29 20 7b ue);.}..foreach.($ri.as.$file).{
67040 0a 24 74 61 72 67 65 74 50 61 74 68 20 3d 20 24 74 61 72 67 65 74 20 2e 20 44 49 52 45 43 54 4f .$targetPath.=.$target...DIRECTO
67060 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 24 72 69 2d 3e 67 65 74 53 75 62 50 61 74 68 4e 61 RY_SEPARATOR...$ri->getSubPathNa
67080 6d 65 28 29 3b 0a 69 66 20 28 24 66 69 6c 65 2d 3e 69 73 44 69 72 28 29 29 20 7b 0a 6d 6b 64 69 me();.if.($file->isDir()).{.mkdi
670a0 72 28 24 74 61 72 67 65 74 50 61 74 68 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 63 6f 70 79 28 24 66 r($targetPath);.}.else.{.copy($f
670c0 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 74 50 61 74 68 29 ile->getPathname(),.$targetPath)
670e0 3b 0a 7d 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 70 ;.}.}..$this->removeDirectoryPhp
67100 28 24 73 6f 75 72 63 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 ($source);.}..public.function.re
67120 6e 61 6d 65 28 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 29 0a 7b 0a 69 66 20 28 74 72 75 name($source,.$target).{.if.(tru
67140 65 20 3d 3d 3d 20 40 72 65 6e 61 6d 65 28 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 29 29 e.===.@rename($source,.$target))
67160 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 .{.return;.}..if.(!function_exis
67180 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 24 74 68 69 73 2d ts('proc_open')).{.return.$this-
671a0 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
671c0 29 3b 0a 7d 0a 0a 69 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 );.}..if.(defined('PHP_WINDOWS_V
671e0 45 52 53 49 4f 4e 5f 42 55 49 4c 44 27 29 29 20 7b 0a 0a 20 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 ERSION_BUILD')).{...$command.=.s
67200 70 72 69 6e 74 66 28 27 78 63 6f 70 79 20 25 73 20 25 73 20 2f 45 20 2f 49 20 2f 51 27 2c 20 65 printf('xcopy.%s.%s./E./I./Q',.e
67220 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 73 6f 75 72 63 65 29 2c 20 65 73 63 61 70 65 73 68 scapeshellarg($source),.escapesh
67240 65 6c 6c 61 72 67 28 24 74 61 72 67 65 74 29 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 ellarg($target));.$result.=.$thi
67260 73 2d 3e 70 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d s->processExecutor->execute($com
67280 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 29 3b 0a 0a 0a 20 63 6c 65 61 72 73 74 61 74 63 61 63 68 mand,.$output);....clearstatcach
672a0 65 28 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 72 65 73 75 6c 74 29 20 7b 0a 24 74 68 69 73 e();..if.(0.===.$result).{.$this
672c0 2d 3e 72 65 6d 6f 76 65 28 24 73 6f 75 72 63 65 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 20 ->remove($source);..return;.}.}.
672e0 65 6c 73 65 20 7b 0a 0a 20 0a 20 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 6d else.{.....$command.=.sprintf('m
67300 76 20 25 73 20 25 73 27 2c 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 73 6f 75 72 63 65 v.%s.%s',.escapeshellarg($source
67320 29 2c 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 74 61 72 67 65 74 29 29 3b 0a 24 72 65 ),.escapeshellarg($target));.$re
67340 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
67360 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
67380 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
673a0 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-
673c0 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
673e0 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
67400 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
67420 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->
67440 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-
67460 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
67480 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
674a0 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
674c0 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
674e0 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
67500 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
67520 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));.
67540 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 2e 3d 20 27 2f .if.($directories).{.$from..=.'/
67560 64 75 6d 6d 79 5f 66 69 6c 65 27 3b 0a 7d 0a 0a 69 66 20 28 64 69 72 6e 61 6d 65 28 24 66 72 6f dummy_file';.}..if.(dirname($fro
67580 6d 29 20 3d 3d 3d 20 64 69 72 6e 61 6d 65 28 24 74 6f 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 2e m).===.dirname($to)).{.return.'.
675a0 2f 27 2e 62 61 73 65 6e 61 6d 65 28 24 74 6f 29 3b 0a 7d 0a 0a 24 63 6f 6d 6d 6f 6e 50 61 74 68 /'.basename($to);.}..$commonPath
675c0 20 3d 20 24 74 6f 2e 27 2f 27 3b 0a 77 68 69 6c 65 20 28 73 74 72 70 6f 73 28 24 66 72 6f 6d 2c .=.$to.'/';.while.(strpos($from,
675e0 20 24 63 6f 6d 6d 6f 6e 50 61 74 68 29 20 21 3d 3d 20 30 20 26 26 20 27 2f 27 20 21 3d 3d 20 24 .$commonPath).!==.0.&&.'/'.!==.$
67600 63 6f 6d 6d 6f 6e 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 commonPath.&&.!preg_match('{^[a-
67620 7a 5d 3a 2f 3f 24 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 z]:/?$}i',.$commonPath).&&.'.'.!
67640 3d 3d 20 24 63 6f 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 ==.$commonPath).{.$commonPath.=.
67660 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),.'\\'
67680 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
676a0 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
676c0 6f 6e 50 61 74 68 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 onPath.||.'.'.===.$commonPath).{
676e0 0a 72 65 74 75 72 6e 20 24 74 6f 3b 0a 7d 0a 0a 24 63 6f 6d 6d 6f 6e 50 61 74 68 20 3d 20 72 74 .return.$to;.}..$commonPath.=.rt
67700 72 69 6d 28 24 63 6f 6d 6d 6f 6e 50 61 74 68 2c 20 27 2f 27 29 20 2e 20 27 2f 27 3b 0a 24 73 6f rim($commonPath,.'/')...'/';.$so
67720 75 72 63 65 50 61 74 68 44 65 70 74 68 20 3d 20 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 73 75 62 urcePathDepth.=.substr_count(sub
67740 73 74 72 28 24 66 72 6f 6d 2c 20 73 74 72 6c 65 6e 28 24 63 6f 6d 6d 6f 6e 50 61 74 68 29 29 2c str($from,.strlen($commonPath)),
67760 20 27 2f 27 29 3b 0a 24 63 6f 6d 6d 6f 6e 50 61 74 68 43 6f 64 65 20 3d 20 73 74 72 5f 72 65 70 .'/');.$commonPathCode.=.str_rep
67780 65 61 74 28 27 2e 2e 2f 27 2c 20 24 73 6f 75 72 63 65 50 61 74 68 44 65 70 74 68 29 3b 0a 0a 72 eat('../',.$sourcePathDepth);..r
677a0 65 74 75 72 6e 20 28 24 63 6f 6d 6d 6f 6e 50 61 74 68 43 6f 64 65 20 2e 20 73 75 62 73 74 72 28 eturn.($commonPathCode...substr(
677c0 24 74 6f 2c 20 73 74 72 6c 65 6e 28 24 63 6f 6d 6d 6f 6e 50 61 74 68 29 29 29 20 3f 3a 20 27 2e $to,.strlen($commonPath))).?:.'.
677e0 2f 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 /';.}...........public.function.
67800 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 43 6f 64 65 28 24 66 72 6f 6d 2c 20 24 74 6f 2c findShortestPathCode($from,.$to,
67820 20 24 64 69 72 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 .$directories.=.false).{.if.(!$t
67840 68 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 his->isAbsolutePath($from).||.!$
67860 74 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 this->isAbsolutePath($to)).{.thr
67880 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
678a0 28 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 (sprintf('$from.(%s).and.$to.(%s
678c0 29 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 ).must.be.absolute.paths.',.$fro
678e0 6d 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 m,.$to));.}..$from.=.lcfirst($th
67900 69 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 is->normalizePath($from));.$to.=
67920 20 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 .lcfirst($this->normalizePath($t
67940 6f 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 o));..if.($from.===.$to).{.retur
67960 6e 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 n.$directories.?.'__DIR__'.:.'__
67980 46 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 2e 27 2f FILE__';.}..$commonPath.=.$to.'/
679a0 27 3b 0a 77 68 69 6c 65 20 28 73 74 72 70 6f 73 28 24 66 72 6f 6d 2c 20 24 63 6f 6d 6d 6f 6e 50 ';.while.(strpos($from,.$commonP
679c0 61 74 68 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 ath).!==.0.&&.'/'.!==.$commonPat
679e0 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'
67a00 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 6d 6d 6f ,.$commonPath).&&.'.'.!==.$commo
67a20 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 64 69 72 nPath).{.$commonPath.=.strtr(dir
67a40 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 3b 0a 7d name($commonPath),.'\\',.'/');.}
67a60 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 6d 6d 6f ..if.(0.!==.strpos($from,.$commo
67a80 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 20 7c 7c nPath).||.'/'.===.$commonPath.||
67aa0 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 6e 20 76 .'.'.===.$commonPath).{.return.v
67ac0 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 6d 6f 6e ar_export($to,.true);.}..$common
67ae0 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,.'/')..
67b00 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 2f 27 29 .'/';.if.(strpos($to,.$from.'/')
67b20 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 2e 76 61 .===.0).{.return.'__DIR__...'.va
67b40 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 66 72 6f r_export(substr($to,.strlen($fro
67b60 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 68 20 3d m)),.true);.}.$sourcePathDepth.=
67b80 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 74 72 6c .substr_count(substr($from,.strl
67ba0 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 65 63 74 en($commonPath)),.'/').+.$direct
67bc0 6f 72 69 65 73 3b 0a 24 63 6f 6d 6d 6f 6e 50 61 74 68 43 6f 64 65 20 3d 20 73 74 72 5f 72 65 70 ories;.$commonPathCode.=.str_rep
67be0 65 61 74 28 27 64 69 72 6e 61 6d 65 28 27 2c 20 24 73 6f 75 72 63 65 50 61 74 68 44 65 70 74 68 eat('dirname(',.$sourcePathDepth
67c00 29 2e 27 5f 5f 44 49 52 5f 5f 27 2e 73 74 72 5f 72 65 70 65 61 74 28 27 29 27 2c 20 24 73 6f 75 ).'__DIR__'.str_repeat(')',.$sou
67c20 72 63 65 50 61 74 68 44 65 70 74 68 29 3b 0a 24 72 65 6c 54 61 72 67 65 74 20 3d 20 73 75 62 73 rcePathDepth);.$relTarget.=.subs
67c40 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 29 29 3b 0a 0a 72 tr($to,.strlen($commonPath));..r
67c60 65 74 75 72 6e 20 24 63 6f 6d 6d 6f 6e 50 61 74 68 43 6f 64 65 20 2e 20 28 73 74 72 6c 65 6e 28 eturn.$commonPathCode...(strlen(
67c80 24 72 65 6c 54 61 72 67 65 74 29 20 3f 20 27 2e 27 20 2e 20 76 61 72 5f 65 78 70 6f 72 74 28 27 $relTarget).?.'.'...var_export('
67ca0 2f 27 20 2e 20 24 72 65 6c 54 61 72 67 65 74 2c 20 74 72 75 65 29 20 3a 20 27 27 29 3b 0a 7d 0a /'...$relTarget,.true).:.'');.}.
67cc0 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
67ce0 65 50 61 74 68 28 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 73 75 62 73 74 72 28 24 70 61 ePath($path).{.return.substr($pa
67d00 74 68 2c 20 30 2c 20 31 29 20 3d 3d 3d 20 27 2f 27 20 7c 7c 20 73 75 62 73 74 72 28 24 70 61 74 th,.0,.1).===.'/'.||.substr($pat
67d20 68 2c 20 31 2c 20 31 29 20 3d 3d 3d 20 27 3a 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 h,.1,.1).===.':';.}..........pub
67d40 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 69 7a 65 28 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 21 lic.function.size($path).{.if.(!
67d60 66 69 6c 65 5f 65 78 69 73 74 73 28 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 file_exists($path)).{.throw.new.
67d80 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 22 24 70 61 74 68 20 64 6f 65 73 20 6e 6f \RuntimeException("$path.does.no
67da0 74 20 65 78 69 73 74 2e 22 29 3b 0a 7d 0a 69 66 20 28 69 73 5f 64 69 72 28 24 70 61 74 68 29 29 t.exist.");.}.if.(is_dir($path))
67dc0 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 69 72 65 63 74 6f 72 79 53 69 7a 65 28 24 .{.return.$this->directorySize($
67de0 70 61 74 68 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 69 6c 65 73 69 7a 65 28 24 70 61 74 68 29 path);.}..return.filesize($path)
67e00 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 6e 6f 72 6d ;.}.........public.function.norm
67e20 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 0a 7b 0a 24 70 61 72 74 73 20 3d 20 61 72 72 61 alizePath($path).{.$parts.=.arra
67e40 79 28 29 3b 0a 24 70 61 74 68 20 3d 20 73 74 72 74 72 28 24 70 61 74 68 2c 20 27 5c 5c 27 2c 20 y();.$path.=.strtr($path,.'\\',.
67e60 27 2f 27 29 3b 0a 24 70 72 65 66 69 78 20 3d 20 27 27 3b 0a 24 61 62 73 6f 6c 75 74 65 20 3d 20 '/');.$prefix.=.'';.$absolute.=.
67e80 66 61 6c 73 65 3b 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 5b 30 2d 39 61 false;..if.(preg_match('{^([0-9a
67ea0 2d 7a 5d 2b 3a 28 3f 3a 2f 2f 28 3f 3a 5b 61 2d 7a 5d 3a 29 3f 29 3f 29 7d 69 27 2c 20 24 70 61 -z]+:(?://(?:[a-z]:)?)?)}i',.$pa
67ec0 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 74 63 68 5b th,.$match)).{.$prefix.=.$match[
67ee0 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 72 6c 65 6e 1];.$path.=.substr($path,.strlen
67f00 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 61 74 68 2c ($prefix));.}..if.(substr($path,
67f20 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 3d 20 74 72 .0,.1).===.'/').{.$absolute.=.tr
67f40 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 3b 0a 7d 0a ue;.$path.=.substr($path,.1);.}.
67f60 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 64 65 28 27 .$up.=.false;.foreach.(explode('
67f80 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 27 2e 2e 27 /',.$path).as.$chunk).{.if.('..'
67fa0 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 20 24 75 70 .===.$chunk.&&.($absolute.||.$up
67fc0 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 3d 20 21 28 )).{.array_pop($parts);.$up.=.!(
67fe0 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 64 28 24 70 empty($parts).||.'..'.===.end($p
68000 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 68 75 6e 6b arts));.}.elseif.('.'.!==.$chunk
68020 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 5d 20 3d 20 .&&.''.!==.$chunk).{.$parts[].=.
68040 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 6b 3b 0a 7d $chunk;.$up.=.'..'.!==.$chunk;.}
68060 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 65 20 3f 20 .}..return.$prefix.($absolute.?.
68080 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 73 29 3b 0a '/'.:.'').implode('/',.$parts);.
680a0 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 53 }..protected.function.directoryS
680c0 69 7a 65 28 24 64 69 72 65 63 74 6f 72 79 29 0a 7b 0a 24 69 74 20 3d 20 6e 65 77 20 52 65 63 75 ize($directory).{.$it.=.new.Recu
680e0 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 65 63 74 6f 72 rsiveDirectoryIterator($director
68100 79 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 72 3a 3a 53 y,.RecursiveDirectoryIterator::S
68120 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 76 65 49 74 KIP_DOTS);.$ri.=.new.RecursiveIt
68140 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 65 49 74 65 eratorIterator($it,.RecursiveIte
68160 72 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 0a 24 73 ratorIterator::CHILD_FIRST);..$s
68180 69 7a 65 20 3d 20 30 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 69 20 61 73 20 24 66 69 6c 65 29 20 ize.=.0;.foreach.($ri.as.$file).
681a0 7b 0a 69 66 20 28 24 66 69 6c 65 2d 3e 69 73 46 69 6c 65 28 29 29 20 7b 0a 24 73 69 7a 65 20 2b {.if.($file->isFile()).{.$size.+
681c0 3d 20 24 66 69 6c 65 2d 3e 67 65 74 53 69 7a 65 28 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 =.$file->getSize();.}.}..return.
681e0 24 73 69 7a 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 $size;.}..protected.function.get
68200 50 72 6f 63 65 73 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 Process().{.return.new.ProcessEx
68220 65 63 75 74 6f 72 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 ecutor;.}.}.<?php............nam
68240 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 6f espace.Composer\Util;..use.Compo
68260 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
68280 5c 43 6f 6e 66 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 \Config;.use.Composer\Downloader
682a0 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 43 6f 6d 70 6f 73 65 \TransportException;.use.Compose
682c0 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 47 69 74 48 75 r\Json\JsonFile;.....class.GitHu
682e0 62 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 b.{.protected.$io;.protected.$co
68300 6e 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 nfig;.protected.$process;.protec
68320 74 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 ted.$remoteFilesystem;..........
68340 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
68360 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 6f terface.$io,.Config.$config,.Pro
68380 63 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 cessExecutor.$process.=.null,.Re
683a0 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 79 73 74 65 6d moteFilesystem.$remoteFilesystem
683c0 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 68 69 .=.null).{.$this->io.=.$io;.$thi
683e0 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 6f 63 s->config.=.$config;.$this->proc
68400 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 78 65 ess.=.$process.?:.new.ProcessExe
68420 63 75 74 6f 72 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 cutor;.$this->remoteFilesystem.=
68440 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 3f 3a 20 6e 65 77 20 52 65 6d 6f 74 65 .$remoteFilesystem.?:.new.Remote
68460 46 69 6c 65 73 79 73 74 65 6d 28 24 69 6f 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 Filesystem($io);.}........public
68480 20 66 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 .function.authorizeOAuth($origin
684a0 55 72 6c 29 0a 7b 0a 69 66 20 28 27 67 69 74 68 75 62 2e 63 6f 6d 27 20 21 3d 3d 20 24 6f 72 69 Url).{.if.('github.com'.!==.$ori
684c0 67 69 6e 55 72 6c 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 ginUrl).{.return.false;.}....if.
684e0 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 27 (0.===.$this->process->execute('
68500 67 69 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 git.config.github.accesstoken',.
68520 24 6f 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 $output)).{.$this->io->setAuthen
68540 74 69 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 tication($originUrl,.trim($outpu
68560 74 29 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 t),.'x-oauth-basic');..return.tr
68580 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 0a 0a 0a 0a 0a 0a ue;.}..return.false;.}..........
685a0 0a 70 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 .public.function.authorizeOAuthI
685c0 6e 74 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 nteractively($originUrl,.$messag
685e0 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 61 74 74 65 6d 70 74 43 6f 75 6e 74 65 72 20 3d 20 30 3b e.=.null).{.$attemptCounter.=.0;
68600 0a 0a 69 66 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 ..if.($message).{.$this->io->wri
68620 74 65 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 te($message);.}.$this->io->write
68640 28 27 54 68 65 20 63 72 65 64 65 6e 74 69 61 6c 73 20 77 69 6c 6c 20 62 65 20 73 77 61 70 70 65 ('The.credentials.will.be.swappe
68660 64 20 66 6f 72 20 61 6e 20 4f 41 75 74 68 20 74 6f 6b 65 6e 20 73 74 6f 72 65 64 20 69 6e 20 27 d.for.an.OAuth.token.stored.in.'
68680 2e 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 2e 27 2f 63 6f .$this->config->get('home').'/co
686a0 6e 66 69 67 2e 6a 73 6f 6e 2c 20 79 6f 75 72 20 70 61 73 73 77 6f 72 64 20 77 69 6c 6c 20 6e 6f nfig.json,.your.password.will.no
686c0 74 20 62 65 20 73 74 6f 72 65 64 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 t.be.stored');.$this->io->write(
686e0 27 54 6f 20 72 65 76 6f 6b 65 20 61 63 63 65 73 73 20 74 6f 20 74 68 69 73 20 74 6f 6b 65 6e 20 'To.revoke.access.to.this.token.
68700 79 6f 75 20 63 61 6e 20 76 69 73 69 74 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d you.can.visit.https://github.com
68720 2f 73 65 74 74 69 6e 67 73 2f 61 70 70 6c 69 63 61 74 69 6f 6e 73 27 29 3b 0a 77 68 69 6c 65 20 /settings/applications');.while.
68740 28 24 61 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 ($attemptCounter++.<.5).{.try.{.
68760 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 55 73 65 72 $username.=.$this->io->ask('User
68780 6e 61 6d 65 3a 20 27 29 3b 0a 24 70 61 73 73 77 6f 72 64 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d name:.');.$password.=.$this->io-
687a0 3e 61 73 6b 41 6e 64 48 69 64 65 41 6e 73 77 65 72 28 27 50 61 73 73 77 6f 72 64 3a 20 27 29 3b >askAndHideAnswer('Password:.');
687c0 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
687e0 72 69 67 69 6e 55 72 6c 2c 20 24 75 73 65 72 6e 61 6d 65 2c 20 24 70 61 73 73 77 6f 72 64 29 3b riginUrl,.$username,.$password);
68800 0a 0a 0a 20 24 61 70 70 4e 61 6d 65 20 3d 20 27 43 6f 6d 70 6f 73 65 72 27 3b 0a 69 66 20 28 30 ....$appName.=.'Composer';.if.(0
68820 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 68 6f .===.$this->process->execute('ho
68840 73 74 6e 61 6d 65 27 2c 20 24 6f 75 74 70 75 74 29 29 20 7b 0a 24 61 70 70 4e 61 6d 65 20 2e 3d stname',.$output)).{.$appName..=
68860 20 27 20 6f 6e 20 27 20 2e 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 24 63 6f 6e .'.on.'...trim($output);.}..$con
68880 74 65 6e 74 73 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 tents.=.JsonFile::parseJson($thi
688a0 73 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 s->remoteFilesystem->getContents
688c0 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 27 68 74 74 70 73 3a 2f 2f 61 70 69 2e 67 69 74 68 75 62 ($originUrl,.'https://api.github
688e0 2e 63 6f 6d 2f 61 75 74 68 6f 72 69 7a 61 74 69 6f 6e 73 27 2c 20 66 61 6c 73 65 2c 20 61 72 72 .com/authorizations',.false,.arr
68900 61 79 28 0a 27 68 74 74 70 27 20 3d 3e 20 61 72 72 61 79 28 0a 27 6d 65 74 68 6f 64 27 20 3d 3e ay(.'http'.=>.array(.'method'.=>
68920 20 27 50 4f 53 54 27 2c 0a 27 66 6f 6c 6c 6f 77 5f 6c 6f 63 61 74 69 6f 6e 27 20 3d 3e 20 66 61 .'POST',.'follow_location'.=>.fa
68940 6c 73 65 2c 0a 27 68 65 61 64 65 72 27 20 3d 3e 20 22 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a 20 lse,.'header'.=>."Content-Type:.
68960 61 70 70 6c 69 63 61 74 69 6f 6e 2f 6a 73 6f 6e 5c 72 5c 6e 22 2c 0a 27 63 6f 6e 74 65 6e 74 27 application/json\r\n",.'content'
68980 20 3d 3e 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 61 72 72 61 79 28 0a 27 73 63 6f 70 65 73 27 20 .=>.json_encode(array(.'scopes'.
689a0 3d 3e 20 61 72 72 61 79 28 27 72 65 70 6f 27 29 2c 0a 27 6e 6f 74 65 27 20 3d 3e 20 24 61 70 70 =>.array('repo'),.'note'.=>.$app
689c0 4e 61 6d 65 2c 0a 27 6e 6f 74 65 5f 75 72 6c 27 20 3d 3e 20 27 68 74 74 70 73 3a 2f 2f 67 65 74 Name,.'note_url'.=>.'https://get
689e0 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 27 2c 0a 29 29 2c 0a 29 0a 29 29 29 3b 0a 7d 20 63 61 74 composer.org/',.)),.).)));.}.cat
68a00 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 69 66 20 ch.(TransportException.$e).{.if.
68a20 28 69 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 34 (in_array($e->getCode(),.array(4
68a40 30 33 2c 20 34 30 31 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 49 03,.401))).{.$this->io->write('I
68a60 6e 76 61 6c 69 64 20 63 72 65 64 65 6e 74 69 61 6c 73 2e 27 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b nvalid.credentials.');.continue;
68a80 0a 7d 0a 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 73 65 74 41 .}..throw.$e;.}..$this->io->setA
68aa0 75 74 68 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 74 65 uthentication($originUrl,.$conte
68ac0 6e 74 73 5b 27 74 6f 6b 65 6e 27 5d 2c 20 27 78 2d 6f 61 75 74 68 2d 62 61 73 69 63 27 29 3b 0a nts['token'],.'x-oauth-basic');.
68ae0 0a 0a 20 24 67 69 74 68 75 62 54 6f 6b 65 6e 73 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 ...$githubTokens.=.$this->config
68b00 2d 3e 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 ->get('github-oauth').?:.array()
68b20 3b 0a 24 67 69 74 68 75 62 54 6f 6b 65 6e 73 5b 24 6f 72 69 67 69 6e 55 72 6c 5d 20 3d 20 24 63 ;.$githubTokens[$originUrl].=.$c
68b40 6f 6e 74 65 6e 74 73 5b 27 74 6f 6b 65 6e 27 5d 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d ontents['token'];.$this->config-
68b60 3e 67 65 74 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 53 65 74 >getConfigSource()->addConfigSet
68b80 74 69 6e 67 28 27 67 69 74 68 75 62 2d 6f 61 75 74 68 27 2c 20 24 67 69 74 68 75 62 54 6f 6b 65 ting('github-oauth',.$githubToke
68ba0 6e 73 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 6e 65 77 20 ns);..return.true;.}..throw.new.
68bc0 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 22 49 6e 76 61 6c 69 64 20 47 69 74 48 75 \RuntimeException("Invalid.GitHu
68be0 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 6f 77 2c 20 b.credentials.5.times.in.a.row,.
68c00 61 62 6f 72 74 69 6e 67 2e 22 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a aborting.");.}.}.<?php..........
68c20 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.
68c40 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 73 Symfony\Component\Process\Proces
68c60 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;.
68c80 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 0a 7b 0a 70 72 6f 74 ....class.ProcessExecutor.{.prot
68ca0 65 63 74 65 64 20 73 74 61 74 69 63 20 24 74 69 6d 65 6f 75 74 20 3d 20 33 30 30 3b 0a 0a 70 72 ected.static.$timeout.=.300;..pr
68cc0 6f 74 65 63 74 65 64 20 24 63 61 70 74 75 72 65 4f 75 74 70 75 74 3b 0a 70 72 6f 74 65 63 74 65 otected.$captureOutput;.protecte
68ce0 64 20 24 65 72 72 6f 72 4f 75 74 70 75 74 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 0a d.$errorOutput;.protected.$io;..
68d00 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
68d20 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 69 73 2d 3e 69 6f 20 terface.$io.=.null).{.$this->io.
68d40 3d 20 24 69 6f 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 =.$io;.}...........public.functi
68d60 6f 6e 20 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 26 24 6f 75 74 70 75 74 20 3d 20 on.execute($command,.&$output.=.
68d80 6e 75 6c 6c 2c 20 24 63 77 64 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e null,.$cwd.=.null).{.if.($this->
68da0 69 6f 20 26 26 20 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 73 io.&&.$this->io->isDebug()).{.$s
68dc0 61 66 65 43 6f 6d 6d 61 6e 64 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 28 3a 2f 2f afeCommand.=.preg_replace('{(://
68de0 5b 5e 3a 2f 5c 73 5d 2b 3a 29 5b 5e 40 5c 73 2f 5d 2b 7d 69 27 2c 20 27 24 31 2a 2a 2a 2a 27 2c [^:/\s]+:)[^@\s/]+}i',.'$1****',
68e00 20 24 63 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 28 27 45 78 .$command);.$this->io->write('Ex
68e20 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 3a 20 27 43 57 44 ecuting.command.('.($cwd.?:.'CWD
68e40 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 0a 0a 20 0a 20 69 ').'):.'.$safeCommand);.}......i
68e60 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 63 77 64 20 26 26 20 64 65 66 69 6e 65 64 28 27 50 48 50 f.(null.===.$cwd.&&.defined('PHP
68e80 5f 57 49 4e 44 4f 57 53 5f 56 45 52 53 49 4f 4e 5f 42 55 49 4c 44 27 29 20 26 26 20 66 61 6c 73 _WINDOWS_VERSION_BUILD').&&.fals
68ea0 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 63 6f 6d 6d 61 6e 64 2c 20 27 67 69 74 27 29 20 26 26 e.!==.strpos($command,.'git').&&
68ec0 20 67 65 74 63 77 64 28 29 29 20 7b 0a 24 63 77 64 20 3d 20 72 65 61 6c 70 61 74 68 28 67 65 74 .getcwd()).{.$cwd.=.realpath(get
68ee0 63 77 64 28 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 61 70 74 75 72 65 4f 75 74 70 75 74 20 cwd());.}..$this->captureOutput.
68f00 3d 20 63 6f 75 6e 74 28 66 75 6e 63 5f 67 65 74 5f 61 72 67 73 28 29 29 20 3e 20 31 3b 0a 24 74 =.count(func_get_args()).>.1;.$t
68f20 68 69 73 2d 3e 65 72 72 6f 72 4f 75 74 70 75 74 20 3d 20 6e 75 6c 6c 3b 0a 24 70 72 6f 63 65 73 his->errorOutput.=.null;.$proces
68f40 73 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 63 77 64 2c 20 s.=.new.Process($command,.$cwd,.
68f60 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 73 74 61 74 69 63 3a 3a 67 65 74 54 69 6d 65 6f 75 74 28 29 null,.null,.static::getTimeout()
68f80 29 3b 0a 0a 24 63 61 6c 6c 62 61 63 6b 20 3d 20 69 73 5f 63 61 6c 6c 61 62 6c 65 28 24 6f 75 74 );..$callback.=.is_callable($out
68fa0 70 75 74 29 20 3f 20 24 6f 75 74 70 75 74 20 3a 20 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 6f put).?.$output.:.array($this,.'o
68fc0 75 74 70 75 74 48 61 6e 64 6c 65 72 27 29 3b 0a 24 70 72 6f 63 65 73 73 2d 3e 72 75 6e 28 24 63 utputHandler');.$process->run($c
68fe0 61 6c 6c 62 61 63 6b 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 61 70 74 75 72 65 4f 75 74 allback);..if.($this->captureOut
69000 70 75 74 20 26 26 20 21 69 73 5f 63 61 6c 6c 61 62 6c 65 28 24 6f 75 74 70 75 74 29 29 20 7b 0a put.&&.!is_callable($output)).{.
69020 24 6f 75 74 70 75 74 20 3d 20 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 4f 75 74 70 75 74 28 29 3b $output.=.$process->getOutput();
69040 0a 7d 0a 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 4f 75 74 70 75 74 20 3d 20 24 70 72 6f 63 65 73 .}..$this->errorOutput.=.$proces
69060 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 70 72 s->getErrorOutput();..return.$pr
69080 6f 63 65 73 73 2d 3e 67 65 74 45 78 69 74 43 6f 64 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 ocess->getExitCode();.}..public.
690a0 66 75 6e 63 74 69 6f 6e 20 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 29 0a 7b 0a 24 function.splitLines($output).{.$
690c0 6f 75 74 70 75 74 20 3d 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 3b 0a 0a 72 65 74 75 72 6e 20 output.=.trim($output);..return.
690e0 28 28 73 74 72 69 6e 67 29 20 24 6f 75 74 70 75 74 20 3d 3d 3d 20 27 27 29 20 3f 20 61 72 72 61 ((string).$output.===.'').?.arra
69100 79 28 29 20 3a 20 70 72 65 67 5f 73 70 6c 69 74 28 27 7b 5c 72 3f 5c 6e 7d 27 2c 20 24 6f 75 74 y().:.preg_split('{\r?\n}',.$out
69120 70 75 74 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 put);.}.......public.function.ge
69140 74 45 72 72 6f 72 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 65 tErrorOutput().{.return.$this->e
69160 72 72 6f 72 4f 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 6f rrorOutput;.}..public.function.o
69180 75 74 70 75 74 48 61 6e 64 6c 65 72 28 24 74 79 70 65 2c 20 24 62 75 66 66 65 72 29 0a 7b 0a 69 utputHandler($type,.$buffer).{.i
691a0 66 20 28 24 74 68 69 73 2d 3e 63 61 70 74 75 72 65 4f 75 74 70 75 74 29 20 7b 0a 72 65 74 75 72 f.($this->captureOutput).{.retur
691c0 6e 3b 0a 7d 0a 0a 65 63 68 6f 20 24 62 75 66 66 65 72 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 n;.}..echo.$buffer;.}..public.st
691e0 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 0a 72 65 74 atic.function.getTimeout().{.ret
69200 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 6c 69 63 20 urn.static::$timeout;.}..public.
69220 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 74 69 6d 65 static.function.setTimeout($time
69240 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 69 6d 65 6f out).{.static::$timeout.=.$timeo
69260 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 6e 61 6d 65 73 70 61 ut;.}.}.<?php............namespa
69280 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 6f 73 65 72 5c ce.Composer\Util;..use.Composer\
692a0 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 47 69 74 0a 7b 0a IO\IOInterface;.....class.Git.{.
692c0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 6e 45 6e 76 28 29 0a 7b 0a 69 66 20 public.function.cleanEnv().{.if.
692e0 28 69 6e 69 5f 67 65 74 28 27 73 61 66 65 5f 6d 6f 64 65 27 29 20 26 26 20 66 61 6c 73 65 20 3d (ini_get('safe_mode').&&.false.=
69300 3d 3d 20 73 74 72 70 6f 73 28 69 6e 69 5f 67 65 74 28 27 73 61 66 65 5f 6d 6f 64 65 5f 61 6c 6c ==.strpos(ini_get('safe_mode_all
69320 6f 77 65 64 5f 65 6e 76 5f 76 61 72 73 27 29 2c 20 27 47 49 54 5f 41 53 4b 50 41 53 53 27 29 29 owed_env_vars'),.'GIT_ASKPASS'))
69340 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('
69360 73 61 66 65 5f 6d 6f 64 65 20 69 73 20 65 6e 61 62 6c 65 64 20 61 6e 64 20 73 61 66 65 5f 6d 6f safe_mode.is.enabled.and.safe_mo
69380 64 65 5f 61 6c 6c 6f 77 65 64 5f 65 6e 76 5f 76 61 72 73 20 64 6f 65 73 20 6e 6f 74 20 63 6f 6e de_allowed_env_vars.does.not.con
693a0 74 61 69 6e 20 47 49 54 5f 41 53 4b 50 41 53 53 2c 20 63 61 6e 20 6e 6f 74 20 73 65 74 20 65 6e tain.GIT_ASKPASS,.can.not.set.en
693c0 76 20 76 61 72 2e 20 59 6f 75 20 63 61 6e 20 64 69 73 61 62 6c 65 20 73 61 66 65 5f 6d 6f 64 65 v.var..You.can.disable.safe_mode
693e0 20 77 69 74 68 20 22 2d 64 73 61 66 65 5f 6d 6f 64 65 3d 30 22 20 77 68 65 6e 20 72 75 6e 6e 69 .with."-dsafe_mode=0".when.runni
69400 6e 67 20 63 6f 6d 70 6f 73 65 72 27 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 67 65 74 65 6e 76 28 27 ng.composer');.}....if.(getenv('
69420 47 49 54 5f 41 53 4b 50 41 53 53 27 29 20 21 3d 3d 20 27 65 63 68 6f 27 29 20 7b 0a 70 75 74 65 GIT_ASKPASS').!==.'echo').{.pute
69440 6e 76 28 27 47 49 54 5f 41 53 4b 50 41 53 53 3d 65 63 68 6f 27 29 3b 0a 7d 0a 0a 0a 20 69 66 20 nv('GIT_ASKPASS=echo');.}....if.
69460 28 67 65 74 65 6e 76 28 27 47 49 54 5f 44 49 52 27 29 29 20 7b 0a 70 75 74 65 6e 76 28 27 47 49 (getenv('GIT_DIR')).{.putenv('GI
69480 54 5f 44 49 52 27 29 3b 0a 7d 0a 69 66 20 28 67 65 74 65 6e 76 28 27 47 49 54 5f 57 4f 52 4b 5f T_DIR');.}.if.(getenv('GIT_WORK_
694a0 54 52 45 45 27 29 29 20 7b 0a 70 75 74 65 6e 76 28 27 47 49 54 5f 57 4f 52 4b 5f 54 52 45 45 27 TREE')).{.putenv('GIT_WORK_TREE'
694c0 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 0a 6e 61 6d 65 73 70 );.}.}.}.<?php............namesp
694e0 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 6f 73 65 72 ace.Composer\Util;..use.Composer
69500 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 6e 74 \Composer;.use.Composer\IO\IOInt
69520 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\
69540 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 52 TransportException;......class.R
69560 65 6d 6f 74 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 emoteFilesystem.{.private.$io;.p
69580 72 69 76 61 74 65 20 24 66 69 72 73 74 43 61 6c 6c 3b 0a 70 72 69 76 61 74 65 20 24 62 79 74 65 rivate.$firstCall;.private.$byte
695a0 73 4d 61 78 3b 0a 70 72 69 76 61 74 65 20 24 6f 72 69 67 69 6e 55 72 6c 3b 0a 70 72 69 76 61 74 sMax;.private.$originUrl;.privat
695c0 65 20 24 66 69 6c 65 55 72 6c 3b 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 4e 61 6d 65 3b 0a 70 e.$fileUrl;.private.$fileName;.p
695e0 72 69 76 61 74 65 20 24 72 65 74 72 79 3b 0a 70 72 69 76 61 74 65 20 24 70 72 6f 67 72 65 73 73 rivate.$retry;.private.$progress
69600 3b 0a 70 72 69 76 61 74 65 20 24 6c 61 73 74 50 72 6f 67 72 65 73 73 3b 0a 70 72 69 76 61 74 65 ;.private.$lastProgress;.private
69620 20 24 6f 70 74 69 6f 6e 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f .$options;........public.functio
69640 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 24 n.__construct(IOInterface.$io,.$
69660 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 2d 3e 69 6f 20 3d options.=.array()).{.$this->io.=
69680 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 24 6f 70 74 69 6f 6e 73 3b .$io;.$this->options.=.$options;
696a0 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 63 .}.............public.function.c
696c0 6f 70 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 opy($originUrl,.$fileUrl,.$fileN
696e0 61 6d 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 ame,.$progress.=.true,.$options.
69700 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 67 65 74 28 24 =.array()).{.return.$this->get($
69720 6f 72 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 originUrl,.$fileUrl,.$options,.$
69740 66 69 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 fileName,.$progress);.}.........
69760 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 74 65 6e 74 73 28 24 ...public.function.getContents($
69780 6f 72 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 originUrl,.$fileUrl,.$progress.=
697a0 20 74 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 .true,.$options.=.array()).{.ret
697c0 75 72 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 urn.$this->get($originUrl,.$file
697e0 55 72 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 Url,.$options,.null,.$progress);
69800 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 63 .}................protected.func
69820 74 69 6f 6e 20 67 65 74 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 66 69 6c 65 55 72 6c 2c 20 24 tion.get($originUrl,.$fileUrl,.$
69840 61 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 2c 20 24 66 69 additionalOptions.=.array(),.$fi
69860 6c 65 4e 61 6d 65 20 3d 20 6e 75 6c 6c 2c 20 24 70 72 6f 67 72 65 73 73 20 3d 20 74 72 75 65 29 leName.=.null,.$progress.=.true)
69880 0a 7b 0a 24 74 68 69 73 2d 3e 62 79 74 65 73 4d 61 78 20 3d 20 30 3b 0a 24 74 68 69 73 2d 3e 6f .{.$this->bytesMax.=.0;.$this->o
698a0 72 69 67 69 6e 55 72 6c 20 3d 20 24 6f 72 69 67 69 6e 55 72 6c 3b 0a 24 74 68 69 73 2d 3e 66 69 riginUrl.=.$originUrl;.$this->fi
698c0 6c 65 55 72 6c 20 3d 20 24 66 69 6c 65 55 72 6c 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 4e 61 6d leUrl.=.$fileUrl;.$this->fileNam
698e0 65 20 3d 20 24 66 69 6c 65 4e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 20 3d e.=.$fileName;.$this->progress.=
69900 20 24 70 72 6f 67 72 65 73 73 3b 0a 24 74 68 69 73 2d 3e 6c 61 73 74 50 72 6f 67 72 65 73 73 20 .$progress;.$this->lastProgress.
69920 3d 20 6e 75 6c 6c 3b 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 =.null;....if.(preg_match('{^htt
69940 70 73 3f 3a 2f 2f 28 2e 2b 29 3a 28 2e 2b 29 40 28 5b 5e 2f 5d 2b 29 7d 69 27 2c 20 24 66 69 6c ps?://(.+):(.+)@([^/]+)}i',.$fil
69960 65 55 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 eUrl,.$match)).{.$this->io->setA
69980 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 75 72 6c 64 65 63 uthentication($originUrl,.urldec
699a0 6f 64 65 28 24 6d 61 74 63 68 5b 31 5d 29 2c 20 75 72 6c 64 65 63 6f 64 65 28 24 6d 61 74 63 68 ode($match[1]),.urldecode($match
699c0 5b 32 5d 29 29 3b 0a 7d 0a 0a 24 6f 70 74 69 6f 6e 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4f [2]));.}..$options.=.$this->getO
699e0 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 61 64 64 69 74 69 ptionsForUrl($originUrl,.$additi
69a00 6f 6e 61 6c 4f 70 74 69 6f 6e 73 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 onalOptions);..if.($this->io->is
69a20 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 28 27 44 6f 77 Debug()).{.$this->io->write('Dow
69a40 6e 6c 6f 61 64 69 6e 67 20 27 2e 24 66 69 6c 65 55 72 6c 29 3b 0a 7d 0a 69 66 20 28 69 73 73 65 nloading.'.$fileUrl);.}.if.(isse
69a60 74 28 24 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 24 t($options['github-token'])).{.$
69a80 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 6f 73 28 24 66 69 fileUrl..=.(false.===.strpos($fi
69aa0 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 20 27 61 63 63 65 leUrl,.'?').?.'?'.:.'&')...'acce
69ac0 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 62 2d 74 6f 6b 65 ss_token='.$options['github-toke
69ae0 6e 27 5d 3b 0a 75 6e 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 67 69 74 68 75 62 2d 74 6f 6b 65 n'];.unset($options['github-toke
69b00 6e 27 5d 29 3b 0a 7d 0a 24 63 74 78 20 3d 20 53 74 72 65 61 6d 43 6f 6e 74 65 78 74 46 61 63 74 n']);.}.$ctx.=.StreamContextFact
69b20 6f 72 79 3a 3a 67 65 74 43 6f 6e 74 65 78 74 28 24 66 69 6c 65 55 72 6c 2c 20 24 6f 70 74 69 6f ory::getContext($fileUrl,.$optio
69b40 6e 73 2c 20 61 72 72 61 79 28 27 6e 6f 74 69 66 69 63 61 74 69 6f 6e 27 20 3d 3e 20 61 72 72 61 ns,.array('notification'.=>.arra
69b60 79 28 24 74 68 69 73 2c 20 27 63 61 6c 6c 62 61 63 6b 47 65 74 27 29 29 29 3b 0a 0a 69 66 20 28 y($this,.'callbackGet')));..if.(
69b80 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 $this->progress).{.$this->io->wr
69ba0 69 74 65 28 22 20 20 20 20 44 6f 77 6e 6c 6f 61 64 69 6e 67 3a 20 3c 63 6f 6d 6d 65 6e 74 3e 63 ite("....Downloading:.<comment>c
69bc0 6f 6e 6e 65 63 74 69 6f 6e 2e 2e 2e 3c 2f 63 6f 6d 6d 65 6e 74 3e 22 2c 20 66 61 6c 73 65 29 3b onnection...</comment>",.false);
69be0 0a 7d 0a 0a 24 65 72 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 .}..$errorMessage.=.'';.$errorCo
69c00 64 65 20 3d 20 30 3b 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 de.=.0;.$result.=.false;.set_err
69c20 6f 72 5f 68 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 or_handler(function.($code,.$msg
69c40 29 20 75 73 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 ).use.(&$errorMessage).{.if.($er
69c60 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 2e 3d 20 22 rorMessage).{.$errorMessage..=."
69c80 5c 6e 22 3b 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 \n";.}.$errorMessage..=.preg_rep
69ca0 6c 61 63 65 28 27 7b 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 lace('{^file_get_contents\(.*?\)
69cc0 3a 20 7d 27 2c 20 27 27 2c 20 24 6d 73 67 29 3b 0a 7d 29 3b 0a 74 72 79 20 7b 0a 24 72 65 73 75 :.}',.'',.$msg);.});.try.{.$resu
69ce0 6c 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 lt.=.file_get_contents($fileUrl,
69d00 20 66 61 6c 73 65 2c 20 24 63 74 78 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 .false,.$ctx);.}.catch.(\Excepti
69d20 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
69d40 70 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 portException.&&.!empty($http_re
69d60 73 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 sponse_header[0])).{.$e->setHead
69d80 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 7d 0a 7d 0a ers($http_response_header);.}.}.
69da0 69 66 20 28 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 26 26 20 21 69 6e 69 5f 67 65 74 28 27 61 if.($errorMessage.&&.!ini_get('a
69dc0 6c 6c 6f 77 5f 75 72 6c 5f 66 6f 70 65 6e 27 29 29 20 7b 0a 24 65 72 72 6f 72 4d 65 73 73 61 67 llow_url_fopen')).{.$errorMessag
69de0 65 20 3d 20 27 61 6c 6c 6f 77 5f 75 72 6c 5f 66 6f 70 65 6e 20 6d 75 73 74 20 62 65 20 65 6e 61 e.=.'allow_url_fopen.must.be.ena
69e00 62 6c 65 64 20 69 6e 20 70 68 70 2e 69 6e 69 20 28 27 2e 24 65 72 72 6f 72 4d 65 73 73 61 67 65 bled.in.php.ini.('.$errorMessage
69e20 2e 27 29 27 3b 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 .')';.}.restore_error_handler();
69e40 0a 69 66 20 28 69 73 73 65 74 28 24 65 29 20 26 26 20 21 24 74 68 69 73 2d 3e 72 65 74 72 79 29 .if.(isset($e).&&.!$this->retry)
69e60 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 65 6d 70 74 79 28 24 68 74 .{.throw.$e;.}....if.(!empty($ht
69e80 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 5b 30 5d 29 20 26 26 20 70 72 65 67 5f 6d tp_response_header[0]).&&.preg_m
69ea0 61 74 63 68 28 27 7b 5e 48 54 54 50 2f 5c 53 2b 20 28 5b 34 35 5d 5c 64 5c 64 29 7d 69 27 2c 20 atch('{^HTTP/\S+.([45]\d\d)}i',.
69ec0 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 5b 30 5d 2c 20 24 6d 61 74 63 68 $http_response_header[0],.$match
69ee0 29 29 20 7b 0a 24 72 65 73 75 6c 74 20 3d 20 66 61 6c 73 65 3b 0a 24 65 72 72 6f 72 43 6f 64 65 )).{.$result.=.false;.$errorCode
69f00 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 72 65 73 75 6c 74 20 26 .=.$match[1];.}....if.($result.&
69f20 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 26 20 73 75 &.extension_loaded('zlib').&&.su
69f40 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 74 70 27 29 bstr($fileUrl,.0,.4).===.'http')
69f60 20 7b 0a 24 64 65 63 6f 64 65 20 3d 20 66 61 6c 73 65 3b 0a 66 6f 72 65 61 63 68 20 28 24 68 74 .{.$decode.=.false;.foreach.($ht
69f80 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 20 61 73 20 24 68 65 61 64 65 72 29 20 7b tp_response_header.as.$header).{
69fa0 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 63 6f 6e 74 65 6e 74 2d 65 6e 63 6f 64 .if.(preg_match('{^content-encod
69fc0 69 6e 67 3a 20 2a 67 7a 69 70 20 2a 24 7d 69 27 2c 20 24 68 65 61 64 65 72 29 29 20 7b 0a 24 64 ing:.*gzip.*$}i',.$header)).{.$d
69fe0 65 63 6f 64 65 20 3d 20 74 72 75 65 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 20 65 6c 73 65 69 66 ecode.=.true;.continue;.}.elseif
6a000 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 48 54 54 50 2f 7d 69 27 2c 20 24 68 65 61 64 65 .(preg_match('{^HTTP/}i',.$heade
6a020 72 29 29 20 7b 0a 24 64 65 63 6f 64 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 r)).{.$decode.=.false;.}.}..if.(
6a040 24 64 65 63 6f 64 65 29 20 7b 0a 69 66 20 28 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 28 50 $decode).{.if.(version_compare(P
6a060 48 50 5f 56 45 52 53 49 4f 4e 2c 20 27 35 2e 34 2e 30 27 2c 20 27 3e 3d 27 29 29 20 7b 0a 24 72 HP_VERSION,.'5.4.0',.'>=')).{.$r
6a080 65 73 75 6c 74 20 3d 20 7a 6c 69 62 5f 64 65 63 6f 64 65 28 24 72 65 73 75 6c 74 29 3b 0a 7d 20 esult.=.zlib_decode($result);.}.
6a0a0 65 6c 73 65 20 7b 0a 0a 20 24 72 65 73 75 6c 74 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 else.{...$result.=.file_get_cont
6a0c0 65 6e 74 73 28 27 63 6f 6d 70 72 65 73 73 2e 7a 6c 69 62 3a 2f 2f 64 61 74 61 3a 61 70 70 6c 69 ents('compress.zlib://data:appli
6a0e0 63 61 74 69 6f 6e 2f 6f 63 74 65 74 2d 73 74 72 65 61 6d 3b 62 61 73 65 36 34 2c 27 2e 62 61 73 cation/octet-stream;base64,'.bas
6a100 65 36 34 5f 65 6e 63 6f 64 65 28 24 72 65 73 75 6c 74 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 e64_encode($result));.}.}.}..if.
6a120 28 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 6f ($this->progress).{.$this->io->o
6a140 76 65 72 77 72 69 74 65 28 22 20 20 20 20 44 6f 77 6e 6c 6f 61 64 69 6e 67 3a 20 3c 63 6f 6d 6d verwrite("....Downloading:.<comm
6a160 65 6e 74 3e 31 30 30 25 3c 2f 63 6f 6d 6d 65 6e 74 3e 22 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 66 ent>100%</comment>");.}....if.(f
6a180 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 3d 20 24 66 69 alse.!==.$result.&&.null.!==.$fi
6a1a0 6c 65 4e 61 6d 65 29 20 7b 0a 69 66 20 28 27 27 20 3d 3d 3d 20 24 72 65 73 75 6c 74 29 20 7b 0a leName).{.if.(''.===.$result).{.
6a1c0 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 22 27 throw.new.TransportException('"'
6a1e0 2e 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2e 27 22 20 61 70 70 65 61 72 73 20 62 72 6f 6b 65 .$this->fileUrl.'".appears.broke
6a200 6e 2c 20 61 6e 64 20 72 65 74 75 72 6e 65 64 20 61 6e 20 65 6d 70 74 79 20 32 30 30 20 72 65 73 n,.and.returned.an.empty.200.res
6a220 70 6f 6e 73 65 27 29 3b 0a 7d 0a 0a 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 27 27 3b 0a ponse');.}..$errorMessage.=.'';.
6a240 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 63 6f 64 set_error_handler(function.($cod
6a260 65 2c 20 24 6d 73 67 29 20 75 73 65 20 28 26 24 65 72 72 6f 72 4d 65 73 73 61 67 65 29 20 7b 0a e,.$msg).use.(&$errorMessage).{.
6a280 69 66 20 28 24 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 if.($errorMessage).{.$errorMessa
6a2a0 67 65 20 2e 3d 20 22 5c 6e 22 3b 0a 7d 0a 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 2e 3d 20 70 ge..=."\n";.}.$errorMessage..=.p
6a2c0 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 reg_replace('{^file_put_contents
6a2e0 5c 28 2e 2a 3f 5c 29 3a 20 7d 27 2c 20 27 27 2c 20 24 6d 73 67 29 3b 0a 7d 29 3b 0a 24 72 65 73 \(.*?\):.}',.'',.$msg);.});.$res
6a300 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 73 28 24 ult.=.(bool).file_put_contents($
6a320 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 72 72 6f fileName,.$result);.restore_erro
6a340 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 65 73 75 r_handler();.if.(false.===.$resu
6a360 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 70 74 69 lt).{.throw.new.TransportExcepti
6a380 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 66 69 6c on('The."'.$this->fileUrl.'".fil
6a3a0 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 66 69 6c e.could.not.be.written.to.'.$fil
6a3c0 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 7d 0a 0a eName.':.'.$errorMessage);.}.}..
6a3e0 69 66 20 28 24 74 68 69 73 2d 3e 72 65 74 72 79 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 74 72 79 if.($this->retry).{.$this->retry
6a400 20 3d 20 66 61 6c 73 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 28 24 74 68 .=.false;..return.$this->get($th
6a420 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 24 is->originUrl,.$this->fileUrl,.$
6a440 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 61 additionalOptions,.$this->fileNa
6a460 6d 65 2c 20 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 29 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c me,.$this->progress);.}..if.(fal
6a480 73 65 20 3d 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 se.===.$result).{.$e.=.new.Trans
6a4a0 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 3e 66 69 6c portException('The."'.$this->fil
6a4c0 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 77 6e 6c 6f eUrl.'".file.could.not.be.downlo
6a4e0 61 64 65 64 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 aded:.'.$errorMessage,.$errorCod
6a500 65 29 3b 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 e);.if.(!empty($http_response_he
6a520 61 64 65 72 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 ader[0])).{.$e->setHeaders($http
6a540 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 3b 0a _response_header);.}..throw.$e;.
6a560 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 0a 0a 0a }..return.$result;.}............
6a580 0a 70 72 6f 74 65 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 .protected.function.callbackGet(
6a5a0 24 6e 6f 74 69 66 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 $notificationCode,.$severity,.$m
6a5c0 65 73 73 61 67 65 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 essage,.$messageCode,.$bytesTran
6a5e0 73 66 65 72 72 65 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 sferred,.$bytesMax).{.switch.($n
6a600 6f 74 69 66 69 63 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 otificationCode).{.case.STREAM_N
6a620 4f 54 49 46 59 5f 46 41 49 4c 55 52 45 3a 0a 63 61 73 65 20 53 54 52 45 41 4d 5f 4e 4f 54 49 46 OTIFY_FAILURE:.case.STREAM_NOTIF
6a640 59 5f 41 55 54 48 5f 52 45 51 55 49 52 45 44 3a 0a 69 66 20 28 34 30 31 20 3d 3d 3d 20 24 6d 65 Y_AUTH_REQUIRED:.if.(401.===.$me
6a660 73 73 61 67 65 43 6f 64 65 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 ssageCode).{.if.(!$this->io->isI
6a680 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 22 54 68 65 20 nteractive()).{.$message.=."The.
6a6a0 27 22 20 2e 20 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 20 2e 20 22 27 20 55 52 4c 20 72 65 71 '"...$this->fileUrl..."'.URL.req
6a6c0 75 69 72 65 64 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 2e 5c 6e 59 6f 75 20 6d 75 73 74 20 uired.authentication.\nYou.must.
6a6e0 62 65 20 75 73 69 6e 67 20 74 68 65 20 69 6e 74 65 72 61 63 74 69 76 65 20 63 6f 6e 73 6f 6c 65 be.using.the.interactive.console
6a700 22 3b 0a 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
6a720 28 24 6d 65 73 73 61 67 65 2c 20 34 30 31 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 6f ($message,.401);.}..$this->io->o
6a740 76 65 72 77 72 69 74 65 28 27 20 20 20 20 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 72 65 71 verwrite('....Authentication.req
6a760 75 69 72 65 64 20 28 3c 69 6e 66 6f 3e 27 2e 70 61 72 73 65 5f 75 72 6c 28 24 74 68 69 73 2d 3e uired.(<info>'.parse_url($this->
6a780 66 69 6c 65 55 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 2e 27 3c 2f 69 6e 66 6f 3e 29 fileUrl,.PHP_URL_HOST).'</info>)
6a7a0 3a 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 :');.$username.=.$this->io->ask(
6a7c0 27 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 '......Username:.');.$password.=
6a7e0 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 28 27 20 20 .$this->io->askAndHideAnswer('..
6a800 20 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 ....Password:.');.$this->io->set
6a820 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 2c Authentication($this->originUrl,
6a840 20 24 75 73 65 72 6e 61 6d 65 2c 20 24 70 61 73 73 77 6f 72 64 29 3b 0a 0a 24 74 68 69 73 2d 3e .$username,.$password);..$this->
6a860 72 65 74 72 79 20 3d 20 74 72 75 65 3b 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 retry.=.true;.throw.new.Transpor
6a880 74 45 78 63 65 70 74 69 6f 6e 28 27 52 45 54 52 59 27 29 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 69 tException('RETRY');.break;.}..i
6a8a0 66 20 28 24 6e 6f 74 69 66 69 63 61 74 69 6f 6e 43 6f 64 65 20 3d 3d 3d 20 53 54 52 45 41 4d 5f f.($notificationCode.===.STREAM_
6a8c0 4e 4f 54 49 46 59 5f 41 55 54 48 5f 52 45 51 55 49 52 45 44 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d NOTIFY_AUTH_REQUIRED).{.break;.}
6a8e0 0a 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('
6a900 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
6a920 75 6c 64 20 6e 6f 74 20 62 65 20 64 6f 77 6e 6c 6f 61 64 65 64 20 28 27 2e 74 72 69 6d 28 24 6d uld.not.be.downloaded.('.trim($m
6a940 65 73 73 61 67 65 29 2e 27 29 27 2c 20 24 6d 65 73 73 61 67 65 43 6f 64 65 29 3b 0a 0a 63 61 73 essage).')',.$messageCode);..cas
6a960 65 20 53 54 52 45 41 4d 5f 4e 4f 54 49 46 59 5f 41 55 54 48 5f 52 45 53 55 4c 54 3a 0a 69 66 20 e.STREAM_NOTIFY_AUTH_RESULT:.if.
6a980 28 34 30 33 20 3d 3d 3d 20 24 6d 65 73 73 61 67 65 43 6f 64 65 29 20 7b 0a 24 6d 65 73 73 61 67 (403.===.$messageCode).{.$messag
6a9a0 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..."
6a9c0 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:."..
6a9e0 20 24 6d 65 73 73 61 67 65 3b 0a 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 .$message;..throw.new.TransportE
6aa00 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 2c 20 34 30 33 29 3b 0a 7d 0a 62 72 65 61 6b xception($message,.403);.}.break
6aa20 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 5a 45 5f ;..case.STREAM_NOTIFY_FILE_SIZE_
6aa40 49 53 3a 0a 69 66 20 28 24 74 68 69 73 2d 3e 62 79 74 65 73 4d 61 78 20 3c 20 24 62 79 74 65 73 IS:.if.($this->bytesMax.<.$bytes
6aa60 4d 61 78 29 20 7b 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 Max).{.$this->bytesMax.=.$bytesM
6aa80 61 78 3b 0a 7d 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 ax;.}.break;..case.STREAM_NOTIFY
6aaa0 5f 50 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 _PROGRESS:.if.($this->bytesMax.>
6aac0 20 30 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 .0.&&.$this->progress).{.$progre
6aae0 73 73 69 6f 6e 20 3d 20 30 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 62 79 74 65 73 4d 61 78 20 ssion.=.0;..if.($this->bytesMax.
6ab00 3e 20 30 29 20 7b 0a 24 70 72 6f 67 72 65 73 73 69 6f 6e 20 3d 20 72 6f 75 6e 64 28 24 62 79 74 >.0).{.$progression.=.round($byt
6ab20 65 73 54 72 61 6e 73 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 esTransferred./.$this->bytesMax.
6ab40 2a 20 31 30 30 29 3b 0a 7d 0a 0a 69 66 20 28 28 30 20 3d 3d 3d 20 24 70 72 6f 67 72 65 73 73 69 *.100);.}..if.((0.===.$progressi
6ab60 6f 6e 20 25 20 35 29 20 26 26 20 24 70 72 6f 67 72 65 73 73 69 6f 6e 20 21 3d 3d 20 24 74 68 69 on.%.5).&&.$progression.!==.$thi
6ab80 73 2d 3e 6c 61 73 74 50 72 6f 67 72 65 73 73 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 61 73 74 50 72 s->lastProgress).{.$this->lastPr
6aba0 6f 67 72 65 73 73 20 3d 20 24 70 72 6f 67 72 65 73 73 69 6f 6e 3b 0a 24 74 68 69 73 2d 3e 69 6f ogress.=.$progression;.$this->io
6abc0 2d 3e 6f 76 65 72 77 72 69 74 65 28 22 20 20 20 20 44 6f 77 6e 6c 6f 61 64 69 6e 67 3a 20 3c 63 ->overwrite("....Downloading:.<c
6abe0 6f 6d 6d 65 6e 74 3e 24 70 72 6f 67 72 65 73 73 69 6f 6e 25 3c 2f 63 6f 6d 6d 65 6e 74 3e 22 2c omment>$progression%</comment>",
6ac00 20 66 61 6c 73 65 29 3b 0a 7d 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 64 65 66 61 75 6c 74 3a 0a 62 72 .false);.}.}.break;..default:.br
6ac20 65 61 6b 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 74 eak;.}.}..protected.function.get
6ac40 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 61 64 64 69 74 OptionsForUrl($originUrl,.$addit
6ac60 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 29 0a 7b 0a 24 68 65 61 64 65 72 73 20 3d 20 61 72 72 61 79 ionalOptions).{.$headers.=.array
6ac80 28 0a 73 70 72 69 6e 74 66 28 0a 27 55 73 65 72 2d 41 67 65 6e 74 3a 20 43 6f 6d 70 6f 73 65 72 (.sprintf(.'User-Agent:.Composer
6aca0 2f 25 73 20 28 25 73 3b 20 25 73 3b 20 50 48 50 20 25 73 2e 25 73 2e 25 73 29 27 2c 0a 43 6f 6d /%s.(%s;.%s;.PHP.%s.%s.%s)',.Com
6acc0 70 6f 73 65 72 3a 3a 56 45 52 53 49 4f 4e 20 3d 3d 3d 20 27 31 66 32 64 33 33 31 66 64 33 34 31 poser::VERSION.===.'1f2d331fd341
6ace0 38 39 37 63 39 64 35 34 34 31 34 61 37 36 62 39 30 39 62 65 62 61 39 65 33 61 35 39 27 20 3f 20 897c9d54414a76b909beba9e3a59'.?.
6ad00 27 73 6f 75 72 63 65 27 20 3a 20 43 6f 6d 70 6f 73 65 72 3a 3a 56 45 52 53 49 4f 4e 2c 0a 70 68 'source'.:.Composer::VERSION,.ph
6ad20 70 5f 75 6e 61 6d 65 28 27 73 27 29 2c 0a 70 68 70 5f 75 6e 61 6d 65 28 27 72 27 29 2c 0a 50 48 p_uname('s'),.php_uname('r'),.PH
6ad40 50 5f 4d 41 4a 4f 52 5f 56 45 52 53 49 4f 4e 2c 0a 50 48 50 5f 4d 49 4e 4f 52 5f 56 45 52 53 49 P_MAJOR_VERSION,.PHP_MINOR_VERSI
6ad60 4f 4e 2c 0a 50 48 50 5f 52 45 4c 45 41 53 45 5f 56 45 52 53 49 4f 4e 0a 29 0a 29 3b 0a 0a 69 66 ON,.PHP_RELEASE_VERSION.).);..if
6ad80 20 28 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 7a 6c 69 62 27 29 29 20 7b 0a 24 68 .(extension_loaded('zlib')).{.$h
6ada0 65 61 64 65 72 73 5b 5d 20 3d 20 27 41 63 63 65 70 74 2d 45 6e 63 6f 64 69 6e 67 3a 20 67 7a 69 eaders[].=.'Accept-Encoding:.gzi
6adc0 70 27 3b 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 5f p';.}..$options.=.array_replace_
6ade0 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 61 64 64 69 74 recursive($this->options,.$addit
6ae00 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 ionalOptions);..if.($this->io->h
6ae20 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 72 6c 29 29 20 7b 0a asAuthentication($originUrl)).{.
6ae40 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 68 65 6e 74 69 63 61 $auth.=.$this->io->getAuthentica
6ae60 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 74 68 75 62 2e 63 6f tion($originUrl);.if.('github.co
6ae80 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 61 75 74 68 2d 62 61 m'.===.$originUrl.&&.'x-oauth-ba
6aea0 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 5d 29 20 7b 0a 24 6f sic'.===.$auth['password']).{.$o
6aec0 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 24 61 75 74 68 5b 27 ptions['github-token'].=.$auth['
6aee0 75 73 65 72 6e 61 6d 65 27 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 61 75 74 68 53 74 72 20 3d 20 username'];.}.else.{.$authStr.=.
6af00 62 61 73 65 36 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 base64_encode($auth['username'].
6af20 2e 20 27 3a 27 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 ..':'...$auth['password']);.$hea
6af40 64 65 72 73 5b 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 ders[].=.'Authorization:.Basic.'
6af60 2e 24 61 75 74 68 53 74 72 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 6f .$authStr;.}.}..if.(isset($optio
6af80 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 73 5f 61 72 72 ns['http']['header']).&&.!is_arr
6afa0 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 27 5d 29 29 20 ay($options['http']['header'])).
6afc0 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 5d 20 3d 20 65 {.$options['http']['header'].=.e
6afe0 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 73 5b 27 68 74 xplode("\r\n",.trim($options['ht
6b000 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 0a 66 6f 72 65 tp']['header'],."\r\n"));.}.fore
6b020 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 24 6f 70 74 ach.($headers.as.$header).{.$opt
6b040 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 24 68 65 61 64 ions['http']['header'][].=.$head
6b060 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 7d 0a 3c 3f 70 68 er;.}..return.$options;.}.}.<?ph
6b080 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\
6b0a0 55 74 69 6c 3b 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 Util;........final.class.StreamC
6b0c0 6f 6e 74 65 78 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 ontextFactory.{..........public.
6b0e0 73 74 61 74 69 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 static.function.getContext($url,
6b100 20 61 72 72 61 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 .array.$defaultOptions.=.array()
6b120 2c 20 61 72 72 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 ,.array.$defaultParams.=.array()
6b140 29 0a 7b 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 3d 3e 20 61 ).{.$options.=.array('http'.=>.a
6b160 72 72 61 79 28 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 rray(...'follow_location'.=>.1,.
6b180 27 6d 61 78 5f 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 'max_redirects'.=>.20,.));....if
6b1a0 20 28 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 48 54 54 50 5f 50 52 4f 58 59 27 5d 29 .(!empty($_SERVER['HTTP_PROXY'])
6b1c0 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 5f 70 72 6f 78 79 27 .||.!empty($_SERVER['http_proxy'
6b1e0 5d 29 29 20 7b 0a 0a 20 24 70 72 6f 78 79 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 21 65 6d 70 74 ])).{...$proxy.=.parse_url(!empt
6b200 79 28 24 5f 53 45 52 56 45 52 5b 27 68 74 74 70 5f 70 72 6f 78 79 27 5d 29 20 3f 20 24 5f 53 45 y($_SERVER['http_proxy']).?.$_SE
6b220 52 56 45 52 5b 27 68 74 74 70 5f 70 72 6f 78 79 27 5d 20 3a 20 24 5f 53 45 52 56 45 52 5b 27 48 RVER['http_proxy'].:.$_SERVER['H
6b240 54 54 50 5f 50 52 4f 58 59 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 70 72 6f TTP_PROXY']);.}..if.(!empty($pro
6b260 78 79 29 29 20 7b 0a 24 70 72 6f 78 79 55 52 4c 20 3d 20 69 73 73 65 74 28 24 70 72 6f 78 79 5b xy)).{.$proxyURL.=.isset($proxy[
6b280 27 73 63 68 65 6d 65 27 5d 29 20 3f 20 24 70 72 6f 78 79 5b 27 73 63 68 65 6d 65 27 5d 20 2e 20 'scheme']).?.$proxy['scheme']...
6b2a0 27 3a 2f 2f 27 20 3a 20 27 27 3b 0a 24 70 72 6f 78 79 55 52 4c 20 2e 3d 20 69 73 73 65 74 28 24 '://'.:.'';.$proxyURL..=.isset($
6b2c0 70 72 6f 78 79 5b 27 68 6f 73 74 27 5d 29 20 3f 20 24 70 72 6f 78 79 5b 27 68 6f 73 74 27 5d 20 proxy['host']).?.$proxy['host'].
6b2e0 3a 20 27 27 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 70 72 6f 78 79 5b 27 70 6f 72 74 27 5d 29 :.'';..if.(isset($proxy['port'])
6b300 29 20 7b 0a 24 70 72 6f 78 79 55 52 4c 20 2e 3d 20 22 3a 22 20 2e 20 24 70 72 6f 78 79 5b 27 70 ).{.$proxyURL..=.":"...$proxy['p
6b320 6f 72 74 27 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 68 74 74 70 3a 2f 2f 27 20 3d 3d 20 73 75 ort'];.}.elseif.('http://'.==.su
6b340 62 73 74 72 28 24 70 72 6f 78 79 55 52 4c 2c 20 30 2c 20 37 29 29 20 7b 0a 24 70 72 6f 78 79 55 bstr($proxyURL,.0,.7)).{.$proxyU
6b360 52 4c 20 2e 3d 20 22 3a 38 30 22 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 68 74 74 70 73 3a 2f 2f RL..=.":80";.}.elseif.('https://
6b380 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 38 29 29 20 7b 0a '.==.substr($proxyURL,.0,.8)).{.
6b3a0 24 70 72 6f 78 79 55 52 4c 20 2e 3d 20 22 3a 34 34 33 22 3b 0a 7d 0a 0a 0a 20 24 70 72 6f 78 79 $proxyURL..=.":443";.}....$proxy
6b3c0 55 52 4c 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 68 74 74 70 3a 2f 2f URL.=.str_replace(array('http://
6b3e0 27 2c 20 27 68 74 74 70 73 3a 2f 2f 27 29 2c 20 61 72 72 61 79 28 27 74 63 70 3a 2f 2f 27 2c 20 ',.'https://'),.array('tcp://',.
6b400 27 73 73 6c 3a 2f 2f 27 29 2c 20 24 70 72 6f 78 79 55 52 4c 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 'ssl://'),.$proxyURL);..if.(0.==
6b420 3d 20 73 74 72 70 6f 73 28 24 70 72 6f 78 79 55 52 4c 2c 20 27 73 73 6c 3a 27 29 20 26 26 20 21 =.strpos($proxyURL,.'ssl:').&&.!
6b440 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 0a 74 extension_loaded('openssl')).{.t
6b460 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 20 hrow.new.\RuntimeException('You.
6b480 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 73 69 6f must.enable.the.openssl.extensio
6b4a0 6e 20 74 6f 20 75 73 65 20 61 20 70 72 6f 78 79 20 6f 76 65 72 20 68 74 74 70 73 27 29 3b 0a 7d n.to.use.a.proxy.over.https');.}
6b4c0 0a 0a 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 70 72 6f 78 79 27 5d 20 3d 20 24 70 ..$options['http']['proxy'].=.$p
6b4e0 72 6f 78 79 55 52 4c 3b 0a 0a 0a 20 73 77 69 74 63 68 20 28 70 61 72 73 65 5f 75 72 6c 28 24 75 roxyURL;....switch.(parse_url($u
6b500 72 6c 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 rl,.PHP_URL_SCHEME)).{.case.'htt
6b520 70 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 6e 76 28 27 48 p':...$reqFullUriEnv.=.getenv('H
6b540 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 27 29 3b 0a 69 66 20 TTP_PROXY_REQUEST_FULLURI');.if.
6b560 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 7c 7c 20 24 72 65 ($reqFullUriEnv.===.false.||.$re
6b580 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 74 6f 6c 6f 77 65 qFullUriEnv.===.''.||.(strtolowe
6b5a0 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 73 65 27 20 26 26 r($reqFullUriEnv).!==.'false'.&&
6b5c0 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 0a 24 6f 70 74 69 .(bool).$reqFullUriEnv)).{.$opti
6b5e0 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 72 69 27 5d 20 3d ons['http']['request_fulluri'].=
6b600 20 74 72 75 65 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 68 74 74 70 73 27 3a 20 0a 20 .true;.}.break;.case.'https':...
6b620 24 72 65 71 46 75 6c 6c 55 72 69 45 6e 76 20 3d 20 67 65 74 65 6e 76 28 27 48 54 54 50 53 5f 50 $reqFullUriEnv.=.getenv('HTTPS_P
6b640 52 4f 58 59 5f 52 45 51 55 45 53 54 5f 46 55 4c 4c 55 52 49 27 29 3b 0a 69 66 20 28 24 72 65 71 ROXY_REQUEST_FULLURI');.if.($req
6b660 46 75 6c 6c 55 72 69 45 6e 76 20 3d 3d 3d 20 66 61 6c 73 65 20 7c 7c 20 24 72 65 71 46 75 6c 6c FullUriEnv.===.false.||.$reqFull
6b680 55 72 69 45 6e 76 20 3d 3d 3d 20 27 27 20 7c 7c 20 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 72 65 UriEnv.===.''.||.(strtolower($re
6b6a0 71 46 75 6c 6c 55 72 69 45 6e 76 29 20 21 3d 3d 20 27 66 61 6c 73 65 27 20 26 26 20 28 62 6f 6f qFullUriEnv).!==.'false'.&&.(boo
6b6c0 6c 29 20 24 72 65 71 46 75 6c 6c 55 72 69 45 6e 76 29 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 l).$reqFullUriEnv)).{.$options['
6b6e0 68 74 74 70 27 5d 5b 27 72 65 71 75 65 73 74 5f 66 75 6c 6c 75 72 69 27 5d 20 3d 20 74 72 75 65 http']['request_fulluri'].=.true
6b700 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 70 72 6f 78 79 5b 27 ;.}.break;.}..if.(isset($proxy['
6b720 75 73 65 72 27 5d 29 29 20 7b 0a 24 61 75 74 68 20 3d 20 24 70 72 6f 78 79 5b 27 75 73 65 72 27 user'])).{.$auth.=.$proxy['user'
6b740 5d 3b 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 ];.if.(isset($proxy['pass'])).{.
6b760 24 61 75 74 68 20 2e 3d 20 27 3a 27 20 2e 20 24 70 72 6f 78 79 5b 27 70 61 73 73 27 5d 3b 0a 7d $auth..=.':'...$proxy['pass'];.}
6b780 0a 24 61 75 74 68 20 3d 20 62 61 73 65 36 34 5f 65 6e 63 6f 64 65 28 24 61 75 74 68 29 3b 0a 0a .$auth.=.base64_encode($auth);..
6b7a0 0a 20 69 66 20 28 69 73 73 65 74 28 24 64 65 66 61 75 6c 74 4f 70 74 69 6f 6e 73 5b 27 68 74 74 ..if.(isset($defaultOptions['htt
6b7c0 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 29 29 20 7b 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 p']['header'])).{.if.(is_string(
6b7e0 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 72 27 $defaultOptions['http']['header'
6b800 5d 29 29 20 7b 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 ])).{.$defaultOptions['http']['h
6b820 65 61 64 65 72 27 5d 20 3d 20 61 72 72 61 79 28 24 64 65 66 61 75 6c 74 4f 70 74 69 6f 6e 73 5b eader'].=.array($defaultOptions[
6b840 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 29 3b 0a 7d 0a 24 64 65 66 61 75 6c 74 4f 70 'http']['header']);.}.$defaultOp
6b860 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 22 50 72 6f tions['http']['header'][].=."Pro
6b880 78 79 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 xy-Authorization:.Basic.{$auth}"
6b8a0 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 ;.}.else.{.$options['http']['hea
6b8c0 64 65 72 27 5d 20 3d 20 61 72 72 61 79 28 22 50 72 6f 78 79 2d 41 75 74 68 6f 72 69 7a 61 74 69 der'].=.array("Proxy-Authorizati
6b8e0 6f 6e 3a 20 42 61 73 69 63 20 7b 24 61 75 74 68 7d 22 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 6f 70 74 on:.Basic.{$auth}");.}.}.}..$opt
6b900 69 6f 6e 73 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 ions.=.array_replace_recursive($
6b920 6f 70 74 69 6f 6e 73 2c 20 24 64 65 66 61 75 6c 74 4f 70 74 69 6f 6e 73 29 3b 0a 0a 69 66 20 28 options,.$defaultOptions);..if.(
6b940 69 73 73 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 isset($options['http']['header']
6b960 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 5d 20 )).{.$options['http']['header'].
6b980 3d 20 73 65 6c 66 3a 3a 66 69 78 48 74 74 70 48 65 61 64 65 72 46 69 65 6c 64 28 24 6f 70 74 69 =.self::fixHttpHeaderField($opti
6b9a0 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 ons['http']['header']);.}..retur
6b9c0 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 73 n.stream_context_create($options
6b9e0 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 0a ,.$defaultParams);.}............
6ba00 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 48 private.static.function.fixHttpH
6ba20 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 72 eaderField($header).{.if.(!is_ar
6ba40 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 64 ray($header)).{.$header.=.explod
6ba60 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 65 e("\r\n",.$header);.}.uasort($he
6ba80 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 70 72 ader,.function.($el).{.return.pr
6baa0 65 67 5f 6d 61 74 63 68 28 27 7b 5e 63 6f 6e 74 65 6e 74 2d 74 79 70 65 7d 69 27 2c 20 24 65 6c eg_match('{^content-type}i',.$el
6bac0 29 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 ).?.1.:.-1;.});..return.$header;
6bae0 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.
6bb00 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 50 61 63 Composer\Util;..use.Composer\Pac
6bb20 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 43 6f 6d kage\Loader\ArrayLoader;.use.Com
6bb40 70 6f 73 65 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 poser\Package\Loader\ValidatingA
6bb60 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 63 6b 61 67 65 rrayLoader;.use.Composer\Package
6bb80 5c 4c 6f 61 64 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 \Loader\InvalidPackageException;
6bba0 0a 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 .use.Composer\Json\JsonValidatio
6bbc0 6e 45 78 63 65 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 nException;.use.Composer\IO\IOIn
6bbe0 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 6f 6e 46 terface;.use.Composer\Json\JsonF
6bc00 69 6c 65 3b 0a 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 ile;........class.ConfigValidato
6bc20 72 0a 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 r.{.private.$io;..public.functio
6bc40 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 29 0a 7b n.__construct(IOInterface.$io).{
6bc60 0a 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 70 75 62 6c .$this->io.=.$io;.}.........publ
6bc80 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 28 24 66 69 6c 65 29 0a 7b 0a 24 65 ic.function.validate($file).{.$e
6bca0 72 72 6f 72 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 rrors.=.array();.$publishErrors.
6bcc0 3d 20 61 72 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 =.array();.$warnings.=.array();.
6bce0 0a 0a 20 24 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 ...$laxValid.=.false;.try.{.$jso
6bd00 6e 20 3d 20 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 24 66 69 6c 65 2c 20 6e 65 77 20 52 65 6d 6f n.=.new.JsonFile($file,.new.Remo
6bd20 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 74 68 69 73 2d 3e 69 6f 29 29 3b 0a 24 6d 61 6e 69 66 teFilesystem($this->io));.$manif
6bd40 65 73 74 20 3d 20 24 6a 73 6f 6e 2d 3e 72 65 61 64 28 29 3b 0a 0a 24 6a 73 6f 6e 2d 3e 76 61 6c est.=.$json->read();..$json->val
6bd60 69 64 61 74 65 53 63 68 65 6d 61 28 4a 73 6f 6e 46 69 6c 65 3a 3a 4c 41 58 5f 53 43 48 45 4d 41 idateSchema(JsonFile::LAX_SCHEMA
6bd80 29 3b 0a 24 6c 61 78 56 61 6c 69 64 20 3d 20 74 72 75 65 3b 0a 24 6a 73 6f 6e 2d 3e 76 61 6c 69 );.$laxValid.=.true;.$json->vali
6bda0 64 61 74 65 53 63 68 65 6d 61 28 29 3b 0a 7d 20 63 61 74 63 68 20 28 4a 73 6f 6e 56 61 6c 69 64 dateSchema();.}.catch.(JsonValid
6bdc0 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 65 ationException.$e).{.foreach.($e
6bde0 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 20 61 73 20 24 6d 65 73 73 61 67 65 29 20 7b 0a 69 66 20 ->getErrors().as.$message).{.if.
6be00 28 24 6c 61 78 56 61 6c 69 64 29 20 7b 0a 24 70 75 62 6c 69 73 68 45 72 72 6f 72 73 5b 5d 20 3d ($laxValid).{.$publishErrors[].=
6be20 20 24 6d 65 73 73 61 67 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 65 72 72 6f 72 73 5b 5d 20 3d 20 .$message;.}.else.{.$errors[].=.
6be40 24 6d 65 73 73 61 67 65 3b 0a 7d 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f $message;.}.}.}.catch.(\Exceptio
6be60 6e 20 24 65 29 20 7b 0a 24 65 72 72 6f 72 73 5b 5d 20 3d 20 24 65 2d 3e 67 65 74 4d 65 73 73 61 n.$e).{.$errors[].=.$e->getMessa
6be80 67 65 28 29 3b 0a 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 ge();..return.array($errors,.$pu
6bea0 62 6c 69 73 68 45 72 72 6f 72 73 2c 20 24 77 61 72 6e 69 6e 67 73 29 3b 0a 7d 0a 0a 0a 20 69 66 blishErrors,.$warnings);.}....if
6bec0 20 28 21 65 6d 70 74 79 28 24 6d 61 6e 69 66 65 73 74 5b 27 6c 69 63 65 6e 73 65 27 5d 29 29 20 .(!empty($manifest['license'])).
6bee0 7b 0a 0a 20 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 6d 61 6e 69 66 65 73 74 5b 27 6c 69 63 65 {...if.(is_array($manifest['lice
6bf00 6e 73 65 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 6d 61 6e 69 66 65 73 74 5b 27 6c 69 nse'])).{.foreach.($manifest['li
6bf20 63 65 6e 73 65 27 5d 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 6c 69 63 65 6e 73 65 29 20 7b 0a 69 cense'].as.$key.=>.$license).{.i
6bf40 66 20 28 27 70 72 6f 70 72 69 65 74 61 72 79 27 20 3d 3d 3d 20 24 6c 69 63 65 6e 73 65 29 20 7b f.('proprietary'.===.$license).{
6bf60 0a 75 6e 73 65 74 28 24 6d 61 6e 69 66 65 73 74 5b 27 6c 69 63 65 6e 73 65 27 5d 5b 24 6b 65 79 .unset($manifest['license'][$key
6bf80 5d 29 3b 0a 7d 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 ]);.}.}.}..$licenseValidator.=.n
6bfa0 65 77 20 53 70 64 78 4c 69 63 65 6e 73 65 49 64 65 6e 74 69 66 69 65 72 28 29 3b 0a 69 66 20 28 ew.SpdxLicenseIdentifier();.if.(
6bfc0 27 70 72 6f 70 72 69 65 74 61 72 79 27 20 21 3d 3d 20 24 6d 61 6e 69 66 65 73 74 5b 27 6c 69 63 'proprietary'.!==.$manifest['lic
6bfe0 65 6e 73 65 27 5d 20 26 26 20 61 72 72 61 79 28 29 20 21 3d 3d 20 24 6d 61 6e 69 66 65 73 74 5b ense'].&&.array().!==.$manifest[
6c000 27 6c 69 63 65 6e 73 65 27 5d 20 26 26 20 21 24 6c 69 63 65 6e 73 65 56 61 6c 69 64 61 74 6f 72 'license'].&&.!$licenseValidator
6c020 2d 3e 76 61 6c 69 64 61 74 65 28 24 6d 61 6e 69 66 65 73 74 5b 27 6c 69 63 65 6e 73 65 27 5d 29 ->validate($manifest['license'])
6c040 29 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 ).{.$warnings[].=.sprintf(.'Lice
6c060 6e 73 65 20 25 73 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 53 50 44 58 20 6c 69 63 65 6e nse.%s.is.not.a.valid.SPDX.licen
6c080 73 65 20 69 64 65 6e 74 69 66 69 65 72 2c 20 73 65 65 20 68 74 74 70 3a 2f 2f 77 77 77 2e 73 70 se.identifier,.see.http://www.sp
6c0a0 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 20 61 6e 20 6f dx.org/licenses/.if.you.use.an.o
6c0c0 70 65 6e 20 6c 69 63 65 6e 73 65 2e 27 0a 2e 22 5c 6e 49 66 20 74 68 65 20 73 6f 66 74 77 61 72 pen.license.'.."\nIf.the.softwar
6c0e0 65 20 69 73 20 63 6c 6f 73 65 64 2d 73 6f 75 72 63 65 2c 20 79 6f 75 20 6d 61 79 20 75 73 65 20 e.is.closed-source,.you.may.use.
6c100 5c 22 70 72 6f 70 72 69 65 74 61 72 79 5c 22 20 61 73 20 6c 69 63 65 6e 73 65 2e 22 2c 0a 6a 73 \"proprietary\".as.license.",.js
6c120 6f 6e 5f 65 6e 63 6f 64 65 28 24 6d 61 6e 69 66 65 73 74 5b 27 6c 69 63 65 6e 73 65 27 5d 29 0a on_encode($manifest['license']).
6c140 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 27 4e 6f 20 );.}.}.else.{.$warnings[].=.'No.
6c160 6c 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 license.specified,.it.is.recomme
6c180 6e 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 nded.to.do.so..For.closed-source
6c1a0 20 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 .software.you.may.use."proprieta
6c1c0 72 79 22 20 61 73 20 6c 69 63 65 6e 73 65 2e 27 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 ry".as.license.';.}..if.(!empty(
6c1e0 24 6d 61 6e 69 66 65 73 74 5b 27 6e 61 6d 65 27 5d 29 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 $manifest['name']).&&.preg_match
6c200 28 27 7b 5b 41 2d 5a 5d 7d 27 2c 20 24 6d 61 6e 69 66 65 73 74 5b 27 6e 61 6d 65 27 5d 29 29 20 ('{[A-Z]}',.$manifest['name'])).
6c220 7b 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 61 63 65 28 27 7b {.$suggestName.=.preg_replace('{
6c240 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 5b 41 2d 5a 5d 5b (?:([a-z])([A-Z])|([A-Z])([A-Z][
6c260 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 20 24 6d 61 6e 69 a-z]))}',.'\\1\\3-\\2\\4',.$mani
6c280 66 65 73 74 5b 27 6e 61 6d 65 27 5d 29 3b 0a 24 73 75 67 67 65 73 74 4e 61 6d 65 20 3d 20 73 74 fest['name']);.$suggestName.=.st
6c2a0 72 74 6f 6c 6f 77 65 72 28 24 73 75 67 67 65 73 74 4e 61 6d 65 29 3b 0a 0a 24 77 61 72 6e 69 6e rtolower($suggestName);..$warnin
6c2c0 67 73 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 4e 61 6d 65 20 22 25 73 22 20 64 6f 65 73 20 gs[].=.sprintf(.'Name."%s".does.
6c2e0 6e 6f 74 20 6d 61 74 63 68 20 74 68 65 20 62 65 73 74 20 70 72 61 63 74 69 63 65 20 28 65 2e 67 not.match.the.best.practice.(e.g
6c300 2e 20 6c 6f 77 65 72 2d 63 61 73 65 64 2f 77 69 74 68 2d 64 61 73 68 65 73 29 2e 20 57 65 20 73 ..lower-cased/with-dashes)..We.s
6c320 75 67 67 65 73 74 20 75 73 69 6e 67 20 22 25 73 22 20 69 6e 73 74 65 61 64 2e 20 41 73 20 73 75 uggest.using."%s".instead..As.su
6c340 63 68 20 79 6f 75 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 61 62 6c 65 20 74 6f 20 73 75 62 6d 69 ch.you.will.not.be.able.to.submi
6c360 74 20 69 74 20 74 6f 20 50 61 63 6b 61 67 69 73 74 2e 27 2c 0a 24 6d 61 6e 69 66 65 73 74 5b 27 t.it.to.Packagist.',.$manifest['
6c380 6e 61 6d 65 27 5d 2c 0a 24 73 75 67 67 65 73 74 4e 61 6d 65 0a 29 3b 0a 7d 0a 0a 74 72 79 20 7b name'],.$suggestName.);.}..try.{
6c3a0 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 6f .$loader.=.new.ValidatingArrayLo
6c3c0 61 64 65 72 28 6e 65 77 20 41 72 72 61 79 4c 6f 61 64 65 72 28 29 29 3b 0a 69 66 20 28 21 69 73 ader(new.ArrayLoader());.if.(!is
6c3e0 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 7b 0a 24 6d 61 set($manifest['version'])).{.$ma
6c400 6e 69 66 65 73 74 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 27 31 2e 30 2e 30 27 3b 0a 7d 0a 69 nifest['version'].=.'1.0.0';.}.i
6c420 66 20 28 21 69 73 73 65 74 28 24 6d 61 6e 69 66 65 73 74 5b 27 6e 61 6d 65 27 5d 29 29 20 7b 0a f.(!isset($manifest['name'])).{.
6c440 24 6d 61 6e 69 66 65 73 74 5b 27 6e 61 6d 65 27 5d 20 3d 20 27 64 75 6d 6d 79 2f 64 75 6d 6d 79 $manifest['name'].=.'dummy/dummy
6c460 27 3b 0a 7d 0a 24 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 6d 61 6e 69 66 65 73 74 29 3b 0a 7d ';.}.$loader->load($manifest);.}
6c480 20 63 61 74 63 68 20 28 49 6e 76 61 6c 69 64 50 61 63 6b 61 67 65 45 78 63 65 70 74 69 6f 6e 20 .catch.(InvalidPackageException.
6c4a0 24 65 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 72 72 $e).{.$errors.=.array_merge($err
6c4c0 6f 72 73 2c 20 24 65 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 3b 0a 7d 0a 0a 24 77 61 72 6e 69 ors,.$e->getErrors());.}..$warni
6c4e0 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 6c 6f ngs.=.array_merge($warnings,.$lo
6c500 61 64 65 72 2d 3e 67 65 74 57 61 72 6e 69 6e 67 73 28 29 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 ader->getWarnings());..return.ar
6c520 72 61 79 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 24 77 61 ray($errors,.$publishErrors,.$wa
6c540 72 6e 69 6e 67 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 rnings);.}.}.<?php............na
6c560 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 6c 61 mespace.Composer\Util;.......cla
6c580 73 73 20 45 72 72 6f 72 48 61 6e 64 6c 65 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 ss.ErrorHandler.{............pub
6c5a0 6c 69 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 lic.static.function.handle($leve
6c5c0 6c 2c 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 l,.$message,.$file,.$line).{...i
6c5e0 66 20 28 21 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 29 29 20 7b 0a 72 65 74 75 72 6e 3b f.(!error_reporting()).{.return;
6c600 0a 7d 0a 0a 69 66 20 28 69 6e 69 5f 67 65 74 28 27 78 64 65 62 75 67 2e 73 63 72 65 61 6d 27 29 .}..if.(ini_get('xdebug.scream')
6c620 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e 5c 6e 57 61 72 6e 69 6e 67 3a 20 59 6f ).{.$message..=."\n\nWarning:.Yo
6c640 75 20 68 61 76 65 20 78 64 65 62 75 67 2e 73 63 72 65 61 6d 20 65 6e 61 62 6c 65 64 2c 20 74 68 u.have.xdebug.scream.enabled,.th
6c660 65 20 77 61 72 6e 69 6e 67 20 61 62 6f 76 65 20 6d 61 79 20 62 65 22 2e 0a 22 5c 6e 61 20 6c 65 e.warning.above.may.be".."\na.le
6c680 67 69 74 69 6d 61 74 65 6c 79 20 73 75 70 70 72 65 73 73 65 64 20 65 72 72 6f 72 20 74 68 61 74 gitimately.suppressed.error.that
6c6a0 20 79 6f 75 20 77 65 72 65 20 6e 6f 74 20 73 75 70 70 6f 73 65 64 20 74 6f 20 73 65 65 2e 22 3b .you.were.not.supposed.to.see.";
6c6c0 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 28 24 6d .}..throw.new.\ErrorException($m
6c6e0 65 73 73 61 67 65 2c 20 30 2c 20 24 6c 65 76 65 6c 2c 20 24 66 69 6c 65 2c 20 24 6c 69 6e 65 29 essage,.0,.$level,.$file,.$line)
6c700 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
6c720 20 72 65 67 69 73 74 65 72 28 29 0a 7b 0a 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 .register().{.set_error_handler(
6c740 61 72 72 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 7d 0a 7d array(__CLASS__,.'handle'));.}.}
6c760 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
6c780 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 4a 73 6f 6e 5c 4a 73 oser\Util;..use.Composer\Json\Js
6c7a0 6f 6e 46 69 6c 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 70 64 78 4c 69 63 65 6e 73 65 onFile;........class.SpdxLicense
6c7c0 49 64 65 6e 74 69 66 69 65 72 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 69 64 65 6e 74 69 66 Identifier.{....private.$identif
6c7e0 69 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 72 75 iers;..public.function.__constru
6c800 63 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 49 64 65 6e 74 69 66 69 65 72 73 28 29 3b ct().{.$this->initIdentifiers();
6c820 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 76 61 6c 69 64 61 .}........public.function.valida
6c840 74 65 28 24 6c 69 63 65 6e 73 65 29 0a 7b 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 6c 69 63 te($license).{.if.(is_array($lic
6c860 65 6e 73 65 29 29 20 7b 0a 24 63 6f 75 6e 74 20 3d 20 63 6f 75 6e 74 28 24 6c 69 63 65 6e 73 65 ense)).{.$count.=.count($license
6c880 29 3b 0a 69 66 20 28 24 63 6f 75 6e 74 20 21 3d 3d 20 63 6f 75 6e 74 28 61 72 72 61 79 5f 66 69 );.if.($count.!==.count(array_fi
6c8a0 6c 74 65 72 28 24 6c 69 63 65 6e 73 65 2c 20 27 69 73 5f 73 74 72 69 6e 67 27 29 29 29 20 7b 0a lter($license,.'is_string'))).{.
6c8c0 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
6c8e0 69 6f 6e 28 27 41 72 72 61 79 20 6f 66 20 73 74 72 69 6e 67 73 20 65 78 70 65 63 74 65 64 2e 27 ion('Array.of.strings.expected.'
6c900 29 3b 0a 7d 0a 24 6c 69 63 65 6e 73 65 20 3d 20 24 63 6f 75 6e 74 20 3e 20 31 20 3f 20 27 28 27 );.}.$license.=.$count.>.1.?.'('
6c920 2e 69 6d 70 6c 6f 64 65 28 27 20 6f 72 20 27 2c 20 24 6c 69 63 65 6e 73 65 29 2e 27 29 27 20 3a .implode('.or.',.$license).')'.:
6c940 20 28 73 74 72 69 6e 67 29 20 72 65 73 65 74 28 24 6c 69 63 65 6e 73 65 29 3b 0a 7d 0a 69 66 20 .(string).reset($license);.}.if.
6c960 28 21 69 73 5f 73 74 72 69 6e 67 28 24 6c 69 63 65 6e 73 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e (!is_string($license)).{.throw.n
6c980 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 72 ew.\InvalidArgumentException(spr
6c9a0 69 6e 74 66 28 0a 27 41 72 72 61 79 20 6f 72 20 53 74 72 69 6e 67 20 65 78 70 65 63 74 65 64 2c intf(.'Array.or.String.expected,
6c9c0 20 25 73 20 67 69 76 65 6e 2e 27 2c 20 67 65 74 74 79 70 65 28 24 6c 69 63 65 6e 73 65 29 0a 29 .%s.given.',.gettype($license).)
6c9e0 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 73 56 61 6c 69 64 4c 69 63 65 6e );.}..return.$this->isValidLicen
6ca00 73 65 53 74 72 69 6e 67 28 24 6c 69 63 65 6e 73 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 seString($license);.}.....privat
6ca20 65 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 49 64 65 6e 74 69 66 69 65 72 73 28 29 0a 7b 0a 24 e.function.initIdentifiers().{.$
6ca40 6a 73 6f 6e 46 69 6c 65 20 3d 20 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 5f 5f 44 49 52 5f 5f 20 jsonFile.=.new.JsonFile(__DIR__.
6ca60 2e 20 27 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 72 65 73 2f 73 70 64 78 2d 69 64 65 6e 74 69 66 69 65 72 ..'/../../../res/spdx-identifier
6ca80 2e 6a 73 6f 6e 27 29 3b 0a 24 74 68 69 73 2d 3e 69 64 65 6e 74 69 66 69 65 72 73 20 3d 20 24 6a .json');.$this->identifiers.=.$j
6caa0 73 6f 6e 46 69 6c 65 2d 3e 72 65 61 64 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 sonFile->read();.}.......private
6cac0 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 61 6c 69 64 4c 69 63 65 6e 73 65 49 64 65 6e 74 69 66 69 .function.isValidLicenseIdentifi
6cae0 65 72 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 69 6e 5f 61 72 72 61 er($identifier).{.return.in_arra
6cb00 79 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 24 74 68 69 73 2d 3e 69 64 65 6e 74 69 66 69 65 72 y($identifier,.$this->identifier
6cb20 73 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 69 73 s);.}........private.function.is
6cb40 56 61 6c 69 64 4c 69 63 65 6e 73 65 53 74 72 69 6e 67 28 24 6c 69 63 65 6e 73 65 29 0a 7b 0a 24 ValidLicenseString($license).{.$
6cb60 74 6f 6b 65 6e 73 20 3d 20 61 72 72 61 79 28 0a 27 70 6f 27 20 3d 3e 20 27 5c 28 27 2c 0a 27 70 tokens.=.array(.'po'.=>.'\(',.'p
6cb80 63 27 20 3d 3e 20 27 5c 29 27 2c 0a 27 6f 70 27 20 3d 3e 20 27 28 3f 3a 6f 72 7c 61 6e 64 29 27 c'.=>.'\)',.'op'.=>.'(?:or|and)'
6cba0 2c 0a 27 6c 69 78 27 20 3d 3e 20 27 28 3f 3a 4e 4f 4e 45 7c 4e 4f 41 53 53 45 52 54 49 4f 4e 29 ,.'lix'.=>.'(?:NONE|NOASSERTION)
6cbc0 27 2c 0a 27 6c 69 72 27 20 3d 3e 20 27 4c 69 63 65 6e 73 65 52 65 66 2d 5c 64 2b 27 2c 0a 27 6c ',.'lir'.=>.'LicenseRef-\d+',.'l
6cbe0 69 63 27 20 3d 3e 20 27 5b 2d 2b 5f 2e 61 2d 7a 41 2d 5a 30 2d 39 5d 7b 33 2c 7d 27 2c 0a 27 77 ic'.=>.'[-+_.a-zA-Z0-9]{3,}',.'w
6cc00 73 27 20 3d 3e 20 27 5c 73 2b 27 2c 0a 27 5f 27 20 3d 3e 20 27 2e 27 2c 0a 29 3b 0a 0a 24 6e 65 s'.=>.'\s+',.'_'.=>.'.',.);..$ne
6cc20 78 74 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 29 20 75 73 65 20 28 24 6c 69 63 65 6e 73 65 2c 20 xt.=.function.().use.($license,.
6cc40 24 74 6f 6b 65 6e 73 29 20 7b 0a 73 74 61 74 69 63 20 24 6f 66 66 73 65 74 20 3d 20 30 3b 0a 0a $tokens).{.static.$offset.=.0;..
6cc60 69 66 20 28 24 6f 66 66 73 65 74 20 3e 3d 20 73 74 72 6c 65 6e 28 24 6c 69 63 65 6e 73 65 29 29 if.($offset.>=.strlen($license))
6cc80 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 6f 6b .{.return.null;.}..foreach.($tok
6cca0 65 6e 73 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 74 6f 6b 65 6e 29 20 7b 0a 69 66 20 28 66 61 ens.as.$name.=>.$token).{.if.(fa
6ccc0 6c 73 65 20 3d 3d 3d 20 24 72 20 3d 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 27 20 2e 20 24 74 lse.===.$r.=.preg_match('{'...$t
6cce0 6f 6b 65 6e 20 2e 20 27 7d 27 2c 20 24 6c 69 63 65 6e 73 65 2c 20 24 6d 61 74 63 68 65 73 2c 20 oken...'}',.$license,.$matches,.
6cd00 50 52 45 47 5f 4f 46 46 53 45 54 5f 43 41 50 54 55 52 45 2c 20 24 6f 66 66 73 65 74 29 29 20 7b PREG_OFFSET_CAPTURE,.$offset)).{
6cd20 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 50 61 .throw.new.\RuntimeException('Pa
6cd40 74 74 65 72 6e 20 66 6f 72 20 74 6f 6b 65 6e 20 25 73 20 66 61 69 6c 65 64 20 28 72 65 67 65 78 ttern.for.token.%s.failed.(regex
6cd60 20 65 72 72 6f 72 29 2e 27 2c 20 24 6e 61 6d 65 29 3b 0a 7d 0a 69 66 20 28 24 72 20 3d 3d 3d 20 .error).',.$name);.}.if.($r.===.
6cd80 30 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 69 66 20 28 24 6d 61 74 63 68 65 73 5b 30 5d 0).{.continue;.}.if.($matches[0]
6cda0 5b 31 5d 20 21 3d 3d 20 24 6f 66 66 73 65 74 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 24 [1].!==.$offset).{.continue;.}.$
6cdc0 6f 66 66 73 65 74 20 2b 3d 20 73 74 72 6c 65 6e 28 24 6d 61 74 63 68 65 73 5b 30 5d 5b 30 5d 29 offset.+=.strlen($matches[0][0])
6cde0 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 24 6e 61 6d 65 2c 20 24 6d 61 74 63 68 65 73 5b ;..return.array($name,.$matches[
6ce00 30 5d 5b 30 5d 29 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 0][0]);.}..throw.new.\RuntimeExc
6ce20 65 70 74 69 6f 6e 28 27 41 74 20 6c 65 61 73 74 20 74 68 65 20 6c 61 73 74 20 70 61 74 74 65 72 eption('At.least.the.last.patter
6ce40 6e 20 6e 65 65 64 73 20 74 6f 20 6d 61 74 63 68 2c 20 62 75 74 20 69 74 20 64 69 64 20 6e 6f 74 n.needs.to.match,.but.it.did.not
6ce60 20 28 64 6f 74 2d 6d 61 74 63 68 2d 61 6c 6c 20 69 73 20 6d 69 73 73 69 6e 67 3f 29 2e 27 29 3b .(dot-match-all.is.missing?).');
6ce80 0a 7d 3b 0a 0a 24 6f 70 65 6e 20 3d 20 30 3b 0a 24 72 65 71 75 69 72 65 20 3d 20 31 3b 0a 24 6c .};..$open.=.0;.$require.=.1;.$l
6cea0 61 73 74 6f 70 20 3d 20 6e 75 6c 6c 3b 0a 0a 77 68 69 6c 65 20 28 6c 69 73 74 28 24 74 6f 6b 65 astop.=.null;..while.(list($toke
6cec0 6e 2c 20 24 73 74 72 69 6e 67 29 20 3d 20 24 6e 65 78 74 28 29 29 20 7b 0a 73 77 69 74 63 68 20 n,.$string).=.$next()).{.switch.
6cee0 28 24 74 6f 6b 65 6e 29 20 7b 0a 63 61 73 65 20 27 70 6f 27 3a 0a 69 66 20 28 24 6f 70 65 6e 20 ($token).{.case.'po':.if.($open.
6cf00 7c 7c 20 21 24 72 65 71 75 69 72 65 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a ||.!$require).{.return.false;.}.
6cf20 24 6f 70 65 6e 20 3d 20 31 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 70 63 27 3a 0a 69 66 20 $open.=.1;.break;.case.'pc':.if.
6cf40 28 24 6f 70 65 6e 20 21 3d 3d 20 31 20 7c 7c 20 24 72 65 71 75 69 72 65 20 7c 7c 20 21 24 6c 61 ($open.!==.1.||.$require.||.!$la
6cf60 73 74 6f 70 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 24 6f 70 65 6e 20 3d 20 stop).{.return.false;.}.$open.=.
6cf80 32 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 6f 70 27 3a 0a 69 66 20 28 24 72 65 71 75 69 72 2;.break;.case.'op':.if.($requir
6cfa0 65 20 7c 7c 20 21 24 6f 70 65 6e 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 24 e.||.!$open).{.return.false;.}.$
6cfc0 6c 61 73 74 6f 70 20 7c 7c 20 24 6c 61 73 74 6f 70 20 3d 20 24 73 74 72 69 6e 67 3b 0a 69 66 20 lastop.||.$lastop.=.$string;.if.
6cfe0 28 24 6c 61 73 74 6f 70 20 21 3d 3d 20 24 73 74 72 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 66 ($lastop.!==.$string).{.return.f
6d000 61 6c 73 65 3b 0a 7d 0a 24 72 65 71 75 69 72 65 20 3d 20 31 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 alse;.}.$require.=.1;.break;.cas
6d020 65 20 27 6c 69 78 27 3a 0a 69 66 20 28 24 6f 70 65 6e 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c e.'lix':.if.($open).{.return.fal
6d040 73 65 3b 0a 7d 0a 67 6f 74 6f 20 6c 69 72 3b 0a 63 61 73 65 20 27 6c 69 63 27 3a 0a 69 66 20 28 se;.}.goto.lir;.case.'lic':.if.(
6d060 21 24 74 68 69 73 2d 3e 69 73 56 61 6c 69 64 4c 69 63 65 6e 73 65 49 64 65 6e 74 69 66 69 65 72 !$this->isValidLicenseIdentifier
6d080 28 24 73 74 72 69 6e 67 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 20 63 ($string)).{.return.false;.}...c
6d0a0 61 73 65 20 27 6c 69 72 27 3a 0a 6c 69 72 3a 0a 69 66 20 28 21 24 72 65 71 75 69 72 65 29 20 7b ase.'lir':.lir:.if.(!$require).{
6d0c0 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 24 72 65 71 75 69 72 65 20 3d 20 30 3b 0a 62 .return.false;.}.$require.=.0;.b
6d0e0 72 65 61 6b 3b 0a 63 61 73 65 20 27 77 73 27 3a 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 5f 27 reak;.case.'ws':.break;.case.'_'
6d100 3a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 64 65 66 61 75 6c 74 3a 0a 74 68 72 6f 77 20 6e :.return.false;.default:.throw.n
6d120 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 55 6e ew.\RuntimeException(sprintf('Un
6d140 70 61 72 73 65 64 20 74 6f 6b 65 6e 3a 20 25 73 2e 27 2c 20 70 72 69 6e 74 5f 72 28 24 74 6f 6b parsed.token:.%s.',.print_r($tok
6d160 65 6e 2c 20 74 72 75 65 29 29 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 21 28 24 6f 70 65 6e en,.true)));.}.}..return.!($open
6d180 20 25 20 32 20 7c 7c 20 24 72 65 71 75 69 72 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a .%.2.||.$require);.}.}.<?php....
6d1a0 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;
6d1c0 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;..
6d1e0 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 5f 41 55 ....class.Svn.{.const.MAX_QTY_AU
6d200 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 63 72 65 TH_TRIES.=.5;.....protected.$cre
6d220 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 75 74 68 dentials;.....protected.$hasAuth
6d240 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 65 63 74 ;.....protected.$io;.....protect
6d260 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 43 72 65 ed.$url;.....protected.$cacheCre
6d280 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 64 20 24 dentials.=.true;.....protected.$
6d2a0 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 74 68 54 process;.....protected.$qtyAuthT
6d2c0 72 69 65 73 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 ries.=.0;.......public.function.
6d2e0 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 75 72 6c 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 __construct($url,.IOInterface.$i
6d300 6f 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 20 6e 75 o,.ProcessExecutor.$process.=.nu
6d320 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 24 75 72 6c 3b 0a 24 74 68 69 73 2d 3e ll).{.$this->url.=.$url;.$this->
6d340 69 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 io.=.$io;.$this->process.=.$proc
6d360 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 3b 0a 7d 0a 0a 0a ess.?:.new.ProcessExecutor;.}...
6d380 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 65 78 65 .............public.function.exe
6d3a0 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 20 3d 20 6e 75 6c 6c cute($command,.$url,.$cwd.=.null
6d3c0 2c 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 76 65 72 62 6f 73 65 20 3d 20 66 61 6c 73 65 ,.$path.=.null,.$verbose.=.false
6d3e0 29 0a 7b 0a 24 73 76 6e 43 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 6d ).{.$svnCommand.=.$this->getComm
6d400 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 24 6f 75 74 and($command,.$url,.$path);.$out
6d420 70 75 74 20 3d 20 6e 75 6c 6c 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 69 6f 3b 0a 24 68 61 put.=.null;.$io.=.$this->io;.$ha
6d440 6e 64 6c 65 72 20 3d 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 ndler.=.function.($type,.$buffer
6d460 29 20 75 73 65 20 28 26 24 6f 75 74 70 75 74 2c 20 24 69 6f 2c 20 24 76 65 72 62 6f 73 65 29 20 ).use.(&$output,.$io,.$verbose).
6d480 7b 0a 69 66 20 28 24 74 79 70 65 20 21 3d 3d 20 27 6f 75 74 27 29 20 7b 0a 72 65 74 75 72 6e 3b {.if.($type.!==.'out').{.return;
6d4a0 0a 7d 0a 24 6f 75 74 70 75 74 20 2e 3d 20 24 62 75 66 66 65 72 3b 0a 69 66 20 28 24 76 65 72 62 .}.$output..=.$buffer;.if.($verb
6d4c0 6f 73 65 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 24 62 75 66 66 65 72 2c 20 66 61 6c 73 65 ose).{.$io->write($buffer,.false
6d4e0 29 3b 0a 7d 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 );.}.};.$status.=.$this->process
6d500 2d 3e 65 78 65 63 75 74 65 28 24 73 76 6e 43 6f 6d 6d 61 6e 64 2c 20 24 68 61 6e 64 6c 65 72 2c ->execute($svnCommand,.$handler,
6d520 20 24 63 77 64 29 3b 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 .$cwd);.if.(0.===.$status).{.ret
6d540 75 72 6e 20 24 6f 75 74 70 75 74 3b 0a 7d 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 6f 75 74 70 75 urn.$output;.}..if.(empty($outpu
6d560 74 29 29 20 7b 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 t)).{.$output.=.$this->process->
6d580 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 getErrorOutput();.}....if.(false
6d5a0 20 3d 3d 3d 20 73 74 72 69 70 6f 73 28 24 6f 75 74 70 75 74 2c 20 27 43 6f 75 6c 64 20 6e 6f 74 .===.stripos($output,.'Could.not
6d5c0 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 26 26 20 66 61 .authenticate.to.server:').&&.fa
6d5e0 6c 73 65 20 3d 3d 3d 20 73 74 72 69 70 6f 73 28 24 6f 75 74 70 75 74 2c 20 27 73 76 6e 3a 20 45 lse.===.stripos($output,.'svn:.E
6d600 31 37 30 30 30 31 3a 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 170001:')).{.throw.new.\RuntimeE
6d620 78 63 65 70 74 69 6f 6e 28 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 24 74 68 xception($output);.}....if.(!$th
6d640 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
6d660 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
6d680 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
6d6a0 6e 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 20 28 27 2e 24 6f 75 74 70 75 74 2e 27 29 27 0a 29 nteractive.mode.('.$output.')'.)
6d6c0 3b 0a 7d 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 ;.}....if.($this->qtyAuthTries++
6d6e0 20 3c 20 73 65 6c 66 3a 3a 4d 41 58 5f 51 54 59 5f 41 55 54 48 5f 54 52 49 45 53 20 7c 7c 20 21 .<.self::MAX_QTY_AUTH_TRIES.||.!
6d700 24 74 68 69 73 2d 3e 68 61 73 41 75 74 68 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 64 6f 41 75 74 $this->hasAuth()).{.$this->doAut
6d720 68 44 61 6e 63 65 28 29 3b 0a 0a 0a 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 65 63 75 hDance();....return.$this->execu
6d740 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 24 70 61 74 68 2c 20 te($command,.$url,.$cwd,.$path,.
6d760 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 65 $verbose);.}..throw.new.\Runtime
6d780 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 72 Exception(.'wrong.credentials.pr
6d7a0 6f 76 69 64 65 64 20 28 27 2e 24 6f 75 74 70 75 74 2e 27 29 27 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a ovided.('.$output.')'.);.}......
6d7c0 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 6f 41 75 74 68 44 61 6e 63 65 28 .protected.function.doAuthDance(
6d7e0 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 22 54 68 65 20 53 75 62 76 65 72 ).{.$this->io->write("The.Subver
6d800 73 69 6f 6e 20 73 65 72 76 65 72 20 28 7b 24 74 68 69 73 2d 3e 75 72 6c 7d 29 20 72 65 71 75 65 sion.server.({$this->url}).reque
6d820 73 74 65 64 20 63 72 65 64 65 6e 74 69 61 6c 73 3a 22 29 3b 0a 0a 24 74 68 69 73 2d 3e 68 61 73 sted.credentials:");..$this->has
6d840 41 75 74 68 20 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 63 72 65 64 65 6e 74 69 61 6c 73 5b Auth.=.true;.$this->credentials[
6d860 27 75 73 65 72 6e 61 6d 65 27 5d 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 28 22 55 73 'username'].=.$this->io->ask("Us
6d880 65 72 6e 61 6d 65 3a 20 22 29 3b 0a 24 74 68 69 73 2d 3e 63 72 65 64 65 6e 74 69 61 6c 73 5b 27 ername:.");.$this->credentials['
6d8a0 70 61 73 73 77 6f 72 64 27 5d 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
6d8c0 64 65 41 6e 73 77 65 72 28 22 50 61 73 73 77 6f 72 64 3a 20 22 29 3b 0a 0a 24 74 68 69 73 2d 3e deAnswer("Password:.");..$this->
6d8e0 63 61 63 68 65 43 72 65 64 65 6e 74 69 61 6c 73 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 cacheCredentials.=.$this->io->as
6d900 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 22 53 68 6f 75 6c 64 20 53 75 62 76 65 72 73 69 6f 6e kConfirmation("Should.Subversion
6d920 20 63 61 63 68 65 20 74 68 65 73 65 20 63 72 65 64 65 6e 74 69 61 6c 73 3f 20 28 79 65 73 2f 6e .cache.these.credentials?.(yes/n
6d940 6f 29 20 22 2c 20 74 72 75 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a o).",.true);..return.$this;.}...
6d960 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 6f ........protected.function.getCo
6d980 6d 6d 61 6e 64 28 24 63 6d 64 2c 20 24 75 72 6c 2c 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 29 0a mmand($cmd,.$url,.$path.=.null).
6d9a0 7b 0a 24 63 6d 64 20 3d 20 73 70 72 69 6e 74 66 28 27 25 73 20 25 73 25 73 20 25 73 27 2c 0a 24 {.$cmd.=.sprintf('%s.%s%s.%s',.$
6d9c0 63 6d 64 2c 0a 27 2d 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 cmd,.'--non-interactive.',.$this
6d9e0 2d 3e 67 65 74 43 72 65 64 65 6e 74 69 61 6c 53 74 72 69 6e 67 28 29 2c 0a 65 73 63 61 70 65 73 ->getCredentialString(),.escapes
6da00 68 65 6c 6c 61 72 67 28 24 75 72 6c 29 0a 29 3b 0a 0a 69 66 20 28 24 70 61 74 68 29 20 7b 0a 24 hellarg($url).);..if.($path).{.$
6da20 63 6d 64 20 2e 3d 20 27 20 27 20 2e 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 70 61 74 cmd..=.'.'...escapeshellarg($pat
6da40 68 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6d 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 h);.}..return.$cmd;.}.........pr
6da60 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 72 65 64 65 6e 74 69 61 6c 53 74 otected.function.getCredentialSt
6da80 72 69 6e 67 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 41 75 74 68 28 29 29 20 ring().{.if.(!$this->hasAuth()).
6daa0 7b 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 0a {.return.'';.}..return.sprintf(.
6dac0 27 20 25 73 2d 2d 75 73 65 72 6e 61 6d 65 20 25 73 20 2d 2d 70 61 73 73 77 6f 72 64 20 25 73 20 '.%s--username.%s.--password.%s.
6dae0 27 2c 0a 24 74 68 69 73 2d 3e 67 65 74 41 75 74 68 43 61 63 68 65 28 29 2c 0a 65 73 63 61 70 65 ',.$this->getAuthCache(),.escape
6db00 73 68 65 6c 6c 61 72 67 28 24 74 68 69 73 2d 3e 67 65 74 55 73 65 72 6e 61 6d 65 28 29 29 2c 0a shellarg($this->getUsername()),.
6db20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 74 68 69 73 2d 3e 67 65 74 50 61 73 73 77 6f 72 escapeshellarg($this->getPasswor
6db40 64 28 29 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 d()).);.}........protected.funct
6db60 69 6f 6e 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 ion.getPassword().{.if.($this->c
6db80 72 65 64 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 redentials.===.null).{.throw.new
6dba0 20 5c 4c 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 .\LogicException("No.svn.auth.de
6dbc0 74 65 63 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 tected.");.}..return.isset($this
6dbe0 2d 3e 63 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 ->credentials['password']).?.$th
6dc00 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 27 5d 20 3a 20 27 27 is->credentials['password'].:.''
6dc20 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 67 65 ;.}........protected.function.ge
6dc40 74 55 73 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 tUsername().{.if.($this->credent
6dc60 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 6f 67 69 ials.===.null).{.throw.new.\Logi
6dc80 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 74 65 64 cException("No.svn.auth.detected
6dca0 2e 22 29 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 .");.}..return.$this->credential
6dcc0 73 5b 27 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 s['username'];.}.......protected
6dce0 20 66 75 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 .function.hasAuth().{.if.(null.!
6dd00 3d 3d 20 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 ==.$this->hasAuth).{.return.$thi
6dd20 73 2d 3e 68 61 73 41 75 74 68 3b 0a 7d 0a 0a 24 75 72 69 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 s->hasAuth;.}..$uri.=.parse_url(
6dd40 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 75 72 69 5b 27 75 73 65 $this->url);.if.(empty($uri['use
6dd60 72 27 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 73 41 75 74 68 20 3d 20 r'])).{.return.$this->hasAuth.=.
6dd80 66 61 6c 73 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 72 65 64 65 6e 74 69 61 6c 73 5b 27 75 73 false;.}..$this->credentials['us
6dda0 65 72 6e 61 6d 65 27 5d 20 3d 20 24 75 72 69 5b 27 75 73 65 72 27 5d 3b 0a 69 66 20 28 21 65 6d ername'].=.$uri['user'];.if.(!em
6ddc0 70 74 79 28 24 75 72 69 5b 27 70 61 73 73 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 72 65 64 pty($uri['pass'])).{.$this->cred
6dde0 65 6e 74 69 61 6c 73 5b 27 70 61 73 73 77 6f 72 64 27 5d 20 3d 20 24 75 72 69 5b 27 70 61 73 73 entials['password'].=.$uri['pass
6de00 27 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 73 41 75 74 68 20 3d 20 74 '];.}..return.$this->hasAuth.=.t
6de20 72 75 65 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 rue;.}.......protected.function.
6de40 67 65 74 41 75 74 68 43 61 63 68 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 getAuthCache().{.return.$this->c
6de60 61 63 68 65 43 72 65 64 65 6e 74 69 61 6c 73 20 3f 20 27 27 20 3a 20 27 2d 2d 6e 6f 2d 61 75 74 acheCredentials.?.''.:.'--no-aut
6de80 68 2d 63 61 63 68 65 20 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a h-cache.';.}.}.<?php............
6dea0 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 73 65 namespace.Composer;..use.Compose
6dec0 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 3b 0a r\Package\RootPackageInterface;.
6dee0 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 73 65 use.Composer\Package\Locker;.use
6df00 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
6df20 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 5c 49 anager;.use.Composer\Installer\I
6df40 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 65 72 nstallationManager;.use.Composer
6df60 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 75 73 65 \Downloader\DownloadManager;.use
6df80 20 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 .Composer\Script\EventDispatcher
6dfa0 3b 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 ;.use.Composer\Autoload\Autoload
6dfc0 47 65 6e 65 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 70 6f 73 65 72 0a 7b Generator;......class.Composer.{
6dfe0 0a 63 6f 6e 73 74 20 56 45 52 53 49 4f 4e 20 3d 20 27 31 66 32 64 33 33 31 66 64 33 34 31 38 39 .const.VERSION.=.'1f2d331fd34189
6e000 37 63 39 64 35 34 34 31 34 61 37 36 62 39 30 39 62 65 62 61 39 65 33 61 35 39 27 3b 0a 0a 0a 0a 7c9d54414a76b909beba9e3a59';....
6e020 0a 70 72 69 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 .private.$package;.....private.$
6e040 6c 6f 63 6b 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 locker;.....private.$repositoryM
6e060 61 6e 61 67 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 anager;.....private.$downloadMan
6e080 61 67 65 72 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 ager;.....private.$installationM
6e0a0 61 6e 61 67 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 66 69 67 3b 0a 0a 0a 0a anager;.....private.$config;....
6e0c0 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 3b 0a 0a 0a 0a 0a 70 .private.$eventDispatcher;.....p
6e0e0 72 69 76 61 74 65 20 24 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a rivate.$autoloadGenerator;......
6e100 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 61 63 6b 61 67 65 28 52 6f 6f 74 50 public.function.setPackage(RootP
6e120 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 69 ackageInterface.$package).{.$thi
6e140 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 70 75 62 s->package.=.$package;.}.....pub
6e160 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 72 65 74 75 lic.function.getPackage().{.retu
6e180 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 70 75 62 6c 69 63 20 rn.$this->package;.}.....public.
6e1a0 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 6e 66 69 67 28 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 function.setConfig(Config.$confi
6e1c0 67 29 0a 7b 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 g).{.$this->config.=.$config;.}.
6e1e0 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 67 28 29 0a ....public.function.getConfig().
6e200 7b 0a 72 65 74 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 70 75 {.return.$this->config;.}.....pu
6e220 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4c 6f 63 6b 65 72 28 4c 6f 63 6b 65 72 20 24 blic.function.setLocker(Locker.$
6e240 6c 6f 63 6b 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 20 3d 20 24 6c 6f 63 6b 65 locker).{.$this->locker.=.$locke
6e260 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 4c 6f 63 6b r;.}.....public.function.getLock
6e280 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 3b 0a 7d 0a 0a er().{.return.$this->locker;.}..
6e2a0 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 73 69 74 6f 72 79 ...public.function.setRepository
6e2c0 4d 61 6e 61 67 65 72 28 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 20 24 6d 61 6e 61 67 Manager(RepositoryManager.$manag
6e2e0 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 20 3d er).{.$this->repositoryManager.=
6e300 20 24 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 .$manager;.}.....public.function
6e320 20 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e .getRepositoryManager().{.return
6e340 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 3b 0a 7d 0a 0a 0a 0a .$this->repositoryManager;.}....
6e360 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 .public.function.setDownloadMana
6e380 67 65 72 28 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 20 24 6d 61 6e 61 67 65 72 29 0a 7b 0a ger(DownloadManager.$manager).{.
6e3a0 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 6d 61 6e 61 67 65 $this->downloadManager.=.$manage
6e3c0 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 44 6f 77 6e r;.}.....public.function.getDown
6e3e0 6c 6f 61 64 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 64 6f loadManager().{.return.$this->do
6e400 77 6e 6c 6f 61 64 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 63 wnloadManager;.}.....public.func
6e420 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 49 6e 73 74 tion.setInstallationManager(Inst
6e440 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 24 74 68 69 allationManager.$manager).{.$thi
6e460 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 6e 61 67 65 s->installationManager.=.$manage
6e480 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 49 6e 73 74 r;.}.....public.function.getInst
6e4a0 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 74 68 69 73 allationManager().{.return.$this
6e4c0 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 0a 70 75 62 ->installationManager;.}.....pub
6e4e0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 lic.function.setEventDispatcher(
6e500 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 72 EventDispatcher.$eventDispatcher
6e520 29 0a 7b 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 ).{.$this->eventDispatcher.=.$ev
6e540 65 6e 74 44 69 73 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 entDispatcher;.}.....public.func
6e560 74 69 6f 6e 20 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 0a 7b 0a 72 65 74 75 tion.getEventDispatcher().{.retu
6e580 72 6e 20 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 7d 0a 0a 0a 0a rn.$this->eventDispatcher;.}....
6e5a0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 75 74 6f 6c 6f 61 64 47 65 6e 65 .public.function.setAutoloadGene
6e5c0 72 61 74 6f 72 28 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 20 24 61 75 74 6f 6c 6f 61 rator(AutoloadGenerator.$autoloa
6e5e0 64 47 65 6e 65 72 61 74 6f 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 75 74 6f 6c 6f 61 64 47 65 6e dGenerator).{.$this->autoloadGen
6e600 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 6f 72 3b 0a 7d 0a 0a erator.=.$autoloadGenerator;.}..
6e620 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 61 64 47 65 ...public.function.getAutoloadGe
6e640 6e 65 72 61 74 6f 72 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 nerator().{.return.$this->autolo
6e660 61 64 47 65 6e 65 72 61 74 6f 72 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a adGenerator;.}.}.<?php..........
6e680 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 0a 0a 63 ..namespace.Composer\Json;.....c
6e6a0 6c 61 73 73 20 4a 73 6f 6e 4d 61 6e 69 70 75 6c 61 74 6f 72 0a 7b 0a 70 72 69 76 61 74 65 20 73 lass.JsonManipulator.{.private.s
6e6c0 74 61 74 69 63 20 24 52 45 43 55 52 53 45 5f 42 4c 4f 43 4b 53 3b 0a 70 72 69 76 61 74 65 20 73 tatic.$RECURSE_BLOCKS;.private.s
6e6e0 74 61 74 69 63 20 24 4a 53 4f 4e 5f 56 41 4c 55 45 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 tatic.$JSON_VALUE;.private.stati
6e700 63 20 24 4a 53 4f 4e 5f 53 54 52 49 4e 47 3b 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 74 65 6e c.$JSON_STRING;..private.$conten
6e720 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 20 24 69 ts;.private.$newline;.private.$i
6e740 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 73 74 72 ndent;..public.function.__constr
6e760 75 63 74 28 24 63 6f 6e 74 65 6e 74 73 29 0a 7b 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 52 45 43 uct($contents).{.if.(!self::$REC
6e780 55 52 53 45 5f 42 4c 4f 43 4b 53 29 20 7b 0a 73 65 6c 66 3a 3a 24 52 45 43 55 52 53 45 5f 42 4c URSE_BLOCKS).{.self::$RECURSE_BL
6e7a0 4f 43 4b 53 20 3d 20 27 28 3f 3a 5b 5e 7b 7d 5d 2a 7c 5c 7b 28 3f 3a 5b 5e 7b 7d 5d 2a 7c 5c 7b OCKS.=.'(?:[^{}]*|\{(?:[^{}]*|\{
6e7c0 28 3f 3a 5b 5e 7b 7d 5d 2a 7c 5c 7b 28 3f 3a 5b 5e 7b 7d 5d 2a 7c 5c 7b 5b 5e 7b 7d 5d 2a 5c 7d (?:[^{}]*|\{(?:[^{}]*|\{[^{}]*\}
6e7e0 29 2a 5c 7d 29 2a 5c 7d 29 2a 5c 7d 29 2a 27 3b 0a 73 65 6c 66 3a 3a 24 4a 53 4f 4e 5f 53 54 52 )*\})*\})*\})*';.self::$JSON_STR
6e800 49 4e 47 20 3d 20 27 22 28 3f 3a 5c 5c 5c 5c 5b 22 62 66 6e 72 74 2f 5c 5c 5c 5c 5d 7c 5c 5c 5c ING.=.'"(?:\\\\["bfnrt/\\\\]|\\\
6e820 5c 75 5b 61 2d 66 41 2d 46 30 2d 39 5d 7b 34 7d 7c 5b 5e 5c 30 2d 5c 78 30 39 5c 78 30 61 2d 5c \u[a-fA-F0-9]{4}|[^\0-\x09\x0a-\
6e840 78 31 66 5c 5c 5c 5c 22 5d 29 2a 22 27 3b 0a 73 65 6c 66 3a 3a 24 4a 53 4f 4e 5f 56 41 4c 55 45 x1f\\\\"])*"';.self::$JSON_VALUE
6e860 20 3d 20 27 28 3f 3a 5b 30 2d 39 2e 5d 2b 7c 6e 75 6c 6c 7c 74 72 75 65 7c 66 61 6c 73 65 7c 27 .=.'(?:[0-9.]+|null|true|false|'
6e880 2e 73 65 6c 66 3a 3a 24 4a 53 4f 4e 5f 53 54 52 49 4e 47 2e 27 7c 5c 5b 5b 5e 5c 5d 5d 2a 5c 5d .self::$JSON_STRING.'|\[[^\]]*\]
6e8a0 7c 5c 7b 27 2e 73 65 6c 66 3a 3a 24 52 45 43 55 52 53 45 5f 42 4c 4f 43 4b 53 2e 27 5c 7d 29 27 |\{'.self::$RECURSE_BLOCKS.'\})'
6e8c0 3b 0a 7d 0a 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 74 72 69 6d 28 24 63 6f 6e 74 65 6e 74 73 29 ;.}..$contents.=.trim($contents)
6e8e0 3b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e 5c 7b 28 2e 2a 29 5c 7d 24 23 73 ;.if.(!preg_match('#^\{(.*)\}$#s
6e900 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 61 ',.$contents)).{.throw.new.\Inva
6e920 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 66 lidArgumentException('The.json.f
6e940 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 0a ile.must.be.an.object.({})');.}.
6e960 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 6f $this->newline.=.false.!==.strpo
6e980 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 3a 20 22 s($contents,."\r\n").?."\r\n":."
6e9a0 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 74 73 \n";.$this->contents.=.$contents
6e9c0 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 6e 65 .===.'{}'.?.'{'...$this->newline
6e9e0 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 65 63 ...'}'.:.$contents;.$this->detec
6ea00 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 6f 6e tIndenting();.}..public.function
6ea20 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 3e 63 .getContents().{.return.$this->c
6ea40 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 75 62 ontents...$this->newline;.}..pub
6ea60 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 61 63 lic.function.addLink($type,.$pac
6ea80 6b 61 67 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 0a 7b 0a 24 64 61 74 61 20 3d 20 40 6a 73 kage,.$constraint).{.$data.=.@js
6eaa0 6f 6e 5f 64 65 63 6f 64 65 28 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 2c 20 74 72 75 65 29 on_decode($this->contents,.true)
6eac0 3b 0a 0a 0a 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 64 61 74 61 29 20 7b 0a 72 65 74 75 72 ;....if.(null.===.$data).{.retur
6eae0 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 64 61 74 61 5b 24 n.false;.}....if.(!isset($data[$
6eb00 74 79 70 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 64 64 4d 61 69 6e 4b type])).{.return.$this->addMainK
6eb20 65 79 28 24 74 79 70 65 2c 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 20 3d 3e 20 24 63 6f 6e ey($type,.array($package.=>.$con
6eb40 73 74 72 61 69 6e 74 29 29 3b 0a 7d 0a 0a 24 72 65 67 65 78 20 3d 20 27 7b 5e 28 5c 73 2a 5c 7b straint));.}..$regex.=.'{^(\s*\{
6eb60 5c 73 2a 28 3f 3a 27 2e 73 65 6c 66 3a 3a 24 4a 53 4f 4e 5f 53 54 52 49 4e 47 2e 27 5c 73 2a 3a \s*(?:'.self::$JSON_STRING.'\s*:
6eb80 5c 73 2a 27 2e 73 65 6c 66 3a 3a 24 4a 53 4f 4e 5f 56 41 4c 55 45 2e 27 5c 73 2a 2c 5c 73 2a 29 \s*'.self::$JSON_VALUE.'\s*,\s*)
6eba0 2a 3f 29 27 2e 0a 27 28 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 4a 73 6f 6e 46 69 6c 65 3a 3a 65 *?)'..'('.preg_quote(JsonFile::e
6ebc0 6e 63 6f 64 65 28 24 74 79 70 65 29 29 2e 27 5c 73 2a 3a 5c 73 2a 29 28 27 2e 73 65 6c 66 3a 3a ncode($type)).'\s*:\s*)('.self::
6ebe0 24 4a 53 4f 4e 5f 56 41 4c 55 45 2e 27 29 28 2e 2a 29 7d 73 27 3b 0a 69 66 20 28 21 70 72 65 67 $JSON_VALUE.')(.*)}s';.if.(!preg
6ec00 5f 6d 61 74 63 68 28 24 72 65 67 65 78 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 2c 20 _match($regex,.$this->contents,.
6ec20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 6c $matches)).{.return.false;.}..$l
6ec40 69 6e 6b 73 20 3d 20 24 6d 61 74 63 68 65 73 5b 33 5d 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 inks.=.$matches[3];..if.(isset($
6ec60 64 61 74 61 5b 24 74 79 70 65 5d 5b 24 70 61 63 6b 61 67 65 5d 29 29 20 7b 0a 0a 20 24 70 61 63 data[$type][$package])).{...$pac
6ec80 6b 61 67 65 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 5c kageRegex.=.str_replace('/',.'\\
6eca0 5c 5c 3f 2f 27 2c 20 70 72 65 67 5f 71 75 6f 74 65 28 24 70 61 63 6b 61 67 65 29 29 3b 0a 0a 20 \\?/',.preg_quote($package));...
6ecc0 24 6c 69 6e 6b 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 22 27 2e 24 70 61 63 6b $links.=.preg_replace('{"'.$pack
6ece0 61 67 65 52 65 67 65 78 2e 27 22 28 5c 73 2a 3a 5c 73 2a 29 27 2e 73 65 6c 66 3a 3a 24 4a 53 4f ageRegex.'"(\s*:\s*)'.self::$JSO
6ed00 4e 5f 53 54 52 49 4e 47 2e 27 7d 69 27 2c 20 61 64 64 63 73 6c 61 73 68 65 73 28 4a 73 6f 6e 46 N_STRING.'}i',.addcslashes(JsonF
6ed20 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 70 61 63 6b 61 67 65 29 2e 27 24 7b 31 7d 22 27 2e 24 63 ile::encode($package).'${1}"'.$c
6ed40 6f 6e 73 74 72 61 69 6e 74 2e 27 22 27 2c 20 27 5c 5c 27 29 2c 20 24 6c 69 6e 6b 73 29 3b 0a 7d onstraint.'"',.'\\'),.$links);.}
6ed60 20 65 6c 73 65 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e 5c 73 2a 5c 7b 5c .else.{.if.(preg_match('#^\s*\{\
6ed80 73 2a 5c 53 2b 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 s*\S+.*?(\s*\}\s*)$#s',.$links,.
6eda0 24 6d 61 74 63 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 $match)).{...$links.=.preg_repla
6edc0 63 65 28 0a 27 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 ce(.'{'.preg_quote($match[1]).'$
6ede0 7d 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 6e 65 77 }',.addcslashes(','...$this->new
6ee00 6c 69 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 line...$this->indent...$this->in
6ee20 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 63 6b 61 67 65 dent...JsonFile::encode($package
6ee40 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 6e 73 74 72 61 ).':.'.JsonFile::encode($constra
6ee60 69 6e 74 29 20 2e 20 24 6d 61 74 63 68 5b 31 5d 2c 20 27 5c 5c 27 29 2c 0a 24 6c 69 6e 6b 73 0a int)...$match[1],.'\\'),.$links.
6ee80 29 3b 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 );.}.else.{...$links.=.'{'...$th
6eea0 69 73 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 is->newline...$this->indent...$t
6eec0 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 6f 64 65 28 24 his->indent...JsonFile::encode($
6eee0 70 61 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 package).':.'.JsonFile::encode($
6ef00 63 6f 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 constraint)...$this->newline...$
6ef20 74 68 69 73 2d 3e 69 6e 64 65 6e 74 20 2e 20 27 7d 27 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e this->indent...'}';.}.}..$this->
6ef40 63 6f 6e 74 65 6e 74 73 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 20 2e 20 24 6d 61 74 63 68 65 contents.=.$matches[1]...$matche
6ef60 73 5b 32 5d 20 2e 20 24 6c 69 6e 6b 73 20 2e 20 24 6d 61 74 63 68 65 73 5b 34 5d 3b 0a 0a 72 65 s[2]...$links...$matches[4];..re
6ef80 74 75 72 6e 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 61 64 turn.true;.}..public.function.ad
6efa0 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 72 65 dRepository($name,.$config).{.re
6efc0 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 64 64 53 75 62 4e 6f 64 65 28 27 72 65 70 6f 73 69 74 6f turn.$this->addSubNode('reposito
6efe0 72 69 65 73 27 2c 20 24 6e 61 6d 65 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 70 75 62 6c 69 ries',.$name,.$config);.}..publi
6f000 63 20 66 75 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 c.function.removeRepository($nam
6f020 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 64 65 e).{.return.$this->removeSubNode
6f040 28 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 2c 20 24 6e 61 6d 65 29 3b 0a 7d 0a 0a 70 75 62 6c ('repositories',.$name);.}..publ
6f060 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 6e 61 ic.function.addConfigSetting($na
6f080 6d 65 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 64 64 53 me,.$value).{.return.$this->addS
6f0a0 75 62 4e 6f 64 65 28 27 63 6f 6e 66 69 67 27 2c 20 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 3b ubNode('config',.$name,.$value);
6f0c0 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 43 6f 6e 66 69 67 .}..public.function.removeConfig
6f0e0 53 65 74 74 69 6e 67 28 24 6e 61 6d 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 Setting($name).{.return.$this->r
6f100 65 6d 6f 76 65 53 75 62 4e 6f 64 65 28 27 63 6f 6e 66 69 67 27 2c 20 24 6e 61 6d 65 29 3b 0a 7d emoveSubNode('config',.$name);.}
6f120 0a 0a 70 75 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 ..public.function.addSubNode($ma
6f140 69 6e 4e 6f 64 65 2c 20 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 0a 20 69 66 20 28 21 inNode,.$name,.$value).{...if.(!
6f160 70 72 65 67 5f 6d 61 74 63 68 28 27 23 22 27 2e 24 6d 61 69 6e 4e 6f 64 65 2e 27 22 3a 5c 73 2a preg_match('#"'.$mainNode.'":\s*
6f180 5c 7b 23 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 29 29 20 7b 0a 24 74 68 69 73 2d \{#',.$this->contents)).{.$this-
6f1a0 3e 61 64 64 4d 61 69 6e 4b 65 79 28 27 27 2e 24 6d 61 69 6e 4e 6f 64 65 2e 27 27 2c 20 61 72 72 >addMainKey(''.$mainNode.'',.arr
6f1c0 61 79 28 24 6e 61 6d 65 20 3d 3e 20 24 76 61 6c 75 65 29 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 ay($name.=>.$value));..return.tr
6f1e0 75 65 3b 0a 7d 0a 0a 24 73 75 62 4e 61 6d 65 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 66 61 6c 73 ue;.}..$subName.=.null;.if.(fals
6f200 65 20 21 3d 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 e.!==.strpos($name,.'.')).{.list
6f220 28 24 6e 61 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 ($name,.$subName).=.explode('.',
6f240 20 24 6e 61 6d 65 2c 20 32 29 3b 0a 7d 0a 0a 0a 20 24 6e 6f 64 65 52 65 67 65 78 20 3d 20 27 23 .$name,.2);.}....$nodeRegex.=.'#
6f260 28 22 27 2e 24 6d 61 69 6e 4e 6f 64 65 2e 27 22 3a 5c 73 2a 5c 7b 29 28 27 2e 73 65 6c 66 3a 3a ("'.$mainNode.'":\s*\{)('.self::
6f280 24 52 45 43 55 52 53 45 5f 42 4c 4f 43 4b 53 2e 27 29 28 5c 7d 29 23 73 27 3b 0a 69 66 20 28 21 $RECURSE_BLOCKS.')(\})#s';.if.(!
6f2a0 70 72 65 67 5f 6d 61 74 63 68 28 24 6e 6f 64 65 52 65 67 65 78 2c 20 24 74 68 69 73 2d 3e 63 6f preg_match($nodeRegex,.$this->co
6f2c0 6e 74 65 6e 74 73 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b ntents,.$match)).{.return.false;
6f2e0 0a 7d 0a 0a 24 63 68 69 6c 64 72 65 6e 20 3d 20 24 6d 61 74 63 68 5b 32 5d 3b 0a 0a 0a 20 69 66 .}..$children.=.$match[2];....if
6f300 20 28 21 40 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 27 7b 27 2e 24 63 68 69 6c 64 72 65 6e 2e 27 7d .(!@json_decode('{'.$children.'}
6f320 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 61 74 20 3d 20 24 ')).{.return.false;.}..$that.=.$
6f340 74 68 69 73 3b 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 28 22 27 2e 70 72 this;....if.(preg_match('{("'.pr
6f360 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 27 2e 73 65 6c eg_quote($name).'"\s*:\s*)('.sel
6f380 66 3a 3a 24 4a 53 4f 4e 5f 56 41 4c 55 45 2e 27 29 28 2c 3f 29 7d 27 2c 20 24 63 68 69 6c 64 72 f::$JSON_VALUE.')(,?)}',.$childr
6f3a0 65 6e 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 24 63 68 69 6c 64 72 65 6e 20 3d 20 70 72 65 en,.$matches)).{.$children.=.pre
6f3c0 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 27 7b 28 22 27 2e 70 72 65 67 5f 71 75 g_replace_callback('{("'.preg_qu
6f3e0 6f 74 65 28 24 6e 61 6d 65 29 2e 27 22 5c 73 2a 3a 5c 73 2a 29 28 27 2e 73 65 6c 66 3a 3a 24 4a ote($name).'"\s*:\s*)('.self::$J
6f400 53 4f 4e 5f 56 41 4c 55 45 2e 27 29 28 2c 3f 29 7d 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d SON_VALUE.')(,?)}',.function.($m
6f420 61 74 63 68 65 73 29 20 75 73 65 20 28 24 6e 61 6d 65 2c 20 24 73 75 62 4e 61 6d 65 2c 20 24 76 atches).use.($name,.$subName,.$v
6f440 61 6c 75 65 2c 20 24 74 68 61 74 29 20 7b 0a 69 66 20 28 24 73 75 62 4e 61 6d 65 20 21 3d 3d 20 alue,.$that).{.if.($subName.!==.
6f460 6e 75 6c 6c 29 20 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 6d null).{.$curVal.=.json_decode($m
6f480 61 74 63 68 65 73 5b 32 5d 2c 20 74 72 75 65 29 3b 0a 24 63 75 72 56 61 6c 5b 24 73 75 62 4e 61 atches[2],.true);.$curVal[$subNa
6f4a0 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 56 61 6c 3b 0a me].=.$value;.$value.=.$curVal;.
6f4c0 7d 0a 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 65 73 5b 31 5d 20 2e 20 24 74 68 61 74 2d 3e 66 }..return.$matches[1]...$that->f
6f4e0 6f 72 6d 61 74 28 24 76 61 6c 75 65 2c 20 31 29 20 2e 20 24 6d 61 74 63 68 65 73 5b 33 5d 3b 0a ormat($value,.1)...$matches[3];.
6f500 7d 2c 20 24 63 68 69 6c 64 72 65 6e 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 },.$children);.}.elseif.(preg_ma
6f520 74 63 68 28 27 23 5b 5e 5c 73 5d 28 5c 73 2a 29 24 23 27 2c 20 24 63 68 69 6c 64 72 65 6e 2c 20 tch('#[^\s](\s*)$#',.$children,.
6f540 24 6d 61 74 63 68 29 29 20 7b 0a 69 66 20 28 24 73 75 62 4e 61 6d 65 20 21 3d 3d 20 6e 75 6c 6c $match)).{.if.($subName.!==.null
6f560 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 3e 20 24 ).{.$value.=.array($subName.=>.$
6f580 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 67 5f 72 65 value);.}....$children.=.preg_re
6f5a0 70 6c 61 63 65 28 0a 27 23 27 2e 24 6d 61 74 63 68 5b 31 5d 2e 27 24 23 27 2c 0a 61 64 64 63 73 place(.'#'.$match[1].'$#',.addcs
6f5c0 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 65 20 2e 20 24 74 lashes(','...$this->newline...$t
6f5e0 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 74 20 2e 20 4a 73 his->indent...$this->indent...Js
6f600 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 27 2e 24 74 68 69 73 onFile::encode($name).':.'.$this
6f620 2d 3e 66 6f 72 6d 61 74 28 24 76 61 6c 75 65 2c 20 31 29 20 2e 20 24 6d 61 74 63 68 5b 31 5d 2c ->format($value,.1)...$match[1],
6f640 20 27 5c 5c 27 29 2c 0a 24 63 68 69 6c 64 72 65 6e 0a 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 .'\\'),.$children.);.}.else.{.if
6f660 20 28 24 73 75 62 4e 61 6d 65 20 21 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 .($subName.!==.null).{.$value.=.
6f680 61 72 72 61 79 28 24 73 75 62 4e 61 6d 65 20 3d 3e 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 0a 20 array($subName.=>.$value);.}....
6f6a0 24 63 68 69 6c 64 72 65 6e 20 3d 20 24 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 20 2e 20 24 74 68 $children.=.$this->newline...$th
6f6c0 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 74 20 2e 20 4a 73 6f is->indent...$this->indent...Jso
6f6e0 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 6e 61 6d 65 29 2e 27 3a 20 27 2e 24 74 68 69 73 2d nFile::encode($name).':.'.$this-
6f700 3e 66 6f 72 6d 61 74 28 24 76 61 6c 75 65 2c 20 31 29 20 2e 20 24 63 68 69 6c 64 72 65 6e 3b 0a >format($value,.1)...$children;.
6f720 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
6f740 65 28 24 6e 6f 64 65 52 65 67 65 78 2c 20 61 64 64 63 73 6c 61 73 68 65 73 28 27 24 7b 31 7d 27 e($nodeRegex,.addcslashes('${1}'
6f760 2e 24 63 68 69 6c 64 72 65 6e 2e 27 24 33 27 2c 20 27 5c 5c 27 29 2c 20 24 74 68 69 73 2d 3e 63 .$children.'$3',.'\\'),.$this->c
6f780 6f 6e 74 65 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 ontents);..return.true;.}..publi
6f7a0 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 53 75 62 4e 6f 64 65 28 24 6d 61 69 6e 4e 6f c.function.removeSubNode($mainNo
6f7c0 64 65 2c 20 24 6e 61 6d 65 29 0a 7b 0a 0a 20 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 de,.$name).{...if.(!preg_match('
6f7e0 23 22 27 2e 24 6d 61 69 6e 4e 6f 64 65 2e 27 22 3a 5c 73 2a 5c 7b 23 27 2c 20 24 74 68 69 73 2d #"'.$mainNode.'":\s*\{#',.$this-
6f800 3e 63 6f 6e 74 65 6e 74 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 >contents)).{.return.true;.}....
6f820 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 22 27 2e 24 6d 61 69 6e 4e 6f 64 65 2e 27 22 if.(preg_match('#"'.$mainNode.'"
6f840 3a 5c 73 2a 5c 7b 5c 73 2a 5c 7d 23 73 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 29 :\s*\{\s*\}#s',.$this->contents)
6f860 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 24 6e 6f 64 65 52 65 67 65 78 ).{.return.true;.}....$nodeRegex
6f880 20 3d 20 27 23 28 22 27 2e 24 6d 61 69 6e 4e 6f 64 65 2e 27 22 3a 5c 73 2a 5c 7b 29 28 27 2e 73 .=.'#("'.$mainNode.'":\s*\{)('.s
6f8a0 65 6c 66 3a 3a 24 52 45 43 55 52 53 45 5f 42 4c 4f 43 4b 53 2e 27 29 28 5c 7d 29 23 73 27 3b 0a elf::$RECURSE_BLOCKS.')(\})#s';.
6f8c0 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 24 6e 6f 64 65 52 65 67 65 78 2c 20 24 74 68 69 if.(!preg_match($nodeRegex,.$thi
6f8e0 73 2d 3e 63 6f 6e 74 65 6e 74 73 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 s->contents,.$match)).{.return.f
6f900 61 6c 73 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 32 5d 3b 0a alse;.}..$children.=.$match[2];.
6f920 0a 0a 20 69 66 20 28 21 40 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 27 7b 27 2e 24 63 68 69 6c 64 72 ...if.(!@json_decode('{'.$childr
6f940 65 6e 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 73 75 62 en.'}')).{.return.false;.}..$sub
6f960 4e 61 6d 65 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f Name.=.null;.if.(false.!==.strpo
6f980 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 75 s($name,.'.')).{.list($name,.$su
6f9a0 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 3b bName).=.explode('.',.$name,.2);
6f9c0 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 22 27 2e 70 72 65 67 5f 71 .}....if.(preg_match('{"'.preg_q
6f9e0 75 6f 74 65 28 24 6e 61 6d 65 29 2e 27 22 5c 73 2a 3a 7d 69 27 2c 20 24 63 68 69 6c 64 72 65 6e uote($name).'"\s*:}i',.$children
6fa00 29 29 20 7b 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 5f 61 6c 6c 28 27 7b 22 27 2e 70 )).{...if.(preg_match_all('{"'.p
6fa20 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 28 3f 3a 27 2e 73 reg_quote($name).'"\s*:\s*(?:'.s
6fa40 65 6c 66 3a 3a 24 4a 53 4f 4e 5f 56 41 4c 55 45 2e 27 29 7d 27 2c 20 24 63 68 69 6c 64 72 65 6e elf::$JSON_VALUE.')}',.$children
6fa60 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 24 62 65 73 74 4d 61 74 63 68 20 3d 20 27 27 3b 0a ,.$matches)).{.$bestMatch.=.'';.
6fa80 66 6f 72 65 61 63 68 20 28 24 6d 61 74 63 68 65 73 5b 30 5d 20 61 73 20 24 6d 61 74 63 68 29 20 foreach.($matches[0].as.$match).
6faa0 7b 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 62 65 73 74 4d 61 74 63 68 29 20 3c 20 73 74 72 6c 65 {.if.(strlen($bestMatch).<.strle
6fac0 6e 28 24 6d 61 74 63 68 29 29 20 7b 0a 24 62 65 73 74 4d 61 74 63 68 20 3d 20 24 6d 61 74 63 68 n($match)).{.$bestMatch.=.$match
6fae0 3b 0a 7d 0a 7d 0a 24 63 68 69 6c 64 72 65 6e 43 6c 65 61 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c ;.}.}.$childrenClean.=.preg_repl
6fb00 61 63 65 28 27 7b 2c 5c 73 2a 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 62 65 73 74 4d 61 74 63 ace('{,\s*'.preg_quote($bestMatc
6fb20 68 29 2e 27 7d 69 27 2c 20 27 27 2c 20 24 63 68 69 6c 64 72 65 6e 2c 20 2d 31 2c 20 24 63 6f 75 h).'}i',.'',.$children,.-1,.$cou
6fb40 6e 74 29 3b 0a 69 66 20 28 31 20 21 3d 3d 20 24 63 6f 75 6e 74 29 20 7b 0a 24 63 68 69 6c 64 72 nt);.if.(1.!==.$count).{.$childr
6fb60 65 6e 43 6c 65 61 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 27 2e 70 72 65 67 5f enClean.=.preg_replace('{'.preg_
6fb80 71 75 6f 74 65 28 24 62 65 73 74 4d 61 74 63 68 29 2e 27 5c 73 2a 2c 3f 5c 73 2a 7d 69 27 2c 20 quote($bestMatch).'\s*,?\s*}i',.
6fba0 27 27 2c 20 24 63 68 69 6c 64 72 65 6e 43 6c 65 61 6e 2c 20 2d 31 2c 20 24 63 6f 75 6e 74 29 3b '',.$childrenClean,.-1,.$count);
6fbc0 0a 69 66 20 28 31 20 21 3d 3d 20 24 63 6f 75 6e 74 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 .if.(1.!==.$count).{.return.fals
6fbe0 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 21 74 72 69 6d 28 24 63 68 69 6c 64 72 65 e;.}.}.}.}....if.(!trim($childre
6fc00 6e 43 6c 65 61 6e 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 20 3d 20 70 72 65 nClean)).{.$this->contents.=.pre
6fc20 67 5f 72 65 70 6c 61 63 65 28 24 6e 6f 64 65 52 65 67 65 78 2c 20 27 24 31 27 2e 24 74 68 69 73 g_replace($nodeRegex,.'$1'.$this
6fc40 2d 3e 6e 65 77 6c 69 6e 65 2e 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 2e 27 7d 27 2c 20 24 74 68 ->newline.$this->indent.'}',.$th
6fc60 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 29 3b 0a 0a 0a 20 69 66 20 28 24 73 75 62 4e 61 6d 65 20 21 is->contents);....if.($subName.!
6fc80 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 5f 64 65 63 6f 64 65 ==.null).{.$curVal.=.json_decode
6fca0 28 27 7b 27 2e 24 63 68 69 6c 64 72 65 6e 2e 27 7d 27 2c 20 74 72 75 65 29 3b 0a 75 6e 73 65 74 ('{'.$children.'}',.true);.unset
6fcc0 28 24 63 75 72 56 61 6c 5b 24 6e 61 6d 65 5d 5b 24 73 75 62 4e 61 6d 65 5d 29 3b 0a 24 74 68 69 ($curVal[$name][$subName]);.$thi
6fce0 73 2d 3e 61 64 64 53 75 62 4e 6f 64 65 28 24 6d 61 69 6e 4e 6f 64 65 2c 20 24 6e 61 6d 65 2c 20 s->addSubNode($mainNode,.$name,.
6fd00 24 63 75 72 56 61 6c 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b $curVal[$name]);.}..return.true;
6fd20 0a 7d 0a 0a 24 74 68 61 74 20 3d 20 24 74 68 69 73 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e .}..$that.=.$this;.$this->conten
6fd40 74 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 24 6e 6f 64 65 ts.=.preg_replace_callback($node
6fd60 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 20 28 Regex,.function.($matches).use.(
6fd80 24 74 68 61 74 2c 20 24 6e 61 6d 65 2c 20 24 73 75 62 4e 61 6d 65 2c 20 24 63 68 69 6c 64 72 65 $that,.$name,.$subName,.$childre
6fda0 6e 43 6c 65 61 6e 29 20 7b 0a 69 66 20 28 24 73 75 62 4e 61 6d 65 20 21 3d 3d 20 6e 75 6c 6c 29 nClean).{.if.($subName.!==.null)
6fdc0 20 7b 0a 24 63 75 72 56 61 6c 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 27 7b 27 2e 24 6d 61 .{.$curVal.=.json_decode('{'.$ma
6fde0 74 63 68 65 73 5b 32 5d 2e 27 7d 27 2c 20 74 72 75 65 29 3b 0a 75 6e 73 65 74 28 24 63 75 72 56 tches[2].'}',.true);.unset($curV
6fe00 61 6c 5b 24 6e 61 6d 65 5d 5b 24 73 75 62 4e 61 6d 65 5d 29 3b 0a 24 63 68 69 6c 64 72 65 6e 43 al[$name][$subName]);.$childrenC
6fe20 6c 65 61 6e 20 3d 20 73 75 62 73 74 72 28 24 74 68 61 74 2d 3e 66 6f 72 6d 61 74 28 24 63 75 72 lean.=.substr($that->format($cur
6fe40 56 61 6c 2c 20 30 29 2c 20 31 2c 20 2d 31 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 Val,.0),.1,.-1);.}..return.$matc
6fe60 68 65 73 5b 31 5d 20 2e 20 24 63 68 69 6c 64 72 65 6e 43 6c 65 61 6e 20 2e 20 24 6d 61 74 63 68 hes[1]...$childrenClean...$match
6fe80 65 73 5b 33 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 es[3];.},.$this->contents);..ret
6fea0 75 72 6e 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 61 64 64 urn.true;.}..public.function.add
6fec0 4d 61 69 6e 4b 65 79 28 24 6b 65 79 2c 20 24 63 6f 6e 74 65 6e 74 29 0a 7b 0a 24 63 6f 6e 74 65 MainKey($key,.$content).{.$conte
6fee0 6e 74 20 3d 20 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 nt.=.$this->format($content);...
6ff00 20 24 72 65 67 65 78 20 3d 20 27 7b 5e 28 5c 73 2a 5c 7b 5c 73 2a 28 3f 3a 27 2e 73 65 6c 66 3a .$regex.=.'{^(\s*\{\s*(?:'.self:
6ff20 3a 24 4a 53 4f 4e 5f 53 54 52 49 4e 47 2e 27 5c 73 2a 3a 5c 73 2a 27 2e 73 65 6c 66 3a 3a 24 4a :$JSON_STRING.'\s*:\s*'.self::$J
6ff40 53 4f 4e 5f 56 41 4c 55 45 2e 27 5c 73 2a 2c 5c 73 2a 29 2a 3f 29 27 2e 0a 27 28 27 2e 70 72 65 SON_VALUE.'\s*,\s*)*?)'..'('.pre
6ff60 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 79 29 29 2e g_quote(JsonFile::encode($key)).
6ff80 27 5c 73 2a 3a 5c 73 2a 27 2e 73 65 6c 66 3a 3a 24 4a 53 4f 4e 5f 56 41 4c 55 45 2e 27 29 28 2e '\s*:\s*'.self::$JSON_VALUE.')(.
6ffa0 2a 29 7d 73 27 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 72 65 67 65 78 2c 20 24 74 *)}s';.if.(preg_match($regex,.$t
6ffc0 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 0a 20 69 66 his->contents,.$matches)).{...if
6ffe0 20 28 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 32 5d 2e .(!@json_decode('{'.$matches[2].
70000 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 2d 3e '}')).{.return.false;.}..$this->
70020 63 6f 6e 74 65 6e 74 73 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 20 2e 20 4a 73 6f 6e 46 69 6c contents.=.$matches[1]...JsonFil
70040 65 3a 3a 65 6e 63 6f 64 65 28 24 6b 65 79 29 2e 27 3a 20 27 2e 24 63 6f 6e 74 65 6e 74 20 2e 20 e::encode($key).':.'.$content...
70060 24 6d 61 74 63 68 65 73 5b 33 5d 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 $matches[3];..return.true;.}....
70080 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5b 5e 7b 5c 73 5d 28 5c 73 2a 29 5c 7d 24 23 if.(preg_match('#[^{\s](\s*)\}$#
700a0 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 ',.$this->contents,.$match)).{.$
700c0 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 28 0a 27 this->contents.=.preg_replace(.'
700e0 23 27 2e 24 6d 61 74 63 68 5b 31 5d 2e 27 5c 7d 24 23 27 2c 0a 61 64 64 63 73 6c 61 73 68 65 73 #'.$match[1].'\}$#',.addcslashes
70100 28 27 2c 27 20 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 (','...$this->newline...$this->i
70120 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 79 29 2e 20 ndent...JsonFile::encode($key)..
70140 27 3a 20 27 2e 20 24 63 6f 6e 74 65 6e 74 20 2e 20 24 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 20 ':.'..$content...$this->newline.
70160 2e 20 27 7d 27 2c 20 27 5c 5c 27 29 2c 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 0a 29 3b ..'}',.'\\'),.$this->contents.);
70180 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 63 6f 6e 74 65 ..return.true;.}....$this->conte
701a0 6e 74 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 0a 27 23 5c 7d 24 23 27 2c 0a 61 64 64 nts.=.preg_replace(.'#\}$#',.add
701c0 63 73 6c 61 73 68 65 73 28 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 20 2e 20 4a 73 6f 6e 46 69 6c cslashes($this->indent...JsonFil
701e0 65 3a 3a 65 6e 63 6f 64 65 28 24 6b 65 79 29 2e 20 27 3a 20 27 2e 24 63 6f 6e 74 65 6e 74 20 2e e::encode($key)..':.'.$content..
70200 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 27 29 2c 0a 24 74 .$this->newline...'}',.'\\'),.$t
70220 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 3b 0a 7d his->contents.);..return.true;.}
70240 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 61 2c 20 ..public.function.format($data,.
70260 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 61 74 61 $depth.=.0).{.if.(is_array($data
70280 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 6d 65 72 )).{.reset($data);..if.(is_numer
702a0 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 61 74 61 ic(key($data))).{.foreach.($data
702c0 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 79 5d 20 .as.$key.=>.$val).{.$data[$key].
702e0 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 2b 20 31 =.$this->format($val,.$depth.+.1
70300 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 2c 20 24 );.}..return.'['.implode(',.',.$
70320 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 68 69 73 data).']';.}..$out.=.'{'...$this
70340 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 66 6f 72 ->newline;.$elems.=.array();.for
70360 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 7b 0a 24 each.($data.as.$key.=>.$val).{.$
70380 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 6e 64 65 elems[].=.str_repeat($this->inde
703a0 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 6e 63 6f nt,.$depth.+.2)...JsonFile::enco
703c0 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 24 76 61 de($key)..':.'.$this->format($va
703e0 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 74 20 2e l,.$depth.+.1);.}..return.$out..
70400 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 24 65 6c .implode(','.$this->newline,.$el
70420 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 65 70 65 ems)...$this->newline...str_repe
70440 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 20 2e 20 at($this->indent,.$depth.+.1)...
70460 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 64 65 28 '}';.}..return.JsonFile::encode(
70480 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 64 65 $data);.}..protected.function.de
704a0 74 65 63 74 49 6e 64 65 6e 74 69 6e 67 28 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 tectIndenting().{.if.(preg_match
704c0 28 27 7b 5e 28 5c 73 2b 29 22 7d 6d 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 2c 20 ('{^(\s+)"}m',.$this->contents,.
704e0 24 6d 61 74 63 68 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 20 3d 20 24 6d 61 74 63 $match)).{.$this->indent.=.$matc
70500 68 5b 31 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 20 3d 20 27 h[1];.}.else.{.$this->indent.=.'
70520 20 20 20 20 27 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 ....';.}.}.}.<?php............na
70540 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 mespace.Composer\Json;..use.Comp
70560 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 56 61 oser\Composer;.use.JsonSchema\Va
70580 6c 69 64 61 74 6f 72 3b 0a 75 73 65 20 53 65 6c 64 5c 4a 73 6f 6e 4c 69 6e 74 5c 4a 73 6f 6e 50 lidator;.use.Seld\JsonLint\JsonP
705a0 61 72 73 65 72 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 arser;.use.Seld\JsonLint\Parsing
705c0 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 52 65 6d Exception;.use.Composer\Util\Rem
705e0 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 44 6f 77 6e oteFilesystem;.use.Composer\Down
70600 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 0a 0a 0a 0a 0a loader\TransportException;......
70620 0a 0a 63 6c 61 73 73 20 4a 73 6f 6e 46 69 6c 65 0a 7b 0a 63 6f 6e 73 74 20 4c 41 58 5f 53 43 48 ..class.JsonFile.{.const.LAX_SCH
70640 45 4d 41 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 53 54 52 49 43 54 5f 53 43 48 45 4d 41 20 3d 20 32 EMA.=.1;.const.STRICT_SCHEMA.=.2
70660 3b 0a 0a 63 6f 6e 73 74 20 4a 53 4f 4e 5f 55 4e 45 53 43 41 50 45 44 5f 53 4c 41 53 48 45 53 20 ;..const.JSON_UNESCAPED_SLASHES.
70680 3d 20 36 34 3b 0a 63 6f 6e 73 74 20 4a 53 4f 4e 5f 50 52 45 54 54 59 5f 50 52 49 4e 54 20 3d 20 =.64;.const.JSON_PRETTY_PRINT.=.
706a0 31 32 38 3b 0a 63 6f 6e 73 74 20 4a 53 4f 4e 5f 55 4e 45 53 43 41 50 45 44 5f 55 4e 49 43 4f 44 128;.const.JSON_UNESCAPED_UNICOD
706c0 45 20 3d 20 32 35 36 3b 0a 0a 70 72 69 76 61 74 65 20 24 70 61 74 68 3b 0a 70 72 69 76 61 74 65 E.=.256;..private.$path;.private
706e0 20 24 72 66 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 20 5f .$rfs;.........public.function._
70700 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 73 79 73 74 _construct($path,.RemoteFilesyst
70720 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 61 74 68 20 3d 20 em.$rfs.=.null).{.$this->path.=.
70740 24 70 61 74 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 $path;..if.(null.===.$rfs.&&.pre
70760 67 5f 6d 61 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 g_match('{^https?://}i',.$path))
70780 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 63 .{.throw.new.\InvalidArgumentExc
707a0 65 70 74 69 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 eption('http.urls.require.a.Remo
707c0 74 65 46 69 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 teFilesystem.instance.to.be.pass
707e0 65 64 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 72 66 73 20 3d 20 24 72 66 73 3b 0a 7d 0a 0a 0a 0a ed');.}.$this->rfs.=.$rfs;.}....
70800 0a 70 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 .public.function.getPath().{.ret
70820 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 urn.$this->path;.}.......public.
70840 66 75 6e 63 74 69 6f 6e 20 65 78 69 73 74 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 5f 66 69 function.exists().{.return.is_fi
70860 6c 65 28 24 74 68 69 73 2d 3e 70 61 74 68 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 le($this->path);.}........public
70880 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 28 29 0a 7b 0a 74 72 79 20 7b 0a 69 66 20 28 24 74 68 .function.read().{.try.{.if.($th
708a0 69 73 2d 3e 72 66 73 29 20 7b 0a 24 6a 73 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 72 66 73 2d 3e 67 is->rfs).{.$json.=.$this->rfs->g
708c0 65 74 43 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 70 61 74 68 2c 20 24 74 68 69 73 2d 3e 70 etContents($this->path,.$this->p
708e0 61 74 68 2c 20 66 61 6c 73 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6a 73 6f 6e 20 3d 20 66 69 ath,.false);.}.else.{.$json.=.fi
70900 6c 65 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 7d 0a le_get_contents($this->path);.}.
70920 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).
70940 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 65 {.throw.new.\RuntimeException($e
70960 2d 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 ->getMessage(),.0,.$e);.}.catch.
70980 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 5c 52 75 6e (\Exception.$e).{.throw.new.\Run
709a0 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 65 61 64 20 27 2e timeException('Could.not.read.'.
709c0 24 74 68 69 73 2d 3e 70 61 74 68 2e 22 5c 6e 5c 6e 22 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 $this->path."\n\n".$e->getMessag
709e0 65 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 74 61 74 69 63 3a 3a 70 61 72 73 65 4a 73 6f e());.}..return.static::parseJso
70a00 6e 28 24 6a 73 6f 6e 2c 20 24 74 68 69 73 2d 3e 70 61 74 68 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a n($json,.$this->path);.}........
70a20 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 28 61 72 72 61 79 20 24 68 61 .public.function.write(array.$ha
70a40 73 68 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 34 34 38 29 0a 7b 0a 24 64 69 72 20 3d 20 64 69 72 sh,.$options.=.448).{.$dir.=.dir
70a60 6e 61 6d 65 28 24 74 68 69 73 2d 3e 70 61 74 68 29 3b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 name($this->path);.if.(!is_dir($
70a80 64 69 72 29 29 20 7b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 64 69 72 29 29 20 7b dir)).{.if.(file_exists($dir)).{
70aa0 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
70ac0 74 69 6f 6e 28 0a 24 64 69 72 2e 27 20 65 78 69 73 74 73 20 61 6e 64 20 69 73 20 6e 6f 74 20 61 tion(.$dir.'.exists.and.is.not.a
70ae0 20 64 69 72 65 63 74 6f 72 79 2e 27 0a 29 3b 0a 7d 0a 69 66 20 28 21 40 6d 6b 64 69 72 28 24 64 .directory.'.);.}.if.(!@mkdir($d
70b00 69 72 2c 20 30 37 37 37 2c 20 74 72 75 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e ir,.0777,.true)).{.throw.new.\Un
70b20 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 0a 24 64 69 72 2e 27 20 64 expectedValueException(.$dir.'.d
70b40 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 20 61 6e 64 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 63 oes.not.exist.and.could.not.be.c
70b60 72 65 61 74 65 64 2e 27 0a 29 3b 0a 7d 0a 7d 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 reated.'.);.}.}.file_put_content
70b80 73 28 24 74 68 69 73 2d 3e 70 61 74 68 2c 20 73 74 61 74 69 63 3a 3a 65 6e 63 6f 64 65 28 24 68 s($this->path,.static::encode($h
70ba0 61 73 68 2c 20 24 6f 70 74 69 6f 6e 73 29 2e 20 28 24 6f 70 74 69 6f 6e 73 20 26 20 73 65 6c 66 ash,.$options)..($options.&.self
70bc0 3a 3a 4a 53 4f 4e 5f 50 52 45 54 54 59 5f 50 52 49 4e 54 20 3f 20 22 5c 6e 22 20 3a 20 27 27 29 ::JSON_PRETTY_PRINT.?."\n".:.'')
70be0 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 76 61 6c );.}.........public.function.val
70c00 69 64 61 74 65 53 63 68 65 6d 61 28 24 73 63 68 65 6d 61 20 3d 20 73 65 6c 66 3a 3a 53 54 52 49 idateSchema($schema.=.self::STRI
70c20 43 54 5f 53 43 48 45 4d 41 29 0a 7b 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 66 69 6c 65 5f 67 65 74 CT_SCHEMA).{.$content.=.file_get
70c40 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 61 20 3d 20 _contents($this->path);.$data.=.
70c60 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 6e 75 6c 6c json_decode($content);..if.(null
70c80 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 6e 74 65 6e .===.$data.&&.'null'.!==.$conten
70ca0 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 6f 6e 74 65 t).{.self::validateSyntax($conte
70cc0 6e 74 2c 20 24 74 68 69 73 2d 3e 70 61 74 68 29 3b 0a 7d 0a 0a 24 73 63 68 65 6d 61 46 69 6c 65 nt,.$this->path);.}..$schemaFile
70ce0 20 3d 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 72 65 73 2f 63 6f 6d 70 .=.__DIR__...'/../../../res/comp
70d00 6f 73 65 72 2d 73 63 68 65 6d 61 2e 6a 73 6f 6e 27 3b 0a 24 73 63 68 65 6d 61 44 61 74 61 20 3d oser-schema.json';.$schemaData.=
70d20 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 73 28 24 .json_decode(file_get_contents($
70d40 73 63 68 65 6d 61 46 69 6c 65 29 29 3b 0a 0a 69 66 20 28 24 73 63 68 65 6d 61 20 3d 3d 3d 20 73 schemaFile));..if.($schema.===.s
70d60 65 6c 66 3a 3a 4c 41 58 5f 53 43 48 45 4d 41 29 20 7b 0a 24 73 63 68 65 6d 61 44 61 74 61 2d 3e elf::LAX_SCHEMA).{.$schemaData->
70d80 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 20 3d 20 74 72 75 65 3b 0a 24 73 63 additionalProperties.=.true;.$sc
70da0 68 65 6d 61 44 61 74 61 2d 3e 70 72 6f 70 65 72 74 69 65 73 2d 3e 6e 61 6d 65 2d 3e 72 65 71 75 hemaData->properties->name->requ
70dc0 69 72 65 64 20 3d 20 66 61 6c 73 65 3b 0a 24 73 63 68 65 6d 61 44 61 74 61 2d 3e 70 72 6f 70 65 ired.=.false;.$schemaData->prope
70de0 72 74 69 65 73 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e 2d 3e 72 65 71 75 69 72 65 64 20 3d 20 66 rties->description->required.=.f
70e00 61 6c 73 65 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 69 64 61 alse;.}..$validator.=.new.Valida
70e20 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 61 2c 20 tor();.$validator->check($data,.
70e40 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 74 6f 72 $schemaData);....if.(!$validator
70e60 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 79 28 29 ->isValid()).{.$errors.=.array()
70e80 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 2d 3e 67 ;.foreach.((array).$validator->g
70ea0 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 72 73 5b etErrors().as.$error).{.$errors[
70ec0 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 72 6f 72 ].=.($error['property'].?.$error
70ee0 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 6f 72 5b ['property'].'.:.'.:.'').$error[
70f00 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 61 6c 69 'message'];.}.throw.new.JsonVali
70f20 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 74 68 2e dationException('"'.$this->path.
70f40 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 64 20 4a '".does.not.match.the.expected.J
70f60 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 75 72 6e SON.schema',.$errors);.}..return
70f80 20 74 72 75 65 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 74 61 .true;.}..............public.sta
70fa0 74 69 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 tic.function.encode($data,.$opti
70fc0 6f 6e 73 20 3d 20 34 34 38 29 0a 7b 0a 69 66 20 28 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 ons.=.448).{.if.(version_compare
70fe0 28 50 48 50 5f 56 45 52 53 49 4f 4e 2c 20 27 35 2e 34 27 2c 20 27 3e 3d 27 29 29 20 7b 0a 72 65 (PHP_VERSION,.'5.4',.'>=')).{.re
71000 74 75 72 6e 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 64 61 74 61 2c 20 24 6f 70 74 69 6f 6e 73 turn.json_encode($data,.$options
71020 29 3b 0a 7d 0a 0a 24 6a 73 6f 6e 20 3d 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 64 61 74 61 29 );.}..$json.=.json_encode($data)
71040 3b 0a 0a 24 70 72 65 74 74 79 50 72 69 6e 74 20 3d 20 28 62 6f 6f 6c 29 20 28 24 6f 70 74 69 6f ;..$prettyPrint.=.(bool).($optio
71060 6e 73 20 26 20 73 65 6c 66 3a 3a 4a 53 4f 4e 5f 50 52 45 54 54 59 5f 50 52 49 4e 54 29 3b 0a 24 ns.&.self::JSON_PRETTY_PRINT);.$
71080 75 6e 65 73 63 61 70 65 55 6e 69 63 6f 64 65 20 3d 20 28 62 6f 6f 6c 29 20 28 24 6f 70 74 69 6f unescapeUnicode.=.(bool).($optio
710a0 6e 73 20 26 20 73 65 6c 66 3a 3a 4a 53 4f 4e 5f 55 4e 45 53 43 41 50 45 44 5f 55 4e 49 43 4f 44 ns.&.self::JSON_UNESCAPED_UNICOD
710c0 45 29 3b 0a 24 75 6e 65 73 63 61 70 65 53 6c 61 73 68 65 73 20 3d 20 28 62 6f 6f 6c 29 20 28 24 E);.$unescapeSlashes.=.(bool).($
710e0 6f 70 74 69 6f 6e 73 20 26 20 73 65 6c 66 3a 3a 4a 53 4f 4e 5f 55 4e 45 53 43 41 50 45 44 5f 53 options.&.self::JSON_UNESCAPED_S
71100 4c 41 53 48 45 53 29 3b 0a 0a 69 66 20 28 21 24 70 72 65 74 74 79 50 72 69 6e 74 20 26 26 20 21 LASHES);..if.(!$prettyPrint.&&.!
71120 24 75 6e 65 73 63 61 70 65 55 6e 69 63 6f 64 65 20 26 26 20 21 24 75 6e 65 73 63 61 70 65 53 6c $unescapeUnicode.&&.!$unescapeSl
71140 61 73 68 65 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 6a 73 6f 6e 3b 0a 7d 0a 0a 24 72 65 73 75 6c ashes).{.return.$json;.}..$resul
71160 74 20 3d 20 27 27 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 t.=.'';.$pos.=.0;.$strLen.=.strl
71180 65 6e 28 24 6a 73 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 en($json);.$indentStr.=.'....';.
711a0 24 6e 65 77 4c 69 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 $newLine.=."\n";.$outOfQuotes.=.
711c0 74 72 75 65 3b 0a 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 true;.$buffer.=.'';.$noescape.=.
711e0 74 72 75 65 3b 0a 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 true;..for.($i.=.0;.$i.<.$strLen
71200 3b 20 24 69 2b 2b 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 ;.$i++).{...$char.=.substr($json
71220 2c 20 24 69 2c 20 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 ,.$i,.1);....if.('"'.===.$char.&
71240 26 20 24 6e 6f 65 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 &.$noescape).{.$outOfQuotes.=.!$
71260 6f 75 74 4f 66 51 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 outOfQuotes;.}..if.(!$outOfQuote
71280 73 29 20 7b 0a 24 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 s).{.$buffer..=.$char;.$noescape
712a0 20 3d 20 27 5c 5c 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 .=.'\\'.===.$char.?.!$noescape.:
712c0 20 74 72 75 65 3b 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 .true;.continue;.}.elseif.(''.!=
712e0 3d 20 24 62 75 66 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 =.$buffer).{.if.($unescapeSlashe
71300 73 29 20 7b 0a 24 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 s).{.$buffer.=.str_replace('\\/'
71320 2c 20 27 2f 27 2c 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 ,.'/',.$buffer);.}..if.($unescap
71340 65 55 6e 69 63 6f 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 eUnicode.&&.function_exists('mb_
71360 63 6f 6e 76 65 72 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 convert_encoding')).{...$buffer.
71380 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 5c 5c 5c 5c 75 28 =.preg_replace_callback('/\\\\u(
713a0 5b 30 2d 39 61 2d 66 5d 7b 34 7d 29 2f 69 27 2c 20 66 75 6e 63 74 69 6f 6e 28 24 6d 61 74 63 68 [0-9a-f]{4})/i',.function($match
713c0 29 20 7b 0a 72 65 74 75 72 6e 20 6d 62 5f 63 6f 6e 76 65 72 74 5f 65 6e 63 6f 64 69 6e 67 28 70 ).{.return.mb_convert_encoding(p
713e0 61 63 6b 28 27 48 2a 27 2c 20 24 6d 61 74 63 68 5b 31 5d 29 2c 20 27 55 54 46 2d 38 27 2c 20 27 ack('H*',.$match[1]),.'UTF-8',.'
71400 55 43 53 2d 32 42 45 27 29 3b 0a 7d 2c 20 24 62 75 66 66 65 72 29 3b 0a 7d 0a 0a 24 72 65 73 75 UCS-2BE');.},.$buffer);.}..$resu
71420 6c 74 20 2e 3d 20 24 62 75 66 66 65 72 2e 24 63 68 61 72 3b 0a 24 62 75 66 66 65 72 20 3d 20 27 lt..=.$buffer.$char;.$buffer.=.'
71440 27 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 27 3a 27 20 3d 3d 3d 20 24 63 68 61 ';.continue;.}..if.(':'.===.$cha
71460 72 29 20 7b 0a 0a 20 24 63 68 61 72 20 2e 3d 20 27 20 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 28 r).{...$char..=.'.';.}.elseif.((
71480 27 7d 27 20 3d 3d 3d 20 24 63 68 61 72 20 7c 7c 20 27 5d 27 20 3d 3d 3d 20 24 63 68 61 72 29 29 '}'.===.$char.||.']'.===.$char))
714a0 20 7b 0a 24 70 6f 73 2d 2d 3b 0a 24 70 72 65 76 43 68 61 72 20 3d 20 73 75 62 73 74 72 28 24 6a .{.$pos--;.$prevChar.=.substr($j
714c0 73 6f 6e 2c 20 24 69 20 2d 20 31 2c 20 31 29 3b 0a 0a 69 66 20 28 27 7b 27 20 21 3d 3d 20 24 70 son,.$i.-.1,.1);..if.('{'.!==.$p
714e0 72 65 76 43 68 61 72 20 26 26 20 27 5b 27 20 21 3d 3d 20 24 70 72 65 76 43 68 61 72 29 20 7b 0a revChar.&&.'['.!==.$prevChar).{.
71500 0a 20 0a 20 24 72 65 73 75 6c 74 20 2e 3d 20 24 6e 65 77 4c 69 6e 65 3b 0a 66 6f 72 20 28 24 6a ....$result..=.$newLine;.for.($j
71520 20 3d 20 30 3b 20 24 6a 20 3c 20 24 70 6f 73 3b 20 24 6a 2b 2b 29 20 7b 0a 24 72 65 73 75 6c 74 .=.0;.$j.<.$pos;.$j++).{.$result
71540 20 2e 3d 20 24 69 6e 64 65 6e 74 53 74 72 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 72 65 ..=.$indentStr;.}.}.else.{...$re
71560 73 75 6c 74 20 3d 20 72 74 72 69 6d 28 24 72 65 73 75 6c 74 29 2e 22 5c 6e 5c 6e 22 2e 24 69 6e sult.=.rtrim($result)."\n\n".$in
71580 64 65 6e 74 53 74 72 3b 0a 7d 0a 7d 0a 0a 24 72 65 73 75 6c 74 20 2e 3d 20 24 63 68 61 72 3b 0a dentStr;.}.}..$result..=.$char;.
715a0 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 3d .....if.(','.===.$char.||.'{'.==
715c0 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 73 =.$char.||.'['.===.$char).{.$res
715e0 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 63 ult..=.$newLine;..if.('{'.===.$c
71600 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 0a har.||.'['.===.$char).{.$pos++;.
71620 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 29 }..for.($j.=.0;.$j.<.$pos;.$j++)
71640 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 0a .{.$result..=.$indentStr;.}.}.}.
71660 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 75 62 6c .return.$result;.}..........publ
71680 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 4a 73 6f 6e 28 24 6a 73 ic.static.function.parseJson($js
716a0 6f 6e 2c 20 24 66 69 6c 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 64 61 74 61 20 3d 20 6a 73 6f 6e on,.$file.=.null).{.$data.=.json
716c0 5f 64 65 63 6f 64 65 28 24 6a 73 6f 6e 2c 20 74 72 75 65 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d _decode($json,.true);.if.(null.=
716e0 3d 3d 20 24 64 61 74 61 20 26 26 20 4a 53 4f 4e 5f 45 52 52 4f 52 5f 4e 4f 4e 45 20 21 3d 3d 20 ==.$data.&&.JSON_ERROR_NONE.!==.
71700 6a 73 6f 6e 5f 6c 61 73 74 5f 65 72 72 6f 72 28 29 29 20 7b 0a 73 65 6c 66 3a 3a 76 61 6c 69 64 json_last_error()).{.self::valid
71720 61 74 65 53 79 6e 74 61 78 28 24 6a 73 6f 6e 2c 20 24 66 69 6c 65 29 3b 0a 7d 0a 0a 72 65 74 75 ateSyntax($json,.$file);.}..retu
71740 72 6e 20 24 64 61 74 61 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 rn.$data;.}............protected
71760 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 53 79 6e 74 61 78 28 .static.function.validateSyntax(
71780 24 6a 73 6f 6e 2c 20 24 66 69 6c 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 70 61 72 73 65 72 20 3d $json,.$file.=.null).{.$parser.=
717a0 20 6e 65 77 20 4a 73 6f 6e 50 61 72 73 65 72 28 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 24 70 61 .new.JsonParser();.$result.=.$pa
717c0 72 73 65 72 2d 3e 6c 69 6e 74 28 24 6a 73 6f 6e 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 rser->lint($json);.if.(null.===.
717e0 24 72 65 73 75 6c 74 29 20 7b 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 4a 53 4f 4e 5f 45 52 52 $result).{.if.(defined('JSON_ERR
71800 4f 52 5f 55 54 46 38 27 29 20 26 26 20 4a 53 4f 4e 5f 45 52 52 4f 52 5f 55 54 46 38 20 3d 3d 3d OR_UTF8').&&.JSON_ERROR_UTF8.===
71820 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 20 .json_last_error()).{.throw.new.
71840 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 27 2e 24 66 \UnexpectedValueException('"'.$f
71860 69 6c 65 2e 27 22 20 69 73 20 6e 6f 74 20 55 54 46 2d 38 2c 20 63 6f 75 6c 64 20 6e 6f 74 20 70 ile.'".is.not.UTF-8,.could.not.p
71880 61 72 73 65 20 61 73 20 4a 53 4f 4e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a arse.as.JSON');.}..return.true;.
718a0 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 50 61 72 73 69 6e 67 45 78 63 65 70 74 69 6f 6e 28 27 22 }..throw.new.ParsingException('"
718c0 27 2e 24 66 69 6c 65 2e 27 22 20 64 6f 65 73 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 76 61 6c 69 '.$file.'".does.not.contain.vali
718e0 64 20 4a 53 4f 4e 27 2e 22 5c 6e 22 2e 24 72 65 73 75 6c 74 2d 3e 67 65 74 4d 65 73 73 61 67 65 d.JSON'."\n".$result->getMessage
71900 28 29 2c 20 24 72 65 73 75 6c 74 2d 3e 67 65 74 44 65 74 61 69 6c 73 28 29 29 3b 0a 7d 0a 7d 0a (),.$result->getDetails());.}.}.
71920 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
71940 73 65 72 5c 4a 73 6f 6e 3b 0a 0a 75 73 65 20 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c ser\Json;..use.Exception;.....cl
71960 61 73 73 20 4a 73 6f 6e 56 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 ass.JsonValidationException.exte
71980 6e 64 73 20 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 65 72 72 6f 72 nds.Exception.{.protected.$error
719a0 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 75 63 74 28 s;..public.function.__construct(
719c0 24 6d 65 73 73 61 67 65 2c 20 24 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 $message,.$errors.=.array()).{.$
719e0 74 68 69 73 2d 3e 65 72 72 6f 72 73 20 3d 20 24 65 72 72 6f 72 73 3b 0a 70 61 72 65 6e 74 3a 3a this->errors.=.$errors;.parent::
71a00 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 __construct($message);.}..public
71a20 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.$
71a40 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.........
71a60 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 43 6f 6d 70 ...namespace.Composer;..use.Comp
71a80 6f 73 65 72 5c 43 6f 6e 66 69 67 5c 43 6f 6e 66 69 67 53 6f 75 72 63 65 49 6e 74 65 72 66 61 63 oser\Config\ConfigSourceInterfac
71aa0 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e 66 69 67 0a 7b 0a 70 75 62 6c 69 63 20 73 74 61 e;.....class.Config.{.public.sta
71ac0 74 69 63 20 24 64 65 66 61 75 6c 74 43 6f 6e 66 69 67 20 3d 20 61 72 72 61 79 28 0a 27 70 72 6f tic.$defaultConfig.=.array(.'pro
71ae0 63 65 73 73 2d 74 69 6d 65 6f 75 74 27 20 3d 3e 20 33 30 30 2c 0a 27 75 73 65 2d 69 6e 63 6c 75 cess-timeout'.=>.300,.'use-inclu
71b00 64 65 2d 70 61 74 68 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 27 70 72 65 66 65 72 72 65 64 2d 69 6e de-path'.=>.false,.'preferred-in
71b20 73 74 61 6c 6c 27 20 3d 3e 20 27 61 75 74 6f 27 2c 0a 27 6e 6f 74 69 66 79 2d 6f 6e 2d 69 6e 73 stall'.=>.'auto',.'notify-on-ins
71b40 74 61 6c 6c 27 20 3d 3e 20 74 72 75 65 2c 0a 27 67 69 74 68 75 62 2d 70 72 6f 74 6f 63 6f 6c 73 tall'.=>.true,.'github-protocols
71b60 27 20 3d 3e 20 61 72 72 61 79 28 27 67 69 74 27 2c 20 27 68 74 74 70 73 27 29 2c 0a 27 76 65 6e '.=>.array('git',.'https'),.'ven
71b80 64 6f 72 2d 64 69 72 27 20 3d 3e 20 27 76 65 6e 64 6f 72 27 2c 0a 27 62 69 6e 2d 64 69 72 27 20 dor-dir'.=>.'vendor',.'bin-dir'.
71ba0 3d 3e 20 27 7b 24 76 65 6e 64 6f 72 2d 64 69 72 7d 2f 62 69 6e 27 2c 0a 27 63 61 63 68 65 2d 64 =>.'{$vendor-dir}/bin',.'cache-d
71bc0 69 72 27 20 3d 3e 20 27 7b 24 68 6f 6d 65 7d 2f 63 61 63 68 65 27 2c 0a 27 63 61 63 68 65 2d 66 ir'.=>.'{$home}/cache',.'cache-f
71be0 69 6c 65 73 2d 64 69 72 27 20 3d 3e 20 27 7b 24 63 61 63 68 65 2d 64 69 72 7d 2f 66 69 6c 65 73 iles-dir'.=>.'{$cache-dir}/files
71c00 27 2c 0a 27 63 61 63 68 65 2d 72 65 70 6f 2d 64 69 72 27 20 3d 3e 20 27 7b 24 63 61 63 68 65 2d ',.'cache-repo-dir'.=>.'{$cache-
71c20 64 69 72 7d 2f 72 65 70 6f 27 2c 0a 27 63 61 63 68 65 2d 76 63 73 2d 64 69 72 27 20 3d 3e 20 27 dir}/repo',.'cache-vcs-dir'.=>.'
71c40 7b 24 63 61 63 68 65 2d 64 69 72 7d 2f 76 63 73 27 2c 0a 27 63 61 63 68 65 2d 74 74 6c 27 20 3d {$cache-dir}/vcs',.'cache-ttl'.=
71c60 3e 20 31 35 35 35 32 30 30 30 2c 20 0a 20 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 74 74 6c 27 20 >.15552000,...'cache-files-ttl'.
71c80 3d 3e 20 6e 75 6c 6c 2c 20 0a 20 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 6d 61 78 73 69 7a 65 27 =>.null,...'cache-files-maxsize'
71ca0 20 3d 3e 20 27 33 30 30 4d 69 42 27 2c 0a 27 64 69 73 63 61 72 64 2d 63 68 61 6e 67 65 73 27 20 .=>.'300MiB',.'discard-changes'.
71cc0 3d 3e 20 66 61 6c 73 65 2c 0a 29 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 24 64 65 66 =>.false,.);..public.static.$def
71ce0 61 75 6c 74 52 65 70 6f 73 69 74 6f 72 69 65 73 20 3d 20 61 72 72 61 79 28 0a 27 70 61 63 6b 61 aultRepositories.=.array(.'packa
71d00 67 69 73 74 27 20 3d 3e 20 61 72 72 61 79 28 0a 27 74 79 70 65 27 20 3d 3e 20 27 63 6f 6d 70 6f gist'.=>.array(.'type'.=>.'compo
71d20 73 65 72 27 2c 0a 27 75 72 6c 27 20 3d 3e 20 27 68 74 74 70 73 3f 3a 2f 2f 70 61 63 6b 61 67 69 ser',.'url'.=>.'https?://packagi
71d40 73 74 2e 6f 72 67 27 2c 0a 27 61 6c 6c 6f 77 5f 73 73 6c 5f 64 6f 77 6e 67 72 61 64 65 27 20 3d st.org',.'allow_ssl_downgrade'.=
71d60 3e 20 74 72 75 65 2c 0a 29 0a 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 66 69 67 3b 0a 70 >.true,.).);..private.$config;.p
71d80 72 69 76 61 74 65 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 3b 0a 70 72 69 76 61 74 65 20 24 63 rivate.$repositories;.private.$c
71da0 6f 6e 66 69 67 53 6f 75 72 63 65 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f onfigSource;..public.function.__
71dc0 63 6f 6e 73 74 72 75 63 74 28 29 0a 7b 0a 0a 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 construct().{...$this->config.=.
71de0 73 74 61 74 69 63 3a 3a 24 64 65 66 61 75 6c 74 43 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 72 static::$defaultConfig;.$this->r
71e00 65 70 6f 73 69 74 6f 72 69 65 73 20 3d 20 73 74 61 74 69 63 3a 3a 24 64 65 66 61 75 6c 74 52 65 epositories.=.static::$defaultRe
71e20 70 6f 73 69 74 6f 72 69 65 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 positories;.}..public.function.s
71e40 65 74 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 etConfigSource(ConfigSourceInter
71e60 66 61 63 65 20 24 73 6f 75 72 63 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 face.$source).{.$this->configSou
71e80 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 74 69 6f rce.=.$source;.}..public.functio
71ea0 6e 20 67 65 74 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 n.getConfigSource().{.return.$th
71ec0 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 is->configSource;.}.......public
71ee0 20 66 75 6e 63 74 69 6f 6e 20 6d 65 72 67 65 28 61 72 72 61 79 20 24 63 6f 6e 66 69 67 29 0a 7b .function.merge(array.$config).{
71f00 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 69 67 27 5d 29 ...if.(!empty($config['config'])
71f20 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 67 27 5d 29 29 .&&.is_array($config['config']))
71f40 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 27 5d 20 61 73 .{.foreach.($config['config'].as
71f60 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 61 79 28 24 6b .$key.=>.$val).{.if.(in_array($k
71f80 65 79 2c 20 61 72 72 61 79 28 27 67 69 74 68 75 62 2d 6f 61 75 74 68 27 29 29 20 26 26 20 69 73 ey,.array('github-oauth')).&&.is
71fa0 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 24 74 68 69 set($this->config[$key])).{.$thi
71fc0 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 72 67 65 28 24 74 s->config[$key].=.array_merge($t
71fe0 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 7d 20 65 6c 73 65 his->config[$key],.$val);.}.else
72000 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 20 3d 20 24 76 61 6c 3b 0a 7d .{.$this->config[$key].=.$val;.}
72020 0a 7d 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 6f 6e 66 69 67 5b 27 72 65 70 6f 73 69 .}.}..if.(!empty($config['reposi
72040 74 6f 72 69 65 73 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 72 tories']).&&.is_array($config['r
72060 65 70 6f 73 69 74 6f 72 69 65 73 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 epositories'])).{.$this->reposit
72080 6f 72 69 65 73 20 3d 20 61 72 72 61 79 5f 72 65 76 65 72 73 65 28 24 74 68 69 73 2d 3e 72 65 70 ories.=.array_reverse($this->rep
720a0 6f 73 69 74 6f 72 69 65 73 2c 20 74 72 75 65 29 3b 0a 24 6e 65 77 52 65 70 6f 73 20 3d 20 61 72 ositories,.true);.$newRepos.=.ar
720c0 72 61 79 5f 72 65 76 65 72 73 65 28 24 63 6f 6e 66 69 67 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 ray_reverse($config['repositorie
720e0 73 27 5d 2c 20 74 72 75 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6e 65 77 52 65 70 6f 73 20 61 s'],.true);.foreach.($newRepos.a
72100 73 20 24 6e 61 6d 65 20 3d 3e 20 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 0a 20 69 66 20 28 s.$name.=>.$repository).{...if.(
72120 66 61 6c 73 65 20 3d 3d 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 75 6e 73 65 74 28 24 false.===.$repository).{.unset($
72140 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 63 6f 6e 74 this->repositories[$name]);.cont
72160 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 31 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 72 65 70 6f inue;.}....if.(1.===.count($repo
72180 73 69 74 6f 72 79 29 20 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 63 75 72 72 65 6e 74 28 24 72 65 sitory).&&.false.===.current($re
721a0 70 6f 73 69 74 6f 72 79 29 29 20 7b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 pository)).{.unset($this->reposi
721c0 74 6f 72 69 65 73 5b 6b 65 79 28 24 72 65 70 6f 73 69 74 6f 72 79 29 5d 29 3b 0a 63 6f 6e 74 69 tories[key($repository)]);.conti
721e0 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 5f 69 6e 74 28 24 6e 61 6d 65 29 29 20 7b 0a 24 nue;.}....if.(is_int($name)).{.$
72200 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 5b 5d 20 3d 20 24 72 65 70 6f 73 69 74 6f this->repositories[].=.$reposito
72220 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 69 74 6f 72 69 65 73 ry;.}.else.{.$this->repositories
72240 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 7d 0a 24 74 68 69 73 [$name].=.$repository;.}.}.$this
72260 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 20 3d 20 61 72 72 61 79 5f 72 65 76 65 72 73 65 28 24 ->repositories.=.array_reverse($
72280 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 2c 20 74 72 75 65 29 3b 0a 7d 0a 7d 0a 0a this->repositories,.true);.}.}..
722a0 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 6f 72 69 ...public.function.getRepositori
722c0 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 6f 72 69 65 es().{.return.$this->repositorie
722e0 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 74 s;.}.........public.function.get
72300 28 24 6b 65 79 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 6b 65 79 29 20 7b 0a 63 61 73 65 20 27 76 ($key).{.switch.($key).{.case.'v
72320 65 6e 64 6f 72 2d 64 69 72 27 3a 0a 63 61 73 65 20 27 62 69 6e 2d 64 69 72 27 3a 0a 63 61 73 65 endor-dir':.case.'bin-dir':.case
72340 20 27 70 72 6f 63 65 73 73 2d 74 69 6d 65 6f 75 74 27 3a 0a 63 61 73 65 20 27 63 61 63 68 65 2d .'process-timeout':.case.'cache-
72360 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 69 72 27 3a 0a 63 61 dir':.case.'cache-files-dir':.ca
72380 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 20 27 63 61 63 68 65 se.'cache-repo-dir':.case.'cache
723a0 2d 76 63 73 2d 64 69 72 27 3a 0a 0a 20 24 65 6e 76 20 3d 20 27 43 4f 4d 50 4f 53 45 52 5f 27 20 -vcs-dir':...$env.=.'COMPOSER_'.
723c0 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 27 2c 20 27 5f ..strtoupper(strtr($key,.'-',.'_
723e0 27 29 29 3b 0a 0a 72 65 74 75 72 6e 20 72 74 72 69 6d 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 '));..return.rtrim($this->proces
72400 73 28 67 65 74 65 6e 76 28 24 65 6e 76 29 20 3f 3a 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b s(getenv($env).?:.$this->config[
72420 24 6b 65 79 5d 29 2c 20 27 2f 5c 5c 27 29 3b 0a 0a 63 61 73 65 20 27 63 61 63 68 65 2d 74 74 6c $key]),.'/\\');..case.'cache-ttl
72440 27 3a 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 24 6b ':.return.(int).$this->config[$k
72460 65 79 5d 3b 0a 0a 63 61 73 65 20 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 6d 61 78 73 69 7a 65 27 ey];..case.'cache-files-maxsize'
72480 3a 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 5c 73 2a 28 5b 30 2d 39 2e 5d 2b :.if.(!preg_match('/^\s*([0-9.]+
724a0 29 5c 73 2a 28 3f 3a 28 5b 6b 6d 67 5d 29 28 3f 3a 69 3f 62 29 3f 29 3f 5c 73 2a 24 2f 69 27 2c )\s*(?:([kmg])(?:i?b)?)?\s*$/i',
724c0 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 2c 20 24 6d 61 74 63 68 65 73 29 29 .$this->config[$key],.$matches))
724e0 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 0a .{.throw.new.\RuntimeException(.
72500 22 43 6f 75 6c 64 20 6e 6f 74 20 70 61 72 73 65 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 27 63 "Could.not.parse.the.value.of.'c
72520 61 63 68 65 2d 66 69 6c 65 73 2d 6d 61 78 73 69 7a 65 27 3a 20 7b 24 74 68 69 73 2d 3e 63 6f 6e ache-files-maxsize':.{$this->con
72540 66 69 67 5b 24 6b 65 79 5d 7d 22 0a 29 3b 0a 7d 0a 24 73 69 7a 65 20 3d 20 24 6d 61 74 63 68 65 fig[$key]}".);.}.$size.=.$matche
72560 73 5b 31 5d 3b 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 s[1];.if.(isset($matches[2])).{.
72580 73 77 69 74 63 68 20 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 29 switch.(strtolower($matches[2]))
725a0 20 7b 0a 63 61 73 65 20 27 67 27 3a 0a 24 73 69 7a 65 20 2a 3d 20 31 30 32 34 3b 0a 0a 20 63 61 .{.case.'g':.$size.*=.1024;...ca
725c0 73 65 20 27 6d 27 3a 0a 24 73 69 7a 65 20 2a 3d 20 31 30 32 34 3b 0a 0a 20 63 61 73 65 20 27 6b se.'m':.$size.*=.1024;...case.'k
725e0 27 3a 0a 24 73 69 7a 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 ':.$size.*=.1024;.break;.}.}..re
72600 74 75 72 6e 20 24 73 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 turn.$size;..case.'cache-files-t
72620 74 6c 27 3a 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 24 6b 65 tl':.if.(isset($this->config[$ke
72640 79 5d 29 29 20 7b 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 y])).{.return.(int).$this->confi
72660 67 5b 24 6b 65 79 5d 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 g[$key];.}..return.(int).$this->
72680 63 6f 6e 66 69 67 5b 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 config['cache-ttl'];..case.'home
726a0 27 3a 0a 72 65 74 75 72 6e 20 72 74 72 69 6d 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 28 24 ':.return.rtrim($this->process($
726c0 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 29 2c 20 27 2f 5c 5c 27 29 3b 0a 0a 63 61 this->config[$key]),.'/\\');..ca
726e0 73 65 20 27 64 69 73 63 61 72 64 2d 63 68 61 6e 67 65 73 27 3a 0a 69 66 20 28 24 65 6e 76 20 3d se.'discard-changes':.if.($env.=
72700 20 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 44 49 53 43 41 52 44 5f 43 48 41 4e 47 45 .getenv('COMPOSER_DISCARD_CHANGE
72720 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 72 72 61 79 S')).{.if.(!in_array($env,.array
72740 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 31 27 2c 20 ('stash',.'true',.'false',.'1',.
72760 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 6e 74 69 6d '0'),.true)).{.throw.new.\Runtim
72780 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 43 eException(."Invalid.value.for.C
727a0 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 6e 76 7d 2e OMPOSER_DISCARD_CHANGES:.{$env}.
727c0 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 6f 72 20 73 .Expected.1,.0,.true,.false.or.s
727e0 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 65 6e 76 29 tash".);.}.if.('stash'.===.$env)
72800 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 72 6e 20 24 .{.return.'stash';.}....return.$
72820 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 6e 76 3b 0a env.!==.'false'.&&.(bool).$env;.
72840 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 69 67 5b 24 }..if.(!in_array($this->config[$
72860 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 61 73 68 27 key],.array(true,.false,.'stash'
72880 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 6d 65 45 78 ),.true)).{.throw.new.\RuntimeEx
728a0 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 27 64 69 73 ception(."Invalid.value.for.'dis
728c0 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 67 5b 24 6b card-changes':.{$this->config[$k
728e0 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 72 20 73 74 ey]}..Expected.true,.false.or.st
72900 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 66 69 67 5b ash".);.}..return.$this->config[
72920 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 6c 73 27 3a $key];..case.'github-protocols':
72940 0a 69 66 20 28 72 65 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 67 69 74 68 75 62 .if.(reset($this->config['github
72960 2d 70 72 6f 74 6f 63 6f 6c 73 27 5d 29 20 3d 3d 3d 20 27 68 74 74 70 27 29 20 7b 0a 74 68 72 6f -protocols']).===.'http').{.thro
72980 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 68 74 74 w.new.\RuntimeException('The.htt
729a0 70 20 70 72 6f 74 6f 63 6f 6c 20 66 6f 72 20 67 69 74 68 75 62 20 69 73 20 6e 6f 74 20 61 76 61 p.protocol.for.github.is.not.ava
729c0 69 6c 61 62 6c 65 20 61 6e 79 6d 6f 72 65 2c 20 75 70 64 61 74 65 20 79 6f 75 72 20 63 6f 6e 66 ilable.anymore,.update.your.conf
729e0 69 67 5c 27 73 20 67 69 74 68 75 62 2d 70 72 6f 74 6f 63 6f 6c 73 20 74 6f 20 75 73 65 20 22 68 ig\'s.github-protocols.to.use."h
72a00 74 74 70 73 22 20 6f 72 20 22 67 69 74 22 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 ttps".or."git"');.}..return.$thi
72a20 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 3b 0a 0a 64 65 66 61 75 6c 74 3a 0a 69 66 20 28 21 s->config[$key];..default:.if.(!
72a40 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 72 65 isset($this->config[$key])).{.re
72a60 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 turn.null;.}..return.$this->proc
72a80 65 73 73 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 29 3b 0a 7d 0a 7d 0a 0a 70 ess($this->config[$key]);.}.}..p
72aa0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 6c 6c 28 29 0a 7b 0a 24 61 6c 6c 20 3d 20 61 72 ublic.function.all().{.$all.=.ar
72ac0 72 61 79 28 0a 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 20 3d 3e 20 24 74 68 69 73 2d 3e 67 65 ray(.'repositories'.=>.$this->ge
72ae0 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 2c 0a 29 3b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 tRepositories(),.);.foreach.(arr
72b00 61 79 5f 6b 65 79 73 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 20 61 73 20 24 6b 65 79 29 20 ay_keys($this->config).as.$key).
72b20 7b 0a 24 61 6c 6c 5b 27 63 6f 6e 66 69 67 27 5d 5b 24 6b 65 79 5d 20 3d 20 24 74 68 69 73 2d 3e {.$all['config'][$key].=.$this->
72b40 67 65 74 28 24 6b 65 79 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 61 6c 6c 3b 0a 7d 0a 0a 70 75 get($key);.}..return.$all;.}..pu
72b60 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 61 77 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 blic.function.raw().{.return.arr
72b80 61 79 28 0a 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 20 3d 3e 20 24 74 68 69 73 2d 3e 67 65 74 ay(.'repositories'.=>.$this->get
72ba0 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 2c 0a 27 63 6f 6e 66 69 67 27 20 3d 3e 20 24 74 68 69 Repositories(),.'config'.=>.$thi
72bc0 73 2d 3e 63 6f 6e 66 69 67 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 s->config,.);.}........public.fu
72be0 6e 63 74 69 6f 6e 20 68 61 73 28 24 6b 65 79 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f nction.has($key).{.return.array_
72c00 6b 65 79 5f 65 78 69 73 74 73 28 24 6b 65 79 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 3b key_exists($key,.$this->config);
72c20 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 72 6f 63 65 .}........private.function.proce
72c40 73 73 28 24 76 61 6c 75 65 29 0a 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 24 74 68 69 73 3b 0a 0a 69 ss($value).{.$config.=.$this;..i
72c60 66 20 28 21 69 73 5f 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 f.(!is_string($value)).{.return.
72c80 24 76 61 6c 75 65 3b 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 $value;.}..return.preg_replace_c
72ca0 61 6c 6c 62 61 63 6b 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 allback('#\{\$(.+)\}#',.function
72cc0 20 28 24 6d 61 74 63 68 29 20 75 73 65 20 28 24 63 6f 6e 66 69 67 29 20 7b 0a 72 65 74 75 72 6e .($match).use.($config).{.return
72ce0 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 7d 2c 20 24 76 61 .$config->get($match[1]);.},.$va
72d00 6c 75 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 lue);.}.}.<?php............names
72d20 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 6f pace.Composer\Script;..use.Compo
72d40 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 4f ser\Composer;.use.Composer\IO\IO
72d60 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 76 65 6e 74 0a 7b 0a 0a Interface;.......class.Event.{..
72d80 0a 0a 70 72 69 76 61 74 65 20 24 6e 61 6d 65 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6f ..private.$name;.....private.$co
72da0 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 70 72 69 mposer;.....private.$io;.....pri
72dc0 76 61 74 65 20 24 64 65 76 4d 6f 64 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 vate.$devMode;..........public.f
72de0 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 43 6f 6d 70 6f unction.__construct($name,.Compo
72e00 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,.
72e20 24 64 65 76 4d 6f 64 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 61 6d 65 20 $devMode.=.false).{.$this->name.
72e40 3d 20 24 6e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 20 3d 20 24 63 6f 6d 70 =.$name;.$this->composer.=.$comp
72e60 6f 73 65 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 oser;.$this->io.=.$io;.$this->de
72e80 76 4d 6f 64 65 20 3d 20 24 64 65 76 4d 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 vMode.=.$devMode;.}.......public
72ea0 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 24 74 68 .function.getName().{.return.$th
72ec0 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 63 74 69 6f is->name;.}.......public.functio
72ee0 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->
72f00 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
72f20 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;.}.
72f40 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(
72f60 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 7d 0a 3c ).{.return.$this->devMode;.}.}.<
72f80 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
72fa0 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 45 76 er\Script;........class.ScriptEv
72fc0 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 4c 5f ents.{........const.PRE_INSTALL_
72fe0 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 0a 0a CMD.=.'pre-install-cmd';........
73000 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 74 2d .const.POST_INSTALL_CMD.=.'post-
73020 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 45 5f install-cmd';.........const.PRE_
73040 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 0a 0a UPDATE_CMD.=.'pre-update-cmd';..
73060 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 20 27 .......const.POST_UPDATE_CMD.=.'
73080 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 74 20 post-update-cmd';.........const.
730a0 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 6d 64 PRE_STATUS_CMD.=.'pre-status-cmd
730c0 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 4d 44 ';.........const.POST_STATUS_CMD
730e0 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 63 6f .=.'post-status-cmd';.........co
73100 6e 73 74 20 50 52 45 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 nst.PRE_PACKAGE_INSTALL.=.'pre-p
73120 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 63 6f 6e 73 74 20 50 ackage-install';.........const.P
73140 4f 53 54 5f 50 41 43 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 OST_PACKAGE_INSTALL.=.'post-pack
73160 61 67 65 2d 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 52 45 5f age-install';.........const.PRE_
73180 50 41 43 4b 41 47 45 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 PACKAGE_UPDATE.=.'pre-package-up
731a0 64 61 74 65 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 4b 41 47 date';.........const.POST_PACKAG
731c0 45 5f 55 50 44 41 54 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 E_UPDATE.=.'post-package-update'
731e0 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 5f 55 4e 49 4e ;.........const.PRE_PACKAGE_UNIN
73200 53 54 41 4c 4c 20 3d 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 STALL.=.'pre-package-uninstall';
73220 0a 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 4e 49 4e .........const.POST_PACKAGE_UNIN
73240 53 54 41 4c 4c 20 3d 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 STALL.=.'post-package-uninstall'
73260 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 52 45 5f 41 55 54 4f 4c 4f 41 44 5f 44 55 4d ;.........const.PRE_AUTOLOAD_DUM
73280 50 20 3d 20 27 70 72 65 2d 61 75 74 6f 6c 6f 61 64 2d 64 75 6d 70 27 3b 0a 0a 0a 0a 0a 0a 0a 0a P.=.'pre-autoload-dump';........
732a0 0a 63 6f 6e 73 74 20 50 4f 53 54 5f 41 55 54 4f 4c 4f 41 44 5f 44 55 4d 50 20 3d 20 27 70 6f 73 .const.POST_AUTOLOAD_DUMP.=.'pos
732c0 74 2d 61 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 t-autoload-dump';.........const.
732e0 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 20 3d 20 27 70 6f 73 POST_ROOT_PACKAGE_INSTALL.=.'pos
73300 74 2d 72 6f 6f 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 t-root-package-install';........
73320 0a 0a 63 6f 6e 73 74 20 50 4f 53 54 5f 43 52 45 41 54 45 5f 50 52 4f 4a 45 43 54 5f 43 4d 44 20 ..const.POST_CREATE_PROJECT_CMD.
73340 3d 20 27 70 6f 73 74 2d 63 72 65 61 74 65 2d 70 72 6f 6a 65 63 74 2d 63 6d 64 27 3b 0a 0a 7d 0a =.'post-create-project-cmd';..}.
73360 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
73380 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 43 6f 6d 70 6f 73 ser\Script;..use.Composer\Compos
733a0 65 72 3b 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 er;.......class.CommandEvent.ext
733c0 65 6e 64 73 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 ends.Event.{.}.<?php............
733e0 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 0a 75 73 65 20 namespace.Composer\Script;..use.
73400 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 72 5c Composer\Composer;.use.Composer\
73420 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 44 65 70 IO\IOInterface;.use.Composer\Dep
73440 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 4f 70 65 72 61 74 endencyResolver\Operation\Operat
73460 69 6f 6e 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 61 63 6b 61 67 ionInterface;.......class.Packag
73480 65 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 eEvent.extends.Event.{....privat
734a0 65 20 24 6f 70 65 72 61 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 e.$operation;...........public.f
734c0 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 43 6f 6d 70 6f unction.__construct($name,.Compo
734e0 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,.
73500 24 64 65 76 4d 6f 64 65 2c 20 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 20 24 6f 70 $devMode,.OperationInterface.$op
73520 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 28 24 eration).{.parent::__construct($
73540 6e 61 6d 65 2c 20 24 63 6f 6d 70 6f 73 65 72 2c 20 24 69 6f 2c 20 24 64 65 76 4d 6f 64 65 29 3b name,.$composer,.$io,.$devMode);
73560 0a 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 .$this->operation.=.$operation;.
73580 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
735a0 74 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 tion().{.return.$this->operation
735c0 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
735e0 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 6f 73 65 72 5c .Composer\Script;..use.Composer\
73600 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 6d IO\IOInterface;.use.Composer\Com
73620 70 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 poser;.use.Composer\DependencyRe
73640 73 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 solver\Operation\OperationInterf
73660 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 6f 63 65 73 73 45 78 ace;.use.Composer\Util\ProcessEx
73680 65 63 75 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 76 65 6e 74 ecutor;..............class.Event
736a0 44 69 73 70 61 74 63 68 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6d 70 6f 73 65 72 Dispatcher.{.protected.$composer
736c0 3b 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 6c 6f 61 64 ;.protected.$io;.protected.$load
736e0 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 63 65 73 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a er;.protected.$process;.........
73700 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 43 6f 6d 70 public.function.__construct(Comp
73720 6f 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 oser.$composer,.IOInterface.$io,
73740 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 20 6e 75 6c 6c .ProcessExecutor.$process.=.null
73760 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 3b ).{.$this->composer.=.$composer;
73780 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 6f 63 65 73 73 .$this->io.=.$io;.$this->process
737a0 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 74 .=.$process.?:.new.ProcessExecut
737c0 6f 72 28 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 64 or();.}........public.function.d
737e0 69 73 70 61 74 63 68 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 ispatch($eventName,.Event.$event
73800 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 20 24 65 76 65 6e 74 29 20 7b .=.null).{.if.(null.==.$event).{
73820 0a 24 65 76 65 6e 74 20 3d 20 6e 65 77 20 45 76 65 6e 74 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 .$event.=.new.Event($eventName,.
73840 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 29 3b 0a 7d 0a 0a $this->composer,.$this->io);.}..
73860 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 7d 0a 0a 0a 0a $this->doDispatch($event);.}....
73880 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 50 61 63 .....public.function.dispatchPac
738a0 6b 61 67 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 kageEvent($eventName,.$devMode,.
738c0 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 20 24 6f 70 65 72 61 74 69 6f 6e 29 0a 7b OperationInterface.$operation).{
738e0 0a 24 74 68 69 73 2d 3e 64 6f 44 69 73 70 61 74 63 68 28 6e 65 77 20 50 61 63 6b 61 67 65 45 76 .$this->doDispatch(new.PackageEv
73900 65 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 ent($eventName,.$this->composer,
73920 20 24 74 68 69 73 2d 3e 69 6f 2c 20 24 64 65 76 4d 6f 64 65 2c 20 24 6f 70 65 72 61 74 69 6f 6e .$this->io,.$devMode,.$operation
73940 29 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 64 69 73 ));.}........public.function.dis
73960 70 61 74 63 68 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 64 patchCommandEvent($eventName,.$d
73980 65 76 4d 6f 64 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 6f 44 69 73 70 61 74 63 68 28 6e 65 77 20 evMode).{.$this->doDispatch(new.
739a0 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 74 68 69 73 2d 3e CommandEvent($eventName,.$this->
739c0 63 6f 6d 70 6f 73 65 72 2c 20 24 74 68 69 73 2d 3e 69 6f 2c 20 24 64 65 76 4d 6f 64 65 29 29 3b composer,.$this->io,.$devMode));
739e0 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 20 64 6f .}.........protected.function.do
73a00 44 69 73 70 61 74 63 68 28 45 76 65 6e 74 20 24 65 76 65 6e 74 29 0a 7b 0a 24 6c 69 73 74 65 6e Dispatch(Event.$event).{.$listen
73a20 65 72 73 20 3d 20 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 ers.=.$this->getListeners($event
73a40 29 3b 0a 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 6c );..foreach.($listeners.as.$call
73a60 61 62 6c 65 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 50 68 70 53 63 72 69 70 74 28 24 able).{.if.($this->isPhpScript($
73a80 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 73 74 72 callable)).{.$className.=.substr
73aa0 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 6c 65 2c ($callable,.0,.strpos($callable,
73ac0 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 28 24 63 .'::'));.$methodName.=.substr($c
73ae0 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 3a 27 29 allable,.strpos($callable,.'::')
73b00 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 61 73 73 .+.2);..if.(!class_exists($class
73b20 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 28 27 3c 77 61 72 6e Name)).{.$this->io->write('<warn
73b40 69 6e 67 3e 43 6c 61 73 73 20 27 2e 24 63 6c 61 73 73 4e 61 6d 65 2e 27 20 69 73 20 6e 6f 74 20 ing>Class.'.$className.'.is.not.
73b60 61 75 74 6f 6c 6f 61 64 61 62 6c 65 2c 20 63 61 6e 20 6e 6f 74 20 63 61 6c 6c 20 27 2e 24 65 76 autoloadable,.can.not.call.'.$ev
73b80 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 20 73 63 72 69 70 74 3c 2f 77 61 72 6e 69 6e 67 ent->getName().'.script</warning
73ba0 3e 27 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 62 6c >');.continue;.}.if.(!is_callabl
73bc0 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 74 65 e($callable)).{.$this->io->write
73be0 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 61 62 6c 65 2e 27 20 ('<warning>Method.'.$callable.'.
73c00 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 63 61 6c 6c 20 27 2e is.not.callable,.can.not.call.'.
73c20 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 2f 77 61 72 6e $event->getName().'.script</warn
73c40 69 6e 67 3e 27 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 74 68 69 73 ing>');.continue;.}..try.{.$this
73c60 2d 3e 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 ->executeEventPhpScript($classNa
73c80 6d 65 2c 20 24 6d 65 74 68 6f 64 4e 61 6d 65 2c 20 24 65 76 65 6e 74 29 3b 0a 7d 20 63 61 74 63 me,.$methodName,.$event);.}.catc
73ca0 68 20 28 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 h.(\Exception.$e).{.$message.=."
73cc0 53 63 72 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 Script.%s.handling.the.%s.event.
73ce0 74 65 72 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 terminated.with.an.exception";.$
73d00 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 3c 65 72 72 6f 72 3e 27 2e 73 70 72 69 6e 74 this->io->write('<error>'.sprint
73d20 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 3e 67 f($message,.$callable,.$event->g
73d40 65 74 4e 61 6d 65 28 29 29 2e 27 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 74 68 72 6f 77 20 24 65 3b etName()).'</error>');.throw.$e;
73d60 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 30 20 21 3d 3d 20 28 24 65 78 69 74 43 6f 64 65 .}.}.else.{.if.(0.!==.($exitCode
73d80 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 63 61 6c 6c .=.$this->process->execute($call
73da0 61 62 6c 65 29 29 29 20 7b 0a 24 65 76 65 6e 74 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 able))).{.$event->getIO()->write
73dc0 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 20 68 61 6e 64 6c (sprintf('<error>Script.%s.handl
73de0 69 6e 67 20 74 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 61 ing.the.%s.event.returned.with.a
73e00 6e 20 65 72 72 6f 72 3c 2f 65 72 72 6f 72 3e 27 2c 20 24 63 61 6c 6c 61 62 6c 65 2c 20 24 65 76 n.error</error>',.$callable,.$ev
73e20 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 3b 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 ent->getName()));..throw.new.\Ru
73e40 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 45 72 72 6f 72 20 4f 75 74 70 75 74 3a 20 27 2e ntimeException('Error.Output:.'.
73e60 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()
73e80 2c 20 24 65 78 69 74 43 6f 64 65 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 ,.$exitCode);.}.}.}.}.......prot
73ea0 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 45 76 65 6e 74 50 68 70 53 63 ected.function.executeEventPhpSc
73ec0 72 69 70 74 28 24 63 6c 61 73 73 4e 61 6d 65 2c 20 24 6d 65 74 68 6f 64 4e 61 6d 65 2c 20 45 76 ript($className,.$methodName,.Ev
73ee0 65 6e 74 20 24 65 76 65 6e 74 29 0a 7b 0a 24 63 6c 61 73 73 4e 61 6d 65 3a 3a 24 6d 65 74 68 6f ent.$event).{.$className::$metho
73f00 64 4e 61 6d 65 28 24 65 76 65 6e 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 dName($event);.}......protected.
73f20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 69 73 74 65 6e 65 72 73 28 45 76 65 6e 74 20 24 65 76 65 function.getListeners(Event.$eve
73f40 6e 74 29 0a 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 nt).{.$package.=.$this->composer
73f60 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 24 73 63 72 69 70 74 73 20 3d 20 24 70 61 63 6b ->getPackage();.$scripts.=.$pack
73f80 61 67 65 2d 3e 67 65 74 53 63 72 69 70 74 73 28 29 3b 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 73 age->getScripts();..if.(empty($s
73fa0 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 29 29 20 7b 0a 72 65 cripts[$event->getName()])).{.re
73fc0 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 6f 61 64 turn.array();.}..if.($this->load
73fe0 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 75 6e 72 65 67 69 73 74 65 72 28 er).{.$this->loader->unregister(
74000 29 3b 0a 7d 0a 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 );.}..$generator.=.$this->compos
74020 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 29 3b 0a 24 70 61 63 er->getAutoloadGenerator();.$pac
74040 6b 61 67 65 73 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 70 6f kages.=.$this->composer->getRepo
74060 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
74080 6f 72 79 28 29 2d 3e 67 65 74 43 61 6e 6f 6e 69 63 61 6c 50 61 63 6b 61 67 65 73 28 29 3b 0a 24 ory()->getCanonicalPackages();.$
740a0 70 61 63 6b 61 67 65 4d 61 70 20 3d 20 24 67 65 6e 65 72 61 74 6f 72 2d 3e 62 75 69 6c 64 50 61 packageMap.=.$generator->buildPa
740c0 63 6b 61 67 65 4d 61 70 28 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 49 6e 73 ckageMap($this->composer->getIns
740e0 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 2c 20 24 70 61 63 6b 61 67 65 2c 20 24 70 tallationManager(),.$package,.$p
74100 61 63 6b 61 67 65 73 29 3b 0a 24 6d 61 70 20 3d 20 24 67 65 6e 65 72 61 74 6f 72 2d 3e 70 61 72 ackages);.$map.=.$generator->par
74120 73 65 41 75 74 6f 6c 6f 61 64 73 28 24 70 61 63 6b 61 67 65 4d 61 70 2c 20 24 70 61 63 6b 61 67 seAutoloads($packageMap,.$packag
74140 65 29 3b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 20 3d 20 24 67 65 6e 65 72 61 74 6f 72 2d 3e e);.$this->loader.=.$generator->
74160 63 72 65 61 74 65 4c 6f 61 64 65 72 28 24 6d 61 70 29 3b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 createLoader($map);.$this->loade
74180 72 2d 3e 72 65 67 69 73 74 65 72 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 73 63 72 69 70 74 73 5b r->register();..return.$scripts[
741a0 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f $event->getName()];.}........pro
741c0 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 73 50 68 70 53 63 72 69 70 74 28 24 63 61 6c tected.function.isPhpScript($cal
741e0 6c 61 62 6c 65 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 lable).{.return.false.===.strpos
74200 28 24 63 61 6c 6c 61 62 6c 65 2c 20 27 20 27 29 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 ($callable,.'.').&&.false.!==.st
74220 72 70 6f 73 28 24 63 61 6c 6c 61 62 6c 65 2c 20 27 3a 3a 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 rpos($callable,.'::');.}.}.<?php
74240 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
74260 6e 73 74 61 6c 6c 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 nstaller;..use.Composer\Reposito
74280 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 63 65 3b ry\InstalledRepositoryInterface;
742a0 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
742c0 65 72 66 61 63 65 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 erface;.........class.NoopInstal
742e0 6c 65 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 ler.implements.InstallerInterfac
74300 65 0a 7b 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 72 74 73 28 e.{....public.function.supports(
74320 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 0a 7d 0a 0a $packageType).{.return.true;.}..
74340 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 65 64 28 49 ...public.function.isInstalled(I
74360 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 65 70 nstalledRepositoryInterface.$rep
74380 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 7b 0a o,.PackageInterface.$package).{.
743a0 72 65 74 75 72 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 return.$repo->hasPackage($packag
743c0 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 69 6e 73 74 61 6c e);.}.....public.function.instal
743e0 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.$
74400 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)
74420 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 70 61 63 6b 61 .{.if.(!$repo->hasPackage($packa
74440 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.$
74460 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
74480 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
744a0 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
744c0 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
744e0 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
74500 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
74520 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
74540 61 6c 6c 65 64 3a 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 alled:.'.$initial);.}..$repo->re
74560 6d 6f 76 65 50 61 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 movePackage($initial);.if.(!$rep
74580 6f 2d 3e 68 61 73 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 o->hasPackage($target)).{.$repo-
745a0 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 0a 7d 0a 7d 0a >addPackage(clone.$target);.}.}.
745c0 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 28 49 6e ....public.function.uninstall(In
745e0 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 65 70 6f stalledRepositoryInterface.$repo
74600 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 7b 0a 69 ,.PackageInterface.$package).{.i
74620 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 65 29 29 f.(!$repo->hasPackage($package))
74640 20 7b 0a 0a 20 72 65 74 75 72 6e 3b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 .{...return;.throw.new.\InvalidA
74660 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 69 73 20 6e 6f 74 rgumentException('Package.is.not
74680 20 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 24 72 65 70 6f .installed:.'.$package);.}.$repo
746a0 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 0a ->removePackage($package);.}....
746c0 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 74 68 28 .public.function.getInstallPath(
746e0 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 61 PackageInterface.$package).{.$ta
74700 72 67 65 74 44 69 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 rgetDir.=.$package->getTargetDir
74720 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e ();..return.$package->getPrettyN
74740 61 6d 65 28 29 20 2e 20 28 24 74 61 72 67 65 74 44 69 72 20 3f 20 27 2f 27 2e 24 74 61 72 67 65 ame()...($targetDir.?.'/'.$targe
74760 74 44 69 72 20 3a 20 27 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a tDir.:.'');.}.}.<?php...........
74780 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 65 72 3b 0a 0a .namespace.Composer\Installer;..
747a0 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 6c 65 use.Composer\Repository\Installe
747c0 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 6f 73 dRepositoryInterface;.use.Compos
747e0 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 0a er\Package\PackageInterface;....
74800 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 72 20 69 6d ...class.MetapackageInstaller.im
74820 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.{...
74840 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
74860 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.==
74880 3d 20 27 6d 65 74 61 70 61 63 6b 61 67 65 27 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 =.'metapackage';.}.....public.fu
748a0 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 65 64 52 65 70 6f nction.isInstalled(InstalledRepo
748c0 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
748e0 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 72 65 70 6f terface.$package).{.return.$repo
74900 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 0a 0a 0a 0a 70 75 ->hasPackage($package);.}.....pu
74920 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 61 6c 6c 65 64 52 blic.function.install(InstalledR
74940 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 61 67 epositoryInterface.$repo,.Packag
74960 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 72 65 70 6f 2d 3e 61 64 eInterface.$package).{.$repo->ad
74980 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 0a 0a 0a 0a 0a dPackage(clone.$package);.}.....
749a0 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 6c 65 64 public.function.update(Installed
749c0 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 61 RepositoryInterface.$repo,.Packa
749e0 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 49 6e 74 geInterface.$initial,.PackageInt
74a00 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 70 6f 2d 3e 68 61 erface.$target).{.if.(!$repo->ha
74a20 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 77 20 6e 65 77 20 sPackage($initial)).{.throw.new.
74a40 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 61 \InvalidArgumentException('Packa
74a60 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 69 74 69 61 6c 29 ge.is.not.installed:.'.$initial)
74a80 3b 0a 7d 0a 0a 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 ;.}..$repo->removePackage($initi
74aa0 61 6c 29 3b 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 al);.$repo->addPackage(clone.$ta
74ac0 72 67 65 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 75 6e 69 rget);.}.....public.function.uni
74ae0 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
74b00 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
74b20 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($
74b40 70 61 63 6b 61 67 65 29 29 20 7b 0a 0a 20 72 65 74 75 72 6e 3b 0a 74 68 72 6f 77 20 6e 65 77 20 package)).{...return;.throw.new.
74b60 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 61 \InvalidArgumentException('Packa
74b80 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 61 63 6b 61 67 65 29 ge.is.not.installed:.'.$package)
74ba0 3b 0a 7d 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 ;.}..$repo->removePackage($packa
74bc0 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 20 67 65 74 49 6e ge);.}.....public.function.getIn
74be0 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 20 24 70 61 63 6b stallPath(PackageInterface.$pack
74c00 61 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 age).{.return.'';.}.}.<?php.....
74c20 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 6c .......namespace.Composer\Instal
74c40 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 6e 74 65 72 66 61 63 ler;..use.Composer\IO\IOInterfac
74c60 65 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 e;.use.Composer\Composer;.use.Co
74c80 6d 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 mposer\Downloader\PearPackageExt
74ca0 72 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 ractor;.use.Composer\Repository\
74cc0 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 75 73 InstalledRepositoryInterface;.us
74ce0 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
74d00 61 63 65 3b 0a 0a 0a 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 ace;........class.PearInstaller.
74d20 65 78 74 65 6e 64 73 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 extends.LibraryInstaller.{......
74d40 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 4f ..public.function.__construct(IO
74d60 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
74d80 72 2c 20 24 74 79 70 65 20 3d 20 27 70 65 61 72 2d 6c 69 62 72 61 72 79 27 29 0a 7b 0a 70 61 72 r,.$type.=.'pear-library').{.par
74da0 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 6d 70 6f 73 65 72 2c ent::__construct($io,.$composer,
74dc0 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 63 74 69 6f 6e 20 75 .$type);.}.....public.function.u
74de0 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 61 pdate(InstalledRepositoryInterfa
74e00 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 74 ce.$repo,.PackageInterface.$init
74e20 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 0a 7b ial,.PackageInterface.$target).{
74e40 0a 24 74 68 69 73 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 .$this->uninstall($repo,.$initia
74e60 6c 29 3b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 28 24 72 65 70 6f 2c 20 24 74 61 72 67 65 l);.$this->install($repo,.$targe
74e80 74 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 6e 73 74 61 6c t);.}..protected.function.instal
74ea0 6c 43 6f 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 lCode(PackageInterface.$package)
74ec0 0a 7b 0a 70 61 72 65 6e 74 3a 3a 69 6e 73 74 61 6c 6c 43 6f 64 65 28 24 70 61 63 6b 61 67 65 29 .{.parent::installCode($package)
74ee0 3b 0a 70 61 72 65 6e 74 3a 3a 69 6e 69 74 69 61 6c 69 7a 65 42 69 6e 44 69 72 28 29 3b 0a 0a 24 ;.parent::initializeBinDir();..$
74f00 69 73 57 69 6e 64 6f 77 73 20 3d 20 64 65 66 69 6e 65 64 28 27 50 48 50 5f 57 49 4e 44 4f 57 53 isWindows.=.defined('PHP_WINDOWS
74f20 5f 56 45 52 53 49 4f 4e 5f 42 55 49 4c 44 27 29 3b 0a 24 70 68 70 5f 62 69 6e 20 3d 20 24 74 68 _VERSION_BUILD');.$php_bin.=.$th
74f40 69 73 2d 3e 62 69 6e 44 69 72 20 2e 20 28 24 69 73 57 69 6e 64 6f 77 73 20 3f 20 27 2f 63 6f 6d is->binDir...($isWindows.?.'/com
74f60 70 6f 73 65 72 2d 70 68 70 2e 62 61 74 27 20 3a 20 27 2f 63 6f 6d 70 6f 73 65 72 2d 70 68 70 27 poser-php.bat'.:.'/composer-php'
74f80 29 3b 0a 0a 69 66 20 28 21 24 69 73 57 69 6e 64 6f 77 73 29 20 7b 0a 24 70 68 70 5f 62 69 6e 20 );..if.(!$isWindows).{.$php_bin.
74fa0 3d 20 27 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 27 20 2e 20 24 70 68 70 5f 62 69 6e 3b 0a 7d 0a =.'/usr/bin/env.'...$php_bin;.}.
74fc0 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 49 6e 73 74 61 6c .$installPath.=.$this->getInstal
74fe0 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 76 61 72 73 20 3d 20 61 72 72 61 79 28 0a lPath($package);.$vars.=.array(.
75000 27 6f 73 27 20 3d 3e 20 24 69 73 57 69 6e 64 6f 77 73 20 3f 20 27 77 69 6e 64 6f 77 73 27 20 3a 'os'.=>.$isWindows.?.'windows'.:
75020 20 27 6c 69 6e 75 78 27 2c 0a 27 70 68 70 5f 62 69 6e 27 20 3d 3e 20 24 70 68 70 5f 62 69 6e 2c .'linux',.'php_bin'.=>.$php_bin,
75040 0a 27 70 65 61 72 5f 70 68 70 27 20 3d 3e 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 2c 0a 27 70 68 .'pear_php'.=>.$installPath,.'ph
75060 70 5f 64 69 72 27 20 3d 3e 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 2c 0a 27 62 69 6e 5f 64 69 72 p_dir'.=>.$installPath,.'bin_dir
75080 27 20 3d 3e 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 20 2e 20 27 2f 62 69 6e 27 2c 0a 27 64 61 74 '.=>.$installPath...'/bin',.'dat
750a0 61 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 64 61 74 61 27 a_dir'.=>.$installPath...'/data'
750c0 2c 0a 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 ,.'version'.=>.$package->getPret
750e0 74 79 56 65 72 73 69 6f 6e 28 29 2c 0a 29 3b 0a 0a 24 70 61 63 6b 61 67 65 41 72 63 68 69 76 65 tyVersion(),.);..$packageArchive
75100 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 70 61 63 6b 61 67 .=.$this->getInstallPath($packag
75120 65 29 2e 27 2f 27 2e 70 61 74 68 69 6e 66 6f 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 e).'/'.pathinfo($package->getDis
75140 74 55 72 6c 28 29 2c 20 50 41 54 48 49 4e 46 4f 5f 42 41 53 45 4e 41 4d 45 29 3b 0a 24 70 65 61 tUrl(),.PATHINFO_BASENAME);.$pea
75160 72 45 78 74 72 61 63 74 6f 72 20 3d 20 6e 65 77 20 50 65 61 72 50 61 63 6b 61 67 65 45 78 74 72 rExtractor.=.new.PearPackageExtr
75180 61 63 74 6f 72 28 24 70 61 63 6b 61 67 65 41 72 63 68 69 76 65 29 3b 0a 24 70 65 61 72 45 78 74 actor($packageArchive);.$pearExt
751a0 72 61 63 74 6f 72 2d 3e 65 78 74 72 61 63 74 54 6f 28 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 ractor->extractTo($this->getInst
751c0 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 2c 20 61 72 72 61 79 28 27 70 68 70 27 20 3d allPath($package),.array('php'.=
751e0 3e 20 27 2f 27 2c 20 27 73 63 72 69 70 74 27 20 3d 3e 20 27 2f 62 69 6e 27 2c 20 27 64 61 74 61 >.'/',.'script'.=>.'/bin',.'data
75200 27 20 3d 3e 20 27 2f 64 61 74 61 27 29 2c 20 24 76 61 72 73 29 3b 0a 0a 69 66 20 28 24 74 68 69 '.=>.'/data'),.$vars);..if.($thi
75220 73 2d 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 s->io->isVerbose()).{.$this->io-
75240 3e 77 72 69 74 65 28 27 20 20 20 20 43 6c 65 61 6e 69 6e 67 20 75 70 27 29 3b 0a 7d 0a 75 6e 6c >write('....Cleaning.up');.}.unl
75260 69 6e 6b 28 24 70 61 63 6b 61 67 65 41 72 63 68 69 76 65 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 ink($packageArchive);.}..protect
75280 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 67 65 49 ed.function.getBinaries(PackageI
752a0 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 73 50 61 nterface.$package).{.$binariesPa
752c0 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 70 61 63 6b th.=.$this->getInstallPath($pack
752e0 61 67 65 29 20 2e 20 27 2f 62 69 6e 2f 27 3b 0a 24 62 69 6e 61 72 69 65 73 20 3d 20 61 72 72 61 age)...'/bin/';.$binaries.=.arra
75300 79 28 29 3b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 62 69 6e 61 72 69 65 73 50 61 y();.if.(file_exists($binariesPa
75320 74 68 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 6e 65 77 20 5c 46 69 6c 65 73 79 73 74 65 6d 49 th)).{.foreach.(new.\FilesystemI
75340 74 65 72 61 74 6f 72 28 24 62 69 6e 61 72 69 65 73 50 61 74 68 2c 20 5c 46 69 6c 65 73 79 73 74 terator($binariesPath,.\Filesyst
75360 65 6d 49 74 65 72 61 74 6f 72 3a 3a 4b 45 59 5f 41 53 5f 46 49 4c 45 4e 41 4d 45 20 7c 20 5c 46 emIterator::KEY_AS_FILENAME.|.\F
75380 69 6c 65 73 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 46 49 ilesystemIterator::CURRENT_AS_FI
753a0 4c 45 49 4e 46 4f 29 20 61 73 20 24 66 69 6c 65 4e 61 6d 65 20 3d 3e 20 24 76 61 6c 75 65 29 20 LEINFO).as.$fileName.=>.$value).
753c0 7b 0a 69 66 20 28 21 24 76 61 6c 75 65 2d 3e 69 73 44 69 72 28 29 29 20 7b 0a 24 62 69 6e 61 72 {.if.(!$value->isDir()).{.$binar
753e0 69 65 73 5b 5d 20 3d 20 27 62 69 6e 2f 27 2e 24 66 69 6c 65 4e 61 6d 65 3b 0a 7d 0a 7d 0a 7d 0a ies[].=.'bin/'.$fileName;.}.}.}.
75400 0a 72 65 74 75 72 6e 20 24 62 69 6e 61 72 69 65 73 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 .return.$binaries;.}..protected.
75420 66 75 6e 63 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 70 61 function.initializeBinDir().{.pa
75440 72 65 6e 74 3a 3a 69 6e 69 74 69 61 6c 69 7a 65 42 69 6e 44 69 72 28 29 3b 0a 66 69 6c 65 5f 70 rent::initializeBinDir();.file_p
75460 75 74 5f 63 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 ut_contents($this->binDir.'/comp
75480 6f 73 65 72 2d 70 68 70 27 2c 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 55 6e 69 78 79 50 oser-php',.$this->generateUnixyP
754a0 68 70 50 72 6f 78 79 43 6f 64 65 28 29 29 3b 0a 63 68 6d 6f 64 28 24 74 68 69 73 2d 3e 62 69 6e hpProxyCode());.chmod($this->bin
754c0 44 69 72 2e 27 2f 63 6f 6d 70 6f 73 65 72 2d 70 68 70 27 2c 20 30 37 37 37 29 3b 0a 66 69 6c 65 Dir.'/composer-php',.0777);.file
754e0 5f 70 75 74 5f 63 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 _put_contents($this->binDir.'/co
75500 6d 70 6f 73 65 72 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 mposer-php.bat',.$this->generate
75520 57 69 6e 64 6f 77 73 50 68 70 50 72 6f 78 79 43 6f 64 65 28 29 29 3b 0a 63 68 6d 6f 64 28 24 74 WindowsPhpProxyCode());.chmod($t
75540 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 70 2e 62 61 74 27 2c his->binDir.'/composer-php.bat',
75560 20 30 37 37 37 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 .0777);.}..protected.function.ge
75580 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 2c 20 24 6c 69 nerateWindowsProxyCode($bin,.$li
755a0 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 6c 65 73 79 73 74 nk).{.$binPath.=.$this->filesyst
755c0 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 2c 20 24 62 69 6e em->findShortestPath($link,.$bin
755e0 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 62 69 6e 2c 20 2d );.if.('.bat'.===.substr($bin,.-
75600 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 65 6c 73 65 20 7b 4)).{.$caller.=.'call';.}.else.{
75620 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 29 3b 0a 24 6c 69 .$handle.=.fopen($bin,.'r');.$li
75640 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 65 28 24 68 61 6e ne.=.fgets($handle);.fclose($han
75660 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 2f 28 3f 3a 75 73 dle);.if.(preg_match('{^#!/(?:us
75680 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 29 24 7d 6d 27 2c r/bin/env.)?(?:[^/]+/)*(.+)$}m',
756a0 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 20 3d 20 74 72 69 .$line,.$match)).{.$caller.=.tri
756c0 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 6c 6c 65 72 20 3d m($match[1]);.}.else.{.$caller.=
756e0 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 20 27 70 68 70 27 .'php';.}..if.($caller.===.'php'
75700 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 2e 0a 22 70 75 73 ).{.return."@echo.off\r\n".."pus
75720 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 0a 22 73 65 74 20 hd..\r\n".."cd.%~dp0\r\n".."set.
75740 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 68 70 2e 62 61 74 PHP_PROXY=%CD%\\composer-php.bat
75760 5c 72 5c 6e 22 2e 0a 22 63 64 20 22 2e 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 64 69 72 6e \r\n".."cd.".escapeshellarg(dirn
75780 61 6d 65 28 24 62 69 6e 50 61 74 68 29 29 2e 22 5c 72 5c 6e 22 2e 0a 22 73 65 74 20 42 49 4e 5f ame($binPath))."\r\n".."set.BIN_
757a0 54 41 52 47 45 54 3d 25 43 44 25 5c 5c 22 2e 62 61 73 65 6e 61 6d 65 28 24 62 69 6e 50 61 74 68 TARGET=%CD%\\".basename($binPath
757c0 29 2e 22 5c 72 5c 6e 22 2e 0a 22 70 6f 70 64 5c 72 5c 6e 22 2e 0a 22 25 50 48 50 5f 50 52 4f 58 )."\r\n".."popd\r\n".."%PHP_PROX
757e0 59 25 20 5c 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 7d Y%.\"%BIN_TARGET%\".%*\r\n";.}.}
75800 0a 0a 72 65 74 75 72 6e 20 22 40 65 63 68 6f 20 6f 66 66 5c 72 5c 6e 22 2e 0a 22 70 75 73 68 64 ..return."@echo.off\r\n".."pushd
75820 20 2e 5c 72 5c 6e 22 2e 0a 22 63 64 20 25 7e 64 70 30 5c 72 5c 6e 22 2e 0a 22 63 64 20 22 2e 65 ..\r\n".."cd.%~dp0\r\n".."cd.".e
75840 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 64 69 72 6e 61 6d 65 28 24 62 69 6e 50 61 74 68 29 29 scapeshellarg(dirname($binPath))
75860 2e 22 5c 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 ."\r\n".."set.BIN_TARGET=%CD%\\"
75880 2e 62 61 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 .basename($binPath)."\r\n".."pop
758a0 64 5c 72 5c 6e 22 2e 0a 24 63 61 6c 6c 65 72 2e 22 20 5c 22 25 42 49 4e 5f 54 41 52 47 45 54 25 d\r\n"..$caller.".\"%BIN_TARGET%
758c0 5c 22 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 74 69 6f 6e 20 \".%*\r\n";.}..private.function.
758e0 67 65 6e 65 72 61 74 65 57 69 6e 64 6f 77 73 50 68 70 50 72 6f 78 79 43 6f 64 65 28 29 0a 7b 0a generateWindowsPhpProxyCode().{.
75900 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 74 65 6d $binToVendor.=.$this->filesystem
75920 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 44 69 72 ->findShortestPath($this->binDir
75940 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 65 74 75 ,.$this->vendorDir,.true);..retu
75960 72 6e 0a 22 40 65 63 68 6f 20 6f 66 66 5c 72 5c 6e 22 20 2e 0a 22 73 65 74 6c 6f 63 61 6c 20 65 rn."@echo.off\r\n"..."setlocal.e
75980 6e 61 62 6c 65 64 65 6c 61 79 65 64 65 78 70 61 6e 73 69 6f 6e 5c 72 5c 6e 22 20 2e 0a 22 73 65 nabledelayedexpansion\r\n"..."se
759a0 74 20 42 49 4e 5f 44 49 52 3d 25 7e 64 70 30 5c 72 5c 6e 22 20 2e 0a 22 73 65 74 20 56 45 4e 44 t.BIN_DIR=%~dp0\r\n"..."set.VEND
759c0 4f 52 5f 44 49 52 3d 25 42 49 4e 5f 44 49 52 25 5c 5c 22 2e 24 62 69 6e 54 6f 56 65 6e 64 6f 72 OR_DIR=%BIN_DIR%\\".$binToVendor
759e0 2e 22 5c 72 5c 6e 22 20 2e 0a 22 73 65 74 20 44 49 52 53 3d 2e 5c 72 5c 6e 22 20 2e 0a 22 46 4f ."\r\n"..."set.DIRS=.\r\n"..."FO
75a00 52 20 2f 44 20 25 25 56 20 49 4e 20 28 25 56 45 4e 44 4f 52 5f 44 49 52 25 5c 5c 2a 29 20 44 4f R./D.%%V.IN.(%VENDOR_DIR%\\*).DO
75a20 20 28 5c 72 5c 6e 22 20 2e 0a 22 20 20 20 20 46 4f 52 20 2f 44 20 25 25 50 20 49 4e 20 28 25 25 .(\r\n"..."....FOR./D.%%P.IN.(%%
75a40 56 5c 5c 2a 29 20 44 4f 20 28 5c 72 5c 6e 22 20 2e 0a 22 20 20 20 20 20 20 20 20 73 65 74 20 44 V\\*).DO.(\r\n"..."........set.D
75a60 49 52 53 3d 21 44 49 52 53 21 3b 25 25 7e 66 50 5c 72 5c 6e 22 20 2e 0a 22 20 20 20 20 29 5c 72 IRS=!DIRS!;%%~fP\r\n"..."....)\r
75a80 5c 6e 22 20 2e 0a 22 29 5c 72 5c 6e 22 20 2e 0a 22 70 68 70 2e 65 78 65 20 2d 64 20 69 6e 63 6c \n"...")\r\n"..."php.exe.-d.incl
75aa0 75 64 65 5f 70 61 74 68 3d 21 44 49 52 53 21 20 25 2a 5c 72 5c 6e 22 3b 0a 7d 0a 0a 70 72 69 76 ude_path=!DIRS!.%*\r\n";.}..priv
75ac0 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 55 6e 69 78 79 50 68 70 50 72 6f ate.function.generateUnixyPhpPro
75ae0 78 79 43 6f 64 65 28 29 0a 7b 0a 24 62 69 6e 54 6f 56 65 6e 64 6f 72 20 3d 20 24 74 68 69 73 2d xyCode().{.$binToVendor.=.$this-
75b00 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 61 74 68 28 24 74 >filesystem->findShortestPath($t
75b20 68 69 73 2d 3e 62 69 6e 44 69 72 2c 20 24 74 68 69 73 2d 3e 76 65 6e 64 6f 72 44 69 72 2c 20 74 his->binDir,.$this->vendorDir,.t
75b40 72 75 65 29 3b 0a 0a 72 65 74 75 72 6e 0a 22 23 21 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 73 68 rue);..return."#!/usr/bin/env.sh
75b60 5c 6e 22 2e 0a 22 53 52 43 5f 44 49 52 3d 60 70 77 64 60 5c 6e 22 2e 0a 22 42 49 4e 5f 44 49 52 \n".."SRC_DIR=`pwd`\n".."BIN_DIR
75b80 3d 60 64 69 72 6e 61 6d 65 20 24 30 60 5c 6e 22 2e 0a 22 56 45 4e 44 4f 52 5f 44 49 52 3d 5c 24 =`dirname.$0`\n".."VENDOR_DIR=\$
75ba0 42 49 4e 5f 44 49 52 2f 22 2e 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 62 69 6e 54 6f 56 BIN_DIR/".escapeshellarg($binToV
75bc0 65 6e 64 6f 72 29 2e 22 5c 6e 22 2e 0a 22 44 49 52 53 3d 5c 22 5c 22 5c 6e 22 2e 0a 22 66 6f 72 endor)."\n".."DIRS=\"\"\n".."for
75be0 20 76 65 6e 64 6f 72 20 69 6e 20 5c 24 56 45 4e 44 4f 52 5f 44 49 52 2f 2a 3b 20 64 6f 5c 6e 22 .vendor.in.\$VENDOR_DIR/*;.do\n"
75c00 2e 0a 22 20 20 20 20 69 66 20 5b 20 2d 64 20 5c 22 5c 24 76 65 6e 64 6f 72 5c 22 20 5d 3b 20 74 .."....if.[.-d.\"\$vendor\".];.t
75c20 68 65 6e 5c 6e 22 2e 0a 22 20 20 20 20 20 20 20 20 66 6f 72 20 70 61 63 6b 61 67 65 20 69 6e 20 hen\n".."........for.package.in.
75c40 5c 24 76 65 6e 64 6f 72 2f 2a 3b 20 64 6f 5c 6e 22 2e 0a 22 20 20 20 20 20 20 20 20 20 20 20 20 \$vendor/*;.do\n".."............
75c60 69 66 20 5b 20 2d 64 20 5c 22 5c 24 70 61 63 6b 61 67 65 5c 22 20 5d 3b 20 74 68 65 6e 5c 6e 22 if.[.-d.\"\$package\".];.then\n"
75c80 2e 0a 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 49 52 53 3d 5c 22 5c 24 7b 44 49 52 .."................DIRS=\"\${DIR
75ca0 53 7d 3a 5c 24 7b 70 61 63 6b 61 67 65 7d 5c 22 5c 6e 22 2e 0a 22 20 20 20 20 20 20 20 20 20 20 S}:\${package}\"\n".."..........
75cc0 20 20 66 69 5c 6e 22 2e 0a 22 20 20 20 20 20 20 20 20 64 6f 6e 65 5c 6e 22 2e 0a 22 20 20 20 20 ..fi\n".."........done\n".."....
75ce0 66 69 5c 6e 22 2e 0a 22 64 6f 6e 65 5c 6e 22 2e 0a 22 70 68 70 20 2d 64 20 69 6e 63 6c 75 64 65 fi\n".."done\n".."php.-d.include
75d00 5f 70 61 74 68 3d 5c 22 2e 5c 24 44 49 52 53 5c 22 20 24 40 5c 6e 22 3b 0a 7d 0a 7d 0a 3c 3f 70 _path=\".\$DIRS\".$@\n";.}.}.<?p
75d20 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
75d40 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 61 67 \Installer;..use.Composer\Packag
75d60 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 6f 73 65 72 e\PackageInterface;.use.Composer
75d80 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 75 73 65 \Downloader\DownloadManager;.use
75da0 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 6c 65 64 52 65 .Composer\Repository\InstalledRe
75dc0 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 positoryInterface;........class.
75de0 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 6e 73 74 ProjectInstaller.implements.Inst
75e00 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 74 61 6c allerInterface.{.private.$instal
75e20 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 65 72 3b lPath;.private.$downloadManager;
75e40 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 69 ..public.function.__construct($i
75e60 6e 73 74 61 6c 6c 50 61 74 68 2c 20 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 20 24 64 6d 29 nstallPath,.DownloadManager.$dm)
75e80 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 50 61 74 68 20 3d 20 72 74 72 69 6d 28 73 74 .{.$this->installPath.=.rtrim(st
75ea0 72 74 72 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 2c 20 27 2f rtr($installPath,.'\\',.'/'),.'/
75ec0 27 29 2e 27 2f 27 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 ').'/';.$this->downloadManager.=
75ee0 20 24 64 6d 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 .$dm;.}........public.function.s
75f00 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 65 74 75 72 6e 20 74 upports($packageType).{.return.t
75f20 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 73 49 6e 73 rue;.}.....public.function.isIns
75f40 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
75f60 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
75f80 6b 61 67 65 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 kage).{.return.false;.}.....publ
75fa0 69 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 ic.function.install(InstalledRep
75fc0 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 61 67 65 49 ositoryInterface.$repo,.PackageI
75fe0 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 6c 6c 50 61 74 nterface.$package).{.$installPat
76000 68 20 3d 20 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 h.=.$this->installPath;.if.(file
76020 5f 65 78 69 73 74 73 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 29 20 26 26 20 28 63 6f 75 6e 74 28 _exists($installPath).&&.(count(
76040 67 6c 6f 62 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 2e 27 2a 27 29 29 20 7c 7c 20 28 63 6f 75 6e glob($installPath.'*')).||.(coun
76060 74 28 67 6c 6f 62 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 2e 27 2e 2a 27 29 29 20 3e 20 32 29 29 t(glob($installPath.'.*')).>.2))
76080 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
760a0 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 74 ception("Project.directory.$inst
760c0 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 21 allPath.is.not.empty.");.}.if.(!
760e0 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 69 is_dir($installPath)).{.mkdir($i
76100 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 73 nstallPath,.0777,.true);.}.$this
76120 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 63 ->downloadManager->download($pac
76140 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 69 kage,.$installPath);.}.....publi
76160 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 73 c.function.update(InstalledRepos
76180 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
761a0 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 63 erface.$initial,.PackageInterfac
761c0 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 41 e.$target).{.throw.new.\InvalidA
761e0 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 22 rgumentException("not.supported"
76200 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 61 );.}.....public.function.uninsta
76220 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 20 ll(InstalledRepositoryInterface.
76240 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
76260 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 78 ).{.throw.new.\InvalidArgumentEx
76280 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 0a ception("not.supported");.}.....
762a0 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 74 ...public.function.getInstallPat
762c0 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 72 h(PackageInterface.$package).{.r
762e0 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 3f eturn.$this->installPath;.}.}.<?
76300 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
76320 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 70 6f r\Installer;..use.Composer\Compo
76340 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 63 65 ser;.use.Composer\IO\IOInterface
76360 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 44 6f 77 6e 6c 6f ;.use.Composer\Downloader\Downlo
76380 61 64 4d 61 6e 61 67 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 adManager;.use.Composer\Reposito
763a0 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 63 65 3b ry\InstalledRepositoryInterface;
763c0 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
763e0 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
76400 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4c 69 62 72 61 72 79 49 6e 73 74 61 6c stem;........class.LibraryInstal
76420 6c 65 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 ler.implements.InstallerInterfac
76440 65 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 e.{.protected.$composer;.protect
76460 65 64 20 24 76 65 6e 64 6f 72 44 69 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 69 6e 44 69 72 ed.$vendorDir;.protected.$binDir
76480 3b 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 3b 0a 70 72 ;.protected.$downloadManager;.pr
764a0 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 79 70 65 3b 0a 70 72 otected.$io;.protected.$type;.pr
764c0 6f 74 65 63 74 65 64 20 24 66 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 otected.$filesystem;.........pub
764e0 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
76500 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 2c 20 24 74 face.$io,.Composer.$composer,.$t
76520 79 70 65 20 3d 20 27 6c 69 62 72 61 72 79 27 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 ype.=.'library').{.$this->compos
76540 65 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 4d er.=.$composer;.$this->downloadM
76560 61 6e 61 67 65 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 4d anager.=.$composer->getDownloadM
76580 61 6e 61 67 65 72 28 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 anager();.$this->io.=.$io;.$this
765a0 2d 3e 74 79 70 65 20 3d 20 24 74 79 70 65 3b 0a 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 ->type.=.$type;..$this->filesyst
765c0 65 6d 20 3d 20 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 em.=.new.Filesystem();.$this->ve
765e0 6e 64 6f 72 44 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 ndorDir.=.rtrim($composer->getCo
76600 6e 66 69 67 28 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 nfig()->get('vendor-dir'),.'/');
76620 0a 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 20 3d 20 72 74 72 69 6d 28 24 63 6f 6d 70 6f 73 65 72 .$this->binDir.=.rtrim($composer
76640 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 72 27 29 2c 20 27 ->getConfig()->get('bin-dir'),.'
76660 2f 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 75 70 70 6f /');.}.....public.function.suppo
76680 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 24 70 61 63 6b rts($packageType).{.return.$pack
766a0 61 67 65 54 79 70 65 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 79 70 65 20 7c 7c 20 6e 75 6c 6c 20 ageType.===.$this->type.||.null.
766c0 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 79 70 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ===.$this->type;.}.....public.fu
766e0 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 65 64 52 65 70 6f nction.isInstalled(InstalledRepo
76700 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
76720 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 72 65 70 6f terface.$package).{.return.$repo
76740 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 20 69 73 5f 72 65 61 ->hasPackage($package).&&.is_rea
76760 64 61 62 6c 65 28 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 dable($this->getInstallPath($pac
76780 6b 61 67 65 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 69 6e kage));.}.....public.function.in
767a0 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
767c0 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
767e0 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 69 age).{.$this->initializeVendorDi
76800 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 49 r();.$downloadPath.=.$this->getI
76820 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 73 nstallPath($package);....if.(!is
76840 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 70 _readable($downloadPath).&&.$rep
76860 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 73 o->hasPackage($package)).{.$this
76880 2d 3e 72 65 6d 6f 76 65 42 69 6e 61 72 69 65 73 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 24 ->removeBinaries($package);.}..$
768a0 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 43 6f 64 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 74 68 this->installCode($package);.$th
768c0 69 73 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 29 3b 0a 69 is->installBinaries($package);.i
768e0 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 65 29 29 f.(!$repo->hasPackage($package))
76900 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 70 61 63 6b .{.$repo->addPackage(clone.$pack
76920 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 75 70 age);.}.}.....public.function.up
76940 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 61 63 date(InstalledRepositoryInterfac
76960 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 74 69 e.$repo,.PackageInterface.$initi
76980 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 0a 7b 0a al,.PackageInterface.$target).{.
769a0 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 69 61 6c 29 if.(!$repo->hasPackage($initial)
769c0 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
769e0 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 6c 65 ception('Package.is.not.installe
76a00 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 69 74 69 61 d:.'.$initial);.}..$this->initia
76a20 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 72 65 6d 6f 76 65 42 lizeVendorDir();..$this->removeB
76a40 69 6e 61 72 69 65 73 28 24 69 6e 69 74 69 61 6c 29 3b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 inaries($initial);.$this->update
76a60 43 6f 64 65 28 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 Code($initial,.$target);.$this->
76a80 69 6e 73 74 61 6c 6c 42 69 6e 61 72 69 65 73 28 24 74 61 72 67 65 74 29 3b 0a 24 72 65 70 6f 2d installBinaries($target);.$repo-
76aa0 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 69 66 20 28 21 24 >removePackage($initial);.if.(!$
76ac0 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 20 7b 0a 24 72 65 repo->hasPackage($target)).{.$re
76ae0 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 0a 7d po->addPackage(clone.$target);.}
76b00 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
76b20 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
76b40 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).
76b60 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
76b80 65 29 29 20 7b 0a 0a 20 72 65 74 75 72 6e 3b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c e)).{...return;.throw.new.\Inval
76ba0 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 61 67 65 20 69 73 20 idArgumentException('Package.is.
76bc0 6e 6f 74 20 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 not.installed:.'.$package);.}..$
76be0 74 68 69 73 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 this->removeCode($package);.$thi
76c00 73 2d 3e 72 65 6d 6f 76 65 42 69 6e 61 72 69 65 73 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 72 65 s->removeBinaries($package);.$re
76c20 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 65 29 3b 0a 0a 24 64 po->removePackage($package);..$d
76c40 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 65 42 ownloadPath.=.$this->getPackageB
76c60 61 73 65 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 3b 0a 69 66 20 28 73 74 72 70 6f 73 28 24 70 asePath($package);.if.(strpos($p
76c80 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 27 2f 27 29 29 20 7b 0a 24 70 61 63 6b ackage->getName(),.'/')).{.$pack
76ca0 61 67 65 56 65 6e 64 6f 72 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 24 64 6f 77 6e 6c 6f 61 64 ageVendorDir.=.dirname($download
76cc0 50 61 74 68 29 3b 0a 69 66 20 28 69 73 5f 64 69 72 28 24 70 61 63 6b 61 67 65 56 65 6e 64 6f 72 Path);.if.(is_dir($packageVendor
76ce0 44 69 72 29 20 26 26 20 21 67 6c 6f 62 28 24 70 61 63 6b 61 67 65 56 65 6e 64 6f 72 44 69 72 2e Dir).&&.!glob($packageVendorDir.
76d00 27 2f 2a 27 29 29 20 7b 0a 40 72 6d 64 69 72 28 24 70 61 63 6b 61 67 65 56 65 6e 64 6f 72 44 69 '/*')).{.@rmdir($packageVendorDi
76d20 72 29 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 67 65 r);.}.}.}.....public.function.ge
76d40 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 20 24 70 tInstallPath(PackageInterface.$p
76d60 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 67 65 2d ackage).{.$targetDir.=.$package-
76d80 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 74 68 69 73 2d 3e >getTargetDir();..return.$this->
76da0 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 20 2e 20 28 getPackageBasePath($package)...(
76dc0 24 74 61 72 67 65 74 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 $targetDir.?.'/'.$targetDir.:.''
76de0 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 50 61 63 6b );.}..protected.function.getPack
76e00 61 67 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 ageBasePath(PackageInterface.$pa
76e20 63 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 ckage).{.$this->initializeVendor
76e40 44 69 72 28 29 3b 0a 0a 72 65 74 75 72 6e 20 28 24 74 68 69 73 2d 3e 76 65 6e 64 6f 72 44 69 72 Dir();..return.($this->vendorDir
76e60 20 3f 20 24 74 68 69 73 2d 3e 76 65 6e 64 6f 72 44 69 72 2e 27 2f 27 20 3a 20 27 27 29 20 2e 20 .?.$this->vendorDir.'/'.:.'')...
76e80 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 7d 0a 0a 70 72 $package->getPrettyName();.}..pr
76ea0 6f 74 65 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 otected.function.installCode(Pac
76ec0 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 64 6f 77 6e 6c kageInterface.$package).{.$downl
76ee0 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 50 61 74 68 28 oadPath.=.$this->getInstallPath(
76f00 24 70 61 63 6b 61 67 65 29 3b 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 $package);.$this->downloadManage
76f20 72 2d 3e 64 6f 77 6e 6c 6f 61 64 28 24 70 61 63 6b 61 67 65 2c 20 24 64 6f 77 6e 6c 6f 61 64 50 r->download($package,.$downloadP
76f40 61 74 68 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 75 70 64 61 ath);.}..protected.function.upda
76f60 74 65 43 6f 64 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 teCode(PackageInterface.$initial
76f80 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 24 64 ,.PackageInterface.$target).{.$d
76fa0 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 50 ownloadPath.=.$this->getInstallP
76fc0 61 74 68 28 24 69 6e 69 74 69 61 6c 29 3b 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 4d 61 ath($initial);.$this->downloadMa
76fe0 6e 61 67 65 72 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 nager->update($initial,.$target,
77000 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 63 74 65 64 20 66 75 .$downloadPath);.}..protected.fu
77020 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 43 6f 64 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 nction.removeCode(PackageInterfa
77040 63 65 20 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 ce.$package).{.$downloadPath.=.$
77060 74 68 69 73 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 this->getPackageBasePath($packag
77080 65 29 3b 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 2d 3e 72 65 6d 6f e);.$this->downloadManager->remo
770a0 76 65 28 24 70 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 ve($package,.$downloadPath);.}..
770c0 70 72 6f 74 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 protected.function.getBinaries(P
770e0 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 75 ackageInterface.$package).{.retu
77100 72 6e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 42 69 6e 61 72 69 65 73 28 29 3b 0a 7d 0a 0a 70 rn.$package->getBinaries();.}..p
77120 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 42 69 6e 61 72 69 65 rotected.function.installBinarie
77140 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 7b 0a 24 s(PackageInterface.$package).{.$
77160 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 70 binaries.=.$this->getBinaries($p
77180 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 72 ackage);.if.(!$binaries).{.retur
771a0 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 29 n;.}.foreach.($binaries.as.$bin)
771c0 20 7b 0a 24 62 69 6e 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 .{.$binPath.=.$this->getInstallP
771e0 61 74 68 28 24 70 61 63 6b 61 67 65 29 2e 27 2f 27 2e 24 62 69 6e 3b 0a 69 66 20 28 21 66 69 6c ath($package).'/'.$bin;.if.(!fil
77200 65 5f 65 78 69 73 74 73 28 24 62 69 6e 50 61 74 68 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d e_exists($binPath)).{.$this->io-
77220 3e 77 72 69 74 65 28 27 20 20 20 20 3c 77 61 72 6e 69 6e 67 3e 53 6b 69 70 70 65 64 20 69 6e 73 >write('....<warning>Skipped.ins
77240 74 61 6c 6c 61 74 69 6f 6e 20 6f 66 20 27 2e 24 62 69 6e 2e 27 20 66 6f 72 20 70 61 63 6b 61 67 tallation.of.'.$bin.'.for.packag
77260 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 66 69 6c 65 20 e.'.$package->getName().':.file.
77280 6e 6f 74 20 66 6f 75 6e 64 20 69 6e 20 70 61 63 6b 61 67 65 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 not.found.in.package</warning>')
772a0 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 ;.continue;.}..$this->initialize
772c0 42 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 BinDir();.$link.=.$this->binDir.
772e0 27 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 '/'.basename($bin);.if.(file_exi
77300 73 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 sts($link)).{.if.(is_link($link)
77320 29 20 7b 0a 0a 20 0a 20 0a 20 63 68 6d 6f 64 28 24 6c 69 6e 6b 2c 20 30 37 37 37 20 26 20 7e 75 ).{.......chmod($link,.0777.&.~u
77340 6d 61 73 6b 28 29 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 20 20 20 mask());.}.$this->io->write('...
77360 20 53 6b 69 70 70 65 64 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 6f 66 20 27 2e 24 62 69 6e 2e .Skipped.installation.of.'.$bin.
77380 27 20 66 6f 72 20 70 61 63 6b 61 67 65 20 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d '.for.package.'.$package->getNam
773a0 65 28 29 2e 27 3a 20 6e 61 6d 65 20 63 6f 6e 66 6c 69 63 74 73 20 77 69 74 68 20 61 6e 20 65 78 e().':.name.conflicts.with.an.ex
773c0 69 73 74 69 6e 67 20 66 69 6c 65 27 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 69 66 20 28 64 isting.file');.continue;.}.if.(d
773e0 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 55 49 4c efined('PHP_WINDOWS_VERSION_BUIL
77400 44 27 29 29 20 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 24 D')).{...if.('.bat'.!==.substr($
77420 62 69 6e 50 61 74 68 2c 20 2d 34 29 29 20 7b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 binPath,.-4)).{.file_put_content
77440 73 28 24 6c 69 6e 6b 2c 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 55 6e 69 78 79 50 72 6f s($link,.$this->generateUnixyPro
77460 78 79 43 6f 64 65 28 24 62 69 6e 50 61 74 68 2c 20 24 6c 69 6e 6b 29 29 3b 0a 63 68 6d 6f 64 28 xyCode($binPath,.$link));.chmod(
77480 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 24 6c 69 6e 6b 20 2e $link,.0777.&.~umask());.$link..
774a0 3d 20 27 2e 62 61 74 27 3b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 6c 69 6e 6b 29 =.'.bat';.if.(file_exists($link)
774c0 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 20 20 20 20 53 6b 69 70 70 65 ).{.$this->io->write('....Skippe
774e0 64 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 6f 66 20 27 2e 24 62 69 6e 2e 27 2e 62 61 74 20 70 d.installation.of.'.$bin.'.bat.p
77500 72 6f 78 79 20 66 6f 72 20 70 61 63 6b 61 67 65 20 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 roxy.for.package.'.$package->get
77520 4e 61 6d 65 28 29 2e 27 3a 20 61 20 2e 62 61 74 20 70 72 6f 78 79 20 77 61 73 20 61 6c 72 65 61 Name().':.a..bat.proxy.was.alrea
77540 64 79 20 69 6e 73 74 61 6c 6c 65 64 27 29 3b 0a 7d 0a 7d 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 dy.installed');.}.}.if.(!file_ex
77560 69 73 74 73 28 24 6c 69 6e 6b 29 29 20 7b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 ists($link)).{.file_put_contents
77580 28 24 6c 69 6e 6b 2c 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 57 69 6e 64 6f 77 73 50 72 ($link,.$this->generateWindowsPr
775a0 6f 78 79 43 6f 64 65 28 24 62 69 6e 50 61 74 68 2c 20 24 6c 69 6e 6b 29 29 3b 0a 7d 0a 7d 20 65 oxyCode($binPath,.$link));.}.}.e
775c0 6c 73 65 20 7b 0a 24 63 77 64 20 3d 20 67 65 74 63 77 64 28 29 3b 0a 74 72 79 20 7b 0a 0a 20 0a lse.{.$cwd.=.getcwd();.try.{....
775e0 20 24 72 65 6c 61 74 69 76 65 42 69 6e 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 .$relativeBin.=.$this->filesyste
77600 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 2c 20 24 62 69 6e 50 m->findShortestPath($link,.$binP
77620 61 74 68 29 3b 0a 63 68 64 69 72 28 64 69 72 6e 61 6d 65 28 24 6c 69 6e 6b 29 29 3b 0a 69 66 20 ath);.chdir(dirname($link));.if.
77640 28 66 61 6c 73 65 20 3d 3d 3d 20 73 79 6d 6c 69 6e 6b 28 24 72 65 6c 61 74 69 76 65 42 69 6e 2c (false.===.symlink($relativeBin,
77660 20 24 6c 69 6e 6b 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 45 72 72 6f 72 45 78 63 65 70 .$link)).{.throw.new.\ErrorExcep
77680 74 69 6f 6e 28 29 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 45 72 72 6f 72 45 78 63 65 70 74 69 tion();.}.}.catch.(\ErrorExcepti
776a0 6f 6e 20 24 65 29 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 on.$e).{.file_put_contents($link
776c0 2c 20 24 74 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 ,.$this->generateUnixyProxyCode(
776e0 24 62 69 6e 50 61 74 68 2c 20 24 6c 69 6e 6b 29 29 3b 0a 7d 0a 63 68 64 69 72 28 24 63 77 64 29 $binPath,.$link));.}.chdir($cwd)
77700 3b 0a 7d 0a 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 29 ;.}.chmod($link,.0777.&.~umask()
77720 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 72 65 6d 6f 76 );.}.}..protected.function.remov
77740 65 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 61 63 6b eBinaries(PackageInterface.$pack
77760 61 67 65 29 0a 7b 0a 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 age).{.$binaries.=.$this->getBin
77780 61 72 69 65 73 28 24 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 aries($package);.if.(!$binaries)
777a0 20 7b 0a 72 65 74 75 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 .{.return;.}.foreach.($binaries.
777c0 61 73 20 24 62 69 6e 29 20 7b 0a 24 6c 69 6e 6b 20 3d 20 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 as.$bin).{.$link.=.$this->binDir
777e0 2e 27 2f 27 2e 62 61 73 65 6e 61 6d 65 28 24 62 69 6e 29 3b 0a 69 66 20 28 69 73 5f 6c 69 6e 6b .'/'.basename($bin);.if.(is_link
77800 28 24 6c 69 6e 6b 29 20 7c 7c 20 66 69 6c 65 5f 65 78 69 73 74 73 28 24 6c 69 6e 6b 29 29 20 7b ($link).||.file_exists($link)).{
77820 0a 75 6e 6c 69 6e 6b 28 24 6c 69 6e 6b 29 3b 0a 7d 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 .unlink($link);.}.if.(file_exist
77840 73 28 24 6c 69 6e 6b 2e 27 2e 62 61 74 27 29 29 20 7b 0a 75 6e 6c 69 6e 6b 28 24 6c 69 6e 6b 2e s($link.'.bat')).{.unlink($link.
77860 27 2e 62 61 74 27 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 '.bat');.}.}.}..protected.functi
77880 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 73 on.initializeVendorDir().{.$this
778a0 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 69 ->filesystem->ensureDirectoryExi
778c0 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 65 sts($this->vendorDir);.$this->ve
778e0 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 72 ndorDir.=.realpath($this->vendor
77900 44 69 72 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 6e 69 74 Dir);.}..protected.function.init
77920 69 61 6c 69 7a 65 42 69 6e 44 69 72 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 ializeBinDir().{.$this->filesyst
77940 65 6d 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 68 69 73 2d em->ensureDirectoryExists($this-
77960 3e 62 69 6e 44 69 72 29 3b 0a 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 20 3d 20 72 65 61 6c 70 61 >binDir);.$this->binDir.=.realpa
77980 74 68 28 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 th($this->binDir);.}..protected.
779a0 66 75 6e 63 74 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 function.generateWindowsProxyCod
779c0 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 24 74 68 69 e($bin,.$link).{.$binPath.=.$thi
779e0 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 61 74 68 28 s->filesystem->findShortestPath(
77a00 24 6c 69 6e 6b 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 $link,.$bin);.if.('.bat'.===.sub
77a20 73 74 72 28 24 62 69 6e 2c 20 2d 34 29 20 7c 7c 20 27 2e 65 78 65 27 20 3d 3d 3d 20 73 75 62 73 str($bin,.-4).||.'.exe'.===.subs
77a40 74 72 28 24 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 tr($bin,.-4)).{.$caller.=.'call'
77a60 3b 0a 7d 20 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 ;.}.else.{.$handle.=.fopen($bin,
77a80 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 65 29 3b 0a 66 .'r');.$line.=.fgets($handle);.f
77aa0 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 74 63 68 28 27 close($handle);.if.(preg_match('
77ac0 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 2f 5d 2b 2f 29 {^#!/(?:usr/bin/env.)?(?:[^/]+/)
77ae0 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 7b 0a 24 63 61 *(.+)$}m',.$line,.$match)).{.$ca
77b00 6c 6c 65 72 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 ller.=.trim($match[1]);.}.else.{
77b20 0a 24 63 61 6c 6c 65 72 20 3d 20 27 70 68 70 27 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 22 40 .$caller.=.'php';.}.}..return."@
77b40 45 43 48 4f 20 4f 46 46 5c 72 5c 6e 22 2e 0a 22 53 45 54 20 42 49 4e 5f 54 41 52 47 45 54 3d 25 ECHO.OFF\r\n".."SET.BIN_TARGET=%
77b60 7e 64 70 30 5c 5c 22 2e 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 64 69 72 6e 61 6d 65 28 24 ~dp0\\".escapeshellarg(dirname($
77b80 62 69 6e 50 61 74 68 29 29 2e 27 5c 5c 27 2e 62 61 73 65 6e 61 6d 65 28 24 62 69 6e 50 61 74 68 binPath)).'\\'.basename($binPath
77ba0 29 2e 22 5c 72 5c 6e 22 2e 0a 22 7b 24 63 61 6c 6c 65 72 7d 20 5c 22 25 42 49 4e 5f 54 41 52 47 )."\r\n".."{$caller}.\"%BIN_TARG
77bc0 45 54 25 5c 22 20 25 2a 5c 72 5c 6e 22 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 ET%\".%*\r\n";.}..protected.func
77be0 74 69 6f 6e 20 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 tion.generateUnixyProxyCode($bin
77c00 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 6c ,.$link).{.$binPath.=.$this->fil
77c20 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 2c esystem->findShortestPath($link,
77c40 20 24 62 69 6e 29 3b 0a 0a 72 65 74 75 72 6e 20 22 23 21 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 .$bin);..return."#!/usr/bin/env.
77c60 73 68 5c 6e 22 2e 0a 27 53 52 43 5f 44 49 52 3d 22 60 70 77 64 60 22 27 2e 22 5c 6e 22 2e 0a 27 sh\n"..'SRC_DIR="`pwd`"'."\n"..'
77c80 63 64 20 22 60 64 69 72 6e 61 6d 65 20 22 24 30 22 60 22 27 2e 22 5c 6e 22 2e 0a 27 63 64 20 27 cd."`dirname."$0"`"'."\n"..'cd.'
77ca0 2e 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 64 69 72 6e 61 6d 65 28 24 62 69 6e 50 61 74 68 .escapeshellarg(dirname($binPath
77cc0 29 29 2e 22 5c 6e 22 2e 0a 27 42 49 4e 5f 54 41 52 47 45 54 3d 22 60 70 77 64 60 2f 27 2e 62 61 ))."\n"..'BIN_TARGET="`pwd`/'.ba
77ce0 73 65 6e 61 6d 65 28 24 62 69 6e 50 61 74 68 29 2e 22 5c 22 5c 6e 22 2e 0a 27 63 64 20 22 24 53 sename($binPath)."\"\n"..'cd."$S
77d00 52 43 5f 44 49 52 22 27 2e 22 5c 6e 22 2e 0a 27 22 24 42 49 4e 5f 54 41 52 47 45 54 22 20 22 24 RC_DIR"'."\n"..'"$BIN_TARGET"."$
77d20 40 22 27 2e 22 5c 6e 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 @"'."\n";.}.}.<?php............n
77d40 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 65 72 3b 0a 0a 75 73 amespace.Composer\Installer;..us
77d60 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
77d80 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 41 6c 69 61 73 50 ace;.use.Composer\Package\AliasP
77da0 61 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 ackage;.use.Composer\Repository\
77dc0 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 6f 73 65 RepositoryInterface;.use.Compose
77de0 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
77e00 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 65 6e Interface;.use.Composer\Dependen
77e20 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 6f 6e 49 6e cyResolver\Operation\OperationIn
77e40 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 65 6e 63 79 terface;.use.Composer\Dependency
77e60 52 65 73 6f 6c 76 65 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 Resolver\Operation\InstallOperat
77e80 69 6f 6e 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 ion;.use.Composer\DependencyReso
77ea0 6c 76 65 72 5c 4f 70 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 lver\Operation\UpdateOperation;.
77ec0 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\
77ee0 4f 70 65 72 61 74 69 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 Operation\UninstallOperation;.us
77f00 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
77f20 65 72 61 74 69 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 eration\MarkAliasInstalledOperat
77f40 69 6f 6e 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 ion;.use.Composer\DependencyReso
77f60 6c 76 65 72 5c 4f 70 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 lver\Operation\MarkAliasUninstal
77f80 6c 65 64 4f 70 65 72 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 ledOperation;.use.Composer\Util\
77fa0 53 74 72 65 61 6d 43 6f 6e 74 65 78 74 46 61 63 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 StreamContextFactory;........cla
77fc0 73 73 20 49 6e 73 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 ss.InstallationManager.{.private
77fe0 20 24 69 6e 73 74 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 .$installers.=.array();.private.
78000 24 63 61 63 68 65 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 $cache.=.array();.private.$notif
78020 69 61 62 6c 65 50 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 iablePackages.=.array();..public
78040 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 6e 6f 74 69 66 .function.reset().{.$this->notif
78060 69 61 62 6c 65 50 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 iablePackages.=.array();.}......
78080 0a 70 75 62 6c 69 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 .public.function.addInstaller(In
780a0 73 74 61 6c 6c 65 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 stallerInterface.$installer).{.a
780c0 72 72 61 79 5f 75 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 rray_unshift($this->installers,.
780e0 24 69 6e 73 74 61 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 $installer);.$this->cache.=.arra
78100 79 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 72 65 6d y();.}.......public.function.rem
78120 6f 76 65 49 6e 73 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 oveInstaller(InstallerInterface.
78140 24 69 6e 73 74 61 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 $installer).{.if.(false.!==.($ke
78160 79 20 3d 20 61 72 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 y.=.array_search($installer,.$th
78180 69 73 2d 3e 69 6e 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 is->installers,.true))).{.array_
781a0 73 70 6c 69 63 65 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 splice($this->installers,.$key,.
781c0 31 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 0a 7d 0a 1);.$this->cache.=.array();.}.}.
781e0 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 61 62 6c 65 43 ........public.function.disableC
78200 75 73 74 6f 6d 49 6e 73 74 61 6c 6c 65 72 73 28 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 ustomInstallers().{.foreach.($th
78220 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 72 73 20 61 73 20 24 69 20 3d 3e 20 24 69 6e 73 74 61 6c 6c is->installers.as.$i.=>.$install
78240 65 72 29 20 7b 0a 69 66 20 28 21 24 69 6e 73 74 61 6c 6c 65 72 20 69 6e 73 74 61 6e 63 65 6f 66 er).{.if.(!$installer.instanceof
78260 20 49 6e 73 74 61 6c 6c 65 72 49 6e 73 74 61 6c 6c 65 72 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b .InstallerInstaller).{.continue;
78280 0a 7d 0a 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 72 73 5b 24 69 5d 29 .}..unset($this->installers[$i])
782a0 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 63 74 69 6f 6e 20 ;.}.}...........public.function.
782c0 67 65 74 49 6e 73 74 61 6c 6c 65 72 28 24 74 79 70 65 29 0a 7b 0a 24 74 79 70 65 20 3d 20 73 74 getInstaller($type).{.$type.=.st
782e0 72 74 6f 6c 6f 77 65 72 28 24 74 79 70 65 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 rtolower($type);..if.(isset($thi
78300 73 2d 3e 63 61 63 68 65 5b 24 74 79 70 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 s->cache[$type])).{.return.$this
78320 2d 3e 63 61 63 68 65 5b 24 74 79 70 65 5d 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 ->cache[$type];.}..foreach.($thi
78340 73 2d 3e 69 6e 73 74 61 6c 6c 65 72 73 20 61 73 20 24 69 6e 73 74 61 6c 6c 65 72 29 20 7b 0a 69 s->installers.as.$installer).{.i
78360 66 20 28 24 69 6e 73 74 61 6c 6c 65 72 2d 3e 73 75 70 70 6f 72 74 73 28 24 74 79 70 65 29 29 20 f.($installer->supports($type)).
78380 7b 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 20 3d 20 24 {.return.$this->cache[$type].=.$
783a0 69 6e 73 74 61 6c 6c 65 72 3b 0a 7d 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c installer;.}.}..throw.new.\Inval
783c0 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 6b 6e 6f 77 6e 20 69 6e 73 idArgumentException('Unknown.ins
783e0 74 61 6c 6c 65 72 20 74 79 70 65 3a 20 27 2e 24 74 79 70 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a taller.type:.'.$type);.}........
78400 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 65 49 6e 73 74 61 ..public.function.isPackageInsta
78420 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 61 63 lled(InstalledRepositoryInterfac
78440 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 61 e.$repo,.PackageInterface.$packa
78460 67 65 29 0a 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 41 6c ge).{.if.($package.instanceof.Al
78480 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 70 6f 2d 3e 68 61 73 50 iasPackage).{.return.$repo->hasP
784a0 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 20 26 26 20 24 74 68 69 73 2d 3e 69 73 50 61 63 ackage($package).&&.$this->isPac
784c0 6b 61 67 65 49 6e 73 74 61 6c 6c 65 64 28 24 72 65 70 6f 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 kageInstalled($repo,.$package->g
784e0 65 74 41 6c 69 61 73 4f 66 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 etAliasOf());.}..return.$this->g
78500 65 74 49 6e 73 74 61 6c 6c 65 72 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 28 29 29 etInstaller($package->getType())
78520 2d 3e 69 73 49 6e 73 74 61 6c 6c 65 64 28 24 72 65 70 6f 2c 20 24 70 61 63 6b 61 67 65 29 3b 0a ->isInstalled($repo,.$package);.
78540 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 65 78 65 63 75 74 65 }........public.function.execute
78560 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 4f 70 65 72 (RepositoryInterface.$repo,.Oper
78580 61 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 20 24 6f 70 65 72 61 74 69 6f 6e 29 0a 7b 0a 24 6d 65 ationInterface.$operation).{.$me
785a0 74 68 6f 64 20 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 3b thod.=.$operation->getJobType();
785c0 0a 24 74 68 69 73 2d 3e 24 6d 65 74 68 6f 64 28 24 72 65 70 6f 2c 20 24 6f 70 65 72 61 74 69 6f .$this->$method($repo,.$operatio
785e0 6e 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 69 6e 73 n);.}........public.function.ins
78600 74 61 6c 6c 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 tall(RepositoryInterface.$repo,.
78620 49 6e 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 InstallOperation.$operation).{.$
78640 70 61 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 package.=.$operation->getPackage
78660 28 29 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 ();.$installer.=.$this->getInsta
78680 6c 6c 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 ller($package->getType());.$inst
786a0 61 6c 6c 65 72 2d 3e 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 aller->install($repo,.$package);
786c0 0a 24 74 68 69 73 2d 3e 6d 61 72 6b 46 6f 72 4e 6f 74 69 66 69 63 61 74 69 6f 6e 28 24 70 61 63 .$this->markForNotification($pac
786e0 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 63 74 69 6f 6e 20 kage);.}........public.function.
78700 75 70 64 61 74 65 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 update(RepositoryInterface.$repo
78720 2c 20 55 70 64 61 74 65 4f 70 65 72 61 74 69 6f 6e 20 24 6f 70 65 72 61 74 69 6f 6e 29 0a 7b 0a ,.UpdateOperation.$operation).{.
78740 24 69 6e 69 74 69 61 6c 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 49 6e 69 74 69 61 $initial.=.$operation->getInitia
78760 6c 50 61 63 6b 61 67 65 28 29 3b 0a 24 74 61 72 67 65 74 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e lPackage();.$target.=.$operation
78780 2d 3e 67 65 74 54 61 72 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 0a 24 69 6e 69 74 69 61 6c 54 ->getTargetPackage();..$initialT
787a0 79 70 65 20 3d 20 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 54 79 70 65 28 29 3b 0a 24 74 61 72 67 ype.=.$initial->getType();.$targ
787c0 65 74 54 79 70 65 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 54 79 70 65 28 29 3b 0a 0a 69 66 etType.=.$target->getType();..if
787e0 20 28 24 69 6e 69 74 69 61 6c 54 79 70 65 20 3d 3d 3d 20 24 74 61 72 67 65 74 54 79 70 65 29 20 .($initialType.===.$targetType).
78800 7b 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
78820 65 72 28 24 69 6e 69 74 69 61 6c 54 79 70 65 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 72 2d 3e 75 70 er($initialType);.$installer->up
78840 64 61 74 65 28 24 72 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 date($repo,.$initial,.$target);.
78860 24 74 68 69 73 2d 3e 6d 61 72 6b 46 6f 72 4e 6f 74 69 66 69 63 61 74 69 6f 6e 28 24 74 61 72 67 $this->markForNotification($targ
78880 65 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 65 et);.}.else.{.$this->getInstalle
788a0 72 28 24 69 6e 69 74 69 61 6c 54 79 70 65 29 2d 3e 75 6e 69 6e 73 74 61 6c 6c 28 24 72 65 70 6f r($initialType)->uninstall($repo
788c0 2c 20 24 69 6e 69 74 69 61 6c 29 3b 0a 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 65 72 ,.$initial);.$this->getInstaller
788e0 28 24 74 61 72 67 65 74 54 79 70 65 29 2d 3e 69 6e 73 74 61 6c 6c 28 24 72 65 70 6f 2c 20 24 74 ($targetType)->install($repo,.$t
78900 61 72 67 65 74 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 arget);.}.}........public.functi
78920 6f 6e 20 75 6e 69 6e 73 74 61 6c 6c 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 on.uninstall(RepositoryInterface
78940 20 24 72 65 70 6f 2c 20 55 6e 69 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 20 24 6f 70 65 72 .$repo,.UninstallOperation.$oper
78960 61 74 69 6f 6e 29 0a 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e ation).{.$package.=.$operation->
78980 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 72 20 3d 20 24 74 68 69 73 getPackage();.$installer.=.$this
789a0 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 65 72 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 ->getInstaller($package->getType
789c0 28 29 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 72 2d 3e 75 6e 69 6e 73 74 61 6c 6c 28 24 72 65 70 6f ());.$installer->uninstall($repo
789e0 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
78a00 63 74 69 6f 6e 20 6d 61 72 6b 41 6c 69 61 73 49 6e 73 74 61 6c 6c 65 64 28 52 65 70 6f 73 69 74 ction.markAliasInstalled(Reposit
78a20 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 4d 61 72 6b 41 6c 69 61 73 49 6e 73 oryInterface.$repo,.MarkAliasIns
78a40 74 61 6c 6c 65 64 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 talledOperation.$operation).{.$p
78a60 61 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 ackage.=.$operation->getPackage(
78a80 29 3b 0a 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 );..if.(!$repo->hasPackage($pack
78aa0 61 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 age)).{.$repo->addPackage(clone.
78ac0 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 6c 69 63 20 66 75 6e $package);.}.}........public.fun
78ae0 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 52 65 70 6f 73 ction.markAliasUninstalled(Repos
78b00 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 4d 61 72 6b 41 6c 69 61 73 55 itoryInterface.$repo,.MarkAliasU
78b20 6e 69 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 69 6f 6e 20 24 6f 70 65 72 61 74 69 6f 6e 29 0a ninstalledOperation.$operation).
78b40 7b 0a 24 70 61 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 {.$package.=.$operation->getPack
78b60 61 67 65 28 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 age();..$repo->removePackage($pa
78b80 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 63 74 69 6f 6e ckage);.}........public.function
78ba0 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
78bc0 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 69 6e 73 74 61 6c 6c 65 72 20 3d 20 24 74 68 69 73 2d .$package).{.$installer.=.$this-
78be0 3e 67 65 74 49 6e 73 74 61 6c 6c 65 72 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 28 >getInstaller($package->getType(
78c00 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 69 6e 73 74 61 6c 6c 65 72 2d 3e 67 65 74 49 6e 73 74 61 ));..return.$installer->getInsta
78c20 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 llPath($package);.}..public.func
78c40 74 69 6f 6e 20 6e 6f 74 69 66 79 49 6e 73 74 61 6c 6c 73 28 29 0a 7b 0a 66 6f 72 65 61 63 68 20 tion.notifyInstalls().{.foreach.
78c60 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 20 24 72 ($this->notifiablePackages.as.$r
78c80 65 70 6f 55 72 6c 20 3d 3e 20 24 70 61 63 6b 61 67 65 73 29 20 7b 0a 0a 20 69 66 20 28 73 74 72 epoUrl.=>.$packages).{...if.(str
78ca0 70 6f 73 28 24 72 65 70 6f 55 72 6c 2c 20 27 25 70 61 63 6b 61 67 65 25 27 29 29 20 7b 0a 66 6f pos($repoUrl,.'%package%')).{.fo
78cc0 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 0a reach.($packages.as.$package).{.
78ce0 24 75 72 6c 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 25 70 61 63 6b 61 67 65 25 27 2c 20 $url.=.str_replace('%package%',.
78d00 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 24 72 65 70 6f $package->getPrettyName(),.$repo
78d20 55 72 6c 29 3b 0a 0a 24 70 61 72 61 6d 73 20 3d 20 61 72 72 61 79 28 0a 27 76 65 72 73 69 6f 6e Url);..$params.=.array(.'version
78d40 27 20 3d 3e 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(
78d60 29 2c 0a 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 20 3d 3e 20 24 70 61 63 6b ),.'version_normalized'.=>.$pack
78d80 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 0a 29 3b 0a 24 6f 70 74 73 20 3d 20 61 72 age->getVersion(),.);.$opts.=.ar
78da0 72 61 79 28 27 68 74 74 70 27 20 3d 3e 0a 61 72 72 61 79 28 0a 27 6d 65 74 68 6f 64 27 20 3d 3e ray('http'.=>.array(.'method'.=>
78dc0 20 27 50 4f 53 54 27 2c 0a 27 68 65 61 64 65 72 27 20 3d 3e 20 61 72 72 61 79 28 27 43 6f 6e 74 .'POST',.'header'.=>.array('Cont
78de0 65 6e 74 2d 74 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
78e00 2d 75 72 6c 65 6e 63 6f 64 65 64 27 29 2c 0a 27 63 6f 6e 74 65 6e 74 27 20 3d 3e 20 68 74 74 70 -urlencoded'),.'content'.=>.http
78e20 5f 62 75 69 6c 64 5f 71 75 65 72 79 28 24 70 61 72 61 6d 73 2c 20 27 27 2c 20 27 26 27 29 2c 0a _build_query($params,.'',.'&'),.
78e40 27 74 69 6d 65 6f 75 74 27 20 3d 3e 20 33 2c 0a 29 0a 29 3b 0a 0a 24 63 6f 6e 74 65 78 74 20 3d 'timeout'.=>.3,.).);..$context.=
78e60 20 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 74 65 78 .StreamContextFactory::getContex
78e80 74 28 24 75 72 6c 2c 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 t($url,.$opts);.@file_get_conten
78ea0 74 73 28 24 75 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 63 6f ts($url,.false,.$context);.}..co
78ec0 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 70 6f 73 74 44 61 74 61 20 3d 20 61 72 72 61 79 28 27 64 6f ntinue;.}..$postData.=.array('do
78ee0 77 6e 6c 6f 61 64 73 27 20 3d 3e 20 61 72 72 61 79 28 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 wnloads'.=>.array());.foreach.($
78f00 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 6f 73 74 44 61 74 packages.as.$package).{.$postDat
78f20 61 5b 27 64 6f 77 6e 6c 6f 61 64 73 27 5d 5b 5d 20 3d 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 27 a['downloads'][].=.array(.'name'
78f40 20 3d 3e 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 2c 0a 27 .=>.$package->getPrettyName(),.'
78f60 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e version'.=>.$package->getVersion
78f80 28 29 2c 0a 29 3b 0a 7d 0a 0a 24 6f 70 74 73 20 3d 20 61 72 72 61 79 28 27 68 74 74 70 27 20 3d (),.);.}..$opts.=.array('http'.=
78fa0 3e 0a 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 >.array(.'method'.=>.'POST',.'he
78fc0 61 64 65 72 27 20 3d 3e 20 61 72 72 61 79 28 27 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a 20 61 70 ader'.=>.array('Content-Type:.ap
78fe0 70 6c 69 63 61 74 69 6f 6e 2f 6a 73 6f 6e 27 29 2c 0a 27 63 6f 6e 74 65 6e 74 27 20 3d 3e 20 6a plication/json'),.'content'.=>.j
79000 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 70 6f 73 74 44 61 74 61 29 2c 0a 27 74 69 6d 65 6f 75 74 27 son_encode($postData),.'timeout'
79020 20 3d 3e 20 36 2c 0a 29 0a 29 3b 0a 0a 24 63 6f 6e 74 65 78 74 20 3d 20 53 74 72 65 61 6d 43 6f .=>.6,.).);..$context.=.StreamCo
79040 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 72 65 70 6f 55 72 ntextFactory::getContext($repoUr
79060 6c 2c 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 l,.$opts);.@file_get_contents($r
79080 65 70 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 epoUrl,.false,.$context);.}..$th
790a0 69 73 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 is->reset();.}..private.function
790c0 20 6d 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 .markForNotification(PackageInte
790e0 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 2d 3e rface.$package).{.if.($package->
79100 67 65 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 getNotificationUrl()).{.$this->n
79120 6f 74 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 otifiablePackages[$package->getN
79140 6f 74 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 otificationUrl()][$package->getN
79160 61 6d 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 ame()].=.$package;.}.}.}.<?php..
79180 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 6e 73 ..........namespace.Composer\Ins
791a0 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 61 67 65 5c 50 61 taller;..use.Composer\Package\Pa
791c0 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 52 65 70 ckageInterface;.use.Composer\Rep
791e0 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 49 6e 74 65 72 ository\InstalledRepositoryInter
79200 66 61 63 65 3b 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 72 face;........interface.Installer
79220 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 6e 63 74 69 6f Interface.{.......public.functio
79240 6e 20 73 75 70 70 6f 72 74 73 28 24 70 61 63 6b 61 67 65 54 79 70 65 29 3b 0a 0a 0a 0a 0a 0a 0a n.supports($packageType);.......
79260 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 65 64 28 49 ...public.function.isInstalled(I
79280 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 65 70 nstalledRepositoryInterface.$rep
792a0 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 3b 0a 0a o,.PackageInterface.$package);..
792c0 0a 0a 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 ......public.function.install(In
792e0 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 65 70 6f stalledRepositoryInterface.$repo
79300 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 0a ,.PackageInterface.$package);...
79320 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 70 64 61 74 65 28 49 ........public.function.update(I
79340 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 65 70 nstalledRepositoryInterface.$rep
79360 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 20 50 61 o,.PackageInterface.$initial,.Pa
79380 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 29 3b 0a 0a 0a 0a 0a 0a 0a 0a ckageInterface.$target);........
793a0 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 28 49 6e 73 74 61 6c public.function.uninstall(Instal
793c0 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
793e0 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 0a 0a 0a 0a 0a ckageInterface.$package);.......
79400 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 74 68 28 .public.function.getInstallPath(
79420 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 7d 0a 3c 3f PackageInterface.$package);.}.<?
79440 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
79460 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 70 6f r\Installer;..use.Composer\Compo
79480 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 50 61 63 6b 61 67 ser;.use.Composer\Package\Packag
794a0 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 65 3b 0a e;.use.Composer\IO\IOInterface;.
794c0 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 6c 65 use.Composer\Repository\Installe
794e0 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 6f 73 dRepositoryInterface;.use.Compos
79500 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 0a er\Package\PackageInterface;....
79520 0a 0a 0a 63 6c 61 73 73 20 49 6e 73 74 61 6c 6c 65 72 49 6e 73 74 61 6c 6c 65 72 20 65 78 74 65 ...class.InstallerInstaller.exte
79540 6e 64 73 20 4c 69 62 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 nds.LibraryInstaller.{.private.$
79560 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 3b 0a 70 72 69 76 61 74 65 20 73 74 61 installationManager;.private.sta
79580 74 69 63 20 24 63 6c 61 73 73 43 6f 75 6e 74 65 72 20 3d 20 30 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 tic.$classCounter.=.0;.........p
795a0 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
795c0 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 2c 20 erface.$io,.Composer.$composer,.
795e0 24 74 79 70 65 20 3d 20 27 6c 69 62 72 61 72 79 27 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 $type.=.'library').{.parent::__c
79600 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 70 6f 73 onstruct($io,.$composer,.'compos
79620 65 72 2d 69 6e 73 74 61 6c 6c 65 72 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 er-installer');.$this->installat
79640 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
79660 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 3b 0a 0a 24 72 65 70 6f 20 3d 20 24 63 6f 6d 70 llationManager();..$repo.=.$comp
79680 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
796a0 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 tLocalRepository();.foreach.($re
796c0 70 6f 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 29 20 7b po->getPackages().as.$package).{
796e0 0a 69 66 20 28 27 63 6f 6d 70 6f 73 65 72 2d 69 6e 73 74 61 6c 6c 65 72 27 20 3d 3d 3d 20 24 70 .if.('composer-installer'.===.$p
79700 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 67 69 ackage->getType()).{.$this->regi
79720 73 74 65 72 49 6e 73 74 61 6c 6c 65 72 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a sterInstaller($package);.}.}.}..
79740 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 61 ...public.function.install(Insta
79760 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 50 lledRepositoryInterface.$repo,.P
79780 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 65 78 74 ackageInterface.$package).{.$ext
797a0 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 69 66 20 28 65 ra.=.$package->getExtra();.if.(e
797c0 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
797e0 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
79800 72 6f 72 20 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 ror.while.installing.'.$package-
79820 3e 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 69 6e 73 >getPrettyName().',.composer-ins
79840 74 61 6c 6c 65 72 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 taller.packages.should.have.a.cl
79860 61 73 73 20 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 ass.defined.in.their.extra.key.t
79880 6f 20 62 65 20 75 73 61 62 6c 65 2e 27 29 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 69 6e 73 74 61 o.be.usable.');.}..parent::insta
798a0 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 72 65 67 69 ll($repo,.$package);.$this->regi
798c0 73 74 65 72 49 6e 73 74 61 6c 6c 65 72 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 sterInstaller($package);.}.....p
798e0 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 6c 65 64 52 ublic.function.update(InstalledR
79900 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 61 67 epositoryInterface.$repo,.Packag
79920 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
79940 72 66 61 63 65 20 24 74 61 72 67 65 74 29 0a 7b 0a 24 65 78 74 72 61 20 3d 20 24 74 61 72 67 65 rface.$target).{.$extra.=.$targe
79960 74 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 74 72 61 5b t->getExtra();.if.(empty($extra[
79980 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 70 65 63 74 'class'])).{.throw.new.\Unexpect
799a0 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 65 20 69 6e edValueException('Error.while.in
799c0 73 74 61 6c 6c 69 6e 67 20 27 2e 24 74 61 72 67 65 74 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d stalling.'.$target->getPrettyNam
799e0 65 28 29 2e 27 2c 20 63 6f 6d 70 6f 73 65 72 2d 69 6e 73 74 61 6c 6c 65 72 20 70 61 63 6b 61 67 e().',.composer-installer.packag
79a00 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 20 69 es.should.have.a.class.defined.i
79a20 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 2e 27 n.their.extra.key.to.be.usable.'
79a40 29 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 75 70 64 61 74 65 28 24 72 65 70 6f 2c 20 24 69 6e 69 );.}..parent::update($repo,.$ini
79a60 74 69 61 6c 2c 20 24 74 61 72 67 65 74 29 3b 0a 24 74 68 69 73 2d 3e 72 65 67 69 73 74 65 72 49 tial,.$target);.$this->registerI
79a80 6e 73 74 61 6c 6c 65 72 28 24 74 61 72 67 65 74 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 nstaller($target);.}..private.fu
79aa0 6e 63 74 69 6f 6e 20 72 65 67 69 73 74 65 72 49 6e 73 74 61 6c 6c 65 72 28 50 61 63 6b 61 67 65 nction.registerInstaller(Package
79ac0 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 64 6f 77 6e 6c 6f 61 64 50 Interface.$package).{.$downloadP
79ae0 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 70 61 63 ath.=.$this->getInstallPath($pac
79b00 6b 61 67 65 29 3b 0a 0a 24 65 78 74 72 61 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 45 78 kage);..$extra.=.$package->getEx
79b20 74 72 61 28 29 3b 0a 24 63 6c 61 73 73 65 73 20 3d 20 69 73 5f 61 72 72 61 79 28 24 65 78 74 72 tra();.$classes.=.is_array($extr
79b40 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 5d 20 3a 20 a['class']).?.$extra['class'].:.
79b60 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 67 65 6e 65 72 61 array($extra['class']);..$genera
79b80 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 6c 6f tor.=.$this->composer->getAutolo
79ba0 61 64 47 65 6e 65 72 61 74 6f 72 28 29 3b 0a 24 6d 61 70 20 3d 20 24 67 65 6e 65 72 61 74 6f 72 adGenerator();.$map.=.$generator
79bc0 2d 3e 70 61 72 73 65 41 75 74 6f 6c 6f 61 64 73 28 61 72 72 61 79 28 61 72 72 61 79 28 24 70 61 ->parseAutoloads(array(array($pa
79be0 63 6b 61 67 65 2c 20 24 64 6f 77 6e 6c 6f 61 64 50 61 74 68 29 29 2c 20 6e 65 77 20 50 61 63 6b ckage,.$downloadPath)),.new.Pack
79c00 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 27 29 age('dummy',.'1.0.0.0',.'1.0.0')
79c20 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 63 72 );.$classLoader.=.$generator->cr
79c40 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 2d 3e eateLoader($map);.$classLoader->
79c60 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 20 61 register();..foreach.($classes.a
79c80 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 63 6c s.$class).{.if.(class_exists($cl
79ca0 61 73 73 2c 20 66 61 6c 73 65 29 29 20 7b 0a 24 63 6f 64 65 20 3d 20 66 69 6c 65 5f 67 65 74 5f ass,.false)).{.$code.=.file_get_
79cc0 63 6f 6e 74 65 6e 74 73 28 24 63 6c 61 73 73 4c 6f 61 64 65 72 2d 3e 66 69 6e 64 46 69 6c 65 28 contents($classLoader->findFile(
79ce0 24 63 6c 61 73 73 29 29 3b 0a 24 63 6f 64 65 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 $class));.$code.=.preg_replace('
79d00 7b 5e 28 5c 73 2a 29 63 6c 61 73 73 5c 73 2b 28 5c 53 2b 29 7d 6d 69 27 2c 20 27 24 31 63 6c 61 {^(\s*)class\s+(\S+)}mi',.'$1cla
79d20 73 73 20 24 32 5f 63 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 ss.$2_composer_tmp'.self::$class
79d40 43 6f 75 6e 74 65 72 2c 20 24 63 6f 64 65 29 3b 0a 65 76 61 6c 28 27 3f 3e 27 2e 24 63 6f 64 65 Counter,.$code);.eval('?>'.$code
79d60 29 3b 0a 24 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 );.$class..=.'_composer_tmp'.sel
79d80 66 3a 3a 24 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 f::$classCounter;.self::$classCo
79da0 75 6e 74 65 72 2b 2b 3b 0a 7d 0a 0a 24 69 6e 73 74 61 6c 6c 65 72 20 3d 20 6e 65 77 20 24 63 6c unter++;.}..$installer.=.new.$cl
79dc0 61 73 73 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 29 3b ass($this->io,.$this->composer);
79de0 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 64 .$this->installationManager->add
79e00 49 6e 73 74 61 6c 6c 65 72 28 24 69 6e 73 74 61 6c 6c 65 72 29 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 Installer($installer);.}.}.}.<?p
79e20 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
79e40 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 6d 70 6f 6e 65 6e 74 \Console;..use.Symfony\Component
79e60 5c 43 6f 6e 73 6f 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 \Console\Application.as.BaseAppl
79e80 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 65 6e 74 5c 43 ication;.use.Symfony\Component\C
79ea0 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
79ec0 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
79ee0 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 6e \InputOption;.use.Symfony\Compon
79f00 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 61 ent\Console\Output\OutputInterfa
79f20 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 6c ce;.use.Symfony\Component\Consol
79f40 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 65 20 53 79 6d 66 e\Output\ConsoleOutput;.use.Symf
79f60 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 5c ony\Component\Console\Formatter\
79f80 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f OutputFormatter;.use.Composer\Co
79fa0 6d 6d 61 6e 64 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 5c 48 65 6c 70 mmand;.use.Composer\Command\Help
79fc0 65 72 5c 44 69 61 6c 6f 67 48 65 6c 70 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f er\DialogHelper;.use.Composer\Co
79fe0 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 0a 75 73 mposer;.use.Composer\Factory;.us
7a000 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
7a020 6f 6d 70 6f 73 65 72 5c 49 4f 5c 43 6f 6e 73 6f 6c 65 49 4f 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 omposer\IO\ConsoleIO;.use.Compos
7a040 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 70 74 69 6f 6e 3b er\Json\JsonValidationException;
7a060 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 45 72 72 6f 72 48 61 6e 64 6c 65 72 3b .use.Composer\Util\ErrorHandler;
7a080 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 20 65 78 74 65 6e .........class.Application.exten
7a0a0 64 73 20 42 61 73 65 41 70 70 6c 69 63 61 74 69 6f 6e 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 ds.BaseApplication.{....protecte
7a0c0 64 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a d.$composer;.....protected.$io;.
7a0e0 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 6c 6f 67 6f 20 3d 20 27 20 20 20 5f 5f 5f 5f .private.static.$logo.=.'...____
7a100 5f 5f 0a 20 20 2f 20 5f 5f 5f 5f 2f 5f 5f 5f 20 20 5f 5f 5f 5f 20 5f 5f 5f 20 20 5f 5f 5f 5f 20 __.../.____/___..____.___..____.
7a120 20 5f 5f 5f 5f 20 20 5f 5f 5f 5f 5f 5f 5f 5f 20 20 5f 5f 5f 5f 5f 0a 20 2f 20 2f 20 20 20 2f 20 .____..________.._____.././.../.
7a140 5f 5f 20 5c 2f 20 5f 5f 20 60 5f 5f 20 5c 2f 20 5f 5f 20 5c 2f 20 5f 5f 20 5c 2f 20 5f 5f 5f 2f __.\/.__.`__.\/.__.\/.__.\/.___/
7a160 20 5f 20 5c 2f 20 5f 5f 5f 2f 0a 2f 20 2f 5f 5f 5f 2f 20 2f 5f 2f 20 2f 20 2f 20 2f 20 2f 20 2f ._.\/.___/././___/./_/./././././
7a180 20 2f 20 2f 5f 2f 20 2f 20 2f 5f 2f 20 28 5f 5f 20 20 29 20 20 5f 5f 2f 20 2f 0a 5c 5f 5f 5f 5f ././_/././_/.(__..)..__/./.\____
7a1a0 2f 5c 5f 5f 5f 5f 2f 5f 2f 20 2f 5f 2f 20 2f 5f 2f 20 2e 5f 5f 5f 2f 5c 5f 5f 5f 5f 2f 5f 5f 5f /\____/_/./_/./_/..___/\____/___
7a1c0 5f 2f 5c 5f 5f 5f 2f 5f 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 5f _/\___/_/...................../_
7a1e0 2f 0a 27 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 /.';..public.function.__construc
7a200 74 28 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 69 6e 69 5f 73 t().{.if.(function_exists('ini_s
7a220 65 74 27 29 29 20 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 et')).{.ini_set('xdebug.show_exc
7a240 65 70 74 69 6f 6e 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 eption_trace',.false);.ini_set('
7a260 78 64 65 62 75 67 2e 73 63 72 65 61 6d 27 2c 20 66 61 6c 73 65 29 3b 0a 0a 7d 0a 69 66 20 28 66 xdebug.scream',.false);..}.if.(f
7a280 75 6e 63 74 69 6f 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 unction_exists('date_default_tim
7a2a0 65 7a 6f 6e 65 5f 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 ezone_set').&&.function_exists('
7a2c0 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 20 7b 0a 64 date_default_timezone_get')).{.d
7a2e0 61 74 65 5f 64 65 66 61 75 6c 74 5f 74 69 6d 65 7a 6f 6e 65 5f 73 65 74 28 40 64 61 74 65 5f 64 ate_default_timezone_set(@date_d
7a300 65 66 61 75 6c 74 5f 74 69 6d 65 7a 6f 6e 65 5f 67 65 74 28 29 29 3b 0a 7d 0a 0a 45 72 72 6f 72 efault_timezone_get());.}..Error
7a320 48 61 6e 64 6c 65 72 3a 3a 72 65 67 69 73 74 65 72 28 29 3b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 Handler::register();.parent::__c
7a340 6f 6e 73 74 72 75 63 74 28 27 43 6f 6d 70 6f 73 65 72 27 2c 20 43 6f 6d 70 6f 73 65 72 3a 3a 56 onstruct('Composer',.Composer::V
7a360 45 52 53 49 4f 4e 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 ERSION);.}.....public.function.r
7a380 75 6e 28 49 6e 70 75 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 un(InputInterface.$input.=.null,
7a3a0 20 4f 75 74 70 75 74 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 .OutputInterface.$output.=.null)
7a3c0 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6f 75 74 70 75 74 29 20 7b 0a 24 73 74 79 6c .{.if.(null.===.$output).{.$styl
7a3e0 65 73 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 41 64 64 69 74 69 6f 6e 61 6c 53 74 es.=.Factory::createAdditionalSt
7a400 79 6c 65 73 28 29 3b 0a 24 66 6f 72 6d 61 74 74 65 72 20 3d 20 6e 65 77 20 4f 75 74 70 75 74 46 yles();.$formatter.=.new.OutputF
7a420 6f 72 6d 61 74 74 65 72 28 6e 75 6c 6c 2c 20 24 73 74 79 6c 65 73 29 3b 0a 24 6f 75 74 70 75 74 ormatter(null,.$styles);.$output
7a440 20 3d 20 6e 65 77 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 28 43 6f 6e 73 6f 6c 65 4f 75 74 70 .=.new.ConsoleOutput(ConsoleOutp
7a460 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 6c 2c 20 24 66 6f 72 ut::VERBOSITY_NORMAL,.null,.$for
7a480 6d 61 74 74 65 72 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 72 75 6e 28 24 matter);.}..return.parent::run($
7a4a0 69 6e 70 75 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 input,.$output);.}.....public.fu
7a4c0 6e 63 74 69 6f 6e 20 64 6f 52 75 6e 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 nction.doRun(InputInterface.$inp
7a4e0 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).{.$
7a500 74 68 69 73 2d 3e 69 6f 20 3d 20 6e 65 77 20 43 6f 6e 73 6f 6c 65 49 4f 28 24 69 6e 70 75 74 2c this->io.=.new.ConsoleIO($input,
7a520 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 29 .$output,.$this->getHelperSet())
7a540 3b 0a 0a 69 66 20 28 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 28 50 48 50 5f 56 45 52 53 49 ;..if.(version_compare(PHP_VERSI
7a560 4f 4e 2c 20 27 35 2e 33 2e 32 27 2c 20 27 3c 27 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 ON,.'5.3.2',.'<')).{.$output->wr
7a580 69 74 65 6c 6e 28 27 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 iteln('<warning>Composer.only.of
7a5a0 66 69 63 69 61 6c 6c 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 ficially.supports.PHP.5.3.2.and.
7a5c0 61 62 6f 76 65 2c 20 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 above,.you.will.most.likely.enco
7a5e0 75 6e 74 65 72 20 70 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 unter.problems.with.your.PHP.'.P
7a600 48 50 5f 56 45 52 53 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 HP_VERSION.',.upgrading.is.stron
7a620 67 6c 79 20 72 65 63 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 gly.recommended.</warning>');.}.
7a640 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 43 4f 4d 50 4f 53 45 52 5f 44 45 56 5f 57 41 52 4e 49 .if.(defined('COMPOSER_DEV_WARNI
7a660 4e 47 5f 54 49 4d 45 27 29 20 26 26 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 4e 61 NG_TIME').&&.$this->getCommandNa
7a680 6d 65 28 24 69 6e 70 75 74 29 20 21 3d 3d 20 27 73 65 6c 66 2d 75 70 64 61 74 65 27 20 26 26 20 me($input).!==.'self-update'.&&.
7a6a0 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 20 21 3d $this->getCommandName($input).!=
7a6c0 3d 20 27 73 65 6c 66 75 70 64 61 74 65 27 29 20 7b 0a 69 66 20 28 74 69 6d 65 28 29 20 3e 20 43 =.'selfupdate').{.if.(time().>.C
7a6e0 4f 4d 50 4f 53 45 52 5f 44 45 56 5f 57 41 52 4e 49 4e 47 5f 54 49 4d 45 29 20 7b 0a 24 6f 75 74 OMPOSER_DEV_WARNING_TIME).{.$out
7a700 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 73 70 72 69 6e 74 66 28 27 3c 77 61 72 6e 69 6e 67 3e 57 put->writeln(sprintf('<warning>W
7a720 61 72 6e 69 6e 67 3a 20 54 68 69 73 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 62 75 69 6c 64 20 6f arning:.This.development.build.o
7a740 66 20 63 6f 6d 70 6f 73 65 72 20 69 73 20 6f 76 65 72 20 33 30 20 64 61 79 73 20 6f 6c 64 2e 20 f.composer.is.over.30.days.old..
7a760 49 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 70 64 61 74 65 20 69 74 20 62 It.is.recommended.to.update.it.b
7a780 79 20 72 75 6e 6e 69 6e 67 20 22 25 73 20 73 65 6c 66 2d 75 70 64 61 74 65 22 20 74 6f 20 67 65 y.running."%s.self-update".to.ge
7a7a0 74 20 74 68 65 20 6c 61 74 65 73 74 20 76 65 72 73 69 6f 6e 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 t.the.latest.version.</warning>'
7a7c0 2c 20 24 5f 53 45 52 56 45 52 5b 27 50 48 50 5f 53 45 4c 46 27 5d 29 29 3b 0a 7d 0a 7d 0a 0a 69 ,.$_SERVER['PHP_SELF']));.}.}..i
7a7e0 66 20 28 67 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 f.(getenv('COMPOSER_NO_INTERACTI
7a800 4f 4e 27 29 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 ON')).{.$input->setInteractive(f
7a820 61 6c 73 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 alse);.}..if.($input->hasParamet
7a840 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 74 54 erOption('--profile')).{.$startT
7a860 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 69 6f ime.=.microtime(true);.$this->io
7a880 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 0a 7d ->enableDebugging($startTime);.}
7a8a0 0a 0a 69 66 20 28 24 6e 65 77 57 6f 72 6b 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4e 65 ..if.($newWorkDir.=.$this->getNe
7a8c0 77 57 6f 72 6b 69 6e 67 44 69 72 28 24 69 6e 70 75 74 29 29 20 7b 0a 24 6f 6c 64 57 6f 72 6b 69 wWorkingDir($input)).{.$oldWorki
7a8e0 6e 67 44 69 72 20 3d 20 67 65 74 63 77 64 28 29 3b 0a 63 68 64 69 72 28 24 6e 65 77 57 6f 72 6b ngDir.=.getcwd();.chdir($newWork
7a900 44 69 72 29 3b 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 Dir);.}..$result.=.parent::doRun
7a920 28 24 69 6e 70 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 ($input,.$output);..if.(isset($o
7a940 6c 64 57 6f 72 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 ldWorkingDir)).{.chdir($oldWorki
7a960 6e 67 44 69 72 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 ngDir);.}..if.(isset($startTime)
7a980 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 69 6e 66 6f 3e 4d 65 6d 6f ).{.$output->writeln('<info>Memo
7a9a0 72 79 20 75 73 61 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 ry.usage:.'.round(memory_get_usa
7a9c0 67 65 28 29 20 2f 20 31 30 32 34 20 2f 20 31 30 32 34 2c 20 32 29 2e 27 4d 42 20 28 70 65 61 6b ge()./.1024./.1024,.2).'MB.(peak
7a9e0 3a 20 27 2e 72 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 :.'.round(memory_get_peak_usage(
7aa00 29 20 2f 20 31 30 32 34 20 2f 20 31 30 32 34 2c 20 32 29 2e 27 4d 42 29 2c 20 74 69 6d 65 3a 20 )./.1024./.1024,.2).'MB),.time:.
7aa20 27 2e 72 6f 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 '.round(microtime(true).-.$start
7aa40 54 69 6d 65 2c 20 32 29 2e 27 73 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 Time,.2).'s');.}..return.$result
7aa60 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 67 65 74 4e 65 77 ;.}......private.function.getNew
7aa80 57 6f 72 6b 69 6e 67 44 69 72 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 WorkingDir(InputInterface.$input
7aaa0 29 0a 7b 0a 24 77 6f 72 6b 69 6e 67 44 69 72 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 50 61 72 ).{.$workingDir.=.$input->getPar
7aac0 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 61 72 72 61 79 28 27 2d 2d 77 6f 72 6b 69 6e 67 2d 64 69 ameterOption(array('--working-di
7aae0 72 27 2c 20 27 2d 64 27 29 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 77 6f 72 6b 69 r',.'-d'));.if.(false.!==.$worki
7ab00 6e 67 44 69 72 20 26 26 20 21 69 73 5f 64 69 72 28 24 77 6f 72 6b 69 6e 67 44 69 72 29 29 20 7b ngDir.&&.!is_dir($workingDir)).{
7ab20 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 49 6e .throw.new.\RuntimeException('In
7ab40 76 61 6c 69 64 20 77 6f 72 6b 69 6e 67 20 64 69 72 65 63 74 6f 72 79 20 73 70 65 63 69 66 69 65 valid.working.directory.specifie
7ab60 64 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 77 6f 72 6b 69 6e 67 44 69 72 3b 0a 7d 0a 0a d.');.}..return.$workingDir;.}..
7ab80 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 45 78 63 65 70 74 69 ...public.function.renderExcepti
7aba0 6f 6e 28 24 65 78 63 65 70 74 69 6f 6e 2c 20 24 6f 75 74 70 75 74 29 0a 7b 0a 74 72 79 20 7b 0a on($exception,.$output).{.try.{.
7abc0 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 66 $composer.=.$this->getComposer(f
7abe0 61 6c 73 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 alse);.if.($composer).{.$config.
7ac00 3d 20 24 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 =.$composer->getConfig();..$minS
7ac20 70 61 63 65 46 72 65 65 20 3d 20 31 30 32 34 2a 31 30 32 34 3b 0a 69 66 20 28 28 28 24 64 66 20 paceFree.=.1024*1024;.if.((($df.
7ac40 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
7ac60 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
7ac80 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
7aca0 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
7acc0 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.&&.
7ace0 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 24 6f 75 74 70 75 74 $df.<.$minSpaceFree).).{.$output
7ad00 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 65 72 72 6f 72 3e 54 68 65 20 64 69 73 6b 20 68 6f 73 74 69 ->writeln('<error>The.disk.hosti
7ad20 6e 67 20 27 2e 24 64 69 72 2e 27 20 69 73 20 66 75 6c 6c 2c 20 74 68 69 73 20 6d 61 79 20 62 65 ng.'.$dir.'.is.full,.this.may.be
7ad40 20 74 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 .the.cause.of.the.following.exce
7ad60 70 74 69 6f 6e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 7d 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 45 ption</error>');.}.}.}.catch.(\E
7ad80 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 7d 0a 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a xception.$e).{}..return.parent::
7ada0 72 65 6e 64 65 72 45 78 63 65 70 74 69 6f 6e 28 24 65 78 63 65 70 74 69 6f 6e 2c 20 24 6f 75 74 renderException($exception,.$out
7adc0 70 75 74 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 put);.}.......public.function.ge
7ade0 74 43 6f 6d 70 6f 73 65 72 28 24 72 65 71 75 69 72 65 64 20 3d 20 74 72 75 65 29 0a 7b 0a 69 66 tComposer($required.=.true).{.if
7ae00 20 28 6e 75 6c 6c 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 .(null.===.$this->composer).{.tr
7ae20 79 20 7b 0a 24 74 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 y.{.$this->composer.=.Factory::c
7ae40 72 65 61 74 65 28 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 49 6e 76 61 reate($this->io);.}.catch.(\Inva
7ae60 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 69 66 20 28 24 lidArgumentException.$e).{.if.($
7ae80 72 65 71 75 69 72 65 64 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 24 65 2d required).{.$this->io->write($e-
7aea0 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 65 78 69 74 28 31 29 3b 0a 7d 0a 7d 20 63 61 74 >getMessage());.exit(1);.}.}.cat
7aec0 63 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 ch.(JsonValidationException.$e).
7aee0 7b 0a 24 65 72 72 6f 72 73 20 3d 20 27 20 2d 20 27 20 2e 20 69 6d 70 6c 6f 64 65 28 50 48 50 5f {.$errors.=.'.-.'...implode(PHP_
7af00 45 4f 4c 20 2e 20 27 20 2d 20 27 2c 20 24 65 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 3b 0a 24 EOL...'.-.',.$e->getErrors());.$
7af20 6d 65 73 73 61 67 65 20 3d 20 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 20 2e 20 27 3a 27 message.=.$e->getMessage()...':'
7af40 20 2e 20 50 48 50 5f 45 4f 4c 20 2e 20 24 65 72 72 6f 72 73 3b 0a 74 68 72 6f 77 20 6e 65 77 20 ...PHP_EOL...$errors;.throw.new.
7af60 4a 73 6f 6e 56 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 JsonValidationException($message
7af80 29 3b 0a 7d 0a 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 3b );.}..}..return.$this->composer;
7afa0 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 4f 28 29 0a 7b .}.....public.function.getIO().{
7afc0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6f 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e .return.$this->io;.}..public.fun
7afe0 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 73 65 6c 66 3a 3a 24 ction.getHelp().{.return.self::$
7b000 6c 6f 67 6f 20 2e 20 70 61 72 65 6e 74 3a 3a 67 65 74 48 65 6c 70 28 29 3b 0a 7d 0a 0a 0a 0a 0a logo...parent::getHelp();.}.....
7b020 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 43 6f 6d protected.function.getDefaultCom
7b040 6d 61 6e 64 73 28 29 0a 7b 0a 24 63 6f 6d 6d 61 6e 64 73 20 3d 20 70 61 72 65 6e 74 3a 3a 67 65 mands().{.$commands.=.parent::ge
7b060 74 44 65 66 61 75 6c 74 43 6f 6d 6d 61 6e 64 73 28 29 3b 0a 24 63 6f 6d 6d 61 6e 64 73 5b 5d 20 tDefaultCommands();.$commands[].
7b080 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 41 62 6f 75 74 43 6f 6d 6d 61 6e 64 28 29 3b 0a 24 63 =.new.Command\AboutCommand();.$c
7b0a0 6f 6d 6d 61 6e 64 73 5b 5d 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 43 6f 6e 66 69 67 43 6f ommands[].=.new.Command\ConfigCo
7b0c0 6d 6d 61 6e 64 28 29 3b 0a 24 63 6f 6d 6d 61 6e 64 73 5b 5d 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 mmand();.$commands[].=.new.Comma
7b0e0 6e 64 5c 44 65 70 65 6e 64 73 43 6f 6d 6d 61 6e 64 28 29 3b 0a 24 63 6f 6d 6d 61 6e 64 73 5b 5d nd\DependsCommand();.$commands[]
7b100 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 49 6e 69 74 43 6f 6d 6d 61 6e 64 28 29 3b 0a 24 63 .=.new.Command\InitCommand();.$c
7b120 6f 6d 6d 61 6e 64 73 5b 5d 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 49 6e 73 74 61 6c 6c 43 ommands[].=.new.Command\InstallC
7b140 6f 6d 6d 61 6e 64 28 29 3b 0a 24 63 6f 6d 6d 61 6e 64 73 5b 5d 20 3d 20 6e 65 77 20 43 6f 6d 6d ommand();.$commands[].=.new.Comm
7b160 61 6e 64 5c 43 72 65 61 74 65 50 72 6f 6a 65 63 74 43 6f 6d 6d 61 6e 64 28 29 3b 0a 24 63 6f 6d and\CreateProjectCommand();.$com
7b180 6d 61 6e 64 73 5b 5d 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 55 70 64 61 74 65 43 6f 6d 6d mands[].=.new.Command\UpdateComm
7b1a0 61 6e 64 28 29 3b 0a 24 63 6f 6d 6d 61 6e 64 73 5b 5d 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 and();.$commands[].=.new.Command
7b1c0 5c 53 65 61 72 63 68 43 6f 6d 6d 61 6e 64 28 29 3b 0a 24 63 6f 6d 6d 61 6e 64 73 5b 5d 20 3d 20 \SearchCommand();.$commands[].=.
7b1e0 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 3b 0a 24 new.Command\ValidateCommand();.$
7b200 63 6f 6d 6d 61 6e 64 73 5b 5d 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 53 68 6f 77 43 6f 6d commands[].=.new.Command\ShowCom
7b220 6d 61 6e 64 28 29 3b 0a 24 63 6f 6d 6d 61 6e 64 73 5b 5d 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e mand();.$commands[].=.new.Comman
7b240 64 5c 52 65 71 75 69 72 65 43 6f 6d 6d 61 6e 64 28 29 3b 0a 24 63 6f 6d 6d 61 6e 64 73 5b 5d 20 d\RequireCommand();.$commands[].
7b260 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 44 75 6d 70 41 75 74 6f 6c 6f 61 64 43 6f 6d 6d 61 6e =.new.Command\DumpAutoloadComman
7b280 64 28 29 3b 0a 24 63 6f 6d 6d 61 6e 64 73 5b 5d 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 53 d();.$commands[].=.new.Command\S
7b2a0 74 61 74 75 73 43 6f 6d 6d 61 6e 64 28 29 3b 0a 24 63 6f 6d 6d 61 6e 64 73 5b 5d 20 3d 20 6e 65 tatusCommand();.$commands[].=.ne
7b2c0 77 20 43 6f 6d 6d 61 6e 64 5c 41 72 63 68 69 76 65 43 6f 6d 6d 61 6e 64 28 29 3b 0a 24 63 6f 6d w.Command\ArchiveCommand();.$com
7b2e0 6d 61 6e 64 73 5b 5d 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 44 69 61 67 6e 6f 73 65 43 6f mands[].=.new.Command\DiagnoseCo
7b300 6d 6d 61 6e 64 28 29 3b 0a 24 63 6f 6d 6d 61 6e 64 73 5b 5d 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 mmand();.$commands[].=.new.Comma
7b320 6e 64 5c 52 75 6e 53 63 72 69 70 74 43 6f 6d 6d 61 6e 64 28 29 3b 0a 0a 69 66 20 28 27 70 68 61 nd\RunScriptCommand();..if.('pha
7b340 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 29 29 20 r:'.===.substr(__FILE__,.0,.5)).
7b360 7b 0a 24 63 6f 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 {.$commands[].=.new.Command\Self
7b380 55 70 64 61 74 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 UpdateCommand();.}..return.$comm
7b3a0 61 6e 64 73 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 ands;.}.....protected.function.g
7b3c0 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 65 etDefaultInputDefinition().{.$de
7b3e0 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 70 finition.=.parent::getDefaultInp
7b400 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 64 utDefinition();.$definition->add
7b420 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 6c Option(new.InputOption('--profil
7b440 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
7b460 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 73 E,.'Display.timing.and.memory.us
7b480 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 2d age.information'));.$definition-
7b4a0 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 77 6f >addOption(new.InputOption('--wo
7b4c0 72 6b 69 6e 67 2d 64 69 72 27 2c 20 27 2d 64 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 rking-dir',.'-d',.InputOption::V
7b4e0 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 49 66 20 73 70 65 63 69 66 69 65 64 2c 20 75 73 ALUE_REQUIRED,.'If.specified,.us
7b500 65 20 74 68 65 20 67 69 76 65 6e 20 64 69 72 65 63 74 6f 72 79 20 61 73 20 77 6f 72 6b 69 6e 67 e.the.given.directory.as.working
7b520 20 64 69 72 65 63 74 6f 72 79 2e 27 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 64 65 66 69 6e 69 74 .directory.'));..return.$definit
7b540 69 6f 6e 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 ion;.}.....protected.function.ge
7b560 74 44 65 66 61 75 6c 74 48 65 6c 70 65 72 53 65 74 28 29 0a 7b 0a 24 68 65 6c 70 65 72 53 65 74 tDefaultHelperSet().{.$helperSet
7b580 20 3d 20 70 61 72 65 6e 74 3a 3a 67 65 74 44 65 66 61 75 6c 74 48 65 6c 70 65 72 53 65 74 28 29 .=.parent::getDefaultHelperSet()
7b5a0 3b 0a 0a 24 68 65 6c 70 65 72 53 65 74 2d 3e 73 65 74 28 6e 65 77 20 44 69 61 6c 6f 67 48 65 6c ;..$helperSet->set(new.DialogHel
7b5c0 70 65 72 28 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 68 65 6c 70 65 72 53 65 74 3b 0a 7d 0a 7d 0a per());..return.$helperSet;.}.}.
7b5e0 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
7b600 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 6d 70 6f 6e ser\Console;..use.Symfony\Compon
7b620 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
7b640 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 6f 72 6d 61 atter;.....class.HtmlOutputForma
7b660 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 0a 7b 0a 70 tter.extends.OutputFormatter.{.p
7b680 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 72 6f 75 rivate.static.$availableForegrou
7b6a0 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 63 6b 27 2c ndColors.=.array(.30.=>.'black',
7b6c0 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 0a 33 33 20 .31.=>.'red',.32.=>.'green',.33.
7b6e0 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 35 20 3d 3e =>.'yellow',.34.=>.'blue',.35.=>
7b700 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 20 3d 3e 20 .'magenta',.36.=>.'cyan',.37.=>.
7b720 27 77 68 69 74 65 27 0a 29 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 61 76 61 69 6c 'white'.);.private.static.$avail
7b740 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 79 28 0a 34 30 ableBackgroundColors.=.array(.40
7b760 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 32 20 3d 3e 20 .=>.'black',.41.=>.'red',.42.=>.
7b780 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 20 3d 3e 20 27 'green',.43.=>.'yellow',.44.=>.'
7b7a0 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 3d 3e 20 27 63 blue',.45.=>.'magenta',.46.=>.'c
7b7c0 79 61 6e 27 2c 0a 34 37 20 3d 3e 20 27 77 68 69 74 65 27 0a 29 3b 0a 70 72 69 76 61 74 65 20 73 yan',.47.=>.'white'.);.private.s
7b7e0 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 61 72 72 61 79 28 tatic.$availableOptions.=.array(
7b800 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 63 6f 72 65 27 2c .1.=>.'bold',.4.=>.'underscore',
7b820 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 69 6f 6e 20 5f 5f .......);.....public.function.__
7b840 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 61 72 72 61 79 28 construct(array.$styles.=.array(
7b860 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 72 75 65 2c 20 24 )).{.parent::__construct(true,.$
7b880 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 6e 20 66 6f 72 6d styles);.}..public.function.form
7b8a0 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 3d 20 70 61 72 65 at($message).{.$formatted.=.pare
7b8c0 6e 74 3a 3a 66 6f 72 6d 61 74 28 24 6d 65 73 73 61 67 65 29 3b 0a 0a 72 65 74 75 72 6e 20 70 72 nt::format($message);..return.pr
7b8e0 65 67 5f 72 65 70 6c 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 eg_replace_callback("{\033\[([0-
7b900 39 3b 5d 2b 29 6d 28 2e 2a 3f 29 5c 30 33 33 5c 5b 30 6d 7d 73 22 2c 20 61 72 72 61 79 28 24 74 9;]+)m(.*?)\033\[0m}s",.array($t
7b920 68 69 73 2c 20 27 66 6f 72 6d 61 74 48 74 6d 6c 27 29 2c 20 24 66 6f 72 6d 61 74 74 65 64 29 3b his,.'formatHtml'),.$formatted);
7b940 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 48 74 6d 6c 28 .}..private.function.formatHtml(
7b960 24 6d 61 74 63 68 65 73 29 0a 7b 0a 24 6f 75 74 20 3d 20 27 3c 73 70 61 6e 20 73 74 79 6c 65 3d $matches).{.$out.=.'<span.style=
7b980 22 27 3b 0a 66 6f 72 65 61 63 68 20 28 65 78 70 6c 6f 64 65 28 27 3b 27 2c 20 24 6d 61 74 63 68 "';.foreach.(explode(';',.$match
7b9a0 65 73 5b 31 5d 29 20 61 73 20 24 63 6f 64 65 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 73 65 6c es[1]).as.$code).{.if.(isset(sel
7b9c0 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 6f 72 73 5b 24 63 f::$availableForegroundColors[$c
7b9e0 6f 64 65 5d 29 29 20 7b 0a 24 6f 75 74 20 2e 3d 20 27 63 6f 6c 6f 72 3a 27 2e 73 65 6c 66 3a 3a ode])).{.$out..=.'color:'.self::
7ba00 24 61 76 61 69 6c 61 62 6c 65 46 6f 72 65 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 5b 24 63 6f 64 65 $availableForegroundColors[$code
7ba20 5d 2e 27 3b 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 61 76 ].';';.}.elseif.(isset(self::$av
7ba40 61 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 64 65 5d 29 29 ailableBackgroundColors[$code]))
7ba60 20 7b 0a 24 6f 75 74 20 2e 3d 20 27 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 27 2e 73 .{.$out..=.'background-color:'.s
7ba80 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 5b elf::$availableBackgroundColors[
7baa0 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 73 65 6c 66 $code].';';.}.elseif.(isset(self
7bac0 3a 3a 24 61 76 61 69 6c 61 62 6c 65 4f 70 74 69 6f 6e 73 5b 24 63 6f 64 65 5d 29 29 20 7b 0a 73 ::$availableOptions[$code])).{.s
7bae0 77 69 74 63 68 20 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 witch.(self::$availableOptions[$
7bb00 63 6f 64 65 5d 29 20 7b 0a 63 61 73 65 20 27 62 6f 6c 64 27 3a 0a 24 6f 75 74 20 2e 3d 20 27 66 code]).{.case.'bold':.$out..=.'f
7bb20 6f 6e 74 2d 77 65 69 67 68 74 3a 62 6f 6c 64 3b 27 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 ont-weight:bold;';.break;..case.
7bb40 27 75 6e 64 65 72 73 63 6f 72 65 27 3a 0a 24 6f 75 74 20 2e 3d 20 27 74 65 78 74 2d 64 65 63 6f 'underscore':.$out..=.'text-deco
7bb60 72 61 74 69 6f 6e 3a 75 6e 64 65 72 6c 69 6e 65 3b 27 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d ration:underline;';.break;.}.}.}
7bb80 0a 0a 72 65 74 75 72 6e 20 24 6f 75 74 20 2e 20 27 22 3e 27 2e 24 6d 61 74 63 68 65 73 5b 32 5d ..return.$out...'">'.$matches[2]
7bba0 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 0a 0a 0a 0a 0a 0a 0a .'</span>';.}.}.<?php...........
7bbc0 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 64 3b 0a 0a 75 .namespace.Composer\Autoload;..u
7bbe0 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
7bc00 5c 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 \Installer\InstallationManager;.
7bc20 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
7bc40 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
7bc60 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
7bc80 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;.
7bca0 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 75 73 use.Composer\Util\Filesystem;.us
7bcc0 65 20 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 e.Composer\Script\EventDispatche
7bce0 72 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 45 76 65 r;.use.Composer\Script\ScriptEve
7bd00 6e 74 73 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f nts;......class.AutoloadGenerato
7bd20 72 0a 7b 0a 0a 0a 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 3b r.{....private.$eventDispatcher;
7bd40 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 45 76 ..public.function.__construct(Ev
7bd60 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 29 0a entDispatcher.$eventDispatcher).
7bd80 7b 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 {.$this->eventDispatcher.=.$even
7bda0 74 44 69 73 70 61 74 63 68 65 72 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 tDispatcher;.}..public.function.
7bdc0 64 75 6d 70 28 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 49 6e 73 74 61 6c 6c 65 64 52 65 dump(Config.$config,.InstalledRe
7bde0 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 50 61 positoryInterface.$localRepo,.Pa
7be00 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 2c 20 49 6e 73 ckageInterface.$mainPackage,.Ins
7be20 74 61 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 tallationManager.$installationMa
7be40 6e 61 67 65 72 2c 20 24 74 61 72 67 65 74 44 69 72 2c 20 24 73 63 61 6e 50 73 72 30 50 61 63 6b nager,.$targetDir,.$scanPsr0Pack
7be60 61 67 65 73 20 3d 20 66 61 6c 73 65 2c 20 24 73 75 66 66 69 78 20 3d 20 27 27 29 0a 7b 0a 24 74 ages.=.false,.$suffix.=.'').{.$t
7be80 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 28 53 his->eventDispatcher->dispatch(S
7bea0 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 52 45 5f 41 55 54 4f 4c 4f 41 44 5f 44 55 4d 50 29 3b criptEvents::PRE_AUTOLOAD_DUMP);
7bec0 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()
7bee0 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
7bf00 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'))
7bf20 3b 0a 24 62 61 73 65 50 61 74 68 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 6e 6f 72 6d 61 ;.$basePath.=.$filesystem->norma
7bf40 6c 69 7a 65 50 61 74 68 28 67 65 74 63 77 64 28 29 29 3b 0a 24 76 65 6e 64 6f 72 50 61 74 68 20 lizePath(getcwd());.$vendorPath.
7bf60 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 72 65 61 =.$filesystem->normalizePath(rea
7bf80 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 72 27 29 lpath($config->get('vendor-dir')
7bfa0 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 28 62 6f 6f ));.$useGlobalIncludePath.=.(boo
7bfc0 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 2d 70 61 74 l).$config->get('use-include-pat
7bfe0 68 27 29 3b 0a 24 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 h');.$targetDir.=.$vendorPath.'/
7c000 27 2e 24 74 61 72 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 '.$targetDir;.$filesystem->ensur
7c020 65 44 69 72 65 63 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 eDirectoryExists($targetDir);..$
7c040 76 65 6e 64 6f 72 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 vendorPathCode.=.$filesystem->fi
7c060 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 61 72 ndShortestPathCode(realpath($tar
7c080 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 29 3b 0a 24 76 65 getDir),.$vendorPath,.true);.$ve
7c0a0 6e 64 6f 72 50 61 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 ndorPathCode52.=.str_replace('__
7c0c0 44 49 52 5f 5f 27 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 DIR__',.'dirname(__FILE__)',.$ve
7c0e0 6e 64 6f 72 50 61 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 ndorPathCode);.$vendorPathToTarg
7c100 65 74 44 69 72 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 etDirCode.=.$filesystem->findSho
7c120 72 74 65 73 74 50 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 rtestPathCode($vendorPath,.realp
7c140 61 74 68 28 24 74 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 ath($targetDir),.true);..$appBas
7c160 65 44 69 72 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 eDirCode.=.$filesystem->findShor
7c180 74 65 73 74 50 61 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 testPathCode($vendorPath,.$baseP
7c1a0 61 74 68 2c 20 74 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 ath,.true);.$appBaseDirCode.=.st
7c1c0 72 5f 72 65 70 6c 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 r_replace('__DIR__',.'$vendorDir
7c1e0 27 2c 20 24 61 70 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 ',.$appBaseDirCode);..$namespace
7c200 73 46 69 6c 65 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 sFile.=.<<<EOF.<?php..//.autoloa
7c220 64 5f 6e 61 6d 65 73 70 61 63 65 73 2e 70 68 70 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 43 6f d_namespaces.php.generated.by.Co
7c240 6d 70 6f 73 65 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 mposer..\$vendorDir.=.$vendorPat
7c260 68 43 6f 64 65 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 hCode52;.\$baseDir.=.$appBaseDir
7c280 43 6f 64 65 3b 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 61 63 Code;..return.array(..EOF;..$pac
7c2a0 6b 61 67 65 4d 61 70 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 50 61 63 6b 61 67 65 4d 61 70 kageMap.=.$this->buildPackageMap
7c2c0 28 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2c 20 24 6d 61 69 6e 50 61 63 6b ($installationManager,.$mainPack
7c2e0 61 67 65 2c 20 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e 67 65 74 43 61 6e 6f 6e 69 63 61 6c 50 61 63 age,.$localRepo->getCanonicalPac
7c300 6b 61 67 65 73 28 29 29 3b 0a 24 61 75 74 6f 6c 6f 61 64 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 kages());.$autoloads.=.$this->pa
7c320 72 73 65 41 75 74 6f 6c 6f 61 64 73 28 24 70 61 63 6b 61 67 65 4d 61 70 2c 20 24 6d 61 69 6e 50 rseAutoloads($packageMap,.$mainP
7c340 61 63 6b 61 67 65 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 73 5b 27 70 ackage);..foreach.($autoloads['p
7c360 73 72 2d 30 27 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 sr-0'].as.$namespace.=>.$paths).
7c380 7b 0a 24 65 78 70 6f 72 74 65 64 50 61 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 {.$exportedPaths.=.array();.fore
7c3a0 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 65 78 70 6f 72 74 65 ach.($paths.as.$path).{.$exporte
7c3c0 64 50 61 74 68 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 61 74 68 43 6f 64 65 28 24 66 dPaths[].=.$this->getPathCode($f
7c3e0 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 50 61 74 ilesystem,.$basePath,.$vendorPat
7c400 68 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 24 65 78 70 6f 72 74 65 64 50 72 65 66 69 78 20 3d 20 76 h,.$path);.}.$exportedPrefix.=.v
7c420 61 72 5f 65 78 70 6f 72 74 28 24 6e 61 6d 65 73 70 61 63 65 2c 20 74 72 75 65 29 3b 0a 24 6e 61 ar_export($namespace,.true);.$na
7c440 6d 65 73 70 61 63 65 73 46 69 6c 65 20 2e 3d 20 22 20 20 20 20 24 65 78 70 6f 72 74 65 64 50 72 mespacesFile..=."....$exportedPr
7c460 65 66 69 78 20 3d 3e 20 22 3b 0a 24 6e 61 6d 65 73 70 61 63 65 73 46 69 6c 65 20 2e 3d 20 22 61 efix.=>.";.$namespacesFile..=."a
7c480 72 72 61 79 28 22 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 65 78 70 6f 72 74 65 64 50 61 rray(".implode(',.',.$exportedPa
7c4a0 74 68 73 29 2e 22 29 2c 5c 6e 22 3b 0a 7d 0a 24 6e 61 6d 65 73 70 61 63 65 73 46 69 6c 65 20 2e ths)."),\n";.}.$namespacesFile..
7c4c0 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 3c 3c 3c 45 4f =.");\n";..$classmapFile.=.<<<EO
7c4e0 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 61 70 2e 70 68 F.<?php..//.autoload_classmap.ph
7c500 70 20 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 76 65 6e 64 6f p.generated.by.Composer..\$vendo
7c520 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 24 62 61 73 65 rDir.=.$vendorPathCode52;.\$base
7c540 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 72 6e 20 61 Dir.=.$appBaseDirCode;..return.a
7c560 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 6f 61 64 65 72 20 rray(..EOF;....$targetDirLoader.
7c580 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 61 69 6e 50 61 63 =.null;.$mainAutoload.=.$mainPac
7c5a0 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 6d 61 69 6e 50 61 kage->getAutoload();.if.($mainPa
7c5c0 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 65 6d 70 74 79 28 ckage->getTargetDir().&&.!empty(
7c5e0 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 0a 24 6c 65 76 65 $mainAutoload['psr-0'])).{.$leve
7c600 6c 73 20 3d 20 63 6f 75 6e 74 28 65 78 70 6c 6f 64 65 28 27 2f 27 2c 20 24 66 69 6c 65 73 79 73 ls.=.count(explode('/',.$filesys
7c620 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-
7c640 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 29 29 29 3b 0a 24 70 72 65 66 69 78 65 73 20 3d 20 >getTargetDir())));.$prefixes.=.
7c660 69 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 implode(',.',.array_map(function
7c680 20 28 24 70 72 65 66 69 78 29 20 7b 0a 72 65 74 75 72 6e 20 76 61 72 5f 65 78 70 6f 72 74 28 24 .($prefix).{.return.var_export($
7c6a0 70 72 65 66 69 78 2c 20 74 72 75 65 29 3b 0a 7d 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 6d 61 prefix,.true);.},.array_keys($ma
7c6c0 69 6e 41 75 74 6f 6c 6f 61 64 5b 27 70 73 72 2d 30 27 5d 29 29 29 3b 0a 24 62 61 73 65 44 69 72 inAutoload['psr-0'])));.$baseDir
7c6e0 46 72 6f 6d 54 61 72 67 65 74 44 69 72 43 6f 64 65 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 2d FromTargetDirCode.=.$filesystem-
7c700 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 43 6f 64 65 28 24 74 61 72 67 65 74 44 69 72 >findShortestPathCode($targetDir
7c720 2c 20 24 62 61 73 65 50 61 74 68 2c 20 74 72 75 65 29 3b 0a 0a 24 74 61 72 67 65 74 44 69 72 4c ,.$basePath,.true);..$targetDirL
7c740 6f 61 64 65 72 20 3d 20 3c 3c 3c 45 4f 46 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 oader.=.<<<EOF......public.stati
7c760 63 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 6f 6c 6f 61 64 28 5c 24 63 6c 61 73 73 29 0a 20 20 20 c.function.autoload(\$class)....
7c780 20 7b 0a 20 20 20 20 20 20 20 20 5c 24 64 69 72 20 3d 20 24 62 61 73 65 44 69 72 46 72 6f 6d 54 .{.........\$dir.=.$baseDirFromT
7c7a0 61 72 67 65 74 44 69 72 43 6f 64 65 20 2e 20 27 2f 27 3b 0a 20 20 20 20 20 20 20 20 5c 24 70 72 argetDirCode...'/';.........\$pr
7c7c0 65 66 69 78 65 73 20 3d 20 61 72 72 61 79 28 24 70 72 65 66 69 78 65 73 29 3b 0a 20 20 20 20 20 efixes.=.array($prefixes);......
7c7e0 20 20 20 66 6f 72 65 61 63 68 20 28 5c 24 70 72 65 66 69 78 65 73 20 61 73 20 5c 24 70 72 65 66 ...foreach.(\$prefixes.as.\$pref
7c800 69 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 30 20 21 3d 3d 20 73 74 72 70 ix).{.............if.(0.!==.strp
7c820 6f 73 28 5c 24 63 6c 61 73 73 2c 20 5c 24 70 72 65 66 69 78 29 29 20 7b 0a 20 20 20 20 20 20 20 os(\$class,.\$prefix)).{........
7c840 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d .........continue;.............}
7c860 0a 20 20 20 20 20 20 20 20 20 20 20 20 5c 24 70 61 74 68 20 3d 20 5c 24 64 69 72 20 2e 20 69 6d .............\$path.=.\$dir...im
7c880 70 6c 6f 64 65 28 27 2f 27 2c 20 61 72 72 61 79 5f 73 6c 69 63 65 28 65 78 70 6c 6f 64 65 28 27 plode('/',.array_slice(explode('
7c8a0 5c 5c 5c 5c 27 2c 20 5c 24 63 6c 61 73 73 29 2c 20 24 6c 65 76 65 6c 73 29 29 2e 27 2e 70 68 70 \\\\',.\$class),.$levels)).'.php
7c8c0 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 5c 24 70 61 74 68 20 3d 20 73 74 72 ';.............if.(!\$path.=.str
7c8e0 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 5c 24 70 61 74 68 29 eam_resolve_include_path(\$path)
7c900 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 66 61 6c 73 65 ).{.................return.false
7c920 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 72 65 71 75 ;.............}.............requ
7c940 69 72 65 20 5c 24 70 61 74 68 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 ire.\$path;..............return.
7c960 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 45 4f 46 3b 0a 7d 0a 0a 0a true;.........}.....}..EOF;.}...
7c980 20 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 .$classMap.=.array();.if.($scanP
7c9a0 73 72 30 50 61 63 6b 61 67 65 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 sr0Packages).{.foreach.($autoloa
7c9c0 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 24 70 61 ds['psr-0'].as.$namespace.=>.$pa
7c9e0 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 64 69 72 29 20 ths).{.foreach.($paths.as.$dir).
7ca00 7b 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 {.$dir.=.$filesystem->normalizeP
7ca20 61 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 ath($filesystem->isAbsolutePath(
7ca40 24 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 $dir).?.$dir.:.$basePath.'/'.$di
7ca60 72 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 r);.if.(!is_dir($dir)).{.continu
7ca80 65 3b 0a 7d 0a 24 77 68 69 74 65 6c 69 73 74 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 7b 25 73 2f e;.}.$whitelist.=.sprintf(.'{%s/
7caa0 25 73 2e 2b 28 3f 3c 21 28 3f 3c 21 2f 29 54 65 73 74 5c 2e 70 68 70 29 24 7d 27 2c 0a 70 72 65 %s.+(?<!(?<!/)Test\.php)$}',.pre
7cac0 67 5f 71 75 6f 74 65 28 24 64 69 72 29 2c 0a 73 74 72 70 6f 73 28 24 6e 61 6d 65 73 70 61 63 65 g_quote($dir),.strpos($namespace
7cae0 2c 20 27 5f 27 29 20 3d 3d 3d 20 66 61 6c 73 65 20 3f 20 70 72 65 67 5f 71 75 6f 74 65 28 73 74 ,.'_').===.false.?.preg_quote(st
7cb00 72 74 72 28 24 6e 61 6d 65 73 70 61 63 65 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 29 20 3a 20 27 27 rtr($namespace,.'\\',.'/')).:.''
7cb20 0a 29 3b 0a 66 6f 72 65 61 63 68 20 28 43 6c 61 73 73 4d 61 70 47 65 6e 65 72 61 74 6f 72 3a 3a .);.foreach.(ClassMapGenerator::
7cb40 63 72 65 61 74 65 4d 61 70 28 24 64 69 72 2c 20 24 77 68 69 74 65 6c 69 73 74 29 20 61 73 20 24 createMap($dir,.$whitelist).as.$
7cb60 63 6c 61 73 73 20 3d 3e 20 24 70 61 74 68 29 20 7b 0a 69 66 20 28 27 27 20 3d 3d 3d 20 24 6e 61 class.=>.$path).{.if.(''.===.$na
7cb80 6d 65 73 70 61 63 65 20 7c 7c 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 63 6c 61 73 73 2c 20 mespace.||.0.===.strpos($class,.
7cba0 24 6e 61 6d 65 73 70 61 63 65 29 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 63 6c 61 73 73 $namespace)).{.if.(!isset($class
7cbc0 4d 61 70 5b 24 63 6c 61 73 73 5d 29 29 20 7b 0a 24 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 Map[$class])).{.$path.=.$this->g
7cbe0 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 65 50 61 74 etPathCode($filesystem,.$basePat
7cc00 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 70 61 74 68 29 3b 0a 24 63 6c 61 73 73 4d 61 h,.$vendorPath,.$path);.$classMa
7cc20 70 5b 24 63 6c 61 73 73 5d 20 3d 20 24 70 61 74 68 2e 22 2c 5c 6e 22 3b 0a 7d 0a 7d 0a 7d 0a 7d p[$class].=.$path.",\n";.}.}.}.}
7cc40 0a 7d 0a 7d 0a 0a 24 61 75 74 6f 6c 6f 61 64 73 5b 27 63 6c 61 73 73 6d 61 70 27 5d 20 3d 20 6e .}.}..$autoloads['classmap'].=.n
7cc60 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 6e 65 ew.\RecursiveIteratorIterator(ne
7cc80 77 20 5c 52 65 63 75 72 73 69 76 65 41 72 72 61 79 49 74 65 72 61 74 6f 72 28 24 61 75 74 6f 6c w.\RecursiveArrayIterator($autol
7cca0 6f 61 64 73 5b 27 63 6c 61 73 73 6d 61 70 27 5d 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 61 75 oads['classmap']));.foreach.($au
7ccc0 74 6f 6c 6f 61 64 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 66 toloads['classmap'].as.$dir).{.f
7cce0 6f 72 65 61 63 68 20 28 43 6c 61 73 73 4d 61 70 47 65 6e 65 72 61 74 6f 72 3a 3a 63 72 65 61 74 oreach.(ClassMapGenerator::creat
7cd00 65 4d 61 70 28 24 64 69 72 29 20 61 73 20 24 63 6c 61 73 73 20 3d 3e 20 24 70 61 74 68 29 20 7b eMap($dir).as.$class.=>.$path).{
7cd20 0a 24 70 61 74 68 20 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 .$path.=.$this->getPathCode($fil
7cd40 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 50 61 74 68 2c esystem,.$basePath,.$vendorPath,
7cd60 20 24 70 61 74 68 29 3b 0a 24 63 6c 61 73 73 4d 61 70 5b 24 63 6c 61 73 73 5d 20 3d 20 24 70 61 .$path);.$classMap[$class].=.$pa
7cd80 74 68 2e 22 2c 5c 6e 22 3b 0a 7d 0a 7d 0a 0a 6b 73 6f 72 74 28 24 63 6c 61 73 73 4d 61 70 29 3b th.",\n";.}.}..ksort($classMap);
7cda0 0a 66 6f 72 65 61 63 68 20 28 24 63 6c 61 73 73 4d 61 70 20 61 73 20 24 63 6c 61 73 73 20 3d 3e .foreach.($classMap.as.$class.=>
7cdc0 20 24 63 6f 64 65 29 20 7b 0a 24 63 6c 61 73 73 6d 61 70 46 69 6c 65 20 2e 3d 20 27 20 20 20 20 .$code).{.$classmapFile..=.'....
7cde0 27 2e 76 61 72 5f 65 78 70 6f 72 74 28 24 63 6c 61 73 73 2c 20 74 72 75 65 29 2e 27 20 3d 3e 20 '.var_export($class,.true).'.=>.
7ce00 27 2e 24 63 6f 64 65 3b 0a 7d 0a 24 63 6c 61 73 73 6d 61 70 46 69 6c 65 20 2e 3d 20 22 29 3b 5c '.$code;.}.$classmapFile..=.");\
7ce20 6e 22 3b 0a 0a 69 66 20 28 21 24 73 75 66 66 69 78 29 20 7b 0a 24 73 75 66 66 69 78 20 3d 20 6d n";..if.(!$suffix).{.$suffix.=.m
7ce40 64 35 28 75 6e 69 71 69 64 28 27 27 2c 20 74 72 75 65 29 29 3b 0a 7d 0a 0a 66 69 6c 65 5f 70 75 d5(uniqid('',.true));.}..file_pu
7ce60 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 61 64 t_contents($targetDir.'/autoload
7ce80 5f 6e 61 6d 65 73 70 61 63 65 73 2e 70 68 70 27 2c 20 24 6e 61 6d 65 73 70 61 63 65 73 46 69 6c _namespaces.php',.$namespacesFil
7cea0 65 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 e);.file_put_contents($targetDir
7cec0 2e 27 2f 61 75 74 6f 6c 6f 61 64 5f 63 6c 61 73 73 6d 61 70 2e 70 68 70 27 2c 20 24 63 6c 61 73 .'/autoload_classmap.php',.$clas
7cee0 73 6d 61 70 46 69 6c 65 29 3b 0a 69 66 20 28 24 69 6e 63 6c 75 64 65 50 61 74 68 46 69 6c 65 20 smapFile);.if.($includePathFile.
7cf00 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 63 6c 75 64 65 50 61 74 68 73 46 69 6c 65 28 24 70 61 =.$this->getIncludePathsFile($pa
7cf20 63 6b 61 67 65 4d 61 70 2c 20 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 24 62 61 73 65 50 61 74 68 ckageMap,.$filesystem,.$basePath
7cf40 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 6f 64 65 35 32 ,.$vendorPath,.$vendorPathCode52
7cf60 2c 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 ,.$appBaseDirCode)).{.file_put_c
7cf80 6f 6e 74 65 6e 74 73 28 24 74 61 72 67 65 74 44 69 72 2e 27 2f 69 6e 63 6c 75 64 65 5f 70 61 74 ontents($targetDir.'/include_pat
7cfa0 68 73 2e 70 68 70 27 2c 20 24 69 6e 63 6c 75 64 65 50 61 74 68 46 69 6c 65 29 3b 0a 7d 0a 69 66 hs.php',.$includePathFile);.}.if
7cfc0 20 28 24 69 6e 63 6c 75 64 65 46 69 6c 65 73 46 69 6c 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 .($includeFilesFile.=.$this->get
7cfe0 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 66 69 6c IncludeFilesFile($autoloads['fil
7d000 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 20 24 76 es'],.$filesystem,.$basePath,.$v
7d020 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 20 24 61 endorPath,.$vendorPathCode52,.$a
7d040 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 6e 74 65 ppBaseDirCode)).{.file_put_conte
7d060 6e 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 66 69 6c 65 73 2e nts($targetDir.'/autoload_files.
7d080 70 68 70 27 2c 20 24 69 6e 63 6c 75 64 65 46 69 6c 65 73 46 69 6c 65 29 3b 0a 7d 0a 66 69 6c 65 php',.$includeFilesFile);.}.file
7d0a0 5f 70 75 74 5f 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 _put_contents($vendorPath.'/auto
7d0c0 6c 6f 61 64 2e 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 load.php',.$this->getAutoloadFil
7d0e0 65 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 24 73 e($vendorPathToTargetDirCode,.$s
7d100 75 66 66 69 78 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 uffix));.file_put_contents($targ
7d120 65 74 44 69 72 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 etDir.'/autoload_real.php',.$thi
7d140 73 2d 3e 67 65 74 41 75 74 6f 6c 6f 61 64 52 65 61 6c 46 69 6c 65 28 74 72 75 65 2c 20 74 72 75 s->getAutoloadRealFile(true,.tru
7d160 65 2c 20 28 62 6f 6f 6c 29 20 24 69 6e 63 6c 75 64 65 50 61 74 68 46 69 6c 65 2c 20 24 74 61 72 e,.(bool).$includePathFile,.$tar
7d180 67 65 74 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 getDirLoader,.(bool).$includeFil
7d1a0 65 73 46 69 6c 65 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 esFile,.$vendorPathCode,.$appBas
7d1c0 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 61 6c 49 6e 63 eDirCode,.$suffix,.$useGlobalInc
7d1e0 6c 75 64 65 50 61 74 68 29 29 3b 0a 0a 0a 20 0a 20 24 73 6f 75 72 63 65 4c 6f 61 64 65 72 20 3d ludePath));......$sourceLoader.=
7d200 20 66 6f 70 65 6e 28 5f 5f 44 49 52 5f 5f 2e 27 2f 43 6c 61 73 73 4c 6f 61 64 65 72 2e 70 68 70 .fopen(__DIR__.'/ClassLoader.php
7d220 27 2c 20 27 72 27 29 3b 0a 24 74 61 72 67 65 74 4c 6f 61 64 65 72 20 3d 20 66 6f 70 65 6e 28 24 ',.'r');.$targetLoader.=.fopen($
7d240 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 70 27 2c 20 27 77 targetDir.'/ClassLoader.php',.'w
7d260 2b 27 29 3b 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 +');.stream_copy_to_stream($sour
7d280 63 65 4c 6f 61 64 65 72 2c 20 24 74 61 72 67 65 74 4c 6f 61 64 65 72 29 3b 0a 66 63 6c 6f 73 65 ceLoader,.$targetLoader);.fclose
7d2a0 28 24 73 6f 75 72 63 65 4c 6f 61 64 65 72 29 3b 0a 66 63 6c 6f 73 65 28 24 74 61 72 67 65 74 4c ($sourceLoader);.fclose($targetL
7d2c0 6f 61 64 65 72 29 3b 0a 75 6e 73 65 74 28 24 73 6f 75 72 63 65 4c 6f 61 64 65 72 2c 20 24 74 61 oader);.unset($sourceLoader,.$ta
7d2e0 72 67 65 74 4c 6f 61 64 65 72 29 3b 0a 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 rgetLoader);..$this->eventDispat
7d300 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 28 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 cher->dispatch(ScriptEvents::POS
7d320 54 5f 41 55 54 4f 4c 4f 41 44 5f 44 55 4d 50 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 T_AUTOLOAD_DUMP);.}..public.func
7d340 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 6c 6c 61 74 69 6f tion.buildPackageMap(Installatio
7d360 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 67 65 72 2c 20 50 nManager.$installationManager,.P
7d380 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 2c 20 61 72 ackageInterface.$mainPackage,.ar
7d3a0 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 65 4d 61 70 20 3d ray.$packages).{...$packageMap.=
7d3c0 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 20 27 27 29 29 3b .array(array($mainPackage,.''));
7d3e0 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 61 63 6b 61 67 65 ..foreach.($packages.as.$package
7d400 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 41 6c 69 61 ).{.if.($package.instanceof.Alia
7d420 73 50 61 63 6b 61 67 65 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 sPackage).{.continue;.}..$packag
7d440 65 4d 61 70 5b 5d 20 3d 20 61 72 72 61 79 28 0a 24 70 61 63 6b 61 67 65 2c 0a 24 69 6e 73 74 61 eMap[].=.array(.$package,.$insta
7d460 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 50 61 74 68 28 24 llationManager->getInstallPath($
7d480 70 61 63 6b 61 67 65 29 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 4d 61 package).);.}..return.$packageMa
7d4a0 70 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 72 p;.}.........public.function.par
7d4c0 73 65 41 75 74 6f 6c 6f 61 64 73 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 4d 61 70 2c 20 50 seAutoloads(array.$packageMap,.P
7d4e0 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 29 0a 7b 0a ackageInterface.$mainPackage).{.
7d500 24 6d 61 69 6e 50 61 63 6b 61 67 65 4d 61 70 20 3d 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 70 $mainPackageMap.=.array_shift($p
7d520 61 63 6b 61 67 65 4d 61 70 29 3b 0a 24 73 6f 72 74 65 64 50 61 63 6b 61 67 65 4d 61 70 20 3d 20 ackageMap);.$sortedPackageMap.=.
7d540 24 74 68 69 73 2d 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 $this->sortPackageMap($packageMa
7d560 70 29 3b 0a 24 73 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 p);.$sortedPackageMap[].=.$mainP
7d580 61 63 6b 61 67 65 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 ackageMap;.array_unshift($packag
7d5a0 65 4d 61 70 2c 20 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 eMap,.$mainPackageMap);..$psr0.=
7d5c0 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 6b .$this->parseAutoloadsType($pack
7d5e0 61 67 65 4d 61 70 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 ageMap,.'psr-0',.$mainPackage);.
7d600 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 64 $classmap.=.$this->parseAutoload
7d620 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 63 6c 61 73 73 6d sType($sortedPackageMap,.'classm
7d640 61 70 27 2c 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 29 3b 0a 24 66 69 6c 65 73 20 3d 20 24 74 68 ap',.$mainPackage);.$files.=.$th
7d660 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
7d680 63 6b 61 67 65 4d 61 70 2c 20 27 66 69 6c 65 73 27 2c 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 29 ckageMap,.'files',.$mainPackage)
7d6a0 3b 0a 0a 6b 72 73 6f 72 74 28 24 70 73 72 30 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 ;..krsort($psr0);..return.array(
7d6c0 27 70 73 72 2d 30 27 20 3d 3e 20 24 70 73 72 30 2c 20 27 63 6c 61 73 73 6d 61 70 27 20 3d 3e 20 'psr-0'.=>.$psr0,.'classmap'.=>.
7d6e0 24 63 6c 61 73 73 6d 61 70 2c 20 27 66 69 6c 65 73 27 20 3d 3e 20 24 66 69 6c 65 73 29 3b 0a 7d $classmap,.'files'.=>.$files);.}
7d700 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 72 65 61 74 65 4c 6f ........public.function.createLo
7d720 61 64 65 72 28 61 72 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 ader(array.$autoloads).{.$loader
7d740 20 3d 20 6e 65 77 20 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 .=.new.ClassLoader();..if.(isset
7d760 28 24 61 75 74 6f 6c 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 ($autoloads['psr-0'])).{.foreach
7d780 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 61 6d 65 73 70 .($autoloads['psr-0'].as.$namesp
7d7a0 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 61 64 64 28 24 6e 61 ace.=>.$path).{.$loader->add($na
7d7c0 6d 65 73 70 61 63 65 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6c 6f mespace,.$path);.}.}..return.$lo
7d7e0 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 49 ader;.}..protected.function.getI
7d800 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 61 ncludePathsFile(array.$packageMa
7d820 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 65 p,.Filesystem.$filesystem,.$base
7d840 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 6f Path,.$vendorPath,.$vendorPathCo
7d860 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 50 de,.$appBaseDirCode).{.$includeP
7d880 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 61 aths.=.array();..foreach.($packa
7d8a0 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 2c geMap.as.$item).{.list($package,
7d8c0 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 6c .$installPath).=.$item;..if.(nul
7d8e0 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 26 l.!==.$package->getTargetDir().&
7d900 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 28 &.strlen($package->getTargetDir(
7d920 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 28 )).>.0).{.$installPath.=.substr(
7d940 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 61 $installPath,.0,.-strlen('/'.$pa
7d960 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 65 ckage->getTargetDir()));.}..fore
7d980 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 29 ach.($package->getIncludePaths()
7d9a0 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 68 .as.$includePath).{.$includePath
7d9c0 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 63 .=.trim($includePath,.'/');.$inc
7d9e0 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 68 ludePaths[].=.empty($installPath
7da00 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 2e ).?.$includePath.:.$installPath.
7da20 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 63 '/'.$includePath;.}.}..if.(!$inc
7da40 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 65 ludePaths).{.return;.}..$include
7da60 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 64 PathsCode.=.'';.foreach.($includ
7da80 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 73 ePaths.as.$path).{.$includePaths
7daa0 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 43 Code..=."...."...$this->getPathC
7dac0 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 6e ode($filesystem,.$basePath,.$ven
7dae0 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 75 dorPath,.$path)...",\n";.}..retu
7db00 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 68 rn.<<<EOF.<?php..//.include_path
7db20 73 2e 70 68 70 20 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 76 s.php.generated.by.Composer..\$v
7db40 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 62 61 endorDir.=.$vendorPathCode;.\$ba
7db60 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 72 6e seDir.=.$appBaseDirCode;..return
7db80 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 4f 46 .array(.$includePathsCode);..EOF
7dba0 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 6c 75 ;.}..protected.function.getInclu
7dbc0 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 73 79 deFilesFile(array.$files,.Filesy
7dbe0 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 76 65 stem.$filesystem,.$basePath,.$ve
7dc00 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 70 42 ndorPath,.$vendorPathCode,.$appB
7dc20 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 0a 24 aseDirCode).{.$filesCode.=.'';.$
7dc40 66 69 6c 65 73 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 74 files.=.new.\RecursiveIteratorIt
7dc60 65 72 61 74 6f 72 28 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 erator(new.\RecursiveArrayIterat
7dc80 6f 72 28 24 66 69 6c 65 73 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 66 69 6c 65 73 20 61 73 20 or($files));.foreach.($files.as.
7dca0 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 64 65 20 2e 3d 20 27 $functionFile).{.$filesCode..=.'
7dcc0 20 20 20 20 27 2e 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 ....'.$this->getPathCode($filesy
7dce0 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 66 stem,.$basePath,.$vendorPath,.$f
7dd00 75 6e 63 74 69 6f 6e 46 69 6c 65 29 2e 22 2c 5c 6e 22 3b 0a 7d 0a 0a 69 66 20 28 21 24 66 69 6c unctionFile).",\n";.}..if.(!$fil
7dd20 65 73 43 6f 64 65 29 20 7b 0a 72 65 74 75 72 6e 20 46 41 4c 53 45 3b 0a 7d 0a 0a 72 65 74 75 72 esCode).{.return.FALSE;.}..retur
7dd40 6e 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 66 69 6c 65 n.<<<EOF.<?php..//.autoload_file
7dd60 73 2e 70 68 70 20 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 76 s.php.generated.by.Composer..\$v
7dd80 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 62 61 endorDir.=.$vendorPathCode;.\$ba
7dda0 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 72 6e seDir.=.$appBaseDirCode;..return
7ddc0 20 61 72 72 61 79 28 0a 24 66 69 6c 65 73 43 6f 64 65 29 3b 0a 45 4f 46 3b 0a 7d 0a 0a 70 72 6f .array(.$filesCode);.EOF;.}..pro
7dde0 74 65 63 74 65 64 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 tected.function.getPathCode(File
7de00 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,.$
7de20 76 65 6e 64 6f 72 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 vendorPath,.$path).{.if.(!$files
7de40 79 73 74 65 6d 2d 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 ystem->isAbsolutePath($path)).{.
7de60 24 70 61 74 68 20 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 $path.=.$basePath...'/'...$path;
7de80 0a 7d 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
7dea0 65 50 61 74 68 28 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 ePath($path);..$baseDir.=.'';.if
7dec0 20 28 73 74 72 70 6f 73 28 24 70 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 29 20 3d 3d 3d .(strpos($path,.$vendorPath).===
7dee0 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 72 6c .0).{.$path.=.substr($path,.strl
7df00 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 24 76 en($vendorPath));.$baseDir.=.'$v
7df20 65 6e 64 6f 72 44 69 72 20 2e 20 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 74 68 20 3d 20 24 endorDir...';.}.else.{.$path.=.$
7df40 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 24 66 69 6c 65 73 filesystem->normalizePath($files
7df60 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 62 61 73 65 50 61 74 ystem->findShortestPath($basePat
7df80 68 2c 20 24 70 61 74 68 2c 20 74 72 75 65 29 29 3b 0a 69 66 20 28 21 24 66 69 6c 65 73 79 73 74 h,.$path,.true));.if.(!$filesyst
7dfa0 65 6d 2d 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 62 61 em->isAbsolutePath($path)).{.$ba
7dfc0 73 65 44 69 72 20 3d 20 27 24 62 61 73 65 44 69 72 20 2e 20 27 3b 0a 24 70 61 74 68 20 3d 20 27 seDir.=.'$baseDir...';.$path.=.'
7dfe0 2f 27 20 2e 20 24 70 61 74 68 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 /'...$path;.}.}..if.(preg_match(
7e000 27 2f 5c 2e 70 68 61 72 24 2f 27 2c 20 24 70 61 74 68 29 29 20 7b 0a 24 62 61 73 65 44 69 72 20 '/\.phar$/',.$path)).{.$baseDir.
7e020 3d 20 22 27 70 68 61 72 3a 2f 2f 27 20 2e 20 22 20 2e 20 24 62 61 73 65 44 69 72 3b 0a 7d 0a 0a =."'phar://'..."...$baseDir;.}..
7e040 72 65 74 75 72 6e 20 24 62 61 73 65 44 69 72 2e 76 61 72 5f 65 78 70 6f 72 74 28 24 70 61 74 68 return.$baseDir.var_export($path
7e060 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 74 69 6f 6e 20 67 ,.true);.}..protected.function.g
7e080 65 74 41 75 74 6f 6c 6f 61 64 46 69 6c 65 28 24 76 65 6e 64 6f 72 50 61 74 68 54 6f 54 61 72 67 etAutoloadFile($vendorPathToTarg
7e0a0 65 74 44 69 72 43 6f 64 65 2c 20 24 73 75 66 66 69 78 29 0a 7b 0a 72 65 74 75 72 6e 20 3c 3c 3c etDirCode,.$suffix).{.return.<<<
7e0c0 41 55 54 4f 4c 4f 41 44 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 61 75 74 6f 6c 6f 61 64 2e 70 68 70 20 AUTOLOAD.<?php..//.autoload.php.
7e0e0 67 65 6e 65 72 61 74 65 64 20 62 79 20 43 6f 6d 70 6f 73 65 72 0a 0a 72 65 71 75 69 72 65 5f 6f generated.by.Composer..require_o
7e100 6e 63 65 20 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 20 2e nce.$vendorPathToTargetDirCode..
7e120 20 27 2f 61 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 .'/autoload_real.php';..return.C
7e140 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 3a 3a 67 65 omposerAutoloaderInit$suffix::ge
7e160 74 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 tLoader();..AUTOLOAD;.}..protect
7e180 65 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 ed.function.getAutoloadRealFile(
7e1a0 24 75 73 65 50 53 52 30 2c 20 24 75 73 65 43 6c 61 73 73 4d 61 70 2c 20 24 75 73 65 49 6e 63 6c $usePSR0,.$useClassMap,.$useIncl
7e1c0 75 64 65 50 61 74 68 2c 20 24 74 61 72 67 65 74 44 69 72 4c 6f 61 64 65 72 2c 20 24 75 73 65 49 udePath,.$targetDirLoader,.$useI
7e1e0 6e 63 6c 75 64 65 46 69 6c 65 73 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 2c 20 24 61 ncludeFiles,.$vendorPathCode,.$a
7e200 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
7e220 61 6c 49 6e 63 6c 75 64 65 50 61 74 68 29 0a 7b 0a 0a 20 0a 20 0a 20 0a 20 0a 20 0a 0a 24 66 69 alIncludePath).{.............$fi
7e240 6c 65 20 3d 20 3c 3c 3c 48 45 41 44 45 52 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 61 75 74 6f 6c 6f 61 le.=.<<<HEADER.<?php..//.autoloa
7e260 64 5f 72 65 61 6c 2e 70 68 70 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 43 6f 6d 70 6f 73 65 72 d_real.php.generated.by.Composer
7e280 0a 0a 63 6c 61 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 24 73 ..class.ComposerAutoloaderInit$s
7e2a0 75 66 66 69 78 0a 7b 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 uffix.{.....private.static.\$loa
7e2c0 64 65 72 3b 0a 0a 20 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 der;......public.static.function
7e2e0 20 6c 6f 61 64 43 6c 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 .loadClassLoader(\$class).....{.
7e300 20 20 20 20 20 20 20 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 ........if.('Composer\\Autoload\
7e320 5c 43 6c 61 73 73 4c 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 \ClassLoader'.===.\$class).{....
7e340 20 20 20 20 20 20 20 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 .........require.__DIR__...'/Cla
7e360 73 73 4c 6f 61 64 65 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 ssLoader.php';.........}.....}..
7e380 20 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 67 65 74 4c 6f ....public.static.function.getLo
7e3a0 61 64 65 72 28 29 0a 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 ader().....{.........if.(null.!=
7e3c0 3d 20 73 65 6c 66 3a 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 =.self::\$loader).{.............
7e3e0 72 65 74 75 72 6e 20 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 return.self::\$loader;.........}
7e400 0a 0a 20 20 20 20 20 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 ..........spl_autoload_register(
7e420 61 72 72 61 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 array('ComposerAutoloaderInit$su
7e440 66 66 69 78 27 2c 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 ffix',.'loadClassLoader'),.true,
7e460 20 74 72 75 65 29 3b 0a 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 5c 24 6c 6f 61 64 65 72 20 3d .true);.........self::\$loader.=
7e480 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 72 5c 5c 41 75 74 6f .\$loader.=.new.\\Composer\\Auto
7e4a0 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 20 20 20 20 73 70 6c load\\ClassLoader();.........spl
7e4c0 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 27 43 6f 6d 70 _autoload_unregister(array('Comp
7e4e0 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 27 6c 6f 61 oserAutoloaderInit$suffix',.'loa
7e500 64 43 6c 61 73 73 4c 6f 61 64 65 72 27 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 5c 24 76 65 6e 64 dClassLoader'));..........\$vend
7e520 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 20 20 20 20 20 20 20 orDir.=.$vendorPathCode;........
7e540 20 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 0a .\$baseDir.=.$appBaseDirCode;...
7e560 48 45 41 44 45 52 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 HEADER;..if.($useIncludePath).{.
7e580 24 66 69 6c 65 20 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 $file..=.<<<'INCLUDE_PATH'......
7e5a0 20 20 20 24 69 6e 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 ...$includePaths.=.require.__DIR
7e5c0 5f 5f 20 2e 20 27 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 __...'/include_paths.php';......
7e5e0 20 20 20 61 72 72 61 79 5f 70 75 73 68 28 24 69 6e 63 6c 75 64 65 50 61 74 68 73 2c 20 67 65 74 ...array_push($includePaths,.get
7e600 5f 69 6e 63 6c 75 64 65 5f 70 61 74 68 28 29 29 3b 0a 20 20 20 20 20 20 20 20 73 65 74 5f 69 6e _include_path());.........set_in
7e620 63 6c 75 64 65 5f 70 61 74 68 28 6a 6f 69 6e 28 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52 2c 20 clude_path(join(PATH_SEPARATOR,.
7e640 24 69 6e 63 6c 75 64 65 50 61 74 68 73 29 29 3b 0a 0a 0a 49 4e 43 4c 55 44 45 5f 50 41 54 48 3b $includePaths));...INCLUDE_PATH;
7e660 0a 7d 0a 0a 69 66 20 28 24 75 73 65 50 53 52 30 29 20 7b 0a 24 66 69 6c 65 20 2e 3d 20 3c 3c 3c .}..if.($usePSR0).{.$file..=.<<<
7e680 27 50 53 52 30 27 0a 20 20 20 20 20 20 20 20 24 6d 61 70 20 3d 20 72 65 71 75 69 72 65 20 5f 5f 'PSR0'.........$map.=.require.__
7e6a0 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 61 63 65 73 2e 70 68 DIR__...'/autoload_namespaces.ph
7e6c0 70 27 3b 0a 20 20 20 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 p';.........foreach.($map.as.$na
7e6e0 6d 65 73 70 61 63 65 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 mespace.=>.$path).{.............
7e700 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 3b $loader->set($namespace,.$path);
7e720 0a 20 20 20 20 20 20 20 20 7d 0a 0a 0a 50 53 52 30 3b 0a 7d 0a 0a 69 66 20 28 24 75 73 65 43 6c .........}...PSR0;.}..if.($useCl
7e740 61 73 73 4d 61 70 29 20 7b 0a 24 66 69 6c 65 20 2e 3d 20 3c 3c 3c 27 43 4c 41 53 53 4d 41 50 27 assMap).{.$file..=.<<<'CLASSMAP'
7e760 0a 20 20 20 20 20 20 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 .........$classMap.=.require.__D
7e780 49 52 5f 5f 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 3b IR__...'/autoload_classmap.php';
7e7a0 0a 20 20 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 .........if.($classMap).{.......
7e7c0 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 73 ......$loader->addClassMap($clas
7e7e0 73 4d 61 70 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 0a 43 4c 41 53 53 4d 41 50 3b 0a 7d 0a 0a sMap);.........}...CLASSMAP;.}..
7e800 69 66 20 28 24 75 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 if.($useGlobalIncludePath).{.$fi
7e820 6c 65 20 2e 3d 20 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 le..=.<<<'INCLUDEPATH'.........$
7e840 6c 6f 61 64 65 72 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 loader->setUseIncludePath(true);
7e860 0a 0a 49 4e 43 4c 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 ..INCLUDEPATH;.}..if.($targetDir
7e880 4c 6f 61 64 65 72 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 41 Loader).{.$file..=.<<<REGISTER_A
7e8a0 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 64 5f 72 65 67 UTOLOAD.........spl_autoload_reg
7e8c0 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 61 64 65 72 49 ister(array('ComposerAutoloaderI
7e8e0 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 72 75 65 2c 20 nit$suffix',.'autoload'),.true,.
7e900 74 72 75 65 29 3b 0a 0a 0a 52 45 47 49 53 54 45 52 5f 41 55 54 4f 4c 4f 41 44 3b 0a 0a 7d 0a 0a true);...REGISTER_AUTOLOAD;..}..
7e920 24 66 69 6c 65 20 2e 3d 20 3c 3c 3c 52 45 47 49 53 54 45 52 5f 4c 4f 41 44 45 52 0a 20 20 20 20 $file..=.<<<REGISTER_LOADER.....
7e940 20 20 20 20 5c 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 0a ....\$loader->register(true);...
7e960 52 45 47 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 REGISTER_LOADER;..if.($useInclud
7e980 65 46 69 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 eFiles).{.$file..=.<<<INCLUDE_FI
7e9a0 4c 45 53 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 72 65 71 75 69 72 65 20 5f 5f 44 LES.........foreach.(require.__D
7e9c0 49 52 5f 5f 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 66 69 6c 65 73 2e 70 68 70 27 20 61 73 20 IR__...'/autoload_files.php'.as.
7e9e0 5c 24 66 69 6c 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 71 75 69 72 65 20 5c 24 \$file).{.............require.\$
7ea00 66 69 6c 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 0a 49 4e 43 4c 55 44 45 5f 46 49 4c 45 53 3b file;.........}...INCLUDE_FILES;
7ea20 0a 0a 7d 0a 0a 24 66 69 6c 65 20 2e 3d 20 3c 3c 3c 4d 45 54 48 4f 44 5f 46 4f 4f 54 45 52 0a 20 ..}..$file..=.<<<METHOD_FOOTER..
7ea40 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 5c 24 6c 6f 61 64 65 72 3b 0a 20 20 20 20 7d 0a 0a 4d .......return.\$loader;.....}..M
7ea60 45 54 48 4f 44 5f 46 4f 4f 54 45 52 3b 0a 0a 24 66 69 6c 65 20 2e 3d 20 24 74 61 72 67 65 74 44 ETHOD_FOOTER;..$file..=.$targetD
7ea80 69 72 4c 6f 61 64 65 72 3b 0a 0a 72 65 74 75 72 6e 20 24 66 69 6c 65 20 2e 20 3c 3c 3c 46 4f 4f irLoader;..return.$file...<<<FOO
7eaa0 54 45 52 0a 7d 0a 0a 46 4f 4f 54 45 52 3b 0a 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e TER.}..FOOTER;..}..protected.fun
7eac0 63 74 69 6f 6e 20 70 61 72 73 65 41 75 74 6f 6c 6f 61 64 73 54 79 70 65 28 61 72 72 61 79 20 24 ction.parseAutoloadsType(array.$
7eae0 70 61 63 6b 61 67 65 4d 61 70 2c 20 24 74 79 70 65 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 packageMap,.$type,.PackageInterf
7eb00 61 63 65 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 29 0a 7b 0a 24 61 75 74 6f 6c 6f 61 64 73 20 3d ace.$mainPackage).{.$autoloads.=
7eb20 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 4d 61 70 20 .array();..foreach.($packageMap.
7eb40 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 2c 20 24 69 6e 73 74 as.$item).{.list($package,.$inst
7eb60 61 6c 6c 50 61 74 68 29 20 3d 20 24 69 74 65 6d 3b 0a 0a 24 61 75 74 6f 6c 6f 61 64 20 3d 20 24 allPath).=.$item;..$autoload.=.$
7eb80 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 75 74 6f 6c 6f 61 64 28 29 3b 0a 0a 0a 20 69 66 20 28 21 package->getAutoload();....if.(!
7eba0 69 73 73 65 74 28 24 61 75 74 6f 6c 6f 61 64 5b 24 74 79 70 65 5d 29 20 7c 7c 20 21 69 73 5f 61 isset($autoload[$type]).||.!is_a
7ebc0 72 72 61 79 28 24 61 75 74 6f 6c 6f 61 64 5b 24 74 79 70 65 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e rray($autoload[$type])).{.contin
7ebe0 75 65 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 ue;.}.if.(null.!==.$package->get
7ec00 54 61 72 67 65 74 44 69 72 28 29 20 26 26 20 24 70 61 63 6b 61 67 65 20 21 3d 3d 20 24 6d 61 69 TargetDir().&&.$package.!==.$mai
7ec20 6e 50 61 63 6b 61 67 65 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 50 61 74 68 20 3d 20 73 75 62 73 74 nPackage).{.$installPath.=.subst
7ec40 72 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 r($installPath,.0,.-strlen('/'.$
7ec60 70 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 package->getTargetDir()));.}..fo
7ec80 72 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 5b 24 74 79 70 65 5d 20 61 73 20 24 6e 61 6d 65 reach.($autoload[$type].as.$name
7eca0 73 70 61 63 65 20 3d 3e 20 24 70 61 74 68 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 28 61 72 72 space.=>.$paths).{.foreach.((arr
7ecc0 61 79 29 20 24 70 61 74 68 73 20 61 73 20 24 70 61 74 68 29 20 7b 0a 0a 20 69 66 20 28 24 74 79 ay).$paths.as.$path).{...if.($ty
7ece0 70 65 20 3d 3d 3d 20 27 66 69 6c 65 73 27 20 26 26 20 24 70 61 63 6b 61 67 65 20 3d 3d 3d 20 24 pe.===.'files'.&&.$package.===.$
7ed00 6d 61 69 6e 50 61 63 6b 61 67 65 20 26 26 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 mainPackage.&&.$package->getTarg
7ed20 65 74 44 69 72 28 29 20 26 26 20 21 69 73 5f 72 65 61 64 61 62 6c 65 28 24 69 6e 73 74 61 6c 6c etDir().&&.!is_readable($install
7ed40 50 61 74 68 2e 27 2f 27 2e 24 70 61 74 68 29 29 20 7b 0a 24 74 61 72 67 65 74 44 69 72 20 3d 20 Path.'/'.$path)).{.$targetDir.=.
7ed60 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 3c 64 69 72 73 65 70 5c 5c 3e 27 2c 20 27 5b 5c 5c str_replace('\\<dirsep\\>',.'[\\
7ed80 5c 5c 2f 5d 27 2c 20 70 72 65 67 5f 71 75 6f 74 65 28 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 \\/]',.preg_quote(str_replace(ar
7eda0 72 61 79 28 27 2f 27 2c 20 27 5c 5c 27 29 2c 20 27 3c 64 69 72 73 65 70 3e 27 2c 20 24 70 61 63 ray('/',.'\\'),.'<dirsep>',.$pac
7edc0 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 29 29 29 3b 0a 24 70 61 74 68 20 3d kage->getTargetDir())));.$path.=
7ede0 20 6c 74 72 69 6d 28 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 27 2e 24 74 61 72 67 65 74 .ltrim(preg_replace('{^'.$target
7ee00 44 69 72 2e 27 7d 27 2c 20 27 27 2c 20 6c 74 72 69 6d 28 24 70 61 74 68 2c 20 27 5c 5c 2f 27 29 Dir.'}',.'',.ltrim($path,.'\\/')
7ee20 29 2c 20 27 5c 5c 2f 27 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 74 79 70 65 20 3d 3d 3d 20 27 66 ),.'\\/');.}....if.($type.===.'f
7ee40 69 6c 65 73 27 20 26 26 20 24 70 61 63 6b 61 67 65 20 21 3d 3d 20 24 6d 61 69 6e 50 61 63 6b 61 iles'.&&.$package.!==.$mainPacka
7ee60 67 65 20 26 26 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 ge.&&.$package->getTargetDir().&
7ee80 26 20 21 69 73 5f 72 65 61 64 61 62 6c 65 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 2e 27 2f 27 2e &.!is_readable($installPath.'/'.
7eea0 24 70 61 74 68 29 29 20 7b 0a 24 70 61 74 68 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 $path)).{.$path.=.$package->getT
7eec0 61 72 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 0a 0a 20 69 argetDir()...'/'...$path;.}....i
7eee0 66 20 28 24 74 79 70 65 20 3d 3d 3d 20 27 63 6c 61 73 73 6d 61 70 27 20 26 26 20 24 70 61 63 6b f.($type.===.'classmap'.&&.$pack
7ef00 61 67 65 20 3d 3d 3d 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 20 26 26 20 24 70 61 63 6b 61 67 65 age.===.$mainPackage.&&.$package
7ef20 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 61 64 61 62 6c 65 ->getTargetDir().&&.!is_readable
7ef40 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 7b 0a 24 74 61 72 ($installPath.'/'.$path)).{.$tar
7ef60 67 65 74 44 69 72 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 3c 64 69 72 73 65 70 5c getDir.=.str_replace('\\<dirsep\
7ef80 5c 3e 27 2c 20 27 5b 5c 5c 5c 5c 2f 5d 27 2c 20 70 72 65 67 5f 71 75 6f 74 65 28 73 74 72 5f 72 \>',.'[\\\\/]',.preg_quote(str_r
7efa0 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 2f 27 2c 20 27 5c 5c 27 29 2c 20 27 3c 64 69 72 73 65 eplace(array('/',.'\\'),.'<dirse
7efc0 70 3e 27 2c 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 29 29 p>',.$package->getTargetDir())))
7efe0 3b 0a 24 70 61 74 68 20 3d 20 6c 74 72 69 6d 28 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e ;.$path.=.ltrim(preg_replace('{^
7f000 27 2e 24 74 61 72 67 65 74 44 69 72 2e 27 7d 27 2c 20 27 27 2c 20 6c 74 72 69 6d 28 24 70 61 74 '.$targetDir.'}',.'',.ltrim($pat
7f020 68 2c 20 27 5c 5c 2f 27 29 29 2c 20 27 5c 5c 2f 27 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 74 79 h,.'\\/')),.'\\/');.}....if.($ty
7f040 70 65 20 3d 3d 3d 20 27 63 6c 61 73 73 6d 61 70 27 20 26 26 20 24 70 61 63 6b 61 67 65 20 21 3d pe.===.'classmap'.&&.$package.!=
7f060 3d 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 20 26 26 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 =.$mainPackage.&&.$package->getT
7f080 61 72 67 65 74 44 69 72 28 29 20 26 26 20 21 69 73 5f 72 65 61 64 61 62 6c 65 28 24 69 6e 73 74 argetDir().&&.!is_readable($inst
7f0a0 61 6c 6c 50 61 74 68 2e 27 2f 27 2e 24 70 61 74 68 29 29 20 7b 0a 24 70 61 74 68 20 3d 20 24 70 allPath.'/'.$path)).{.$path.=.$p
7f0c0 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 20 2e 20 27 2f 27 20 2e 20 24 ackage->getTargetDir()...'/'...$
7f0e0 70 61 74 68 3b 0a 7d 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 29 path;.}..if.(empty($installPath)
7f100 29 20 7b 0a 24 61 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 65 ).{.$autoloads[$namespace][].=.e
7f120 6d 70 74 79 28 24 70 61 74 68 29 20 3f 20 27 2e 27 20 3a 20 24 70 61 74 68 3b 0a 7d 20 65 6c 73 mpty($path).?.'.'.:.$path;.}.els
7f140 65 20 7b 0a 24 61 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 e.{.$autoloads[$namespace][].=.$
7f160 69 6e 73 74 61 6c 6c 50 61 74 68 2e 27 2f 27 2e 24 70 61 74 68 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a installPath.'/'.$path;.}.}.}.}..
7f180 72 65 74 75 72 6e 20 24 61 75 74 6f 6c 6f 61 64 73 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 return.$autoloads;.}..protected.
7f1a0 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 72 61 79 20 24 70 function.sortPackageMap(array.$p
7f1c0 61 63 6b 61 67 65 4d 61 70 29 0a 7b 0a 24 70 6f 73 69 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 ackageMap).{.$positions.=.array(
7f1e0 29 3b 0a 24 6e 61 6d 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 69 6e 64 65 78 65 73 20 3d 20 );.$names.=.array();.$indexes.=.
7f200 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 4d 61 70 20 61 array();..foreach.($packageMap.a
7f220 73 20 24 70 6f 73 69 74 69 6f 6e 20 3d 3e 20 24 69 74 65 6d 29 20 7b 0a 24 6d 61 69 6e 4e 61 6d s.$position.=>.$item).{.$mainNam
7f240 65 20 3d 20 24 69 74 65 6d 5b 30 5d 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 24 6e 61 6d 65 73 20 e.=.$item[0]->getName();.$names.
7f260 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 5f 66 69 6c 6c 5f 6b 65 79 73 28 24 69 =.array_merge(array_fill_keys($i
7f280 74 65 6d 5b 30 5d 2d 3e 67 65 74 4e 61 6d 65 73 28 29 2c 20 24 6d 61 69 6e 4e 61 6d 65 29 2c 20 tem[0]->getNames(),.$mainName),.
7f2a0 24 6e 61 6d 65 73 29 3b 0a 24 6e 61 6d 65 73 5b 24 6d 61 69 6e 4e 61 6d 65 5d 20 3d 20 24 6d 61 $names);.$names[$mainName].=.$ma
7f2c0 69 6e 4e 61 6d 65 3b 0a 24 69 6e 64 65 78 65 73 5b 24 6d 61 69 6e 4e 61 6d 65 5d 20 3d 20 24 70 inName;.$indexes[$mainName].=.$p
7f2e0 6f 73 69 74 69 6f 6e 73 5b 24 6d 61 69 6e 4e 61 6d 65 5d 20 3d 20 24 70 6f 73 69 74 69 6f 6e 3b ositions[$mainName].=.$position;
7f300 0a 7d 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 20 24 69 74 65 .}..foreach.($packageMap.as.$ite
7f320 6d 29 20 7b 0a 24 70 6f 73 69 74 69 6f 6e 20 3d 20 24 70 6f 73 69 74 69 6f 6e 73 5b 24 69 74 65 m).{.$position.=.$positions[$ite
7f340 6d 5b 30 5d 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 3b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 m[0]->getName()];.foreach.(array
7f360 5f 6d 65 72 67 65 28 24 69 74 65 6d 5b 30 5d 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 2c 20 _merge($item[0]->getRequires(),.
7f380 24 69 74 65 6d 5b 30 5d 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 29 20 61 73 20 24 $item[0]->getDevRequires()).as.$
7f3a0 6c 69 6e 6b 29 20 7b 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 link).{.$target.=.$link->getTarg
7f3c0 65 74 28 29 3b 0a 69 66 20 28 21 69 73 73 65 74 28 24 6e 61 6d 65 73 5b 24 74 61 72 67 65 74 5d et();.if.(!isset($names[$target]
7f3e0 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 74 61 72 67 65 74 20 3d 20 24 6e 61 6d )).{.continue;.}..$target.=.$nam
7f400 65 73 5b 24 74 61 72 67 65 74 5d 3b 0a 69 66 20 28 24 70 6f 73 69 74 69 6f 6e 73 5b 24 74 61 72 es[$target];.if.($positions[$tar
7f420 67 65 74 5d 20 3c 3d 20 24 70 6f 73 69 74 69 6f 6e 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d get].<=.$position).{.continue;.}
7f440 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 6f 73 69 74 69 6f 6e 73 20 61 73 20 24 6b 65 79 20 3d 3e ..foreach.($positions.as.$key.=>
7f460 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 24 76 61 6c 75 65 20 3e 3d 20 24 70 6f 73 69 74 69 .$value).{.if.($value.>=.$positi
7f480 6f 6e 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 24 70 6f 73 69 74 69 6f 6e 73 5b 24 6b 65 79 5d 2d on).{.break;.}.$positions[$key]-
7f4a0 2d 3b 0a 7d 0a 0a 24 70 6f 73 69 74 69 6f 6e 73 5b 24 74 61 72 67 65 74 5d 20 3d 20 24 70 6f 73 -;.}..$positions[$target].=.$pos
7f4c0 69 74 69 6f 6e 20 2d 20 31 3b 0a 7d 0a 61 73 6f 72 74 28 24 70 6f 73 69 74 69 6f 6e 73 29 3b 0a ition.-.1;.}.asort($positions);.
7f4e0 7d 0a 0a 24 73 6f 72 74 65 64 50 61 63 6b 61 67 65 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b 0a }..$sortedPackageMap.=.array();.
7f500 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 6b 65 79 73 28 24 70 6f 73 69 74 69 6f 6e 73 29 20 foreach.(array_keys($positions).
7f520 61 73 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 20 7b 0a 24 73 6f 72 74 65 64 50 61 63 6b 61 67 as.$packageName).{.$sortedPackag
7f540 65 4d 61 70 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 4d 61 70 5b 24 69 6e 64 65 78 65 73 5b 24 70 eMap[].=.$packageMap[$indexes[$p
7f560 61 63 6b 61 67 65 4e 61 6d 65 5d 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 6f 72 74 65 64 50 ackageName]];.}..return.$sortedP
7f580 61 63 6b 61 67 65 4d 61 70 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ackageMap;.}.}.<?php............
7f5a0 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 64 3b 0a 0a 0a .namespace.Composer\Autoload;...
7f5c0 0a 0a 0a 0a 63 6c 61 73 73 20 43 6c 61 73 73 4d 61 70 47 65 6e 65 72 61 74 6f 72 0a 7b 0a 0a 0a ....class.ClassMapGenerator.{...
7f5e0 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 75 6d 70 28 ....public.static.function.dump(
7f600 24 64 69 72 73 2c 20 24 66 69 6c 65 29 0a 7b 0a 24 6d 61 70 73 20 3d 20 61 72 72 61 79 28 29 3b $dirs,.$file).{.$maps.=.array();
7f620 0a 0a 66 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 24 6d 61 70 ..foreach.($dirs.as.$dir).{.$map
7f640 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6d 61 70 73 2c 20 73 74 61 74 69 63 3a 3a 63 s.=.array_merge($maps,.static::c
7f660 72 65 61 74 65 4d 61 70 28 24 64 69 72 29 29 3b 0a 7d 0a 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e reateMap($dir));.}..file_put_con
7f680 74 65 6e 74 73 28 24 66 69 6c 65 2c 20 73 70 72 69 6e 74 66 28 27 3c 3f 70 68 70 20 72 65 74 75 tents($file,.sprintf('<?php.retu
7f6a0 72 6e 20 25 73 3b 27 2c 20 76 61 72 5f 65 78 70 6f 72 74 28 24 6d 61 70 73 2c 20 74 72 75 65 29 rn.%s;',.var_export($maps,.true)
7f6c0 29 29 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 ));.}............public.static.f
7f6e0 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 4d 61 70 28 24 70 61 74 68 2c 20 24 77 68 69 74 65 6c unction.createMap($path,.$whitel
7f700 69 73 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 70 61 74 ist.=.null).{.if.(is_string($pat
7f720 68 29 29 20 7b 0a 69 66 20 28 69 73 5f 66 69 6c 65 28 24 70 61 74 68 29 29 20 7b 0a 24 70 61 74 h)).{.if.(is_file($path)).{.$pat
7f740 68 20 3d 20 61 72 72 61 79 28 6e 65 77 20 5c 53 70 6c 46 69 6c 65 49 6e 66 6f 28 24 70 61 74 68 h.=.array(new.\SplFileInfo($path
7f760 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 64 69 72 28 24 70 61 74 68 29 29 20 7b 0a 24 ));.}.elseif.(is_dir($path)).{.$
7f780 70 61 74 68 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 74 65 path.=.new.\RecursiveIteratorIte
7f7a0 72 61 74 6f 72 28 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 rator(new.\RecursiveDirectoryIte
7f7c0 72 61 74 6f 72 28 24 70 61 74 68 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 rator($path));.}.else.{.throw.ne
7f7e0 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 64 20 6e 6f 74 20 w.\RuntimeException(.'Could.not.
7f800 73 63 61 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 scan.for.classes.inside."'.$path
7f820 2e 0a 27 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 ..'".which.does.not.appear.to.be
7f840 20 61 20 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 .a.file.nor.a.folder'.);.}.}..$m
7f860 61 70 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 74 68 20 61 73 ap.=.array();..foreach.($path.as
7f880 20 24 66 69 6c 65 29 20 7b 0a 69 66 20 28 21 24 66 69 6c 65 2d 3e 69 73 46 69 6c 65 28 29 29 20 .$file).{.if.(!$file->isFile()).
7f8a0 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 66 69 6c 65 50 61 74 68 20 3d 20 24 66 69 6c 65 {.continue;.}..$filePath.=.$file
7f8c0 2d 3e 67 65 74 52 65 61 6c 50 61 74 68 28 29 3b 0a 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 ->getRealPath();..if.(!in_array(
7f8e0 70 61 74 68 69 6e 66 6f 28 24 66 69 6c 65 50 61 74 68 2c 20 50 41 54 48 49 4e 46 4f 5f 45 58 54 pathinfo($filePath,.PATHINFO_EXT
7f900 45 4e 53 49 4f 4e 29 2c 20 61 72 72 61 79 28 27 70 68 70 27 2c 20 27 69 6e 63 27 29 29 29 20 7b ENSION),.array('php',.'inc'))).{
7f920 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 77 68 69 74 65 6c 69 73 74 20 26 26 20 .continue;.}..if.($whitelist.&&.
7f940 21 70 72 65 67 5f 6d 61 74 63 68 28 24 77 68 69 74 65 6c 69 73 74 2c 20 73 74 72 74 72 28 24 66 !preg_match($whitelist,.strtr($f
7f960 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 6f 6e 74 69 6e 75 65 ilePath,.'\\',.'/'))).{.continue
7f980 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 64 43 6c 61 73 73 65 ;.}..$classes.=.self::findClasse
7f9a0 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 63 6c 61 73 73 65 73 s($filePath);..foreach.($classes
7f9c0 20 61 73 20 24 63 6c 61 73 73 29 20 7b 0a 24 6d 61 70 5b 24 63 6c 61 73 73 5d 20 3d 20 24 66 69 .as.$class).{.$map[$class].=.$fi
7f9e0 6c 65 50 61 74 68 3b 0a 7d 0a 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6d 61 70 3b 0a 7d 0a 0a 0a 0a lePath;.}..}..return.$map;.}....
7fa00 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 66 69 6e .....private.static.function.fin
7fa20 64 43 6c 61 73 73 65 73 28 24 70 61 74 68 29 0a 7b 0a 24 74 72 61 69 74 73 20 3d 20 76 65 72 73 dClasses($path).{.$traits.=.vers
7fa40 69 6f 6e 5f 63 6f 6d 70 61 72 65 28 50 48 50 5f 56 45 52 53 49 4f 4e 2c 20 27 35 2e 34 27 2c 20 ion_compare(PHP_VERSION,.'5.4',.
7fa60 27 3c 27 29 20 3f 20 27 27 20 3a 20 27 7c 74 72 61 69 74 27 3b 0a 0a 74 72 79 20 7b 0a 24 63 6f '<').?.''.:.'|trait';..try.{.$co
7fa80 6e 74 65 6e 74 73 20 3d 20 70 68 70 5f 73 74 72 69 70 5f 77 68 69 74 65 73 70 61 63 65 28 24 70 ntents.=.php_strip_whitespace($p
7faa0 61 74 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 29 20 7b 0a ath);.}.catch.(\Exception.$e).{.
7fac0 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 43 6f 75 throw.new.\RuntimeException('Cou
7fae0 6c 64 20 6e 6f 74 20 73 63 61 6e 20 66 6f 72 20 63 6c 61 73 73 65 73 20 69 6e 73 69 64 65 20 27 ld.not.scan.for.classes.inside.'
7fb00 2e 24 70 61 74 68 2e 22 3a 20 5c 6e 22 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 .$path.":.\n".$e->getMessage(),.
7fb20 30 2c 20 24 65 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 0,.$e);.}....if.(!preg_match('{\
7fb40 62 28 3f 3a 63 6c 61 73 73 7c 69 6e 74 65 72 66 61 63 65 27 2e 24 74 72 61 69 74 73 2e 27 29 5c b(?:class|interface'.$traits.')\
7fb60 62 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 b}i',.$contents)).{.return.array
7fb80 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
7fba0 65 28 27 7b 3c 3c 3c 5c 27 3f 28 5c 77 2b 29 5c 27 3f 28 3f 3a 5c 72 5c 6e 7c 5c 6e 7c 5c 72 29 e('{<<<\'?(\w+)\'?(?:\r\n|\n|\r)
7fbc0 28 3f 3a 2e 2a 3f 29 28 3f 3a 5c 72 5c 6e 7c 5c 6e 7c 5c 72 29 5c 5c 31 28 3f 3d 5c 72 5c 6e 7c (?:.*?)(?:\r\n|\n|\r)\\1(?=\r\n|
7fbe0 5c 6e 7c 5c 72 7c 3b 29 7d 73 27 2c 20 27 6e 75 6c 6c 27 2c 20 24 63 6f 6e 74 65 6e 74 73 29 3b \n|\r|;)}s',.'null',.$contents);
7fc00 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 65 28 27 7b 22 5b ...$contents.=.preg_replace('{"[
7fc20 5e 22 5c 5c 5c 5c 5d 2a 28 5c 5c 5c 5c 2e 5b 5e 22 5c 5c 5c 5c 5d 2a 29 2a 22 7c 5c 27 5b 5e 5c ^"\\\\]*(\\\\.[^"\\\\]*)*"|\'[^\
7fc40 27 5c 5c 5c 5c 5d 2a 28 5c 5c 5c 5c 2e 5b 5e 5c 27 5c 5c 5c 5c 5d 2a 29 2a 5c 27 7d 73 27 2c 20 '\\\\]*(\\\\.[^\'\\\\]*)*\'}s',.
7fc60 27 6e 75 6c 6c 27 2c 20 24 63 6f 6e 74 65 6e 74 73 29 3b 0a 0a 20 69 66 20 28 73 75 62 73 74 72 'null',.$contents);...if.(substr
7fc80 28 24 63 6f 6e 74 65 6e 74 73 2c 20 30 2c 20 32 29 20 21 3d 3d 20 27 3c 3f 27 29 20 7b 0a 24 63 ($contents,.0,.2).!==.'<?').{.$c
7fca0 6f 6e 74 65 6e 74 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 2e 2b 3f 3c 5c 3f ontents.=.preg_replace('{^.+?<\?
7fcc0 7d 73 27 2c 20 27 3c 3f 27 2c 20 24 63 6f 6e 74 65 6e 74 73 29 3b 0a 7d 0a 0a 20 24 63 6f 6e 74 }s',.'<?',.$contents);.}...$cont
7fce0 65 6e 74 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5c 3f 3e 2e 2b 3c 5c 3f 7d 73 ents.=.preg_replace('{\?>.+<\?}s
7fd00 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 24 70 6f 73 20 3d 20 ',.'?><?',.$contents);...$pos.=.
7fd20 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 0a 69 66 20 28 66 61 strrpos($contents,.'?>');.if.(fa
7fd40 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 20 73 74 72 70 6f 73 lse.!==.$pos.&&.false.===.strpos
7fd60 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 20 27 3c 3f 27 29 29 (substr($contents,.$pos),.'<?'))
7fd80 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 6e 74 65 6e 74 73 2c .{.$contents.=.substr($contents,
7fda0 20 30 2c 20 24 70 6f 73 29 3b 0a 7d 0a 0a 70 72 65 67 5f 6d 61 74 63 68 5f 61 6c 6c 28 27 7b 0a .0,.$pos);.}..preg_match_all('{.
7fdc0 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............(?:.................
7fde0 20 5c 62 28 3f 3c 21 5b 5c 24 3a 3e 5d 29 28 3f 50 3c 74 79 70 65 3e 63 6c 61 73 73 7c 69 6e 74 .\b(?<![\$:>])(?P<type>class|int
7fe00 65 72 66 61 63 65 27 2e 24 74 72 61 69 74 73 2e 27 29 20 5c 73 2b 20 28 3f 50 3c 6e 61 6d 65 3e erface'.$traits.').\s+.(?P<name>
7fe20 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 5c 78 37 [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7
7fe40 66 2d 5c 78 66 66 5d 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 5c 62 28 3f 3c f-\xff]*)................|.\b(?<
7fe60 21 5b 5c 24 3a 3e 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 ![\$:>])(?P<ns>namespace).(?P<ns
7fe80 6e 61 6d 65 3e 5c 73 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 name>\s+[a-zA-Z_\x7f-\xff][a-zA-
7fea0 5a 30 2d 39 5f 5c 78 37 66 2d 5c 78 66 66 5d 2a 28 3f 3a 5c 73 2a 5c 5c 5c 5c 5c 73 2a 5b 61 2d Z0-9_\x7f-\xff]*(?:\s*\\\\\s*[a-
7fec0 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 5c 78 37 66 2d 5c zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\
7fee0 78 66 66 5d 2a 29 2a 29 3f 20 5c 73 2a 5b 5c 7b 3b 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 29 xff]*)*)?.\s*[\{;].............)
7ff00 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 63 68 .........}ix',.$contents,.$match
7ff20 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 65 73 es);..$classes.=.array();.$names
7ff40 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 3d 20 pace.=.'';..for.($i.=.0,.$len.=.
7ff60 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 24 6c count($matches['type']);.$i.<.$l
7ff80 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 73 5b en;.$i++).{.if.(!empty($matches[
7ffa0 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 5f 72 'ns'][$i])).{.$namespace.=.str_r
7ffc0 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 22 5c eplace(array('.',."\t",."\r",."\
7ffe0 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 5d 29 n"),.'',.$matches['nsname'][$i])
80000 20 2e 20 27 5c 5c 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6c 61 73 73 65 73 5b 5d 20 3d 20 6c ...'\\';.}.else.{.$classes[].=.l
80020 74 72 69 6d 28 24 6e 61 6d 65 73 70 61 63 65 20 2e 20 24 6d 61 74 63 68 65 73 5b 27 6e 61 6d 65 trim($namespace...$matches['name
80040 27 5d 5b 24 69 5d 2c 20 27 5c 5c 27 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6c 61 73 '][$i],.'\\');.}.}..return.$clas
80060 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 6e 61 6d 65 73 70 ses;.}.}.<?php............namesp
80080 61 63 65 20 43 6f 6d 70 6f 73 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f ace.Composer;..use.Composer\Auto
800a0 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 70 load\AutoloadGenerator;.use.Comp
800c0 6f 73 65 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 oser\DependencyResolver\DefaultP
800e0 6f 6c 69 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 olicy;.use.Composer\DependencyRe
80100 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 5c 55 70 64 61 74 65 4f 70 65 72 61 74 69 6f 6e solver\Operation\UpdateOperation
80120 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
80140 72 5c 4f 70 65 72 61 74 69 6f 6e 5c 55 6e 69 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 3b 0a r\Operation\UninstallOperation;.
80160 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\
80180 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 6e 63 79 52 65 73 Pool;.use.Composer\DependencyRes
801a0 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 72 5c 44 65 70 65 olver\Request;.use.Composer\Depe
801c0 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 6f 6d 70 6f 73 65 ndencyResolver\Rule;.use.Compose
801e0 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 72 3b 0a 75 73 65 r\DependencyResolver\Solver;.use
80200 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 53 6f 6c .Composer\DependencyResolver\Sol
80220 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 43 6f 6d 70 6f 73 verProblemsException;.use.Compos
80240 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 75 er\Downloader\DownloadManager;.u
80260 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 61 74 69 se.Composer\Installer\Installati
80280 6f 6e 4d 61 6e 61 67 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a onManager;.use.Composer\Config;.
802a0 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 6f 70 49 6e 73 74 61 use.Composer\Installer\NoopInsta
802c0 6c 6c 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 ller;.use.Composer\IO\IOInterfac
802e0 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
80300 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 65 se.Composer\Package\AliasPackage
80320 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 0a 75 73 65 ;.use.Composer\Package\Link;.use
80340 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 74 .Composer\Package\LinkConstraint
80360 5c 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 \VersionConstraint;.use.Composer
80380 5c 50 61 63 6b 61 67 65 5c 4c 6f 63 6b 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 \Package\Locker;.use.Composer\Pa
803a0 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
803c0 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
803e0 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 6f e;.use.Composer\Repository\Compo
80400 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 65 70 siteRepository;.use.Composer\Rep
80420 6f 73 69 74 6f 72 79 5c 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
80440 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
80460 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 6f 6d ledFilesystemRepository;.use.Com
80480 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 74 poser\Repository\PlatformReposit
804a0 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 70 ory;.use.Composer\Repository\Rep
804c0 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 6f 73 65 72 5c 52 ositoryInterface;.use.Composer\R
804e0 65 70 6f 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 epository\RepositoryManager;.use
80500 20 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 .Composer\Script\EventDispatcher
80520 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 45 76 65 6e ;.use.Composer\Script\ScriptEven
80540 74 73 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 73 74 61 6c 6c 65 72 0a 7b 0a 0a 0a 0a 70 ts;.......class.Installer.{....p
80560 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 20 24 63 6f 6e rotected.$io;.....protected.$con
80580 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 3b 0a 0a 0a 0a fig;.....protected.$package;....
805a0 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 3b 0a 0a 0a 0a .protected.$downloadManager;....
805c0 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 65 72 3b 0a 0a .protected.$repositoryManager;..
805e0 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 72 6f 74 65 63 ...protected.$locker;.....protec
80600 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 0a 0a 0a 70 72 ted.$installationManager;.....pr
80620 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 0a 0a 0a 70 72 otected.$eventDispatcher;.....pr
80640 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 0a 0a 70 72 6f otected.$autoloadGenerator;..pro
80660 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 65 3b 0a 70 72 tected.$preferSource.=.false;.pr
80680 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 3b 0a 70 72 6f otected.$preferDist.=.false;.pro
806a0 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 3d 20 66 61 6c tected.$optimizeAutoloader.=.fal
806c0 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 65 76 4d 6f 64 65 20 3d 20 66 61 6c 73 65 3b 0a se;.protected.$devMode.=.false;.
806e0 70 72 6f 74 65 63 74 65 64 20 24 64 72 79 52 75 6e 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 protected.$dryRun.=.false;.prote
80700 63 74 65 64 20 24 76 65 72 62 6f 73 65 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 cted.$verbose.=.false;.protected
80720 20 24 75 70 64 61 74 65 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 75 6e .$update.=.false;.protected.$run
80740 53 63 72 69 70 74 73 20 3d 20 74 72 75 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 75 70 64 61 74 Scripts.=.true;.protected.$updat
80760 65 57 68 69 74 65 6c 69 73 74 20 3d 20 6e 75 6c 6c 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 eWhitelist.=.null;.....protected
80780 20 24 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 .$suggestedPackages;.....protect
807a0 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 6f 73 69 74 6f 72 ed.$additionalInstalledRepositor
807c0 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 6e 63 74 69 6f 6e y;...............public.function
807e0 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
80800 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 6e 74 65 72 66 61 nfig.$config,.RootPackageInterfa
80820 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 65 72 20 24 64 6f ce.$package,.DownloadManager.$do
80840 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 61 6e 61 67 65 72 wnloadManager,.RepositoryManager
80860 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 72 20 24 6c 6f 63 .$repositoryManager,.Locker.$loc
80880 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 69 6e 73 74 61 6c ker,.InstallationManager.$instal
808a0 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 63 68 65 72 20 24 lationManager,.EventDispatcher.$
808c0 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 65 6e 65 72 61 74 eventDispatcher,.AutoloadGenerat
808e0 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 73 2d 3e or.$autoloadGenerator).{.$this->
80900 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 69 io.=.$io;.$this->config.=.$confi
80920 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 67 65 3b 0a 24 74 g;.$this->package.=.$package;.$t
80940 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 77 6e 6c 6f 61 64 his->downloadManager.=.$download
80960 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 4d 61 6e 61 67 65 Manager;.$this->repositoryManage
80980 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 69 73 2d 3e 6c r.=.$repositoryManager;.$this->l
809a0 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 73 74 61 6c 6c 61 ocker.=.$locker;.$this->installa
809c0 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 6e 4d 61 6e 61 67 tionManager.=.$installationManag
809e0 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 20 3d 20 24 65 76 er;.$this->eventDispatcher.=.$ev
80a00 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 6c 6f 61 64 47 65 entDispatcher;.$this->autoloadGe
80a20 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 6f 72 3b 0a 7d 0a nerator.=.$autoloadGenerator;.}.
80a40 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 7b 0a 69 66 20 28 ....public.function.run().{.if.(
80a60 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 6f 73 65 20 $this->dryRun).{.$this->verbose.
80a80 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 66 61 6c 73 =.true;.$this->runScripts.=.fals
80aa0 65 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 e;.$this->installationManager->a
80ac0 64 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 ddInstaller(new.NoopInstaller);.
80ae0 24 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 $this->mockLocalRepositories($th
80b00 69 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 0a 20 0a 20 24 is->repositoryManager);.}......$
80b20 64 65 76 52 65 70 6f 20 3d 20 6e 65 77 20 49 6e 73 74 61 6c 6c 65 64 46 69 6c 65 73 79 73 74 65 devRepo.=.new.InstalledFilesyste
80b40 6d 52 65 70 6f 73 69 74 6f 72 79 28 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 24 74 68 69 73 2d 3e mRepository(new.JsonFile($this->
80b60 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 2e 27 2f 63 6f 6d 70 config->get('vendor-dir').'/comp
80b80 6f 73 65 72 2f 69 6e 73 74 61 6c 6c 65 64 5f 64 65 76 2e 6a 73 6f 6e 27 29 29 3b 0a 69 66 20 28 oser/installed_dev.json'));.if.(
80ba0 24 64 65 76 52 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 29 20 7b 0a 24 74 68 69 73 $devRepo->getPackages()).{.$this
80bc0 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 3c 77 61 72 6e 69 6e 67 3e 42 43 20 4e 6f 74 69 63 65 3a ->io->write('<warning>BC.Notice:
80be0 20 52 65 6d 6f 76 69 6e 67 20 6f 6c 64 20 64 65 76 20 70 61 63 6b 61 67 65 73 20 74 6f 20 6d 69 .Removing.old.dev.packages.to.mi
80c00 67 72 61 74 65 20 74 6f 20 74 68 65 20 6e 65 77 20 72 65 71 75 69 72 65 2d 64 65 76 20 68 61 6e grate.to.the.new.require-dev.han
80c20 64 6c 69 6e 67 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 dling.</warning>');.foreach.($de
80c40 76 52 65 70 6f 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 vRepo->getPackages().as.$package
80c60 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 ).{.if.($this->installationManag
80c80 65 72 2d 3e 69 73 50 61 63 6b 61 67 65 49 6e 73 74 61 6c 6c 65 64 28 24 64 65 76 52 65 70 6f 2c er->isPackageInstalled($devRepo,
80ca0 20 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f .$package)).{.$this->installatio
80cc0 6e 4d 61 6e 61 67 65 72 2d 3e 75 6e 69 6e 73 74 61 6c 6c 28 24 64 65 76 52 65 70 6f 2c 20 6e 65 nManager->uninstall($devRepo,.ne
80ce0 77 20 55 6e 69 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 28 24 70 61 63 6b 61 67 65 29 29 3b w.UninstallOperation($package));
80d00 0a 7d 0a 7d 0a 75 6e 6c 69 6e 6b 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 .}.}.unlink($this->config->get('
80d20 76 65 6e 64 6f 72 2d 64 69 72 27 29 2e 27 2f 63 6f 6d 70 6f 73 65 72 2f 69 6e 73 74 61 6c 6c 65 vendor-dir').'/composer/installe
80d40 64 5f 64 65 76 2e 6a 73 6f 6e 27 29 3b 0a 7d 0a 75 6e 73 65 74 28 24 64 65 76 52 65 70 6f 2c 20 d_dev.json');.}.unset($devRepo,.
80d60 24 70 61 63 6b 61 67 65 29 3b 0a 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 65 66 65 72 53 6f $package);...if.($this->preferSo
80d80 75 72 63 65 29 20 7b 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 2d 3e urce).{.$this->downloadManager->
80da0 73 65 74 50 72 65 66 65 72 53 6f 75 72 63 65 28 74 72 75 65 29 3b 0a 7d 0a 69 66 20 28 24 74 68 setPreferSource(true);.}.if.($th
80dc0 69 73 2d 3e 70 72 65 66 65 72 44 69 73 74 29 20 7b 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 is->preferDist).{.$this->downloa
80de0 64 4d 61 6e 61 67 65 72 2d 3e 73 65 74 50 72 65 66 65 72 44 69 73 74 28 74 72 75 65 29 3b 0a 7d dManager->setPreferDist(true);.}
80e00 0a 0a 0a 20 0a 20 0a 20 24 69 6e 73 74 61 6c 6c 65 64 52 6f 6f 74 50 61 63 6b 61 67 65 20 3d 20 ........$installedRootPackage.=.
80e20 63 6c 6f 6e 65 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 3b 0a 24 69 6e 73 74 61 6c 6c 65 64 clone.$this->package;.$installed
80e40 52 6f 6f 74 50 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 71 75 69 72 65 73 28 61 72 72 61 79 28 29 RootPackage->setRequires(array()
80e60 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 64 52 6f 6f 74 50 61 63 6b 61 67 65 2d 3e 73 65 74 44 65 76 );.$installedRootPackage->setDev
80e80 52 65 71 75 69 72 65 73 28 61 72 72 61 79 28 29 29 3b 0a 0a 0a 20 24 6c 6f 63 61 6c 52 65 70 6f Requires(array());....$localRepo
80ea0 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 67 65 74 .=.$this->repositoryManager->get
80ec0 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f LocalRepository();.$platformRepo
80ee0 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 29 3b 0a 24 72 65 .=.new.PlatformRepository();.$re
80f00 70 6f 73 20 3d 20 61 72 72 61 79 28 0a 24 6c 6f 63 61 6c 52 65 70 6f 2c 0a 6e 65 77 20 49 6e 73 pos.=.array(.$localRepo,.new.Ins
80f20 74 61 6c 6c 65 64 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 24 69 6e 73 talledArrayRepository(array($ins
80f40 74 61 6c 6c 65 64 52 6f 6f 74 50 61 63 6b 61 67 65 29 29 2c 0a 24 70 6c 61 74 66 6f 72 6d 52 65 talledRootPackage)),.$platformRe
80f60 70 6f 2c 0a 29 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 po,.);.$installedRepo.=.new.Comp
80f80 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 69 66 20 28 24 74 68 ositeRepository($repos);.if.($th
80fa0 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 6f 73 69 74 6f 72 is->additionalInstalledRepositor
80fc0 79 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f y).{.$installedRepo->addReposito
80fe0 72 79 28 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 ry($this->additionalInstalledRep
81000 6f 73 69 74 6f 72 79 29 3b 0a 7d 0a 0a 24 61 6c 69 61 73 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 ository);.}..$aliases.=.$this->g
81020 65 74 52 6f 6f 74 41 6c 69 61 73 65 73 28 29 3b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 50 6c 61 etRootAliases();.$this->aliasPla
81040 74 66 6f 72 6d 50 61 63 6b 61 67 65 73 28 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 2c 20 24 61 6c tformPackages($platformRepo,.$al
81060 69 61 73 65 73 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 29 20 iases);..if.($this->runScripts).
81080 7b 0a 0a 20 24 65 76 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 {...$eventName.=.$this->update.?
810a0 20 53 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 20 3a 20 .ScriptEvents::PRE_UPDATE_CMD.:.
810c0 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 3b 0a 24 ScriptEvents::PRE_INSTALL_CMD;.$
810e0 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 43 this->eventDispatcher->dispatchC
81100 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 64 ommandEvent($eventName,.$this->d
81120 65 76 4d 6f 64 65 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 73 75 67 67 65 73 74 evMode);.}..try.{.$this->suggest
81140 65 64 50 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 21 24 74 68 69 73 edPackages.=.array();.if.(!$this
81160 2d 3e 64 6f 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 ->doInstall($localRepo,.$install
81180 65 64 52 65 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 2c edRepo,.$platformRepo,.$aliases,
811a0 20 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 .$this->devMode)).{.return.false
811c0 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 24 74 ;.}.}.catch.(\Exception.$e).{.$t
811e0 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 79 his->installationManager->notify
81200 49 6e 73 74 61 6c 6c 73 28 29 3b 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 24 74 68 69 73 2d 3e Installs();..throw.$e;.}.$this->
81220 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
81240 6c 6c 73 28 29 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 73 75 67 67 65 73 lls();....foreach.($this->sugges
81260 74 65 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 24 74 tedPackages.as.$suggestion).{.$t
81280 61 72 67 65 74 20 3d 20 24 73 75 67 67 65 73 74 69 6f 6e 5b 27 74 61 72 67 65 74 27 5d 3b 0a 66 arget.=.$suggestion['target'];.f
812a0 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 74 50 61 63 6b 61 oreach.($installedRepo->getPacka
812c0 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 69 6e 5f 61 72 72 61 ges().as.$package).{.if.(in_arra
812e0 79 28 24 74 61 72 67 65 74 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 73 28 29 29 y($target,.$package->getNames())
81300 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 20 32 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e ).{.continue.2;.}.}..$this->io->
81320 77 72 69 74 65 28 24 73 75 67 67 65 73 74 69 6f 6e 5b 27 73 6f 75 72 63 65 27 5d 2e 27 20 73 75 write($suggestion['source'].'.su
81340 67 67 65 73 74 73 20 69 6e 73 74 61 6c 6c 69 6e 67 20 27 2e 24 73 75 67 67 65 73 74 69 6f 6e 5b ggests.installing.'.$suggestion[
81360 27 74 61 72 67 65 74 27 5d 2e 27 20 28 27 2e 24 73 75 67 67 65 73 74 69 6f 6e 5b 27 72 65 61 73 'target'].'.('.$suggestion['reas
81380 6f 6e 27 5d 2e 27 29 27 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 72 79 52 75 6e on'].')');.}..if.(!$this->dryRun
813a0 29 20 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 20 7c 7c 20 21 24 74 68 69 ).{...if.($this->update.||.!$thi
813c0 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 69 73 4c 6f 63 6b 65 64 28 29 29 20 7b 0a 24 6c 6f 63 61 6c 52 s->locker->isLocked()).{.$localR
813e0 65 70 6f 2d 3e 72 65 6c 6f 61 64 28 29 3b 0a 0a 0a 20 0a 20 24 64 65 76 50 61 63 6b 61 67 65 73 epo->reload();......$devPackages
81400 20 3d 20 28 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 20 7c 7c 20 21 24 74 68 69 73 2d 3e 70 61 .=.($this->devMode.||.!$this->pa
81420 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 3f 20 61 72 72 61 79 ckage->getDevRequires()).?.array
81440 28 29 20 3a 20 6e 75 6c 6c 3b 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 ().:.null;....if.($this->devMode
81460 20 26 26 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 72 .&&.$this->package->getDevRequir
81480 65 73 28 29 29 20 7b 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 es()).{.$policy.=.$this->createP
814a0 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 65 50 6f olicy();.$pool.=.$this->createPo
814c0 6f 6c 28 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 73 74 ol();.$pool->addRepository($inst
814e0 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 65 73 alledRepo,.$aliases);....$reques
81500 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 70 6f 6f 6c 2c 20 t.=.$this->createRequest($pool,.
81520 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 6f 29 3b 0a $this->package,.$platformRepo);.
81540 24 72 65 71 75 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 $request->updateAll();.foreach.(
81560 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 73 28 29 20 61 73 $this->package->getRequires().as
81580 20 24 6c 69 6e 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 .$link).{.$request->install($lin
815a0 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
815c0 61 69 6e 74 28 29 29 3b 0a 7d 0a 0a 24 73 6f 6c 76 65 72 20 3d 20 6e 65 77 20 53 6f 6c 76 65 72 aint());.}..$solver.=.new.Solver
815e0 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 64 52 65 70 6f 29 ($policy,.$pool,.$installedRepo)
81600 3b 0a 24 6f 70 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 74 ;.$ops.=.$solver->solve($request
81620 29 3b 0a 66 6f 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 );.foreach.($ops.as.$op).{.if.($
81640 6f 70 2d 3e 67 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 op->getJobType().===.'uninstall'
81660 29 20 7b 0a 24 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 ).{.$devPackages[].=.$op->getPac
81680 6b 61 67 65 28 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 70 6c 61 74 66 6f 72 6d 52 65 71 73 20 3d 20 24 kage();.}.}.}..$platformReqs.=.$
816a0 74 68 69 73 2d 3e 65 78 74 72 61 63 74 50 6c 61 74 66 6f 72 6d 52 65 71 75 69 72 65 6d 65 6e 74 this->extractPlatformRequirement
816c0 73 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 73 28 29 29 s($this->package->getRequires())
816e0 3b 0a 24 70 6c 61 74 66 6f 72 6d 44 65 76 52 65 71 73 20 3d 20 24 74 68 69 73 2d 3e 64 65 76 4d ;.$platformDevReqs.=.$this->devM
81700 6f 64 65 20 3f 20 24 74 68 69 73 2d 3e 65 78 74 72 61 63 74 50 6c 61 74 66 6f 72 6d 52 65 71 75 ode.?.$this->extractPlatformRequ
81720 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 67 65 74 44 65 76 52 irements($this->package->getDevR
81740 65 71 75 69 72 65 73 28 29 29 20 3a 20 61 72 72 61 79 28 29 3b 0a 0a 24 75 70 64 61 74 65 64 4c equires()).:.array();..$updatedL
81760 6f 63 6b 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 ock.=.$this->locker->setLockData
81780 28 0a 61 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 (.array_diff($localRepo->getCano
817a0 6e 69 63 61 6c 50 61 63 6b 61 67 65 73 28 29 2c 20 28 61 72 72 61 79 29 20 24 64 65 76 50 61 63 nicalPackages(),.(array).$devPac
817c0 6b 61 67 65 73 29 2c 0a 24 64 65 76 50 61 63 6b 61 67 65 73 2c 0a 24 70 6c 61 74 66 6f 72 6d 52 kages),.$devPackages,.$platformR
817e0 65 71 73 2c 0a 24 70 6c 61 74 66 6f 72 6d 44 65 76 52 65 71 73 2c 0a 24 61 6c 69 61 73 65 73 2c eqs,.$platformDevReqs,.$aliases,
81800 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 .$this->package->getMinimumStabi
81820 6c 69 74 79 28 29 2c 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 74 61 62 69 lity(),.$this->package->getStabi
81840 6c 69 74 79 46 6c 61 67 73 28 29 0a 29 3b 0a 69 66 20 28 24 75 70 64 61 74 65 64 4c 6f 63 6b 29 lityFlags().);.if.($updatedLock)
81860 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 57 72 69 74 69 .{.$this->io->write('<info>Writi
81880 6e 67 20 6c 6f 63 6b 20 66 69 6c 65 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d 0a 7d 0a 0a 0a 20 24 74 ng.lock.file</info>');.}.}....$t
818a0 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 47 65 6e 65 72 61 74 69 6e 67 his->io->write('<info>Generating
818c0 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 24 74 68 69 73 2d .autoload.files</info>');.$this-
818e0 3e 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 2d 3e 64 75 6d 70 28 24 74 68 69 73 2d 3e >autoloadGenerator->dump($this->
81900 63 6f 6e 66 69 67 2c 20 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 config,.$localRepo,.$this->packa
81920 67 65 2c 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 2c 20 ge,.$this->installationManager,.
81940 27 63 6f 6d 70 6f 73 65 72 27 2c 20 24 74 68 69 73 2d 3e 6f 70 74 69 6d 69 7a 65 41 75 74 6f 6c 'composer',.$this->optimizeAutol
81960 6f 61 64 65 72 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 29 20 oader);..if.($this->runScripts).
81980 7b 0a 0a 20 24 65 76 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 {...$eventName.=.$this->update.?
819a0 20 53 63 72 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 20 3a .ScriptEvents::POST_UPDATE_CMD.:
819c0 20 53 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 3b .ScriptEvents::POST_INSTALL_CMD;
819e0 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 74 63 .$this->eventDispatcher->dispatc
81a00 68 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 74 68 69 73 2d hCommandEvent($eventName,.$this-
81a20 3e 64 65 76 4d 6f 64 65 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a >devMode);.}.}..return.true;.}..
81a40 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 6f 49 6e 73 74 61 6c 6c 28 24 6c 6f protected.function.doInstall($lo
81a60 63 61 6c 52 65 70 6f 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 70 6c 61 74 66 6f calRepo,.$installedRepo,.$platfo
81a80 72 6d 52 65 70 6f 2c 20 24 61 6c 69 61 73 65 73 2c 20 24 77 69 74 68 44 65 76 52 65 71 73 29 0a rmRepo,.$aliases,.$withDevReqs).
81aa0 7b 0a 0a 20 24 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 20 3d 20 6e 75 6c 6c 3b 0a 24 72 {...$lockedRepository.=.null;.$r
81ac0 65 70 6f 73 69 74 6f 72 69 65 73 20 3d 20 6e 75 6c 6c 3b 0a 0a 0a 20 24 69 6e 73 74 61 6c 6c 46 epositories.=.null;....$installF
81ae0 72 6f 6d 4c 6f 63 6b 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 75 70 64 romLock.=.false;.if.(!$this->upd
81b00 61 74 65 20 26 26 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 69 73 4c 6f 63 6b 65 64 28 29 ate.&&.$this->locker->isLocked()
81b20 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 46 72 6f 6d 4c 6f 63 6b 20 3d 20 74 72 75 65 3b 0a 74 72 79 ).{.$installFromLock.=.true;.try
81b40 20 7b 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 .{.$lockedRepository.=.$this->lo
81b60 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 24 77 69 74 68 44 cker->getLockedRepository($withD
81b80 65 76 52 65 71 73 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 evReqs);.}.catch.(\RuntimeExcept
81ba0 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->
81bc0 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;.}.
81be0 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
81c00 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();.}.}.
81c20 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
81c40 69 65 73 28 0a 24 6c 6f 63 61 6c 52 65 70 6f 2c 0a 24 77 69 74 68 44 65 76 52 65 71 73 2c 0a 24 ies(.$localRepo,.$withDevReqs,.$
81c60 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 0a 24 74 this->package->getRequires(),.$t
81c80 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 0a 29 his->package->getDevRequires().)
81ca0 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 4c 6f 61 64 69 ;..$this->io->write('<info>Loadi
81cc0 6e 67 20 63 6f 6d 70 6f 73 65 72 20 72 65 70 6f 73 69 74 6f 72 69 65 73 20 77 69 74 68 20 70 61 ng.composer.repositories.with.pa
81ce0 63 6b 61 67 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 0a 20 24 ckage.information</info>');....$
81d00 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 29 3b 0a policy.=.$this->createPolicy();.
81d20 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 24 70 6f $pool.=.$this->createPool();.$po
81d40 6f 6c 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f ol->addRepository($installedRepo
81d60 2c 20 24 61 6c 69 61 73 65 73 29 3b 0a 69 66 20 28 24 69 6e 73 74 61 6c 6c 46 72 6f 6d 4c 6f 63 ,.$aliases);.if.($installFromLoc
81d80 6b 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 6c 6f 63 6b 65 k).{.$pool->addRepository($locke
81da0 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 0a 0a 69 66 20 28 21 dRepository,.$aliases);.}..if.(!
81dc0 24 69 6e 73 74 61 6c 6c 46 72 6f 6d 4c 6f 63 6b 29 20 7b 0a 24 72 65 70 6f 73 69 74 6f 72 69 65 $installFromLock).{.$repositorie
81de0 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 67 65 s.=.$this->repositoryManager->ge
81e00 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 6f 73 tRepositories();.foreach.($repos
81e20 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 6c 2d itories.as.$repository).{.$pool-
81e40 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 6c 69 >addRepository($repository,.$ali
81e60 61 73 65 73 29 3b 0a 7d 0a 7d 0a 0a 0a 20 24 72 65 71 75 65 73 74 20 3d 20 24 74 68 69 73 2d 3e ases);.}.}....$request.=.$this->
81e80 63 72 65 61 74 65 52 65 71 75 65 73 74 28 24 70 6f 6f 6c 2c 20 24 74 68 69 73 2d 3e 70 61 63 6b createRequest($pool,.$this->pack
81ea0 61 67 65 2c 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 29 3b 0a 0a 69 66 20 28 21 24 69 6e 73 74 age,.$platformRepo);..if.(!$inst
81ec0 61 6c 6c 46 72 6f 6d 4c 6f 63 6b 29 20 7b 0a 0a 20 24 72 65 6d 6f 76 65 64 55 6e 73 74 61 62 6c allFromLock).{...$removedUnstabl
81ee0 65 50 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 6c ePackages.=.array();.foreach.($l
81f00 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 70 61 63 6b ocalRepo->getPackages().as.$pack
81f20 61 67 65 29 20 7b 0a 69 66 20 28 0a 21 24 70 6f 6f 6c 2d 3e 69 73 50 61 63 6b 61 67 65 41 63 63 age).{.if.(.!$pool->isPackageAcc
81f40 65 70 74 61 62 6c 65 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 73 28 29 2c 20 24 70 eptable($package->getNames(),.$p
81f60 61 63 6b 61 67 65 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 79 28 29 29 0a 26 26 20 24 74 68 69 73 ackage->getStability()).&&.$this
81f80 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2d 3e 69 73 50 61 63 6b 61 67 65 ->installationManager->isPackage
81fa0 49 6e 73 74 61 6c 6c 65 64 28 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 70 61 63 6b 61 67 65 29 0a Installed($localRepo,.$package).
81fc0 29 20 7b 0a 24 72 65 6d 6f 76 65 64 55 6e 73 74 61 62 6c 65 50 61 63 6b 61 67 65 73 5b 24 70 61 ).{.$removedUnstablePackages[$pa
81fe0 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 24 72 65 71 75 65 ckage->getName()].=.true;.$reque
82000 73 74 2d 3e 72 65 6d 6f 76 65 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 st->remove($package->getName(),.
82020 6e 65 77 20 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 24 70 61 63 6b new.VersionConstraint('=',.$pack
82040 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 7d 0a 0a 69 66 20 28 age->getVersion()));.}.}.}..if.(
82060 24 74 68 69 73 2d 3e 75 70 64 61 74 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 $this->update).{.$this->io->writ
82080 65 28 27 3c 69 6e 66 6f 3e 55 70 64 61 74 69 6e 67 20 64 65 70 65 6e 64 65 6e 63 69 65 73 27 2e e('<info>Updating.dependencies'.
820a0 28 24 77 69 74 68 44 65 76 52 65 71 73 3f 27 20 28 69 6e 63 6c 75 64 69 6e 67 20 72 65 71 75 69 ($withDevReqs?'.(including.requi
820c0 72 65 2d 64 65 76 29 27 3a 27 27 29 2e 27 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 24 72 65 71 75 65 re-dev)':'').'</info>');..$reque
820e0 73 74 2d 3e 75 70 64 61 74 65 41 6c 6c 28 29 3b 0a 0a 69 66 20 28 24 77 69 74 68 44 65 76 52 65 st->updateAll();..if.($withDevRe
82100 71 73 29 20 7b 0a 24 6c 69 6e 6b 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 qs).{.$links.=.array_merge($this
82120 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 68 69 73 2d ->package->getRequires(),.$this-
82140 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 0a 7d 20 65 >package->getDevRequires());.}.e
82160 6c 73 65 20 7b 0a 24 6c 69 6e 6b 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 lse.{.$links.=.$this->package->g
82180 65 74 52 65 71 75 69 72 65 73 28 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 6b 73 etRequires();.}..foreach.($links
821a0 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 72 65 71 75 65 73 74 2d 3e 69 6e 73 74 61 6c 6c 28 24 .as.$link).{.$request->install($
821c0 6c 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 link->getTarget(),.$link->getCon
821e0 73 74 72 61 69 6e 74 28 29 29 3b 0a 7d 0a 0a 0a 20 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 75 70 straint());.}......if.($this->up
82200 64 61 74 65 57 68 69 74 65 6c 69 73 74 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 6f 63 6b dateWhitelist).{.if.($this->lock
82220 65 72 2d 3e 69 73 4c 6f 63 6b 65 64 28 29 29 20 7b 0a 74 72 79 20 7b 0a 24 63 75 72 72 65 6e 74 er->isLocked()).{.try.{.$current
82240 50 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 67 65 74 4c 6f 63 Packages.=.$this->locker->getLoc
82260 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 29 2d 3e 67 65 74 kedRepository($withDevReqs)->get
82280 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 65 45 78 63 Packages();.}.catch.(\RuntimeExc
822a0 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 24 63 75 72 72 65 6e 74 50 61 63 6b 61 67 65 73 20 eption.$e).{...$currentPackages.
822c0 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 67 65 74 4c 6f 63 6b 65 64 52 65 70 6f 73 69 =.$this->locker->getLockedReposi
822e0 74 6f 72 79 28 29 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 tory()->getPackages();.}.}.else.
82300 7b 0a 24 63 75 72 72 65 6e 74 50 61 63 6b 61 67 65 73 20 3d 20 24 69 6e 73 74 61 6c 6c 65 64 52 {.$currentPackages.=.$installedR
82320 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 7d 0a 0a 0a 20 24 63 61 6e 64 69 64 epo->getPackages();.}....$candid
82340 61 74 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 6b 73 20 ates.=.array();.foreach.($links.
82360 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 5b 24 6c 69 6e 6b 2d 3e 67 as.$link).{.$candidates[$link->g
82380 65 74 54 61 72 67 65 74 28 29 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 etTarget()].=.true;.}.foreach.($
823a0 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 70 61 63 localRepo->getPackages().as.$pac
823c0 6b 61 67 65 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 kage).{.$candidates[$package->ge
823e0 74 4e 61 6d 65 28 29 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 tName()].=.true;.}....foreach.($
82400 63 61 6e 64 69 64 61 74 65 73 20 61 73 20 24 63 61 6e 64 69 64 61 74 65 20 3d 3e 20 24 64 75 6d candidates.as.$candidate.=>.$dum
82420 6d 79 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 75 72 72 65 6e 74 50 61 63 6b 61 67 65 73 20 my).{.foreach.($currentPackages.
82440 61 73 20 24 63 75 72 50 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 63 75 72 50 61 63 6b 61 67 as.$curPackage).{.if.($curPackag
82460 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3d 3d 20 24 63 61 6e 64 69 64 61 74 65 29 20 7b 0a 69 e->getName().===.$candidate).{.i
82480 66 20 28 21 24 74 68 69 73 2d 3e 69 73 55 70 64 61 74 65 61 62 6c 65 28 24 63 75 72 50 61 63 6b f.(!$this->isUpdateable($curPack
824a0 61 67 65 29 20 26 26 20 21 69 73 73 65 74 28 24 72 65 6d 6f 76 65 64 55 6e 73 74 61 62 6c 65 50 age).&&.!isset($removedUnstableP
824c0 61 63 6b 61 67 65 73 5b 24 63 75 72 50 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 ackages[$curPackage->getName()])
824e0 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 43 6f 6e ).{.$constraint.=.new.VersionCon
82500 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 65 74 56 65 72 straint('=',.$curPackage->getVer
82520 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 63 75 72 50 sion());.$request->install($curP
82540 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 3b ackage->getName(),.$constraint);
82560 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 69 6e 73 .}.break;.}.}.}.}.}.elseif.($ins
82580 74 61 6c 6c 46 72 6f 6d 4c 6f 63 6b 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 tallFromLock).{.$this->io->write
825a0 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 65 73 27 ('<info>Installing.dependencies'
825c0 2e 28 24 77 69 74 68 44 65 76 52 65 71 73 3f 27 20 28 69 6e 63 6c 75 64 69 6e 67 20 72 65 71 75 .($withDevReqs?'.(including.requ
825e0 69 72 65 2d 64 65 76 29 27 3a 27 27 29 2e 27 20 66 72 6f 6d 20 6c 6f 63 6b 20 66 69 6c 65 3c 2f ire-dev)':'').'.from.lock.file</
82600 69 6e 66 6f 3e 27 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 69 73 info>');..if.(!$this->locker->is
82620 46 72 65 73 68 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 3c 77 61 Fresh()).{.$this->io->write('<wa
82640 72 6e 69 6e 67 3e 57 61 72 6e 69 6e 67 3a 20 54 68 65 20 6c 6f 63 6b 20 66 69 6c 65 20 69 73 20 rning>Warning:.The.lock.file.is.
82660 6e 6f 74 20 75 70 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 not.up.to.date.with.the.latest.c
82680 68 61 6e 67 65 73 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 2e 20 59 6f 75 20 6d 61 79 hanges.in.composer.json..You.may
826a0 20 62 65 20 67 65 74 74 69 6e 67 20 6f 75 74 64 61 74 65 64 20 64 65 70 65 6e 64 65 6e 63 69 65 .be.getting.outdated.dependencie
826c0 73 2e 20 52 75 6e 20 75 70 64 61 74 65 20 74 6f 20 75 70 64 61 74 65 20 74 68 65 6d 2e 3c 2f 77 s..Run.update.to.update.them.</w
826e0 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 6f 63 6b 65 64 52 65 arning>');.}..foreach.($lockedRe
82700 70 6f 73 69 74 6f 72 79 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b pository->getPackages().as.$pack
82720 61 67 65 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 age).{.$version.=.$package->getV
82740 65 72 73 69 6f 6e 28 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 61 6c 69 61 73 65 73 5b 24 70 61 ersion();.if.(isset($aliases[$pa
82760 63 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 29 29 20 7b 0a ckage->getName()][$version])).{.
82780 24 76 65 72 73 69 6f 6e 20 3d 20 24 61 6c 69 61 73 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 $version.=.$aliases[$package->ge
827a0 74 4e 61 6d 65 28 29 5d 5b 24 76 65 72 73 69 6f 6e 5d 5b 27 61 6c 69 61 73 5f 6e 6f 72 6d 61 6c tName()][$version]['alias_normal
827c0 69 7a 65 64 27 5d 3b 0a 7d 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 56 65 72 73 ized'];.}.$constraint.=.new.Vers
827e0 69 6f 6e 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 63 ionConstraint('=',.$version);.$c
82800 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 6b onstraint->setPrettyString($pack
82820 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 65 age->getPrettyVersion());.$reque
82840 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 2c st->install($package->getName(),
82860 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 73 .$constraint);.}..foreach.($this
82880 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 74 ->locker->getPlatformRequirement
828a0 73 28 24 77 69 74 68 44 65 76 52 65 71 73 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 72 65 71 s($withDevReqs).as.$link).{.$req
828c0 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 28 29 uest->install($link->getTarget()
828e0 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 7d 20 65 ,.$link->getConstraint());.}.}.e
82900 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 49 6e lse.{.$this->io->write('<info>In
82920 73 74 61 6c 6c 69 6e 67 20 64 65 70 65 6e 64 65 6e 63 69 65 73 27 2e 28 24 77 69 74 68 44 65 76 stalling.dependencies'.($withDev
82940 52 65 71 73 3f 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 3a Reqs?'.(including.require-dev)':
82960 27 27 29 2e 27 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 69 66 20 28 24 77 69 74 68 44 65 76 52 65 71 '').'</info>');..if.($withDevReq
82980 73 29 20 7b 0a 24 6c 69 6e 6b 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 2d s).{.$links.=.array_merge($this-
829a0 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 68 69 73 2d 3e >package->getRequires(),.$this->
829c0 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 0a 7d 20 65 6c package->getDevRequires());.}.el
829e0 73 65 20 7b 0a 24 6c 69 6e 6b 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 se.{.$links.=.$this->package->ge
82a00 74 52 65 71 75 69 72 65 73 28 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 6b 73 20 tRequires();.}..foreach.($links.
82a20 61 73 20 24 6c 69 6e 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 as.$link).{.$request->install($l
82a40 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
82a60 74 72 61 69 6e 74 28 29 29 3b 0a 7d 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 traint());.}.}....$this->process
82a80 44 65 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 DevPackages($localRepo,.$pool,.$
82aa0 70 6f 6c 69 63 79 2c 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 2c 20 24 6c 6f 63 6b 65 64 52 65 policy,.$repositories,.$lockedRe
82ac0 70 6f 73 69 74 6f 72 79 2c 20 24 69 6e 73 74 61 6c 6c 46 72 6f 6d 4c 6f 63 6b 2c 20 27 66 6f 72 pository,.$installFromLock,.'for
82ae0 63 65 2d 6c 69 6e 6b 73 27 29 3b 0a 0a 0a 20 24 73 6f 6c 76 65 72 20 3d 20 6e 65 77 20 53 6f 6c ce-links');....$solver.=.new.Sol
82b00 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 6c 6c 65 64 52 65 ver($policy,.$pool,.$installedRe
82b20 70 6f 29 3b 0a 74 72 79 20 7b 0a 24 6f 70 65 72 61 74 69 6f 6e 73 20 3d 20 24 73 6f 6c 76 65 72 po);.try.{.$operations.=.$solver
82b40 2d 3e 73 6f 6c 76 65 28 24 72 65 71 75 65 73 74 29 3b 0a 7d 20 63 61 74 63 68 20 28 53 6f 6c 76 ->solve($request);.}.catch.(Solv
82b60 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 24 74 68 69 73 2d erProblemsException.$e).{.$this-
82b80 3e 69 6f 2d 3e 77 72 69 74 65 28 27 3c 65 72 72 6f 72 3e 59 6f 75 72 20 72 65 71 75 69 72 65 6d >io->write('<error>Your.requirem
82ba0 65 6e 74 73 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 72 65 73 6f 6c 76 65 64 20 74 6f 20 61 6e ents.could.not.be.resolved.to.an
82bc0 20 69 6e 73 74 61 6c 6c 61 62 6c 65 20 73 65 74 20 6f 66 20 70 61 63 6b 61 67 65 73 2e 3c 2f 65 .installable.set.of.packages.</e
82be0 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 28 24 65 2d 3e 67 65 rror>');.$this->io->write($e->ge
82c00 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a tMessage());..return.false;.}...
82c20 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
82c40 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
82c60 69 63 79 2c 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 2c 20 24 6c 6f 63 6b 65 64 52 65 70 6f 73 icy,.$repositories,.$lockedRepos
82c80 69 74 6f 72 79 2c 20 24 69 6e 73 74 61 6c 6c 46 72 6f 6d 4c 6f 63 6b 2c 20 27 66 6f 72 63 65 2d itory,.$installFromLock,.'force-
82ca0 75 70 64 61 74 65 73 27 2c 20 24 6f 70 65 72 61 74 69 6f 6e 73 29 3b 0a 0a 0a 20 69 66 20 28 21 updates',.$operations);....if.(!
82cc0 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 65 28 $operations).{.$this->io->write(
82ce0 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 64 61 74 65 27 29 3b 'Nothing.to.install.or.update');
82d00 0a 7d 0a 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 .}..foreach.($operations.as.$ope
82d20 72 61 74 69 6f 6e 29 20 7b 0a 0a 20 69 66 20 28 27 69 6e 73 74 61 6c 6c 27 20 3d 3d 3d 20 24 6f ration).{...if.('install'.===.$o
82d40 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 4a 6f 62 54 79 70 65 28 29 29 20 7b 0a 66 6f 72 65 61 63 peration->getJobType()).{.foreac
82d60 68 20 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 2d 3e 67 65 74 h.($operation->getPackage()->get
82d80 53 75 67 67 65 73 74 73 28 29 20 61 73 20 24 74 61 72 67 65 74 20 3d 3e 20 24 72 65 61 73 6f 6e Suggests().as.$target.=>.$reason
82da0 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 5b 5d 20 3d ).{.$this->suggestedPackages[].=
82dc0 20 61 72 72 61 79 28 0a 27 73 6f 75 72 63 65 27 20 3d 3e 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e .array(.'source'.=>.$operation->
82de0 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 2c 0a 27 getPackage()->getPrettyName(),.'
82e00 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 27 20 3d 3e 20 target'.=>.$target,.'reason'.=>.
82e20 24 72 65 61 73 6f 6e 2c 0a 29 3b 0a 7d 0a 7d 0a 0a 24 65 76 65 6e 74 20 3d 20 27 43 6f 6d 70 6f $reason,.);.}.}..$event.=.'Compo
82e40 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 50 52 45 5f 50 41 43 ser\Script\ScriptEvents::PRE_PAC
82e60 4b 41 47 45 5f 27 2e 73 74 72 74 6f 75 70 70 65 72 28 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 KAGE_'.strtoupper($operation->ge
82e80 74 4a 6f 62 54 79 70 65 28 29 29 3b 0a 69 66 20 28 64 65 66 69 6e 65 64 28 24 65 76 65 6e 74 29 tJobType());.if.(defined($event)
82ea0 20 26 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 .&&.$this->runScripts).{.$this->
82ec0 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 50 61 63 6b 61 67 65 eventDispatcher->dispatchPackage
82ee0 45 76 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 Event(constant($event),.$this->d
82f00 65 76 4d 6f 64 65 2c 20 24 6f 70 65 72 61 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 24 evMode,.$operation);.}....if.(!$
82f20 69 6e 73 74 61 6c 6c 46 72 6f 6d 4c 6f 63 6b 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 6e 75 installFromLock).{.$package.=.nu
82f40 6c 6c 3b 0a 69 66 20 28 27 75 70 64 61 74 65 27 20 3d 3d 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d ll;.if.('update'.===.$operation-
82f60 3e 67 65 74 4a 6f 62 54 79 70 65 28 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6f 70 65 >getJobType()).{.$package.=.$ope
82f80 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 3b 0a 7d 20 65 6c ration->getTargetPackage();.}.el
82fa0 73 65 69 66 20 28 27 69 6e 73 74 61 6c 6c 27 20 3d 3d 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e seif.('install'.===.$operation->
82fc0 67 65 74 4a 6f 62 54 79 70 65 28 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6f 70 65 72 getJobType()).{.$package.=.$oper
82fe0 61 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 7d 0a 69 66 20 28 24 70 61 63 6b ation->getPackage();.}.if.($pack
83000 61 67 65 20 26 26 20 24 70 61 63 6b 61 67 65 2d 3e 69 73 44 65 76 28 29 29 20 7b 0a 24 72 65 66 age.&&.$package->isDev()).{.$ref
83020 65 72 65 6e 63 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 erences.=.$this->package->getRef
83040 65 72 65 6e 63 65 73 28 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 72 65 66 65 72 65 6e 63 65 73 erences();.if.(isset($references
83060 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 29 20 7b 0a 24 70 61 63 6b 61 [$package->getName()])).{.$packa
83080 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 6e 63 ge->setSourceReference($referenc
830a0 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 3b 0a 24 70 61 63 6b 61 es[$package->getName()]);.$packa
830c0 67 65 2d 3e 73 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 24 72 65 66 65 72 65 6e 63 65 73 ge->setDistReference($references
830e0 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a [$package->getName()]);.}.}.}...
83100 20 69 66 20 28 24 74 68 69 73 2d 3e 64 72 79 52 75 6e 20 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 .if.($this->dryRun.&&.false.===.
83120 73 74 72 70 6f 73 28 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 4a 6f 62 54 79 70 65 28 29 2c strpos($operation->getJobType(),
83140 20 27 41 6c 69 61 73 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 20 .'Alias')).{.$this->io->write('.
83160 20 2d 20 27 20 2e 20 24 6f 70 65 72 61 74 69 6f 6e 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 .-.'...$operation);.$this->io->w
83180 72 69 74 65 28 27 27 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 rite('');.}.elseif.($this->io->i
831a0 73 44 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 sDebug().&&.false.!==.strpos($op
831c0 65 72 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 eration->getJobType(),.'Alias'))
831e0 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 20 20 2d 20 27 20 2e 20 24 6f 70 .{.$this->io->write('..-.'...$op
83200 65 72 61 74 69 6f 6e 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 27 29 3b 0a eration);.$this->io->write('');.
83220 7d 0a 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 65 }..$this->installationManager->e
83240 78 65 63 75 74 65 28 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 6f 70 65 72 61 74 69 6f 6e 29 3b 0a xecute($localRepo,.$operation);.
83260 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 65 20 26 26 20 24 74 68 69 73 2d 3e ...if.($this->verbose.&&.$this->
83280 69 6f 2d 3e 69 73 56 65 72 79 56 65 72 62 6f 73 65 28 29 20 26 26 20 69 6e 5f 61 72 72 61 79 28 io->isVeryVerbose().&&.in_array(
832a0 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 4a 6f 62 54 79 70 65 28 29 2c 20 61 72 72 61 79 28 $operation->getJobType(),.array(
832c0 27 69 6e 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 'install',.'update'))).{.$reason
832e0 20 3d 20 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 .=.$operation->getReason();.if.(
83300 24 72 65 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 $reason.instanceof.Rule).{.switc
83320 68 20 28 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 h.($reason->getReason()).{.case.
83340 52 75 6c 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 Rule::RULE_JOB_INSTALL:.$this->i
83360 6f 2d 3e 77 72 69 74 65 28 27 20 20 20 20 52 45 41 53 4f 4e 3a 20 52 65 71 75 69 72 65 64 20 62 o->write('....REASON:.Required.b
83380 79 20 72 6f 6f 74 3a 20 27 2e 24 72 65 61 73 6f 6e 2d 3e 67 65 74 52 65 71 75 69 72 65 64 50 61 y.root:.'.$reason->getRequiredPa
833a0 63 6b 61 67 65 28 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 27 29 3b 0a ckage());.$this->io->write('');.
833c0 62 72 65 61 6b 3b 0a 63 61 73 65 20 52 75 6c 65 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 52 break;.case.Rule::RULE_PACKAGE_R
833e0 45 51 55 49 52 45 53 3a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 20 20 20 20 52 EQUIRES:.$this->io->write('....R
83400 45 41 53 4f 4e 3a 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 EASON:.'.$reason->getPrettyStrin
83420 67 28 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 27 29 3b 0a 62 72 65 61 g());.$this->io->write('');.brea
83440 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 65 76 65 6e 74 20 3d 20 27 43 6f 6d 70 6f 73 65 72 5c 53 63 72 k;.}.}.}..$event.=.'Composer\Scr
83460 69 70 74 5c 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 50 41 43 4b 41 47 45 5f 27 ipt\ScriptEvents::POST_PACKAGE_'
83480 2e 73 74 72 74 6f 75 70 70 65 72 28 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 4a 6f 62 54 79 .strtoupper($operation->getJobTy
834a0 70 65 28 29 29 3b 0a 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 pe());.if.(defined($event).&&.$t
834c0 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 65 6e 74 44 his->runScripts).{.$this->eventD
834e0 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 65 6e 74 28 ispatcher->dispatchPackageEvent(
83500 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 4d 6f 64 65 constant($event),.$this->devMode
83520 2c 20 24 6f 70 65 72 61 74 69 6f 6e 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 72 ,.$operation);.}..if.(!$this->dr
83540 79 52 75 6e 29 20 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 7d yRun).{.$localRepo->write();.}.}
83560 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
83580 6f 6e 20 63 72 65 61 74 65 50 6f 6f 6c 28 29 0a 7b 0a 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c on.createPool().{.$minimumStabil
835a0 69 74 79 20 3d 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 4d 69 6e 69 6d 75 6d ity.=.$this->package->getMinimum
835c0 53 74 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 Stability();.$stabilityFlags.=.$
835e0 74 68 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 this->package->getStabilityFlags
83600 28 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 75 70 64 61 74 65 20 26 26 20 24 74 68 69 73 ();..if.(!$this->update.&&.$this
83620 2d 3e 6c 6f 63 6b 65 72 2d 3e 69 73 4c 6f 63 6b 65 64 28 29 29 20 7b 0a 24 6d 69 6e 69 6d 75 6d ->locker->isLocked()).{.$minimum
83640 53 74 61 62 69 6c 69 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 Stability.=.$this->locker->getMi
83660 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 46 6c 61 67 nimumStability();.$stabilityFlag
83680 73 20 3d 20 24 74 68 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 s.=.$this->locker->getStabilityF
836a0 6c 61 67 73 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 50 6f 6f 6c 28 24 6d 69 6e 69 lags();.}..return.new.Pool($mini
836c0 6d 75 6d 53 74 61 62 69 6c 69 74 79 2c 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 29 3b 0a mumStability,.$stabilityFlags);.
836e0 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 50 6f 6c 69 63 79 }..private.function.createPolicy
83700 28 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 44 65 66 61 75 6c 74 50 6f 6c 69 63 79 28 24 74 ().{.return.new.DefaultPolicy($t
83720 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 29 29 his->package->getPreferStable())
83740 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 52 65 71 75 ;.}..private.function.createRequ
83760 65 73 74 28 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 est(Pool.$pool,.RootPackageInter
83780 66 61 63 65 20 24 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 face.$rootPackage,.PlatformRepos
837a0 69 74 6f 72 79 20 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 itory.$platformRepo).{.$request.
837c0 3d 20 6e 65 77 20 52 65 71 75 65 73 74 28 24 70 6f 6f 6c 29 3b 0a 0a 24 63 6f 6e 73 74 72 61 69 =.new.Request($pool);..$constrai
837e0 6e 74 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 nt.=.new.VersionConstraint('=',.
83800 24 72 6f 6f 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 24 63 6f $rootPackage->getVersion());.$co
83820 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 72 6f 6f 74 50 nstraint->setPrettyString($rootP
83840 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 29 3b 0a 24 72 65 ackage->getPrettyVersion());.$re
83860 71 75 65 73 74 2d 3e 69 6e 73 74 61 6c 6c 28 24 72 6f 6f 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 quest->install($rootPackage->get
83880 4e 61 6d 65 28 29 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 0a 24 66 69 78 65 64 50 61 63 Name(),.$constraint);..$fixedPac
838a0 6b 61 67 65 73 20 3d 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 kages.=.$platformRepo->getPackag
838c0 65 73 28 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 74 61 es();.if.($this->additionalInsta
838e0 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 24 61 64 64 69 74 69 6f 6e 61 6c 46 69 78 lledRepository).{.$additionalFix
83900 65 64 50 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 49 6e edPackages.=.$this->additionalIn
83920 73 74 61 6c 6c 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 stalledRepository->getPackages()
83940 3b 0a 24 66 69 78 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 24 ;.$fixedPackages.=.array_merge($
83960 66 69 78 65 64 50 61 63 6b 61 67 65 73 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 46 69 78 65 64 50 fixedPackages,.$additionalFixedP
83980 61 63 6b 61 67 65 73 29 3b 0a 7d 0a 0a 0a 20 0a 20 24 70 72 6f 76 69 64 65 64 20 3d 20 24 72 6f ackages);.}......$provided.=.$ro
839a0 6f 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 6f 76 69 64 65 73 28 29 3b 0a 66 6f 72 65 61 63 otPackage->getProvides();.foreac
839c0 68 20 28 24 66 69 78 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 h.($fixedPackages.as.$package).{
839e0 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 .$constraint.=.new.VersionConstr
83a00 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 72 73 69 6f 6e 28 29 aint('=',.$package->getVersion()
83a20 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 53 74 72 69 6e 67 28 );.$constraint->setPrettyString(
83a40 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 29 3b 0a 0a $package->getPrettyVersion());..
83a60 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 74 6f 72 79 28 29 20 ..if.($package->getRepository().
83a80 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 65 74 28 24 70 72 6f !==.$platformRepo.||.!isset($pro
83aa0 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 5d 29 0a 7c 7c 20 21 vided[$package->getName()]).||.!
83ac0 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 5d 2d 3e $provided[$package->getName()]->
83ae0 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 63 6f 6e 73 74 72 getConstraint()->matches($constr
83b00 61 69 6e 74 29 0a 29 20 7b 0a 24 72 65 71 75 65 73 74 2d 3e 69 6e 73 74 61 6c 6c 28 24 70 61 63 aint).).{.$request->install($pac
83b20 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 3b 0a 7d kage->getName(),.$constraint);.}
83b40 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 71 75 65 73 74 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 .}..return.$request;.}..private.
83b60 66 75 6e 63 74 69 6f 6e 20 70 72 6f 63 65 73 73 44 65 76 50 61 63 6b 61 67 65 73 28 24 6c 6f 63 function.processDevPackages($loc
83b80 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 73 69 74 alRepo,.$pool,.$policy,.$reposit
83ba0 6f 72 69 65 73 2c 20 24 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 2c 20 24 69 6e 73 74 61 ories,.$lockedRepository,.$insta
83bc0 6c 6c 46 72 6f 6d 4c 6f 63 6b 2c 20 24 74 61 73 6b 2c 20 61 72 72 61 79 20 24 6f 70 65 72 61 74 llFromLock,.$task,.array.$operat
83be0 69 6f 6e 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 74 61 73 6b 20 3d 3d 3d 20 27 66 6f ions.=.null).{.if.($task.===.'fo
83c00 72 63 65 2d 75 70 64 61 74 65 73 27 20 26 26 20 6e 75 6c 6c 20 3d 3d 3d 20 24 6f 70 65 72 61 74 rce-updates'.&&.null.===.$operat
83c20 69 6f 6e 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 ions).{.throw.new.\InvalidArgume
83c40 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 4d 69 73 73 69 6e 67 20 6f 70 65 72 61 74 69 6f 6e 73 20 ntException('Missing.operations.
83c60 61 72 67 75 6d 65 6e 74 27 29 3b 0a 7d 0a 69 66 20 28 24 74 61 73 6b 20 3d 3d 3d 20 27 66 6f 72 argument');.}.if.($task.===.'for
83c80 63 65 2d 6c 69 6e 6b 73 27 29 20 7b 0a 24 6f 70 65 72 61 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 ce-links').{.$operations.=.array
83ca0 28 29 3b 0a 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 ();.}..foreach.($localRepo->getC
83cc0 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 63 6b 61 67 65 29 20 anonicalPackages().as.$package).
83ce0 7b 0a 0a 20 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 {...if.(!$package->isDev()).{.co
83d00 6e 74 69 6e 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 ntinue;.}....foreach.($operation
83d20 73 20 61 73 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 s.as.$operation).{.if.(('update'
83d40 20 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 .===.$operation->getJobType().&&
83d60 20 24 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 .$operation->getInitialPackage()
83d80 2d 3e 65 71 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 ->equals($package)).||.('uninsta
83da0 6c 6c 27 20 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 ll'.===.$operation->getJobType()
83dc0 20 26 26 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 65 71 .&&.$operation->getPackage()->eq
83de0 75 61 6c 73 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 uals($package)).).{.continue.2;.
83e00 7d 0a 7d 0a 0a 0a 20 69 66 20 28 24 69 6e 73 74 61 6c 6c 46 72 6f 6d 4c 6f 63 6b 29 20 7b 0a 66 }.}....if.($installFromLock).{.f
83e20 6f 72 65 61 63 68 20 28 24 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 2d 3e 66 69 6e 64 50 oreach.($lockedRepository->findP
83e40 61 63 6b 61 67 65 73 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 61 73 20 ackages($package->getName()).as.
83e60 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 6c 6f 63 6b 65 64 50 61 63 $lockedPackage).{.if.($lockedPac
83e80 6b 61 67 65 2d 3e 69 73 44 65 76 28 29 20 26 26 20 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 2d kage->isDev().&&.$lockedPackage-
83ea0 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
83ec0 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
83ee0 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
83f00 28 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 29 3b ($lockedPackage->getRequires());
83f20 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 43 6f 6e 66 6c 69 63 74 73 28 24 6c 6f 63 6b 65 64 50 .$package->setConflicts($lockedP
83f40 61 63 6b 61 67 65 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 ackage->getConflicts());.$packag
83f60 65 2d 3e 73 65 74 50 72 6f 76 69 64 65 73 28 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 2d 3e 67 e->setProvides($lockedPackage->g
83f80 65 74 50 72 6f 76 69 64 65 73 28 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 70 6c etProvides());.$package->setRepl
83fa0 61 63 65 73 28 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 73 aces($lockedPackage->getReplaces
83fc0 28 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 61 73 6b 20 3d 3d 3d 20 27 66 6f 72 63 65 2d ());.}.elseif.($task.===.'force-
83fe0 75 70 64 61 74 65 73 27 29 20 7b 0a 69 66 20 28 28 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 2d updates').{.if.(($lockedPackage-
84000 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 20 26 26 20 24 6c 6f 63 6b 65 64 >getSourceReference().&&.$locked
84020 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 20 21 3d Package->getSourceReference().!=
84040 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 29 =.$package->getSourceReference()
84060 29 0a 7c 7c 20 28 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 ).||.($lockedPackage->getDistRef
84080 65 72 65 6e 63 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 44 erence().&&.$lockedPackage->getD
840a0 69 73 74 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 istReference().!==.$package->get
840c0 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 29 0a 29 20 7b 0a 24 6f 70 65 72 61 74 69 6f 6e 73 DistReference()).).{.$operations
840e0 5b 5d 20 3d 20 6e 65 77 20 55 70 64 61 74 65 4f 70 65 72 61 74 69 6f 6e 28 24 70 61 63 6b 61 67 [].=.new.UpdateOperation($packag
84100 65 2c 20 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 62 72 65 61 6b 3b 0a e,.$lockedPackage);.}.}..break;.
84120 7d 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 }.}.}.else.{...if.($this->update
84140 29 20 7b 0a 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 ).{...if.($this->updateWhitelist
84160 20 26 26 20 21 24 74 68 69 73 2d 3e 69 73 55 70 64 61 74 65 61 62 6c 65 28 24 70 61 63 6b 61 67 .&&.!$this->isUpdateable($packag
84180 65 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 24 6d 61 74 63 68 65 73 20 3d 20 e)).{.continue;.}....$matches.=.
841a0 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 2d 3e 67 65 $pool->whatProvides($package->ge
841c0 74 4e 61 6d 65 28 29 2c 20 6e 65 77 20 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 28 27 tName(),.new.VersionConstraint('
841e0 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 29 3b 0a 66 6f =',.$package->getVersion()));.fo
84200 72 65 61 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 reach.($matches.as.$index.=>.$ma
84220 74 63 68 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 tch).{...if.(!in_array($match->g
84240 65 74 52 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 etRepository(),.$repositories,.t
84260 72 75 65 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 rue)).{.unset($matches[$index]);
84280 0a 63 6f 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 .continue;.}....if.($match->getN
842a0 61 6d 65 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 ame().!==.$package->getName()).{
842c0 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 6e 74 69 6e .unset($matches[$index]);.contin
842e0 75 65 3b 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 ue;.}..$matches[$index].=.$match
84300 2d 3e 67 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 ->getId();.}....if.($matches.&&.
84320 24 6d 61 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 $matches.=.$policy->selectPrefer
84340 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 63 edPackages($pool,.array(),.$matc
84360 68 65 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 hes)).{.$newPackage.=.$pool->lit
84380 65 72 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 eralToPackage($matches[0]);..if.
843a0 28 24 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 ($task.===.'force-links'.&&.$new
843c0 50 61 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 Package).{.$package->setRequires
843e0 28 24 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 ($newPackage->getRequires());.$p
84400 61 63 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 ackage->setConflicts($newPackage
84420 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
84440 50 72 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 Provides($newPackage->getProvide
84460 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 6e 65 77 s());.$package->setReplaces($new
84480 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 0a 0a 69 66 20 28 Package->getReplaces());.}..if.(
844a0 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 20 26 26 20 24 6e 65 $task.===.'force-updates'.&&.$ne
844c0 77 50 61 63 6b 61 67 65 20 26 26 20 28 0a 28 28 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e 67 65 74 wPackage.&&.(.(($newPackage->get
844e0 53 6f 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 SourceReference().&&.$newPackage
84500 2d 3e 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 ->getSourceReference().!==.$pack
84520 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 0a 7c 7c 20 28 24 age->getSourceReference()).||.($
84540 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 26 newPackage->getDistReference().&
84560 26 20 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 &.$newPackage->getDistReference(
84580 29 20 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 ).!==.$package->getDistReference
845a0 28 29 29 0a 29 0a 29 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 ()).).)).{.$operations[].=.new.U
845c0 70 64 61 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 pdateOperation($package,.$newPac
845e0 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 61 73 6b 20 3d 3d 3d 20 27 66 6f 72 kage);.}.}.}..if.($task.===.'for
84600 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 65 73 20 3d 20 24 ce-updates').{...$references.=.$
84620 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 65 73 28 29 3b 0a this->package->getReferences();.
84640 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 63 6b 61 67 65 2d .if.(isset($references[$package-
84660 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 73 5b 24 70 61 63 >getName()]).&&.$references[$pac
84680 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 61 67 65 2d 3e 67 kage->getName()].!==.$package->g
846a0 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 6f 70 65 72 61 74 etSourceReference()).{...$operat
846c0 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 28 24 70 61 ions[].=.new.UpdateOperation($pa
846e0 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 7d 0a 7d 0a 7d 0a ckage,.clone.$package);.}.}.}.}.
84700 0a 72 65 74 75 72 6e 20 24 6f 70 65 72 61 74 69 6f 6e 73 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 .return.$operations;.}..private.
84720 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 6f 6f 74 41 6c 69 61 73 65 73 28 29 0a 7b 0a 69 66 20 28 function.getRootAliases().{.if.(
84740 21 24 74 68 69 73 2d 3e 75 70 64 61 74 65 20 26 26 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d !$this->update.&&.$this->locker-
84760 3e 69 73 4c 6f 63 6b 65 64 28 29 29 20 7b 0a 24 61 6c 69 61 73 65 73 20 3d 20 24 74 68 69 73 2d >isLocked()).{.$aliases.=.$this-
84780 3e 6c 6f 63 6b 65 72 2d 3e 67 65 74 41 6c 69 61 73 65 73 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a >locker->getAliases();.}.else.{.
847a0 24 61 6c 69 61 73 65 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 $aliases.=.$this->package->getAl
847c0 69 61 73 65 73 28 29 3b 0a 7d 0a 0a 24 6e 6f 72 6d 61 6c 69 7a 65 64 41 6c 69 61 73 65 73 20 3d iases();.}..$normalizedAliases.=
847e0 20 61 72 72 61 79 28 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 .array();..foreach.($aliases.as.
84800 24 61 6c 69 61 73 29 20 7b 0a 24 6e 6f 72 6d 61 6c 69 7a 65 64 41 6c 69 61 73 65 73 5b 24 61 6c $alias).{.$normalizedAliases[$al
84820 69 61 73 5b 27 70 61 63 6b 61 67 65 27 5d 5d 5b 24 61 6c 69 61 73 5b 27 76 65 72 73 69 6f 6e 27 ias['package']][$alias['version'
84840 5d 5d 20 3d 20 61 72 72 61 79 28 0a 27 61 6c 69 61 73 27 20 3d 3e 20 24 61 6c 69 61 73 5b 27 61 ]].=.array(.'alias'.=>.$alias['a
84860 6c 69 61 73 27 5d 2c 0a 27 61 6c 69 61 73 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 20 3d 3e 20 24 61 lias'],.'alias_normalized'.=>.$a
84880 6c 69 61 73 5b 27 61 6c 69 61 73 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 0a 29 3b 0a 7d 0a 0a 72 lias['alias_normalized'].);.}..r
848a0 65 74 75 72 6e 20 24 6e 6f 72 6d 61 6c 69 7a 65 64 41 6c 69 61 73 65 73 3b 0a 7d 0a 0a 70 72 69 eturn.$normalizedAliases;.}..pri
848c0 76 61 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 vate.function.aliasPlatformPacka
848e0 67 65 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 ges(PlatformRepository.$platform
84900 52 65 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 Repo,.$aliases).{.foreach.($alia
84920 73 65 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 ses.as.$package.=>.$versions).{.
84940 66 6f 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 foreach.($versions.as.$version.=
84960 3e 20 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 >.$alias).{.$packages.=.$platfor
84980 6d 52 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 mRepo->findPackages($package,.$v
849a0 65 72 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 ersion);.foreach.($packages.as.$
849c0 70 61 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 package).{.$aliasPackage.=.new.A
849e0 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 5b 27 61 6c liasPackage($package,.$alias['al
84a00 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 69 61 73 27 ias_normalized'],.$alias['alias'
84a20 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 63 6b 61 67 ]);.$aliasPackage->setRootPackag
84a40 65 41 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 eAlias(true);.$platformRepo->add
84a60 50 61 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 Package($aliasPackage);.}.}.}.}.
84a80 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 28 50 .private.function.isUpdateable(P
84aa0 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 28 ackageInterface.$package).{.if.(
84ac0 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 6f 77 !$this->updateWhitelist).{.throw
84ae0 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 61 62 .new.\LogicException('isUpdateab
84b00 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 61 20 le.should.only.be.called.when.a.
84b20 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 65 61 whitelist.is.present');.}..forea
84b40 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 24 77 ch.($this->updateWhitelist.as.$w
84b60 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 24 63 hiteListedPattern.=>.$void).{.$c
84b80 6c 65 61 6e 65 64 57 68 69 74 65 4c 69 73 74 65 64 50 61 74 74 65 72 6e 20 3d 20 73 74 72 5f 72 leanedWhiteListedPattern.=.str_r
84ba0 65 70 6c 61 63 65 28 27 5c 5c 2a 27 2c 20 27 2e 2a 27 2c 20 70 72 65 67 5f 71 75 6f 74 65 28 24 eplace('\\*',.'.*',.preg_quote($
84bc0 77 68 69 74 65 4c 69 73 74 65 64 50 61 74 74 65 72 6e 29 29 3b 0a 0a 69 66 20 28 70 72 65 67 5f whiteListedPattern));..if.(preg_
84be0 6d 61 74 63 68 28 22 7b 5e 22 2e 24 63 6c 65 61 6e 65 64 57 68 69 74 65 4c 69 73 74 65 64 50 61 match("{^".$cleanedWhiteListedPa
84c00 74 74 65 72 6e 2e 22 24 7d 69 22 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 ttern."$}i",.$package->getName()
84c20 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
84c40 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 65 78 74 72 61 63 74 lse;.}..private.function.extract
84c60 50 6c 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 PlatformRequirements($links).{.$
84c80 70 6c 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 platformReqs.=.array();.foreach.
84ca0 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 5f 6d 61 74 ($links.as.$link).{.if.(preg_mat
84cc0 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_
84ce0 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(
84d00 29 29 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 ))).{.$platformReqs[$link->getTa
84d20 72 67 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 rget()].=.$link->getPrettyConstr
84d40 61 69 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 aint();.}.}..return.$platformReq
84d60 73 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 74 69 s;.}..............private.functi
84d80 6f 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 on.whitelistUpdateDependencies($
84da0 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 64 65 76 4d 6f 64 65 2c 20 61 72 72 61 79 20 24 72 6f 6f 74 localRepo,.$devMode,.array.$root
84dc0 52 65 71 75 69 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 Requires,.array.$rootDevRequires
84de0 29 0a 7b 0a 69 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 ).{.if.(!$this->updateWhitelist)
84e00 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 4e 61 .{.return;.}..$requiredPackageNa
84e20 6d 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 61 79 5f 6d 65 mes.=.array();.foreach.(array_me
84e40 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 69 rge($rootRequires,.$rootDevRequi
84e60 72 65 73 29 20 61 73 20 24 72 65 71 75 69 72 65 29 20 7b 0a 24 72 65 71 75 69 72 65 64 50 61 63 res).as.$require).{.$requiredPac
84e80 6b 61 67 65 4e 61 6d 65 73 5b 5d 20 3d 20 24 72 65 71 75 69 72 65 2d 3e 67 65 74 54 61 72 67 65 kageNames[].=.$require->getTarge
84ea0 74 28 29 3b 0a 7d 0a 0a 69 66 20 28 24 64 65 76 4d 6f 64 65 29 20 7b 0a 24 72 6f 6f 74 52 65 71 t();.}..if.($devMode).{.$rootReq
84ec0 75 69 72 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 72 6f 6f 74 52 65 71 75 69 72 65 uires.=.array_merge($rootRequire
84ee0 73 2c 20 24 72 6f 6f 74 44 65 76 52 65 71 75 69 72 65 73 29 3b 0a 7d 0a 0a 24 73 6b 69 70 50 61 s,.$rootDevRequires);.}..$skipPa
84f00 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 6f 6f 74 ckages.=.array();.foreach.($root
84f20 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 73 6b 69 70 50 61 63 Requires.as.$require).{.$skipPac
84f40 6b 61 67 65 73 5b 24 72 65 71 75 69 72 65 2d 3e 67 65 74 54 61 72 67 65 74 28 29 5d 20 3d 20 74 kages[$require->getTarget()].=.t
84f60 72 75 65 3b 0a 7d 0a 0a 24 70 6f 6f 6c 20 3d 20 6e 65 77 20 50 6f 6f 6c 3b 0a 24 70 6f 6f 6c 2d rue;.}..$pool.=.new.Pool;.$pool-
84f80 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 6c 6f 63 61 6c 52 65 70 6f 29 3b 0a 0a 24 73 65 >addRepository($localRepo);..$se
84fa0 65 6e 20 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 75 en.=.array();..foreach.($this->u
84fc0 70 64 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 pdateWhitelist.as.$packageName.=
84fe0 3e 20 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 >.$void).{.$packageQueue.=.new.\
85000 53 70 6c 51 75 65 75 65 3b 0a 0a 24 64 65 70 50 61 63 6b 61 67 65 73 20 3d 20 24 70 6f 6f 6c 2d SplQueue;..$depPackages.=.$pool-
85020 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 69 66 20 >whatProvides($packageName);.if.
85040 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 20 21 69 6e (count($depPackages).==.0.&&.!in
85060 5f 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 72 65 71 75 69 72 65 64 50 61 _array($packageName,.$requiredPa
85080 63 6b 61 67 65 4e 61 6d 65 73 29 20 26 26 20 21 69 6e 5f 61 72 72 61 79 28 24 70 61 63 6b 61 67 ckageNames).&&.!in_array($packag
850a0 65 4e 61 6d 65 2c 20 61 72 72 61 79 28 27 6e 6f 74 68 69 6e 67 27 2c 20 27 6c 6f 63 6b 27 29 29 eName,.array('nothing',.'lock'))
850c0 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 28 27 3c 77 61 72 6e 69 6e 67 3e 50 ).{.$this->io->write('<warning>P
850e0 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 6c 69 ackage."'...$packageName...'".li
85100 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 65 64 sted.for.update.is.not.installed
85120 2e 20 49 67 6e 6f 72 69 6e 67 2e 3c 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 0a 66 6f 72 65 61 ..Ignoring.<warning>');.}..forea
85140 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 67 65 29 ch.($depPackages.as.$depPackage)
85160 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 70 50 61 .{.$packageQueue->enqueue($depPa
85180 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 65 75 65 ckage);.}..while.(!$packageQueue
851a0 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 63 6b 61 ->isEmpty()).{.$package.=.$packa
851c0 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 28 24 73 geQueue->dequeue();.if.(isset($s
851e0 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 6e 74 69 een[$package->getId()])).{.conti
85200 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 28 29 5d nue;.}..$seen[$package->getId()]
85220 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 73 74 5b .=.true;.$this->updateWhitelist[
85240 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 0a 24 72 $package->getName()].=.true;..$r
85260 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 71 75 69 72 65 73 28 equires.=.$package->getRequires(
85280 29 3b 0a 69 66 20 28 24 64 65 76 4d 6f 64 65 29 20 7b 0a 24 72 65 71 75 69 72 65 73 20 3d 20 61 );.if.($devMode).{.$requires.=.a
852a0 72 72 61 79 5f 6d 65 72 67 65 28 24 72 65 71 75 69 72 65 73 2c 20 24 70 61 63 6b 61 67 65 2d 3e rray_merge($requires,.$package->
852c0 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 getDevRequires());.}..foreach.($
852e0 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 72 65 71 75 69 72 65 requires.as.$require).{.$require
85300 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 76 69 64 65 73 28 24 Packages.=.$pool->whatProvides($
85320 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 6f 72 65 61 63 68 20 require->getTarget());..foreach.
85340 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 75 69 72 65 50 61 63 ($requirePackages.as.$requirePac
85360 6b 61 67 65 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 73 6b 69 70 50 61 63 6b 61 67 65 73 5b kage).{.if.(isset($skipPackages[
85380 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 5d 29 29 20 7b 0a $requirePackage->getName()])).{.
853a0 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 24 70 61 63 6b 61 67 65 51 75 65 75 65 2d 3e 65 6e 71 75 65 continue;.}.$packageQueue->enque
853c0 75 65 28 24 72 65 71 75 69 72 65 50 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a ue($requirePackage);.}.}.}.}.}..
853e0 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 63 6b 4c 6f 63 61 .......private.function.mockLoca
85400 6c 52 65 70 6f 73 69 74 6f 72 69 65 73 28 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 20 lRepositories(RepositoryManager.
85420 24 72 6d 29 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 $rm).{.$packages.=.array();.fore
85440 61 63 68 20 28 24 72 6d 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 2d 3e ach.($rm->getLocalRepository()->
85460 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 70 61 getPackages().as.$package).{.$pa
85480 63 6b 61 67 65 73 5b 28 73 74 72 69 6e 67 29 20 24 70 61 63 6b 61 67 65 5d 20 3d 20 63 6c 6f 6e ckages[(string).$package].=.clon
854a0 65 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 e.$package;.}.foreach.($packages
854c0 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 70 61 63 .as.$key.=>.$package).{.if.($pac
854e0 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 7b 0a kage.instanceof.AliasPackage).{.
85500 24 61 6c 69 61 73 20 3d 20 28 73 74 72 69 6e 67 29 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 $alias.=.(string).$package->getA
85520 6c 69 61 73 4f 66 28 29 3b 0a 24 70 61 63 6b 61 67 65 73 5b 24 6b 65 79 5d 20 3d 20 6e 65 77 20 liasOf();.$packages[$key].=.new.
85540 41 6c 69 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 73 5b 24 61 6c 69 61 73 5d 2c 20 AliasPackage($packages[$alias],.
85560 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 70 61 63 6b 61 67 65 $package->getVersion(),.$package
85580 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 29 3b 0a 7d 0a 7d 0a 24 72 6d 2d 3e ->getPrettyVersion());.}.}.$rm->
855a0 73 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 0a 6e 65 77 20 49 6e 73 74 61 6c 6c 65 setLocalRepository(.new.Installe
855c0 64 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 28 24 70 61 63 6b 61 67 65 73 29 0a 29 3b 0a 7d dArrayRepository($packages).);.}
855e0 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.
85600 63 72 65 61 74 65 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 create(IOInterface.$io,.Composer
85620 20 24 63 6f 6d 70 6f 73 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 73 74 61 74 69 63 28 .$composer).{.return.new.static(
85640 0a 24 69 6f 2c 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2c 0a 24 63 .$io,.$composer->getConfig(),.$c
85660 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2c 0a 24 63 6f 6d 70 6f 73 65 72 omposer->getPackage(),.$composer
85680 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 29 2c 0a 24 63 6f 6d 70 6f 73 65 ->getDownloadManager(),.$compose
856a0 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 2c 0a 24 63 6f 6d 70 r->getRepositoryManager(),.$comp
856c0 6f 73 65 72 2d 3e 67 65 74 4c 6f 63 6b 65 72 28 29 2c 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 oser->getLocker(),.$composer->ge
856e0 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 2c 0a 24 63 6f 6d 70 6f 73 65 tInstallationManager(),.$compose
85700 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2c 0a 24 63 6f 6d 70 6f 73 r->getEventDispatcher(),.$compos
85720 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 29 0a 29 3b 0a 7d 0a er->getAutoloadGenerator().);.}.
85740 0a 70 75 62 6c 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 .public.function.setAdditionalIn
85760 73 74 61 6c 6c 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 stalledRepository(RepositoryInte
85780 72 66 61 63 65 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 rface.$additionalInstalledReposi
857a0 74 6f 72 79 29 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 tory).{.$this->additionalInstall
857c0 65 64 52 65 70 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 edRepository.=.$additionalInstal
857e0 6c 65 64 52 65 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 ledRepository;..return.$this;.}.
85800 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 72 79 52 75 6e .......public.function.setDryRun
85820 28 24 64 72 79 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 ($dryRun.=.true).{.$this->dryRun
85840 20 3d 20 28 62 6f 6f 6c 65 61 6e 29 20 24 64 72 79 52 75 6e 3b 0a 0a 72 65 74 75 72 6e 20 24 74 .=.(boolean).$dryRun;..return.$t
85860 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
85880 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 20 3d 20 74 72 tPreferSource($preferSource.=.tr
858a0 75 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 28 62 6f 6f ue).{.$this->preferSource.=.(boo
858c0 6c 65 61 6e 29 20 24 70 72 65 66 65 72 53 6f 75 72 63 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 lean).$preferSource;..return.$th
858e0 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
85900 50 72 65 66 65 72 44 69 73 74 28 24 70 72 65 66 65 72 44 69 73 74 20 3d 20 74 72 75 65 29 0a 7b PreferDist($preferDist.=.true).{
85920 0a 24 74 68 69 73 2d 3e 70 72 65 66 65 72 44 69 73 74 20 3d 20 28 62 6f 6f 6c 65 61 6e 29 20 24 .$this->preferDist.=.(boolean).$
85940 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 3b 0a 7d 0a 0a 0a 0a preferDist;..return.$this;.}....
85960 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 6d 69 7a 65 41 ....public.function.setOptimizeA
85980 75 74 6f 6c 6f 61 64 65 72 28 24 6f 70 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 65 72 20 3d 20 utoloader($optimizeAutoloader.=.
859a0 66 61 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 false).{.$this->optimizeAutoload
859c0 65 72 20 3d 20 28 62 6f 6f 6c 65 61 6e 29 20 24 6f 70 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 er.=.(boolean).$optimizeAutoload
859e0 65 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 70 75 62 6c er;..return.$this;.}........publ
85a00 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 55 70 64 61 74 65 28 24 75 70 64 61 74 65 20 3d 20 ic.function.setUpdate($update.=.
85a20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 20 3d 20 28 62 6f 6f 6c 65 61 6e true).{.$this->update.=.(boolean
85a40 29 20 24 75 70 64 61 74 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a ).$update;..return.$this;.}.....
85a60 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 4d 6f 64 65 28 24 64 ...public.function.setDevMode($d
85a80 65 76 4d 6f 64 65 20 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 evMode.=.true).{.$this->devMode.
85aa0 3d 20 28 62 6f 6f 6c 65 61 6e 29 20 24 64 65 76 4d 6f 64 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 =.(boolean).$devMode;..return.$t
85ac0 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
85ae0 74 52 75 6e 53 63 72 69 70 74 73 28 24 72 75 6e 53 63 72 69 70 74 73 20 3d 20 74 72 75 65 29 0a tRunScripts($runScripts.=.true).
85b00 7b 0a 24 74 68 69 73 2d 3e 72 75 6e 53 63 72 69 70 74 73 20 3d 20 28 62 6f 6f 6c 65 61 6e 29 20 {.$this->runScripts.=.(boolean).
85b20 24 72 75 6e 53 63 72 69 70 74 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a $runScripts;..return.$this;.}...
85b40 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 66 69 67 28 43 .....public.function.setConfig(C
85b60 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d onfig.$config).{.$this->config.=
85b80 20 24 63 6f 6e 66 69 67 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a .$config;..return.$this;.}......
85ba0 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 65 28 24 76 65 ..public.function.setVerbose($ve
85bc0 72 62 6f 73 65 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 65 20 3d rbose.=.true).{.$this->verbose.=
85be0 20 28 62 6f 6f 6c 65 61 6e 29 20 24 76 65 72 62 6f 73 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 .(boolean).$verbose;..return.$th
85c00 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 73 65 is;.}.........public.function.se
85c20 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 67 65 73 tUpdateWhitelist(array.$packages
85c40 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 61 72 72 ).{.$this->updateWhitelist.=.arr
85c60 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 27 2c 20 ay_flip(array_map('strtolower',.
85c80 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 0a 0a 0a $packages));..return.$this;.}...
85ca0 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 61 62 6c 65 43 ........public.function.disableC
85cc0 75 73 74 6f 6d 49 6e 73 74 61 6c 6c 65 72 73 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 ustomInstallers().{.$this->insta
85ce0 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2d 3e 64 69 73 61 62 6c 65 43 75 73 74 6f 6d 49 6e 73 llationManager->disableCustomIns
85d00 74 61 6c 6c 65 72 73 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 7d 0a 3c 3f tallers();..return.$this;.}.}.<?
85d20 70 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 php../*..*.This.file.is.part.of.
85d40 43 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 Composer...*..*.(c).Nils.Aderman
85d60 6e 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 n.<naderman@naderman.de>..*.....
85d80 4a 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 Jordi.Boggiano.<j.boggiano@seld.
85da0 62 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 be>..*..*.For.the.full.copyright
85dc0 20 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 .and.license.information,.please
85de0 20 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 .view.the.LICENSE..*.file.that.w
85e00 61 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 as.distributed.with.this.source.
85e20 63 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 code...*/..namespace.Composer\Au
85e40 74 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 toload;../**..*.ClassLoader.impl
85e60 65 6d 65 6e 74 73 20 61 20 50 53 52 2d 30 20 63 6c 61 73 73 20 6c 6f 61 64 65 72 0a 20 2a 0a 20 ements.a.PSR-0.class.loader..*..
85e80 2a 20 53 65 65 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 70 68 70 2d 66 69 67 *.See.https://github.com/php-fig
85ea0 2f 66 69 67 2d 73 74 61 6e 64 61 72 64 73 2f 62 6c 6f 62 2f 6d 61 73 74 65 72 2f 61 63 63 65 70 /fig-standards/blob/master/accep
85ec0 74 65 64 2f 50 53 52 2d 30 2e 6d 64 0a 20 2a 0a 20 2a 20 20 20 20 20 24 6c 6f 61 64 65 72 20 3d ted/PSR-0.md..*..*.....$loader.=
85ee0 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 4c 6f 61 .new.\Composer\Autoload\ClassLoa
85f00 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 63 6c 61 der();..*..*.....//.register.cla
85f20 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 6c 6f 61 sses.with.namespaces..*.....$loa
85f40 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 20 5f 5f der->add('Symfony\Component',.__
85f60 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 6c 6f 61 DIR__.'/component');..*.....$loa
85f80 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 20 5f 5f der->add('Symfony',...........__
85fa0 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 20 20 2f DIR__.'/framework');..*..*...../
85fc0 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 20 20 20 /.activate.the.autoloader..*....
85fe0 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 20 20 20 .$loader->register();..*..*.....
86000 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 63 6c 75 //.to.enable.searching.the.inclu
86020 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 73 29 0a de.path.(eg..for.PEAR.packages).
86040 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 50 61 74 .*.....$loader->setUseIncludePat
86060 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 65 2c 20 h(true);..*..*.In.this.example,.
86080 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 74 68 65 if.you.try.to.use.a.class.in.the
860a0 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 63 65 20 .Symfony\Component..*.namespace.
860c0 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 6e 79 5c or.one.of.its.children.(Symfony\
860e0 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 65 29 2c Component\Console.for.instance),
86100 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 20 6c 6f ..*.the.autoloader.will.first.lo
86120 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 6d 70 6f ok.for.the.class.under.the.compo
86140 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 6c 6c 20 nent/..*.directory,.and.it.will.
86160 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 6b 2f 20 then.fallback.to.the.framework/.
86180 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 6f 72 65 directory.if.not..*.found.before
861a0 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 69 73 20 .giving.up...*..*.This.class.is.
861c0 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 55 6e 69 loosely.based.on.the.Symfony.Uni
861e0 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 68 6f 72 versalClassLoader...*..*.@author
86200 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 66 6f 6e .Fabien.Potencier.<fabien@symfon
86220 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 61 6e 6f y.com>..*.@author.Jordi.Boggiano
86240 20 3c 6a 2e 62 6f 67 67 69 61 6e 6f 40 73 65 6c 64 2e 62 65 3e 0a 20 2a 2f 0a 63 6c 61 73 73 20 .<j.boggiano@seld.be>..*/.class.
86260 43 6c 61 73 73 4c 6f 61 64 65 72 0a 7b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 70 72 65 66 69 ClassLoader.{.....private.$prefi
86280 78 65 73 20 3d 20 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 xes.=.array();.....private.$fall
862a0 62 61 63 6b 44 69 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 backDirs.=.array();.....private.
862c0 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 20 20 20 20 70 72 69 $useIncludePath.=.false;.....pri
862e0 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 0a 20 20 20 20 70 vate.$classMap.=.array();......p
86300 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 73 28 29 0a 20 20 20 ublic.function.getPrefixes()....
86320 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 .{.........return.call_user_func
86340 5f 61 72 72 61 79 28 27 61 72 72 61 79 5f 6d 65 72 67 65 27 2c 20 24 74 68 69 73 2d 3e 70 72 65 _array('array_merge',.$this->pre
86360 66 69 78 65 73 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 fixes);.....}......public.functi
86380 6f 6e 20 67 65 74 46 61 6c 6c 62 61 63 6b 44 69 72 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 on.getFallbackDirs().....{......
863a0 20 20 20 72 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 3b 0a 20 ...return.$this->fallbackDirs;..
863c0 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 67 65 74 43 6c 61 ...}......public.function.getCla
863e0 73 73 4d 61 70 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 68 ssMap().....{.........return.$th
86400 69 73 2d 3e 63 6c 61 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 is->classMap;.....}....../**....
86420 20 20 2a 20 40 70 61 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 ..*.@param.array.$classMap.Class
86440 20 74 6f 20 66 69 6c 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 .to.filename.map......*/.....pub
86460 6c 69 63 20 66 75 6e 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 lic.function.addClassMap(array.$
86480 63 6c 61 73 73 4d 61 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 classMap).....{.........if.($thi
864a0 73 2d 3e 63 6c 61 73 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 s->classMap).{.............$this
864c0 2d 3e 63 6c 61 73 73 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 ->classMap.=.array_merge($this->
864e0 63 6c 61 73 73 4d 61 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 classMap,.$classMap);.........}.
86500 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 63 6c 61 73 73 4d else.{.............$this->classM
86520 61 70 20 3d 20 24 63 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 ap.=.$classMap;.........}.....}.
86540 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.
86560 6f 66 20 63 6c 61 73 73 65 73 2c 20 6d 65 72 67 69 6e 67 20 77 69 74 68 20 61 6e 79 20 6f 74 68 of.classes,.merging.with.any.oth
86580 65 72 73 20 70 72 65 76 69 6f 75 73 6c 79 20 73 65 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 ers.previously.set.......*......
865a0 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
865c0 68 65 20 63 6c 61 73 73 65 73 20 70 72 65 66 69 78 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 he.classes.prefix......*.@param.
865e0 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 6c 6f 63 61 74 69 array|string.$paths...The.locati
86600 6f 6e 28 73 29 20 6f 66 20 74 68 65 20 63 6c 61 73 73 65 73 0a 20 20 20 20 20 2a 20 40 70 61 72 on(s).of.the.classes......*.@par
86620 61 6d 20 62 6f 6f 6c 20 20 20 20 20 20 20 20 20 24 70 72 65 70 65 6e 64 20 50 72 65 70 65 6e 64 am.bool.........$prepend.Prepend
86640 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 28 73 29 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 .the.location(s)......*/.....pub
86660 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 68 73 lic.function.add($prefix,.$paths
86680 2c 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 ,.$prepend.=.false).....{.......
866a0 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 69 66 ..if.(!$prefix).{.............if
866c0 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 20 20 20 20 24 74 .($prepend).{.................$t
866e0 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 his->fallbackDirs.=.array_merge(
86700 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 24 70 61 .....................(array).$pa
86720 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 73 2d 3e ths,.....................$this->
86740 66 61 6c 6c 62 61 63 6b 44 69 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 3b 0a fallbackDirs.................);.
86760 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 20 20 ............}.else.{............
86780 20 20 20 20 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 20 3d 20 61 72 72 61 79 .....$this->fallbackDirs.=.array
867a0 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 20 20 24 74 68 69 _merge(.....................$thi
867c0 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s->fallbackDirs,................
867e0 20 20 20 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 .....(array).$paths.............
86800 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 ....);.............}............
86820 20 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 66 69 ..return;.........}..........$fi
86840 72 73 74 20 3d 20 24 70 72 65 66 69 78 5b 30 5d 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 rst.=.$prefix[0];.........if.(!i
86860 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 5b 24 66 69 72 73 74 5d 5b 24 70 72 sset($this->prefixes[$first][$pr
86880 65 66 69 78 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 efix])).{.............$this->pre
868a0 66 69 78 65 73 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 28 61 72 72 61 79 29 fixes[$first][$prefix].=.(array)
868c0 20 24 70 61 74 68 73 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 .$paths;..............return;...
868e0 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 70 72 65 70 65 6e 64 29 20 7b 0a ......}.........if.($prepend).{.
86900 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 65 73 5b 24 66 69 72 ............$this->prefixes[$fir
86920 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 28 0a 20 20 20 20 st][$prefix].=.array_merge(.....
86940 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 2c 0a 20 20 20 20 ............(array).$paths,.....
86960 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 65 73 5b 24 66 69 72 ............$this->prefixes[$fir
86980 73 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 st][$prefix].............);.....
869a0 20 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 ....}.else.{.............$this->
869c0 70 72 65 66 69 78 65 73 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 61 72 72 61 prefixes[$first][$prefix].=.arra
869e0 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 73 2d 3e y_merge(.................$this->
86a00 70 72 65 66 69 78 65 73 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 2c 0a 20 20 20 20 20 prefixes[$first][$prefix],......
86a20 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 20 20 20 20 ...........(array).$paths.......
86a40 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 0a 20 20 20 20 2f 2a ......);.........}.....}....../*
86a60 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 63 6c 61 73 *......*.Registers.a.set.of.clas
86a80 73 65 73 2c 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 76 69 6f ses,.replacing.any.others.previo
86aa0 75 73 6c 79 20 73 65 74 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 usly.set.......*......*.@param.s
86ac0 74 72 69 6e 67 20 20 20 20 20 20 20 24 70 72 65 66 69 78 20 54 68 65 20 63 6c 61 73 73 65 73 20 tring.......$prefix.The.classes.
86ae0 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 72 69 6e prefix......*.@param.array|strin
86b00 67 20 24 70 61 74 68 73 20 20 54 68 65 20 6c 6f 63 61 74 69 6f 6e 28 73 29 20 6f 66 20 74 68 65 g.$paths..The.location(s).of.the
86b20 20 63 6c 61 73 73 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 .classes......*/.....public.func
86b40 74 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 tion.set($prefix,.$paths).....{.
86b60 20 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 ........if.(!$prefix).{.........
86b80 20 20 20 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 20 3d 20 28 61 72 72 61 79 ....$this->fallbackDirs.=.(array
86ba0 29 20 24 70 61 74 68 73 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 20 ).$paths;..............return;..
86bc0 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 .......}.........$this->prefixes
86be0 5b 73 75 62 73 74 72 28 24 70 72 65 66 69 78 2c 20 30 2c 20 31 29 5d 5b 24 70 72 65 66 69 78 5d [substr($prefix,.0,.1)][$prefix]
86c00 20 3d 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a .=.(array).$paths;.....}....../*
86c20 2a 0a 20 20 20 20 20 2a 20 54 75 72 6e 73 20 6f 6e 20 73 65 61 72 63 68 69 6e 67 20 74 68 65 20 *......*.Turns.on.searching.the.
86c40 69 6e 63 6c 75 64 65 20 70 61 74 68 20 66 6f 72 20 63 6c 61 73 73 20 66 69 6c 65 73 2e 0a 20 20 include.path.for.class.files....
86c60 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 20 24 75 73 65 49 6e 63 6c ...*......*.@param.bool.$useIncl
86c80 75 64 65 50 61 74 68 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 udePath......*/.....public.funct
86ca0 69 6f 6e 20 73 65 74 55 73 65 49 6e 63 6c 75 64 65 50 61 74 68 28 24 75 73 65 49 6e 63 6c 75 64 ion.setUseIncludePath($useInclud
86cc0 65 50 61 74 68 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 75 73 65 49 ePath).....{.........$this->useI
86ce0 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 20 20 ncludePath.=.$useIncludePath;...
86d00 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 61 6e 20 62 65 20 75 73 65 64 20 ..}....../**......*.Can.be.used.
86d20 74 6f 20 63 68 65 63 6b 20 69 66 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 20 75 73 65 73 20 to.check.if.the.autoloader.uses.
86d40 74 68 65 20 69 6e 63 6c 75 64 65 20 70 61 74 68 20 74 6f 20 63 68 65 63 6b 0a 20 20 20 20 20 2a the.include.path.to.check......*
86d60 20 66 6f 72 20 63 6c 61 73 73 65 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 .for.classes.......*......*.@ret
86d80 75 72 6e 20 62 6f 6f 6c 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 urn.bool......*/.....public.func
86da0 74 69 6f 6e 20 67 65 74 55 73 65 49 6e 63 6c 75 64 65 50 61 74 68 28 29 0a 20 20 20 20 7b 0a 20 tion.getUseIncludePath().....{..
86dc0 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 73 65 49 6e 63 6c 75 64 65 50 .......return.$this->useIncludeP
86de0 61 74 68 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 67 69 73 ath;.....}....../**......*.Regis
86e00 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 6f 61 ters.this.instance.as.an.autoloa
86e20 64 65 72 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 6c 20 24 der.......*......*.@param.bool.$
86e40 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 74 68 65 20 61 prepend.Whether.to.prepend.the.a
86e60 75 74 6f 6c 6f 61 64 65 72 20 6f 72 20 6e 6f 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 utoloader.or.not......*/.....pub
86e80 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 67 69 73 74 65 72 28 24 70 72 65 70 65 6e 64 20 3d lic.function.register($prepend.=
86ea0 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 73 70 6c 5f 61 75 74 6f 6c 6f .false).....{.........spl_autolo
86ec0 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 6c 6f 61 64 43 6c ad_register(array($this,.'loadCl
86ee0 61 73 73 27 29 2c 20 74 72 75 65 2c 20 24 70 72 65 70 65 6e 64 29 3b 0a 20 20 20 20 7d 0a 0a 20 ass'),.true,.$prepend);.....}...
86f00 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 55 6e 72 65 67 69 73 74 65 72 73 20 74 68 69 73 20 69 .../**......*.Unregisters.this.i
86f20 6e 73 74 61 6e 63 65 20 61 73 20 61 6e 20 61 75 74 6f 6c 6f 61 64 65 72 2e 0a 20 20 20 20 20 2a nstance.as.an.autoloader.......*
86f40 2f 0a 20 20 20 20 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 /.....public.function.unregister
86f60 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 75 6e ().....{.........spl_autoload_un
86f80 72 65 67 69 73 74 65 72 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 6c 6f 61 64 43 6c 61 73 73 register(array($this,.'loadClass
86fa0 27 29 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 4c 6f 61 64 73 '));.....}....../**......*.Loads
86fc0 20 74 68 65 20 67 69 76 65 6e 20 63 6c 61 73 73 20 6f 72 20 69 6e 74 65 72 66 61 63 65 2e 0a 20 .the.given.class.or.interface...
86fe0 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 73 74 72 69 6e 67 20 20 20 20 24 ....*......*.@param..string....$
87000 63 6c 61 73 73 20 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6c 61 73 73 0a 20 20 20 20 class.The.name.of.the.class.....
87020 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 7c 6e 75 6c 6c 20 54 72 75 65 20 69 66 20 6c 6f 61 .*.@return.bool|null.True.if.loa
87040 64 65 64 2c 20 6e 75 6c 6c 20 6f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 ded,.null.otherwise......*/.....
87060 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
87080 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 66 69 6c 65 20 3d 20 24 74 68 69 ).....{.........if.($file.=.$thi
870a0 73 2d 3e 66 69 6e 64 46 69 6c 65 28 24 63 6c 61 73 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 s->findFile($class)).{..........
870c0 20 20 20 69 6e 63 6c 75 64 65 20 24 66 69 6c 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 ...include.$file;..............r
870e0 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 20 20 20 eturn.true;.........}.....}.....
87100 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 69 6e 64 73 20 74 68 65 20 70 61 74 68 20 74 6f 20 74 68 ./**......*.Finds.the.path.to.th
87120 65 20 66 69 6c 65 20 77 68 65 72 65 20 74 68 65 20 63 6c 61 73 73 20 69 73 20 64 65 66 69 6e 65 e.file.where.the.class.is.define
87140 64 2e 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 24 d.......*......*.@param.string.$
87160 63 6c 61 73 73 20 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 6c 61 73 73 0a 20 20 20 20 class.The.name.of.the.class.....
87180 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 66 61 6c 73 65 20 54 .*......*.@return.string|false.T
871a0 68 65 20 70 61 74 68 20 69 66 20 66 6f 75 6e 64 2c 20 66 61 6c 73 65 20 6f 74 68 65 72 77 69 73 he.path.if.found,.false.otherwis
871c0 65 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 66 69 e......*/.....public.function.fi
871e0 6e 64 46 69 6c 65 28 24 63 6c 61 73 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 ndFile($class).....{.........//.
87200 77 6f 72 6b 20 61 72 6f 75 6e 64 20 66 6f 72 20 50 48 50 20 35 2e 33 2e 30 20 2d 20 35 2e 33 2e work.around.for.PHP.5.3.0.-.5.3.
87220 32 20 68 74 74 70 73 3a 2f 2f 62 75 67 73 2e 70 68 70 2e 6e 65 74 2f 35 30 37 33 31 0a 20 20 20 2.https://bugs.php.net/50731....
87240 20 20 20 20 20 69 66 20 28 27 5c 5c 27 20 3d 3d 20 24 63 6c 61 73 73 5b 30 5d 29 20 7b 0a 20 20 .....if.('\\'.==.$class[0]).{...
87260 20 20 20 20 20 20 20 20 20 20 24 63 6c 61 73 73 20 3d 20 73 75 62 73 74 72 28 24 63 6c 61 73 73 ..........$class.=.substr($class
87280 2c 20 31 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 ,.1);.........}..........if.(iss
872a0 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 29 20 7b 0a 20 et($this->classMap[$class])).{..
872c0 20 20 20 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 73 73 4d 61 ...........return.$this->classMa
872e0 70 5b 24 63 6c 61 73 73 5d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 p[$class];.........}..........if
87300 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 73 28 24 63 6c 61 73 .(false.!==.$pos.=.strrpos($clas
87320 73 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 s,.'\\')).{.............//.names
87340 70 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 63 6c paced.class.name.............$cl
87360 61 73 73 50 61 74 68 20 3d 20 73 74 72 74 72 28 73 75 62 73 74 72 28 24 63 6c 61 73 73 2c 20 30 assPath.=.strtr(substr($class,.0
87380 2c 20 24 70 6f 73 29 2c 20 27 5c 5c 27 2c 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 ,.$pos),.'\\',.DIRECTORY_SEPARAT
873a0 4f 52 29 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 3b 0a 20 20 20 20 20 OR)...DIRECTORY_SEPARATOR;......
873c0 20 20 20 20 20 20 20 24 63 6c 61 73 73 4e 61 6d 65 20 3d 20 73 75 62 73 74 72 28 24 63 6c 61 73 .......$className.=.substr($clas
873e0 73 2c 20 24 70 6f 73 20 2b 20 31 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 s,.$pos.+.1);.........}.else.{..
87400 20 20 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 ...........//.PEAR-like.class.na
87420 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6c 61 73 73 50 61 74 68 20 3d 20 6e 75 6c 6c me.............$classPath.=.null
87440 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6c 61 73 73 4e 61 6d 65 20 3d 20 24 63 6c 61 73 ;.............$className.=.$clas
87460 73 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 63 6c 61 73 73 50 61 74 68 s;.........}..........$classPath
87480 20 2e 3d 20 73 74 72 74 72 28 24 63 6c 61 73 73 4e 61 6d 65 2c 20 27 5f 27 2c 20 44 49 52 45 43 ..=.strtr($className,.'_',.DIREC
874a0 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 2e 20 27 2e 70 68 70 27 3b 0a 0a 20 20 20 20 20 TORY_SEPARATOR)...'.php';.......
874c0 20 20 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 ...$first.=.$class[0];.........i
874e0 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 5b 24 66 69 72 73 74 5d f.(isset($this->prefixes[$first]
87500 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d )).{.............foreach.($this-
87520 3e 70 72 65 66 69 78 65 73 5b 24 66 69 72 73 74 5d 20 61 73 20 24 70 72 65 66 69 78 20 3d 3e 20 >prefixes[$first].as.$prefix.=>.
87540 24 64 69 72 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 30 20 3d $dirs).{.................if.(0.=
87560 3d 3d 20 73 74 72 70 6f 73 28 24 63 6c 61 73 73 2c 20 24 70 72 65 66 69 78 29 29 20 7b 0a 20 20 ==.strpos($class,.$prefix)).{...
87580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 64 69 72 73 ..................foreach.($dirs
875a0 20 61 73 20 24 64 69 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .as.$dir).{.....................
875c0 20 20 20 20 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 64 69 72 20 2e 20 44 49 52 45 43 ....if.(file_exists($dir...DIREC
875e0 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 24 63 6c 61 73 73 50 61 74 68 29 29 20 7b 0a TORY_SEPARATOR...$classPath)).{.
87600 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 72 65 74 75 ............................retu
87620 72 6e 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 rn.$dir...DIRECTORY_SEPARATOR...
87640 24 63 6c 61 73 73 50 61 74 68 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 $classPath;.....................
87660 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 20 20 ....}.....................}.....
87680 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 ............}.............}.....
876a0 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 66 ....}..........foreach.($this->f
876c0 61 6c 6c 62 61 63 6b 44 69 72 73 20 61 73 20 24 64 69 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 allbackDirs.as.$dir).{..........
876e0 20 20 20 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 64 69 72 20 2e 20 44 49 52 45 43 54 ...if.(file_exists($dir...DIRECT
87700 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 24 63 6c 61 73 73 50 61 74 68 29 29 20 7b 0a 20 ORY_SEPARATOR...$classPath)).{..
87720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 64 69 72 20 2e 20 44 49 52 ...............return.$dir...DIR
87740 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 24 63 6c 61 73 73 50 61 74 68 3b 0a 20 ECTORY_SEPARATOR...$classPath;..
87760 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 ...........}.........}..........
87780 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 20 26 26 20 24 66 69 if.($this->useIncludePath.&&.$fi
877a0 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 64 65 5f 70 61 74 68 le.=.stream_resolve_include_path
877c0 28 24 63 6c 61 73 73 50 61 74 68 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 ($classPath)).{.............retu
877e0 72 6e 20 24 66 69 6c 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 rn.$file;.........}..........ret
87800 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 20 3d 20 66 61 urn.$this->classMap[$class].=.fa
87820 6c 73 65 3b 0a 20 20 20 20 7d 0a 7d 0a 5b 0a 20 20 20 20 22 41 46 4c 2d 31 2e 31 22 2c 20 22 41 lse;.....}.}.[....."AFL-1.1",."A
87840 46 4c 2d 31 2e 32 22 2c 20 22 41 46 4c 2d 32 2e 30 22 2c 20 22 41 46 4c 2d 32 2e 31 22 2c 20 22 FL-1.2",."AFL-2.0",."AFL-2.1",."
87860 41 46 4c 2d 33 2e 30 22 2c 20 22 41 50 4c 2d 31 2e 30 22 2c 20 22 41 6c 61 64 64 69 6e 22 2c 0a AFL-3.0",."APL-1.0",."Aladdin",.
87880 20 20 20 20 22 41 4e 54 4c 52 2d 50 44 22 2c 20 22 41 70 61 63 68 65 2d 31 2e 30 22 2c 20 22 41 ...."ANTLR-PD",."Apache-1.0",."A
878a0 70 61 63 68 65 2d 31 2e 31 22 2c 20 22 41 70 61 63 68 65 2d 32 2e 30 22 2c 20 22 41 50 53 4c 2d pache-1.1",."Apache-2.0",."APSL-
878c0 31 2e 30 22 2c 0a 20 20 20 20 22 41 50 53 4c 2d 31 2e 31 22 2c 20 22 41 50 53 4c 2d 31 2e 32 22 1.0",....."APSL-1.1",."APSL-1.2"
878e0 2c 20 22 41 50 53 4c 2d 32 2e 30 22 2c 20 22 41 72 74 69 73 74 69 63 2d 31 2e 30 22 2c 20 22 41 ,."APSL-2.0",."Artistic-1.0",."A
87900 72 74 69 73 74 69 63 2d 32 2e 30 22 2c 20 22 41 41 4c 22 2c 0a 20 20 20 20 22 42 69 74 54 6f 72 rtistic-2.0",."AAL",....."BitTor
87920 72 65 6e 74 2d 31 2e 30 22 2c 20 22 42 69 74 54 6f 72 72 65 6e 74 2d 31 2e 31 22 2c 20 22 42 53 rent-1.0",."BitTorrent-1.1",."BS
87940 4c 2d 31 2e 30 22 2c 20 22 42 53 44 2d 33 2d 43 6c 61 75 73 65 2d 43 6c 65 61 72 22 2c 0a 20 20 L-1.0",."BSD-3-Clause-Clear",...
87960 20 20 22 42 53 44 2d 32 2d 43 6c 61 75 73 65 22 2c 20 22 42 53 44 2d 32 2d 43 6c 61 75 73 65 2d .."BSD-2-Clause",."BSD-2-Clause-
87980 46 72 65 65 42 53 44 22 2c 20 22 42 53 44 2d 32 2d 43 6c 61 75 73 65 2d 4e 65 74 42 53 44 22 2c FreeBSD",."BSD-2-Clause-NetBSD",
879a0 0a 20 20 20 20 22 42 53 44 2d 33 2d 43 6c 61 75 73 65 22 2c 20 22 42 53 44 2d 34 2d 43 6c 61 75 ....."BSD-3-Clause",."BSD-4-Clau
879c0 73 65 22 2c 20 22 42 53 44 2d 34 2d 43 6c 61 75 73 65 2d 55 43 22 2c 20 22 43 45 43 49 4c 4c 2d se",."BSD-4-Clause-UC",."CECILL-
879e0 31 2e 30 22 2c 0a 20 20 20 20 22 43 45 43 49 4c 4c 2d 31 2e 31 22 2c 20 22 43 45 43 49 4c 4c 2d 1.0",....."CECILL-1.1",."CECILL-
87a00 32 2e 30 22 2c 20 22 43 45 43 49 4c 4c 2d 42 22 2c 20 22 43 45 43 49 4c 4c 2d 43 22 2c 20 22 43 2.0",."CECILL-B",."CECILL-C",."C
87a20 6c 41 72 74 69 73 74 69 63 22 2c 0a 20 20 20 20 22 43 4e 52 49 2d 50 79 74 68 6f 6e 22 2c 20 22 lArtistic",....."CNRI-Python",."
87a40 43 4e 52 49 2d 50 79 74 68 6f 6e 2d 47 50 4c 2d 43 6f 6d 70 61 74 69 62 6c 65 22 2c 20 22 43 44 CNRI-Python-GPL-Compatible",."CD
87a60 44 4c 2d 31 2e 30 22 2c 20 22 43 44 44 4c 2d 31 2e 31 22 2c 0a 20 20 20 20 22 43 50 41 4c 2d 31 DL-1.0",."CDDL-1.1",....."CPAL-1
87a80 2e 30 22 2c 20 22 43 50 4c 2d 31 2e 30 22 2c 20 22 43 41 54 4f 53 4c 2d 31 2e 31 22 2c 20 22 43 .0",."CPL-1.0",."CATOSL-1.1",."C
87aa0 6f 6e 64 6f 72 2d 31 2e 31 22 2c 20 22 43 43 2d 42 59 2d 31 2e 30 22 2c 20 22 43 43 2d 42 59 2d ondor-1.1",."CC-BY-1.0",."CC-BY-
87ac0 32 2e 30 22 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 32 2e 35 22 2c 20 22 43 43 2d 42 59 2d 33 2e 2.0",....."CC-BY-2.5",."CC-BY-3.
87ae0 30 22 2c 20 22 43 43 2d 42 59 2d 4e 44 2d 31 2e 30 22 2c 20 22 43 43 2d 42 59 2d 4e 44 2d 32 2e 0",."CC-BY-ND-1.0",."CC-BY-ND-2.
87b00 30 22 2c 20 22 43 43 2d 42 59 2d 4e 44 2d 32 2e 35 22 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 0",."CC-BY-ND-2.5",....."CC-BY-N
87b20 44 2d 33 2e 30 22 2c 20 22 43 43 2d 42 59 2d 4e 43 2d 31 2e 30 22 2c 20 22 43 43 2d 42 59 2d 4e D-3.0",."CC-BY-NC-1.0",."CC-BY-N
87b40 43 2d 32 2e 30 22 2c 20 22 43 43 2d 42 59 2d 4e 43 2d 32 2e 35 22 2c 0a 20 20 20 20 22 43 43 2d C-2.0",."CC-BY-NC-2.5",....."CC-
87b60 42 59 2d 4e 43 2d 33 2e 30 22 2c 20 22 43 43 2d 42 59 2d 4e 43 2d 4e 44 2d 31 2e 30 22 2c 20 22 BY-NC-3.0",."CC-BY-NC-ND-1.0",."
87b80 43 43 2d 42 59 2d 4e 43 2d 4e 44 2d 32 2e 30 22 2c 20 22 43 43 2d 42 59 2d 4e 43 2d 4e 44 2d 32 CC-BY-NC-ND-2.0",."CC-BY-NC-ND-2
87ba0 2e 35 22 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 43 2d 4e 44 2d 33 2e 30 22 2c 20 22 43 43 2d .5",....."CC-BY-NC-ND-3.0",."CC-
87bc0 42 59 2d 4e 43 2d 53 41 2d 31 2e 30 22 2c 20 22 43 43 2d 42 59 2d 4e 43 2d 53 41 2d 32 2e 30 22 BY-NC-SA-1.0",."CC-BY-NC-SA-2.0"
87be0 2c 20 22 43 43 2d 42 59 2d 4e 43 2d 53 41 2d 32 2e 35 22 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d ,."CC-BY-NC-SA-2.5",....."CC-BY-
87c00 4e 43 2d 53 41 2d 33 2e 30 22 2c 20 22 43 43 2d 42 59 2d 53 41 2d 31 2e 30 22 2c 20 22 43 43 2d NC-SA-3.0",."CC-BY-SA-1.0",."CC-
87c20 42 59 2d 53 41 2d 32 2e 30 22 2c 20 22 43 43 2d 42 59 2d 53 41 2d 32 2e 35 22 2c 0a 20 20 20 20 BY-SA-2.0",."CC-BY-SA-2.5",.....
87c40 22 43 43 2d 42 59 2d 53 41 2d 33 2e 30 22 2c 20 22 43 43 30 2d 31 2e 30 22 2c 20 22 43 55 41 2d "CC-BY-SA-3.0",."CC0-1.0",."CUA-
87c60 4f 50 4c 2d 31 2e 30 22 2c 20 22 57 54 46 50 4c 22 2c 20 22 45 50 4c 2d 31 2e 30 22 2c 20 22 65 OPL-1.0",."WTFPL",."EPL-1.0",."e
87c80 43 6f 73 2d 32 2e 30 22 2c 0a 20 20 20 20 22 45 43 4c 2d 31 2e 30 22 2c 20 22 45 43 4c 2d 32 2e Cos-2.0",....."ECL-1.0",."ECL-2.
87ca0 30 22 2c 20 22 45 46 4c 2d 31 2e 30 22 2c 20 22 45 46 4c 2d 32 2e 30 22 2c 20 22 45 6e 74 65 73 0",."EFL-1.0",."EFL-2.0",."Entes
87cc0 73 61 22 2c 20 22 45 72 6c 50 4c 2d 31 2e 31 22 2c 0a 20 20 20 20 22 45 55 44 61 74 61 67 72 69 sa",."ErlPL-1.1",....."EUDatagri
87ce0 64 22 2c 20 22 45 55 50 4c 2d 31 2e 30 22 2c 20 22 45 55 50 4c 2d 31 2e 31 22 2c 20 22 46 61 69 d",."EUPL-1.0",."EUPL-1.1",."Fai
87d00 72 22 2c 20 22 46 72 61 6d 65 77 6f 72 78 2d 31 2e 30 22 2c 20 22 46 54 4c 22 2c 0a 20 20 20 20 r",."Frameworx-1.0",."FTL",.....
87d20 22 41 47 50 4c 2d 33 2e 30 22 2c 20 22 47 46 44 4c 2d 31 2e 31 22 2c 20 22 47 46 44 4c 2d 31 2e "AGPL-3.0",."GFDL-1.1",."GFDL-1.
87d40 32 22 2c 20 22 47 46 44 4c 2d 31 2e 33 22 2c 20 22 47 50 4c 2d 31 2e 30 22 2c 20 22 47 50 4c 2d 2",."GFDL-1.3",."GPL-1.0",."GPL-
87d60 31 2e 30 2b 22 2c 0a 20 20 20 20 22 47 50 4c 2d 32 2e 30 22 2c 20 22 47 50 4c 2d 32 2e 30 2b 22 1.0+",....."GPL-2.0",."GPL-2.0+"
87d80 2c 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 ,."GPL-2.0-with-autoconf-excepti
87da0 6f 6e 22 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 2d 65 78 63 on",....."GPL-2.0-with-bison-exc
87dc0 65 70 74 69 6f 6e 22 2c 20 22 47 50 4c 2d 32 2e 30 2d 77 69 74 68 2d 63 6c 61 73 73 70 61 74 68 eption",."GPL-2.0-with-classpath
87de0 2d 65 78 63 65 70 74 69 6f 6e 22 2c 0a 20 20 20 20 22 47 50 4c 2d 32 2e 30 2d 77 69 74 68 2d 66 -exception",....."GPL-2.0-with-f
87e00 6f 6e 74 2d 65 78 63 65 70 74 69 6f 6e 22 2c 20 22 47 50 4c 2d 32 2e 30 2d 77 69 74 68 2d 47 43 ont-exception",."GPL-2.0-with-GC
87e20 43 2d 65 78 63 65 70 74 69 6f 6e 22 2c 20 22 47 50 4c 2d 33 2e 30 22 2c 0a 20 20 20 20 22 47 50 C-exception",."GPL-3.0",....."GP
87e40 4c 2d 33 2e 30 2b 22 2c 20 22 47 50 4c 2d 33 2e 30 2d 77 69 74 68 2d 61 75 74 6f 63 6f 6e 66 2d L-3.0+",."GPL-3.0-with-autoconf-
87e60 65 78 63 65 70 74 69 6f 6e 22 2c 20 22 47 50 4c 2d 33 2e 30 2d 77 69 74 68 2d 47 43 43 2d 65 78 exception",."GPL-3.0-with-GCC-ex
87e80 63 65 70 74 69 6f 6e 22 2c 0a 20 20 20 20 22 4c 47 50 4c 2d 32 2e 31 22 2c 20 22 4c 47 50 4c 2d ception",....."LGPL-2.1",."LGPL-
87ea0 32 2e 31 2b 22 2c 20 22 4c 47 50 4c 2d 33 2e 30 22 2c 20 22 4c 47 50 4c 2d 33 2e 30 2b 22 2c 20 2.1+",."LGPL-3.0",."LGPL-3.0+",.
87ec0 22 4c 47 50 4c 2d 32 2e 30 22 2c 20 22 4c 47 50 4c 2d 32 2e 30 2b 22 2c 0a 20 20 20 20 22 67 53 "LGPL-2.0",."LGPL-2.0+",....."gS
87ee0 4f 41 50 2d 31 2e 33 62 22 2c 20 22 48 50 4e 44 22 2c 20 22 49 50 4c 2d 31 2e 30 22 2c 20 22 49 OAP-1.3b",."HPND",."IPL-1.0",."I
87f00 6d 6c 69 62 32 22 2c 20 22 49 4a 47 22 2c 20 22 49 6e 74 65 6c 22 2c 20 22 49 50 41 22 2c 20 22 mlib2",."IJG",."Intel",."IPA",."
87f20 49 53 43 22 2c 0a 20 20 20 20 22 4a 53 4f 4e 22 2c 20 22 4c 50 50 4c 2d 31 2e 33 61 22 2c 20 22 ISC",....."JSON",."LPPL-1.3a",."
87f40 4c 50 50 4c 2d 31 2e 30 22 2c 20 22 4c 50 50 4c 2d 31 2e 31 22 2c 20 22 4c 50 50 4c 2d 31 2e 32 LPPL-1.0",."LPPL-1.1",."LPPL-1.2
87f60 22 2c 20 22 4c 50 50 4c 2d 31 2e 33 63 22 2c 0a 20 20 20 20 22 4c 69 62 70 6e 67 22 2c 20 22 4c ",."LPPL-1.3c",....."Libpng",."L
87f80 50 4c 2d 31 2e 30 32 22 2c 20 22 4c 50 4c 2d 31 2e 30 22 2c 20 22 4d 53 2d 50 4c 22 2c 20 22 4d PL-1.02",."LPL-1.0",."MS-PL",."M
87fa0 53 2d 52 4c 22 2c 20 22 4d 69 72 4f 53 22 2c 20 22 4d 49 54 22 2c 0a 20 20 20 20 22 4d 6f 74 6f S-RL",."MirOS",."MIT",....."Moto
87fc0 73 6f 74 6f 22 2c 20 22 4d 50 4c 2d 31 2e 30 22 2c 20 22 4d 50 4c 2d 31 2e 31 22 2c 20 22 4d 50 soto",."MPL-1.0",."MPL-1.1",."MP
87fe0 4c 2d 32 2e 30 22 2c 0a 20 20 20 20 22 4d 50 4c 2d 32 2e 30 2d 6e 6f 2d 63 6f 70 79 6c 65 66 74 L-2.0",....."MPL-2.0-no-copyleft
88000 2d 65 78 63 65 70 74 69 6f 6e 22 2c 20 22 4d 75 6c 74 69 63 73 22 2c 20 22 4e 41 53 41 2d 31 2e -exception",."Multics",."NASA-1.
88020 33 22 2c 20 22 4e 61 75 6d 65 6e 22 2c 0a 20 20 20 20 22 4e 42 50 4c 2d 31 2e 30 22 2c 20 22 4e 3",."Naumen",....."NBPL-1.0",."N
88040 47 50 4c 22 2c 20 22 4e 4f 53 4c 22 2c 20 22 4e 50 4c 2d 31 2e 30 22 2c 20 22 4e 50 4c 2d 31 2e GPL",."NOSL",."NPL-1.0",."NPL-1.
88060 31 22 2c 20 22 4e 6f 6b 69 61 22 2c 20 22 4e 50 4f 53 4c 2d 33 2e 30 22 2c 0a 20 20 20 20 22 4e 1",."Nokia",."NPOSL-3.0",....."N
88080 54 50 22 2c 20 22 4f 43 4c 43 2d 32 2e 30 22 2c 20 22 4f 44 62 4c 2d 31 2e 30 22 2c 20 22 50 44 TP",."OCLC-2.0",."ODbL-1.0",."PD
880a0 44 4c 2d 31 2e 30 22 2c 20 22 4f 47 54 53 4c 22 2c 20 22 4f 4c 44 41 50 2d 32 2e 32 2e 32 22 2c DL-1.0",."OGTSL",."OLDAP-2.2.2",
880c0 0a 20 20 20 20 22 4f 4c 44 41 50 2d 31 2e 31 22 2c 20 22 4f 4c 44 41 50 2d 31 2e 32 22 2c 20 22 ....."OLDAP-1.1",."OLDAP-1.2",."
880e0 4f 4c 44 41 50 2d 31 2e 33 22 2c 20 22 4f 4c 44 41 50 2d 31 2e 34 22 2c 20 22 4f 4c 44 41 50 2d OLDAP-1.3",."OLDAP-1.4",."OLDAP-
88100 32 2e 30 22 2c 0a 20 20 20 20 22 4f 4c 44 41 50 2d 32 2e 30 2e 31 22 2c 20 22 4f 4c 44 41 50 2d 2.0",....."OLDAP-2.0.1",."OLDAP-
88120 32 2e 31 22 2c 20 22 4f 4c 44 41 50 2d 32 2e 32 22 2c 20 22 4f 4c 44 41 50 2d 32 2e 32 2e 31 22 2.1",."OLDAP-2.2",."OLDAP-2.2.1"
88140 2c 20 22 4f 4c 44 41 50 2d 32 2e 33 22 2c 0a 20 20 20 20 22 4f 4c 44 41 50 2d 32 2e 34 22 2c 20 ,."OLDAP-2.3",....."OLDAP-2.4",.
88160 22 4f 4c 44 41 50 2d 32 2e 35 22 2c 20 22 4f 4c 44 41 50 2d 32 2e 36 22 2c 20 22 4f 4c 44 41 50 "OLDAP-2.5",."OLDAP-2.6",."OLDAP
88180 2d 32 2e 37 22 2c 20 22 4f 50 4c 2d 31 2e 30 22 2c 20 22 4f 53 4c 2d 31 2e 30 22 2c 0a 20 20 20 -2.7",."OPL-1.0",."OSL-1.0",....
881a0 20 22 4f 53 4c 2d 32 2e 30 22 2c 20 22 4f 53 4c 2d 32 2e 31 22 2c 20 22 4f 53 4c 2d 33 2e 30 22 ."OSL-2.0",."OSL-2.1",."OSL-3.0"
881c0 2c 20 22 4f 4c 44 41 50 2d 32 2e 38 22 2c 20 22 4f 70 65 6e 53 53 4c 22 2c 20 22 50 48 50 2d 33 ,."OLDAP-2.8",."OpenSSL",."PHP-3
881e0 2e 30 22 2c 0a 20 20 20 20 22 50 48 50 2d 33 2e 30 31 22 2c 20 22 50 6f 73 74 67 72 65 53 51 4c .0",....."PHP-3.01",."PostgreSQL
88200 22 2c 20 22 50 79 74 68 6f 6e 2d 32 2e 30 22 2c 20 22 51 50 4c 2d 31 2e 30 22 2c 20 22 52 50 53 ",."Python-2.0",."QPL-1.0",."RPS
88220 4c 2d 31 2e 30 22 2c 20 22 52 50 4c 2d 31 2e 35 22 2c 0a 20 20 20 20 22 52 48 65 43 6f 73 2d 31 L-1.0",."RPL-1.5",....."RHeCos-1
88240 2e 31 22 2c 20 22 52 53 43 50 4c 22 2c 20 22 52 75 62 79 22 2c 20 22 53 41 58 2d 50 44 22 2c 20 .1",."RSCPL",."Ruby",."SAX-PD",.
88260 22 53 47 49 2d 42 2d 31 2e 30 22 2c 20 22 53 47 49 2d 42 2d 31 2e 31 22 2c 0a 20 20 20 20 22 53 "SGI-B-1.0",."SGI-B-1.1",....."S
88280 47 49 2d 42 2d 32 2e 30 22 2c 20 22 4f 46 4c 2d 31 2e 30 22 2c 20 22 4f 46 4c 2d 31 2e 31 22 2c GI-B-2.0",."OFL-1.0",."OFL-1.1",
882a0 20 22 53 69 6d 50 4c 2d 32 2e 30 22 2c 20 22 53 6c 65 65 70 79 63 61 74 22 2c 20 22 53 4d 4c 4e ."SimPL-2.0",."Sleepycat",."SMLN
882c0 4a 22 2c 0a 20 20 20 20 22 53 75 67 61 72 43 52 4d 2d 31 2e 31 2e 33 22 2c 20 22 53 49 53 53 4c J",....."SugarCRM-1.1.3",."SISSL
882e0 22 2c 20 22 53 50 4c 2d 31 2e 30 22 2c 20 22 57 61 74 63 6f 6d 2d 31 2e 30 22 2c 20 22 4e 43 53 ",."SPL-1.0",."Watcom-1.0",."NCS
88300 41 22 2c 20 22 56 53 4c 2d 31 2e 30 22 2c 0a 20 20 20 20 22 57 33 43 22 2c 20 22 57 58 77 69 6e A",."VSL-1.0",....."W3C",."WXwin
88320 64 6f 77 73 22 2c 20 22 58 6e 65 74 22 2c 20 22 58 31 31 22 2c 20 22 58 46 72 65 65 38 36 2d 31 dows",."Xnet",."X11",."XFree86-1
88340 2e 31 22 2c 20 22 59 50 4c 2d 31 2e 30 22 2c 20 22 59 50 4c 2d 31 2e 31 22 2c 0a 20 20 20 20 22 .1",."YPL-1.0",."YPL-1.1",....."
88360 5a 69 6d 62 72 61 2d 31 2e 33 22 2c 20 22 5a 6c 69 62 22 2c 20 22 5a 50 4c 2d 31 2e 31 22 2c 20 Zimbra-1.3",."Zlib",."ZPL-1.1",.
88380 22 5a 50 4c 2d 32 2e 30 22 2c 20 22 5a 50 4c 2d 32 2e 31 22 0a 5d 7b 0a 20 20 20 20 22 6e 61 6d "ZPL-2.0",."ZPL-2.1".]{....."nam
883a0 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 6f 62 6a 65 e":."Package",....."type":."obje
883c0 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 65 73 22 3a ct",....."additionalProperties":
883e0 20 66 61 6c 73 65 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 .false,....."properties":.{.....
88400 20 20 20 20 22 6e 61 6d 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 ...."name":.{............."type"
88420 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 72 69 70 :."string",............."descrip
88440 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 75 64 69 6e 67 20 tion":."Package.name,.including.
88460 27 76 65 6e 64 6f 72 2d 6e 61 6d 65 2f 27 20 70 72 65 66 69 78 2e 22 2c 0a 20 20 20 20 20 20 20 'vendor-name/'.prefix.",........
88480 20 20 20 20 20 22 72 65 71 75 69 72 65 64 22 3a 20 74 72 75 65 0a 20 20 20 20 20 20 20 20 7d 2c ....."required":.true.........},
884a0 0a 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 22 ........."type":.{............."
884c0 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 50 61 63 6b 61 67 65 20 74 79 70 65 2c 20 65 69 74 description":."Package.type,.eit
884e0 68 65 72 20 27 6c 69 62 72 61 72 79 27 20 66 6f 72 20 63 6f 6d 6d 6f 6e 20 70 61 63 6b 61 67 65 her.'library'.for.common.package
88500 73 2c 20 27 63 6f 6d 70 6f 73 65 72 2d 69 6e 73 74 61 6c 6c 65 72 27 20 66 6f 72 20 63 75 73 74 s,.'composer-installer'.for.cust
88520 6f 6d 20 69 6e 73 74 61 6c 6c 65 72 73 2c 20 27 6d 65 74 61 70 61 63 6b 61 67 65 27 20 66 6f 72 om.installers,.'metapackage'.for
88540 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 20 74 79 70 .empty.packages,.or.a.custom.typ
88560 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 61 74 65 76 e.([a-z0-9-]+).defined.by.whatev
88580 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 69 65 73 20 er.project.this.package.applies.
885a0 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 74 72 69 6e to.",............."type":."strin
885c0 67 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 74 61 72 67 65 74 2d 64 69 g".........},........."target-di
885e0 72 22 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 r":.{............."description":
88600 20 22 46 6f 72 63 65 73 20 74 68 65 20 70 61 63 6b 61 67 65 20 74 6f 20 62 65 20 69 6e 73 74 61 ."Forces.the.package.to.be.insta
88620 6c 6c 65 64 20 69 6e 74 6f 20 74 68 65 20 67 69 76 65 6e 20 73 75 62 64 69 72 65 63 74 6f 72 79 lled.into.the.given.subdirectory
88640 20 70 61 74 68 2e 20 54 68 69 73 20 69 73 20 75 73 65 64 20 66 6f 72 20 61 75 74 6f 6c 6f 61 64 .path..This.is.used.for.autoload
88660 69 6e 67 20 50 53 52 2d 30 20 70 61 63 6b 61 67 65 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 63 ing.PSR-0.packages.that.do.not.c
88680 6f 6e 74 61 69 6e 20 74 68 65 69 72 20 66 75 6c 6c 20 70 61 74 68 2e 20 55 73 65 20 66 6f 72 77 ontain.their.full.path..Use.forw
886a0 61 72 64 20 73 6c 61 73 68 65 73 20 66 6f 72 20 63 72 6f 73 73 2d 70 6c 61 74 66 6f 72 6d 20 63 ard.slashes.for.cross-platform.c
886c0 6f 6d 70 61 74 69 62 69 6c 69 74 79 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 ompatibility.",............."typ
886e0 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 e":."string".........},.........
88700 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 "description":.{............."ty
88720 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
88740 72 69 70 74 69 6f 6e 22 3a 20 22 53 68 6f 72 74 20 70 61 63 6b 61 67 65 20 64 65 73 63 72 69 70 ription":."Short.package.descrip
88760 74 69 6f 6e 2e 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 tion.",............."required":.
88780 74 72 75 65 0a 20 20 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 true.........},........."keyword
887a0 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 61 72 72 61 79 s":.{............."type":."array
887c0 22 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 ",............."items":.{.......
887e0 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 20 20 .........."type":."string",.....
88800 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 74 61 ............"description":."A.ta
88820 67 2f 6b 65 79 77 6f 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 g/keyword.that.this.package.rela
88840 74 65 73 20 74 6f 2e 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 tes.to.".............}.........}
88860 2c 0a 20 20 20 20 20 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 ,........."homepage":.{.........
88880 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",...........
888a0 20 20 22 64 65 73 63 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 .."description":."Homepage.URL.f
888c0 6f 72 20 74 68 65 20 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 or.the.project.",............."f
888e0 6f 72 6d 61 74 22 3a 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 ormat":."uri".........},........
88900 20 22 76 65 72 73 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 ."version":.{............."type"
88920 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 72 69 70 :."string",............."descrip
88940 74 69 6f 6e 22 3a 20 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 tion":."Package.version,.see.htt
88960 70 3a 2f 2f 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 p://getcomposer.org/doc/04-schem
88980 61 2e 6d 64 23 76 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 a.md#version.for.more.info.on.va
889a0 6c 69 64 20 73 63 68 65 6d 65 73 2e 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 lid.schemes.".........},........
889c0 20 22 74 69 6d 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 ."time":.{............."type":."
889e0 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 72 69 70 74 69 6f string",............."descriptio
88a00 6e 22 3a 20 22 50 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 n":."Package.release.date,.in.'Y
88a20 59 59 59 2d 4d 4d 2d 44 44 27 20 6f 72 20 27 59 59 59 59 2d 4d 4d 2d 44 44 20 48 48 3a 4d 4d 3a YYY-MM-DD'.or.'YYYY-MM-DD.HH:MM:
88a40 53 53 27 20 66 6f 72 6d 61 74 2e 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 SS'.format.".........},.........
88a60 22 6c 69 63 65 6e 73 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 "license":.{............."type":
88a80 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 20 20 .["string",."array"],...........
88aa0 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4c 69 63 65 6e 73 65 20 6e 61 6d 65 2e 20 .."description":."License.name..
88ac0 4f 72 20 61 6e 20 61 72 72 61 79 20 6f 66 20 6c 69 63 65 6e 73 65 20 6e 61 6d 65 73 2e 22 0a 20 Or.an.array.of.license.names."..
88ae0 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 61 75 74 68 6f 72 73 22 3a 20 7b 0a 20 .......},........."authors":.{..
88b00 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",.....
88b20 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 74 20 6f 66 20 ........"description":."List.of.
88b40 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 20 74 68 65 20 authors.that.contributed.to.the.
88b60 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 74 68 65 20 6d package..This.is.typically.the.m
88b80 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 6c 6c 20 6c 69 ain.maintainers,.not.the.full.li
88ba0 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 7b 0a 20 20 20 st.",............."items":.{....
88bc0 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",..
88be0 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
88c00 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 20 20 20 22 70 ties":.false,................."p
88c20 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 20 20 roperties":.{...................
88c40 20 20 22 6e 61 6d 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 .."name":.{.....................
88c60 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",...........
88c80 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 46 75 .............."description":."Fu
88ca0 6c 6c 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 61 75 74 68 6f 72 2e 22 2c 0a 20 20 20 20 20 20 20 ll.name.of.the.author.",........
88cc0 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 22 3a 20 74 72 75 ................."required":.tru
88ce0 65 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 e.....................},........
88d00 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 20 20 ............."email":.{.........
88d20 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"
88d40 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
88d60 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 20 61 iption":."Email.address.of.the.a
88d80 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 20 20 uthor.",........................
88da0 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 20 20 ."format":."email"..............
88dc0 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 22 68 .......},....................."h
88de0 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 20 20 omepage":.{.....................
88e00 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",...........
88e20 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 48 6f .............."description":."Ho
88e40 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 20 20 mepage.URL.for.the.author.",....
88e60 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 20 22 ....................."format":."
88e80 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 20 20 uri".....................},.....
88ea0 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 20 20 ................"role":.{.......
88ec0 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
88ee0 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
88f00 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 68 65 cription":."Author's.role.in.the
88f20 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 20 7d .project.".....................}
88f40 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 20 7d .................}.............}
88f60 0a 20 20 20 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 .........},........."require":.{
88f80 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 0a 20 ............."type":."object",..
88fa0 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 69 73 20 ..........."description":."This.
88fc0 69 73 20 61 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 is.a.hash.of.package.name.(keys)
88fe0 20 61 6e 64 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 .and.version.constraints.(values
89000 29 20 74 68 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 ).that.are.required.to.run.this.
89020 70 61 63 6b 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 package.",............."addition
89040 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 7d 2c 0a 20 alProperties":.true.........},..
89060 20 20 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 ......."replace":.{.............
89080 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
890a0 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.
890c0 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.
890e0 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 63 61 6e 20 62 65 constraints.(values).that.can.be
89100 20 72 65 70 6c 61 63 65 64 20 62 79 20 74 68 69 73 20 70 61 63 6b 61 67 65 2e 22 2c 0a 20 20 20 .replaced.by.this.package.",....
89120 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":
89140 20 74 72 75 65 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 6c 69 .true.........},........."confli
89160 63 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 22 6f 62 6a 65 ct":.{............."type":."obje
89180 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 20 ct",............."description":.
891a0 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 65 20 6e 61 6d 65 20 "This.is.a.hash.of.package.name.
891c0 28 6b 65 79 73 29 20 61 6e 64 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 28 (keys).and.version.constraints.(
891e0 76 61 6c 75 65 73 29 20 74 68 61 74 20 63 6f 6e 66 6c 69 63 74 20 77 69 74 68 20 74 68 69 73 20 values).that.conflict.with.this.
89200 70 61 63 6b 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 package.",............."addition
89220 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 7d 2c 0a 20 alProperties":.true.........},..
89240 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":.{.............
89260 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
89280 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.
892a0 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.
892c0 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
892e0 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
89300 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.",...........
89320 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 75 65 0a 20 .."additionalProperties":.true..
89340 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 2d 64 65 76 22 3a .......},........."require-dev":
89360 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",
89380 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 54 68 69 ............."description":."Thi
893a0 73 20 69 73 20 61 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 s.is.a.hash.of.package.name.(key
893c0 73 29 20 61 6e 64 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 s).and.version.constraints.(valu
893e0 65 73 29 20 74 68 61 74 20 74 68 69 73 20 70 61 63 6b 61 67 65 20 72 65 71 75 69 72 65 73 20 66 es).that.this.package.requires.f
89400 6f 72 20 64 65 76 65 6c 6f 70 69 6e 67 20 69 74 20 28 74 65 73 74 69 6e 67 20 74 6f 6f 6c 73 20 or.developing.it.(testing.tools.
89420 61 6e 64 20 73 75 63 68 29 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 and.such).",............."additi
89440 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 7d 2c onalProperties":.true.........},
89460 0a 20 20 20 20 20 20 20 20 22 73 75 67 67 65 73 74 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ........."suggest":.{...........
89480 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",.............
894a0 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
894c0 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 64 65 73 63 72 69 f.package.name.(keys).and.descri
894e0 70 74 69 6f 6e 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 ptions.(values).that.this.packag
89500 65 20 73 75 67 67 65 73 74 73 20 77 6f 72 6b 20 77 65 6c 6c 20 77 69 74 68 20 69 74 20 28 74 68 e.suggests.work.well.with.it.(th
89520 69 73 20 77 69 6c 6c 20 62 65 20 73 75 67 67 65 73 74 65 64 20 74 6f 20 74 68 65 20 75 73 65 72 is.will.be.suggested.to.the.user
89540 20 64 75 72 69 6e 67 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 29 2e 22 2c 0a 20 20 20 20 20 20 20 .during.installation).",........
89560 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 75 ....."additionalProperties":.tru
89580 65 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 22 3a 20 7b e.........},........."config":.{
895a0 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 0a 20 ............."type":."object",..
895c0 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 6f 6d 70 6f ..........."description":."Compo
895e0 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 70 72 6f 70 ser.options.",............."prop
89600 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 72 6f 63 erties":.{................."proc
89620 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 20 20 20 20 ess-timeout":.{.................
89640 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 20 20 20 20 ...."type":."integer",..........
89660 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 74 ..........."description":."The.t
89680 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 73 20 65 78 imeout.in.seconds.for.process.ex
896a0 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 6d 69 6e 73 ecutions,.defaults.to.300.(5mins
896c0 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 20 20 20 20 ).".................},..........
896e0 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 0a 20 20 20 ......."use-include-path":.{....
89700 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
89720 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
89740 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 72 20 61 75 tion":."If.true,.the.Composer.au
89760 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 63 6c 61 73 toloader.will.also.look.for.clas
89780 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 22 0a 20 20 ses.in.the.PHP.include.path."...
897a0 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 ..............},................
897c0 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 20 20 20 20 ."preferred-install":.{.........
897e0 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",...
89800 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":
89820 20 22 54 68 65 20 69 6e 73 74 61 6c 6c 20 6d 65 74 68 6f 64 20 43 6f 6d 70 6f 73 65 72 20 77 69 ."The.install.method.Composer.wi
89840 6c 6c 20 70 72 65 66 65 72 20 74 6f 20 75 73 65 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 61 75 ll.prefer.to.use,.defaults.to.au
89860 74 6f 20 61 6e 64 20 63 61 6e 20 62 65 20 61 6e 79 20 6f 66 20 73 6f 75 72 63 65 2c 20 64 69 73 to.and.can.be.any.of.source,.dis
89880 74 20 6f 72 20 61 75 74 6f 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 t.or.auto.".................},..
898a0 20 20 20 20 20 20 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 ..............."notify-on-instal
898c0 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"
898e0 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 20 :."boolean",....................
89900 20 22 64 65 73 63 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 ."description":."Composer.allows
89920 20 72 65 70 6f 73 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 .repositories.to.define.a.notifi
89940 63 61 74 69 6f 6e 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 cation.URL,.so.that.they.get.not
89960 69 66 69 65 64 20 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 ified.whenever.a.package.from.th
89980 61 74 20 72 65 70 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 at.repository.is.installed..This
899a0 20 6f 70 74 69 6f 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 .option.allows.you.to.disable.th
899c0 61 74 20 62 65 68 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 at.behaviour,.defaults.to.true."
899e0 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 .................},.............
89a00 20 20 20 20 22 67 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 ...."github-protocols":.{.......
89a20 20 20 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 0a 20 .............."type":."array",..
89a40 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"
89a60 3a 20 22 41 20 6c 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 :."A.list.of.protocols.to.use.fo
89a80 72 20 67 69 74 68 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 r.github.com.clones,.in.priority
89aa0 20 6f 72 64 65 72 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 .order,.defaults.to.[\"git\",.\"
89ac0 68 74 74 70 73 5c 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 https\",.\"http\"].",...........
89ae0 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 20 20 20 20 .........."items":.{............
89b00 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 20 ............."type":."string"...
89b20 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 ..................}.............
89b40 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 68 75 62 2d 6f ....},................."github-o
89b60 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 74 79 auth":.{....................."ty
89b80 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",..................
89ba0 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 6f 6d ..."description":."A.hash.of.dom
89bc0 61 69 6e 20 6e 61 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 ain.name.=>.github.API.oauth.tok
89be0 65 6e 73 2c 20 74 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 ens,.typically.{\"github.com\":\
89c00 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 20 20 "<token>\"}.",..................
89c20 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 75 65 0a ..."additionalProperties":.true.
89c40 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 ................},..............
89c60 20 20 20 22 76 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 ..."vendor-dir":.{..............
89c80 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",........
89ca0 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 65 ............."description":."The
89cc0 20 6c 6f 63 61 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 .location.where.all.packages.are
89ce0 20 69 6e 73 74 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 .installed,.defaults.to.\"vendor
89d00 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 20 20 20 20 20 20 \".".................},.........
89d20 20 20 20 20 20 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 ........"bin-dir":.{............
89d40 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",......
89d60 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
89d80 68 65 20 6c 6f 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 he.location.where.all.binaries.a
89da0 72 65 20 6c 69 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 re.linked,.defaults.to.\"vendor/
89dc0 62 69 6e 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 20 20 20 bin\".".................},......
89de0 20 20 20 20 20 20 20 20 20 20 20 22 63 61 63 68 65 2d 64 69 72 22 3a 20 7b 0a 20 20 20 20 20 20 ..........."cache-dir":.{.......
89e00 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",.
89e20 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
89e40 22 3a 20 22 54 68 65 20 6c 6f 63 61 74 69 6f 6e 20 77 68 65 72 65 20 61 6c 6c 20 63 61 63 68 65 ":."The.location.where.all.cache
89e60 73 20 61 72 65 20 6c 6f 63 61 74 65 64 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 5c 22 7e 2f 2e s.are.located,.defaults.to.\"~/.
89e80 63 6f 6d 70 6f 73 65 72 2f 63 61 63 68 65 5c 22 20 6f 6e 20 2a 6e 69 78 20 61 6e 64 20 5c 22 25 composer/cache\".on.*nix.and.\"%
89ea0 4c 4f 43 41 4c 41 50 50 44 41 54 41 25 5c 5c 43 6f 6d 70 6f 73 65 72 5c 22 20 6f 6e 20 77 69 6e LOCALAPPDATA%\\Composer\".on.win
89ec0 64 6f 77 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 dows.".................},.......
89ee0 20 20 20 20 20 20 20 20 20 20 22 63 61 63 68 65 2d 66 69 6c 65 73 2d 64 69 72 22 3a 20 7b 0a 20 .........."cache-files-dir":.{..
89f00 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 69 ..................."type":."stri
89f20 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 72 69 ng",....................."descri
89f40 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 66 69 6c 65 ption":."The.location.where.file
89f60 73 20 28 7a 69 70 20 64 6f 77 6e 6c 6f 61 64 73 29 20 61 72 65 20 63 61 63 68 65 64 2c 20 64 65 s.(zip.downloads).are.cached,.de
89f80 66 61 75 6c 74 73 20 74 6f 20 5c 22 7b 24 63 61 63 68 65 2d 64 69 72 7d 2f 66 69 6c 65 73 5c 22 faults.to.\"{$cache-dir}/files\"
89fa0 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 .".................},...........
89fc0 20 20 20 20 20 20 22 63 61 63 68 65 2d 72 65 70 6f 2d 64 69 72 22 3a 20 7b 0a 20 20 20 20 20 20 ......"cache-repo-dir":.{.......
89fe0 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",.
8a000 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
8a020 22 3a 20 22 54 68 65 20 6c 6f 63 61 74 69 6f 6e 20 77 68 65 72 65 20 72 65 70 6f 20 28 67 69 74 ":."The.location.where.repo.(git
8a040 2f 68 67 20 72 65 70 6f 20 63 6c 6f 6e 65 73 29 20 61 72 65 20 63 61 63 68 65 64 2c 20 64 65 66 /hg.repo.clones).are.cached,.def
8a060 61 75 6c 74 73 20 74 6f 20 5c 22 7b 24 63 61 63 68 65 2d 64 69 72 7d 2f 72 65 70 6f 5c 22 2e 22 aults.to.\"{$cache-dir}/repo\"."
8a080 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 .................},.............
8a0a0 20 20 20 20 22 63 61 63 68 65 2d 76 63 73 2d 64 69 72 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 ...."cache-vcs-dir":.{..........
8a0c0 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 20 ..........."type":."string",....
8a0e0 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 20 ................."description":.
8a100 22 54 68 65 20 6c 6f 63 61 74 69 6f 6e 20 77 68 65 72 65 20 76 63 73 20 69 6e 66 6f 73 20 28 67 "The.location.where.vcs.infos.(g
8a120 69 74 20 63 6c 6f 6e 65 73 2c 20 67 69 74 68 75 62 20 61 70 69 20 63 61 6c 6c 73 2c 20 65 74 63 it.clones,.github.api.calls,.etc
8a140 2e 20 77 68 65 6e 20 72 65 61 64 69 6e 67 20 76 63 73 20 72 65 70 6f 73 29 20 61 72 65 20 63 61 ..when.reading.vcs.repos).are.ca
8a160 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 7d ched,.defaults.to.\"{$cache-dir}
8a180 2f 76 63 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 20 20 20 20 /vcs\".".................},.....
8a1a0 20 20 20 20 20 20 20 20 20 20 20 20 22 63 61 63 68 65 2d 74 74 6c 22 3a 20 7b 0a 20 20 20 20 20 ............"cache-ttl":.{......
8a1c0 20 20 20 20 20 20 20 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 ..............."type":."integer"
8a1e0 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
8a200 6f 6e 22 3a 20 22 54 68 65 20 64 65 66 61 75 6c 74 20 63 61 63 68 65 20 74 69 6d 65 2d 74 6f 2d on":."The.default.cache.time-to-
8a220 6c 69 76 65 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 31 35 35 35 32 30 30 30 20 28 36 20 6d 6f live,.defaults.to.15552000.(6.mo
8a240 6e 74 68 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 nths).".................},......
8a260 20 20 20 20 20 20 20 20 20 20 20 22 63 61 63 68 65 2d 66 69 6c 65 73 2d 74 74 6c 22 3a 20 7b 0a ..........."cache-files-ttl":.{.
8a280 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 69 6e 74 ...................."type":."int
8a2a0 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 22 64 65 73 63 eger",....................."desc
8a2c0 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 63 61 63 68 65 20 74 69 6d 65 2d 74 6f 2d 6c 69 76 ription":."The.cache.time-to-liv
8a2e0 65 20 66 6f 72 20 66 69 6c 65 73 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 74 68 65 20 76 61 6c e.for.files,.defaults.to.the.val
8a300 75 65 20 6f 66 20 63 61 63 68 65 2d 74 74 6c 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ue.of.cache-ttl."...............
8a320 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
8a340 73 2d 6d 61 78 73 69 7a 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s-maxsize":.{...................
8a360 20 20 22 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 69 6e 74 65 67 65 72 22 5d 2c .."type":.["string",."integer"],
8a380 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
8a3a0 6e 22 3a 20 22 54 68 65 20 63 61 63 68 65 20 6d 61 78 20 73 69 7a 65 20 66 6f 72 20 74 68 65 20 n":."The.cache.max.size.for.the.
8a3c0 66 69 6c 65 73 20 63 61 63 68 65 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 5c 22 33 30 30 4d 69 files.cache,.defaults.to.\"300Mi
8a3e0 42 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 20 20 20 20 20 B\".".................},........
8a400 20 20 20 20 20 20 20 20 20 22 64 69 73 63 61 72 64 2d 63 68 61 6e 67 65 73 22 3a 20 7b 0a 20 20 ........."discard-changes":.{...
8a420 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 73 74 72 69 .................."type":.["stri
8a440 6e 67 22 2c 20 22 62 6f 6f 6c 65 61 6e 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ng",."boolean"],................
8a460 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 61 75 6c 74 ....."description":."The.default
8a480 20 73 74 79 6c 65 20 6f 66 20 68 61 6e 64 6c 69 6e 67 20 64 69 72 74 79 20 75 70 64 61 74 65 73 .style.of.handling.dirty.updates
8a4a0 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 66 61 6c 73 65 20 61 6e 64 20 63 61 6e 20 62 65 20 61 ,.defaults.to.false.and.can.be.a
8a4c0 6e 79 20 6f 66 20 74 72 75 65 2c 20 66 61 6c 73 65 20 6f 72 20 5c 22 73 74 61 73 68 5c 22 2e 22 ny.of.true,.false.or.\"stash\"."
8a4e0 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 20 7d .................}.............}
8a500 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 65 78 74 72 61 22 3a 20 7b 0a 20 .........},........."extra":.{..
8a520 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 2c 20 22 61 ..........."type":.["object",."a
8a540 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
8a560 22 3a 20 22 41 72 62 69 74 72 61 72 79 20 65 78 74 72 61 20 64 61 74 61 20 74 68 61 74 20 63 61 ":."Arbitrary.extra.data.that.ca
8a580 6e 20 62 65 20 75 73 65 64 20 62 79 20 63 75 73 74 6f 6d 20 69 6e 73 74 61 6c 6c 65 72 73 2c 20 n.be.used.by.custom.installers,.
8a5a0 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 6d for.example,.package.of.type.com
8a5c0 70 6f 73 65 72 2d 69 6e 73 74 61 6c 6c 65 72 20 6d 75 73 74 20 68 61 76 65 20 61 20 27 63 6c 61 poser-installer.must.have.a.'cla
8a5e0 73 73 27 20 6b 65 79 20 64 65 66 69 6e 69 6e 67 20 74 68 65 20 69 6e 73 74 61 6c 6c 65 72 20 63 ss'.key.defining.the.installer.c
8a600 6c 61 73 73 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 lass.name.",............."additi
8a620 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 7d 2c onalProperties":.true.........},
8a640 0a 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":.{..........
8a660 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",............
8a680 20 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 20 6f 66 20 ."description":."Description.of.
8a6a0 68 6f 77 20 74 68 65 20 70 61 63 6b 61 67 65 20 63 61 6e 20 62 65 20 61 75 74 6f 6c 6f 61 64 65 how.the.package.can.be.autoloade
8a6c0 64 2e 22 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 d.",............."properties":.{
8a6e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 73 72 2d 30 22 3a 20 7b 0a 20 20 20 20 ................."psr-0":.{.....
8a700 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"
8a720 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
8a740 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 20 68 61 73 68 20 6f 66 20 6e 61 6d 65 73 70 61 63 on":."This.is.a.hash.of.namespac
8a760 65 73 20 28 6b 65 79 73 29 20 61 6e 64 20 74 68 65 20 64 69 72 65 63 74 6f 72 69 65 73 20 74 68 es.(keys).and.the.directories.th
8a780 65 79 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 69 6e 74 6f 20 28 76 61 6c 75 65 73 2c 20 63 61 ey.can.be.found.into.(values,.ca
8a7a0 6e 20 62 65 20 61 72 72 61 79 73 20 6f 66 20 70 61 74 68 73 29 20 62 79 20 74 68 65 20 61 75 74 n.be.arrays.of.paths).by.the.aut
8a7c0 6f 6c 6f 61 64 65 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 22 oloader.",....................."
8a7e0 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 75 65 0a 20 20 20 20 additionalProperties":.true.....
8a800 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 ............},................."
8a820 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 20 20 classmap":.{....................
8a840 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 20 ."type":."array",...............
8a860 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 6e ......"description":."This.is.an
8a880 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 74 61 .array.of.directories.that.conta
8a8a0 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 68 65 in.classes.to.be.included.in.the
8a8c0 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 22 0a .class-map.generation.process.".
8a8e0 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 ................},..............
8a900 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 20 20 ..."files":.{...................
8a920 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",..............
8a940 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
8a960 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 79 73 n.array.of.files.that.are.always
8a980 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 20 20 .required.on.every.request."....
8a9a0 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 20 20 .............}.............}....
8a9c0 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 20 20 .....},........."archive":.{....
8a9e0 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 20 20 ........."type":.["object"],....
8aa00 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 6e 73 ........."description":."Options
8aa20 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 20 66 .for.creating.package.archives.f
8aa40 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 20 22 or.distribution.",............."
8aa60 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":.{................."
8aa80 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 20 exclude":.{.....................
8aaa0 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 20 20 "type":."array",................
8aac0 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 20 70 ....."description":."A.list.of.p
8aae0 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 72 20 atterns.for.paths.to.exclude.or.
8ab00 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 63 6c include.if.prefixed.with.an.excl
8ab20 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 20 7d amation.mark.".................}
8ab40 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 20 .............}.........},.......
8ab60 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 20 20 .."repositories":.{.............
8ab80 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 20 20 "type":.["object",."array"],....
8aba0 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 20 6f ........."description":."A.set.o
8abc0 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 65 20 f.additional.repositories.where.
8abe0 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 20 20 packages.can.be.found.",........
8ac00 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 75 ....."additionalProperties":.tru
8ac20 65 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 75 6d 2d 73 74 e.........},........."minimum-st
8ac40 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 70 65 22 3a 20 ability":.{............."type":.
8ac60 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 73 63 72 69 70 ["string"],............."descrip
8ac80 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 74 79 20 74 68 tion":."The.minimum.stability.th
8aca0 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 69 6e 73 74 61 e.packages.must.have.to.be.insta
8acc0 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 65 3a 20 64 65 ll-able..Possible.values.are:.de
8ace0 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 22 0a 20 20 20 v,.alpha,.beta,.RC,.stable."....
8ad00 20 20 20 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 .....},........."prefer-stable":
8ad20 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 62 6f 6f 6c 65 61 6e .{............."type":.["boolean
8ad40 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 22 3a 20 22 "],............."description":."
8ad60 49 66 20 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 If.set.to.true,.stable.packages.
8ad80 77 69 6c 6c 20 62 65 20 70 72 65 66 65 72 65 64 20 74 6f 20 64 65 76 20 70 61 63 6b 61 67 65 73 will.be.prefered.to.dev.packages
8ada0 20 77 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 .when.possible,.even.if.the.mini
8adc0 6d 75 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 mum-stability.allows.unstable.pa
8ade0 63 6b 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 ckages.".........},........."bin
8ae00 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 72 61 79 ":.{............."type":.["array
8ae20 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 22 3a 20 22 "],............."description":."
8ae40 41 20 73 65 74 20 6f 66 20 66 69 6c 65 73 20 74 68 61 74 20 73 68 6f 75 6c 64 20 62 65 20 74 72 A.set.of.files.that.should.be.tr
8ae60 65 61 74 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 eated.as.binaries.and.symlinked.
8ae80 69 6e 74 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 into.bin-dir.(from.config).",...
8aea0 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 20 20 20 20 .........."items":.{............
8aec0 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"...........
8aee0 20 20 7d 0a 20 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 ..}.........},........."include-
8af00 70 61 74 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 5b 22 61 path":.{............."type":.["a
8af20 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
8af40 22 3a 20 22 44 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 ":."DEPRECATED:.A.list.of.direct
8af60 6f 72 69 65 73 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 ories.which.should.get.added.to.
8af80 50 48 50 27 73 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 PHP's.include.path..This.is.only
8afa0 20 70 72 65 73 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 .present.to.support.legacy.proje
8afc0 63 74 73 2c 20 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 cts,.and.all.new.code.should.pre
8afe0 66 65 72 61 62 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 ferably.use.autoloading.",......
8b000 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 20 ......."items":.{...............
8b020 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 7d .."type":."string".............}
8b040 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 74 73 22 3a 20 7b .........},........."scripts":.{
8b060 0a 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 22 5d 2c ............."type":.["object"],
8b080 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 53 63 72 ............."description":."Scr
8b0a0 69 70 74 73 20 6c 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 ipts.listeners.that.will.be.exec
8b0c0 75 74 65 64 20 62 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 uted.before/after.some.events.",
8b0e0 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 20 20 20 ............."properties":.{....
8b100 20 20 20 20 20 20 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 ............."pre-install-cmd":.
8b120 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":.["
8b140 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"],..............
8b160 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
8b180 66 6f 72 65 20 74 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 fore.the.install.command.is.exec
8b1a0 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
8b1c0 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
8b1e0 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 20 ands.".................},.......
8b200 20 20 20 20 20 20 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 .........."post-install-cmd":.{.
8b220 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 61 72 ...................."type":.["ar
8b240 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 20 20 ray",."string"],................
8b260 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 61 66 74 65 ....."description":."Occurs.afte
8b280 72 20 74 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 r.the.install.command.is.execute
8b2a0 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
8b2c0 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
8b2e0 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.".................},..........
8b300 20 20 20 20 20 20 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 ......."pre-update-cmd":.{......
8b320 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",
8b340 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"],.....................
8b360 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 68 "description":."Occurs.before.th
8b380 65 20 75 70 64 61 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 e.update.command.is.executed,.co
8b3a0 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 64 ntains.one.or.more.Class::method
8b3c0 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 20 .callables.or.shell.commands."..
8b3e0 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 ...............},...............
8b400 20 20 22 70 6f 73 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 .."post-update-cmd":.{..........
8b420 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 22 73 74 ..........."type":.["array",."st
8b440 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 64 65 73 ring"],....................."des
8b460 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 75 70 64 cription":."Occurs.after.the.upd
8b480 61 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 ate.command.is.executed,.contain
8b4a0 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
8b4c0 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.".......
8b4e0 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
8b500 65 2d 73 74 61 74 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 e-status-cmd":.{................
8b520 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"]
8b540 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
8b560 6f 6e 22 3a 20 22 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 on":."Occurs.before.the.status.c
8b580 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 20 6f 6e 65 ommand.is.executed,.contains.one
8b5a0 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 6c 65 73 .or.more.Class::method.callables
8b5c0 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 20 20 20 .or.shell.commands."............
8b5e0 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 2d 73 74 .....},................."post-st
8b600 61 74 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 atus-cmd":.{....................
8b620 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 2c 0a 20 20 ."type":.["array",."string"],...
8b640 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":
8b660 20 22 4f 63 63 75 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 ."Occurs.after.the.status.comman
8b680 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 6f 72 20 6d d.is.executed,.contains.one.or.m
8b6a0 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 6f 72 20 73 ore.Class::method.callables.or.s
8b6c0 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 20 20 20 20 hell.commands.".................
8b6e0 7d 2c 0a 20 20 20 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 },................."pre-package-
8b700 69 6e 73 74 61 6c 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 install":.{.....................
8b720 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 2c 0a 20 20 20 "type":.["array",."string"],....
8b740 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 20 ................."description":.
8b760 22 4f 63 63 75 72 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 "Occurs.before.a.package.is.inst
8b780 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
8b7a0 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
8b7c0 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.".................},......
8b7e0 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 69 6e 73 74 61 6c 6c ..........."post-package-install
8b800 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":
8b820 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"],...........
8b840 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
8b860 20 61 66 74 65 72 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 .after.a.package.is.installed,.c
8b880 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
8b8a0 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.".
8b8c0 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 ................},..............
8b8e0 20 20 20 22 70 72 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 ..."pre-package-update":.{......
8b900 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",
8b920 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"],.....................
8b940 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 61 20 "description":."Occurs.before.a.
8b960 70 61 63 6b 61 67 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 package.is.updated,.contains.one
8b980 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 6c 65 73 .or.more.Class::method.callables
8b9a0 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 20 20 20 .or.shell.commands."............
8b9c0 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 2d 70 61 .....},................."post-pa
8b9e0 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 20 20 20 20 ckage-update":.{................
8ba00 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"]
8ba20 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
8ba40 6f 6e 22 3a 20 22 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 on":."Occurs.after.a.package.is.
8ba60 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 72 65 20 43 6c updated,.contains.one.or.more.Cl
8ba80 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
8baa0 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.".................},....
8bac0 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 75 6e 69 6e 73 74 ............."pre-package-uninst
8bae0 61 6c 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 all":.{....................."typ
8bb00 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 20 20 20 e":.["array",."string"],........
8bb20 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 4f 63 63 ............."description":."Occ
8bb40 75 72 73 20 62 65 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 urs.before.a.package.has.been.un
8bb60 69 6e 73 74 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 installed,.contains.one.or.more.
8bb80 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 65 6c 6c Class::method.callables.or.shell
8bba0 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 2c 0a 20 .commands.".................},..
8bbc0 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 75 6e 69 ..............."post-package-uni
8bbe0 6e 73 74 61 6c 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 nstall":.{....................."
8bc00 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"],.....
8bc20 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":."
8bc40 4f 63 63 75 72 73 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 Occurs.after.a.package.has.been.
8bc60 75 6e 69 6e 73 74 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 uninstalled,.contains.one.or.mor
8bc80 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 65 e.Class::method.callables.or.she
8bca0 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 2c ll.commands.".................},
8bcc0 0a 20 20 20 20 20 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 ................."pre-autoload-d
8bce0 75 6d 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 70 ump":.{....................."typ
8bd00 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 20 20 20 e":.["array",."string"],........
8bd20 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 4f 63 63 ............."description":."Occ
8bd40 75 72 73 20 62 65 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 urs.before.the.autoloader.is.dum
8bd60 70 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 ped,.contains.one.or.more.Class:
8bd80 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
8bda0 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.".................},........
8bdc0 20 20 20 20 20 20 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 ........."post-autoload-dump":.{
8bde0 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 61 ....................."type":.["a
8be00 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 20 rray",."string"],...............
8be20 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 61 66 74 ......"description":."Occurs.aft
8be40 65 72 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 6f 6e er.the.autoloader.is.dumped,.con
8be60 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.
8be80 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."...
8bea0 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 ..............},................
8bec0 20 22 70 6f 73 74 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 ."post-root-package-install":.{.
8bee0 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 61 72 ...................."type":.["ar
8bf00 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 20 20 ray",."string"],................
8bf20 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 61 66 74 65 ....."description":."Occurs.afte
8bf40 72 20 74 68 65 20 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 r.the.root-package.is.installed,
8bf60 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
8bf80 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.
8bfa0 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 ".................},............
8bfc0 20 20 20 20 20 22 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 ....."post-create-project-cmd":.
8bfe0 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":.["
8c000 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"],..............
8c020 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 61 66 ......."description":."Occurs.af
8c040 74 65 72 20 74 68 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 ter.the.create-project.command.i
8c060 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 72 65 s.executed,.contains.one.or.more
8c080 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 65 6c .Class::method.callables.or.shel
8c0a0 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 0a 20 l.commands.".................}..
8c0c0 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 20 ...........}.........},.........
8c0e0 22 73 75 70 70 6f 72 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 "support":.{............."type":
8c100 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 ."object",............."properti
8c120 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 65 6d 61 69 6c 22 3a 20 es":.{................."email":.
8c140 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 73 {....................."type":."s
8c160 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 65 73 tring",....................."des
8c180 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 66 6f 72 20 73 75 cription":."Email.address.for.su
8c1a0 70 70 6f 72 74 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 pport.",....................."fo
8c1c0 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 20 20 20 20 20 7d rmat":."email".................}
8c1e0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 73 73 75 65 73 22 3a 20 7b 0a 20 20 ,................."issues":.{...
8c200 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
8c220 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
8c240 74 69 6f 6e 22 3a 20 22 55 52 4c 20 74 6f 20 74 68 65 20 49 73 73 75 65 20 54 72 61 63 6b 65 72 tion":."URL.to.the.Issue.Tracker
8c260 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 61 74 22 .",....................."format"
8c280 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 20 20 20 :."uri".................},......
8c2a0 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 75 6d 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ..........."forum":.{...........
8c2c0 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 20 20 .........."type":."string",.....
8c2e0 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":."
8c300 55 52 4c 20 74 6f 20 74 68 65 20 46 6f 72 75 6d 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 URL.to.the.Forum.",.............
8c320 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 20 ........"format":."uri".........
8c340 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 77 69 6b 69 ........},................."wiki
8c360 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":
8c380 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",....................."
8c3a0 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 57 69 6b 69 2e 22 description":."URL.to.the.Wiki."
8c3c0 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 20 ,....................."format":.
8c3e0 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 20 "uri".................},........
8c400 20 20 20 20 20 20 20 20 20 22 69 72 63 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........."irc":.{...............
8c420 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",.........
8c440 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 52 43 20 ............"description":."IRC.
8c460 63 68 61 6e 6e 65 6c 20 66 6f 72 20 73 75 70 70 6f 72 74 2c 20 61 73 20 69 72 63 3a 2f 2f 73 65 channel.for.support,.as.irc://se
8c480 72 76 65 72 2f 63 68 61 6e 6e 65 6c 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rver/channel.",.................
8c4a0 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 20 20 20 20 20 ...."format":."uri".............
8c4c0 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 6f 75 72 63 65 22 3a ....},................."source":
8c4e0 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":."
8c500 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 65 string",....................."de
8c520 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 55 52 4c 20 74 6f 20 62 72 6f 77 73 65 20 6f 72 20 64 6f scription":."URL.to.browse.or.do
8c540 77 6e 6c 6f 61 64 20 74 68 65 20 73 6f 75 72 63 65 73 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 wnload.the.sources.",...........
8c560 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".......
8c580 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 20 20 ..........}.............}.......
8c5a0 20 20 7d 0a 20 20 20 20 7d 0a 7d 0a 4d 5a 90 00 03 00 00 00 04 00 00 00 ff ff 00 00 b8 00 00 00 ..}.....}.}.MZ..................
8c5c0 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 00 00 00 00 00 00 00 ....@...........................
8c5e0 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 21 54 68 69 73 20 70 ....................!..L.!This.p
8c600 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 4f 53 20 6d 6f 64 65 rogram.cannot.be.run.in.DOS.mode
8c620 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 a7 42 9e 32 df d7 9e ....$.........,.;.B.;.B.;.B.2...
8c640 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 a7 42 9e 1c 61 39 9e :.B.2...-.B.2...9.B.2...?.B..a9.
8c660 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 a7 42 9e 32 df d3 9e 8.B.;.C...B.2...:.B.2...:.B.2...
8c680 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 01 05 00 ac 4d 6f 4f :.B.Rich;.B.........PE..L....MoO
8c6a0 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 00 00 00 38 13 00 00 ............................8...
8c6c0 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 00 00 00 05 00 00 00 ..........@.....................
8c6e0 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 10 00 00 00 00 10 00 .....`......?.....@.............
8c700 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 00 00 00 00 40 00 00 ....................."..P....@..
8c720 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 01 00 00 00 21 00 00 .....................P..p....!..
8c740 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 00 00 00 38 21 00 00 ............................8!..
8c760 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 00 00 00 00 00 00 00 @...............................
8c780 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 10 00 00 00 0a 00 00 .............text...............
8c7a0 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 61 00 00 ce 09 00 00 ...................`.rdata......
8c7c0 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 00 00 40 2e 64 61 74 ........................@..@.dat
8c7e0 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 00 00 00 00 00 00 00 a........0......................
8c800 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 1a 00 00 00 00 00 00 @....rsrc........@..............
8c820 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 50 00 00 00 02 00 00 ........@..@.reloc.......P......
8c840 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 00 00 00 00 00 00 00 ."..............@..B............
8c860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c9a0 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 f6 ff 15 08 20 40 00 ............j$...@..x...j.....@.
8c9c0 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 ff 15 04 20 40 00 8d .e.....E.PV....@..E....PV....@..
8c9e0 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 20 40 00 59 59 ff 35 M...X.@..e...E.P.5H.@...L.@.YY.5
8ca00 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 15 50 20 40 00 83 4d \.@..E.P.5`.@...D.@.YY....P.@..M
8ca20 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 75 02 f3 c3 e9 ac 02 ...M...T.@.3..H....;..0@.u......
8ca40 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 35 68 33 40 00 a3 34 ..h..@.......l3@...$40@..5h3@..4
8ca60 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 c4 14 a3 30 30 40 00 0@.h$0@.h(0@.h.0@.....@.....00@.
8ca80 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 33 db 89 5d fc 64 a1 ..}.j......Y.j.h."@......3..].d.
8caa0 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 c3 74 19 3b c6 75 08 .....p..]...3@.SVW..0.@.;.t.;.u.
8cac0 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 7c 33 40 00 3b c6 75 3.F.u...h......4.@...3.F.|3@.;.u
8cae0 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 00 68 f0 20 40 00 68 .j..\...Y.;.|3@...u,.5|3@.h..@.h
8cb00 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 00 00 e9 dd 00 00 00 ..@......YY..t..E...............
8cb20 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 e8 6c 05 00 00 59 59 .5<0@..|3@.;.u.h..@.h..@..l...YY
8cb40 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 8c 33 40 00 74 19 68 ..|3@.....9].u.SW..8.@.9..3@.t.h
8cb60 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 24 30 40 00 8b 0d bc .3@......Y..t.Sj.S...3@..$0@....
8cb80 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 fe ff ff 83 c4 0c a3 .@....5$0@..5(0@..5.0@..........
8cba0 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 09 89 4d e0 50 51 e8 80@.9.,0@.u7P....@..E......M.PQ.
8cbc0 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 00 75 07 50 ff 15 68 ....YY..e..E..80@.3.9.,0@.u.P..h
8cbe0 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 38 30 40 00 e8 fb 04 .@.9.<0@.u.....@..E......80@....
8cc00 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 00 8d 80 00 00 40 00 ....MZ..f9...@.t.3..M.<.@.....@.
8cc20 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 00 75 d5 83 b8 84 00 .8PE..u...H.......t.......u.....
8cc40 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 e8 00 00 00 0f 95 c1 ...v.3.9........xt.v.3.9........
8cc60 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 a3 84 33 40 00 a3 88 ..j..,0@...p.@.j...l.@.YY..3@...
8cc80 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 70 33 40 00 89 08 a1 3@.....@...t3@.......@...p3@....
8cca0 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 40 00 00 75 0c 68 b5 ..@....x3@..V.........=.0@..u.h.
8ccc0 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 ff ff 15 b0 20 40 00 .@.....@.Y.g....=.0@..u.j.....@.
8cce0 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 a3 48 31 40 00 89 0d Y3...{..........U....(....H1@...
8cd00 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 31 40 00 66 8c 15 60 D1@...@1@...<1@..581@..=41@.f..`
8cd20 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 8c 25 28 31 40 00 66 1@.f..T1@.f..01@.f..,1@.f.%(1@.f
8cd40 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 50 31 40 00 8d 45 08 .-$1@....X1@..E..L1@..E..P1@..E.
8cd60 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 00 a3 4c 30 40 00 c7 .\1@..........0@......P1@..L0@..
8cd80 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 85 d8 fc ff ff a1 04 .@0@.......D0@.......0@.........
8cda0 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 00 00 59 6a 00 ff 15 0@...........@...0@.j..?...Yj...
8cdc0 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 01 e8 1b 04 00 00 59 ..@.h.!@...$.@..=.0@..u.j......Y
8cde0 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 8b 45 08 8b 00 81 38 h......(.@.P..,.@.....U...E....8
8ce00 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 93 19 74 0e 3d 22 05 csm.u*.x..u$.@.=....t.=!...t.=".
8ce20 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 40 00 ff 15 20 20 40 ..t.=.@..u......3.]...hH.@.....@
8ce40 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 33 40 00 8b 35 8c 20 .3...%..@.j.h("@..b....5.3@..5..
8ce60 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 6a 08 e8 92 03 00 00 @...Y.E....u..u.....@.Y.gj......
8ce80 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 59 89 45 e0 8d 45 e0 Y.e...5.3@....E..5.3@...YY.E..E.
8cea0 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 dc ff 75 e4 ff d6 a3 P.E.P.u..5l.@...YP.U....E..u....
8cec0 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 09 00 00 00 8b 45 dc .3@..u........3@..E...........E.
8cee0 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 ff ff ff f7 d8 1b c0 ......j......Y...U...u..N.......
8cf00 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 0f 8b 07 85 c0 74 02 ..YH]...V..!@...!@.W..;.s.....t.
8cf20 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 57 8b f8 3b c6 73 0f .....;.r._^...V.."@..."@.W..;.s.
8cf40 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 cc cc cc 8b ff 55 8b ....t......;.r._^..%..@.......U.
8cf60 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 50 45 00 00 75 ef 33 ..M..MZ..f9.t.3.]..A<...8PE..u.3
8cf80 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 cc cc cc 8b ff 55 8b ......f9H......]..............U.
8cfa0 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 18 85 f6 76 1b 8b 7d ..E..H<....A.SV..q.3.W.D....v..}
8cfc0 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 33 c0 5f 5e 5b 5d c3 ..H.;.r..X...;.r.B..(;.r.3._^[].
8cfe0 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 65 17 40 00 64 a1 00 ..............U..j.hH"@.he.@.d..
8d000 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 a3 00 00 00 00 89 65 ...P...SVW..0@.1E.3.P.E.d......e
8d020 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 8b 45 08 2d 00 00 40 ..E.....h..@..*........tU.E.-..@
8d040 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 f7 d0 83 e0 01 c7 45 .Ph..@..P........t;.@$.........E
8d060 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 ec 8b 08 8b 01 33 d2 ......M.d......Y_^[..]..E.....3.
8d080 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 f0 64 89 0d 00 00 00 =...........e..E.....3..M.d.....
8d0a0 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 65 17 40 00 64 ff 35 .Y_^[..]...%..@..%..@...he.@.d.5
8d0c0 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 00 31 45 fc 33 c5 50 .....D$..l$..l$.+.SVW..0@.1E.3.P
8d0e0 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 00 00 00 c3 8b 4d f0 .e..u..E..E......E..E.d.......M.
8d100 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 ff 75 10 ff 75 0c ff d......Y__^[..]Q...U...u..u..u..
8d120 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 68 00 00 03 00 68 00 u.h..@.h.0@.........]...Vh....h.
8d140 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 00 00 00 83 c4 14 5e ...3.V..........t.VVVVV........^
8d160 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 53 57 bf 4e e6 40 bb .3....U.......0@..e...e..SW.N.@.
8d180 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 f8 50 ff 15 3c 20 40 .....;.t...t.....0@..`V.E.P..<.@
8d1a0 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 14 20 40 00 33 f0 8d ..u.3u.....@.3.....@.3.....@.3..
8d1c0 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 bb eb 0b 85 f3 75 07 E.P....@..E.3E.3.;.u..O.@.....u.
8d1e0 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 c3 ff 25 74 20 40 00 ........5.0@....5.0@.^_[...%t.@.
8d200 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 25 90 20 40 00 ff 25 .%x.@..%|.@..%..@..%..@..%..@..%
8d220 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 44 24 0c 2b 64 24 0c ..@..%..@..%..@.Pd.5.....D$.+d$.
8d240 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 ff ff ff 8d 45 f4 64 SVW.(....0@.3.P.E..u..E......E.d
8d260 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 c3 8b 4d f0 33 cd e8 .......M.d......Y__^[..]Q..M.3..
8d280 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 8b 4a cc 33 c8 e8 90 ..........M..%T.@..T$..B..J.3...
8d2a0 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 00 00 00 00 00 00 00 ....J.3.......l"@..s............
8d2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8d2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8d300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8d320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8d340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8d360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8d380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8d3a0 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 29 00 00 72 29 00 00 .............#...#...#...)..r)..
8d3c0 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 28 00 00 b4 28 00 00 b)..H)..4)...)...(...(...(...(..
8d3e0 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 25 00 00 ca 25 00 00 .(...(...).......#...$...%...%..
8d400 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 27 00 00 d6 27 00 00 .&..d&...&...$......('...'...'..
8d420 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 28 00 00 5a 28 00 00 .'...'...(..((..6(...'..H(..Z(..
8d440 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 27 00 00 6c 27 00 00 t(...(...'...'...'...'...'..l'..
8d460 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 27 00 00 b8 29 00 00 ^'..R'..F'..>'..>(..0'...'...)..
8d480 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 14 40 00 00 00 00 00 ..........@.........W.@...@.....
8d4a0 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 00 00 00 6c 00 00 00 .................MoO........l...
8d4c0 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 61 74 69 6f 6e 00 00 .!......@0@..0@.bad.allocation..
8d4e0 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 00 00 00 00 00 00 00 ....H...........................
8d500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8d520 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 21 f6 cc eb 4c 5a 00 .0@..!@.....RSDS.......J.!...LZ.
8d540 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 74 73 5c 76 69 73 75 ....c:\users\seld\documents\visu
8d560 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 69 64 64 65 6e 69 6e al.studio.2010\Projects\hiddenin
8d580 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 00 00 00 65 17 00 00 p\Release\hiddeninp.pdb.....e...
8d5a0 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 00 00 00 d0 ff ff ff ................................
8d5c0 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 00 00 00 cc ff ff ff ..........@...@.................
8d5e0 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 00 00 00 d8 ff ff ff ............:.@.................
8d600 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 05 93 19 01 00 00 00 ..........@...@.......@.".......
8d620 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 00 00 00 e0 22 00 00 d"@.........................."..
8d640 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 00 00 00 f4 26 00 00 .........#......$#...........&..
8d660 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 00 00 00 00 00 00 00 D...H#...........(..h...........
8d680 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 29 00 00 72 29 00 00 .............#...#...#...)..r)..
8d6a0 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 28 00 00 b4 28 00 00 b)..H)..4)...)...(...(...(...(..
8d6c0 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 25 00 00 ca 25 00 00 .(...(...).......#...$...%...%..
8d6e0 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 27 00 00 d6 27 00 00 .&..d&...&...$......('...'...'..
8d700 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 28 00 00 5a 28 00 00 .'...'...(..((..6(...'..H(..Z(..
8d720 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 27 00 00 6c 27 00 00 t(...(...'...'...'...'...'..l'..
8d740 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 27 00 00 b8 29 00 00 ^'..R'..F'..>'..>(..0'...'...)..
8d760 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 65 74 43 6f 6e 73 6f ......GetConsoleMode....SetConso
8d780 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 45 52 4e 45 4c 33 32 leMode..;.GetStdHandle..KERNEL32
8d7a0 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 69 74 73 40 44 40 73 .dll....??$?6DU?$char_traits@D@s
8d7c0 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 40 40 59 41 41 41 56 td@@V?$allocator@D@1@@std@@YAAAV
8d7e0 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 73 40 ?$basic_ostream@DU?$char_traits@
8d800 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 63 5f 73 74 72 69 6e D@std@@@0@AAV10@ABV?$basic_strin
8d820 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 56 3f 24 61 6c 6c 6f g@DU?$char_traits@D@std@@V?$allo
8d840 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 74 64 40 40 33 56 3f cator@D@2@@0@@Z...?cout@std@@3V?
8d860 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 73 40 44 $basic_ostream@DU?$char_traits@D
8d880 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 56 3f 24 62 61 73 69 @std@@@1@A..J.?cin@std@@3V?$basi
8d8a0 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 40 44 40 73 74 64 40 c_istream@DU?$char_traits@D@std@
8d8c0 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 61 72 5f 74 72 61 69 @@1@A...??$getline@DU?$char_trai
8d8e0 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 32 40 40 73 74 64 40 ts@D@std@@V?$allocator@D@2@@std@
8d900 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 24 63 68 61 72 5f 74 @YAAAV?$basic_istream@DU?$char_t
8d920 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 3f 24 62 61 73 69 63 raits@D@std@@@0@AAV10@AAV?$basic
8d940 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 56 _string@DU?$char_traits@D@std@@V
8d960 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 3f 36 3f 24 62 61 73 ?$allocator@D@2@@0@@Z...??6?$bas
8d980 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 73 40 44 40 73 74 64 ic_ostream@DU?$char_traits@D@std
8d9a0 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 40 41 41 56 30 31 40 @@@std@@QAEAAV01@P6AAAV01@AAV01@
8d9c0 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 40 44 55 3f 24 63 68 @Z@Z.._.??1?$basic_string@DU?$ch
8d9e0 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@
8da00 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 73 69 63 5f 73 74 72 2@@std@@QAE@XZ..{.??0?$basic_str
8da20 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 56 3f 24 61 6c ing@DU?$char_traits@D@std@@V?$al
8da40 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 00 b3 07 3f 65 6e 64 locator@D@2@@std@@QAE@XZ....?end
8da60 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 61 6d 40 44 55 3f 24 l@std@@YAAAV?$basic_ostream@DU?$
8da80 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 32 31 40 40 5a 00 00 char_traits@D@std@@@1@AAV21@@Z..
8daa0 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 00 9f 00 5f 5f 67 65 MSVCP90.dll..._amsg_exit....__ge
8dac0 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 69 74 00 66 00 5f 58 tmainargs.,._cexit..|._exit.f._X
8dae0 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 74 65 6e 76 00 04 02 cptFilter...exit....__initenv...
8db00 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 01 5f 63 6f 6e 66 69 _initterm..._initterm_e.<._confi
8db20 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 6d 61 74 68 65 72 72 gthreadlocale...__setusermatherr
8db40 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 63 6f 6d 6d 6f 64 65 ...._adjust_fdiv....__p__commode
8db60 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 5f 70 6f 69 6e 74 65 ....__p__fmode..j._encode_pointe
8db80 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 74 5f 64 65 62 75 67 r...__set_app_type..K._crt_debug
8dba0 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 41 58 58 5a 00 4d 53 ger_hook..C.?terminate@@YAXXZ.MS
8dbc0 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 6c 6c 6f 6e 65 78 69 VCR90.dll..._unlock...__dllonexi
8dbe0 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 63 6f 64 65 5f 70 6f t.v._lock..._onexit.`._decode_po
8dc00 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 63 6f 6d 6d 6f 6e 00 inter.s._except_handler4_common.
8dc20 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 72 6f 6c 66 70 5f 73 .._invoke_watson..?._controlfp_s
8dc40 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 04 53 6c 65 65 70 00 ....InterlockedExchange.!.Sleep.
8dc60 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 6e 67 65 00 00 2d 04 ..InterlockedCompareExchange..-.
8dc80 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 72 72 65 6e 74 50 72 TerminateProcess....GetCurrentPr
8dca0 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 6e 46 69 6c 74 65 72 ocess.>.UnhandledExceptionFilter
8dcc0 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 46 69 6c 74 65 72 00 ....SetUnhandledExceptionFilter.
8dce0 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 72 79 50 65 72 66 6f ..IsDebuggerPresent.T.QueryPerfo
8dd00 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 75 6e 74 00 00 ad 01 rmanceCounter.f.GetTickCount....
8dd20 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 43 75 72 72 65 6e 74 GetCurrentThreadId....GetCurrent
8dd40 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 41 73 46 69 6c 65 54 ProcessId.O.GetSystemTimeAsFileT
8dd60 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 00 00 00 00 00 00 00 ime.s.__CxxFrameHandler3........
8dd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8dda0 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 ff ff ff fe ff ff ff ............N.@....D............
8ddc0 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 00 00 00 00 00 00 00 ....$!@.........................
8dde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8de00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8de20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8de40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8de60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8de80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8dea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8dec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8dee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8df00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8df20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8df40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8df60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8df80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8dfa0 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 00 02 00 10 00 00 00 ................................
8dfc0 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 00 01 00 01 00 00 00 ........8.......................
8dfe0 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 00 00 80 00 00 00 00 P.......................h.......
8e000 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 00 00 00 04 00 00 00 ................................
8e020 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 00 00 00 c8 43 00 00 .............@..(............C..
8e040 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 00 45 00 52 00 53 00 V...........(.4...V.S._.V.E.R.S.
8e060 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 00 01 00 00 00 01 00 I.O.N._.I.N.F.O.................
8e080 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 00 00 00 00 00 00 00 ................................
8e0a0 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 00 46 00 69 00 6c 00 ..............S.t.r.i.n.g.F.i.l.
8e0c0 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 00 30 00 34 00 62 00 e.I.n.f.o...b.....0.4.0.9.0.4.b.
8e0e0 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 00 72 00 69 00 70 00 0.....Q...F.i.l.e.D.e.s.c.r.i.p.
8e100 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 00 72 00 6f 00 6d 00 t.i.o.n.....R.e.a.d.s...f.r.o.m.
8e120 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 00 74 00 20 00 6c 00 ..s.t.d.i.n...w.i.t.h.o.u.t...l.
8e140 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 00 6f 00 20 00 74 00 e.a.k.i.n.g...i.n.f.o...t.o...t.
8e160 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 00 6e 00 64 00 20 00 h.e...t.e.r.m.i.n.a.l...a.n.d...
8e180 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 00 74 00 6f 00 20 00 o.u.t.p.u.t.s...b.a.c.k...t.o...
8e1a0 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 00 6c 00 65 00 56 00 s.t.d.o.u.t.....6.....F.i.l.e.V.
8e1c0 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 00 20 00 30 00 2c 00 e.r.s.i.o.n.....1.,...0.,...0.,.
8e1e0 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 00 61 00 6c 00 4e 00 ..0.....8.....I.n.t.e.r.n.a.l.N.
8e200 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 00 75 00 74 00 00 00 a.m.e...h.i.d.d.e.n.i.n.p.u.t...
8e220 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 00 69 00 67 00 68 00 P.....L.e.g.a.l.C.o.p.y.r.i.g.h.
8e240 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 00 61 00 6e 00 6f 00 t...J.o.r.d.i...B.o.g.g.i.a.n.o.
8e260 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 00 69 00 67 00 69 00 ..-...2.0.1.2...H.....O.r.i.g.i.
8e280 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 00 69 00 64 00 64 00 n.a.l.F.i.l.e.n.a.m.e...h.i.d.d.
8e2a0 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 00 0d 00 01 00 50 00 e.n.i.n.p.u.t...e.x.e...:.....P.
8e2c0 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 00 69 00 64 00 64 00 r.o.d.u.c.t.N.a.m.e.....H.i.d.d.
8e2e0 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 00 50 00 72 00 6f 00 e.n...I.n.p.u.t.....:.....P.r.o.
8e300 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 00 2c 00 20 00 30 00 d.u.c.t.V.e.r.s.i.o.n...1.,...0.
8e320 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 00 72 00 46 00 69 00 ,...0.,...0.....D.....V.a.r.F.i.
8e340 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 00 61 00 6e 00 73 00 l.e.I.n.f.o.....$.....T.r.a.n.s.
8e360 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 6d 62 6c 79 20 78 6d l.a.t.i.o.n.........<assembly.xm
8e380 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 74 2d 63 6f 6d 3a 61 lns="urn:schemas-microsoft-com:a
8e3a0 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 2e 30 22 3e 0d 0a 20 sm.v1".manifestVersion="1.0">...
8e3c0 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 68 65 6d 61 73 2d 6d .<trustInfo.xmlns="urn:schemas-m
8e3e0 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 20 20 3c 73 65 63 75 icrosoft-com:asm.v3">......<secu
8e400 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 69 76 69 6c 65 67 65 rity>........<requestedPrivilege
8e420 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 63 75 74 69 6f 6e 4c s>..........<requestedExecutionL
8e440 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 41 63 63 65 73 73 3d evel.level="asInvoker".uiAccess=
8e460 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 69 6f 6e 4c 65 76 65 "false"></requestedExecutionLeve
8e480 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 69 6c 65 67 65 73 3e l>........</requestedPrivileges>
8e4a0 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 75 73 74 49 6e 66 6f ......</security>....</trustInfo
8e4c0 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 65 70 65 6e 64 65 6e >....<dependency>......<dependen
8e4e0 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 6c 79 49 64 65 6e 74 tAssembly>........<assemblyIdent
8e500 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 63 72 6f 73 6f 66 74 ity.type="win32".name="Microsoft
8e520 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 31 30 32 32 2e 38 22 .VC90.CRT".version="9.0.21022.8"
8e540 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 38 36 22 20 70 75 62 .processorArchitecture="x86".pub
8e560 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 38 65 33 62 22 3e 3c licKeyToken="1fc8b3b9a1e18e3b"><
8e580 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 2f 64 65 70 65 6e 64 /assemblyIdentity>......</depend
8e5a0 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 6e 63 79 3e 0d 0a 3c entAssembly>....</dependency>..<
8e5c0 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 49 4e 47 50 41 44 44 /assembly>PAPADDINGXXPADDINGPADD
8e5e0 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 49 4e 47 50 41 44 44 INGXXPADDINGPADDINGXXPADDINGPADD
8e600 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 49 4e 47 50 41 44 44 INGXXPADDINGPADDINGXXPADDINGPADD
8e620 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 49 4e 47 50 41 44 44 INGXXPADDINGPADDINGXXPADDINGPADD
8e640 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 49 4e 47 50 41 44 44 INGXXPADDINGPADDINGXXPADDINGPADD
8e660 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 49 4e 47 50 41 44 44 INGXXPADDINGPADDINGXXPADDINGPADD
8e680 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 49 4e 47 50 41 44 44 INGXXPADDINGPADDINGXXPADDINGPADD
8e6a0 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 49 4e 47 50 41 44 44 INGXXPADDINGPADDINGXXPADDINGPADD
8e6c0 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 49 4e 47 50 41 44 44 INGXXPADDINGPADDINGXXPADDINGPADD
8e6e0 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 49 4e 47 50 41 44 44 INGXXPADDINGPADDINGXXPADDINGPADD
8e700 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 49 4e 47 50 41 44 44 INGXXPADDINGPADDINGXXPADDINGPADD
8e720 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 49 4e 47 50 41 44 44 INGXXPADDINGPADDINGXXPADDINGPADD
8e740 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 49 4e 47 50 41 44 44 INGXXPADDINGPADDINGXXPADDINGPADD
8e760 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 49 4e 47 50 41 44 44 INGXXPADDINGPADDINGXXPADDINGPADD
8e780 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 49 4e 47 50 41 44 44 INGXXPADDINGPADDINGXXPADDINGPADD
8e7a0 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 30 2f 30 38 30 46 30 INGXXPADDING....@....0.0!0/080F0
8e7c0 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 30 bd 30 c2 30 c8 30 L0T0^0d0n0{0.0.0.0.0.0.0.0.0.0.0
8e7e0 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 31 89 31 96 31 a7 31 .0.0.0.1#1-1@1J1O1T1v1{1.1.1.1.1
8e800 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 32 33 32 39 32 41 32 .1.1.1.1.1.1.1.1.1.1.2"2*23292A2
8e820 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 32 f4 32 fb 32 0b 33 M2_2j2p2.2.2.2.2.2.2.2.2.2.2.2.3
8e840 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 33 88 33 8f 33 96 33 .3.3%303N3T3Z3`3f3l3s3z3.3.3.3.3
8e860 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 34 14 34 19 34 1f 34 .3.3.3.3.3.3.3.3.3.3.3.3.4.4.4.4
8e880 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 34 14 35 21 35 5e 35 %4;4B4.4.4.4.4.4.4.4.4.4.4.5!5^5
8e8a0 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 37 2a 37 77 37 7c 37 c5.5.5.5H6M6_6}6.6.6.7.7.7*7w7|7
8e8c0 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 38 68 38 6e 38 74 38 .7.7.7.7.8.8.8=8E8P8V8\8b8h8n8t8
8e8e0 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 30 1c 31 20 31 74 31 z8.8.8.8.9......$....0.0.0.1.1t1
8e900 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 30 00 00 00 00 00 00 x1.2.2@2\2`2h2t2.0.......0......
8e920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8e940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8e960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8e980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8e9a0 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 0a 0a 0a 6e 61 6d 65 ............<?php...........name
8e9c0 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 3b space.Symfony\Component\Process;
8e9e0 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 65 73 73 5c ..use.Symfony\Component\Process\
8ea00 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 0a 0a Exception\RuntimeException;.....
8ea20 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 68 70 50 72 6f 63 65 73 73 20 65 78 74 65 6e 64 73 ........class.PhpProcess.extends
8ea40 20 50 72 6f 63 65 73 73 0a 7b 0a 70 72 69 76 61 74 65 20 24 65 78 65 63 75 74 61 62 6c 65 46 69 .Process.{.private.$executableFi
8ea60 6e 64 65 72 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 69 6f nder;.............public.functio
8ea80 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 73 63 72 69 70 74 2c 20 24 63 77 64 20 3d 20 6e 75 n.__construct($script,.$cwd.=.nu
8eaa0 6c 6c 2c 20 61 72 72 61 79 20 24 65 6e 76 20 3d 20 61 72 72 61 79 28 29 2c 20 24 74 69 6d 65 6f ll,.array.$env.=.array(),.$timeo
8eac0 75 74 20 3d 20 36 30 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 ut.=.60,.array.$options.=.array(
8eae0 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 6e 75 6c 6c 2c 20 24 )).{.parent::__construct(null,.$
8eb00 63 77 64 2c 20 24 65 6e 76 2c 20 24 73 63 72 69 70 74 2c 20 24 74 69 6d 65 6f 75 74 2c 20 24 6f cwd,.$env,.$script,.$timeout,.$o
8eb20 70 74 69 6f 6e 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 ptions);..$this->executableFinde
8eb40 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 65 72 28 29 3b 0a 7d r.=.new.PhpExecutableFinder();.}
8eb60 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 68 70 42 69 6e .......public.function.setPhpBin
8eb80 61 72 79 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 ary($php).{.$this->setCommandLin
8eba0 65 28 24 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 e($php);.}.....public.function.s
8ebc0 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 6e 75 6c tart($callback.=.null).{.if.(nul
8ebe0 6c 20 3d 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 l.===.$this->getCommandLine()).{
8ec00 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 70 68 70 20 3d 20 24 74 68 69 73 2d 3e 65 78 65 .if.(false.===.$php.=.$this->exe
8ec20 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 74 68 72 6f 77 20 6e cutableFinder->find()).{.throw.n
8ec40 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 20 66 ew.RuntimeException('Unable.to.f
8ec60 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 7d 0a 24 74 68 ind.the.PHP.executable.');.}.$th
8ec80 69 73 2d 3e 73 65 74 43 6f 6d 6d 61 6e 64 4c 69 6e 65 28 24 70 68 70 29 3b 0a 7d 0a 0a 70 61 72 is->setCommandLine($php);.}..par
8eca0 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 0a 3c 3f 70 68 70 ent::start($callback);.}.}.<?php
8ecc0 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
8ece0 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 78 65 ponent\Process;........class.Exe
8ed00 63 75 74 61 62 6c 65 46 69 6e 64 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 73 75 66 66 69 78 65 cutableFinder.{.private.$suffixe
8ed20 73 20 3d 20 61 72 72 61 79 28 27 2e 65 78 65 27 2c 20 27 2e 62 61 74 27 2c 20 27 2e 63 6d 64 27 s.=.array('.exe',.'.bat',.'.cmd'
8ed40 2c 20 27 2e 63 6f 6d 27 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ,.'.com');.......public.function
8ed60 20 73 65 74 53 75 66 66 69 78 65 73 28 61 72 72 61 79 20 24 73 75 66 66 69 78 65 73 29 0a 7b 0a .setSuffixes(array.$suffixes).{.
8ed80 24 74 68 69 73 2d 3e 73 75 66 66 69 78 65 73 20 3d 20 24 73 75 66 66 69 78 65 73 3b 0a 7d 0a 0a $this->suffixes.=.$suffixes;.}..
8eda0 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 66 66 69 78 28 24 .....public.function.addSuffix($
8edc0 73 75 66 66 69 78 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 75 66 66 69 78 65 73 5b 5d 20 3d 20 24 73 suffix).{.$this->suffixes[].=.$s
8ede0 75 66 66 69 78 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 uffix;.}...........public.functi
8ee00 6f 6e 20 66 69 6e 64 28 24 6e 61 6d 65 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 2c 20 on.find($name,.$default.=.null,.
8ee20 61 72 72 61 79 20 24 65 78 74 72 61 44 69 72 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 array.$extraDirs.=.array()).{.if
8ee40 20 28 69 6e 69 5f 67 65 74 28 27 6f 70 65 6e 5f 62 61 73 65 64 69 72 27 29 29 20 7b 0a 24 73 65 .(ini_get('open_basedir')).{.$se
8ee60 61 72 63 68 50 61 74 68 20 3d 20 65 78 70 6c 6f 64 65 28 50 41 54 48 5f 53 45 50 41 52 41 54 4f archPath.=.explode(PATH_SEPARATO
8ee80 52 2c 20 67 65 74 65 6e 76 28 27 6f 70 65 6e 5f 62 61 73 65 64 69 72 27 29 29 3b 0a 24 64 69 72 R,.getenv('open_basedir'));.$dir
8eea0 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 73 65 61 72 63 68 50 61 74 s.=.array();.foreach.($searchPat
8eec0 68 20 61 73 20 24 70 61 74 68 29 20 7b 0a 69 66 20 28 69 73 5f 64 69 72 28 24 70 61 74 68 29 29 h.as.$path).{.if.(is_dir($path))
8eee0 20 7b 0a 24 64 69 72 73 5b 5d 20 3d 20 24 70 61 74 68 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 66 69 .{.$dirs[].=.$path;.}.else.{.$fi
8ef00 6c 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 64 69 72 6e 61 6d 65 28 24 70 61 74 68 29 2c le.=.str_replace(dirname($path),
8ef20 20 27 27 2c 20 24 70 61 74 68 29 3b 0a 69 66 20 28 24 66 69 6c 65 20 3d 3d 20 24 6e 61 6d 65 20 .'',.$path);.if.($file.==.$name.
8ef40 26 26 20 69 73 5f 65 78 65 63 75 74 61 62 6c 65 28 24 70 61 74 68 29 29 20 7b 0a 72 65 74 75 72 &&.is_executable($path)).{.retur
8ef60 6e 20 24 70 61 74 68 3b 0a 7d 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 69 72 73 20 3d 20 n.$path;.}.}.}.}.else.{.$dirs.=.
8ef80 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 65 78 70 6c 6f 64 65 28 50 41 54 48 5f 53 45 50 41 52 41 array_merge(.explode(PATH_SEPARA
8efa0 54 4f 52 2c 20 67 65 74 65 6e 76 28 27 50 41 54 48 27 29 20 3f 3a 20 67 65 74 65 6e 76 28 27 50 TOR,.getenv('PATH').?:.getenv('P
8efc0 61 74 68 27 29 29 2c 0a 24 65 78 74 72 61 44 69 72 73 0a 29 3b 0a 7d 0a 0a 24 73 75 66 66 69 78 ath')),.$extraDirs.);.}..$suffix
8efe0 65 73 20 3d 20 61 72 72 61 79 28 27 27 29 3b 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 50 48 50 es.=.array('');.if.(defined('PHP
8f000 5f 57 49 4e 44 4f 57 53 5f 56 45 52 53 49 4f 4e 5f 42 55 49 4c 44 27 29 29 20 7b 0a 24 70 61 74 _WINDOWS_VERSION_BUILD')).{.$pat
8f020 68 45 78 74 20 3d 20 67 65 74 65 6e 76 28 27 50 41 54 48 45 58 54 27 29 3b 0a 24 73 75 66 66 69 hExt.=.getenv('PATHEXT');.$suffi
8f040 78 65 73 20 3d 20 24 70 61 74 68 45 78 74 20 3f 20 65 78 70 6c 6f 64 65 28 50 41 54 48 5f 53 45 xes.=.$pathExt.?.explode(PATH_SE
8f060 50 41 52 41 54 4f 52 2c 20 24 70 61 74 68 45 78 74 29 20 3a 20 24 74 68 69 73 2d 3e 73 75 66 66 PARATOR,.$pathExt).:.$this->suff
8f080 69 78 65 73 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 20 24 73 ixes;.}.foreach.($suffixes.as.$s
8f0a0 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 69 72 29 uffix).{.foreach.($dirs.as.$dir)
8f0c0 20 7b 0a 69 66 20 28 69 73 5f 66 69 6c 65 28 24 66 69 6c 65 20 3d 20 24 64 69 72 2e 44 49 52 45 .{.if.(is_file($file.=.$dir.DIRE
8f0e0 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 69 78 29 20 26 CTORY_SEPARATOR.$name.$suffix).&
8f100 26 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 &.(defined('PHP_WINDOWS_VERSION_
8f120 42 55 49 4c 44 27 29 20 7c 7c 20 69 73 5f 65 78 65 63 75 74 61 62 6c 65 28 24 66 69 6c 65 29 29 BUILD').||.is_executable($file))
8f140 29 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 ).{.return.$file;.}.}.}..return.
8f160 24 64 65 66 61 75 6c 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 $default;.}.}.<?php...........na
8f180 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 65 73 mespace.Symfony\Component\Proces
8f1a0 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 65 73 s;..use.Symfony\Component\Proces
8f1c0 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 65 70 s\Exception\InvalidArgumentExcep
8f1e0 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 6f 63 tion;.use.Symfony\Component\Proc
8f200 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 75 73 ess\Exception\LogicException;.us
8f220 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 65 e.Symfony\Component\Process\Exce
8f240 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 0a 0a 0a 0a 0a 0a ption\RuntimeException;.........
8f260 0a 63 6c 61 73 73 20 50 72 6f 63 65 73 73 0a 7b 0a 63 6f 6e 73 74 20 45 52 52 20 3d 20 27 65 72 .class.Process.{.const.ERR.=.'er
8f280 72 27 3b 0a 63 6f 6e 73 74 20 4f 55 54 20 3d 20 27 6f 75 74 27 3b 0a 0a 63 6f 6e 73 74 20 53 54 r';.const.OUT.=.'out';..const.ST
8f2a0 41 54 55 53 5f 52 45 41 44 59 20 3d 20 27 72 65 61 64 79 27 3b 0a 63 6f 6e 73 74 20 53 54 41 54 ATUS_READY.=.'ready';.const.STAT
8f2c0 55 53 5f 53 54 41 52 54 45 44 20 3d 20 27 73 74 61 72 74 65 64 27 3b 0a 63 6f 6e 73 74 20 53 54 US_STARTED.=.'started';.const.ST
8f2e0 41 54 55 53 5f 54 45 52 4d 49 4e 41 54 45 44 20 3d 20 27 74 65 72 6d 69 6e 61 74 65 64 27 3b 0a ATUS_TERMINATED.=.'terminated';.
8f300 0a 63 6f 6e 73 74 20 53 54 44 49 4e 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 53 54 44 4f 55 54 20 3d .const.STDIN.=.0;.const.STDOUT.=
8f320 20 31 3b 0a 63 6f 6e 73 74 20 53 54 44 45 52 52 20 3d 20 32 3b 0a 0a 0a 20 63 6f 6e 73 74 20 54 .1;.const.STDERR.=.2;....const.T
8f340 49 4d 45 4f 55 54 5f 50 52 45 43 49 53 49 4f 4e 20 3d 20 30 2e 32 3b 0a 0a 70 72 69 76 61 74 65 IMEOUT_PRECISION.=.0.2;..private
8f360 20 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 3b 0a 70 72 69 76 61 74 65 20 24 63 77 64 3b 0a 70 72 69 .$commandline;.private.$cwd;.pri
8f380 76 61 74 65 20 24 65 6e 76 3b 0a 70 72 69 76 61 74 65 20 24 73 74 64 69 6e 3b 0a 70 72 69 76 61 vate.$env;.private.$stdin;.priva
8f3a0 74 65 20 24 73 74 61 72 74 74 69 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 74 69 6d 65 6f 75 74 3b te.$starttime;.private.$timeout;
8f3c0 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 65 20 24 65 78 69 74 .private.$options;.private.$exit
8f3e0 63 6f 64 65 3b 0a 70 72 69 76 61 74 65 20 24 66 61 6c 6c 62 61 63 6b 45 78 69 74 63 6f 64 65 3b code;.private.$fallbackExitcode;
8f400 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 70 72 .private.$processInformation;.pr
8f420 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 72 3b 0a ivate.$stdout;.private.$stderr;.
8f440 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 69 62 69 private.$enhanceWindowsCompatibi
8f460 6c 69 74 79 3b 0a 70 72 69 76 61 74 65 20 24 65 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f lity;.private.$enhanceSigchildCo
8f480 6d 70 61 74 69 62 69 6c 69 74 79 3b 0a 70 72 69 76 61 74 65 20 24 70 69 70 65 73 3b 0a 70 72 69 mpatibility;.private.$pipes;.pri
8f4a0 76 61 74 65 20 24 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 vate.$process;.private.$status.=
8f4c0 20 73 65 6c 66 3a 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 .self::STATUS_READY;.private.$in
8f4e0 63 72 65 6d 65 6e 74 61 6c 4f 75 74 70 75 74 4f 66 66 73 65 74 3b 0a 70 72 69 76 61 74 65 20 24 crementalOutputOffset;.private.$
8f500 69 6e 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 3b 0a 70 72 incrementalErrorOutputOffset;.pr
8f520 69 76 61 74 65 20 24 74 74 79 3b 0a 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 48 61 6e 64 6c 65 ivate.$tty;..private.$fileHandle
8f540 73 3b 0a 70 72 69 76 61 74 65 20 24 72 65 61 64 42 79 74 65 73 3b 0a 0a 70 72 69 76 61 74 65 20 s;.private.$readBytes;..private.
8f560 73 74 61 74 69 63 20 24 73 69 67 63 68 69 6c 64 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 static.$sigchild;.........public
8f580 20 73 74 61 74 69 63 20 24 65 78 69 74 43 6f 64 65 73 20 3d 20 61 72 72 61 79 28 0a 30 20 3d 3e .static.$exitCodes.=.array(.0.=>
8f5a0 20 27 4f 4b 27 2c 0a 31 20 3d 3e 20 27 47 65 6e 65 72 61 6c 20 65 72 72 6f 72 27 2c 0a 32 20 3d .'OK',.1.=>.'General.error',.2.=
8f5c0 3e 20 27 4d 69 73 75 73 65 20 6f 66 20 73 68 65 6c 6c 20 62 75 69 6c 74 69 6e 73 27 2c 0a 0a 31 >.'Misuse.of.shell.builtins',..1
8f5e0 32 36 20 3d 3e 20 27 49 6e 76 6f 6b 65 64 20 63 6f 6d 6d 61 6e 64 20 63 61 6e 6e 6f 74 20 65 78 26.=>.'Invoked.command.cannot.ex
8f600 65 63 75 74 65 27 2c 0a 31 32 37 20 3d 3e 20 27 43 6f 6d 6d 61 6e 64 20 6e 6f 74 20 66 6f 75 6e ecute',.127.=>.'Command.not.foun
8f620 64 27 2c 0a 31 32 38 20 3d 3e 20 27 49 6e 76 61 6c 69 64 20 65 78 69 74 20 61 72 67 75 6d 65 6e d',.128.=>.'Invalid.exit.argumen
8f640 74 27 2c 0a 0a 0a 20 31 32 39 20 3d 3e 20 27 48 61 6e 67 75 70 27 2c 0a 31 33 30 20 3d 3e 20 27 t',....129.=>.'Hangup',.130.=>.'
8f660 49 6e 74 65 72 72 75 70 74 27 2c 0a 31 33 31 20 3d 3e 20 27 51 75 69 74 20 61 6e 64 20 64 75 6d Interrupt',.131.=>.'Quit.and.dum
8f680 70 20 63 6f 72 65 27 2c 0a 31 33 32 20 3d 3e 20 27 49 6c 6c 65 67 61 6c 20 69 6e 73 74 72 75 63 p.core',.132.=>.'Illegal.instruc
8f6a0 74 69 6f 6e 27 2c 0a 31 33 33 20 3d 3e 20 27 54 72 61 63 65 2f 62 72 65 61 6b 70 6f 69 6e 74 20 tion',.133.=>.'Trace/breakpoint.
8f6c0 74 72 61 70 27 2c 0a 31 33 34 20 3d 3e 20 27 50 72 6f 63 65 73 73 20 61 62 6f 72 74 65 64 27 2c trap',.134.=>.'Process.aborted',
8f6e0 0a 31 33 35 20 3d 3e 20 27 42 75 73 20 65 72 72 6f 72 3a 20 22 61 63 63 65 73 73 20 74 6f 20 75 .135.=>.'Bus.error:."access.to.u
8f700 6e 64 65 66 69 6e 65 64 20 70 6f 72 74 69 6f 6e 20 6f 66 20 6d 65 6d 6f 72 79 20 6f 62 6a 65 63 ndefined.portion.of.memory.objec
8f720 74 22 27 2c 0a 31 33 36 20 3d 3e 20 27 46 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 65 78 63 65 t"',.136.=>.'Floating.point.exce
8f740 70 74 69 6f 6e 3a 20 22 65 72 72 6f 6e 65 6f 75 73 20 61 72 69 74 68 6d 65 74 69 63 20 6f 70 65 ption:."erroneous.arithmetic.ope
8f760 72 61 74 69 6f 6e 22 27 2c 0a 31 33 37 20 3d 3e 20 27 4b 69 6c 6c 20 28 74 65 72 6d 69 6e 61 74 ration"',.137.=>.'Kill.(terminat
8f780 65 20 69 6d 6d 65 64 69 61 74 65 6c 79 29 27 2c 0a 31 33 38 20 3d 3e 20 27 55 73 65 72 2d 64 65 e.immediately)',.138.=>.'User-de
8f7a0 66 69 6e 65 64 20 31 27 2c 0a 31 33 39 20 3d 3e 20 27 53 65 67 6d 65 6e 74 61 74 69 6f 6e 20 76 fined.1',.139.=>.'Segmentation.v
8f7c0 69 6f 6c 61 74 69 6f 6e 27 2c 0a 31 34 30 20 3d 3e 20 27 55 73 65 72 2d 64 65 66 69 6e 65 64 20 iolation',.140.=>.'User-defined.
8f7e0 32 27 2c 0a 31 34 31 20 3d 3e 20 27 57 72 69 74 65 20 74 6f 20 70 69 70 65 20 77 69 74 68 20 6e 2',.141.=>.'Write.to.pipe.with.n
8f800 6f 20 6f 6e 65 20 72 65 61 64 69 6e 67 27 2c 0a 31 34 32 20 3d 3e 20 27 53 69 67 6e 61 6c 20 72 o.one.reading',.142.=>.'Signal.r
8f820 61 69 73 65 64 20 62 79 20 61 6c 61 72 6d 27 2c 0a 31 34 33 20 3d 3e 20 27 54 65 72 6d 69 6e 61 aised.by.alarm',.143.=>.'Termina
8f840 74 69 6f 6e 20 28 72 65 71 75 65 73 74 20 74 6f 20 74 65 72 6d 69 6e 61 74 65 29 27 2c 0a 0a 20 tion.(request.to.terminate)',...
8f860 31 34 35 20 3d 3e 20 27 43 68 69 6c 64 20 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 145.=>.'Child.process.terminated
8f880 2c 20 73 74 6f 70 70 65 64 20 28 6f 72 20 63 6f 6e 74 69 6e 75 65 64 2a 29 27 2c 0a 31 34 36 20 ,.stopped.(or.continued*)',.146.
8f8a0 3d 3e 20 27 43 6f 6e 74 69 6e 75 65 20 69 66 20 73 74 6f 70 70 65 64 27 2c 0a 31 34 37 20 3d 3e =>.'Continue.if.stopped',.147.=>
8f8c0 20 27 53 74 6f 70 20 65 78 65 63 75 74 69 6e 67 20 74 65 6d 70 6f 72 61 72 69 6c 79 27 2c 0a 31 .'Stop.executing.temporarily',.1
8f8e0 34 38 20 3d 3e 20 27 54 65 72 6d 69 6e 61 6c 20 73 74 6f 70 20 73 69 67 6e 61 6c 27 2c 0a 31 34 48.=>.'Terminal.stop.signal',.14
8f900 39 20 3d 3e 20 27 42 61 63 6b 67 72 6f 75 6e 64 20 70 72 6f 63 65 73 73 20 61 74 74 65 6d 70 74 9.=>.'Background.process.attempt
8f920 69 6e 67 20 74 6f 20 72 65 61 64 20 66 72 6f 6d 20 74 74 79 20 28 22 69 6e 22 29 27 2c 0a 31 35 ing.to.read.from.tty.("in")',.15
8f940 30 20 3d 3e 20 27 42 61 63 6b 67 72 6f 75 6e 64 20 70 72 6f 63 65 73 73 20 61 74 74 65 6d 70 74 0.=>.'Background.process.attempt
8f960 69 6e 67 20 74 6f 20 77 72 69 74 65 20 74 6f 20 74 74 79 20 28 22 6f 75 74 22 29 27 2c 0a 31 35 ing.to.write.to.tty.("out")',.15
8f980 31 20 3d 3e 20 27 55 72 67 65 6e 74 20 64 61 74 61 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 73 1.=>.'Urgent.data.available.on.s
8f9a0 6f 63 6b 65 74 27 2c 0a 31 35 32 20 3d 3e 20 27 43 50 55 20 74 69 6d 65 20 6c 69 6d 69 74 20 65 ocket',.152.=>.'CPU.time.limit.e
8f9c0 78 63 65 65 64 65 64 27 2c 0a 31 35 33 20 3d 3e 20 27 46 69 6c 65 20 73 69 7a 65 20 6c 69 6d 69 xceeded',.153.=>.'File.size.limi
8f9e0 74 20 65 78 63 65 65 64 65 64 27 2c 0a 31 35 34 20 3d 3e 20 27 53 69 67 6e 61 6c 20 72 61 69 73 t.exceeded',.154.=>.'Signal.rais
8fa00 65 64 20 62 79 20 74 69 6d 65 72 20 63 6f 75 6e 74 69 6e 67 20 76 69 72 74 75 61 6c 20 74 69 6d ed.by.timer.counting.virtual.tim
8fa20 65 3a 20 22 76 69 72 74 75 61 6c 20 74 69 6d 65 72 20 65 78 70 69 72 65 64 22 27 2c 0a 31 35 35 e:."virtual.timer.expired"',.155
8fa40 20 3d 3e 20 27 50 72 6f 66 69 6c 69 6e 67 20 74 69 6d 65 72 20 65 78 70 69 72 65 64 27 2c 0a 0a .=>.'Profiling.timer.expired',..
8fa60 20 31 35 37 20 3d 3e 20 27 50 6f 6c 6c 61 62 6c 65 20 65 76 65 6e 74 27 2c 0a 0a 20 31 35 39 20 .157.=>.'Pollable.event',...159.
8fa80 3d 3e 20 27 42 61 64 20 73 79 73 63 61 6c 6c 27 2c 0a 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a =>.'Bad.syscall',.);............
8faa0 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(
8fac0 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 2c 20 24 63 77 64 20 3d 20 6e 75 6c 6c 2c 20 61 72 72 61 79 $commandline,.$cwd.=.null,.array
8fae0 20 24 65 6e 76 20 3d 20 6e 75 6c 6c 2c 20 24 73 74 64 69 6e 20 3d 20 6e 75 6c 6c 2c 20 24 74 69 .$env.=.null,.$stdin.=.null,.$ti
8fb00 6d 65 6f 75 74 20 3d 20 36 30 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 meout.=.60,.array.$options.=.arr
8fb20 61 79 28 29 29 0a 7b 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 ay()).{.if.(!function_exists('pr
8fb40 6f 63 5f 6f 70 65 6e 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 oc_open')).{.throw.new.RuntimeEx
8fb60 63 65 70 74 69 6f 6e 28 27 54 68 65 20 50 72 6f 63 65 73 73 20 63 6c 61 73 73 20 72 65 6c 69 65 ception('The.Process.class.relie
8fb80 73 20 6f 6e 20 70 72 6f 63 5f 6f 70 65 6e 2c 20 77 68 69 63 68 20 69 73 20 6e 6f 74 20 61 76 61 s.on.proc_open,.which.is.not.ava
8fba0 69 6c 61 62 6c 65 20 6f 6e 20 79 6f 75 72 20 50 48 50 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 2e ilable.on.your.PHP.installation.
8fbc0 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 6c 69 6e 65 20 3d 20 24 63 6f 6d ');.}..$this->commandline.=.$com
8fbe0 6d 61 6e 64 6c 69 6e 65 3b 0a 24 74 68 69 73 2d 3e 63 77 64 20 3d 20 24 63 77 64 3b 0a 0a 0a 20 mandline;.$this->cwd.=.$cwd;....
8fc00 0a 20 0a 20 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 77 64 20 26 26 ......if.(null.===.$this->cwd.&&
8fc20 20 28 64 65 66 69 6e 65 64 28 27 5a 45 4e 44 5f 54 48 52 45 41 44 5f 53 41 46 45 27 29 20 7c 7c .(defined('ZEND_THREAD_SAFE').||
8fc40 20 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 55 .defined('PHP_WINDOWS_VERSION_BU
8fc60 49 4c 44 27 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 77 64 20 3d 20 67 65 74 63 77 64 28 29 3b ILD'))).{.$this->cwd.=.getcwd();
8fc80 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 65 6e 76 29 20 7b 0a 24 74 68 69 73 2d 3e 65 .}.if.(null.!==.$env).{.$this->e
8fca0 6e 76 20 3d 20 61 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 nv.=.array();.foreach.($env.as.$
8fcc0 6b 65 79 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 24 74 68 69 73 2d 3e 65 6e 76 5b 28 62 69 6e key.=>.$value).{.$this->env[(bin
8fce0 61 72 79 29 20 24 6b 65 79 5d 20 3d 20 28 62 69 6e 61 72 79 29 20 24 76 61 6c 75 65 3b 0a 7d 0a ary).$key].=.(binary).$value;.}.
8fd00 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 65 6e 76 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 24 74 }.else.{.$this->env.=.null;.}.$t
8fd20 68 69 73 2d 3e 73 74 64 69 6e 20 3d 20 24 73 74 64 69 6e 3b 0a 24 74 68 69 73 2d 3e 73 65 74 54 his->stdin.=.$stdin;.$this->setT
8fd40 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 65 6e 68 61 6e 63 65 imeout($timeout);.$this->enhance
8fd60 57 69 6e 64 6f 77 73 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 3d 20 74 72 75 65 3b 0a 24 74 68 WindowsCompatibility.=.true;.$th
8fd80 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
8fda0 20 3d 20 21 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 .=.!defined('PHP_WINDOWS_VERSION
8fdc0 5f 42 55 49 4c 44 27 29 20 26 26 20 24 74 68 69 73 2d 3e 69 73 53 69 67 63 68 69 6c 64 45 6e 61 _BUILD').&&.$this->isSigchildEna
8fde0 62 6c 65 64 28 29 3b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 5f 72 bled();.$this->options.=.array_r
8fe00 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 73 75 70 70 72 65 73 73 5f 65 72 72 6f 72 73 27 20 3d eplace(array('suppress_errors'.=
8fe20 3e 20 74 72 75 65 2c 20 27 62 69 6e 61 72 79 5f 70 69 70 65 73 27 20 3d 3e 20 74 72 75 65 29 2c >.true,.'binary_pipes'.=>.true),
8fe40 20 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 74 69 6f 6e 20 5f .$options);.}..public.function._
8fe60 5f 64 65 73 74 72 75 63 74 28 29 0a 7b 0a 0a 20 24 74 68 69 73 2d 3e 73 74 6f 70 28 29 3b 0a 7d _destruct().{...$this->stop();.}
8fe80 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6c 6f 6e 65 28 29 0a 7b 0a 24 74 ..public.function.__clone().{.$t
8fea0 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 69 73 2d 3e 66 61 6c his->exitcode.=.null;.$this->fal
8fec0 6c 62 61 63 6b 45 78 69 74 63 6f 64 65 20 3d 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 70 72 6f lbackExitcode.=.null;.$this->pro
8fee0 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 73 cessInformation.=.null;.$this->s
8ff00 74 64 6f 75 74 20 3d 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 73 74 64 65 72 72 20 3d 20 6e 75 tdout.=.null;.$this->stderr.=.nu
8ff20 6c 6c 3b 0a 24 74 68 69 73 2d 3e 70 69 70 65 73 20 3d 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e ll;.$this->pipes.=.null;.$this->
8ff40 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 73 74 61 74 75 73 20 3d 20 process.=.null;.$this->status.=.
8ff60 73 65 6c 66 3a 3a 53 54 41 54 55 53 5f 52 45 41 44 59 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 48 self::STATUS_READY;.$this->fileH
8ff80 61 6e 64 6c 65 73 20 3d 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 72 65 61 64 42 79 74 65 73 20 andles.=.null;.$this->readBytes.
8ffa0 3d 20 6e 75 6c 6c 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 =.null;.}.....................pu
8ffc0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e 28 24 63 61 6c 6c 62 61 63 6b 20 3d 20 6e 75 blic.function.run($callback.=.nu
8ffe0 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 28 24 63 61 6c 6c 62 61 63 6b 29 3b 0a 0a ll).{.$this->start($callback);..
90000 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 77 61 69 74 28 24 63 61 6c 6c 62 61 63 6b 29 3b 0a 7d return.$this->wait($callback);.}
90020 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 75 .......................public.fu
90040 6e 63 74 69 6f 6e 20 73 74 61 72 74 28 24 63 61 6c 6c 62 61 63 6b 20 3d 20 6e 75 6c 6c 29 0a 7b nction.start($callback.=.null).{
90060 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 6f 77 .if.($this->isRunning()).{.throw
90080 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 50 72 6f 63 65 73 73 20 69 .new.RuntimeException('Process.i
900a0 73 20 61 6c 72 65 61 64 79 20 72 75 6e 6e 69 6e 67 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 s.already.running');.}..$this->s
900c0 74 61 72 74 74 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 tarttime.=.microtime(true);.$thi
900e0 73 2d 3e 73 74 64 6f 75 74 20 3d 20 27 27 3b 0a 24 74 68 69 73 2d 3e 73 74 64 65 72 72 20 3d 20 s->stdout.=.'';.$this->stderr.=.
90100 27 27 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 '';.$this->incrementalOutputOffs
90120 65 74 20 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 et.=.0;.$this->incrementalErrorO
90140 75 74 70 75 74 4f 66 66 73 65 74 20 3d 20 30 3b 0a 24 63 61 6c 6c 62 61 63 6b 20 3d 20 24 74 68 utputOffset.=.0;.$callback.=.$th
90160 69 73 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 24 64 is->buildCallback($callback);.$d
90180 65 73 63 72 69 70 74 6f 72 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 65 73 63 72 69 70 74 6f escriptors.=.$this->getDescripto
901a0 72 73 28 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d rs();..$commandline.=.$this->com
901c0 6d 61 6e 64 6c 69 6e 65 3b 0a 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 50 48 50 5f 57 49 4e 44 mandline;..if.(defined('PHP_WIND
901e0 4f 57 53 5f 56 45 52 53 49 4f 4e 5f 42 55 49 4c 44 27 29 20 26 26 20 24 74 68 69 73 2d 3e 65 6e OWS_VERSION_BUILD').&&.$this->en
90200 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 29 20 7b 0a 24 63 6f hanceWindowsCompatibility).{.$co
90220 6d 6d 61 6e 64 6c 69 6e 65 20 3d 20 27 63 6d 64 20 2f 56 3a 4f 4e 20 2f 45 3a 4f 4e 20 2f 43 20 mmandline.=.'cmd./V:ON./E:ON./C.
90240 22 27 2e 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 2e 27 22 27 3b 0a 69 66 20 28 21 69 73 73 65 74 28 "'.$commandline.'"';.if.(!isset(
90260 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 27 62 79 70 61 73 73 5f 73 68 65 6c 6c 27 5d 29 29 $this->options['bypass_shell']))
90280 20 7b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 27 62 79 70 61 73 73 5f 73 68 65 6c 6c 27 .{.$this->options['bypass_shell'
902a0 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 ].=.true;.}.}..$this->process.=.
902c0 70 72 6f 63 5f 6f 70 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 proc_open($commandline,.$descrip
902e0 74 6f 72 73 2c 20 24 74 68 69 73 2d 3e 70 69 70 65 73 2c 20 24 74 68 69 73 2d 3e 63 77 64 2c 20 tors,.$this->pipes,.$this->cwd,.
90300 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 73 29 3b 0a 0a 69 66 $this->env,.$this->options);..if
90320 20 28 21 69 73 5f 72 65 73 6f 75 72 63 65 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 29 29 20 .(!is_resource($this->process)).
90340 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 55 6e {.throw.new.RuntimeException('Un
90360 61 62 6c 65 20 74 6f 20 6c 61 75 6e 63 68 20 61 20 6e 65 77 20 70 72 6f 63 65 73 73 2e 27 29 3b able.to.launch.a.new.process.');
90380 0a 7d 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_
903a0 53 54 41 52 54 45 44 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 69 70 65 73 20 STARTED;..foreach.($this->pipes.
903c0 61 73 20 24 70 69 70 65 29 20 7b 0a 73 74 72 65 61 6d 5f 73 65 74 5f 62 6c 6f 63 6b 69 6e 67 28 as.$pipe).{.stream_set_blocking(
903e0 24 70 69 70 65 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 74 74 $pipe,.false);.}...if.($this->tt
90400 79 29 20 7b 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 y).{.$this->status.=.self::STATU
90420 53 5f 54 45 52 4d 49 4e 41 54 45 44 3b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c S_TERMINATED;.return;.}..if.(nul
90440 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 73 74 64 69 6e 29 20 7b 0a 66 63 6c 6f 73 65 28 24 74 68 l.===.$this->stdin).{.fclose($th
90460 69 73 2d 3e 70 69 70 65 73 5b 30 5d 29 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 70 69 70 65 is->pipes[0]);.unset($this->pipe
90480 73 5b 30 5d 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 77 72 69 74 65 50 69 70 65 73 20 3d s[0]);..return;.}..$writePipes.=
904a0 20 61 72 72 61 79 28 24 74 68 69 73 2d 3e 70 69 70 65 73 5b 30 5d 29 3b 0a 75 6e 73 65 74 28 24 .array($this->pipes[0]);.unset($
904c0 74 68 69 73 2d 3e 70 69 70 65 73 5b 30 5d 29 3b 0a 24 73 74 64 69 6e 4c 65 6e 20 3d 20 73 74 72 this->pipes[0]);.$stdinLen.=.str
904e0 6c 65 6e 28 24 74 68 69 73 2d 3e 73 74 64 69 6e 29 3b 0a 24 73 74 64 69 6e 4f 66 66 73 65 74 20 len($this->stdin);.$stdinOffset.
90500 3d 20 30 3b 0a 0a 77 68 69 6c 65 20 28 24 77 72 69 74 65 50 69 70 65 73 29 20 7b 0a 69 66 20 28 =.0;..while.($writePipes).{.if.(
90520 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 55 49 defined('PHP_WINDOWS_VERSION_BUI
90540 4c 44 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 46 69 6c 65 48 61 6e 64 6c 65 LD')).{.$this->processFileHandle
90560 73 28 24 63 61 6c 6c 62 61 63 6b 29 3b 0a 7d 0a 0a 24 72 20 3d 20 24 74 68 69 73 2d 3e 70 69 70 s($callback);.}..$r.=.$this->pip
90580 65 73 3b 0a 24 77 20 3d 20 24 77 72 69 74 65 50 69 70 65 73 3b 0a 24 65 20 3d 20 6e 75 6c 6c 3b es;.$w.=.$writePipes;.$e.=.null;
905a0 0a 0a 24 6e 20 3d 20 40 73 74 72 65 61 6d 5f 73 65 6c 65 63 74 28 24 72 2c 20 24 77 2c 20 24 65 ..$n.=.@stream_select($r,.$w,.$e
905c0 2c 20 30 2c 20 63 65 69 6c 28 73 74 61 74 69 63 3a 3a 54 49 4d 45 4f 55 54 5f 50 52 45 43 49 53 ,.0,.ceil(static::TIMEOUT_PRECIS
905e0 49 4f 4e 20 2a 20 31 45 36 29 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 6e 29 20 ION.*.1E6));..if.(false.===.$n).
90600 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 69 66 20 28 24 6e 20 3d 3d 3d 20 30 29 20 7b 0a 70 72 6f 63 5f {.break;.}.if.($n.===.0).{.proc_
90620 74 65 72 6d 69 6e 61 74 65 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 29 3b 0a 0a 74 68 72 6f terminate($this->process);..thro
90640 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 70 72 6f 63 w.new.RuntimeException('The.proc
90660 65 73 73 20 74 69 6d 65 64 20 6f 75 74 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 77 29 20 7b 0a 24 ess.timed.out.');.}..if.($w).{.$
90680 77 72 69 74 74 65 6e 20 3d 20 66 77 72 69 74 65 28 24 77 72 69 74 65 50 69 70 65 73 5b 30 5d 2c written.=.fwrite($writePipes[0],
906a0 20 28 62 69 6e 61 72 79 29 20 73 75 62 73 74 72 28 24 74 68 69 73 2d 3e 73 74 64 69 6e 2c 20 24 .(binary).substr($this->stdin,.$
906c0 73 74 64 69 6e 4f 66 66 73 65 74 29 2c 20 38 31 39 32 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 21 stdinOffset),.8192);.if.(false.!
906e0 3d 3d 20 24 77 72 69 74 74 65 6e 29 20 7b 0a 24 73 74 64 69 6e 4f 66 66 73 65 74 20 2b 3d 20 24 ==.$written).{.$stdinOffset.+=.$
90700 77 72 69 74 74 65 6e 3b 0a 7d 0a 69 66 20 28 24 73 74 64 69 6e 4f 66 66 73 65 74 20 3e 3d 20 24 written;.}.if.($stdinOffset.>=.$
90720 73 74 64 69 6e 4c 65 6e 29 20 7b 0a 66 63 6c 6f 73 65 28 24 77 72 69 74 65 50 69 70 65 73 5b 30 stdinLen).{.fclose($writePipes[0
90740 5d 29 3b 0a 24 77 72 69 74 65 50 69 70 65 73 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 0a 66 6f 72 ]);.$writePipes.=.null;.}.}..for
90760 65 61 63 68 20 28 24 72 20 61 73 20 24 70 69 70 65 29 20 7b 0a 24 74 79 70 65 20 3d 20 61 72 72 each.($r.as.$pipe).{.$type.=.arr
90780 61 79 5f 73 65 61 72 63 68 28 24 70 69 70 65 2c 20 24 74 68 69 73 2d 3e 70 69 70 65 73 29 3b 0a ay_search($pipe,.$this->pipes);.
907a0 24 64 61 74 61 20 3d 20 66 72 65 61 64 28 24 70 69 70 65 2c 20 38 31 39 32 29 3b 0a 69 66 20 28 $data.=.fread($pipe,.8192);.if.(
907c0 73 74 72 6c 65 6e 28 24 64 61 74 61 29 20 3e 20 30 29 20 7b 0a 63 61 6c 6c 5f 75 73 65 72 5f 66 strlen($data).>.0).{.call_user_f
907e0 75 6e 63 28 24 63 61 6c 6c 62 61 63 6b 2c 20 24 74 79 70 65 20 3d 3d 20 31 20 3f 20 73 65 6c 66 unc($callback,.$type.==.1.?.self
90800 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 0a 69 66 20 ::OUT.:.self::ERR,.$data);.}.if.
90820 28 66 61 6c 73 65 20 3d 3d 3d 20 24 64 61 74 61 20 7c 7c 20 66 65 6f 66 28 24 70 69 70 65 29 29 (false.===.$data.||.feof($pipe))
90840 20 7b 0a 66 63 6c 6f 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 .{.fclose($pipe);.unset($this->p
90860 69 70 65 73 5b 24 74 79 70 65 5d 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 54 ipes[$type]);.}.}..$this->checkT
90880 69 6d 65 6f 75 74 28 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 53 74 61 74 75 73 imeout();.}..$this->updateStatus
908a0 28 29 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 63 20 66 75 6e ();.}.................public.fun
908c0 63 74 69 6f 6e 20 72 65 73 74 61 72 74 28 24 63 61 6c 6c 62 61 63 6b 20 3d 20 6e 75 6c 6c 29 0a ction.restart($callback.=.null).
908e0 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 6f {.if.($this->isRunning()).{.thro
90900 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 50 72 6f 63 65 73 73 20 w.new.RuntimeException('Process.
90920 69 73 20 61 6c 72 65 61 64 79 20 72 75 6e 6e 69 6e 67 27 29 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 is.already.running');.}..$proces
90940 73 20 3d 20 63 6c 6f 6e 65 20 24 74 68 69 73 3b 0a 24 70 72 6f 63 65 73 73 2d 3e 73 74 61 72 74 s.=.clone.$this;.$process->start
90960 28 24 63 61 6c 6c 62 61 63 6b 29 3b 0a 0a 72 65 74 75 72 6e 20 24 70 72 6f 63 65 73 73 3b 0a 7d ($callback);..return.$process;.}
90980 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.
909a0 77 61 69 74 28 24 63 61 6c 6c 62 61 63 6b 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e wait($callback.=.null).{.$this->
909c0 75 70 64 61 74 65 53 74 61 74 75 73 28 29 3b 0a 24 63 61 6c 6c 62 61 63 6b 20 3d 20 24 74 68 69 updateStatus();.$callback.=.$thi
909e0 73 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 77 68 69 s->buildCallback($callback);.whi
90a00 6c 65 20 28 24 74 68 69 73 2d 3e 70 69 70 65 73 20 7c 7c 20 28 64 65 66 69 6e 65 64 28 27 50 48 le.($this->pipes.||.(defined('PH
90a20 50 5f 57 49 4e 44 4f 57 53 5f 56 45 52 53 49 4f 4e 5f 42 55 49 4c 44 27 29 20 26 26 20 24 74 68 P_WINDOWS_VERSION_BUILD').&&.$th
90a40 69 73 2d 3e 66 69 6c 65 48 61 6e 64 6c 65 73 29 29 20 7b 0a 69 66 20 28 64 65 66 69 6e 65 64 28 is->fileHandles)).{.if.(defined(
90a60 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 27 29 20 26 26 20 'PHP_WINDOWS_VERSION_BUILD').&&.
90a80 24 74 68 69 73 2d 3e 66 69 6c 65 48 61 6e 64 6c 65 73 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f $this->fileHandles).{.$this->pro
90aa0 63 65 73 73 46 69 6c 65 48 61 6e 64 6c 65 73 28 24 63 61 6c 6c 62 61 63 6b 2c 20 21 24 74 68 69 cessFileHandles($callback,.!$thi
90ac0 73 2d 3e 70 69 70 65 73 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 54 69 6d 65 6f 75 74 s->pipes);.}.$this->checkTimeout
90ae0 28 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 69 70 65 73 29 20 7b 0a 24 72 20 3d 20 24 74 ();..if.($this->pipes).{.$r.=.$t
90b00 68 69 73 2d 3e 70 69 70 65 73 3b 0a 24 77 20 3d 20 6e 75 6c 6c 3b 0a 24 65 20 3d 20 6e 75 6c 6c his->pipes;.$w.=.null;.$e.=.null
90b20 3b 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 6e 20 3d 20 40 73 74 72 65 61 6d 5f ;....if.(false.===.$n.=.@stream_
90b40 73 65 6c 65 63 74 28 24 72 2c 20 24 77 2c 20 24 65 2c 20 30 2c 20 63 65 69 6c 28 73 74 61 74 69 select($r,.$w,.$e,.0,.ceil(stati
90b60 63 3a 3a 54 49 4d 45 4f 55 54 5f 50 52 45 43 49 53 49 4f 4e 20 2a 20 31 45 36 29 29 29 20 7b 0a c::TIMEOUT_PRECISION.*.1E6))).{.
90b80 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 74 28 29 3b 0a 0a $lastError.=.error_get_last();..
90ba0 0a 20 69 66 20 28 69 73 73 65 74 28 24 6c 61 73 74 45 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 ..if.(isset($lastError['message'
90bc0 5d 29 20 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 69 70 6f 73 28 24 6c 61 73 74 45 72 72 ]).&&.false.===.stripos($lastErr
90be0 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 27 69 6e 74 65 72 72 75 70 74 65 64 20 73 79 73 74 or['message'],.'interrupted.syst
90c00 65 6d 20 63 61 6c 6c 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 69 70 65 73 20 3d 20 61 72 72 61 em.call')).{.$this->pipes.=.arra
90c20 79 28 29 3b 0a 7d 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 30 20 3d 3d 3d y();.}..continue;.}....if.(0.===
90c40 20 24 6e 29 20 7b 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 20 .$n).{.continue;.}..foreach.($r.
90c60 61 73 20 24 70 69 70 65 29 20 7b 0a 24 74 79 70 65 20 3d 20 61 72 72 61 79 5f 73 65 61 72 63 68 as.$pipe).{.$type.=.array_search
90c80 28 24 70 69 70 65 2c 20 24 74 68 69 73 2d 3e 70 69 70 65 73 29 3b 0a 24 64 61 74 61 20 3d 20 66 ($pipe,.$this->pipes);.$data.=.f
90ca0 72 65 61 64 28 24 70 69 70 65 2c 20 38 31 39 32 29 3b 0a 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 read($pipe,.8192);..if.(strlen($
90cc0 64 61 74 61 29 20 3e 20 30 29 20 7b 0a 0a 20 69 66 20 28 33 20 3d 3d 20 24 74 79 70 65 29 20 7b data).>.0).{...if.(3.==.$type).{
90ce0 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 45 78 69 74 63 6f 64 65 20 3d 20 28 69 6e 74 29 .$this->fallbackExitcode.=.(int)
90d00 20 24 64 61 74 61 3b 0a 7d 20 65 6c 73 65 20 7b 0a 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 .$data;.}.else.{.call_user_func(
90d20 24 63 61 6c 6c 62 61 63 6b 2c 20 24 74 79 70 65 20 3d 3d 20 31 20 3f 20 73 65 6c 66 3a 3a 4f 55 $callback,.$type.==.1.?.self::OU
90d40 54 20 3a 20 73 65 6c 66 3a 3a 45 52 52 2c 20 24 64 61 74 61 29 3b 0a 7d 0a 7d 0a 69 66 20 28 66 T.:.self::ERR,.$data);.}.}.if.(f
90d60 61 6c 73 65 20 3d 3d 3d 20 24 64 61 74 61 20 7c 7c 20 66 65 6f 66 28 24 70 69 70 65 29 29 20 7b alse.===.$data.||.feof($pipe)).{
90d80 0a 66 63 6c 6f 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 .fclose($pipe);.unset($this->pip
90da0 65 73 5b 24 74 79 70 65 5d 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 es[$type]);.}.}.}.}.$this->updat
90dc0 65 53 74 61 74 75 73 28 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 eStatus();.if.($this->processInf
90de0 6f 72 6d 61 74 69 6f 6e 5b 27 73 69 67 6e 61 6c 65 64 27 5d 29 20 7b 0a 69 66 20 28 24 74 68 69 ormation['signaled']).{.if.($thi
90e00 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.
90e20 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 70 72 6f 63 65 73 new.RuntimeException('The.proces
90e40 73 20 68 61 73 20 62 65 65 6e 20 73 69 67 6e 61 6c 65 64 2e 27 29 3b 0a 7d 0a 0a 74 68 72 6f 77 s.has.been.signaled.');.}..throw
90e60 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 54 .new.RuntimeException(sprintf('T
90e80 68 65 20 70 72 6f 63 65 73 73 20 68 61 73 20 62 65 65 6e 20 73 69 67 6e 61 6c 65 64 20 77 69 74 he.process.has.been.signaled.wit
90ea0 68 20 73 69 67 6e 61 6c 20 22 25 73 22 2e 27 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 h.signal."%s".',.$this->processI
90ec0 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 74 65 72 6d 73 69 67 27 5d 29 29 3b 0a 7d 0a 0a 24 74 69 6d nformation['termsig']));.}..$tim
90ee0 65 20 3d 20 30 3b 0a 77 68 69 6c 65 20 28 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 e.=.0;.while.($this->isRunning()
90f00 20 26 26 20 24 74 69 6d 65 20 3c 20 31 30 30 30 30 30 30 29 20 7b 0a 24 74 69 6d 65 20 2b 3d 20 .&&.$time.<.1000000).{.$time.+=.
90f20 31 30 30 30 3b 0a 75 73 6c 65 65 70 28 31 30 30 30 29 3b 0a 7d 0a 0a 24 65 78 69 74 63 6f 64 65 1000;.usleep(1000);.}..$exitcode
90f40 20 3d 20 70 72 6f 63 5f 63 6c 6f 73 65 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 29 3b 0a 0a .=.proc_close($this->process);..
90f60 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 69 6f 6e 5b 27 73 if.($this->processInformation['s
90f80 69 67 6e 61 6c 65 64 27 5d 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 53 69 67 63 68 69 ignaled']).{.if.($this->isSigchi
90fa0 6c 64 45 6e 61 62 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 ldEnabled()).{.throw.new.Runtime
90fc0 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 70 72 6f 63 65 73 73 20 68 61 73 20 62 65 65 6e 20 Exception('The.process.has.been.
90fe0 73 69 67 6e 61 6c 65 64 2e 27 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d signaled.');.}..throw.new.Runtim
91000 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 73 73 20 eException(sprintf('The.process.
91020 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 20 22 25 has.been.signaled.with.signal."%
91040 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 6f 6e 5b s".',.$this->processInformation[
91060 27 74 65 72 6d 73 69 67 27 5d 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 65 78 69 74 63 6f 64 65 'termsig']));.}..$this->exitcode
91080 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
910a0 6e 6e 69 6e 67 27 5d 20 3f 20 24 65 78 69 74 63 6f 64 65 20 3a 20 24 74 68 69 73 2d 3e 70 72 6f nning'].?.$exitcode.:.$this->pro
910c0 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 5d 3b 0a 0a 69 66 cessInformation['exitcode'];..if
910e0 20 28 2d 31 20 3d 3d 20 24 74 68 69 73 2d 3e 65 78 69 74 63 6f 64 65 20 26 26 20 6e 75 6c 6c 20 .(-1.==.$this->exitcode.&&.null.
91100 21 3d 3d 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 45 78 69 74 63 6f 64 65 29 20 7b 0a 24 !==.$this->fallbackExitcode).{.$
91120 74 68 69 73 2d 3e 65 78 69 74 63 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b this->exitcode.=.$this->fallback
91140 45 78 69 74 63 6f 64 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 69 74 63 Exitcode;.}..return.$this->exitc
91160 6f 64 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 ode;.}.........public.function.g
91180 65 74 50 69 64 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 53 69 67 63 68 69 6c 64 45 etPid().{.if.($this->isSigchildE
911a0 6e 61 62 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 nabled()).{.throw.new.RuntimeExc
911c0 65 70 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 eption('This.PHP.has.been.compil
911e0 65 64 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 68 65 20 70 ed.with.--enable-sigchild..The.p
91200 72 6f 63 65 73 73 20 69 64 65 6e 74 69 66 69 65 72 20 63 61 6e 20 6e 6f 74 20 62 65 20 72 65 74 rocess.identifier.can.not.be.ret
91220 72 69 65 76 65 64 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 53 74 61 74 75 rieved.');.}..$this->updateStatu
91240 73 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 20 s();..return.$this->isRunning().
91260 3f 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 70 69 64 ?.$this->processInformation['pid
91280 27 5d 20 3a 20 6e 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 '].:.null;.}............public.f
912a0 75 6e 63 74 69 6f 6e 20 73 69 67 6e 61 6c 28 24 73 69 67 6e 61 6c 29 0a 7b 0a 69 66 20 28 21 24 unction.signal($signal).{.if.(!$
912c0 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 6e 65 77 20 4c this->isRunning()).{.throw.new.L
912e0 6f 67 69 63 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 ogicException('Can.not.send.sign
91300 61 6c 20 6f 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 al.on.a.non.running.process.');.
91320 7d 0a 0a 69 66 20 28 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 }..if.($this->isSigchildEnabled(
91340 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 28 )).{.throw.new.RuntimeException(
91360 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 77 69 74 68 'This.PHP.has.been.compiled.with
91380 20 2d 2d 65 6e 61 62 6c 65 2d 73 69 67 63 68 69 6c 64 2e 20 54 68 65 20 70 72 6f 63 65 73 73 20 .--enable-sigchild..The.process.
913a0 63 61 6e 20 6e 6f 74 20 62 65 20 73 69 67 6e 61 6c 65 64 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 74 can.not.be.signaled.');.}..if.(t
913c0 72 75 65 20 21 3d 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 rue.!==.@proc_terminate($this->p
913e0 72 6f 63 65 73 73 2c 20 24 73 69 67 6e 61 6c 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 rocess,.$signal)).{.throw.new.Ru
91400 6e 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 ntimeException(sprintf('Error.wh
91420 69 6c 65 20 73 65 6e 64 69 6e 67 20 73 69 67 6e 61 6c 20 60 25 64 60 2e 27 2c 20 24 73 69 67 6e ile.sending.signal.`%d`.',.$sign
91440 61 6c 29 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 0a 0a al));.}..return.$this;.}........
91460 0a 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 24 .public.function.getOutput().{.$
91480 74 68 69 73 2d 3e 75 70 64 61 74 65 4f 75 74 70 75 74 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 this->updateOutput();..return.$t
914a0 68 69 73 2d 3e 73 74 64 6f 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 his->stdout;.}..........public.f
914c0 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 70 75 74 28 29 0a 7b unction.getIncrementalOutput().{
914e0 0a 24 64 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4f 75 74 70 75 74 28 29 3b 0a 0a 24 6c .$data.=.$this->getOutput();..$l
91500 61 74 65 73 74 20 3d 20 73 75 62 73 74 72 28 24 64 61 74 61 2c 20 24 74 68 69 73 2d 3e 69 6e 63 atest.=.substr($data,.$this->inc
91520 72 65 6d 65 6e 74 61 6c 4f 75 74 70 75 74 4f 66 66 73 65 74 29 3b 0a 24 74 68 69 73 2d 3e 69 6e rementalOutputOffset);.$this->in
91540 63 72 65 6d 65 6e 74 61 6c 4f 75 74 70 75 74 4f 66 66 73 65 74 20 3d 20 73 74 72 6c 65 6e 28 24 crementalOutputOffset.=.strlen($
91560 64 61 74 61 29 3b 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 data);..return.$latest;.}.......
91580 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 74 ..public.function.getErrorOutput
915a0 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b ().{.$this->updateErrorOutput();
915c0 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 64 65 72 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a ..return.$this->stderr;.}.......
915e0 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 6d 65 6e 74 ....public.function.getIncrement
91600 61 6c 45 72 72 6f 72 4f 75 74 70 75 74 28 29 0a 7b 0a 24 64 61 74 61 20 3d 20 24 74 68 69 73 2d alErrorOutput().{.$data.=.$this-
91620 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 0a 24 6c 61 74 65 73 74 20 3d 20 73 75 >getErrorOutput();..$latest.=.su
91640 62 73 74 72 28 24 64 61 74 61 2c 20 24 74 68 69 73 2d 3e 69 6e 63 72 65 6d 65 6e 74 61 6c 45 72 bstr($data,.$this->incrementalEr
91660 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 63 72 65 6d 65 rorOutputOffset);.$this->increme
91680 6e 74 61 6c 45 72 72 6f 72 4f 75 74 70 75 74 4f 66 66 73 65 74 20 3d 20 73 74 72 6c 65 6e 28 24 ntalErrorOutputOffset.=.strlen($
916a0 64 61 74 61 29 3b 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 data);..return.$latest;.}.......
916c0 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 6f 64 65 28 ....public.function.getExitCode(
916e0 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 53 69 67 63 68 69 6c 64 45 6e 61 62 6c 65 64 ).{.if.($this->isSigchildEnabled
91700 28 29 20 26 26 20 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 ().&&.!$this->enhanceSigchildCom
91720 70 61 74 69 62 69 6c 69 74 79 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 patibility).{.throw.new.RuntimeE
91740 78 63 65 70 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 xception('This.PHP.has.been.comp
91760 69 6c 65 64 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 59 6f 75 iled.with.--enable-sigchild..You
91780 20 6d 75 73 74 20 75 73 65 20 73 65 74 45 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 .must.use.setEnhanceSigchildComp
917a0 61 74 69 62 69 6c 69 74 79 28 29 20 74 6f 20 75 73 65 20 74 68 69 73 20 6d 65 74 68 6f 64 27 29 atibility().to.use.this.method')
917c0 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 53 74 61 74 75 73 28 29 3b 0a 0a 72 65 74 ;.}..$this->updateStatus();..ret
917e0 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 0a 0a urn.$this->exitcode;.}..........
91800 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 6f 64 65 54 65 ...public.function.getExitCodeTe
91820 78 74 28 29 0a 7b 0a 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 xt().{.$exitcode.=.$this->getExi
91840 74 43 6f 64 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 65 78 tCode();..return.isset(self::$ex
91860 69 74 43 6f 64 65 73 5b 24 65 78 69 74 63 6f 64 65 5d 29 20 3f 20 73 65 6c 66 3a 3a 24 65 78 69 itCodes[$exitcode]).?.self::$exi
91880 74 43 6f 64 65 73 5b 24 65 78 69 74 63 6f 64 65 5d 20 3a 20 27 55 6e 6b 6e 6f 77 6e 20 65 72 72 tCodes[$exitcode].:.'Unknown.err
918a0 6f 72 27 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 69 or';.}.........public.function.i
918c0 73 53 75 63 63 65 73 73 66 75 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 30 20 3d 3d 20 24 74 68 69 sSuccessful().{.return.0.==.$thi
918e0 73 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 0a 0a 0a 0a 0a 0a s->getExitCode();.}.............
91900 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 42 65 65 6e 53 69 67 6e 61 6c 65 64 28 public.function.hasBeenSignaled(
91920 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 53 69 67 63 68 69 6c 64 45 6e 61 62 6c 65 64 ).{.if.($this->isSigchildEnabled
91940 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
91960 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 77 69 74 ('This.PHP.has.been.compiled.wit
91980 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 6e 61 6c h.--enable-sigchild..Term.signal
919a0 20 63 61 6e 20 6e 6f 74 20 62 65 20 72 65 74 72 69 65 76 65 64 27 29 3b 0a 7d 0a 0a 24 74 68 69 .can.not.be.retrieved');.}..$thi
919c0 73 2d 3e 75 70 64 61 74 65 53 74 61 74 75 73 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 s->updateStatus();..return.$this
919e0 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 73 69 67 6e 61 6c 65 64 27 5d ->processInformation['signaled']
91a00 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.
91a20 67 65 74 54 65 72 6d 53 69 67 6e 61 6c 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 53 getTermSignal().{.if.($this->isS
91a40 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 6e 65 77 20 52 75 igchildEnabled()).{.throw.new.Ru
91a60 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 61 73 20 62 65 65 ntimeException('This.PHP.has.bee
91a80 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 69 67 63 68 69 6c n.compiled.with.--enable-sigchil
91aa0 64 2e 20 54 65 72 6d 20 73 69 67 6e 61 6c 20 63 61 6e 20 6e 6f 74 20 62 65 20 72 65 74 72 69 65 d..Term.signal.can.not.be.retrie
91ac0 76 65 64 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 53 74 61 74 75 73 28 29 3b ved');.}..$this->updateStatus();
91ae0 0a 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 ..return.$this->processInformati
91b00 6f 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 on['termsig'];.}...........publi
91b20 63 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 c.function.hasBeenStopped().{.$t
91b40 68 69 73 2d 3e 75 70 64 61 74 65 53 74 61 74 75 73 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 his->updateStatus();..return.$th
91b60 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 6f 70 70 65 64 27 is->processInformation['stopped'
91b80 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 63 74 69 6f 6e 20 67 ];.}...........public.function.g
91ba0 65 74 53 74 6f 70 53 69 67 6e 61 6c 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 53 74 etStopSignal().{.$this->updateSt
91bc0 61 74 75 73 28 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 49 6e atus();..return.$this->processIn
91be0 66 6f 72 6d 61 74 69 6f 6e 5b 27 73 74 6f 70 73 69 67 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 formation['stopsig'];.}.......pu
91c00 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 52 75 6e 6e 69 6e 67 28 29 0a 7b 0a 69 66 20 28 blic.function.isRunning().{.if.(
91c20 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 74 68 69 73 2d 3e self::STATUS_STARTED.!==.$this->
91c40 73 74 61 74 75 73 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 status).{.return.false;.}..$this
91c60 2d 3e 75 70 64 61 74 65 53 74 61 74 75 73 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d ->updateStatus();..return.$this-
91c80 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 72 75 6e 6e 69 6e 67 27 5d 3b 0a >processInformation['running'];.
91ca0 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 53 74 61 72 74 65 }.......public.function.isStarte
91cc0 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 74 75 73 20 21 3d 20 73 65 d().{.return.$this->status.!=.se
91ce0 6c 66 3a 3a 53 54 41 54 55 53 5f 52 45 41 44 59 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 lf::STATUS_READY;.}.......public
91d00 20 66 75 6e 63 74 69 6f 6e 20 69 73 54 65 72 6d 69 6e 61 74 65 64 28 29 0a 7b 0a 24 74 68 69 73 .function.isTerminated().{.$this
91d20 2d 3e 75 70 64 61 74 65 53 74 61 74 75 73 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d ->updateStatus();..return.$this-
91d40 3e 73 74 61 74 75 73 20 3d 3d 20 73 65 6c 66 3a 3a 53 54 41 54 55 53 5f 54 45 52 4d 49 4e 41 54 >status.==.self::STATUS_TERMINAT
91d60 45 44 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 ED;.}.........public.function.ge
91d80 74 53 74 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 tStatus().{.$this->updateStatus(
91da0 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 0a 0a );..return.$this->status;.}.....
91dc0 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
91de0 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
91e00 6d 65 6f 75 74 4d 69 63 72 6f 20 3d 20 28 69 6e 74 29 20 24 74 69 6d 65 6f 75 74 2a 31 45 36 3b meoutMicro.=.(int).$timeout*1E6;
91e20 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 70 72 6f 63 5f .if.($this->isRunning()).{.proc_
91e40 74 65 72 6d 69 6e 61 74 65 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 29 3b 0a 24 74 69 6d 65 terminate($this->process);.$time
91e60 20 3d 20 30 3b 0a 77 68 69 6c 65 20 28 31 20 3d 3d 20 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 .=.0;.while.(1.==.$this->isRunni
91e80 6e 67 28 29 20 26 26 20 24 74 69 6d 65 20 3c 20 24 74 69 6d 65 6f 75 74 4d 69 63 72 6f 29 20 7b ng().&&.$time.<.$timeoutMicro).{
91ea0 0a 24 74 69 6d 65 20 2b 3d 20 31 30 30 30 3b 0a 75 73 6c 65 65 70 28 31 30 30 30 29 3b 0a 7d 0a .$time.+=.1000;.usleep(1000);.}.
91ec0 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 20 26 26 20 21 24 74 68 69 .if.($this->isRunning().&&.!$thi
91ee0 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 69 66 20 28 6e 75 s->isSigchildEnabled()).{.if.(nu
91f00 6c 6c 20 21 3d 3d 20 24 73 69 67 6e 61 6c 20 7c 7c 20 64 65 66 69 6e 65 64 28 27 53 49 47 4b 49 ll.!==.$signal.||.defined('SIGKI
91f20 4c 4c 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 73 69 67 6e 61 6c 28 24 73 69 67 6e 61 6c 20 3f 3a LL')).{.$this->signal($signal.?:
91f40 20 53 49 47 4b 49 4c 4c 29 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e .SIGKILL);.}.}..foreach.($this->
91f60 70 69 70 65 73 20 61 73 20 24 70 69 70 65 29 20 7b 0a 66 63 6c 6f 73 65 28 24 70 69 70 65 29 3b pipes.as.$pipe).{.fclose($pipe);
91f80 0a 7d 0a 24 74 68 69 73 2d 3e 70 69 70 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 65 78 69 .}.$this->pipes.=.array();..$exi
91fa0 74 63 6f 64 65 20 3d 20 70 72 6f 63 5f 63 6c 6f 73 65 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 tcode.=.proc_close($this->proces
91fc0 73 29 3b 0a 24 74 68 69 73 2d 3e 65 78 69 74 63 6f 64 65 20 3d 20 2d 31 20 3d 3d 3d 20 24 74 68 s);.$this->exitcode.=.-1.===.$th
91fe0 69 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 is->processInformation['exitcode
92000 27 5d 20 3f 20 24 65 78 69 74 63 6f 64 65 20 3a 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 '].?.$exitcode.:.$this->processI
92020 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 65 78 69 74 63 6f 64 65 27 5d 3b 0a 0a 69 66 20 28 64 65 66 nformation['exitcode'];..if.(def
92040 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 27 ined('PHP_WINDOWS_VERSION_BUILD'
92060 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 66 69 6c 65 48 61 6e 64 6c 65 73 )).{.foreach.($this->fileHandles
92080 20 61 73 20 24 66 69 6c 65 48 61 6e 64 6c 65 29 20 7b 0a 66 63 6c 6f 73 65 28 24 66 69 6c 65 48 .as.$fileHandle).{.fclose($fileH
920a0 61 6e 64 6c 65 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 66 69 6c 65 48 61 6e 64 6c 65 73 20 3d 20 61 andle);.}.$this->fileHandles.=.a
920c0 72 72 61 79 28 29 3b 0a 7d 0a 7d 0a 24 74 68 69 73 2d 3e 73 74 61 74 75 73 20 3d 20 73 65 6c 66 rray();.}.}.$this->status.=.self
920e0 3a 3a 53 54 41 54 55 53 5f 54 45 52 4d 49 4e 41 54 45 44 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 ::STATUS_TERMINATED;..return.$th
92100 69 73 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 is->exitcode;.}.......public.fun
92120 63 74 69 6f 6e 20 61 64 64 4f 75 74 70 75 74 28 24 6c 69 6e 65 29 0a 7b 0a 24 74 68 69 73 2d 3e ction.addOutput($line).{.$this->
92140 73 74 64 6f 75 74 20 2e 3d 20 24 6c 69 6e 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 stdout..=.$line;.}.......public.
92160 66 75 6e 63 74 69 6f 6e 20 61 64 64 45 72 72 6f 72 4f 75 74 70 75 74 28 24 6c 69 6e 65 29 0a 7b function.addErrorOutput($line).{
92180 0a 24 74 68 69 73 2d 3e 73 74 64 65 72 72 20 2e 3d 20 24 6c 69 6e 65 3b 0a 7d 0a 0a 0a 0a 0a 0a .$this->stderr..=.$line;.}......
921a0 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 69 6e 65 28 .public.function.getCommandLine(
921c0 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 65 3b 0a 7d ).{.return.$this->commandline;.}
921e0 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 6f 6d 6d .........public.function.setComm
92200 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 73 2d 3e 63 andLine($commandline).{.$this->c
92220 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 72 65 74 75 ommandline.=.$commandline;..retu
92240 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 6f rn.$this;.}.......public.functio
92260 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 73 2d 3e 74 n.getTimeout().{.return.$this->t
92280 69 6d 65 6f 75 74 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 imeout;.}.............public.fun
922a0 63 74 69 6f 6e 20 73 65 74 54 69 6d 65 6f 75 74 28 24 74 69 6d 65 6f 75 74 29 0a 7b 0a 69 66 20 ction.setTimeout($timeout).{.if.
922c0 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 69 6d 65 6f 75 74 29 20 7b 0a 24 74 68 69 73 2d 3e 74 69 6d (null.===.$timeout).{.$this->tim
922e0 65 6f 75 74 20 3d 20 6e 75 6c 6c 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 24 eout.=.null;..return.$this;.}..$
92300 74 69 6d 65 6f 75 74 20 3d 20 28 66 6c 6f 61 74 29 20 24 74 69 6d 65 6f 75 74 3b 0a 0a 69 66 20 timeout.=.(float).$timeout;..if.
92320 28 24 74 69 6d 65 6f 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 ($timeout.<.0).{.throw.new.Inval
92340 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 74 69 6d 65 6f 75 74 idArgumentException('The.timeout
92360 20 76 61 6c 75 65 20 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 .value.must.be.a.valid.positive.
92380 69 6e 74 65 67 65 72 20 6f 72 20 66 6c 6f 61 74 20 6e 75 6d 62 65 72 2e 27 29 3b 0a 7d 0a 0a 24 integer.or.float.number.');.}..$
923a0 74 68 69 73 2d 3e 74 69 6d 65 6f 75 74 20 3d 20 24 74 69 6d 65 6f 75 74 3b 0a 0a 72 65 74 75 72 this->timeout.=.$timeout;..retur
923c0 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 69 n.$this;.}.........public.functi
923e0 6f 6e 20 73 65 74 54 74 79 28 24 74 74 79 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 74 79 20 3d 20 28 on.setTty($tty).{.$this->tty.=.(
92400 42 6f 6f 6c 65 61 6e 29 20 24 74 74 79 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a Boolean).$tty;..return.$this;.}.
92420 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 28 29 0a 7b 0a ......public.function.isTty().{.
92440 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 70 75 62 6c 69 return.$this->tty;.}.......publi
92460 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 57 6f 72 6b 69 6e 67 44 69 72 65 63 74 6f 72 79 28 29 c.function.getWorkingDirectory()
92480 0a 7b 0a 0a 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 77 64 29 20 7b 0a .{...if.(null.===.$this->cwd).{.
924a0 0a 20 0a 20 72 65 74 75 72 6e 20 67 65 74 63 77 64 28 29 20 3f 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a ....return.getcwd().?:.null;.}..
924c0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 77 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 return.$this->cwd;.}.........pub
924e0 6c 69 63 20 66 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 lic.function.setWorkingDirectory
92500 28 24 63 77 64 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 ($cwd).{.$this->cwd.=.$cwd;..ret
92520 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
92540 6f 6e 20 67 65 74 45 6e 76 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 6e 76 3b on.getEnv().{.return.$this->env;
92560 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 45 6e .}.........public.function.setEn
92580 76 28 61 72 72 61 79 20 24 65 6e 76 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 6e 76 20 3d 20 24 65 6e v(array.$env).{.$this->env.=.$en
925a0 76 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 v;..return.$this;.}.......public
925c0 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 64 69 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 .function.getStdin().{.return.$t
925e0 68 69 73 2d 3e 73 74 64 69 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e his->stdin;.}.........public.fun
92600 63 74 69 6f 6e 20 73 65 74 53 74 64 69 6e 28 24 73 74 64 69 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e ction.setStdin($stdin).{.$this->
92620 73 74 64 69 6e 20 3d 20 24 73 74 64 69 6e 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d stdin.=.$stdin;..return.$this;.}
92640 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
92660 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;.}..
92680 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
926a0 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
926c0 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;.}.
926e0 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
92700 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
92720 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
92740 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.
92760 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($
92780 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
927a0 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 3d 20 28 42 6f 6f 6c 65 61 6e 29 20 24 65 6e 68 61 6e Compatibility.=.(Boolean).$enhan
927c0 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 70 75 62 6c 69 ce;..return.$this;.}.......publi
927e0 63 20 66 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 c.function.getEnhanceSigchildCom
92800 70 61 74 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 patibility().{.return.$this->enh
92820 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 3b 0a 7d 0a 0a 0a 0a anceSigchildCompatibility;.}....
92840 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 6e 68 61 .........public.function.setEnha
92860 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 24 65 6e 68 61 6e 63 nceSigchildCompatibility($enhanc
92880 65 29 0a 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 e).{.$this->enhanceSigchildCompa
928a0 74 69 62 69 6c 69 74 79 20 3d 20 28 42 6f 6f 6c 65 61 6e 29 20 24 65 6e 68 61 6e 63 65 3b 0a 0a tibility.=.(Boolean).$enhance;..
928c0 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 20 return.$this;.}..........public.
928e0 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 54 69 6d 65 6f 75 74 28 29 0a 7b 0a 69 66 20 28 30 20 function.checkTimeout().{.if.(0.
92900 3c 20 24 74 68 69 73 2d 3e 74 69 6d 65 6f 75 74 20 26 26 20 24 74 68 69 73 2d 3e 74 69 6d 65 6f <.$this->timeout.&&.$this->timeo
92920 75 74 20 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 73 74 ut.<.microtime(true).-.$this->st
92940 61 72 74 74 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 72 6f arttime).{.$this->stop(0);..thro
92960 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 70 72 6f 63 w.new.RuntimeException('The.proc
92980 65 73 73 20 74 69 6d 65 64 2d 6f 75 74 2e 27 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 ess.timed-out.');.}.}.......priv
929a0 61 74 65 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 0a 7b 0a ate.function.getDescriptors().{.
929c0 0a 20 0a 20 0a 20 69 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 ......if.(defined('PHP_WINDOWS_V
929e0 45 52 53 49 4f 4e 5f 42 55 49 4c 44 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 48 61 6e ERSION_BUILD')).{.$this->fileHan
92a00 64 6c 65 73 20 3d 20 61 72 72 61 79 28 0a 73 65 6c 66 3a 3a 53 54 44 4f 55 54 20 3d 3e 20 74 6d dles.=.array(.self::STDOUT.=>.tm
92a20 70 66 69 6c 65 28 29 2c 0a 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 74 68 69 73 2d pfile(),.);.if.(false.===.$this-
92a40 3e 66 69 6c 65 48 61 6e 64 6c 65 73 5b 73 65 6c 66 3a 3a 53 54 44 4f 55 54 5d 29 20 7b 0a 74 68 >fileHandles[self::STDOUT]).{.th
92a60 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 41 20 74 65 6d 70 row.new.RuntimeException('A.temp
92a80 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 64 20 74 orary.file.could.not.be.opened.t
92aa0 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 20 74 6f 2c 20 76 o.write.the.process.output.to,.v
92ac0 65 72 69 66 79 20 74 68 61 74 20 79 6f 75 72 20 54 45 4d 50 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 erify.that.your.TEMP.environment
92ae0 20 76 61 72 69 61 62 6c 65 20 69 73 20 77 72 69 74 61 62 6c 65 27 29 3b 0a 7d 0a 24 74 68 69 73 .variable.is.writable');.}.$this
92b00 2d 3e 72 65 61 64 42 79 74 65 73 20 3d 20 61 72 72 61 79 28 0a 73 65 6c 66 3a 3a 53 54 44 4f 55 ->readBytes.=.array(.self::STDOU
92b20 54 20 3d 3e 20 30 2c 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 61 72 72 61 79 28 27 T.=>.0,.);..return.array(array('
92b40 70 69 70 65 27 2c 20 27 72 27 29 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 48 61 6e 64 6c 65 73 5b pipe',.'r'),.$this->fileHandles[
92b60 73 65 6c 66 3a 3a 53 54 44 4f 55 54 5d 2c 20 61 72 72 61 79 28 27 70 69 70 65 27 2c 20 27 77 27 self::STDOUT],.array('pipe',.'w'
92b80 29 29 3b 0a 7d 20 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 74 74 79 29 20 7b 0a 24 64 65 73 63 72 ));.}...if.($this->tty).{.$descr
92ba0 69 70 74 6f 72 73 20 3d 20 61 72 72 61 79 28 0a 61 72 72 61 79 28 27 66 69 6c 65 27 2c 20 27 2f iptors.=.array(.array('file',.'/
92bc0 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 2f dev/tty',.'r'),.array('file',.'/
92be0 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 2f dev/tty',.'w'),.array('file',.'/
92c00 64 65 76 2f 74 74 79 27 2c 20 27 77 27 29 2c 0a 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 65 73 dev/tty',.'w'),.);.}.else.{.$des
92c20 63 72 69 70 74 6f 72 73 20 3d 20 61 72 72 61 79 28 0a 61 72 72 61 79 28 27 70 69 70 65 27 2c 20 criptors.=.array(.array('pipe',.
92c40 27 72 27 29 2c 20 0a 20 61 72 72 61 79 28 27 70 69 70 65 27 2c 20 27 77 27 29 2c 20 0a 20 61 72 'r'),...array('pipe',.'w'),...ar
92c60 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 69 66 20 28 24 74 ray('pipe',.'w'),...);.}..if.($t
92c80 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 74 his->enhanceSigchildCompatibilit
92ca0 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 29 y.&&.$this->isSigchildEnabled())
92cc0 20 7b 0a 0a 20 24 64 65 73 63 72 69 70 74 6f 72 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 .{...$descriptors.=.array_merge(
92ce0 24 64 65 73 63 72 69 70 74 6f 72 73 2c 20 61 72 72 61 79 28 61 72 72 61 79 28 27 70 69 70 65 27 $descriptors,.array(array('pipe'
92d00 2c 20 27 77 27 29 29 29 3b 0a 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 6c 69 6e 65 20 3d 20 ,.'w')));..$this->commandline.=.
92d20 27 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 33 3e 2f 64 65 76 '('.$this->commandline.').3>/dev
92d40 2f 6e 75 6c 6c 3b 20 63 6f 64 65 3d 24 3f 3b 20 65 63 68 6f 20 24 63 6f 64 65 20 3e 26 33 3b 20 /null;.code=$?;.echo.$code.>&3;.
92d60 65 78 69 74 20 24 63 6f 64 65 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 65 73 63 72 69 70 74 exit.$code';.}..return.$descript
92d80 6f 72 73 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 75 6e 63 ors;.}............protected.func
92da0 74 69 6f 6e 20 62 75 69 6c 64 43 61 6c 6c 62 61 63 6b 28 24 63 61 6c 6c 62 61 63 6b 29 0a 7b 0a tion.buildCallback($callback).{.
92dc0 24 74 68 61 74 20 3d 20 24 74 68 69 73 3b 0a 24 6f 75 74 20 3d 20 73 65 6c 66 3a 3a 4f 55 54 3b $that.=.$this;.$out.=.self::OUT;
92de0 0a 24 65 72 72 20 3d 20 73 65 6c 66 3a 3a 45 52 52 3b 0a 24 63 61 6c 6c 62 61 63 6b 20 3d 20 66 .$err.=.self::ERR;.$callback.=.f
92e00 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 74 68 61 unction.($type,.$data).use.($tha
92e20 74 2c 20 24 63 61 6c 6c 62 61 63 6b 2c 20 24 6f 75 74 2c 20 24 65 72 72 29 20 7b 0a 69 66 20 28 t,.$callback,.$out,.$err).{.if.(
92e40 24 6f 75 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 $out.==.$type).{.$that->addOutpu
92e60 74 28 24 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 t($data);.}.else.{.$that->addErr
92e80 6f 72 4f 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 orOutput($data);.}..if.(null.!==
92ea0 20 24 63 61 6c 6c 62 61 63 6b 29 20 7b 0a 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 63 61 .$callback).{.call_user_func($ca
92ec0 6c 6c 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 llback,.$type,.$data);.}.};..ret
92ee0 75 72 6e 20 24 63 61 6c 6c 62 61 63 6b 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 urn.$callback;.}.....protected.f
92f00 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 53 74 61 74 75 73 28 29 0a 7b 0a 69 66 20 28 73 65 6c unction.updateStatus().{.if.(sel
92f20 66 3a 3a 53 54 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 f::STATUS_STARTED.!==.$this->sta
92f40 74 75 73 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 tus).{.return;.}..$this->process
92f60 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 3d 20 70 72 6f 63 5f 67 65 74 5f 73 74 61 74 75 73 28 24 74 Information.=.proc_get_status($t
92f80 68 69 73 2d 3e 70 72 6f 63 65 73 73 29 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 70 72 6f 63 65 his->process);.if.(!$this->proce
92fa0 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 72 75 6e 6e 69 6e 67 27 5d 29 20 7b 0a 24 74 68 69 ssInformation['running']).{.$thi
92fc0 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 54 45 52 4d 49 4e 41 s->status.=.self::STATUS_TERMINA
92fe0 54 45 44 3b 0a 69 66 20 28 2d 31 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e TED;.if.(-1.!==.$this->processIn
93000 66 6f 72 6d 61 74 69 6f 6e 5b 27 65 78 69 74 63 6f 64 65 27 5d 29 20 7b 0a 24 74 68 69 73 2d 3e formation['exitcode']).{.$this->
93020 65 78 69 74 63 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 exitcode.=.$this->processInforma
93040 74 69 6f 6e 5b 27 65 78 69 74 63 6f 64 65 27 5d 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 tion['exitcode'];.}.}.}.....prot
93060 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 45 72 72 6f 72 4f 75 74 70 75 74 ected.function.updateErrorOutput
93080 28 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 69 70 65 73 5b 73 65 6c 66 ().{.if.(isset($this->pipes[self
930a0 3a 3a 53 54 44 45 52 52 5d 29 20 26 26 20 69 73 5f 72 65 73 6f 75 72 63 65 28 24 74 68 69 73 2d ::STDERR]).&&.is_resource($this-
930c0 3e 70 69 70 65 73 5b 73 65 6c 66 3a 3a 53 54 44 45 52 52 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e >pipes[self::STDERR])).{.$this->
930e0 61 64 64 45 72 72 6f 72 4f 75 74 70 75 74 28 73 74 72 65 61 6d 5f 67 65 74 5f 63 6f 6e 74 65 6e addErrorOutput(stream_get_conten
93100 74 73 28 24 74 68 69 73 2d 3e 70 69 70 65 73 5b 73 65 6c 66 3a 3a 53 54 44 45 52 52 5d 29 29 3b ts($this->pipes[self::STDERR]));
93120 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 75 70 64 61 .}.}.....protected.function.upda
93140 74 65 4f 75 74 70 75 74 28 29 0a 7b 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 50 48 50 5f 57 49 teOutput().{.if.(defined('PHP_WI
93160 4e 44 4f 57 53 5f 56 45 52 53 49 4f 4e 5f 42 55 49 4c 44 27 29 20 26 26 20 69 73 73 65 74 28 24 NDOWS_VERSION_BUILD').&&.isset($
93180 74 68 69 73 2d 3e 66 69 6c 65 48 61 6e 64 6c 65 73 5b 73 65 6c 66 3a 3a 53 54 44 4f 55 54 5d 29 this->fileHandles[self::STDOUT])
931a0 20 26 26 20 69 73 5f 72 65 73 6f 75 72 63 65 28 24 74 68 69 73 2d 3e 66 69 6c 65 48 61 6e 64 6c .&&.is_resource($this->fileHandl
931c0 65 73 5b 73 65 6c 66 3a 3a 53 54 44 4f 55 54 5d 29 29 20 7b 0a 66 73 65 65 6b 28 24 74 68 69 73 es[self::STDOUT])).{.fseek($this
931e0 2d 3e 66 69 6c 65 48 61 6e 64 6c 65 73 5b 73 65 6c 66 3a 3a 53 54 44 4f 55 54 5d 2c 20 24 74 68 ->fileHandles[self::STDOUT],.$th
93200 69 73 2d 3e 72 65 61 64 42 79 74 65 73 5b 73 65 6c 66 3a 3a 53 54 44 4f 55 54 5d 29 3b 0a 24 74 is->readBytes[self::STDOUT]);.$t
93220 68 69 73 2d 3e 61 64 64 4f 75 74 70 75 74 28 73 74 72 65 61 6d 5f 67 65 74 5f 63 6f 6e 74 65 6e his->addOutput(stream_get_conten
93240 74 73 28 24 74 68 69 73 2d 3e 66 69 6c 65 48 61 6e 64 6c 65 73 5b 73 65 6c 66 3a 3a 53 54 44 4f ts($this->fileHandles[self::STDO
93260 55 54 5d 29 29 3b 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 69 UT]));.}.elseif.(isset($this->pi
93280 70 65 73 5b 73 65 6c 66 3a 3a 53 54 44 4f 55 54 5d 29 20 26 26 20 69 73 5f 72 65 73 6f 75 72 63 pes[self::STDOUT]).&&.is_resourc
932a0 65 28 24 74 68 69 73 2d 3e 70 69 70 65 73 5b 73 65 6c 66 3a 3a 53 54 44 4f 55 54 5d 29 29 20 7b e($this->pipes[self::STDOUT])).{
932c0 0a 24 74 68 69 73 2d 3e 61 64 64 4f 75 74 70 75 74 28 73 74 72 65 61 6d 5f 67 65 74 5f 63 6f 6e .$this->addOutput(stream_get_con
932e0 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 70 69 70 65 73 5b 73 65 6c 66 3a 3a 53 54 44 4f 55 54 5d tents($this->pipes[self::STDOUT]
93300 29 29 3b 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 ));.}.}.......protected.function
93320 20 69 73 53 69 67 63 68 69 6c 64 45 6e 61 62 6c 65 64 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 .isSigchildEnabled().{.if.(null.
93340 21 3d 3d 20 73 65 6c 66 3a 3a 24 73 69 67 63 68 69 6c 64 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 !==.self::$sigchild).{.return.se
93360 6c 66 3a 3a 24 73 69 67 63 68 69 6c 64 3b 0a 7d 0a 0a 6f 62 5f 73 74 61 72 74 28 29 3b 0a 70 68 lf::$sigchild;.}..ob_start();.ph
93380 70 69 6e 66 6f 28 49 4e 46 4f 5f 47 45 4e 45 52 41 4c 29 3b 0a 0a 72 65 74 75 72 6e 20 73 65 6c pinfo(INFO_GENERAL);..return.sel
933a0 66 3a 3a 24 73 69 67 63 68 69 6c 64 20 3d 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 f::$sigchild.=.false.!==.strpos(
933c0 6f 62 5f 67 65 74 5f 63 6c 65 61 6e 28 29 2c 20 27 2d 2d 65 6e 61 62 6c 65 2d 73 69 67 63 68 69 ob_get_clean(),.'--enable-sigchi
933e0 6c 64 27 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 ld');.}........private.function.
93400 70 72 6f 63 65 73 73 46 69 6c 65 48 61 6e 64 6c 65 73 28 24 63 61 6c 6c 62 61 63 6b 2c 20 24 63 processFileHandles($callback,.$c
93420 6c 6f 73 65 45 6d 70 74 79 48 61 6e 64 6c 65 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 66 68 20 loseEmptyHandles.=.false).{.$fh.
93440 3d 20 24 74 68 69 73 2d 3e 66 69 6c 65 48 61 6e 64 6c 65 73 3b 0a 66 6f 72 65 61 63 68 20 28 24 =.$this->fileHandles;.foreach.($
93460 66 68 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 66 69 6c 65 48 61 6e 64 6c 65 29 20 7b 0a 66 73 fh.as.$type.=>.$fileHandle).{.fs
93480 65 65 6b 28 24 66 69 6c 65 48 61 6e 64 6c 65 2c 20 24 74 68 69 73 2d 3e 72 65 61 64 42 79 74 65 eek($fileHandle,.$this->readByte
934a0 73 5b 24 74 79 70 65 5d 29 3b 0a 24 64 61 74 61 20 3d 20 66 72 65 61 64 28 24 66 69 6c 65 48 61 s[$type]);.$data.=.fread($fileHa
934c0 6e 64 6c 65 2c 20 38 31 39 32 29 3b 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 64 61 74 61 29 20 3e ndle,.8192);.if.(strlen($data).>
934e0 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 61 64 42 79 74 65 73 5b 24 74 79 70 65 5d 20 2b 3d .0).{.$this->readBytes[$type].+=
93500 20 73 74 72 6c 65 6e 28 24 64 61 74 61 29 3b 0a 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 .strlen($data);.call_user_func($
93520 63 61 6c 6c 62 61 63 6b 2c 20 24 74 79 70 65 20 3d 3d 20 31 20 3f 20 73 65 6c 66 3a 3a 4f 55 54 callback,.$type.==.1.?.self::OUT
93540 20 3a 20 73 65 6c 66 3a 3a 45 52 52 2c 20 24 64 61 74 61 29 3b 0a 7d 0a 69 66 20 28 66 61 6c 73 .:.self::ERR,.$data);.}.if.(fals
93560 65 20 3d 3d 3d 20 24 64 61 74 61 20 7c 7c 20 28 24 63 6c 6f 73 65 45 6d 70 74 79 48 61 6e 64 6c e.===.$data.||.($closeEmptyHandl
93580 65 73 20 26 26 20 27 27 20 3d 3d 3d 20 24 64 61 74 61 20 26 26 20 66 65 6f 66 28 24 66 69 6c 65 es.&&.''.===.$data.&&.feof($file
935a0 48 61 6e 64 6c 65 29 29 29 20 7b 0a 66 63 6c 6f 73 65 28 24 66 69 6c 65 48 61 6e 64 6c 65 29 3b Handle))).{.fclose($fileHandle);
935c0 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 5d .unset($this->fileHandles[$type]
935e0 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 0a 6e 61 6d 65 73 );.}.}.}.}.<?php...........names
93600 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 3b 0a pace.Symfony\Component\Process;.
93620 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 45 .use.Symfony\Component\Process\E
93640 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 6f xception\InvalidArgumentExceptio
93660 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 6f 63 65 73 73 n;.use.Symfony\Component\Process
93680 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 0a 0a 0a 0a \Exception\LogicException;......
936a0 0a 63 6c 61 73 73 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 .class.ProcessBuilder.{.private.
936c0 24 61 72 67 75 6d 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 $arguments;.private.$cwd;.privat
936e0 65 20 24 65 6e 76 3b 0a 70 72 69 76 61 74 65 20 24 73 74 64 69 6e 3b 0a 70 72 69 76 61 74 65 20 e.$env;.private.$stdin;.private.
93700 24 74 69 6d 65 6f 75 74 3b 0a 70 72 69 76 61 74 65 20 24 6f 70 74 69 6f 6e 73 3b 0a 70 72 69 76 $timeout;.private.$options;.priv
93720 61 74 65 20 24 69 6e 68 65 72 69 74 45 6e 76 3b 0a 70 72 69 76 61 74 65 20 24 70 72 65 66 69 78 ate.$inheritEnv;.private.$prefix
93740 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 61 ;..public.function.__construct(a
93760 72 72 61 79 20 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 rray.$arguments.=.array()).{.$th
93780 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 24 74 68 is->arguments.=.$arguments;..$th
937a0 69 73 2d 3e 74 69 6d 65 6f 75 74 20 3d 20 36 30 3b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 is->timeout.=.60;.$this->options
937c0 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 65 6e 76 20 3d 20 61 72 72 61 79 28 29 .=.array();.$this->env.=.array()
937e0 3b 0a 24 74 68 69 73 2d 3e 69 6e 68 65 72 69 74 45 6e 76 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 70 ;.$this->inheritEnv.=.true;.}..p
93800 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 61 72 72 ublic.static.function.create(arr
93820 61 79 20 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 ay.$arguments.=.array()).{.retur
93840 6e 20 6e 65 77 20 73 74 61 74 69 63 28 24 61 72 67 75 6d 65 6e 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a n.new.static($arguments);.}.....
93860 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 28 24 61 72 67 75 6d 65 6e ....public.function.add($argumen
93880 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 5b 5d 20 3d 20 24 61 72 67 75 6d t).{.$this->arguments[].=.$argum
938a0 65 6e 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 0a ent;..return.$this;.}...........
938c0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 66 69 78 28 24 70 72 65 66 69 public.function.setPrefix($prefi
938e0 78 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 20 3d 20 24 70 72 65 66 69 78 3b 0a 0a 72 x).{.$this->prefix.=.$prefix;..r
93900 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
93920 74 69 6f 6e 20 73 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 tion.setArguments(array.$argumen
93940 74 73 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 ts).{.$this->arguments.=.$argume
93960 6e 74 73 3b 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 nts;..return.$this;.}..public.fu
93980 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 29 nction.setWorkingDirectory($cwd)
939a0 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 74 .{.$this->cwd.=.$cwd;..return.$t
939c0 68 69 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 68 65 72 69 74 45 his;.}..public.function.inheritE
939e0 6e 76 69 72 6f 6e 6d 65 6e 74 56 61 72 69 61 62 6c 65 73 28 24 69 6e 68 65 72 69 74 45 6e 76 20 nvironmentVariables($inheritEnv.
93a00 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 68 65 72 69 74 45 6e 76 20 3d 20 24 69 =.true).{.$this->inheritEnv.=.$i
93a20 6e 68 65 72 69 74 45 6e 76 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 70 75 62 nheritEnv;..return.$this;.}..pub
93a40 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 6e 76 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 lic.function.setEnv($name,.$valu
93a60 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 6e 76 5b 24 6e 61 6d 65 5d 20 3d 20 24 76 61 6c 75 65 3b e).{.$this->env[$name].=.$value;
93a80 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
93aa0 6f 6e 20 73 65 74 49 6e 70 75 74 28 24 73 74 64 69 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 64 on.setInput($stdin).{.$this->std
93ac0 69 6e 20 3d 20 24 73 74 64 69 6e 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a in.=.$stdin;..return.$this;.}...
93ae0 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 54 69 6d ..........public.function.setTim
93b00 65 6f 75 74 28 24 74 69 6d 65 6f 75 74 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 eout($timeout).{.if.(null.===.$t
93b20 69 6d 65 6f 75 74 29 20 7b 0a 24 74 68 69 73 2d 3e 74 69 6d 65 6f 75 74 20 3d 20 6e 75 6c 6c 3b imeout).{.$this->timeout.=.null;
93b40 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 24 74 69 6d 65 6f 75 74 20 3d 20 28 66 ..return.$this;.}..$timeout.=.(f
93b60 6c 6f 61 74 29 20 24 74 69 6d 65 6f 75 74 3b 0a 0a 69 66 20 28 24 74 69 6d 65 6f 75 74 20 3c 20 loat).$timeout;..if.($timeout.<.
93b80 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 65 6e 74 45 78 0).{.throw.new.InvalidArgumentEx
93ba0 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 6d 75 73 74 20 ception('The.timeout.value.must.
93bc0 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 20 6f 72 20 66 be.a.valid.positive.integer.or.f
93be0 6c 6f 61 74 20 6e 75 6d 62 65 72 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 74 69 6d 65 6f 75 loat.number.');.}..$this->timeou
93c00 74 20 3d 20 24 74 69 6d 65 6f 75 74 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a t.=.$timeout;..return.$this;.}..
93c20 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 24 6e 61 6d 65 2c public.function.setOption($name,
93c40 20 24 76 61 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 .$value).{.$this->options[$name]
93c60 20 3d 20 24 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 70 75 62 .=.$value;..return.$this;.}..pub
93c80 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 69 66 20 28 lic.function.getProcess().{.if.(
93ca0 21 24 74 68 69 73 2d 3e 70 72 65 66 69 78 20 26 26 20 21 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e !$this->prefix.&&.!count($this->
93cc0 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 63 45 78 63 arguments)).{.throw.new.LogicExc
93ce0 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 6e 64 20 61 eption('You.must.add().command.a
93d00 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 72 6f 63 65 rguments.before.calling.getProce
93d20 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 2d 3e 6f 70 ss().');.}..$options.=.$this->op
93d40 74 69 6f 6e 73 3b 0a 0a 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 70 72 65 66 tions;..$arguments.=.$this->pref
93d60 69 78 20 3f 20 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 28 24 74 68 69 73 2d 3e 70 72 ix.?.array_merge(array($this->pr
93d80 65 66 69 78 29 2c 20 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 efix),.$this->arguments).:.$this
93da0 2d 3e 61 72 67 75 6d 65 6e 74 73 3b 0a 24 73 63 72 69 70 74 20 3d 20 69 6d 70 6c 6f 64 65 28 27 ->arguments;.$script.=.implode('
93dc0 20 27 2c 20 61 72 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 .',.array_map(array(__NAMESPACE_
93de0 5f 2e 27 5c 5c 50 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 _.'\\ProcessUtils',.'escapeArgum
93e00 65 6e 74 27 29 2c 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 ent'),.$arguments));..if.($this-
93e20 3e 69 6e 68 65 72 69 74 45 6e 76 29 20 7b 0a 24 65 6e 76 20 3d 20 24 74 68 69 73 2d 3e 65 6e 76 >inheritEnv).{.$env.=.$this->env
93e40 20 3f 20 24 74 68 69 73 2d 3e 65 6e 76 20 2b 20 24 5f 45 4e 56 20 3a 20 6e 75 6c 6c 3b 0a 7d 20 .?.$this->env.+.$_ENV.:.null;.}.
93e60 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 72 65 74 else.{.$env.=.$this->env;.}..ret
93e80 75 72 6e 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 69 73 2d 3e urn.new.Process($script,.$this->
93ea0 63 77 64 2c 20 24 65 6e 76 2c 20 24 74 68 69 73 2d 3e 73 74 64 69 6e 2c 20 24 74 68 69 73 2d 3e cwd,.$env,.$this->stdin,.$this->
93ec0 74 69 6d 65 6f 75 74 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a timeout,.$options);.}.}.<?php...
93ee0 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
93f00 65 6e 74 5c 50 72 6f 63 65 73 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 63 65 ent\Process;.........class.Proce
93f20 73 73 55 74 69 6c 73 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 5f 5f ssUtils.{....private.function.__
93f40 63 6f 6e 73 74 72 75 63 74 28 29 0a 7b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 construct().{.}.........public.s
93f60 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 73 63 61 70 65 41 72 67 75 6d 65 6e 74 28 24 61 tatic.function.escapeArgument($a
93f80 72 67 75 6d 65 6e 74 29 0a 7b 0a 0a 20 0a 20 0a 20 0a 20 69 66 20 28 64 65 66 69 6e 65 64 28 27 rgument).{.........if.(defined('
93fa0 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 27 29 29 20 7b 0a 24 PHP_WINDOWS_VERSION_BUILD')).{.$
93fc0 65 73 63 61 70 65 64 41 72 67 75 6d 65 6e 74 20 3d 20 27 27 3b 0a 66 6f 72 65 61 63 68 28 70 72 escapedArgument.=.'';.foreach(pr
93fe0 65 67 5f 73 70 6c 69 74 28 27 2f 28 5b 25 22 5d 29 2f 69 27 2c 20 24 61 72 67 75 6d 65 6e 74 2c eg_split('/([%"])/i',.$argument,
94000 20 2d 31 2c 20 50 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 .-1,.PREG_SPLIT_NO_EMPTY.|.PREG_
94020 53 50 4c 49 54 5f 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 SPLIT_DELIM_CAPTURE).as.$part).{
94040 0a 69 66 20 28 27 22 27 20 3d 3d 20 24 70 61 72 74 29 20 7b 0a 24 65 73 63 61 70 65 64 41 72 67 .if.('"'.==.$part).{.$escapedArg
94060 75 6d 65 6e 74 20 2e 3d 20 27 5c 5c 22 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 25 27 20 3d 3d ument..=.'\\"';.}.elseif.('%'.==
94080 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 20 27 5e .$part).{.$escapedArgument..=.'^
940a0 25 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 65 73 63 61 70 65 64 41 72 67 75 6d 65 6e 74 20 2e 3d %';.}.else.{.$escapedArgument..=
940c0 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 70 61 72 74 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 .escapeshellarg($part);.}.}..ret
940e0 75 72 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 urn.$escapedArgument;.}..return.
94100 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 61 72 67 75 6d 65 6e 74 29 3b 0a 7d 0a 7d 0a 3c escapeshellarg($argument);.}.}.<
94120 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
94140 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;...
94160 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
94180 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
941a0 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
941c0 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e on;.......class.RuntimeException
941e0 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 6e 20 69 6d 70 6c 65 .extends.\RuntimeException.imple
94200 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 0a 3c 3f 70 ments.ExceptionInterface.{.}.<?p
94220 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
94240 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 0a 0a omponent\Process\Exception;.....
94260 0a 0a 63 6c 61 73 73 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c ..class.LogicException.extends.\
94280 4c 6f 67 69 63 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 LogicException.implements.Except
942a0 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 0a ionInterface.{.}.<?php..........
942c0 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 50 72 6f .namespace.Symfony\Component\Pro
942e0 63 65 73 73 5c 45 78 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 cess\Exception;..use.Symfony\Com
94300 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 0a 0a 0a 63 6c ponent\Process\Process;.......cl
94320 61 73 73 20 50 72 6f 63 65 73 73 46 61 69 6c 65 64 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e ass.ProcessFailedException.exten
94340 64 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 20 24 70 ds.RuntimeException.{.private.$p
94360 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 73 74 rocess;..public.function.__const
94380 72 75 63 74 28 50 72 6f 63 65 73 73 20 24 70 72 6f 63 65 73 73 29 0a 7b 0a 69 66 20 28 24 70 72 ruct(Process.$process).{.if.($pr
943a0 6f 63 65 73 73 2d 3e 69 73 53 75 63 63 65 73 73 66 75 6c 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e ocess->isSuccessful()).{.throw.n
943c0 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 45 78 70 ew.InvalidArgumentException('Exp
943e0 65 63 74 65 64 20 61 20 66 61 69 6c 65 64 20 70 72 6f 63 65 73 73 2c 20 62 75 74 20 74 68 65 20 ected.a.failed.process,.but.the.
94400 67 69 76 65 6e 20 70 72 6f 63 65 73 73 20 77 61 73 20 73 75 63 63 65 73 73 66 75 6c 2e 27 29 3b given.process.was.successful.');
94420 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 0a 73 70 72 69 6e 74 66 .}..parent::__construct(.sprintf
94440 28 0a 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 22 5c 6e (.'The.command."%s".failed.'."\n
94460 45 78 69 74 20 43 6f 64 65 3a 20 25 73 28 25 73 29 5c 6e 5c 6e 4f 75 74 70 75 74 3a 5c 6e 3d 3d Exit.Code:.%s(%s)\n\nOutput:\n==
94480 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 5c 6e 25 73 5c 6e 5c 6e 45 72 72 6f 72 20 4f 75 74 70 ==============\n%s\n\nError.Outp
944a0 75 74 3a 5c 6e 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 5c 6e 25 73 22 2c 0a 24 70 72 6f ut:\n================\n%s",.$pro
944c0 63 65 73 73 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 4c 69 6e 65 28 29 2c 0a 24 70 72 6f 63 65 73 73 cess->getCommandLine(),.$process
944e0 2d 3e 67 65 74 45 78 69 74 43 6f 64 65 28 29 2c 0a 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 78 ->getExitCode(),.$process->getEx
94500 69 74 43 6f 64 65 54 65 78 74 28 29 2c 0a 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 4f 75 74 70 75 itCodeText(),.$process->getOutpu
94520 74 28 29 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 t(),.$process->getErrorOutput().
94540 29 0a 29 3b 0a 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 ).);..$this->process.=.$process;
94560 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 73 73 28 29 .}..public.function.getProcess()
94580 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 7d 0a 3c 3f .{.return.$this->process;.}.}.<?
945a0 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\
945c0 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 0a Component\Process\Exception;....
945e0 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 78 63 65 70 74 69 6f ...class.InvalidArgumentExceptio
94600 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 63 65 70 74 n.extends.\InvalidArgumentExcept
94620 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
94640 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 61 63 65 20 e.{.}.<?php...........namespace.
94660 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 0a 0a 0a 0a Symfony\Component\Process;......
94680 0a 0a 63 6c 61 73 73 20 50 68 70 45 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 0a 7b 0a 70 72 ..class.PhpExecutableFinder.{.pr
946a0 69 76 61 74 65 20 24 65 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 3b 0a 0a 70 75 62 6c 69 63 ivate.$executableFinder;..public
946c0 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 24 74 68 69 73 2d .function.__construct().{.$this-
946e0 3e 65 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 20 3d 20 6e 65 77 20 45 78 65 63 75 74 61 62 >executableFinder.=.new.Executab
94700 6c 65 46 69 6e 64 65 72 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 leFinder();.}.......public.funct
94720 69 6f 6e 20 66 69 6e 64 28 29 0a 7b 0a 0a 20 69 66 20 28 64 65 66 69 6e 65 64 28 27 50 48 50 5f ion.find().{...if.(defined('PHP_
94740 42 49 4e 41 52 59 27 29 20 26 26 20 50 48 50 5f 42 49 4e 41 52 59 20 26 26 20 28 27 63 6c 69 27 BINARY').&&.PHP_BINARY.&&.('cli'
94760 20 3d 3d 3d 20 50 48 50 5f 53 41 50 49 29 29 20 7b 0a 72 65 74 75 72 6e 20 50 48 50 5f 42 49 4e .===.PHP_SAPI)).{.return.PHP_BIN
94780 41 52 59 3b 0a 7d 0a 0a 69 66 20 28 24 70 68 70 20 3d 20 67 65 74 65 6e 76 28 27 50 48 50 5f 50 ARY;.}..if.($php.=.getenv('PHP_P
947a0 41 54 48 27 29 29 20 7b 0a 69 66 20 28 21 69 73 5f 65 78 65 63 75 74 61 62 6c 65 28 24 70 68 70 ATH')).{.if.(!is_executable($php
947c0 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 24 70 68 )).{.return.false;.}..return.$ph
947e0 70 3b 0a 7d 0a 0a 69 66 20 28 24 70 68 70 20 3d 20 67 65 74 65 6e 76 28 27 50 48 50 5f 50 45 41 p;.}..if.($php.=.getenv('PHP_PEA
94800 52 5f 50 48 50 5f 42 49 4e 27 29 29 20 7b 0a 69 66 20 28 69 73 5f 65 78 65 63 75 74 61 62 6c 65 R_PHP_BIN')).{.if.(is_executable
94820 28 24 70 68 70 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 68 70 3b 0a 7d 0a 7d 0a 0a 24 64 69 72 ($php)).{.return.$php;.}.}..$dir
94840 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 64 65 66 69 6e s.=.array(PHP_BINDIR);.if.(defin
94860 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 27 29 29 ed('PHP_WINDOWS_VERSION_BUILD'))
94880 20 7b 0a 24 64 69 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 .{.$dirs[].=.'C:\xampp\php\\';.}
948a0 0a 0a 72 65 74 75 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 ..return.$this->executableFinder
948c0 2d 3e 66 69 6e 64 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 7d ->find('php',.false,.$dirs);.}.}
948e0 0a 3c 3f 70 68 70 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
94900 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 59 61 6d 6c 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 y\Component\Yaml;..use.Symfony\C
94920 6f 6d 70 6f 6e 65 6e 74 5c 59 61 6d 6c 5c 45 78 63 65 70 74 69 6f 6e 5c 50 61 72 73 65 45 78 63 omponent\Yaml\Exception\ParseExc
94940 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 61 72 73 65 72 0a 7b 0a 70 72 69 eption;.......class.Parser.{.pri
94960 76 61 74 65 20 24 6f 66 66 73 65 74 20 3d 20 30 3b 0a 70 72 69 76 61 74 65 20 24 6c 69 6e 65 73 vate.$offset.=.0;.private.$lines
94980 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 63 75 72 72 65 6e 74 4c 69 6e 65 .=.array();.private.$currentLine
949a0 4e 62 20 3d 20 2d 31 3b 0a 70 72 69 76 61 74 65 20 24 63 75 72 72 65 6e 74 4c 69 6e 65 20 3d 20 Nb.=.-1;.private.$currentLine.=.
949c0 27 27 3b 0a 70 72 69 76 61 74 65 20 24 72 65 66 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a '';.private.$refs.=.array();....
949e0 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($
94a00 6f 66 66 73 65 74 20 3d 20 30 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 66 66 73 65 74 20 3d 20 24 6f offset.=.0).{.$this->offset.=.$o
94a20 66 66 73 65 74 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 ffset;.}.............public.func
94a40 74 69 6f 6e 20 70 61 72 73 65 28 24 76 61 6c 75 65 2c 20 24 65 78 63 65 70 74 69 6f 6e 4f 6e 49 tion.parse($value,.$exceptionOnI
94a60 6e 76 61 6c 69 64 54 79 70 65 20 3d 20 66 61 6c 73 65 2c 20 24 6f 62 6a 65 63 74 53 75 70 70 6f nvalidType.=.false,.$objectSuppo
94a80 72 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4c 69 6e 65 rt.=.false).{.$this->currentLine
94aa0 4e 62 20 3d 20 2d 31 3b 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4c 69 6e 65 20 3d 20 27 27 Nb.=.-1;.$this->currentLine.=.''
94ac0 3b 0a 24 74 68 69 73 2d 3e 6c 69 6e 65 73 20 3d 20 65 78 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 24 ;.$this->lines.=.explode("\n",.$
94ae0 74 68 69 73 2d 3e 63 6c 65 61 6e 75 70 28 24 76 61 6c 75 65 29 29 3b 0a 0a 69 66 20 28 66 75 6e this->cleanup($value));..if.(fun
94b00 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 6d 62 5f 64 65 74 65 63 74 5f 65 6e 63 6f 64 69 6e 67 ction_exists('mb_detect_encoding
94b20 27 29 20 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 6d 62 5f 64 65 74 65 63 74 5f 65 6e 63 6f 64 69 ').&&.false.===.mb_detect_encodi
94b40 6e 67 28 24 76 61 6c 75 65 2c 20 27 55 54 46 2d 38 27 2c 20 74 72 75 65 29 29 20 7b 0a 74 68 72 ng($value,.'UTF-8',.true)).{.thr
94b60 6f 77 20 6e 65 77 20 50 61 72 73 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 59 41 4d 4c 20 ow.new.ParseException('The.YAML.
94b80 76 61 6c 75 65 20 64 6f 65 73 20 6e 6f 74 20 61 70 70 65 61 72 20 74 6f 20 62 65 20 76 61 6c 69 value.does.not.appear.to.be.vali
94ba0 64 20 55 54 46 2d 38 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 d.UTF-8.');.}..if.(function_exis
94bc0 74 73 28 27 6d 62 5f 69 6e 74 65 72 6e 61 6c 5f 65 6e 63 6f 64 69 6e 67 27 29 20 26 26 20 28 28 ts('mb_internal_encoding').&&.((
94be0 69 6e 74 29 20 69 6e 69 5f 67 65 74 28 27 6d 62 73 74 72 69 6e 67 2e 66 75 6e 63 5f 6f 76 65 72 int).ini_get('mbstring.func_over
94c00 6c 6f 61 64 27 29 29 20 26 20 32 29 20 7b 0a 24 6d 62 45 6e 63 6f 64 69 6e 67 20 3d 20 6d 62 5f load')).&.2).{.$mbEncoding.=.mb_
94c20 69 6e 74 65 72 6e 61 6c 5f 65 6e 63 6f 64 69 6e 67 28 29 3b 0a 6d 62 5f 69 6e 74 65 72 6e 61 6c internal_encoding();.mb_internal
94c40 5f 65 6e 63 6f 64 69 6e 67 28 27 55 54 46 2d 38 27 29 3b 0a 7d 0a 0a 24 64 61 74 61 20 3d 20 61 _encoding('UTF-8');.}..$data.=.a
94c60 72 72 61 79 28 29 3b 0a 24 63 6f 6e 74 65 78 74 20 3d 20 6e 75 6c 6c 3b 0a 77 68 69 6c 65 20 28 rray();.$context.=.null;.while.(
94c80 24 74 68 69 73 2d 3e 6d 6f 76 65 54 6f 4e 65 78 74 4c 69 6e 65 28 29 29 20 7b 0a 69 66 20 28 24 $this->moveToNextLine()).{.if.($
94ca0 74 68 69 73 2d 3e 69 73 43 75 72 72 65 6e 74 4c 69 6e 65 45 6d 70 74 79 28 29 29 20 7b 0a 63 6f this->isCurrentLineEmpty()).{.co
94cc0 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 22 5c 74 22 20 3d 3d 3d 20 24 74 68 69 73 2d ntinue;.}....if.("\t".===.$this-
94ce0 3e 63 75 72 72 65 6e 74 4c 69 6e 65 5b 30 5d 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 50 61 72 >currentLine[0]).{.throw.new.Par
94d00 73 65 45 78 63 65 70 74 69 6f 6e 28 27 41 20 59 41 4d 4c 20 66 69 6c 65 20 63 61 6e 6e 6f 74 20 seException('A.YAML.file.cannot.
94d20 63 6f 6e 74 61 69 6e 20 74 61 62 73 20 61 73 20 69 6e 64 65 6e 74 61 74 69 6f 6e 2e 27 2c 20 24 contain.tabs.as.indentation.',.$
94d40 74 68 69 73 2d 3e 67 65 74 52 65 61 6c 43 75 72 72 65 6e 74 4c 69 6e 65 4e 62 28 29 20 2b 20 31 this->getRealCurrentLineNb().+.1
94d60 2c 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4c 69 6e 65 29 3b 0a 7d 0a 0a 24 69 73 52 65 66 ,.$this->currentLine);.}..$isRef
94d80 20 3d 20 24 69 73 49 6e 50 6c 61 63 65 20 3d 20 24 69 73 50 72 6f 63 65 73 73 65 64 20 3d 20 66 .=.$isInPlace.=.$isProcessed.=.f
94da0 61 6c 73 65 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e 5c 2d 28 28 3f 50 3c 6c alse;.if.(preg_match('#^\-((?P<l
94dc0 65 61 64 73 70 61 63 65 73 3e 5c 73 2b 29 28 3f 50 3c 76 61 6c 75 65 3e 2e 2b 3f 29 29 3f 5c 73 eadspaces>\s+)(?P<value>.+?))?\s
94de0 2a 24 23 75 27 2c 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4c 69 6e 65 2c 20 24 76 61 6c 75 *$#u',.$this->currentLine,.$valu
94e00 65 73 29 29 20 7b 0a 69 66 20 28 24 63 6f 6e 74 65 78 74 20 26 26 20 27 6d 61 70 70 69 6e 67 27 es)).{.if.($context.&&.'mapping'
94e20 20 3d 3d 20 24 63 6f 6e 74 65 78 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 50 61 72 73 65 45 .==.$context).{.throw.new.ParseE
94e40 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 63 61 6e 6e 6f 74 20 64 65 66 69 6e 65 20 61 20 73 65 xception('You.cannot.define.a.se
94e60 71 75 65 6e 63 65 20 69 74 65 6d 20 77 68 65 6e 20 69 6e 20 61 20 6d 61 70 70 69 6e 67 27 29 3b quence.item.when.in.a.mapping');
94e80 0a 7d 0a 24 63 6f 6e 74 65 78 74 20 3d 20 27 73 65 71 75 65 6e 63 65 27 3b 0a 0a 69 66 20 28 69 .}.$context.=.'sequence';..if.(i
94ea0 73 73 65 74 28 24 76 61 6c 75 65 73 5b 27 76 61 6c 75 65 27 5d 29 20 26 26 20 70 72 65 67 5f 6d sset($values['value']).&&.preg_m
94ec0 61 74 63 68 28 27 23 5e 26 28 3f 50 3c 72 65 66 3e 5b 5e 20 5d 2b 29 20 2a 28 3f 50 3c 76 61 6c atch('#^&(?P<ref>[^.]+).*(?P<val
94ee0 75 65 3e 2e 2a 29 23 75 27 2c 20 24 76 61 6c 75 65 73 5b 27 76 61 6c 75 65 27 5d 2c 20 24 6d 61 ue>.*)#u',.$values['value'],.$ma
94f00 74 63 68 65 73 29 29 20 7b 0a 24 69 73 52 65 66 20 3d 20 24 6d 61 74 63 68 65 73 5b 27 72 65 66 tches)).{.$isRef.=.$matches['ref
94f20 27 5d 3b 0a 24 76 61 6c 75 65 73 5b 27 76 61 6c 75 65 27 5d 20 3d 20 24 6d 61 74 63 68 65 73 5b '];.$values['value'].=.$matches[
94f40 27 76 61 6c 75 65 27 5d 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 76 61 6c 75 65 'value'];.}....if.(!isset($value
94f60 73 5b 27 76 61 6c 75 65 27 5d 29 20 7c 7c 20 27 27 20 3d 3d 20 74 72 69 6d 28 24 76 61 6c 75 65 s['value']).||.''.==.trim($value
94f80 73 5b 27 76 61 6c 75 65 27 5d 2c 20 27 20 27 29 20 7c 7c 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 s['value'],.'.').||.0.===.strpos
94fa0 28 6c 74 72 69 6d 28 24 76 61 6c 75 65 73 5b 27 76 61 6c 75 65 27 5d 2c 20 27 20 27 29 2c 20 27 (ltrim($values['value'],.'.'),.'
94fc0 23 27 29 29 20 7b 0a 24 63 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 52 65 61 6c 43 75 72 72 65 6e #')).{.$c.=.$this->getRealCurren
94fe0 74 4c 69 6e 65 4e 62 28 29 20 2b 20 31 3b 0a 24 70 61 72 73 65 72 20 3d 20 6e 65 77 20 50 61 72 tLineNb().+.1;.$parser.=.new.Par
95000 73 65 72 28 24 63 29 3b 0a 24 70 61 72 73 65 72 2d 3e 72 65 66 73 20 3d 26 20 24 74 68 69 73 2d ser($c);.$parser->refs.=&.$this-
95020 3e 72 65 66 73 3b 0a 24 64 61 74 61 5b 5d 20 3d 20 24 70 61 72 73 65 72 2d 3e 70 61 72 73 65 28 >refs;.$data[].=.$parser->parse(
95040 24 74 68 69 73 2d 3e 67 65 74 4e 65 78 74 45 6d 62 65 64 42 6c 6f 63 6b 28 29 2c 20 24 65 78 63 $this->getNextEmbedBlock(),.$exc
95060 65 70 74 69 6f 6e 4f 6e 49 6e 76 61 6c 69 64 54 79 70 65 2c 20 24 6f 62 6a 65 63 74 53 75 70 70 eptionOnInvalidType,.$objectSupp
95080 6f 72 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 76 61 6c 75 65 73 ort);.}.else.{.if.(isset($values
950a0 5b 27 6c 65 61 64 73 70 61 63 65 73 27 5d 29 0a 26 26 20 27 20 27 20 3d 3d 20 24 76 61 6c 75 65 ['leadspaces']).&&.'.'.==.$value
950c0 73 5b 27 6c 65 61 64 73 70 61 63 65 73 27 5d 0a 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 23 s['leadspaces'].&&.preg_match('#
950e0 5e 28 3f 50 3c 6b 65 79 3e 27 2e 49 6e 6c 69 6e 65 3a 3a 52 45 47 45 58 5f 51 55 4f 54 45 44 5f ^(?P<key>'.Inline::REGEX_QUOTED_
95100 53 54 52 49 4e 47 2e 27 7c 5b 5e 20 5c 27 22 5c 7b 5c 5b 5d 2e 2a 3f 29 20 2a 5c 3a 28 5c 73 2b STRING.'|[^.\'"\{\[].*?).*\:(\s+
95120 28 3f 50 3c 76 61 6c 75 65 3e 2e 2b 3f 29 29 3f 5c 73 2a 24 23 75 27 2c 20 24 76 61 6c 75 65 73 (?P<value>.+?))?\s*$#u',.$values
95140 5b 27 76 61 6c 75 65 27 5d 2c 20 24 6d 61 74 63 68 65 73 29 0a 29 20 7b 0a 0a 20 24 63 20 3d 20 ['value'],.$matches).).{...$c.=.
95160 24 74 68 69 73 2d 3e 67 65 74 52 65 61 6c 43 75 72 72 65 6e 74 4c 69 6e 65 4e 62 28 29 3b 0a 24 $this->getRealCurrentLineNb();.$
95180 70 61 72 73 65 72 20 3d 20 6e 65 77 20 50 61 72 73 65 72 28 24 63 29 3b 0a 24 70 61 72 73 65 72 parser.=.new.Parser($c);.$parser
951a0 2d 3e 72 65 66 73 20 3d 26 20 24 74 68 69 73 2d 3e 72 65 66 73 3b 0a 0a 24 62 6c 6f 63 6b 20 3d ->refs.=&.$this->refs;..$block.=
951c0 20 24 76 61 6c 75 65 73 5b 27 76 61 6c 75 65 27 5d 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 .$values['value'];.if.(!$this->i
951e0 73 4e 65 78 74 4c 69 6e 65 49 6e 64 65 6e 74 65 64 28 29 29 20 7b 0a 24 62 6c 6f 63 6b 20 2e 3d sNextLineIndented()).{.$block..=
95200 20 22 5c 6e 22 2e 24 74 68 69 73 2d 3e 67 65 74 4e 65 78 74 45 6d 62 65 64 42 6c 6f 63 6b 28 24 ."\n".$this->getNextEmbedBlock($
95220 74 68 69 73 2d 3e 67 65 74 43 75 72 72 65 6e 74 4c 69 6e 65 49 6e 64 65 6e 74 61 74 69 6f 6e 28 this->getCurrentLineIndentation(
95240 29 20 2b 20 32 29 3b 0a 7d 0a 0a 24 64 61 74 61 5b 5d 20 3d 20 24 70 61 72 73 65 72 2d 3e 70 61 ).+.2);.}..$data[].=.$parser->pa
95260 72 73 65 28 24 62 6c 6f 63 6b 2c 20 24 65 78 63 65 70 74 69 6f 6e 4f 6e 49 6e 76 61 6c 69 64 54 rse($block,.$exceptionOnInvalidT
95280 79 70 65 2c 20 24 6f 62 6a 65 63 74 53 75 70 70 6f 72 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 ype,.$objectSupport);.}.else.{.$
952a0 64 61 74 61 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 56 61 6c 75 65 28 24 76 61 6c 75 data[].=.$this->parseValue($valu
952c0 65 73 5b 27 76 61 6c 75 65 27 5d 2c 20 24 65 78 63 65 70 74 69 6f 6e 4f 6e 49 6e 76 61 6c 69 64 es['value'],.$exceptionOnInvalid
952e0 54 79 70 65 2c 20 24 6f 62 6a 65 63 74 53 75 70 70 6f 72 74 29 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 Type,.$objectSupport);.}.}.}.els
95300 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e 28 3f 50 3c 6b 65 79 3e 27 2e 49 6e 6c eif.(preg_match('#^(?P<key>'.Inl
95320 69 6e 65 3a 3a 52 45 47 45 58 5f 51 55 4f 54 45 44 5f 53 54 52 49 4e 47 2e 27 7c 5b 5e 20 5c 27 ine::REGEX_QUOTED_STRING.'|[^.\'
95340 22 5c 5b 5c 7b 5d 2e 2a 3f 29 20 2a 5c 3a 28 5c 73 2b 28 3f 50 3c 76 61 6c 75 65 3e 2e 2b 3f 29 "\[\{].*?).*\:(\s+(?P<value>.+?)
95360 29 3f 5c 73 2a 24 23 75 27 2c 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4c 69 6e 65 2c 20 24 )?\s*$#u',.$this->currentLine,.$
95380 76 61 6c 75 65 73 29 29 20 7b 0a 69 66 20 28 24 63 6f 6e 74 65 78 74 20 26 26 20 27 73 65 71 75 values)).{.if.($context.&&.'sequ
953a0 65 6e 63 65 27 20 3d 3d 20 24 63 6f 6e 74 65 78 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 50 ence'.==.$context).{.throw.new.P
953c0 61 72 73 65 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 63 61 6e 6e 6f 74 20 64 65 66 69 6e 65 arseException('You.cannot.define
953e0 20 61 20 6d 61 70 70 69 6e 67 20 69 74 65 6d 20 77 68 65 6e 20 69 6e 20 61 20 73 65 71 75 65 6e .a.mapping.item.when.in.a.sequen
95400 63 65 27 29 3b 0a 7d 0a 24 63 6f 6e 74 65 78 74 20 3d 20 27 6d 61 70 70 69 6e 67 27 3b 0a 0a 0a ce');.}.$context.=.'mapping';...
95420 20 49 6e 6c 69 6e 65 3a 3a 70 61 72 73 65 28 6e 75 6c 6c 2c 20 24 65 78 63 65 70 74 69 6f 6e 4f .Inline::parse(null,.$exceptionO
95440 6e 49 6e 76 61 6c 69 64 54 79 70 65 2c 20 24 6f 62 6a 65 63 74 53 75 70 70 6f 72 74 29 3b 0a 74 nInvalidType,.$objectSupport);.t
95460 72 79 20 7b 0a 24 6b 65 79 20 3d 20 49 6e 6c 69 6e 65 3a 3a 70 61 72 73 65 53 63 61 6c 61 72 28 ry.{.$key.=.Inline::parseScalar(
95480 24 76 61 6c 75 65 73 5b 27 6b 65 79 27 5d 29 3b 0a 7d 20 63 61 74 63 68 20 28 50 61 72 73 65 45 $values['key']);.}.catch.(ParseE
954a0 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 65 2d 3e 73 65 74 50 61 72 73 65 64 4c 69 6e 65 xception.$e).{.$e->setParsedLine
954c0 28 24 74 68 69 73 2d 3e 67 65 74 52 65 61 6c 43 75 72 72 65 6e 74 4c 69 6e 65 4e 62 28 29 20 2b ($this->getRealCurrentLineNb().+
954e0 20 31 29 3b 0a 24 65 2d 3e 73 65 74 53 6e 69 70 70 65 74 28 24 74 68 69 73 2d 3e 63 75 72 72 65 .1);.$e->setSnippet($this->curre
95500 6e 74 4c 69 6e 65 29 3b 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 69 66 20 28 27 3c 3c 27 20 ntLine);..throw.$e;.}..if.('<<'.
95520 3d 3d 3d 20 24 6b 65 79 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 76 61 6c 75 65 73 5b 27 76 ===.$key).{.if.(isset($values['v
95540 61 6c 75 65 27 5d 29 20 26 26 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 76 61 6c 75 65 73 5b alue']).&&.0.===.strpos($values[
95560 27 76 61 6c 75 65 27 5d 2c 20 27 2a 27 29 29 20 7b 0a 24 69 73 49 6e 50 6c 61 63 65 20 3d 20 73 'value'],.'*')).{.$isInPlace.=.s
95580 75 62 73 74 72 28 24 76 61 6c 75 65 73 5b 27 76 61 6c 75 65 27 5d 2c 20 31 29 3b 0a 69 66 20 28 ubstr($values['value'],.1);.if.(
955a0 21 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 69 73 49 6e 50 6c 61 63 65 2c 20 24 74 !array_key_exists($isInPlace,.$t
955c0 68 69 73 2d 3e 72 65 66 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 50 61 72 73 65 45 78 63 his->refs)).{.throw.new.ParseExc
955e0 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 52 65 66 65 72 65 6e 63 65 20 22 25 73 22 20 64 eption(sprintf('Reference."%s".d
95600 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 69 73 49 6e 50 6c 61 63 65 29 2c 20 24 74 oes.not.exist.',.$isInPlace),.$t
95620 68 69 73 2d 3e 67 65 74 52 65 61 6c 43 75 72 72 65 6e 74 4c 69 6e 65 4e 62 28 29 20 2b 20 31 2c his->getRealCurrentLineNb().+.1,
95640 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4c 69 6e 65 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b .$this->currentLine);.}.}.else.{
95660 0a 69 66 20 28 69 73 73 65 74 28 24 76 61 6c 75 65 73 5b 27 76 61 6c 75 65 27 5d 29 20 26 26 20 .if.(isset($values['value']).&&.
95680 24 76 61 6c 75 65 73 5b 27 76 61 6c 75 65 27 5d 20 21 3d 3d 20 27 27 29 20 7b 0a 24 76 61 6c 75 $values['value'].!==.'').{.$valu
956a0 65 20 3d 20 24 76 61 6c 75 65 73 5b 27 76 61 6c 75 65 27 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 e.=.$values['value'];.}.else.{.$
956c0 76 61 6c 75 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4e 65 78 74 45 6d 62 65 64 42 6c 6f 63 6b value.=.$this->getNextEmbedBlock
956e0 28 29 3b 0a 7d 0a 24 63 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 52 65 61 6c 43 75 72 72 65 6e 74 ();.}.$c.=.$this->getRealCurrent
95700 4c 69 6e 65 4e 62 28 29 20 2b 20 31 3b 0a 24 70 61 72 73 65 72 20 3d 20 6e 65 77 20 50 61 72 73 LineNb().+.1;.$parser.=.new.Pars
95720 65 72 28 24 63 29 3b 0a 24 70 61 72 73 65 72 2d 3e 72 65 66 73 20 3d 26 20 24 74 68 69 73 2d 3e er($c);.$parser->refs.=&.$this->
95740 72 65 66 73 3b 0a 24 70 61 72 73 65 64 20 3d 20 24 70 61 72 73 65 72 2d 3e 70 61 72 73 65 28 24 refs;.$parsed.=.$parser->parse($
95760 76 61 6c 75 65 2c 20 24 65 78 63 65 70 74 69 6f 6e 4f 6e 49 6e 76 61 6c 69 64 54 79 70 65 2c 20 value,.$exceptionOnInvalidType,.
95780 24 6f 62 6a 65 63 74 53 75 70 70 6f 72 74 29 3b 0a 0a 24 6d 65 72 67 65 64 20 3d 20 61 72 72 61 $objectSupport);..$merged.=.arra
957a0 79 28 29 3b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 70 61 72 73 65 64 29 29 20 7b 0a 74 y();.if.(!is_array($parsed)).{.t
957c0 68 72 6f 77 20 6e 65 77 20 50 61 72 73 65 45 78 63 65 70 74 69 6f 6e 28 27 59 41 4d 4c 20 6d 65 hrow.new.ParseException('YAML.me
957e0 72 67 65 20 6b 65 79 73 20 75 73 65 64 20 77 69 74 68 20 61 20 73 63 61 6c 61 72 20 76 61 6c 75 rge.keys.used.with.a.scalar.valu
95800 65 20 69 6e 73 74 65 61 64 20 6f 66 20 61 6e 20 61 72 72 61 79 2e 27 2c 20 24 74 68 69 73 2d 3e e.instead.of.an.array.',.$this->
95820 67 65 74 52 65 61 6c 43 75 72 72 65 6e 74 4c 69 6e 65 4e 62 28 29 20 2b 20 31 2c 20 24 74 68 69 getRealCurrentLineNb().+.1,.$thi
95840 73 2d 3e 63 75 72 72 65 6e 74 4c 69 6e 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 s->currentLine);.}.elseif.(isset
95860 28 24 70 61 72 73 65 64 5b 30 5d 29 29 20 7b 0a 0a 20 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 ($parsed[0])).{...foreach.(array
95880 5f 72 65 76 65 72 73 65 28 24 70 61 72 73 65 64 29 20 61 73 20 24 70 61 72 73 65 64 49 74 65 6d _reverse($parsed).as.$parsedItem
958a0 29 20 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 70 61 72 73 65 64 49 74 65 6d 29 29 20 ).{.if.(!is_array($parsedItem)).
958c0 7b 0a 74 68 72 6f 77 20 6e 65 77 20 50 61 72 73 65 45 78 63 65 70 74 69 6f 6e 28 27 4d 65 72 67 {.throw.new.ParseException('Merg
958e0 65 20 69 74 65 6d 73 20 6d 75 73 74 20 62 65 20 61 72 72 61 79 73 2e 27 2c 20 24 74 68 69 73 2d e.items.must.be.arrays.',.$this-
95900 3e 67 65 74 52 65 61 6c 43 75 72 72 65 6e 74 4c 69 6e 65 4e 62 28 29 20 2b 20 31 2c 20 24 70 61 >getRealCurrentLineNb().+.1,.$pa
95920 72 73 65 64 49 74 65 6d 29 3b 0a 7d 0a 24 6d 65 72 67 65 64 20 3d 20 61 72 72 61 79 5f 6d 65 72 rsedItem);.}.$merged.=.array_mer
95940 67 65 28 24 70 61 72 73 65 64 49 74 65 6d 2c 20 24 6d 65 72 67 65 64 29 3b 0a 7d 0a 7d 20 65 6c ge($parsedItem,.$merged);.}.}.el
95960 73 65 20 7b 0a 0a 20 24 6d 65 72 67 65 64 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6d 65 se.{...$merged.=.array_merge($me
95980 72 67 65 64 2c 20 24 70 61 72 73 65 64 29 3b 0a 7d 0a 0a 24 69 73 50 72 6f 63 65 73 73 65 64 20 rged,.$parsed);.}..$isProcessed.
959a0 3d 20 24 6d 65 72 67 65 64 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 76 61 =.$merged;.}.}.elseif.(isset($va
959c0 6c 75 65 73 5b 27 76 61 6c 75 65 27 5d 29 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e lues['value']).&&.preg_match('#^
959e0 26 28 3f 50 3c 72 65 66 3e 5b 5e 20 5d 2b 29 20 2a 28 3f 50 3c 76 61 6c 75 65 3e 2e 2a 29 23 75 &(?P<ref>[^.]+).*(?P<value>.*)#u
95a00 27 2c 20 24 76 61 6c 75 65 73 5b 27 76 61 6c 75 65 27 5d 2c 20 24 6d 61 74 63 68 65 73 29 29 20 ',.$values['value'],.$matches)).
95a20 7b 0a 24 69 73 52 65 66 20 3d 20 24 6d 61 74 63 68 65 73 5b 27 72 65 66 27 5d 3b 0a 24 76 61 6c {.$isRef.=.$matches['ref'];.$val
95a40 75 65 73 5b 27 76 61 6c 75 65 27 5d 20 3d 20 24 6d 61 74 63 68 65 73 5b 27 76 61 6c 75 65 27 5d ues['value'].=.$matches['value']
95a60 3b 0a 7d 0a 0a 69 66 20 28 24 69 73 50 72 6f 63 65 73 73 65 64 29 20 7b 0a 0a 20 24 64 61 74 61 ;.}..if.($isProcessed).{...$data
95a80 20 3d 20 24 69 73 50 72 6f 63 65 73 73 65 64 3b 0a 0a 20 7d 20 65 6c 73 65 69 66 20 28 21 69 73 .=.$isProcessed;...}.elseif.(!is
95aa0 73 65 74 28 24 76 61 6c 75 65 73 5b 27 76 61 6c 75 65 27 5d 29 20 7c 7c 20 27 27 20 3d 3d 20 74 set($values['value']).||.''.==.t
95ac0 72 69 6d 28 24 76 61 6c 75 65 73 5b 27 76 61 6c 75 65 27 5d 2c 20 27 20 27 29 20 7c 7c 20 30 20 rim($values['value'],.'.').||.0.
95ae0 3d 3d 3d 20 73 74 72 70 6f 73 28 6c 74 72 69 6d 28 24 76 61 6c 75 65 73 5b 27 76 61 6c 75 65 27 ===.strpos(ltrim($values['value'
95b00 5d 2c 20 27 20 27 29 2c 20 27 23 27 29 29 20 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 69 73 ],.'.'),.'#')).{...if.($this->is
95b20 4e 65 78 74 4c 69 6e 65 49 6e 64 65 6e 74 65 64 28 29 20 26 26 20 21 24 74 68 69 73 2d 3e 69 73 NextLineIndented().&&.!$this->is
95b40 4e 65 78 74 4c 69 6e 65 55 6e 49 6e 64 65 6e 74 65 64 43 6f 6c 6c 65 63 74 69 6f 6e 28 29 29 20 NextLineUnIndentedCollection()).
95b60 7b 0a 24 64 61 74 61 5b 24 6b 65 79 5d 20 3d 20 6e 75 6c 6c 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 {.$data[$key].=.null;.}.else.{.$
95b80 63 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 52 65 61 6c 43 75 72 72 65 6e 74 4c 69 6e 65 4e 62 28 c.=.$this->getRealCurrentLineNb(
95ba0 29 20 2b 20 31 3b 0a 24 70 61 72 73 65 72 20 3d 20 6e 65 77 20 50 61 72 73 65 72 28 24 63 29 3b ).+.1;.$parser.=.new.Parser($c);
95bc0 0a 24 70 61 72 73 65 72 2d 3e 72 65 66 73 20 3d 26 20 24 74 68 69 73 2d 3e 72 65 66 73 3b 0a 24 .$parser->refs.=&.$this->refs;.$
95be0 64 61 74 61 5b 24 6b 65 79 5d 20 3d 20 24 70 61 72 73 65 72 2d 3e 70 61 72 73 65 28 24 74 68 69 data[$key].=.$parser->parse($thi
95c00 73 2d 3e 67 65 74 4e 65 78 74 45 6d 62 65 64 42 6c 6f 63 6b 28 29 2c 20 24 65 78 63 65 70 74 69 s->getNextEmbedBlock(),.$excepti
95c20 6f 6e 4f 6e 49 6e 76 61 6c 69 64 54 79 70 65 2c 20 24 6f 62 6a 65 63 74 53 75 70 70 6f 72 74 29 onOnInvalidType,.$objectSupport)
95c40 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 24 69 73 49 6e 50 6c 61 63 65 29 20 7b 0a 24 ;.}.}.else.{.if.($isInPlace).{.$
95c60 64 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 72 65 66 73 5b 24 69 73 49 6e 50 6c 61 63 65 5d 3b 0a data.=.$this->refs[$isInPlace];.
95c80 7d 20 65 6c 73 65 20 7b 0a 24 64 61 74 61 5b 24 6b 65 79 5d 20 3d 20 24 74 68 69 73 2d 3e 70 61 }.else.{.$data[$key].=.$this->pa
95ca0 72 73 65 56 61 6c 75 65 28 24 76 61 6c 75 65 73 5b 27 76 61 6c 75 65 27 5d 2c 20 24 65 78 63 65 rseValue($values['value'],.$exce
95cc0 70 74 69 6f 6e 4f 6e 49 6e 76 61 6c 69 64 54 79 70 65 2c 20 24 6f 62 6a 65 63 74 53 75 70 70 6f ptionOnInvalidType,.$objectSuppo
95ce0 72 74 29 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 6c 69 6e 65 43 6f 75 6e 74 20 3d rt);.}.}.}.else.{...$lineCount.=
95d00 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 6c 69 6e 65 73 29 3b 0a 69 66 20 28 31 20 3d 3d 3d 20 .count($this->lines);.if.(1.===.
95d20 24 6c 69 6e 65 43 6f 75 6e 74 20 7c 7c 20 28 32 20 3d 3d 3d 20 24 6c 69 6e 65 43 6f 75 6e 74 20 $lineCount.||.(2.===.$lineCount.
95d40 26 26 20 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 6c 69 6e 65 73 5b 31 5d 29 29 29 20 7b 0a 74 72 &&.empty($this->lines[1]))).{.tr
95d60 79 20 7b 0a 24 76 61 6c 75 65 20 3d 20 49 6e 6c 69 6e 65 3a 3a 70 61 72 73 65 28 24 74 68 69 73 y.{.$value.=.Inline::parse($this
95d80 2d 3e 6c 69 6e 65 73 5b 30 5d 2c 20 24 65 78 63 65 70 74 69 6f 6e 4f 6e 49 6e 76 61 6c 69 64 54 ->lines[0],.$exceptionOnInvalidT
95da0 79 70 65 2c 20 24 6f 62 6a 65 63 74 53 75 70 70 6f 72 74 29 3b 0a 7d 20 63 61 74 63 68 20 28 50 ype,.$objectSupport);.}.catch.(P
95dc0 61 72 73 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 65 2d 3e 73 65 74 50 61 72 73 65 arseException.$e).{.$e->setParse
95de0 64 4c 69 6e 65 28 24 74 68 69 73 2d 3e 67 65 74 52 65 61 6c 43 75 72 72 65 6e 74 4c 69 6e 65 4e dLine($this->getRealCurrentLineN
95e00 62 28 29 20 2b 20 31 29 3b 0a 24 65 2d 3e 73 65 74 53 6e 69 70 70 65 74 28 24 74 68 69 73 2d 3e b().+.1);.$e->setSnippet($this->
95e20 63 75 72 72 65 6e 74 4c 69 6e 65 29 3b 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 69 66 20 28 currentLine);..throw.$e;.}..if.(
95e40 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 66 69 72 73 74 20 3d 20 72 65 73 is_array($value)).{.$first.=.res
95e60 65 74 28 24 76 61 6c 75 65 29 3b 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 66 69 72 73 74 et($value);.if.(is_string($first
95e80 29 20 26 26 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 66 69 72 73 74 2c 20 27 2a 27 29 29 20 ).&&.0.===.strpos($first,.'*')).
95ea0 7b 0a 24 64 61 74 61 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 76 61 6c {.$data.=.array();.foreach.($val
95ec0 75 65 20 61 73 20 24 61 6c 69 61 73 29 20 7b 0a 24 64 61 74 61 5b 5d 20 3d 20 24 74 68 69 73 2d ue.as.$alias).{.$data[].=.$this-
95ee0 3e 72 65 66 73 5b 73 75 62 73 74 72 28 24 61 6c 69 61 73 2c 20 31 29 5d 3b 0a 7d 0a 24 76 61 6c >refs[substr($alias,.1)];.}.$val
95f00 75 65 20 3d 20 24 64 61 74 61 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6d 62 45 6e ue.=.$data;.}.}..if.(isset($mbEn
95f20 63 6f 64 69 6e 67 29 29 20 7b 0a 6d 62 5f 69 6e 74 65 72 6e 61 6c 5f 65 6e 63 6f 64 69 6e 67 28 coding)).{.mb_internal_encoding(
95f40 24 6d 62 45 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a $mbEncoding);.}..return.$value;.
95f60 7d 0a 0a 73 77 69 74 63 68 20 28 70 72 65 67 5f 6c 61 73 74 5f 65 72 72 6f 72 28 29 29 20 7b 0a }..switch.(preg_last_error()).{.
95f80 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 24 65 72 72 6f 72 case.PREG_INTERNAL_ERROR:.$error
95fa0 20 3d 20 27 49 6e 74 65 72 6e 61 6c 20 50 43 52 45 20 65 72 72 6f 72 2e 27 3b 0a 62 72 65 61 6b .=.'Internal.PCRE.error.';.break
95fc0 3b 0a 63 61 73 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 ;.case.PREG_BACKTRACK_LIMIT_ERRO
95fe0 52 3a 0a 24 65 72 72 6f 72 20 3d 20 27 70 63 72 65 2e 62 61 63 6b 74 72 61 63 6b 5f 6c 69 6d 69 R:.$error.=.'pcre.backtrack_limi
96000 74 20 72 65 61 63 68 65 64 2e 27 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 50 52 45 47 5f 52 45 t.reached.';.break;.case.PREG_RE
96020 43 55 52 53 49 4f 4e 5f 4c 49 4d 49 54 5f 45 52 52 4f 52 3a 0a 24 65 72 72 6f 72 20 3d 20 27 70 CURSION_LIMIT_ERROR:.$error.=.'p
96040 63 72 65 2e 72 65 63 75 72 73 69 6f 6e 5f 6c 69 6d 69 74 20 72 65 61 63 68 65 64 2e 27 3b 0a 62 cre.recursion_limit.reached.';.b
96060 72 65 61 6b 3b 0a 63 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 reak;.case.PREG_BAD_UTF8_ERROR:.
96080 24 65 72 72 6f 72 20 3d 20 27 4d 61 6c 66 6f 72 6d 65 64 20 55 54 46 2d 38 20 64 61 74 61 2e 27 $error.=.'Malformed.UTF-8.data.'
960a0 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 50 52 45 47 5f 42 41 44 5f 55 54 46 38 5f 4f 46 46 53 ;.break;.case.PREG_BAD_UTF8_OFFS
960c0 45 54 5f 45 52 52 4f 52 3a 0a 24 65 72 72 6f 72 20 3d 20 27 4f 66 66 73 65 74 20 64 6f 65 73 6e ET_ERROR:.$error.=.'Offset.doesn
960e0 5c 27 74 20 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20 74 68 65 20 62 65 67 69 6e 20 6f 66 20 61 \'t.correspond.to.the.begin.of.a
96100 20 76 61 6c 69 64 20 55 54 46 2d 38 20 63 6f 64 65 20 70 6f 69 6e 74 2e 27 3b 0a 62 72 65 61 6b .valid.UTF-8.code.point.';.break
96120 3b 0a 64 65 66 61 75 6c 74 3a 0a 24 65 72 72 6f 72 20 3d 20 27 55 6e 61 62 6c 65 20 74 6f 20 70 ;.default:.$error.=.'Unable.to.p
96140 61 72 73 65 2e 27 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 50 61 72 73 65 45 78 63 65 70 74 arse.';.}..throw.new.ParseExcept
96160 69 6f 6e 28 24 65 72 72 6f 72 2c 20 24 74 68 69 73 2d 3e 67 65 74 52 65 61 6c 43 75 72 72 65 6e ion($error,.$this->getRealCurren
96180 74 4c 69 6e 65 4e 62 28 29 20 2b 20 31 2c 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4c 69 6e tLineNb().+.1,.$this->currentLin
961a0 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 69 73 52 65 66 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 66 73 e);.}..if.($isRef).{.$this->refs
961c0 5b 24 69 73 52 65 66 5d 20 3d 20 65 6e 64 28 24 64 61 74 61 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 [$isRef].=.end($data);.}.}..if.(
961e0 69 73 73 65 74 28 24 6d 62 45 6e 63 6f 64 69 6e 67 29 29 20 7b 0a 6d 62 5f 69 6e 74 65 72 6e 61 isset($mbEncoding)).{.mb_interna
96200 6c 5f 65 6e 63 6f 64 69 6e 67 28 24 6d 62 45 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 72 65 74 75 l_encoding($mbEncoding);.}..retu
96220 72 6e 20 65 6d 70 74 79 28 24 64 61 74 61 29 20 3f 20 6e 75 6c 6c 20 3a 20 24 64 61 74 61 3b 0a rn.empty($data).?.null.:.$data;.
96240 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 52 65 61 6c }.......private.function.getReal
96260 43 75 72 72 65 6e 74 4c 69 6e 65 4e 62 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e CurrentLineNb().{.return.$this->
96280 63 75 72 72 65 6e 74 4c 69 6e 65 4e 62 20 2b 20 24 74 68 69 73 2d 3e 6f 66 66 73 65 74 3b 0a 7d currentLineNb.+.$this->offset;.}
962a0 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 75 72 72 65 .......private.function.getCurre
962c0 6e 74 4c 69 6e 65 49 6e 64 65 6e 74 61 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 74 72 ntLineIndentation().{.return.str
962e0 6c 65 6e 28 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4c 69 6e 65 29 20 2d 20 73 74 72 6c 65 6e len($this->currentLine).-.strlen
96300 28 6c 74 72 69 6d 28 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4c 69 6e 65 2c 20 27 20 27 29 29 (ltrim($this->currentLine,.'.'))
96320 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 74 69 6f 6e 20 67 ;.}...........private.function.g
96340 65 74 4e 65 78 74 45 6d 62 65 64 42 6c 6f 63 6b 28 24 69 6e 64 65 6e 74 61 74 69 6f 6e 20 3d 20 etNextEmbedBlock($indentation.=.
96360 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 6f 76 65 54 6f 4e 65 78 74 4c 69 6e 65 28 29 3b null).{.$this->moveToNextLine();
96380 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 69 6e 64 65 6e 74 61 74 69 6f 6e 29 20 7b 0a 24 ..if.(null.===.$indentation).{.$
963a0 6e 65 77 49 6e 64 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 75 72 72 65 6e 74 4c 69 6e newIndent.=.$this->getCurrentLin
963c0 65 49 6e 64 65 6e 74 61 74 69 6f 6e 28 29 3b 0a 0a 24 75 6e 69 6e 64 65 6e 74 65 64 45 6d 62 65 eIndentation();..$unindentedEmbe
963e0 64 42 6c 6f 63 6b 20 3d 20 24 74 68 69 73 2d 3e 69 73 53 74 72 69 6e 67 55 6e 49 6e 64 65 6e 74 dBlock.=.$this->isStringUnIndent
96400 65 64 43 6f 6c 6c 65 63 74 69 6f 6e 49 74 65 6d 28 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4c edCollectionItem($this->currentL
96420 69 6e 65 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 73 43 75 72 72 65 6e 74 4c 69 6e 65 ine);..if.(!$this->isCurrentLine
96440 45 6d 70 74 79 28 29 20 26 26 20 30 20 3d 3d 3d 20 24 6e 65 77 49 6e 64 65 6e 74 20 26 26 20 21 Empty().&&.0.===.$newIndent.&&.!
96460 24 75 6e 69 6e 64 65 6e 74 65 64 45 6d 62 65 64 42 6c 6f 63 6b 29 20 7b 0a 74 68 72 6f 77 20 6e $unindentedEmbedBlock).{.throw.n
96480 65 77 20 50 61 72 73 65 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 64 65 6e 74 61 74 69 6f 6e 20 70 ew.ParseException('Indentation.p
964a0 72 6f 62 6c 65 6d 2e 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 52 65 61 6c 43 75 72 72 65 6e 74 4c roblem.',.$this->getRealCurrentL
964c0 69 6e 65 4e 62 28 29 20 2b 20 31 2c 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4c 69 6e 65 29 ineNb().+.1,.$this->currentLine)
964e0 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 6e 65 77 49 6e 64 65 6e 74 20 3d 20 24 69 6e 64 65 6e ;.}.}.else.{.$newIndent.=.$inden
96500 74 61 74 69 6f 6e 3b 0a 7d 0a 0a 24 64 61 74 61 20 3d 20 61 72 72 61 79 28 73 75 62 73 74 72 28 tation;.}..$data.=.array(substr(
96520 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4c 69 6e 65 2c 20 24 6e 65 77 49 6e 64 65 6e 74 29 29 $this->currentLine,.$newIndent))
96540 3b 0a 0a 24 69 73 49 74 55 6e 69 6e 64 65 6e 74 65 64 43 6f 6c 6c 65 63 74 69 6f 6e 20 3d 20 24 ;..$isItUnindentedCollection.=.$
96560 74 68 69 73 2d 3e 69 73 53 74 72 69 6e 67 55 6e 49 6e 64 65 6e 74 65 64 43 6f 6c 6c 65 63 74 69 this->isStringUnIndentedCollecti
96580 6f 6e 49 74 65 6d 28 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4c 69 6e 65 29 3b 0a 0a 77 68 69 onItem($this->currentLine);..whi
965a0 6c 65 20 28 24 74 68 69 73 2d 3e 6d 6f 76 65 54 6f 4e 65 78 74 4c 69 6e 65 28 29 29 20 7b 0a 0a le.($this->moveToNextLine()).{..
965c0 69 66 20 28 24 69 73 49 74 55 6e 69 6e 64 65 6e 74 65 64 43 6f 6c 6c 65 63 74 69 6f 6e 20 26 26 if.($isItUnindentedCollection.&&
965e0 20 21 24 74 68 69 73 2d 3e 69 73 53 74 72 69 6e 67 55 6e 49 6e 64 65 6e 74 65 64 43 6f 6c 6c 65 .!$this->isStringUnIndentedColle
96600 63 74 69 6f 6e 49 74 65 6d 28 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4c 69 6e 65 29 29 20 7b ctionItem($this->currentLine)).{
96620 0a 24 74 68 69 73 2d 3e 6d 6f 76 65 54 6f 50 72 65 76 69 6f 75 73 4c 69 6e 65 28 29 3b 0a 62 72 .$this->moveToPreviousLine();.br
96640 65 61 6b 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 43 75 72 72 65 6e 74 4c 69 6e 65 eak;.}..if.($this->isCurrentLine
96660 45 6d 70 74 79 28 29 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 43 75 72 72 65 6e 74 4c Empty()).{.if.($this->isCurrentL
96680 69 6e 65 42 6c 61 6e 6b 28 29 29 20 7b 0a 24 64 61 74 61 5b 5d 20 3d 20 73 75 62 73 74 72 28 24 ineBlank()).{.$data[].=.substr($
966a0 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4c 69 6e 65 2c 20 24 6e 65 77 49 6e 64 65 6e 74 29 3b 0a this->currentLine,.$newIndent);.
966c0 7d 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 69 6e 64 65 6e 74 20 3d 20 24 74 68 69 73 2d }..continue;.}..$indent.=.$this-
966e0 3e 67 65 74 43 75 72 72 65 6e 74 4c 69 6e 65 49 6e 64 65 6e 74 61 74 69 6f 6e 28 29 3b 0a 0a 69 >getCurrentLineIndentation();..i
96700 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e 28 3f 50 3c 74 65 78 74 3e 20 2a 29 24 23 27 f.(preg_match('#^(?P<text>.*)$#'
96720 2c 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4c 69 6e 65 2c 20 24 6d 61 74 63 68 29 29 20 7b ,.$this->currentLine,.$match)).{
96740 0a 0a 20 24 64 61 74 61 5b 5d 20 3d 20 24 6d 61 74 63 68 5b 27 74 65 78 74 27 5d 3b 0a 7d 20 65 ...$data[].=.$match['text'];.}.e
96760 6c 73 65 69 66 20 28 24 69 6e 64 65 6e 74 20 3e 3d 20 24 6e 65 77 49 6e 64 65 6e 74 29 20 7b 0a lseif.($indent.>=.$newIndent).{.
96780 24 64 61 74 61 5b 5d 20 3d 20 73 75 62 73 74 72 28 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4c $data[].=.substr($this->currentL
967a0 69 6e 65 2c 20 24 6e 65 77 49 6e 64 65 6e 74 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 30 20 3d 3d ine,.$newIndent);.}.elseif.(0.==
967c0 20 24 69 6e 64 65 6e 74 29 20 7b 0a 24 74 68 69 73 2d 3e 6d 6f 76 65 54 6f 50 72 65 76 69 6f 75 .$indent).{.$this->moveToPreviou
967e0 73 4c 69 6e 65 28 29 3b 0a 0a 62 72 65 61 6b 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 sLine();..break;.}.else.{.throw.
96800 6e 65 77 20 50 61 72 73 65 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 64 65 6e 74 61 74 69 6f 6e 20 new.ParseException('Indentation.
96820 70 72 6f 62 6c 65 6d 2e 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 52 65 61 6c 43 75 72 72 65 6e 74 problem.',.$this->getRealCurrent
96840 4c 69 6e 65 4e 62 28 29 20 2b 20 31 2c 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4c 69 6e 65 LineNb().+.1,.$this->currentLine
96860 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 24 64 61 );.}.}..return.implode("\n",.$da
96880 74 61 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 6d 6f ta);.}.......private.function.mo
968a0 76 65 54 6f 4e 65 78 74 4c 69 6e 65 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 75 72 72 veToNextLine().{.if.($this->curr
968c0 65 6e 74 4c 69 6e 65 4e 62 20 3e 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 6c 69 6e 65 73 29 entLineNb.>=.count($this->lines)
968e0 20 2d 20 31 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 2d 3e .-.1).{.return.false;.}..$this->
96900 63 75 72 72 65 6e 74 4c 69 6e 65 20 3d 20 24 74 68 69 73 2d 3e 6c 69 6e 65 73 5b 2b 2b 24 74 68 currentLine.=.$this->lines[++$th
96920 69 73 2d 3e 63 75 72 72 65 6e 74 4c 69 6e 65 4e 62 5d 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 is->currentLineNb];..return.true
96940 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 6d 6f 76 65 54 6f 50 ;.}.....private.function.moveToP
96960 72 65 76 69 6f 75 73 4c 69 6e 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4c 69 reviousLine().{.$this->currentLi
96980 6e 65 20 3d 20 24 74 68 69 73 2d 3e 6c 69 6e 65 73 5b 2d 2d 24 74 68 69 73 2d 3e 63 75 72 72 65 ne.=.$this->lines[--$this->curre
969a0 6e 74 4c 69 6e 65 4e 62 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 ntLineNb];.}...........private.f
969c0 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 56 61 6c 75 65 28 24 76 61 6c 75 65 2c 20 24 65 78 63 65 unction.parseValue($value,.$exce
969e0 70 74 69 6f 6e 4f 6e 49 6e 76 61 6c 69 64 54 79 70 65 2c 20 24 6f 62 6a 65 63 74 53 75 70 70 6f ptionOnInvalidType,.$objectSuppo
96a00 72 74 29 0a 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 76 61 6c 75 65 2c 20 27 rt).{.if.(0.===.strpos($value,.'
96a20 2a 27 29 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 70 *')).{.if.(false.!==.$pos.=.strp
96a40 6f 73 28 24 76 61 6c 75 65 2c 20 27 23 27 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 73 75 62 73 os($value,.'#')).{.$value.=.subs
96a60 74 72 28 24 76 61 6c 75 65 2c 20 31 2c 20 24 70 6f 73 20 2d 20 32 29 3b 0a 7d 20 65 6c 73 65 20 tr($value,.1,.$pos.-.2);.}.else.
96a80 7b 0a 24 76 61 6c 75 65 20 3d 20 73 75 62 73 74 72 28 24 76 61 6c 75 65 2c 20 31 29 3b 0a 7d 0a {.$value.=.substr($value,.1);.}.
96aa0 0a 69 66 20 28 21 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 76 61 6c 75 65 2c 20 24 .if.(!array_key_exists($value,.$
96ac0 74 68 69 73 2d 3e 72 65 66 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 50 61 72 73 65 45 78 this->refs)).{.throw.new.ParseEx
96ae0 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 52 65 66 65 72 65 6e 63 65 20 22 25 73 22 20 ception(sprintf('Reference."%s".
96b00 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 76 61 6c 75 65 29 2c 20 24 74 68 69 73 does.not.exist.',.$value),.$this
96b20 2d 3e 63 75 72 72 65 6e 74 4c 69 6e 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d ->currentLine);.}..return.$this-
96b40 3e 72 65 66 73 5b 24 76 61 6c 75 65 5d 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 >refs[$value];.}..if.(preg_match
96b60 28 27 2f 5e 28 3f 50 3c 73 65 70 61 72 61 74 6f 72 3e 5c 7c 7c 3e 29 28 3f 50 3c 6d 6f 64 69 66 ('/^(?P<separator>\||>)(?P<modif
96b80 69 65 72 73 3e 5c 2b 7c 5c 2d 7c 5c 64 2b 7c 5c 2b 5c 64 2b 7c 5c 2d 5c 64 2b 7c 5c 64 2b 5c 2b iers>\+|\-|\d+|\+\d+|\-\d+|\d+\+
96ba0 7c 5c 64 2b 5c 2d 29 3f 28 3f 50 3c 63 6f 6d 6d 65 6e 74 73 3e 20 2b 23 2e 2a 29 3f 24 2f 27 2c |\d+\-)?(?P<comments>.+#.*)?$/',
96bc0 20 24 76 61 6c 75 65 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 24 6d 6f 64 69 66 69 65 72 73 .$value,.$matches)).{.$modifiers
96be0 20 3d 20 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 27 6d 6f 64 69 66 69 65 72 73 27 5d 29 20 .=.isset($matches['modifiers']).
96c00 3f 20 24 6d 61 74 63 68 65 73 5b 27 6d 6f 64 69 66 69 65 72 73 27 5d 20 3a 20 27 27 3b 0a 0a 72 ?.$matches['modifiers'].:.'';..r
96c20 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 72 73 65 46 6f 6c 64 65 64 53 63 61 6c 61 72 28 24 eturn.$this->parseFoldedScalar($
96c40 6d 61 74 63 68 65 73 5b 27 73 65 70 61 72 61 74 6f 72 27 5d 2c 20 70 72 65 67 5f 72 65 70 6c 61 matches['separator'],.preg_repla
96c60 63 65 28 27 23 5c 64 2b 23 27 2c 20 27 27 2c 20 24 6d 6f 64 69 66 69 65 72 73 29 2c 20 69 6e 74 ce('#\d+#',.'',.$modifiers),.int
96c80 76 61 6c 28 61 62 73 28 24 6d 6f 64 69 66 69 65 72 73 29 29 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a val(abs($modifiers)));.}..try.{.
96ca0 72 65 74 75 72 6e 20 49 6e 6c 69 6e 65 3a 3a 70 61 72 73 65 28 24 76 61 6c 75 65 2c 20 24 65 78 return.Inline::parse($value,.$ex
96cc0 63 65 70 74 69 6f 6e 4f 6e 49 6e 76 61 6c 69 64 54 79 70 65 2c 20 24 6f 62 6a 65 63 74 53 75 70 ceptionOnInvalidType,.$objectSup
96ce0 70 6f 72 74 29 3b 0a 7d 20 63 61 74 63 68 20 28 50 61 72 73 65 45 78 63 65 70 74 69 6f 6e 20 24 port);.}.catch.(ParseException.$
96d00 65 29 20 7b 0a 24 65 2d 3e 73 65 74 50 61 72 73 65 64 4c 69 6e 65 28 24 74 68 69 73 2d 3e 67 65 e).{.$e->setParsedLine($this->ge
96d20 74 52 65 61 6c 43 75 72 72 65 6e 74 4c 69 6e 65 4e 62 28 29 20 2b 20 31 29 3b 0a 24 65 2d 3e 73 tRealCurrentLineNb().+.1);.$e->s
96d40 65 74 53 6e 69 70 70 65 74 28 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4c 69 6e 65 29 3b 0a 0a etSnippet($this->currentLine);..
96d60 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 throw.$e;.}.}...........private.
96d80 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 46 6f 6c 64 65 64 53 63 61 6c 61 72 28 24 73 65 70 61 function.parseFoldedScalar($sepa
96da0 72 61 74 6f 72 2c 20 24 69 6e 64 69 63 61 74 6f 72 20 3d 20 27 27 2c 20 24 69 6e 64 65 6e 74 61 rator,.$indicator.=.'',.$indenta
96dc0 74 69 6f 6e 20 3d 20 30 29 0a 7b 0a 24 6e 6f 74 45 4f 46 20 3d 20 24 74 68 69 73 2d 3e 6d 6f 76 tion.=.0).{.$notEOF.=.$this->mov
96de0 65 54 6f 4e 65 78 74 4c 69 6e 65 28 29 3b 0a 69 66 20 28 21 24 6e 6f 74 45 4f 46 29 20 7b 0a 72 eToNextLine();.if.(!$notEOF).{.r
96e00 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 0a 0a 20 69 66 20 28 30 20 3d 3d 3d 20 24 69 6e 64 65 6e 74 eturn.'';.}....if.(0.===.$indent
96e20 61 74 69 6f 6e 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 20 2b 2f 27 2c ation).{.if.(preg_match('/^.+/',
96e40 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4c 69 6e 65 2c 20 24 6d 61 74 63 68 65 73 29 29 20 .$this->currentLine,.$matches)).
96e60 7b 0a 24 69 6e 64 65 6e 74 61 74 69 6f 6e 20 3d 20 73 74 72 6c 65 6e 28 24 6d 61 74 63 68 65 73 {.$indentation.=.strlen($matches
96e80 5b 30 5d 29 3b 0a 7d 0a 7d 0a 0a 24 74 65 78 74 20 3d 20 27 27 3b 0a 69 66 20 28 24 69 6e 64 65 [0]);.}.}..$text.=.'';.if.($inde
96ea0 6e 74 61 74 69 6f 6e 20 3e 20 30 29 20 7b 0a 24 70 61 74 74 65 72 6e 20 3d 20 73 70 72 69 6e 74 ntation.>.0).{.$pattern.=.sprint
96ec0 66 28 27 2f 5e 20 7b 25 64 7d 28 2e 2a 29 24 2f 27 2c 20 24 69 6e 64 65 6e 74 61 74 69 6f 6e 29 f('/^.{%d}(.*)$/',.$indentation)
96ee0 3b 0a 0a 24 69 73 43 75 72 72 65 6e 74 4c 69 6e 65 42 6c 61 6e 6b 20 3d 20 24 74 68 69 73 2d 3e ;..$isCurrentLineBlank.=.$this->
96f00 69 73 43 75 72 72 65 6e 74 4c 69 6e 65 42 6c 61 6e 6b 28 29 3b 0a 77 68 69 6c 65 20 28 0a 24 6e isCurrentLineBlank();.while.(.$n
96f20 6f 74 45 4f 46 20 26 26 20 28 0a 24 69 73 43 75 72 72 65 6e 74 4c 69 6e 65 42 6c 61 6e 6b 20 7c otEOF.&&.(.$isCurrentLineBlank.|
96f40 7c 0a 70 72 65 67 5f 6d 61 74 63 68 28 24 70 61 74 74 65 72 6e 2c 20 24 74 68 69 73 2d 3e 63 75 |.preg_match($pattern,.$this->cu
96f60 72 72 65 6e 74 4c 69 6e 65 2c 20 24 6d 61 74 63 68 65 73 29 0a 29 0a 29 20 7b 0a 69 66 20 28 24 rrentLine,.$matches).).).{.if.($
96f80 69 73 43 75 72 72 65 6e 74 4c 69 6e 65 42 6c 61 6e 6b 29 20 7b 0a 24 74 65 78 74 20 2e 3d 20 73 isCurrentLineBlank).{.$text..=.s
96fa0 75 62 73 74 72 28 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4c 69 6e 65 2c 20 24 69 6e 64 65 6e ubstr($this->currentLine,.$inden
96fc0 74 61 74 69 6f 6e 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 65 78 74 20 2e 3d 20 24 6d 61 74 63 tation);.}.else.{.$text..=.$matc
96fe0 68 65 73 5b 31 5d 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 6e 6f 74 45 4f 46 20 3d 20 24 74 68 69 73 hes[1];.}....if.($notEOF.=.$this
97000 2d 3e 6d 6f 76 65 54 6f 4e 65 78 74 4c 69 6e 65 28 29 29 20 7b 0a 24 74 65 78 74 20 2e 3d 20 22 ->moveToNextLine()).{.$text..=."
97020 5c 6e 22 3b 0a 24 69 73 43 75 72 72 65 6e 74 4c 69 6e 65 42 6c 61 6e 6b 20 3d 20 24 74 68 69 73 \n";.$isCurrentLineBlank.=.$this
97040 2d 3e 69 73 43 75 72 72 65 6e 74 4c 69 6e 65 42 6c 61 6e 6b 28 29 3b 0a 7d 0a 7d 0a 7d 20 65 6c ->isCurrentLineBlank();.}.}.}.el
97060 73 65 69 66 20 28 24 6e 6f 74 45 4f 46 29 20 7b 0a 24 74 65 78 74 20 2e 3d 20 22 5c 6e 22 3b 0a seif.($notEOF).{.$text..=."\n";.
97080 7d 0a 0a 69 66 20 28 24 6e 6f 74 45 4f 46 29 20 7b 0a 24 74 68 69 73 2d 3e 6d 6f 76 65 54 6f 50 }..if.($notEOF).{.$this->moveToP
970a0 72 65 76 69 6f 75 73 4c 69 6e 65 28 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 27 3e 27 20 3d 3d 3d 20 reviousLine();.}....if.('>'.===.
970c0 24 73 65 70 61 72 61 74 6f 72 29 20 7b 0a 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 28 5c 6e 2a 29 $separator).{.preg_match('/(\n*)
970e0 24 2f 27 2c 20 24 74 65 78 74 2c 20 24 6d 61 74 63 68 65 73 29 3b 0a 24 74 65 78 74 20 3d 20 70 $/',.$text,.$matches);.$text.=.p
97100 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 28 3f 3c 21 5c 6e 29 5c 6e 28 3f 21 5c 6e 29 2f 27 2c reg_replace('/(?<!\n)\n(?!\n)/',
97120 20 27 20 27 2c 20 72 74 72 69 6d 28 24 74 65 78 74 2c 20 22 5c 6e 22 29 29 3b 0a 24 74 65 78 74 .'.',.rtrim($text,."\n"));.$text
97140 20 2e 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 3b 0a 7d 0a 0a 0a 20 69 66 20 28 27 27 20 3d 3d 3d ..=.$matches[1];.}....if.(''.===
97160 20 24 69 6e 64 69 63 61 74 6f 72 29 20 7b 0a 24 74 65 78 74 20 3d 20 70 72 65 67 5f 72 65 70 6c .$indicator).{.$text.=.preg_repl
97180 61 63 65 28 27 2f 5c 6e 2b 24 2f 73 27 2c 20 22 5c 6e 22 2c 20 24 74 65 78 74 29 3b 0a 7d 20 65 ace('/\n+$/s',."\n",.$text);.}.e
971a0 6c 73 65 69 66 20 28 27 2d 27 20 3d 3d 3d 20 24 69 6e 64 69 63 61 74 6f 72 29 20 7b 0a 24 74 65 lseif.('-'.===.$indicator).{.$te
971c0 78 74 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5c 6e 2b 24 2f 73 27 2c 20 27 27 2c xt.=.preg_replace('/\n+$/s',.'',
971e0 20 24 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 0a 0a 0a 0a 0a .$text);.}..return.$text;.}.....
97200 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 4e 65 78 74 4c 69 6e 65 49 6e 64 ..private.function.isNextLineInd
97220 65 6e 74 65 64 28 29 0a 7b 0a 24 63 75 72 72 65 6e 74 49 6e 64 65 6e 74 61 74 69 6f 6e 20 3d 20 ented().{.$currentIndentation.=.
97240 24 74 68 69 73 2d 3e 67 65 74 43 75 72 72 65 6e 74 4c 69 6e 65 49 6e 64 65 6e 74 61 74 69 6f 6e $this->getCurrentLineIndentation
97260 28 29 3b 0a 24 6e 6f 74 45 4f 46 20 3d 20 24 74 68 69 73 2d 3e 6d 6f 76 65 54 6f 4e 65 78 74 4c ();.$notEOF.=.$this->moveToNextL
97280 69 6e 65 28 29 3b 0a 0a 77 68 69 6c 65 20 28 24 6e 6f 74 45 4f 46 20 26 26 20 24 74 68 69 73 2d ine();..while.($notEOF.&&.$this-
972a0 3e 69 73 43 75 72 72 65 6e 74 4c 69 6e 65 45 6d 70 74 79 28 29 29 20 7b 0a 24 6e 6f 74 45 4f 46 >isCurrentLineEmpty()).{.$notEOF
972c0 20 3d 20 24 74 68 69 73 2d 3e 6d 6f 76 65 54 6f 4e 65 78 74 4c 69 6e 65 28 29 3b 0a 7d 0a 0a 69 .=.$this->moveToNextLine();.}..i
972e0 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 6e 6f 74 45 4f 46 29 20 7b 0a 72 65 74 75 72 6e 20 66 f.(false.===.$notEOF).{.return.f
97300 61 6c 73 65 3b 0a 7d 0a 0a 24 72 65 74 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 24 74 68 69 73 alse;.}..$ret.=.false;.if.($this
97320 2d 3e 67 65 74 43 75 72 72 65 6e 74 4c 69 6e 65 49 6e 64 65 6e 74 61 74 69 6f 6e 28 29 20 3c 3d ->getCurrentLineIndentation().<=
97340 20 24 63 75 72 72 65 6e 74 49 6e 64 65 6e 74 61 74 69 6f 6e 29 20 7b 0a 24 72 65 74 20 3d 20 74 .$currentIndentation).{.$ret.=.t
97360 72 75 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6d 6f 76 65 54 6f 50 72 65 76 69 6f 75 73 4c 69 6e rue;.}..$this->moveToPreviousLin
97380 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 e();..return.$ret;.}.......priva
973a0 74 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 43 75 72 72 65 6e 74 4c 69 6e 65 45 6d 70 74 79 28 29 te.function.isCurrentLineEmpty()
973c0 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 73 43 75 72 72 65 6e 74 4c 69 6e 65 42 6c .{.return.$this->isCurrentLineBl
973e0 61 6e 6b 28 29 20 7c 7c 20 24 74 68 69 73 2d 3e 69 73 43 75 72 72 65 6e 74 4c 69 6e 65 43 6f 6d ank().||.$this->isCurrentLineCom
97400 6d 65 6e 74 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 69 6f 6e ment();.}.......private.function
97420 20 69 73 43 75 72 72 65 6e 74 4c 69 6e 65 42 6c 61 6e 6b 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 .isCurrentLineBlank().{.return.'
97440 27 20 3d 3d 20 74 72 69 6d 28 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4c 69 6e 65 2c 20 27 20 '.==.trim($this->currentLine,.'.
97460 27 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 69 73 43 ');.}.......private.function.isC
97480 75 72 72 65 6e 74 4c 69 6e 65 43 6f 6d 6d 65 6e 74 28 29 0a 7b 0a 0a 20 24 6c 74 72 69 6d 6d 65 urrentLineComment().{...$ltrimme
974a0 64 4c 69 6e 65 20 3d 20 6c 74 72 69 6d 28 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4c 69 6e 65 dLine.=.ltrim($this->currentLine
974c0 2c 20 27 20 27 29 3b 0a 0a 72 65 74 75 72 6e 20 24 6c 74 72 69 6d 6d 65 64 4c 69 6e 65 5b 30 5d ,.'.');..return.$ltrimmedLine[0]
974e0 20 3d 3d 3d 20 27 23 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 .===.'#';.}.........private.func
97500 74 69 6f 6e 20 63 6c 65 61 6e 75 70 28 24 76 61 6c 75 65 29 0a 7b 0a 24 76 61 6c 75 65 20 3d 20 tion.cleanup($value).{.$value.=.
97520 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 22 5c 72 5c 6e 22 2c 20 22 5c 72 22 29 2c str_replace(array("\r\n",."\r"),
97540 20 22 5c 6e 22 2c 20 24 76 61 6c 75 65 29 3b 0a 0a 0a 20 24 63 6f 75 6e 74 20 3d 20 30 3b 0a 24 ."\n",.$value);....$count.=.0;.$
97560 76 61 6c 75 65 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 23 5e 5c 25 59 41 4d 4c 5b 3a value.=.preg_replace('#^\%YAML[:
97580 20 5d 5b 5c 64 5c 2e 5d 2b 2e 2a 5c 6e 23 73 75 27 2c 20 27 27 2c 20 24 76 61 6c 75 65 2c 20 2d .][\d\.]+.*\n#su',.'',.$value,.-
975a0 31 2c 20 24 63 6f 75 6e 74 29 3b 0a 24 74 68 69 73 2d 3e 6f 66 66 73 65 74 20 2b 3d 20 24 63 6f 1,.$count);.$this->offset.+=.$co
975c0 75 6e 74 3b 0a 0a 0a 20 24 74 72 69 6d 6d 65 64 56 61 6c 75 65 20 3d 20 70 72 65 67 5f 72 65 70 unt;....$trimmedValue.=.preg_rep
975e0 6c 61 63 65 28 27 23 5e 28 5c 23 2e 2a 3f 5c 6e 29 2b 23 73 27 2c 20 27 27 2c 20 24 76 61 6c 75 lace('#^(\#.*?\n)+#s',.'',.$valu
97600 65 2c 20 2d 31 2c 20 24 63 6f 75 6e 74 29 3b 0a 69 66 20 28 24 63 6f 75 6e 74 20 3d 3d 20 31 29 e,.-1,.$count);.if.($count.==.1)
97620 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 6f 66 66 73 65 74 20 2b 3d 20 73 75 62 73 74 72 5f 63 6f 75 .{...$this->offset.+=.substr_cou
97640 6e 74 28 24 76 61 6c 75 65 2c 20 22 5c 6e 22 29 20 2d 20 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 nt($value,."\n").-.substr_count(
97660 24 74 72 69 6d 6d 65 64 56 61 6c 75 65 2c 20 22 5c 6e 22 29 3b 0a 24 76 61 6c 75 65 20 3d 20 24 $trimmedValue,."\n");.$value.=.$
97680 74 72 69 6d 6d 65 64 56 61 6c 75 65 3b 0a 7d 0a 0a 0a 20 24 74 72 69 6d 6d 65 64 56 61 6c 75 65 trimmedValue;.}....$trimmedValue
976a0 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 23 5e 5c 2d 5c 2d 5c 2d 2e 2a 3f 5c 6e 23 73 .=.preg_replace('#^\-\-\-.*?\n#s
976c0 27 2c 20 27 27 2c 20 24 76 61 6c 75 65 2c 20 2d 31 2c 20 24 63 6f 75 6e 74 29 3b 0a 69 66 20 28 ',.'',.$value,.-1,.$count);.if.(
976e0 24 63 6f 75 6e 74 20 3d 3d 20 31 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 6f 66 66 73 65 74 20 2b $count.==.1).{...$this->offset.+
97700 3d 20 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 24 76 61 6c 75 65 2c 20 22 5c 6e 22 29 20 2d 20 73 =.substr_count($value,."\n").-.s
97720 75 62 73 74 72 5f 63 6f 75 6e 74 28 24 74 72 69 6d 6d 65 64 56 61 6c 75 65 2c 20 22 5c 6e 22 29 ubstr_count($trimmedValue,."\n")
97740 3b 0a 24 76 61 6c 75 65 20 3d 20 24 74 72 69 6d 6d 65 64 56 61 6c 75 65 3b 0a 0a 0a 20 24 76 61 ;.$value.=.$trimmedValue;....$va
97760 6c 75 65 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 23 5c 2e 5c 2e 5c 2e 5c 73 2a 24 23 lue.=.preg_replace('#\.\.\.\s*$#
97780 73 27 2c 20 27 27 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 s',.'',.$value);.}..return.$valu
977a0 65 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 69 73 4e 65 e;.}.......private.function.isNe
977c0 78 74 4c 69 6e 65 55 6e 49 6e 64 65 6e 74 65 64 43 6f 6c 6c 65 63 74 69 6f 6e 28 29 0a 7b 0a 24 xtLineUnIndentedCollection().{.$
977e0 63 75 72 72 65 6e 74 49 6e 64 65 6e 74 61 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 currentIndentation.=.$this->getC
97800 75 72 72 65 6e 74 4c 69 6e 65 49 6e 64 65 6e 74 61 74 69 6f 6e 28 29 3b 0a 24 6e 6f 74 45 4f 46 urrentLineIndentation();.$notEOF
97820 20 3d 20 24 74 68 69 73 2d 3e 6d 6f 76 65 54 6f 4e 65 78 74 4c 69 6e 65 28 29 3b 0a 0a 77 68 69 .=.$this->moveToNextLine();..whi
97840 6c 65 20 28 24 6e 6f 74 45 4f 46 20 26 26 20 24 74 68 69 73 2d 3e 69 73 43 75 72 72 65 6e 74 4c le.($notEOF.&&.$this->isCurrentL
97860 69 6e 65 45 6d 70 74 79 28 29 29 20 7b 0a 24 6e 6f 74 45 4f 46 20 3d 20 24 74 68 69 73 2d 3e 6d ineEmpty()).{.$notEOF.=.$this->m
97880 6f 76 65 54 6f 4e 65 78 74 4c 69 6e 65 28 29 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d oveToNextLine();.}..if.(false.==
978a0 3d 20 24 6e 6f 74 45 4f 46 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 72 =.$notEOF).{.return.false;.}..$r
978c0 65 74 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 0a 24 74 68 69 73 2d 3e 67 65 74 43 75 72 72 65 et.=.false;.if.(.$this->getCurre
978e0 6e 74 4c 69 6e 65 49 6e 64 65 6e 74 61 74 69 6f 6e 28 29 20 3d 3d 20 24 63 75 72 72 65 6e 74 49 ntLineIndentation().==.$currentI
97900 6e 64 65 6e 74 61 74 69 6f 6e 0a 26 26 0a 24 74 68 69 73 2d 3e 69 73 53 74 72 69 6e 67 55 6e 49 ndentation.&&.$this->isStringUnI
97920 6e 64 65 6e 74 65 64 43 6f 6c 6c 65 63 74 69 6f 6e 49 74 65 6d 28 24 74 68 69 73 2d 3e 63 75 72 ndentedCollectionItem($this->cur
97940 72 65 6e 74 4c 69 6e 65 29 0a 29 20 7b 0a 24 72 65 74 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 24 74 rentLine).).{.$ret.=.true;.}..$t
97960 68 69 73 2d 3e 6d 6f 76 65 54 6f 50 72 65 76 69 6f 75 73 4c 69 6e 65 28 29 3b 0a 0a 72 65 74 75 his->moveToPreviousLine();..retu
97980 72 6e 20 24 72 65 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 rn.$ret;.}.......private.functio
979a0 6e 20 69 73 53 74 72 69 6e 67 55 6e 49 6e 64 65 6e 74 65 64 43 6f 6c 6c 65 63 74 69 6f 6e 49 74 n.isStringUnIndentedCollectionIt
979c0 65 6d 28 29 0a 7b 0a 72 65 74 75 72 6e 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 74 68 69 em().{.return.(0.===.strpos($thi
979e0 73 2d 3e 63 75 72 72 65 6e 74 4c 69 6e 65 2c 20 27 2d 20 27 29 29 3b 0a 7d 0a 0a 7d 0a 3c 3f 70 s->currentLine,.'-.'));.}..}.<?p
97a00 68 70 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 hp..........namespace.Symfony\Co
97a20 6d 70 6f 6e 65 6e 74 5c 59 61 6d 6c 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 6e 65 73 63 mponent\Yaml;........class.Unesc
97a40 61 70 65 72 0a 7b 0a 0a 20 0a 20 63 6f 6e 73 74 20 45 4e 43 4f 44 49 4e 47 20 3d 20 27 55 54 46 aper.{.....const.ENCODING.=.'UTF
97a60 2d 38 27 3b 0a 0a 0a 20 0a 20 63 6f 6e 73 74 20 52 45 47 45 58 5f 45 53 43 41 50 45 44 5f 43 48 -8';......const.REGEX_ESCAPED_CH
97a80 41 52 41 43 54 45 52 20 3d 20 22 5c 5c 5c 5c 28 5b 30 61 62 74 5c 74 6e 76 66 72 65 20 5c 5c 5c ARACTER.=."\\\\([0abt\tnvfre.\\\
97aa0 22 5c 5c 2f 5c 5c 5c 5c 4e 5f 4c 50 5d 7c 78 5b 30 2d 39 61 2d 66 41 2d 46 5d 7b 32 7d 7c 75 5b "\\/\\\\N_LP]|x[0-9a-fA-F]{2}|u[
97ac0 30 2d 39 61 2d 66 41 2d 46 5d 7b 34 7d 7c 55 5b 30 2d 39 61 2d 66 41 2d 46 5d 7b 38 7d 29 22 3b 0-9a-fA-F]{4}|U[0-9a-fA-F]{8})";
97ae0 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 65 73 63 61 70 .........public.function.unescap
97b00 65 53 69 6e 67 6c 65 51 75 6f 74 65 64 53 74 72 69 6e 67 28 24 76 61 6c 75 65 29 0a 7b 0a 72 65 eSingleQuotedString($value).{.re
97b20 74 75 72 6e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 27 5c 27 27 2c 20 27 5c 27 27 2c 20 24 turn.str_replace('\'\'',.'\'',.$
97b40 76 61 6c 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 63 74 69 6f value);.}.........public.functio
97b60 6e 20 75 6e 65 73 63 61 70 65 44 6f 75 62 6c 65 51 75 6f 74 65 64 53 74 72 69 6e 67 28 24 76 61 n.unescapeDoubleQuotedString($va
97b80 6c 75 65 29 0a 7b 0a 24 73 65 6c 66 20 3d 20 24 74 68 69 73 3b 0a 24 63 61 6c 6c 62 61 63 6b 20 lue).{.$self.=.$this;.$callback.
97ba0 3d 20 66 75 6e 63 74 69 6f 6e 28 24 6d 61 74 63 68 29 20 75 73 65 20 28 24 73 65 6c 66 29 20 7b =.function($match).use.($self).{
97bc0 0a 72 65 74 75 72 6e 20 24 73 65 6c 66 2d 3e 75 6e 65 73 63 61 70 65 43 68 61 72 61 63 74 65 72 .return.$self->unescapeCharacter
97be0 28 24 6d 61 74 63 68 5b 30 5d 29 3b 0a 7d 3b 0a 0a 0a 20 72 65 74 75 72 6e 20 70 72 65 67 5f 72 ($match[0]);.};....return.preg_r
97c00 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 27 2f 27 2e 73 65 6c 66 3a 3a 52 45 47 45 58 5f eplace_callback('/'.self::REGEX_
97c20 45 53 43 41 50 45 44 5f 43 48 41 52 41 43 54 45 52 2e 27 2f 75 27 2c 20 24 63 61 6c 6c 62 61 63 ESCAPED_CHARACTER.'/u',.$callbac
97c40 6b 2c 20 24 76 61 6c 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 k,.$value);.}.........public.fun
97c60 63 74 69 6f 6e 20 75 6e 65 73 63 61 70 65 43 68 61 72 61 63 74 65 72 28 24 76 61 6c 75 65 29 0a ction.unescapeCharacter($value).
97c80 7b 0a 73 77 69 74 63 68 20 28 24 76 61 6c 75 65 7b 31 7d 29 20 7b 0a 63 61 73 65 20 27 30 27 3a {.switch.($value{1}).{.case.'0':
97ca0 0a 72 65 74 75 72 6e 20 22 5c 78 30 22 3b 0a 63 61 73 65 20 27 61 27 3a 0a 72 65 74 75 72 6e 20 .return."\x0";.case.'a':.return.
97cc0 22 5c 78 37 22 3b 0a 63 61 73 65 20 27 62 27 3a 0a 72 65 74 75 72 6e 20 22 5c 78 38 22 3b 0a 63 "\x7";.case.'b':.return."\x8";.c
97ce0 61 73 65 20 27 74 27 3a 0a 72 65 74 75 72 6e 20 22 5c 74 22 3b 0a 63 61 73 65 20 22 5c 74 22 3a ase.'t':.return."\t";.case."\t":
97d00 0a 72 65 74 75 72 6e 20 22 5c 74 22 3b 0a 63 61 73 65 20 27 6e 27 3a 0a 72 65 74 75 72 6e 20 22 .return."\t";.case.'n':.return."
97d20 5c 6e 22 3b 0a 63 61 73 65 20 27 76 27 3a 0a 72 65 74 75 72 6e 20 22 5c 78 62 22 3b 0a 63 61 73 \n";.case.'v':.return."\xb";.cas
97d40 65 20 27 66 27 3a 0a 72 65 74 75 72 6e 20 22 5c 78 63 22 3b 0a 63 61 73 65 20 27 72 27 3a 0a 72 e.'f':.return."\xc";.case.'r':.r
97d60 65 74 75 72 6e 20 22 5c 78 64 22 3b 0a 63 61 73 65 20 27 65 27 3a 0a 72 65 74 75 72 6e 20 22 5c eturn."\xd";.case.'e':.return."\
97d80 78 31 62 22 3b 0a 63 61 73 65 20 27 20 27 3a 0a 72 65 74 75 72 6e 20 27 20 27 3b 0a 63 61 73 65 x1b";.case.'.':.return.'.';.case
97da0 20 27 22 27 3a 0a 72 65 74 75 72 6e 20 27 22 27 3b 0a 63 61 73 65 20 27 2f 27 3a 0a 72 65 74 75 .'"':.return.'"';.case.'/':.retu
97dc0 72 6e 20 27 2f 27 3b 0a 63 61 73 65 20 27 5c 5c 27 3a 0a 72 65 74 75 72 6e 20 27 5c 5c 27 3b 0a rn.'/';.case.'\\':.return.'\\';.
97de0 63 61 73 65 20 27 4e 27 3a 0a 0a 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 76 65 72 case.'N':...return.$this->conver
97e00 74 45 6e 63 6f 64 69 6e 67 28 22 5c 78 30 30 5c 78 38 35 22 2c 20 73 65 6c 66 3a 3a 45 4e 43 4f tEncoding("\x00\x85",.self::ENCO
97e20 44 49 4e 47 2c 20 27 55 43 53 2d 32 42 45 27 29 3b 0a 63 61 73 65 20 27 5f 27 3a 0a 0a 20 72 65 DING,.'UCS-2BE');.case.'_':...re
97e40 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 76 65 72 74 45 6e 63 6f 64 69 6e 67 28 22 5c 78 30 turn.$this->convertEncoding("\x0
97e60 30 5c 78 41 30 22 2c 20 73 65 6c 66 3a 3a 45 4e 43 4f 44 49 4e 47 2c 20 27 55 43 53 2d 32 42 45 0\xA0",.self::ENCODING,.'UCS-2BE
97e80 27 29 3b 0a 63 61 73 65 20 27 4c 27 3a 0a 0a 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f ');.case.'L':...return.$this->co
97ea0 6e 76 65 72 74 45 6e 63 6f 64 69 6e 67 28 22 5c 78 32 30 5c 78 32 38 22 2c 20 73 65 6c 66 3a 3a nvertEncoding("\x20\x28",.self::
97ec0 45 4e 43 4f 44 49 4e 47 2c 20 27 55 43 53 2d 32 42 45 27 29 3b 0a 63 61 73 65 20 27 50 27 3a 0a ENCODING,.'UCS-2BE');.case.'P':.
97ee0 0a 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 76 65 72 74 45 6e 63 6f 64 69 6e 67 28 ..return.$this->convertEncoding(
97f00 22 5c 78 32 30 5c 78 32 39 22 2c 20 73 65 6c 66 3a 3a 45 4e 43 4f 44 49 4e 47 2c 20 27 55 43 53 "\x20\x29",.self::ENCODING,.'UCS
97f20 2d 32 42 45 27 29 3b 0a 63 61 73 65 20 27 78 27 3a 0a 24 63 68 61 72 20 3d 20 70 61 63 6b 28 27 -2BE');.case.'x':.$char.=.pack('
97f40 6e 27 2c 20 68 65 78 64 65 63 28 73 75 62 73 74 72 28 24 76 61 6c 75 65 2c 20 32 2c 20 32 29 29 n',.hexdec(substr($value,.2,.2))
97f60 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 76 65 72 74 45 6e 63 6f 64 69 6e );..return.$this->convertEncodin
97f80 67 28 24 63 68 61 72 2c 20 73 65 6c 66 3a 3a 45 4e 43 4f 44 49 4e 47 2c 20 27 55 43 53 2d 32 42 g($char,.self::ENCODING,.'UCS-2B
97fa0 45 27 29 3b 0a 63 61 73 65 20 27 75 27 3a 0a 24 63 68 61 72 20 3d 20 70 61 63 6b 28 27 6e 27 2c E');.case.'u':.$char.=.pack('n',
97fc0 20 68 65 78 64 65 63 28 73 75 62 73 74 72 28 24 76 61 6c 75 65 2c 20 32 2c 20 34 29 29 29 3b 0a .hexdec(substr($value,.2,.4)));.
97fe0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 76 65 72 74 45 6e 63 6f 64 69 6e 67 28 24 .return.$this->convertEncoding($
98000 63 68 61 72 2c 20 73 65 6c 66 3a 3a 45 4e 43 4f 44 49 4e 47 2c 20 27 55 43 53 2d 32 42 45 27 29 char,.self::ENCODING,.'UCS-2BE')
98020 3b 0a 63 61 73 65 20 27 55 27 3a 0a 24 63 68 61 72 20 3d 20 70 61 63 6b 28 27 4e 27 2c 20 68 65 ;.case.'U':.$char.=.pack('N',.he
98040 78 64 65 63 28 73 75 62 73 74 72 28 24 76 61 6c 75 65 2c 20 32 2c 20 38 29 29 29 3b 0a 0a 72 65 xdec(substr($value,.2,.8)));..re
98060 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 76 65 72 74 45 6e 63 6f 64 69 6e 67 28 24 63 68 61 turn.$this->convertEncoding($cha
98080 72 2c 20 73 65 6c 66 3a 3a 45 4e 43 4f 44 49 4e 47 2c 20 27 55 43 53 2d 34 42 45 27 29 3b 0a 7d r,.self::ENCODING,.'UCS-4BE');.}
980a0 0a 7d 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.
980c0 63 6f 6e 76 65 72 74 45 6e 63 6f 64 69 6e 67 28 24 76 61 6c 75 65 2c 20 24 74 6f 2c 20 24 66 72 convertEncoding($value,.$to,.$fr
980e0 6f 6d 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 6d 62 5f 63 6f om).{.if.(function_exists('mb_co
98100 6e 76 65 72 74 5f 65 6e 63 6f 64 69 6e 67 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 6d 62 5f 63 6f nvert_encoding')).{.return.mb_co
98120 6e 76 65 72 74 5f 65 6e 63 6f 64 69 6e 67 28 24 76 61 6c 75 65 2c 20 24 74 6f 2c 20 24 66 72 6f nvert_encoding($value,.$to,.$fro
98140 6d 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 69 m);.}.elseif.(function_exists('i
98160 63 6f 6e 76 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 69 63 6f 6e 76 28 24 66 72 6f 6d 2c 20 24 74 conv')).{.return.iconv($from,.$t
98180 6f 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 o,.$value);.}..throw.new.Runtime
981a0 45 78 63 65 70 74 69 6f 6e 28 27 4e 6f 20 73 75 69 74 61 62 6c 65 20 63 6f 6e 76 65 72 74 20 65 Exception('No.suitable.convert.e
981c0 6e 63 6f 64 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 28 69 6e 73 74 61 6c 6c 20 74 68 65 20 69 63 ncoding.function.(install.the.ic
981e0 6f 6e 76 20 6f 72 20 6d 62 73 74 72 69 6e 67 20 65 78 74 65 6e 73 69 6f 6e 29 2e 27 29 3b 0a 7d onv.or.mbstring.extension).');.}
98200 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
98220 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 59 61 6d 6c 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e fony\Component\Yaml;..use.Symfon
98240 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 59 61 6d 6c 5c 45 78 63 65 70 74 69 6f 6e 5c 50 61 72 73 65 y\Component\Yaml\Exception\Parse
98260 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 59 61 6d 6c 0a 7b 0a Exception;.........class.Yaml.{.
98280 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 24 65 6e 61 62 6c 65 50 68 70 50 61 72 .....public.static.$enablePhpPar
982a0 73 69 6e 67 20 3d 20 66 61 6c 73 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 sing.=.false;.........public.sta
982c0 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6e 61 62 6c 65 50 68 70 50 61 72 73 69 6e 67 28 29 0a tic.function.enablePhpParsing().
982e0 7b 0a 73 65 6c 66 3a 3a 24 65 6e 61 62 6c 65 50 68 70 50 61 72 73 69 6e 67 20 3d 20 74 72 75 65 {.self::$enablePhpParsing.=.true
98300 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 20 66 75 6e 63 ;.}...........public.static.func
98320 74 69 6f 6e 20 73 65 74 50 68 70 50 61 72 73 69 6e 67 28 24 62 6f 6f 6c 65 61 6e 29 0a 7b 0a 73 tion.setPhpParsing($boolean).{.s
98340 65 6c 66 3a 3a 24 65 6e 61 62 6c 65 50 68 70 50 61 72 73 69 6e 67 20 3d 20 28 42 6f 6f 6c 65 61 elf::$enablePhpParsing.=.(Boolea
98360 6e 29 20 24 62 6f 6f 6c 65 61 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 n).$boolean;.}...........public.
98380 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 50 68 70 50 61 72 73 69 static.function.supportsPhpParsi
983a0 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 65 6e 61 62 6c 65 50 68 70 50 61 ng().{.return.self::$enablePhpPa
983c0 72 73 69 6e 67 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 rsing;.}........................
983e0 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 28 24 ..public.static.function.parse($
98400 69 6e 70 75 74 2c 20 24 65 78 63 65 70 74 69 6f 6e 4f 6e 49 6e 76 61 6c 69 64 54 79 70 65 20 3d input,.$exceptionOnInvalidType.=
98420 20 66 61 6c 73 65 2c 20 24 6f 62 6a 65 63 74 53 75 70 70 6f 72 74 20 3d 20 66 61 6c 73 65 29 0a .false,.$objectSupport.=.false).
98440 7b 0a 0a 20 24 66 69 6c 65 20 3d 20 27 27 3b 0a 69 66 20 28 73 74 72 70 6f 73 28 24 69 6e 70 75 {...$file.=.'';.if.(strpos($inpu
98460 74 2c 20 22 5c 6e 22 29 20 3d 3d 3d 20 66 61 6c 73 65 20 26 26 20 69 73 5f 66 69 6c 65 28 24 69 t,."\n").===.false.&&.is_file($i
98480 6e 70 75 74 29 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 69 73 5f 72 65 61 64 61 62 nput)).{.if.(false.===.is_readab
984a0 6c 65 28 24 69 6e 70 75 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 50 61 72 73 65 45 78 63 le($input)).{.throw.new.ParseExc
984c0 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 61 72 73 65 20 eption(sprintf('Unable.to.parse.
984e0 22 25 73 22 20 61 73 20 74 68 65 20 66 69 6c 65 20 69 73 20 6e 6f 74 20 72 65 61 64 61 62 6c 65 "%s".as.the.file.is.not.readable
98500 2e 27 2c 20 24 69 6e 70 75 74 29 29 3b 0a 7d 0a 0a 24 66 69 6c 65 20 3d 20 24 69 6e 70 75 74 3b .',.$input));.}..$file.=.$input;
98520 0a 69 66 20 28 73 65 6c 66 3a 3a 24 65 6e 61 62 6c 65 50 68 70 50 61 72 73 69 6e 67 29 20 7b 0a .if.(self::$enablePhpParsing).{.
98540 6f 62 5f 73 74 61 72 74 28 29 3b 0a 24 72 65 74 76 61 6c 20 3d 20 69 6e 63 6c 75 64 65 28 24 66 ob_start();.$retval.=.include($f
98560 69 6c 65 29 3b 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 6f 62 5f 67 65 74 5f 63 6c 65 61 6e 28 29 3b ile);.$content.=.ob_get_clean();
98580 0a 0a 0a 20 24 69 6e 70 75 74 20 3d 20 69 73 5f 61 72 72 61 79 28 24 72 65 74 76 61 6c 29 20 3f ....$input.=.is_array($retval).?
985a0 20 24 72 65 74 76 61 6c 20 3a 20 24 63 6f 6e 74 65 6e 74 3b 0a 0a 0a 20 69 66 20 28 69 73 5f 61 .$retval.:.$content;....if.(is_a
985c0 72 72 61 79 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 rray($input)).{.return.$input;.}
985e0 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6e 70 75 74 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 .}.else.{.$input.=.file_get_cont
98600 65 6e 74 73 28 24 66 69 6c 65 29 3b 0a 7d 0a 7d 0a 0a 24 79 61 6d 6c 20 3d 20 6e 65 77 20 50 61 ents($file);.}.}..$yaml.=.new.Pa
98620 72 73 65 72 28 29 3b 0a 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 24 79 61 6d 6c 2d 3e 70 61 72 rser();..try.{.return.$yaml->par
98640 73 65 28 24 69 6e 70 75 74 2c 20 24 65 78 63 65 70 74 69 6f 6e 4f 6e 49 6e 76 61 6c 69 64 54 79 se($input,.$exceptionOnInvalidTy
98660 70 65 2c 20 24 6f 62 6a 65 63 74 53 75 70 70 6f 72 74 29 3b 0a 7d 20 63 61 74 63 68 20 28 50 61 pe,.$objectSupport);.}.catch.(Pa
98680 72 73 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 66 69 6c 65 29 20 7b 0a rseException.$e).{.if.($file).{.
986a0 24 65 2d 3e 73 65 74 50 61 72 73 65 64 46 69 6c 65 28 24 66 69 6c 65 29 3b 0a 7d 0a 0a 74 68 72 $e->setParsedFile($file);.}..thr
986c0 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c ow.$e;.}.}..................publ
986e0 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 75 6d 70 28 24 61 72 72 61 79 2c 20 ic.static.function.dump($array,.
98700 24 69 6e 6c 69 6e 65 20 3d 20 32 2c 20 24 69 6e 64 65 6e 74 20 3d 20 34 2c 20 24 65 78 63 65 70 $inline.=.2,.$indent.=.4,.$excep
98720 74 69 6f 6e 4f 6e 49 6e 76 61 6c 69 64 54 79 70 65 20 3d 20 66 61 6c 73 65 2c 20 24 6f 62 6a 65 tionOnInvalidType.=.false,.$obje
98740 63 74 53 75 70 70 6f 72 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 79 61 6d 6c 20 3d 20 6e 65 77 ctSupport.=.false).{.$yaml.=.new
98760 20 44 75 6d 70 65 72 28 29 3b 0a 24 79 61 6d 6c 2d 3e 73 65 74 49 6e 64 65 6e 74 61 74 69 6f 6e .Dumper();.$yaml->setIndentation
98780 28 24 69 6e 64 65 6e 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 79 61 6d 6c 2d 3e 64 75 6d 70 28 24 ($indent);..return.$yaml->dump($
987a0 61 72 72 61 79 2c 20 24 69 6e 6c 69 6e 65 2c 20 30 2c 20 24 65 78 63 65 70 74 69 6f 6e 4f 6e 49 array,.$inline,.0,.$exceptionOnI
987c0 6e 76 61 6c 69 64 54 79 70 65 2c 20 24 6f 62 6a 65 63 74 53 75 70 70 6f 72 74 29 3b 0a 7d 0a 7d nvalidType,.$objectSupport);.}.}
987e0 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
98800 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 59 61 6d 6c 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 ny\Component\Yaml;.......class.D
98820 75 6d 70 65 72 0a 7b 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 64 65 6e 74 61 74 umper.{......protected.$indentat
98840 69 6f 6e 20 3d 20 34 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 ion.=.4;.......public.function.s
98860 65 74 49 6e 64 65 6e 74 61 74 69 6f 6e 28 24 6e 75 6d 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 64 etIndentation($num).{.$this->ind
98880 65 6e 74 61 74 69 6f 6e 20 3d 20 28 69 6e 74 29 20 24 6e 75 6d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a entation.=.(int).$num;.}........
988a0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 75 6d 70 28 24 69 6e 70 75 74 .....public.function.dump($input
988c0 2c 20 24 69 6e 6c 69 6e 65 20 3d 20 30 2c 20 24 69 6e 64 65 6e 74 20 3d 20 30 2c 20 24 65 78 63 ,.$inline.=.0,.$indent.=.0,.$exc
988e0 65 70 74 69 6f 6e 4f 6e 49 6e 76 61 6c 69 64 54 79 70 65 20 3d 20 66 61 6c 73 65 2c 20 24 6f 62 eptionOnInvalidType.=.false,.$ob
98900 6a 65 63 74 53 75 70 70 6f 72 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 6f 75 74 70 75 74 20 3d jectSupport.=.false).{.$output.=
98920 20 27 27 3b 0a 24 70 72 65 66 69 78 20 3d 20 24 69 6e 64 65 6e 74 20 3f 20 73 74 72 5f 72 65 70 .'';.$prefix.=.$indent.?.str_rep
98940 65 61 74 28 27 20 27 2c 20 24 69 6e 64 65 6e 74 29 20 3a 20 27 27 3b 0a 0a 69 66 20 28 24 69 6e eat('.',.$indent).:.'';..if.($in
98960 6c 69 6e 65 20 3c 3d 20 30 20 7c 7c 20 21 69 73 5f 61 72 72 61 79 28 24 69 6e 70 75 74 29 20 7c line.<=.0.||.!is_array($input).|
98980 7c 20 65 6d 70 74 79 28 24 69 6e 70 75 74 29 29 20 7b 0a 24 6f 75 74 70 75 74 20 2e 3d 20 24 70 |.empty($input)).{.$output..=.$p
989a0 72 65 66 69 78 2e 49 6e 6c 69 6e 65 3a 3a 64 75 6d 70 28 24 69 6e 70 75 74 2c 20 24 65 78 63 65 refix.Inline::dump($input,.$exce
989c0 70 74 69 6f 6e 4f 6e 49 6e 76 61 6c 69 64 54 79 70 65 2c 20 24 6f 62 6a 65 63 74 53 75 70 70 6f ptionOnInvalidType,.$objectSuppo
989e0 72 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 73 41 48 61 73 68 20 3d 20 61 72 72 61 79 5f 6b rt);.}.else.{.$isAHash.=.array_k
98a00 65 79 73 28 24 69 6e 70 75 74 29 20 21 3d 3d 20 72 61 6e 67 65 28 30 2c 20 63 6f 75 6e 74 28 24 eys($input).!==.range(0,.count($
98a20 69 6e 70 75 74 29 20 2d 20 31 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 69 6e 70 75 74 20 61 73 input).-.1);..foreach.($input.as
98a40 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 24 77 69 6c 6c 42 65 49 6e 6c 69 6e 65 .$key.=>.$value).{.$willBeInline
98a60 64 20 3d 20 24 69 6e 6c 69 6e 65 20 2d 20 31 20 3c 3d 20 30 20 7c 7c 20 21 69 73 5f 61 72 72 61 d.=.$inline.-.1.<=.0.||.!is_arra
98a80 79 28 24 76 61 6c 75 65 29 20 7c 7c 20 65 6d 70 74 79 28 24 76 61 6c 75 65 29 3b 0a 0a 24 6f 75 y($value).||.empty($value);..$ou
98aa0 74 70 75 74 20 2e 3d 20 73 70 72 69 6e 74 66 28 27 25 73 25 73 25 73 25 73 27 2c 0a 24 70 72 65 tput..=.sprintf('%s%s%s%s',.$pre
98ac0 66 69 78 2c 0a 24 69 73 41 48 61 73 68 20 3f 20 49 6e 6c 69 6e 65 3a 3a 64 75 6d 70 28 24 6b 65 fix,.$isAHash.?.Inline::dump($ke
98ae0 79 2c 20 24 65 78 63 65 70 74 69 6f 6e 4f 6e 49 6e 76 61 6c 69 64 54 79 70 65 2c 20 24 6f 62 6a y,.$exceptionOnInvalidType,.$obj
98b00 65 63 74 53 75 70 70 6f 72 74 29 2e 27 3a 27 20 3a 20 27 2d 27 2c 0a 24 77 69 6c 6c 42 65 49 6e ectSupport).':'.:.'-',.$willBeIn
98b20 6c 69 6e 65 64 20 3f 20 27 20 27 20 3a 20 22 5c 6e 22 2c 0a 24 74 68 69 73 2d 3e 64 75 6d 70 28 lined.?.'.'.:."\n",.$this->dump(
98b40 24 76 61 6c 75 65 2c 20 24 69 6e 6c 69 6e 65 20 2d 20 31 2c 20 24 77 69 6c 6c 42 65 49 6e 6c 69 $value,.$inline.-.1,.$willBeInli
98b60 6e 65 64 20 3f 20 30 20 3a 20 24 69 6e 64 65 6e 74 20 2b 20 24 74 68 69 73 2d 3e 69 6e 64 65 6e ned.?.0.:.$indent.+.$this->inden
98b80 74 61 74 69 6f 6e 2c 20 24 65 78 63 65 70 74 69 6f 6e 4f 6e 49 6e 76 61 6c 69 64 54 79 70 65 2c tation,.$exceptionOnInvalidType,
98ba0 20 24 6f 62 6a 65 63 74 53 75 70 70 6f 72 74 29 0a 29 2e 28 24 77 69 6c 6c 42 65 49 6e 6c 69 6e .$objectSupport).).($willBeInlin
98bc0 65 64 20 3f 20 22 5c 6e 22 20 3a 20 27 27 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6f 75 ed.?."\n".:.'');.}.}..return.$ou
98be0 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 6e 61 6d 65 73 70 tput;.}.}.<?php...........namesp
98c00 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 59 61 6d 6c 5c 45 78 63 65 70 ace.Symfony\Component\Yaml\Excep
98c20 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 61 72 73 65 45 78 63 65 70 74 69 tion;.........class.ParseExcepti
98c40 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 70 72 on.extends.RuntimeException.{.pr
98c60 69 76 61 74 65 20 24 70 61 72 73 65 64 46 69 6c 65 3b 0a 70 72 69 76 61 74 65 20 24 70 61 72 73 ivate.$parsedFile;.private.$pars
98c80 65 64 4c 69 6e 65 3b 0a 70 72 69 76 61 74 65 20 24 73 6e 69 70 70 65 74 3b 0a 70 72 69 76 61 74 edLine;.private.$snippet;.privat
98ca0 65 20 24 72 61 77 4d 65 73 73 61 67 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 e.$rawMessage;...........public.
98cc0 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 24 function.__construct($message,.$
98ce0 70 61 72 73 65 64 4c 69 6e 65 20 3d 20 2d 31 2c 20 24 73 6e 69 70 70 65 74 20 3d 20 6e 75 6c 6c parsedLine.=.-1,.$snippet.=.null
98d00 2c 20 24 70 61 72 73 65 64 46 69 6c 65 20 3d 20 6e 75 6c 6c 2c 20 45 78 63 65 70 74 69 6f 6e 20 ,.$parsedFile.=.null,.Exception.
98d20 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 70 61 72 73 65 $previous.=.null).{.$this->parse
98d40 64 46 69 6c 65 20 3d 20 24 70 61 72 73 65 64 46 69 6c 65 3b 0a 24 74 68 69 73 2d 3e 70 61 72 73 dFile.=.$parsedFile;.$this->pars
98d60 65 64 4c 69 6e 65 20 3d 20 24 70 61 72 73 65 64 4c 69 6e 65 3b 0a 24 74 68 69 73 2d 3e 73 6e 69 edLine.=.$parsedLine;.$this->sni
98d80 70 70 65 74 20 3d 20 24 73 6e 69 70 70 65 74 3b 0a 24 74 68 69 73 2d 3e 72 61 77 4d 65 73 73 61 ppet.=.$snippet;.$this->rawMessa
98da0 67 65 20 3d 20 24 6d 65 73 73 61 67 65 3b 0a 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 52 65 70 ge.=.$message;..$this->updateRep
98dc0 72 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 24 74 68 69 73 2d r();..parent::__construct($this-
98de0 3e 6d 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 0a 0a 0a 0a >message,.0,.$previous);.}......
98e00 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6e 69 70 70 65 74 28 29 0a 7b 0a .public.function.getSnippet().{.
98e20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 6e 69 70 70 65 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 return.$this->snippet;.}.......p
98e40 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 6e 69 70 70 65 74 28 24 73 6e 69 70 70 ublic.function.setSnippet($snipp
98e60 65 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6e 69 70 70 65 74 20 3d 20 24 73 6e 69 70 70 65 74 3b et).{.$this->snippet.=.$snippet;
98e80 0a 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 52 65 70 72 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a ..$this->updateRepr();.}........
98ea0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 72 73 65 64 46 69 6c 65 28 29 .public.function.getParsedFile()
98ec0 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 72 73 65 64 46 69 6c 65 3b 0a 7d 0a 0a .{.return.$this->parsedFile;.}..
98ee0 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 72 73 65 64 46 69 .....public.function.setParsedFi
98f00 6c 65 28 24 70 61 72 73 65 64 46 69 6c 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 64 46 le($parsedFile).{.$this->parsedF
98f20 69 6c 65 20 3d 20 24 70 61 72 73 65 64 46 69 6c 65 3b 0a 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 ile.=.$parsedFile;..$this->updat
98f40 65 52 65 70 72 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 eRepr();.}.......public.function
98f60 20 67 65 74 50 61 72 73 65 64 4c 69 6e 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d .getParsedLine().{.return.$this-
98f80 3e 70 61 72 73 65 64 4c 69 6e 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 >parsedLine;.}.......public.func
98fa0 74 69 6f 6e 20 73 65 74 50 61 72 73 65 64 4c 69 6e 65 28 24 70 61 72 73 65 64 4c 69 6e 65 29 0a tion.setParsedLine($parsedLine).
98fc0 7b 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 64 4c 69 6e 65 20 3d 20 24 70 61 72 73 65 64 4c 69 6e {.$this->parsedLine.=.$parsedLin
98fe0 65 3b 0a 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 52 65 70 72 28 29 3b 0a 7d 0a 0a 70 72 69 76 e;..$this->updateRepr();.}..priv
99000 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 52 65 70 72 28 29 0a 7b 0a 24 74 68 69 ate.function.updateRepr().{.$thi
99020 73 2d 3e 6d 65 73 73 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 72 61 77 4d 65 73 73 61 67 65 3b 0a s->message.=.$this->rawMessage;.
99040 0a 24 64 6f 74 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 27 2e 27 20 3d 3d 3d 20 73 75 62 73 74 .$dot.=.false;.if.('.'.===.subst
99060 72 28 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 2c 20 2d 31 29 29 20 7b 0a 24 74 68 69 73 2d 3e r($this->message,.-1)).{.$this->
99080 6d 65 73 73 61 67 65 20 3d 20 73 75 62 73 74 72 28 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 2c message.=.substr($this->message,
990a0 20 30 2c 20 2d 31 29 3b 0a 24 64 6f 74 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c .0,.-1);.$dot.=.true;.}..if.(nul
990c0 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 64 46 69 6c 65 29 20 7b 0a 24 74 68 69 73 l.!==.$this->parsedFile).{.$this
990e0 2d 3e 6d 65 73 73 61 67 65 20 2e 3d 20 73 70 72 69 6e 74 66 28 27 20 69 6e 20 25 73 27 2c 20 6a ->message..=.sprintf('.in.%s',.j
99100 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 74 68 69 73 2d 3e 70 61 72 73 65 64 46 69 6c 65 29 29 3b 0a son_encode($this->parsedFile));.
99120 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 61 72 73 65 64 4c 69 6e 65 20 3e 3d 20 30 29 20 7b }..if.($this->parsedLine.>=.0).{
99140 0a 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 20 2e 3d 20 73 70 72 69 6e 74 66 28 27 20 61 74 20 .$this->message..=.sprintf('.at.
99160 6c 69 6e 65 20 25 64 27 2c 20 24 74 68 69 73 2d 3e 70 61 72 73 65 64 4c 69 6e 65 29 3b 0a 7d 0a line.%d',.$this->parsedLine);.}.
99180 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 6e 69 70 70 65 74 29 20 7b 0a 24 74 68 69 73 2d 3e 6d 65 .if.($this->snippet).{.$this->me
991a0 73 73 61 67 65 20 2e 3d 20 73 70 72 69 6e 74 66 28 27 20 28 6e 65 61 72 20 22 25 73 22 29 27 2c ssage..=.sprintf('.(near."%s")',
991c0 20 24 74 68 69 73 2d 3e 73 6e 69 70 70 65 74 29 3b 0a 7d 0a 0a 69 66 20 28 24 64 6f 74 29 20 7b .$this->snippet);.}..if.($dot).{
991e0 0a 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 20 2e 3d 20 27 2e 27 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f .$this->message..=.'.';.}.}.}.<?
99200 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\
99220 43 6f 6d 70 6f 6e 65 6e 74 5c 59 61 6d 6c 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a Component\Yaml\Exception;.......
99240 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 0a 7b ..interface.ExceptionInterface.{
99260 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
99280 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 59 61 6d 6c 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a fony\Component\Yaml\Exception;..
992a0 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 65 78 .......class.RuntimeException.ex
992c0 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 65 6e tends.\RuntimeException.implemen
992e0 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 70 0a ts.ExceptionInterface.{.}.<?php.
99300 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
99320 6f 6e 65 6e 74 5c 59 61 6d 6c 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c onent\Yaml\Exception;.........cl
99340 61 73 73 20 44 75 6d 70 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 52 75 6e 74 69 6d ass.DumpException.extends.Runtim
99360 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 0a 6e 61 eException.{.}.<?php..........na
99380 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 59 61 6d 6c 3b 0a mespace.Symfony\Component\Yaml;.
993a0 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 73 63 61 70 65 72 0a 7b 0a 0a 20 63 6f 6e 73 74 20 52 .......class.Escaper.{...const.R
993c0 45 47 45 58 5f 43 48 41 52 41 43 54 45 52 5f 54 4f 5f 45 53 43 41 50 45 20 3d 20 22 5b 5c 5c 78 EGEX_CHARACTER_TO_ESCAPE.=."[\\x
993e0 30 30 2d 5c 5c 78 31 66 5d 7c 5c 78 63 32 5c 78 38 35 7c 5c 78 63 32 5c 78 61 30 7c 5c 78 65 32 00-\\x1f]|\xc2\x85|\xc2\xa0|\xe2
99400 5c 78 38 30 5c 78 61 38 7c 5c 78 65 32 5c 78 38 30 5c 78 61 39 22 3b 0a 0a 0a 20 0a 20 0a 20 0a \x80\xa8|\xe2\x80\xa9";.........
99420 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 65 73 63 61 70 65 65 73 20 3d 20 61 72 72 61 .private.static.$escapees.=.arra
99440 79 28 27 5c 5c 5c 5c 27 2c 20 27 5c 5c 22 27 2c 20 27 22 27 2c 0a 22 5c 78 30 30 22 2c 20 22 5c y('\\\\',.'\\"',.'"',."\x00",."\
99460 78 30 31 22 2c 20 22 5c 78 30 32 22 2c 20 22 5c 78 30 33 22 2c 20 22 5c 78 30 34 22 2c 20 22 5c x01",."\x02",."\x03",."\x04",."\
99480 78 30 35 22 2c 20 22 5c 78 30 36 22 2c 20 22 5c 78 30 37 22 2c 0a 22 5c 78 30 38 22 2c 20 22 5c x05",."\x06",."\x07",."\x08",."\
994a0 78 30 39 22 2c 20 22 5c 78 30 61 22 2c 20 22 5c 78 30 62 22 2c 20 22 5c 78 30 63 22 2c 20 22 5c x09",."\x0a",."\x0b",."\x0c",."\
994c0 78 30 64 22 2c 20 22 5c 78 30 65 22 2c 20 22 5c 78 30 66 22 2c 0a 22 5c 78 31 30 22 2c 20 22 5c x0d",."\x0e",."\x0f",."\x10",."\
994e0 78 31 31 22 2c 20 22 5c 78 31 32 22 2c 20 22 5c 78 31 33 22 2c 20 22 5c 78 31 34 22 2c 20 22 5c x11",."\x12",."\x13",."\x14",."\
99500 78 31 35 22 2c 20 22 5c 78 31 36 22 2c 20 22 5c 78 31 37 22 2c 0a 22 5c 78 31 38 22 2c 20 22 5c x15",."\x16",."\x17",."\x18",."\
99520 78 31 39 22 2c 20 22 5c 78 31 61 22 2c 20 22 5c 78 31 62 22 2c 20 22 5c 78 31 63 22 2c 20 22 5c x19",."\x1a",."\x1b",."\x1c",."\
99540 78 31 64 22 2c 20 22 5c 78 31 65 22 2c 20 22 5c 78 31 66 22 2c 0a 22 5c 78 63 32 5c 78 38 35 22 x1d",."\x1e",."\x1f",."\xc2\x85"
99560 2c 20 22 5c 78 63 32 5c 78 61 30 22 2c 20 22 5c 78 65 32 5c 78 38 30 5c 78 61 38 22 2c 20 22 5c ,."\xc2\xa0",."\xe2\x80\xa8",."\
99580 78 65 32 5c 78 38 30 5c 78 61 39 22 29 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 65 xe2\x80\xa9");.private.static.$e
995a0 73 63 61 70 65 64 20 3d 20 61 72 72 61 79 28 27 5c 5c 22 27 2c 20 27 5c 5c 5c 5c 27 2c 20 27 5c scaped.=.array('\\"',.'\\\\',.'\
995c0 5c 22 27 2c 0a 22 5c 5c 30 22 2c 20 22 5c 5c 78 30 31 22 2c 20 22 5c 5c 78 30 32 22 2c 20 22 5c \"',."\\0",."\\x01",."\\x02",."\
995e0 5c 78 30 33 22 2c 20 22 5c 5c 78 30 34 22 2c 20 22 5c 5c 78 30 35 22 2c 20 22 5c 5c 78 30 36 22 \x03",."\\x04",."\\x05",."\\x06"
99600 2c 20 22 5c 5c 61 22 2c 0a 22 5c 5c 62 22 2c 20 22 5c 5c 74 22 2c 20 22 5c 5c 6e 22 2c 20 22 5c ,."\\a",."\\b",."\\t",."\\n",."\
99620 5c 76 22 2c 20 22 5c 5c 66 22 2c 20 22 5c 5c 72 22 2c 20 22 5c 5c 78 30 65 22 2c 20 22 5c 5c 78 \v",."\\f",."\\r",."\\x0e",."\\x
99640 30 66 22 2c 0a 22 5c 5c 78 31 30 22 2c 20 22 5c 5c 78 31 31 22 2c 20 22 5c 5c 78 31 32 22 2c 20 0f",."\\x10",."\\x11",."\\x12",.
99660 22 5c 5c 78 31 33 22 2c 20 22 5c 5c 78 31 34 22 2c 20 22 5c 5c 78 31 35 22 2c 20 22 5c 5c 78 31 "\\x13",."\\x14",."\\x15",."\\x1
99680 36 22 2c 20 22 5c 5c 78 31 37 22 2c 0a 22 5c 5c 78 31 38 22 2c 20 22 5c 5c 78 31 39 22 2c 20 22 6",."\\x17",."\\x18",."\\x19",."
996a0 5c 5c 78 31 61 22 2c 20 22 5c 5c 65 22 2c 20 22 5c 5c 78 31 63 22 2c 20 22 5c 5c 78 31 64 22 2c \\x1a",."\\e",."\\x1c",."\\x1d",
996c0 20 22 5c 5c 78 31 65 22 2c 20 22 5c 5c 78 31 66 22 2c 0a 22 5c 5c 4e 22 2c 20 22 5c 5c 5f 22 2c ."\\x1e",."\\x1f",."\\N",."\\_",
996e0 20 22 5c 5c 4c 22 2c 20 22 5c 5c 50 22 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 ."\\L",."\\P");.........public.s
99700 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 71 75 69 72 65 73 44 6f 75 62 6c 65 51 75 6f tatic.function.requiresDoubleQuo
99720 74 69 6e 67 28 24 76 61 6c 75 65 29 0a 7b 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 6d 61 74 63 68 ting($value).{.return.preg_match
99740 28 27 2f 27 2e 73 65 6c 66 3a 3a 52 45 47 45 58 5f 43 48 41 52 41 43 54 45 52 5f 54 4f 5f 45 53 ('/'.self::REGEX_CHARACTER_TO_ES
99760 43 41 50 45 2e 27 2f 75 27 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 CAPE.'/u',.$value);.}.........pu
99780 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 57 69 74 68 44 blic.static.function.escapeWithD
997a0 6f 75 62 6c 65 51 75 6f 74 65 73 28 24 76 61 6c 75 65 29 0a 7b 0a 72 65 74 75 72 6e 20 73 70 72 oubleQuotes($value).{.return.spr
997c0 69 6e 74 66 28 27 22 25 73 22 27 2c 20 73 74 72 5f 72 65 70 6c 61 63 65 28 73 65 6c 66 3a 3a 24 intf('"%s"',.str_replace(self::$
997e0 65 73 63 61 70 65 65 73 2c 20 73 65 6c 66 3a 3a 24 65 73 63 61 70 65 64 2c 20 24 76 61 6c 75 65 escapees,.self::$escaped,.$value
99800 29 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 6e 63 ));.}.........public.static.func
99820 74 69 6f 6e 20 72 65 71 75 69 72 65 73 53 69 6e 67 6c 65 51 75 6f 74 69 6e 67 28 24 76 61 6c 75 tion.requiresSingleQuoting($valu
99840 65 29 0a 7b 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5b 20 5c 73 20 5c 27 e).{.return.preg_match('/[.\s.\'
99860 20 22 20 5c 3a 20 5c 7b 20 5c 7d 20 5c 5b 20 5c 5d 20 2c 20 26 20 5c 2a 20 5c 23 20 5c 3f 5d 20 .".\:.\{.\}.\[.\].,.&.\*.\#.\?].
99880 7c 20 5c 41 5b 20 2d 20 3f 20 7c 20 3c 20 3e 20 3d 20 21 20 25 20 40 20 60 20 5d 2f 78 27 2c 20 |.\A[.-.?.|.<.>.=.!.%.@.`.]/x',.
998a0 24 76 61 6c 75 65 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 $value);.}.........public.static
998c0 20 66 75 6e 63 74 69 6f 6e 20 65 73 63 61 70 65 57 69 74 68 53 69 6e 67 6c 65 51 75 6f 74 65 73 .function.escapeWithSingleQuotes
998e0 28 24 76 61 6c 75 65 29 0a 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 22 27 25 73 27 22 ($value).{.return.sprintf("'%s'"
99900 2c 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 27 27 2c 20 27 5c 27 5c 27 27 2c 20 24 76 61 6c ,.str_replace('\'',.'\'\'',.$val
99920 75 65 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 ue));.}.}.<?php..........namespa
99940 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 59 61 6d 6c 3b 0a 0a 75 73 65 20 ce.Symfony\Component\Yaml;..use.
99960 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 59 61 6d 6c 5c 45 78 63 65 70 74 69 6f 6e Symfony\Component\Yaml\Exception
99980 5c 50 61 72 73 65 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 \ParseException;.use.Symfony\Com
999a0 70 6f 6e 65 6e 74 5c 59 61 6d 6c 5c 45 78 63 65 70 74 69 6f 6e 5c 44 75 6d 70 45 78 63 65 70 74 ponent\Yaml\Exception\DumpExcept
999c0 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 6c 69 6e 65 0a 7b 0a 63 6f 6e 73 74 20 ion;.......class.Inline.{.const.
999e0 52 45 47 45 58 5f 51 55 4f 54 45 44 5f 53 54 52 49 4e 47 20 3d 20 27 28 3f 3a 22 28 5b 5e 22 5c REGEX_QUOTED_STRING.=.'(?:"([^"\
99a00 5c 5c 5c 5d 2a 28 3f 3a 5c 5c 5c 5c 2e 5b 5e 22 5c 5c 5c 5c 5d 2a 29 2a 29 22 7c 5c 27 28 5b 5e \\\]*(?:\\\\.[^"\\\\]*)*)"|\'([^
99a20 5c 27 5d 2a 28 3f 3a 5c 27 5c 27 5b 5e 5c 27 5d 2a 29 2a 29 5c 27 29 27 3b 0a 0a 70 72 69 76 61 \']*(?:\'\'[^\']*)*)\')';..priva
99a40 74 65 20 73 74 61 74 69 63 20 24 65 78 63 65 70 74 69 6f 6e 4f 6e 49 6e 76 61 6c 69 64 54 79 70 te.static.$exceptionOnInvalidTyp
99a60 65 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 6f 62 6a 65 63 e.=.false;.private.static.$objec
99a80 74 53 75 70 70 6f 72 74 20 3d 20 66 61 6c 73 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 tSupport.=.false;.............pu
99aa0 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 28 24 76 61 6c 75 blic.static.function.parse($valu
99ac0 65 2c 20 24 65 78 63 65 70 74 69 6f 6e 4f 6e 49 6e 76 61 6c 69 64 54 79 70 65 20 3d 20 66 61 6c e,.$exceptionOnInvalidType.=.fal
99ae0 73 65 2c 20 24 6f 62 6a 65 63 74 53 75 70 70 6f 72 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 73 65 se,.$objectSupport.=.false).{.se
99b00 6c 66 3a 3a 24 65 78 63 65 70 74 69 6f 6e 4f 6e 49 6e 76 61 6c 69 64 54 79 70 65 20 3d 20 24 65 lf::$exceptionOnInvalidType.=.$e
99b20 78 63 65 70 74 69 6f 6e 4f 6e 49 6e 76 61 6c 69 64 54 79 70 65 3b 0a 73 65 6c 66 3a 3a 24 6f 62 xceptionOnInvalidType;.self::$ob
99b40 6a 65 63 74 53 75 70 70 6f 72 74 20 3d 20 24 6f 62 6a 65 63 74 53 75 70 70 6f 72 74 3b 0a 0a 24 jectSupport.=.$objectSupport;..$
99b60 76 61 6c 75 65 20 3d 20 74 72 69 6d 28 24 76 61 6c 75 65 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 20 value.=.trim($value);..if.(0.==.
99b80 73 74 72 6c 65 6e 28 24 76 61 6c 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 0a strlen($value)).{.return.'';.}..
99ba0 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 6d 62 5f 69 6e 74 65 72 6e 61 6c if.(function_exists('mb_internal
99bc0 5f 65 6e 63 6f 64 69 6e 67 27 29 20 26 26 20 28 28 69 6e 74 29 20 69 6e 69 5f 67 65 74 28 27 6d _encoding').&&.((int).ini_get('m
99be0 62 73 74 72 69 6e 67 2e 66 75 6e 63 5f 6f 76 65 72 6c 6f 61 64 27 29 29 20 26 20 32 29 20 7b 0a bstring.func_overload')).&.2).{.
99c00 24 6d 62 45 6e 63 6f 64 69 6e 67 20 3d 20 6d 62 5f 69 6e 74 65 72 6e 61 6c 5f 65 6e 63 6f 64 69 $mbEncoding.=.mb_internal_encodi
99c20 6e 67 28 29 3b 0a 6d 62 5f 69 6e 74 65 72 6e 61 6c 5f 65 6e 63 6f 64 69 6e 67 28 27 41 53 43 49 ng();.mb_internal_encoding('ASCI
99c40 49 27 29 3b 0a 7d 0a 0a 24 69 20 3d 20 30 3b 0a 73 77 69 74 63 68 20 28 24 76 61 6c 75 65 5b 30 I');.}..$i.=.0;.switch.($value[0
99c60 5d 29 20 7b 0a 63 61 73 65 20 27 5b 27 3a 0a 24 72 65 73 75 6c 74 20 3d 20 73 65 6c 66 3a 3a 70 ]).{.case.'[':.$result.=.self::p
99c80 61 72 73 65 53 65 71 75 65 6e 63 65 28 24 76 61 6c 75 65 2c 20 24 69 29 3b 0a 2b 2b 24 69 3b 0a arseSequence($value,.$i);.++$i;.
99ca0 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 7b 27 3a 0a 24 72 65 73 75 6c 74 20 3d 20 73 65 6c 66 3a break;.case.'{':.$result.=.self:
99cc0 3a 70 61 72 73 65 4d 61 70 70 69 6e 67 28 24 76 61 6c 75 65 2c 20 24 69 29 3b 0a 2b 2b 24 69 3b :parseMapping($value,.$i);.++$i;
99ce0 0a 62 72 65 61 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a 24 72 65 73 75 6c 74 20 3d 20 73 65 6c 66 3a .break;.default:.$result.=.self:
99d00 3a 70 61 72 73 65 53 63 61 6c 61 72 28 24 76 61 6c 75 65 2c 20 6e 75 6c 6c 2c 20 61 72 72 61 79 :parseScalar($value,.null,.array
99d20 28 27 22 27 2c 20 22 27 22 29 2c 20 24 69 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 72 ('"',."'"),.$i);.}....if.(preg_r
99d40 65 70 6c 61 63 65 28 27 2f 5c 73 2b 23 2e 2a 24 2f 41 27 2c 20 27 27 2c 20 73 75 62 73 74 72 28 eplace('/\s+#.*$/A',.'',.substr(
99d60 24 76 61 6c 75 65 2c 20 24 69 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 50 61 72 73 65 45 $value,.$i))).{.throw.new.ParseE
99d80 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 55 6e 65 78 70 65 63 74 65 64 20 63 68 61 xception(sprintf('Unexpected.cha
99da0 72 61 63 74 65 72 73 20 6e 65 61 72 20 22 25 73 22 2e 27 2c 20 73 75 62 73 74 72 28 24 76 61 6c racters.near."%s".',.substr($val
99dc0 75 65 2c 20 24 69 29 29 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6d 62 45 6e 63 6f 64 ue,.$i)));.}..if.(isset($mbEncod
99de0 69 6e 67 29 29 20 7b 0a 6d 62 5f 69 6e 74 65 72 6e 61 6c 5f 65 6e 63 6f 64 69 6e 67 28 24 6d 62 ing)).{.mb_internal_encoding($mb
99e00 45 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a Encoding);.}..return.$result;.}.
99e20 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
99e40 6f 6e 20 64 75 6d 70 28 24 76 61 6c 75 65 2c 20 24 65 78 63 65 70 74 69 6f 6e 4f 6e 49 6e 76 61 on.dump($value,.$exceptionOnInva
99e60 6c 69 64 54 79 70 65 20 3d 20 66 61 6c 73 65 2c 20 24 6f 62 6a 65 63 74 53 75 70 70 6f 72 74 20 lidType.=.false,.$objectSupport.
99e80 3d 20 66 61 6c 73 65 29 0a 7b 0a 73 77 69 74 63 68 20 28 74 72 75 65 29 20 7b 0a 63 61 73 65 20 =.false).{.switch.(true).{.case.
99ea0 69 73 5f 72 65 73 6f 75 72 63 65 28 24 76 61 6c 75 65 29 3a 0a 69 66 20 28 24 65 78 63 65 70 74 is_resource($value):.if.($except
99ec0 69 6f 6e 4f 6e 49 6e 76 61 6c 69 64 54 79 70 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 44 75 ionOnInvalidType).{.throw.new.Du
99ee0 6d 70 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 64 mpException(sprintf('Unable.to.d
99f00 75 6d 70 20 50 48 50 20 72 65 73 6f 75 72 63 65 73 20 69 6e 20 61 20 59 41 4d 4c 20 66 69 6c 65 ump.PHP.resources.in.a.YAML.file
99f20 20 28 22 25 73 22 29 2e 27 2c 20 67 65 74 5f 72 65 73 6f 75 72 63 65 5f 74 79 70 65 28 24 76 61 .("%s").',.get_resource_type($va
99f40 6c 75 65 29 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 6e 75 6c 6c 27 3b 0a 63 61 73 65 20 69 lue)));.}..return.'null';.case.i
99f60 73 5f 6f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 3a 0a 69 66 20 28 24 6f 62 6a 65 63 74 53 75 70 s_object($value):.if.($objectSup
99f80 70 6f 72 74 29 20 7b 0a 72 65 74 75 72 6e 20 27 21 21 70 68 70 2f 6f 62 6a 65 63 74 3a 27 2e 73 port).{.return.'!!php/object:'.s
99fa0 65 72 69 61 6c 69 7a 65 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 65 78 63 65 70 74 erialize($value);.}..if.($except
99fc0 69 6f 6e 4f 6e 49 6e 76 61 6c 69 64 54 79 70 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 44 75 ionOnInvalidType).{.throw.new.Du
99fe0 6d 70 45 78 63 65 70 74 69 6f 6e 28 27 4f 62 6a 65 63 74 20 73 75 70 70 6f 72 74 20 77 68 65 6e mpException('Object.support.when
9a000 20 64 75 6d 70 69 6e 67 20 61 20 59 41 4d 4c 20 66 69 6c 65 20 68 61 73 20 62 65 65 6e 20 64 69 .dumping.a.YAML.file.has.been.di
9a020 73 61 62 6c 65 64 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 6e 75 6c 6c 27 3b 0a 63 61 73 sabled.');.}..return.'null';.cas
9a040 65 20 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 65 29 3a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a e.is_array($value):.return.self:
9a060 3a 64 75 6d 70 41 72 72 61 79 28 24 76 61 6c 75 65 2c 20 24 65 78 63 65 70 74 69 6f 6e 4f 6e 49 :dumpArray($value,.$exceptionOnI
9a080 6e 76 61 6c 69 64 54 79 70 65 2c 20 24 6f 62 6a 65 63 74 53 75 70 70 6f 72 74 29 3b 0a 63 61 73 nvalidType,.$objectSupport);.cas
9a0a0 65 20 6e 75 6c 6c 20 3d 3d 3d 20 24 76 61 6c 75 65 3a 0a 72 65 74 75 72 6e 20 27 6e 75 6c 6c 27 e.null.===.$value:.return.'null'
9a0c0 3b 0a 63 61 73 65 20 74 72 75 65 20 3d 3d 3d 20 24 76 61 6c 75 65 3a 0a 72 65 74 75 72 6e 20 27 ;.case.true.===.$value:.return.'
9a0e0 74 72 75 65 27 3b 0a 63 61 73 65 20 66 61 6c 73 65 20 3d 3d 3d 20 24 76 61 6c 75 65 3a 0a 72 65 true';.case.false.===.$value:.re
9a100 74 75 72 6e 20 27 66 61 6c 73 65 27 3b 0a 63 61 73 65 20 63 74 79 70 65 5f 64 69 67 69 74 28 24 turn.'false';.case.ctype_digit($
9a120 76 61 6c 75 65 29 3a 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 value):.return.is_string($value)
9a140 20 3f 20 22 27 24 76 61 6c 75 65 27 22 20 3a 20 28 69 6e 74 29 20 24 76 61 6c 75 65 3b 0a 63 61 .?."'$value'".:.(int).$value;.ca
9a160 73 65 20 69 73 5f 6e 75 6d 65 72 69 63 28 24 76 61 6c 75 65 29 3a 0a 24 6c 6f 63 61 6c 65 20 3d se.is_numeric($value):.$locale.=
9a180 20 73 65 74 6c 6f 63 61 6c 65 28 4c 43 5f 4e 55 4d 45 52 49 43 2c 20 30 29 3b 0a 69 66 20 28 66 .setlocale(LC_NUMERIC,.0);.if.(f
9a1a0 61 6c 73 65 20 21 3d 3d 20 24 6c 6f 63 61 6c 65 29 20 7b 0a 73 65 74 6c 6f 63 61 6c 65 28 4c 43 alse.!==.$locale).{.setlocale(LC
9a1c0 5f 4e 55 4d 45 52 49 43 2c 20 27 43 27 29 3b 0a 7d 0a 24 72 65 70 72 20 3d 20 69 73 5f 73 74 72 _NUMERIC,.'C');.}.$repr.=.is_str
9a1e0 69 6e 67 28 24 76 61 6c 75 65 29 20 3f 20 22 27 24 76 61 6c 75 65 27 22 20 3a 20 28 69 73 5f 69 ing($value).?."'$value'".:.(is_i
9a200 6e 66 69 6e 69 74 65 28 24 76 61 6c 75 65 29 20 3f 20 73 74 72 5f 69 72 65 70 6c 61 63 65 28 27 nfinite($value).?.str_ireplace('
9a220 49 4e 46 27 2c 20 27 2e 49 6e 66 27 2c 20 73 74 72 76 61 6c 28 24 76 61 6c 75 65 29 29 20 3a 20 INF',.'.Inf',.strval($value)).:.
9a240 73 74 72 76 61 6c 28 24 76 61 6c 75 65 29 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 strval($value));..if.(false.!==.
9a260 24 6c 6f 63 61 6c 65 29 20 7b 0a 73 65 74 6c 6f 63 61 6c 65 28 4c 43 5f 4e 55 4d 45 52 49 43 2c $locale).{.setlocale(LC_NUMERIC,
9a280 20 24 6c 6f 63 61 6c 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 70 72 3b 0a 63 61 73 65 .$locale);.}..return.$repr;.case
9a2a0 20 45 73 63 61 70 65 72 3a 3a 72 65 71 75 69 72 65 73 44 6f 75 62 6c 65 51 75 6f 74 69 6e 67 28 .Escaper::requiresDoubleQuoting(
9a2c0 24 76 61 6c 75 65 29 3a 0a 72 65 74 75 72 6e 20 45 73 63 61 70 65 72 3a 3a 65 73 63 61 70 65 57 $value):.return.Escaper::escapeW
9a2e0 69 74 68 44 6f 75 62 6c 65 51 75 6f 74 65 73 28 24 76 61 6c 75 65 29 3b 0a 63 61 73 65 20 45 73 ithDoubleQuotes($value);.case.Es
9a300 63 61 70 65 72 3a 3a 72 65 71 75 69 72 65 73 53 69 6e 67 6c 65 51 75 6f 74 69 6e 67 28 24 76 61 caper::requiresSingleQuoting($va
9a320 6c 75 65 29 3a 0a 72 65 74 75 72 6e 20 45 73 63 61 70 65 72 3a 3a 65 73 63 61 70 65 57 69 74 68 lue):.return.Escaper::escapeWith
9a340 53 69 6e 67 6c 65 51 75 6f 74 65 73 28 24 76 61 6c 75 65 29 3b 0a 63 61 73 65 20 27 27 20 3d 3d SingleQuotes($value);.case.''.==
9a360 20 24 76 61 6c 75 65 3a 0a 72 65 74 75 72 6e 20 22 27 27 22 3b 0a 63 61 73 65 20 70 72 65 67 5f .$value:.return."''";.case.preg_
9a380 6d 61 74 63 68 28 73 65 6c 66 3a 3a 67 65 74 54 69 6d 65 73 74 61 6d 70 52 65 67 65 78 28 29 2c match(self::getTimestampRegex(),
9a3a0 20 24 76 61 6c 75 65 29 3a 0a 63 61 73 65 20 69 6e 5f 61 72 72 61 79 28 73 74 72 74 6f 6c 6f 77 .$value):.case.in_array(strtolow
9a3c0 65 72 28 24 76 61 6c 75 65 29 2c 20 61 72 72 61 79 28 27 6e 75 6c 6c 27 2c 20 27 7e 27 2c 20 27 er($value),.array('null',.'~',.'
9a3e0 74 72 75 65 27 2c 20 27 66 61 6c 73 65 27 29 29 3a 0a 72 65 74 75 72 6e 20 22 27 24 76 61 6c 75 true',.'false')):.return."'$valu
9a400 65 27 22 3b 0a 64 65 66 61 75 6c 74 3a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a 7d e'";.default:.return.$value;.}.}
9a420 0a 0a 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 6e 63 74 69 ...........private.static.functi
9a440 6f 6e 20 64 75 6d 70 41 72 72 61 79 28 24 76 61 6c 75 65 2c 20 24 65 78 63 65 70 74 69 6f 6e 4f on.dumpArray($value,.$exceptionO
9a460 6e 49 6e 76 61 6c 69 64 54 79 70 65 2c 20 24 6f 62 6a 65 63 74 53 75 70 70 6f 72 74 29 0a 7b 0a nInvalidType,.$objectSupport).{.
9a480 0a 20 24 6b 65 79 73 20 3d 20 61 72 72 61 79 5f 6b 65 79 73 28 24 76 61 6c 75 65 29 3b 0a 69 66 ..$keys.=.array_keys($value);.if
9a4a0 20 28 28 31 20 3d 3d 20 63 6f 75 6e 74 28 24 6b 65 79 73 29 20 26 26 20 27 30 27 20 3d 3d 20 24 .((1.==.count($keys).&&.'0'.==.$
9a4c0 6b 65 79 73 5b 30 5d 29 0a 7c 7c 20 28 63 6f 75 6e 74 28 24 6b 65 79 73 29 20 3e 20 31 20 26 26 keys[0]).||.(count($keys).>.1.&&
9a4e0 20 61 72 72 61 79 5f 72 65 64 75 63 65 28 24 6b 65 79 73 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 .array_reduce($keys,.function.($
9a500 76 2c 20 24 77 29 20 7b 20 72 65 74 75 72 6e 20 28 69 6e 74 65 67 65 72 29 20 24 76 20 2b 20 24 v,.$w).{.return.(integer).$v.+.$
9a520 77 3b 20 7d 2c 20 30 29 20 3d 3d 20 63 6f 75 6e 74 28 24 6b 65 79 73 29 20 2a 20 28 63 6f 75 6e w;.},.0).==.count($keys).*.(coun
9a540 74 28 24 6b 65 79 73 29 20 2d 20 31 29 20 2f 20 32 29 0a 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d t($keys).-.1)./.2).).{.$output.=
9a560 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 76 61 6c 75 65 20 61 73 20 24 76 61 .array();.foreach.($value.as.$va
9a580 6c 29 20 7b 0a 24 6f 75 74 70 75 74 5b 5d 20 3d 20 73 65 6c 66 3a 3a 64 75 6d 70 28 24 76 61 6c l).{.$output[].=.self::dump($val
9a5a0 2c 20 24 65 78 63 65 70 74 69 6f 6e 4f 6e 49 6e 76 61 6c 69 64 54 79 70 65 2c 20 24 6f 62 6a 65 ,.$exceptionOnInvalidType,.$obje
9a5c0 63 74 53 75 70 70 6f 72 74 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 5b ctSupport);.}..return.sprintf('[
9a5e0 25 73 5d 27 2c 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 6f 75 74 70 75 74 29 29 3b 0a 7d %s]',.implode(',.',.$output));.}
9a600 0a 0a 0a 20 24 6f 75 74 70 75 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 ....$output.=.array();.foreach.(
9a620 24 76 61 6c 75 65 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 29 20 7b 0a 24 6f 75 74 70 75 $value.as.$key.=>.$val).{.$outpu
9a640 74 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 27 25 73 3a 20 25 73 27 2c 20 73 65 6c 66 3a 3a 64 75 t[].=.sprintf('%s:.%s',.self::du
9a660 6d 70 28 24 6b 65 79 2c 20 24 65 78 63 65 70 74 69 6f 6e 4f 6e 49 6e 76 61 6c 69 64 54 79 70 65 mp($key,.$exceptionOnInvalidType
9a680 2c 20 24 6f 62 6a 65 63 74 53 75 70 70 6f 72 74 29 2c 20 73 65 6c 66 3a 3a 64 75 6d 70 28 24 76 ,.$objectSupport),.self::dump($v
9a6a0 61 6c 2c 20 24 65 78 63 65 70 74 69 6f 6e 4f 6e 49 6e 76 61 6c 69 64 54 79 70 65 2c 20 24 6f 62 al,.$exceptionOnInvalidType,.$ob
9a6c0 6a 65 63 74 53 75 70 70 6f 72 74 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 jectSupport));.}..return.sprintf
9a6e0 28 27 7b 20 25 73 20 7d 27 2c 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 6f 75 74 70 75 74 ('{.%s.}',.implode(',.',.$output
9a700 29 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 73 74 61 74 69 ));.}...............public.stati
9a720 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 53 63 61 6c 61 72 28 24 73 63 61 6c 61 72 2c 20 c.function.parseScalar($scalar,.
9a740 24 64 65 6c 69 6d 69 74 65 72 73 20 3d 20 6e 75 6c 6c 2c 20 24 73 74 72 69 6e 67 44 65 6c 69 6d $delimiters.=.null,.$stringDelim
9a760 69 74 65 72 73 20 3d 20 61 72 72 61 79 28 27 22 27 2c 20 22 27 22 29 2c 20 26 24 69 20 3d 20 30 iters.=.array('"',."'"),.&$i.=.0
9a780 2c 20 24 65 76 61 6c 75 61 74 65 20 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 28 69 6e 5f 61 72 72 ,.$evaluate.=.true).{.if.(in_arr
9a7a0 61 79 28 24 73 63 61 6c 61 72 5b 24 69 5d 2c 20 24 73 74 72 69 6e 67 44 65 6c 69 6d 69 74 65 72 ay($scalar[$i],.$stringDelimiter
9a7c0 73 29 29 20 7b 0a 0a 20 24 6f 75 74 70 75 74 20 3d 20 73 65 6c 66 3a 3a 70 61 72 73 65 51 75 6f s)).{...$output.=.self::parseQuo
9a7e0 74 65 64 53 63 61 6c 61 72 28 24 73 63 61 6c 61 72 2c 20 24 69 29 3b 0a 0a 69 66 20 28 6e 75 6c tedScalar($scalar,.$i);..if.(nul
9a800 6c 20 21 3d 3d 20 24 64 65 6c 69 6d 69 74 65 72 73 29 20 7b 0a 24 74 6d 70 20 3d 20 6c 74 72 69 l.!==.$delimiters).{.$tmp.=.ltri
9a820 6d 28 73 75 62 73 74 72 28 24 73 63 61 6c 61 72 2c 20 24 69 29 2c 20 27 20 27 29 3b 0a 69 66 20 m(substr($scalar,.$i),.'.');.if.
9a840 28 21 69 6e 5f 61 72 72 61 79 28 24 74 6d 70 5b 30 5d 2c 20 24 64 65 6c 69 6d 69 74 65 72 73 29 (!in_array($tmp[0],.$delimiters)
9a860 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 50 61 72 73 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 ).{.throw.new.ParseException(spr
9a880 69 6e 74 66 28 27 55 6e 65 78 70 65 63 74 65 64 20 63 68 61 72 61 63 74 65 72 73 20 28 25 73 29 intf('Unexpected.characters.(%s)
9a8a0 2e 27 2c 20 73 75 62 73 74 72 28 24 73 63 61 6c 61 72 2c 20 24 69 29 29 29 3b 0a 7d 0a 7d 0a 7d .',.substr($scalar,.$i)));.}.}.}
9a8c0 20 65 6c 73 65 20 7b 0a 0a 20 69 66 20 28 21 24 64 65 6c 69 6d 69 74 65 72 73 29 20 7b 0a 24 6f .else.{...if.(!$delimiters).{.$o
9a8e0 75 74 70 75 74 20 3d 20 73 75 62 73 74 72 28 24 73 63 61 6c 61 72 2c 20 24 69 29 3b 0a 24 69 20 utput.=.substr($scalar,.$i);.$i.
9a900 2b 3d 20 73 74 72 6c 65 6e 28 24 6f 75 74 70 75 74 29 3b 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 +=.strlen($output);....if.(false
9a920 20 21 3d 3d 20 24 73 74 72 70 6f 73 20 3d 20 73 74 72 70 6f 73 28 24 6f 75 74 70 75 74 2c 20 27 .!==.$strpos.=.strpos($output,.'
9a940 20 23 27 29 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 72 74 72 69 6d 28 73 75 62 73 74 72 28 24 .#')).{.$output.=.rtrim(substr($
9a960 6f 75 74 70 75 74 2c 20 30 2c 20 24 73 74 72 70 6f 73 29 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 output,.0,.$strpos));.}.}.elseif
9a980 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 28 2e 2b 3f 29 28 27 2e 69 6d 70 6c 6f 64 65 28 .(preg_match('/^(.+?)('.implode(
9a9a0 27 7c 27 2c 20 24 64 65 6c 69 6d 69 74 65 72 73 29 2e 27 29 2f 27 2c 20 73 75 62 73 74 72 28 24 '|',.$delimiters).')/',.substr($
9a9c0 73 63 61 6c 61 72 2c 20 24 69 29 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 6f 75 74 70 75 74 20 scalar,.$i),.$match)).{.$output.
9a9e0 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 24 69 20 2b 3d 20 73 74 72 6c 65 6e 28 24 6f 75 74 70 75 =.$match[1];.$i.+=.strlen($outpu
9aa00 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 50 61 72 73 65 45 78 63 65 t);.}.else.{.throw.new.ParseExce
9aa20 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 4d 61 6c 66 6f 72 6d 65 64 20 69 6e 6c 69 6e 65 20 ption(sprintf('Malformed.inline.
9aa40 59 41 4d 4c 20 73 74 72 69 6e 67 20 28 25 73 29 2e 27 2c 20 24 73 63 61 6c 61 72 29 29 3b 0a 7d YAML.string.(%s).',.$scalar));.}
9aa60 0a 0a 24 6f 75 74 70 75 74 20 3d 20 24 65 76 61 6c 75 61 74 65 20 3f 20 73 65 6c 66 3a 3a 65 76 ..$output.=.$evaluate.?.self::ev
9aa80 61 6c 75 61 74 65 53 63 61 6c 61 72 28 24 6f 75 74 70 75 74 29 20 3a 20 24 6f 75 74 70 75 74 3b aluateScalar($output).:.$output;
9aaa0 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 0a 0a 0a 0a 0a .}..return.$output;.}...........
9aac0 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 70 61 72 73 65 51 75 .private.static.function.parseQu
9aae0 6f 74 65 64 53 63 61 6c 61 72 28 24 73 63 61 6c 61 72 2c 20 26 24 69 29 0a 7b 0a 69 66 20 28 21 otedScalar($scalar,.&$i).{.if.(!
9ab00 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 27 2e 73 65 6c 66 3a 3a 52 45 47 45 58 5f 51 55 4f 54 45 preg_match('/'.self::REGEX_QUOTE
9ab20 44 5f 53 54 52 49 4e 47 2e 27 2f 41 75 27 2c 20 73 75 62 73 74 72 28 24 73 63 61 6c 61 72 2c 20 D_STRING.'/Au',.substr($scalar,.
9ab40 24 69 29 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 50 61 72 73 65 45 $i),.$match)).{.throw.new.ParseE
9ab60 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 4d 61 6c 66 6f 72 6d 65 64 20 69 6e 6c 69 xception(sprintf('Malformed.inli
9ab80 6e 65 20 59 41 4d 4c 20 73 74 72 69 6e 67 20 28 25 73 29 2e 27 2c 20 73 75 62 73 74 72 28 24 73 ne.YAML.string.(%s).',.substr($s
9aba0 63 61 6c 61 72 2c 20 24 69 29 29 29 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 20 3d 20 73 75 62 73 74 calar,.$i)));.}..$output.=.subst
9abc0 72 28 24 6d 61 74 63 68 5b 30 5d 2c 20 31 2c 20 73 74 72 6c 65 6e 28 24 6d 61 74 63 68 5b 30 5d r($match[0],.1,.strlen($match[0]
9abe0 29 20 2d 20 32 29 3b 0a 0a 24 75 6e 65 73 63 61 70 65 72 20 3d 20 6e 65 77 20 55 6e 65 73 63 61 ).-.2);..$unescaper.=.new.Unesca
9ac00 70 65 72 28 29 3b 0a 69 66 20 28 27 22 27 20 3d 3d 20 24 73 63 61 6c 61 72 5b 24 69 5d 29 20 7b per();.if.('"'.==.$scalar[$i]).{
9ac20 0a 24 6f 75 74 70 75 74 20 3d 20 24 75 6e 65 73 63 61 70 65 72 2d 3e 75 6e 65 73 63 61 70 65 44 .$output.=.$unescaper->unescapeD
9ac40 6f 75 62 6c 65 51 75 6f 74 65 64 53 74 72 69 6e 67 28 24 6f 75 74 70 75 74 29 3b 0a 7d 20 65 6c oubleQuotedString($output);.}.el
9ac60 73 65 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 75 6e 65 73 63 61 70 65 72 2d 3e 75 6e 65 73 63 se.{.$output.=.$unescaper->unesc
9ac80 61 70 65 53 69 6e 67 6c 65 51 75 6f 74 65 64 53 74 72 69 6e 67 28 24 6f 75 74 70 75 74 29 3b 0a apeSingleQuotedString($output);.
9aca0 7d 0a 0a 24 69 20 2b 3d 20 73 74 72 6c 65 6e 28 24 6d 61 74 63 68 5b 30 5d 29 3b 0a 0a 72 65 74 }..$i.+=.strlen($match[0]);..ret
9acc0 75 72 6e 20 24 6f 75 74 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 urn.$output;.}............privat
9ace0 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 53 65 71 75 65 6e 63 65 28 e.static.function.parseSequence(
9ad00 24 73 65 71 75 65 6e 63 65 2c 20 26 24 69 20 3d 20 30 29 0a 7b 0a 24 6f 75 74 70 75 74 20 3d 20 $sequence,.&$i.=.0).{.$output.=.
9ad20 61 72 72 61 79 28 29 3b 0a 24 6c 65 6e 20 3d 20 73 74 72 6c 65 6e 28 24 73 65 71 75 65 6e 63 65 array();.$len.=.strlen($sequence
9ad40 29 3b 0a 24 69 20 2b 3d 20 31 3b 0a 0a 0a 20 77 68 69 6c 65 20 28 24 69 20 3c 20 24 6c 65 6e 29 );.$i.+=.1;....while.($i.<.$len)
9ad60 20 7b 0a 73 77 69 74 63 68 20 28 24 73 65 71 75 65 6e 63 65 5b 24 69 5d 29 20 7b 0a 63 61 73 65 .{.switch.($sequence[$i]).{.case
9ad80 20 27 5b 27 3a 0a 0a 20 24 6f 75 74 70 75 74 5b 5d 20 3d 20 73 65 6c 66 3a 3a 70 61 72 73 65 53 .'[':...$output[].=.self::parseS
9ada0 65 71 75 65 6e 63 65 28 24 73 65 71 75 65 6e 63 65 2c 20 24 69 29 3b 0a 62 72 65 61 6b 3b 0a 63 equence($sequence,.$i);.break;.c
9adc0 61 73 65 20 27 7b 27 3a 0a 0a 20 24 6f 75 74 70 75 74 5b 5d 20 3d 20 73 65 6c 66 3a 3a 70 61 72 ase.'{':...$output[].=.self::par
9ade0 73 65 4d 61 70 70 69 6e 67 28 24 73 65 71 75 65 6e 63 65 2c 20 24 69 29 3b 0a 62 72 65 61 6b 3b seMapping($sequence,.$i);.break;
9ae00 0a 63 61 73 65 20 27 5d 27 3a 0a 72 65 74 75 72 6e 20 24 6f 75 74 70 75 74 3b 0a 63 61 73 65 20 .case.']':.return.$output;.case.
9ae20 27 2c 27 3a 0a 63 61 73 65 20 27 20 27 3a 0a 62 72 65 61 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a 24 ',':.case.'.':.break;.default:.$
9ae40 69 73 51 75 6f 74 65 64 20 3d 20 69 6e 5f 61 72 72 61 79 28 24 73 65 71 75 65 6e 63 65 5b 24 69 isQuoted.=.in_array($sequence[$i
9ae60 5d 2c 20 61 72 72 61 79 28 27 22 27 2c 20 22 27 22 29 29 3b 0a 24 76 61 6c 75 65 20 3d 20 73 65 ],.array('"',."'"));.$value.=.se
9ae80 6c 66 3a 3a 70 61 72 73 65 53 63 61 6c 61 72 28 24 73 65 71 75 65 6e 63 65 2c 20 61 72 72 61 79 lf::parseScalar($sequence,.array
9aea0 28 27 2c 27 2c 20 27 5d 27 29 2c 20 61 72 72 61 79 28 27 22 27 2c 20 22 27 22 29 2c 20 24 69 29 (',',.']'),.array('"',."'"),.$i)
9aec0 3b 0a 0a 69 66 20 28 21 24 69 73 51 75 6f 74 65 64 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 ;..if.(!$isQuoted.&&.false.!==.s
9aee0 74 72 70 6f 73 28 24 76 61 6c 75 65 2c 20 27 3a 20 27 29 29 20 7b 0a 0a 20 74 72 79 20 7b 0a 24 trpos($value,.':.')).{...try.{.$
9af00 76 61 6c 75 65 20 3d 20 73 65 6c 66 3a 3a 70 61 72 73 65 4d 61 70 70 69 6e 67 28 27 7b 27 2e 24 value.=.self::parseMapping('{'.$
9af20 76 61 6c 75 65 2e 27 7d 27 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 49 6e 76 61 6c 69 64 41 72 67 value.'}');.}.catch.(\InvalidArg
9af40 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 7d 0a 7d 0a 0a 24 6f 75 74 umentException.$e).{...}.}..$out
9af60 70 75 74 5b 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 0a 2d 2d 24 69 3b 0a 7d 0a 0a 2b 2b 24 69 3b 0a put[].=.$value;..--$i;.}..++$i;.
9af80 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 50 61 72 73 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 }..throw.new.ParseException(spri
9afa0 6e 74 66 28 27 4d 61 6c 66 6f 72 6d 65 64 20 69 6e 6c 69 6e 65 20 59 41 4d 4c 20 73 74 72 69 6e ntf('Malformed.inline.YAML.strin
9afc0 67 20 25 73 27 2c 20 24 73 65 71 75 65 6e 63 65 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a g.%s',.$sequence));.}...........
9afe0 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 70 61 72 73 65 4d 61 .private.static.function.parseMa
9b000 70 70 69 6e 67 28 24 6d 61 70 70 69 6e 67 2c 20 26 24 69 20 3d 20 30 29 0a 7b 0a 24 6f 75 74 70 pping($mapping,.&$i.=.0).{.$outp
9b020 75 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 6c 65 6e 20 3d 20 73 74 72 6c 65 6e 28 24 6d 61 70 ut.=.array();.$len.=.strlen($map
9b040 70 69 6e 67 29 3b 0a 24 69 20 2b 3d 20 31 3b 0a 0a 0a 20 77 68 69 6c 65 20 28 24 69 20 3c 20 24 ping);.$i.+=.1;....while.($i.<.$
9b060 6c 65 6e 29 20 7b 0a 73 77 69 74 63 68 20 28 24 6d 61 70 70 69 6e 67 5b 24 69 5d 29 20 7b 0a 63 len).{.switch.($mapping[$i]).{.c
9b080 61 73 65 20 27 20 27 3a 0a 63 61 73 65 20 27 2c 27 3a 0a 2b 2b 24 69 3b 0a 63 6f 6e 74 69 6e 75 ase.'.':.case.',':.++$i;.continu
9b0a0 65 20 32 3b 0a 63 61 73 65 20 27 7d 27 3a 0a 72 65 74 75 72 6e 20 24 6f 75 74 70 75 74 3b 0a 7d e.2;.case.'}':.return.$output;.}
9b0c0 0a 0a 0a 20 24 6b 65 79 20 3d 20 73 65 6c 66 3a 3a 70 61 72 73 65 53 63 61 6c 61 72 28 24 6d 61 ....$key.=.self::parseScalar($ma
9b0e0 70 70 69 6e 67 2c 20 61 72 72 61 79 28 27 3a 27 2c 20 27 20 27 29 2c 20 61 72 72 61 79 28 27 22 pping,.array(':',.'.'),.array('"
9b100 27 2c 20 22 27 22 29 2c 20 24 69 2c 20 66 61 6c 73 65 29 3b 0a 0a 0a 20 24 64 6f 6e 65 20 3d 20 ',."'"),.$i,.false);....$done.=.
9b120 66 61 6c 73 65 3b 0a 77 68 69 6c 65 20 28 24 69 20 3c 20 24 6c 65 6e 29 20 7b 0a 73 77 69 74 63 false;.while.($i.<.$len).{.switc
9b140 68 20 28 24 6d 61 70 70 69 6e 67 5b 24 69 5d 29 20 7b 0a 63 61 73 65 20 27 5b 27 3a 0a 0a 20 24 h.($mapping[$i]).{.case.'[':...$
9b160 6f 75 74 70 75 74 5b 24 6b 65 79 5d 20 3d 20 73 65 6c 66 3a 3a 70 61 72 73 65 53 65 71 75 65 6e output[$key].=.self::parseSequen
9b180 63 65 28 24 6d 61 70 70 69 6e 67 2c 20 24 69 29 3b 0a 24 64 6f 6e 65 20 3d 20 74 72 75 65 3b 0a ce($mapping,.$i);.$done.=.true;.
9b1a0 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 7b 27 3a 0a 0a 20 24 6f 75 74 70 75 74 5b 24 6b 65 79 5d break;.case.'{':...$output[$key]
9b1c0 20 3d 20 73 65 6c 66 3a 3a 70 61 72 73 65 4d 61 70 70 69 6e 67 28 24 6d 61 70 70 69 6e 67 2c 20 .=.self::parseMapping($mapping,.
9b1e0 24 69 29 3b 0a 24 64 6f 6e 65 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 $i);.$done.=.true;.break;.case.'
9b200 3a 27 3a 0a 63 61 73 65 20 27 20 27 3a 0a 62 72 65 61 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a 24 6f :':.case.'.':.break;.default:.$o
9b220 75 74 70 75 74 5b 24 6b 65 79 5d 20 3d 20 73 65 6c 66 3a 3a 70 61 72 73 65 53 63 61 6c 61 72 28 utput[$key].=.self::parseScalar(
9b240 24 6d 61 70 70 69 6e 67 2c 20 61 72 72 61 79 28 27 2c 27 2c 20 27 7d 27 29 2c 20 61 72 72 61 79 $mapping,.array(',',.'}'),.array
9b260 28 27 22 27 2c 20 22 27 22 29 2c 20 24 69 29 3b 0a 24 64 6f 6e 65 20 3d 20 74 72 75 65 3b 0a 2d ('"',."'"),.$i);.$done.=.true;.-
9b280 2d 24 69 3b 0a 7d 0a 0a 2b 2b 24 69 3b 0a 0a 69 66 20 28 24 64 6f 6e 65 29 20 7b 0a 63 6f 6e 74 -$i;.}..++$i;..if.($done).{.cont
9b2a0 69 6e 75 65 20 32 3b 0a 7d 0a 7d 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 50 61 72 73 65 45 78 inue.2;.}.}.}..throw.new.ParseEx
9b2c0 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 4d 61 6c 66 6f 72 6d 65 64 20 69 6e 6c 69 6e ception(sprintf('Malformed.inlin
9b2e0 65 20 59 41 4d 4c 20 73 74 72 69 6e 67 20 25 73 27 2c 20 24 6d 61 70 70 69 6e 67 29 29 3b 0a 7d e.YAML.string.%s',.$mapping));.}
9b300 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 6e 63 74 69 6f 6e .........private.static.function
9b320 20 65 76 61 6c 75 61 74 65 53 63 61 6c 61 72 28 24 73 63 61 6c 61 72 29 0a 7b 0a 24 73 63 61 6c .evaluateScalar($scalar).{.$scal
9b340 61 72 20 3d 20 74 72 69 6d 28 24 73 63 61 6c 61 72 29 3b 0a 0a 73 77 69 74 63 68 20 28 74 72 75 ar.=.trim($scalar);..switch.(tru
9b360 65 29 20 7b 0a 63 61 73 65 20 27 6e 75 6c 6c 27 20 3d 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 e).{.case.'null'.==.strtolower($
9b380 73 63 61 6c 61 72 29 3a 0a 63 61 73 65 20 27 27 20 3d 3d 20 24 73 63 61 6c 61 72 3a 0a 63 61 73 scalar):.case.''.==.$scalar:.cas
9b3a0 65 20 27 7e 27 20 3d 3d 20 24 73 63 61 6c 61 72 3a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 63 e.'~'.==.$scalar:.return.null;.c
9b3c0 61 73 65 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 73 63 61 6c 61 72 2c 20 27 21 73 74 72 27 ase.0.===.strpos($scalar,.'!str'
9b3e0 29 3a 0a 72 65 74 75 72 6e 20 28 73 74 72 69 6e 67 29 20 73 75 62 73 74 72 28 24 73 63 61 6c 61 ):.return.(string).substr($scala
9b400 72 2c 20 35 29 3b 0a 63 61 73 65 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 73 63 61 6c 61 72 r,.5);.case.0.===.strpos($scalar
9b420 2c 20 27 21 20 27 29 3a 0a 72 65 74 75 72 6e 20 69 6e 74 76 61 6c 28 73 65 6c 66 3a 3a 70 61 72 ,.'!.'):.return.intval(self::par
9b440 73 65 53 63 61 6c 61 72 28 73 75 62 73 74 72 28 24 73 63 61 6c 61 72 2c 20 32 29 29 29 3b 0a 63 seScalar(substr($scalar,.2)));.c
9b460 61 73 65 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 73 63 61 6c 61 72 2c 20 27 21 21 70 68 70 ase.0.===.strpos($scalar,.'!!php
9b480 2f 6f 62 6a 65 63 74 3a 27 29 3a 0a 69 66 20 28 73 65 6c 66 3a 3a 24 6f 62 6a 65 63 74 53 75 70 /object:'):.if.(self::$objectSup
9b4a0 70 6f 72 74 29 20 7b 0a 72 65 74 75 72 6e 20 75 6e 73 65 72 69 61 6c 69 7a 65 28 73 75 62 73 74 port).{.return.unserialize(subst
9b4c0 72 28 24 73 63 61 6c 61 72 2c 20 31 33 29 29 3b 0a 7d 0a 0a 69 66 20 28 73 65 6c 66 3a 3a 24 65 r($scalar,.13));.}..if.(self::$e
9b4e0 78 63 65 70 74 69 6f 6e 4f 6e 49 6e 76 61 6c 69 64 54 79 70 65 29 20 7b 0a 74 68 72 6f 77 20 6e xceptionOnInvalidType).{.throw.n
9b500 65 77 20 50 61 72 73 65 45 78 63 65 70 74 69 6f 6e 28 27 4f 62 6a 65 63 74 20 73 75 70 70 6f 72 ew.ParseException('Object.suppor
9b520 74 20 77 68 65 6e 20 70 61 72 73 69 6e 67 20 61 20 59 41 4d 4c 20 66 69 6c 65 20 68 61 73 20 62 t.when.parsing.a.YAML.file.has.b
9b540 65 65 6e 20 64 69 73 61 62 6c 65 64 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b een.disabled.');.}..return.null;
9b560 0a 63 61 73 65 20 63 74 79 70 65 5f 64 69 67 69 74 28 24 73 63 61 6c 61 72 29 3a 0a 24 72 61 77 .case.ctype_digit($scalar):.$raw
9b580 20 3d 20 24 73 63 61 6c 61 72 3b 0a 24 63 61 73 74 20 3d 20 69 6e 74 76 61 6c 28 24 73 63 61 6c .=.$scalar;.$cast.=.intval($scal
9b5a0 61 72 29 3b 0a 0a 72 65 74 75 72 6e 20 27 30 27 20 3d 3d 20 24 73 63 61 6c 61 72 5b 30 5d 20 3f ar);..return.'0'.==.$scalar[0].?
9b5c0 20 6f 63 74 64 65 63 28 24 73 63 61 6c 61 72 29 20 3a 20 28 28 28 73 74 72 69 6e 67 29 20 24 72 .octdec($scalar).:.(((string).$r
9b5e0 61 77 20 3d 3d 20 28 73 74 72 69 6e 67 29 20 24 63 61 73 74 29 20 3f 20 24 63 61 73 74 20 3a 20 aw.==.(string).$cast).?.$cast.:.
9b600 24 72 61 77 29 3b 0a 63 61 73 65 20 27 2d 27 20 3d 3d 3d 20 24 73 63 61 6c 61 72 5b 30 5d 20 26 $raw);.case.'-'.===.$scalar[0].&
9b620 26 20 63 74 79 70 65 5f 64 69 67 69 74 28 73 75 62 73 74 72 28 24 73 63 61 6c 61 72 2c 20 31 29 &.ctype_digit(substr($scalar,.1)
9b640 29 3a 0a 24 72 61 77 20 3d 20 24 73 63 61 6c 61 72 3b 0a 24 63 61 73 74 20 3d 20 69 6e 74 76 61 ):.$raw.=.$scalar;.$cast.=.intva
9b660 6c 28 24 73 63 61 6c 61 72 29 3b 0a 0a 72 65 74 75 72 6e 20 27 30 27 20 3d 3d 20 24 73 63 61 6c l($scalar);..return.'0'.==.$scal
9b680 61 72 5b 31 5d 20 3f 20 6f 63 74 64 65 63 28 24 73 63 61 6c 61 72 29 20 3a 20 28 28 28 73 74 72 ar[1].?.octdec($scalar).:.(((str
9b6a0 69 6e 67 29 20 24 72 61 77 20 3d 3d 20 28 73 74 72 69 6e 67 29 20 24 63 61 73 74 29 20 3f 20 24 ing).$raw.==.(string).$cast).?.$
9b6c0 63 61 73 74 20 3a 20 24 72 61 77 29 3b 0a 63 61 73 65 20 27 74 72 75 65 27 20 3d 3d 3d 20 73 74 cast.:.$raw);.case.'true'.===.st
9b6e0 72 74 6f 6c 6f 77 65 72 28 24 73 63 61 6c 61 72 29 3a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a rtolower($scalar):.return.true;.
9b700 63 61 73 65 20 27 66 61 6c 73 65 27 20 3d 3d 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 73 63 61 case.'false'.===.strtolower($sca
9b720 6c 61 72 29 3a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 63 61 73 65 20 69 73 5f 6e 75 6d 65 lar):.return.false;.case.is_nume
9b740 72 69 63 28 24 73 63 61 6c 61 72 29 3a 0a 72 65 74 75 72 6e 20 27 30 78 27 20 3d 3d 20 24 73 63 ric($scalar):.return.'0x'.==.$sc
9b760 61 6c 61 72 5b 30 5d 2e 24 73 63 61 6c 61 72 5b 31 5d 20 3f 20 68 65 78 64 65 63 28 24 73 63 61 alar[0].$scalar[1].?.hexdec($sca
9b780 6c 61 72 29 20 3a 20 66 6c 6f 61 74 76 61 6c 28 24 73 63 61 6c 61 72 29 3b 0a 63 61 73 65 20 30 lar).:.floatval($scalar);.case.0
9b7a0 20 3d 3d 20 73 74 72 63 61 73 65 63 6d 70 28 24 73 63 61 6c 61 72 2c 20 27 2e 69 6e 66 27 29 3a .==.strcasecmp($scalar,.'.inf'):
9b7c0 0a 63 61 73 65 20 30 20 3d 3d 20 73 74 72 63 61 73 65 63 6d 70 28 24 73 63 61 6c 61 72 2c 20 27 .case.0.==.strcasecmp($scalar,.'
9b7e0 2e 4e 61 4e 27 29 3a 0a 72 65 74 75 72 6e 20 2d 6c 6f 67 28 30 29 3b 0a 63 61 73 65 20 30 20 3d .NaN'):.return.-log(0);.case.0.=
9b800 3d 20 73 74 72 63 61 73 65 63 6d 70 28 24 73 63 61 6c 61 72 2c 20 27 2d 2e 69 6e 66 27 29 3a 0a =.strcasecmp($scalar,.'-.inf'):.
9b820 72 65 74 75 72 6e 20 6c 6f 67 28 30 29 3b 0a 63 61 73 65 20 70 72 65 67 5f 6d 61 74 63 68 28 27 return.log(0);.case.preg_match('
9b840 2f 5e 28 2d 7c 5c 2b 29 3f 5b 30 2d 39 2c 5d 2b 28 5c 2e 5b 30 2d 39 5d 2b 29 3f 24 2f 27 2c 20 /^(-|\+)?[0-9,]+(\.[0-9]+)?$/',.
9b860 24 73 63 61 6c 61 72 29 3a 0a 72 65 74 75 72 6e 20 66 6c 6f 61 74 76 61 6c 28 73 74 72 5f 72 65 $scalar):.return.floatval(str_re
9b880 70 6c 61 63 65 28 27 2c 27 2c 20 27 27 2c 20 24 73 63 61 6c 61 72 29 29 3b 0a 63 61 73 65 20 70 place(',',.'',.$scalar));.case.p
9b8a0 72 65 67 5f 6d 61 74 63 68 28 73 65 6c 66 3a 3a 67 65 74 54 69 6d 65 73 74 61 6d 70 52 65 67 65 reg_match(self::getTimestampRege
9b8c0 78 28 29 2c 20 24 73 63 61 6c 61 72 29 3a 0a 72 65 74 75 72 6e 20 73 74 72 74 6f 74 69 6d 65 28 x(),.$scalar):.return.strtotime(
9b8e0 24 73 63 61 6c 61 72 29 3b 0a 64 65 66 61 75 6c 74 3a 0a 72 65 74 75 72 6e 20 28 73 74 72 69 6e $scalar);.default:.return.(strin
9b900 67 29 20 24 73 63 61 6c 61 72 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 g).$scalar;.}.}.........private.
9b920 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 69 6d 65 73 74 61 6d 70 52 65 67 65 static.function.getTimestampRege
9b940 78 28 29 0a 7b 0a 72 65 74 75 72 6e 20 3c 3c 3c 45 4f 46 0a 20 20 20 20 20 20 20 20 7e 5e 0a 20 x().{.return.<<<EOF.........~^..
9b960 20 20 20 20 20 20 20 28 3f 50 3c 79 65 61 72 3e 5b 30 2d 39 5d 5b 30 2d 39 5d 5b 30 2d 39 5d 5b .......(?P<year>[0-9][0-9][0-9][
9b980 30 2d 39 5d 29 0a 20 20 20 20 20 20 20 20 2d 28 3f 50 3c 6d 6f 6e 74 68 3e 5b 30 2d 39 5d 5b 30 0-9]).........-(?P<month>[0-9][0
9b9a0 2d 39 5d 3f 29 0a 20 20 20 20 20 20 20 20 2d 28 3f 50 3c 64 61 79 3e 5b 30 2d 39 5d 5b 30 2d 39 -9]?).........-(?P<day>[0-9][0-9
9b9c0 5d 3f 29 0a 20 20 20 20 20 20 20 20 28 3f 3a 28 3f 3a 5b 54 74 5d 7c 5b 20 5c 74 5d 2b 29 0a 20 ]?).........(?:(?:[Tt]|[.\t]+)..
9b9e0 20 20 20 20 20 20 20 28 3f 50 3c 68 6f 75 72 3e 5b 30 2d 39 5d 5b 30 2d 39 5d 3f 29 0a 20 20 20 .......(?P<hour>[0-9][0-9]?)....
9ba00 20 20 20 20 20 3a 28 3f 50 3c 6d 69 6e 75 74 65 3e 5b 30 2d 39 5d 5b 30 2d 39 5d 29 0a 20 20 20 .....:(?P<minute>[0-9][0-9])....
9ba20 20 20 20 20 20 3a 28 3f 50 3c 73 65 63 6f 6e 64 3e 5b 30 2d 39 5d 5b 30 2d 39 5d 29 0a 20 20 20 .....:(?P<second>[0-9][0-9])....
9ba40 20 20 20 20 20 28 3f 3a 5c 2e 28 3f 50 3c 66 72 61 63 74 69 6f 6e 3e 5b 30 2d 39 5d 2a 29 29 3f .....(?:\.(?P<fraction>[0-9]*))?
9ba60 0a 20 20 20 20 20 20 20 20 28 3f 3a 5b 20 5c 74 5d 2a 28 3f 50 3c 74 7a 3e 5a 7c 28 3f 50 3c 74 .........(?:[.\t]*(?P<tz>Z|(?P<t
9ba80 7a 5f 73 69 67 6e 3e 5b 2d 2b 5d 29 28 3f 50 3c 74 7a 5f 68 6f 75 72 3e 5b 30 2d 39 5d 5b 30 2d z_sign>[-+])(?P<tz_hour>[0-9][0-
9baa0 39 5d 3f 29 0a 20 20 20 20 20 20 20 20 28 3f 3a 3a 28 3f 50 3c 74 7a 5f 6d 69 6e 75 74 65 3e 5b 9]?).........(?::(?P<tz_minute>[
9bac0 30 2d 39 5d 5b 30 2d 39 5d 29 29 3f 29 29 3f 29 3f 0a 20 20 20 20 20 20 20 20 24 7e 78 0a 45 4f 0-9][0-9]))?))?)?.........$~x.EO
9bae0 46 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 F;.}.}.<?php...........namespace
9bb00 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 6d 6d 61 .Symfony\Component\Console\Comma
9bb20 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 6f nd;..use.Symfony\Component\Conso
9bb40 6c 65 5c 48 65 6c 70 65 72 5c 44 65 73 63 72 69 70 74 6f 72 48 65 6c 70 65 72 3b 0a 75 73 65 20 le\Helper\DescriptorHelper;.use.
9bb60 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\
9bb80 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 6f InputArgument;.use.Symfony\Compo
9bba0 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;.
9bbc0 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
9bbe0 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\
9bc00 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
9bc20 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 48 65 6c 70 43 6f 6d 6d 61 6e nterface;.......class.HelpComman
9bc40 64 20 65 78 74 65 6e 64 73 20 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 69 76 61 74 65 20 24 63 6f 6d d.extends.Command.{.private.$com
9bc60 6d 61 6e 64 3b 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 mand;.....protected.function.con
9bc80 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 56 61 6c 69 64 61 74 69 figure().{.$this->ignoreValidati
9bca0 6f 6e 45 72 72 6f 72 73 28 29 3b 0a 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 68 65 onErrors();..$this.->setName('he
9bcc0 6c 70 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 lp').->setDefinition(array(.new.
9bce0 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 5f 6e 61 6d 65 27 2c 20 49 6e InputArgument('command_name',.In
9bd00 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 63 6f 6d 6d putArgument::OPTIONAL,.'The.comm
9bd20 61 6e 64 20 6e 61 6d 65 27 2c 20 27 68 65 6c 70 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 and.name',.'help'),.new.InputOpt
9bd40 69 6f 6e 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 ion('xml',.null,.InputOption::VA
9bd60 4c 55 45 5f 4e 4f 4e 45 2c 20 27 54 6f 20 6f 75 74 70 75 74 20 68 65 6c 70 20 61 73 20 58 4d 4c LUE_NONE,.'To.output.help.as.XML
9bd80 27 29 2c 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 6e 75 '),.new.InputOption('format',.nu
9bda0 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 55 49 52 45 44 2c ll,.InputOption::VALUE_REQUIRED,
9bdc0 20 27 54 6f 20 6f 75 74 70 75 74 20 68 65 6c 70 20 69 6e 20 6f 74 68 65 72 20 66 6f 72 6d 61 74 .'To.output.help.in.other.format
9bde0 73 27 29 2c 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 s'),.new.InputOption('raw',.null
9be00 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 54 6f 20 6f ,.InputOption::VALUE_NONE,.'To.o
9be20 75 74 70 75 74 20 72 61 77 20 63 6f 6d 6d 61 6e 64 20 68 65 6c 70 27 29 2c 0a 29 29 0a 2d 3e 73 utput.raw.command.help'),.)).->s
9be40 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 44 69 73 70 6c 61 79 73 20 68 65 6c 70 20 66 6f 72 etDescription('Displays.help.for
9be60 20 61 20 63 6f 6d 6d 61 6e 64 27 29 0a 2d 3e 73 65 74 48 65 6c 70 28 3c 3c 3c 45 4f 46 0a 54 68 .a.command').->setHelp(<<<EOF.Th
9be80 65 20 3c 69 6e 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 e.<info>%command.name%</info>.co
9bea0 6d 6d 61 6e 64 20 64 69 73 70 6c 61 79 73 20 68 65 6c 70 20 66 6f 72 20 61 20 67 69 76 65 6e 20 mmand.displays.help.for.a.given.
9bec0 63 6f 6d 6d 61 6e 64 3a 0a 0a 20 20 3c 69 6e 66 6f 3e 70 68 70 20 25 63 6f 6d 6d 61 6e 64 2e 66 command:....<info>php.%command.f
9bee0 75 6c 6c 5f 6e 61 6d 65 25 20 6c 69 73 74 3c 2f 69 6e 66 6f 3e 0a 0a 59 6f 75 20 63 61 6e 20 61 ull_name%.list</info>..You.can.a
9bf00 6c 73 6f 20 6f 75 74 70 75 74 20 74 68 65 20 68 65 6c 70 20 69 6e 20 6f 74 68 65 72 20 66 6f 72 lso.output.the.help.in.other.for
9bf20 6d 61 74 73 20 62 79 20 75 73 69 6e 67 20 74 68 65 20 3c 63 6f 6d 6d 65 6e 74 3e 2d 2d 66 6f 72 mats.by.using.the.<comment>--for
9bf40 6d 61 74 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 6f 70 74 69 6f 6e 3a 0a 0a 20 20 3c 69 6e 66 6f 3e 70 mat</comment>.option:....<info>p
9bf60 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 66 6f 72 6d 61 74 3d hp.%command.full_name%.--format=
9bf80 78 6d 6c 20 6c 69 73 74 3c 2f 69 6e 66 6f 3e 0a 0a 54 6f 20 64 69 73 70 6c 61 79 20 74 68 65 20 xml.list</info>..To.display.the.
9bfa0 6c 69 73 74 20 6f 66 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 6d 61 6e 64 73 2c 20 70 6c 65 61 list.of.available.commands,.plea
9bfc0 73 65 20 75 73 65 20 74 68 65 20 3c 69 6e 66 6f 3e 6c 69 73 74 3c 2f 69 6e 66 6f 3e 20 63 6f 6d se.use.the.<info>list</info>.com
9bfe0 6d 61 6e 64 2e 0a 45 4f 46 0a 29 0a 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e mand..EOF.).;.}.......public.fun
9c000 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 6f 6d 6d 61 6e ction.setCommand(Command.$comman
9c020 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 61 6e 64 3b 0a d).{.$this->command.=.$command;.
9c040 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 65 63 75 74 65 }.....protected.function.execute
9c060 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 49 6e (InputInterface.$input,.OutputIn
9c080 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 20 3d 3d 3d 20 terface.$output).{.if.(null.===.
9c0a0 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 6d 6d 61 6e 64 $this->command).{.$this->command
9c0c0 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 3e 66 69 6e 64 .=.$this->getApplication()->find
9c0e0 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 6e 64 5f 6e 61 ($input->getArgument('command_na
9c100 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 74 69 6f 6e 28 me'));.}..if.($input->getOption(
9c120 27 78 6d 6c 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 66 6f 72 'xml')).{.$input->setOption('for
9c140 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
9c160 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
9c180 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 24 69 ribe($output,.$this->command,.$i
9c1a0 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 2c 20 24 69 6e 70 75 nput->getOption('format'),.$inpu
9c1c0 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 72 61 77 27 29 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6d t->getOption('raw'));.$this->com
9c1e0 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 0a 0a 0a 0a 0a mand.=.null;.}.}.<?php..........
9c200 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
9c220 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 43 6f 6d 70 6f sole\Command;..use.Symfony\Compo
9c240 6e 65 6e 74 5c 43 6f 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 nent\Console\Descriptor\TextDesc
9c260 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
9c280 6e 73 6f 6c 65 5c 44 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 nsole\Descriptor\XmlDescriptor;.
9c2a0 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
9c2c0 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 6e 79 put\InputDefinition;.use.Symfony
9c2e0 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
9c300 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
9c320 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
9c340 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
9c360 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 6e 65 utInterface;.use.Symfony\Compone
9c380 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 61 63 nt\Console\Output\OutputInterfac
9c3a0 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
9c3c0 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
9c3e0 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 74 3b 0a 0a 0a ent\Console\Helper\HelperSet;...
9c400 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 69 76 61 74 65 20 24 61 ......class.Command.{.private.$a
9c420 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 6e 61 6d 65 3b 0a 70 72 69 76 61 pplication;.private.$name;.priva
9c440 74 65 20 24 61 6c 69 61 73 65 73 3b 0a 70 72 69 76 61 74 65 20 24 64 65 66 69 6e 69 74 69 6f 6e te.$aliases;.private.$definition
9c460 3b 0a 70 72 69 76 61 74 65 20 24 68 65 6c 70 3b 0a 70 72 69 76 61 74 65 20 24 64 65 73 63 72 69 ;.private.$help;.private.$descri
9c480 70 74 69 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 69 67 6e 6f 72 65 56 61 6c 69 64 61 74 69 6f 6e ption;.private.$ignoreValidation
9c4a0 45 72 72 6f 72 73 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 Errors;.private.$applicationDefi
9c4c0 6e 69 74 69 6f 6e 4d 65 72 67 65 64 3b 0a 70 72 69 76 61 74 65 20 24 61 70 70 6c 69 63 61 74 69 nitionMerged;.private.$applicati
9c4e0 6f 6e 44 65 66 69 6e 69 74 69 6f 6e 4d 65 72 67 65 64 57 69 74 68 41 72 67 73 3b 0a 70 72 69 76 onDefinitionMergedWithArgs;.priv
9c500 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 3b 0a 70 72 ate.$code;.private.$synopsis;.pr
9c520 69 76 61 74 65 20 24 68 65 6c 70 65 72 53 65 74 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c ivate.$helperSet;...........publ
9c540 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 3d 20 ic.function.__construct($name.=.
9c560 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 77 20 null).{.$this->definition.=.new.
9c580 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 3b 0a 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 InputDefinition();.$this->ignore
9c5a0 56 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 24 74 68 69 73 2d ValidationErrors.=.false;.$this-
9c5c0 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 3d 20 66 >applicationDefinitionMerged.=.f
9c5e0 61 6c 73 65 3b 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 69 alse;.$this->applicationDefiniti
9c600 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 24 74 68 69 73 2d onMergedWithArgs.=.false;.$this-
9c620 3e 61 6c 69 61 73 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 >aliases.=.array();..if.(null.!=
9c640 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 29 =.$name).{.$this->setName($name)
9c660 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 24 ;.}..$this->configure();..if.(!$
9c680 74 68 69 73 2d 3e 6e 61 6d 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 this->name).{.throw.new.\LogicEx
9c6a0 63 65 70 74 69 6f 6e 28 27 54 68 65 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 20 63 61 6e 6e 6f 74 ception('The.command.name.cannot
9c6c0 20 62 65 20 65 6d 70 74 79 2e 27 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 .be.empty.');.}.}.......public.f
9c6e0 75 6e 63 74 69 6f 6e 20 69 67 6e 6f 72 65 56 61 6c 69 64 61 74 69 6f 6e 45 72 72 6f 72 73 28 29 unction.ignoreValidationErrors()
9c700 0a 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 .{.$this->ignoreValidationErrors
9c720 20 3d 20 74 72 75 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 .=.true;.}.........public.functi
9c740 6f 6e 20 73 65 74 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 on.setApplication(Application.$a
9c760 70 70 6c 69 63 61 74 69 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 70 70 6c pplication.=.null).{.$this->appl
9c780 69 63 61 74 69 6f 6e 20 3d 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 69 66 20 28 24 61 70 70 ication.=.$application;.if.($app
9c7a0 6c 69 63 61 74 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 48 65 6c 70 65 72 53 65 74 28 lication).{.$this->setHelperSet(
9c7c0 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 29 3b 0a 7d $application->getHelperSet());.}
9c7e0 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 20 3d 20 6e 75 6c 6c 3b .else.{.$this->helperSet.=.null;
9c800 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 65 74 48 65 .}.}.......public.function.setHe
9c820 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 29 0a 7b 0a lperSet(HelperSet.$helperSet).{.
9c840 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 65 74 3b 0a 7d $this->helperSet.=.$helperSet;.}
9c860 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 6c 70 65 72 .......public.function.getHelper
9c880 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 72 53 65 74 3b Set().{.return.$this->helperSet;
9c8a0 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 41 70 .}.........public.function.getAp
9c8c0 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 70 70 6c plication().{.return.$this->appl
9c8e0 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 6e 63 74 ication;.}..........public.funct
9c900 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 3b 0a 7d ion.isEnabled().{.return.true;.}
9c920 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
9c940 65 28 29 0a 7b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 e().{.}..................protect
9c960 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 61 ed.function.execute(InputInterfa
9c980 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 70 ce.$input,.OutputInterface.$outp
9c9a0 75 74 29 0a 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 ut).{.throw.new.\LogicException(
9c9c0 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()
9c9e0 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.
9ca00 63 6c 61 73 73 2e 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 class.');.}........protected.fun
9ca20 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 69 ction.interact(InputInterface.$i
9ca40 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 7b nput,.OutputInterface.$output).{
9ca60 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.
9ca80 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 75 74 initialize(InputInterface.$input
9caa0 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 0a 0a ,.OutputInterface.$output).{.}..
9cac0 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 75 6e 63 74 69 ...................public.functi
9cae0 6f 6e 20 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 on.run(InputInterface.$input,.Ou
9cb00 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 0a 20 24 74 68 69 73 tputInterface.$output).{...$this
9cb20 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 6d 65 72 67 65 ->getSynopsis();....$this->merge
9cb40 41 70 70 6c 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 ApplicationDefinition();....try.
9cb60 7b 0a 24 69 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 {.$input->bind($this->definition
9cb80 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 69 66 20 );.}.catch.(\Exception.$e).{.if.
9cba0 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 6f 72 73 29 (!$this->ignoreValidationErrors)
9cbc0 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 74 69 61 6c .{.throw.$e;.}.}..$this->initial
9cbe0 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 24 69 6e 70 75 ize($input,.$output);..if.($inpu
9cc00 74 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 69 6e 74 t->isInteractive()).{.$this->int
9cc20 65 72 61 63 74 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 24 69 6e 70 75 eract($input,.$output);.}..$inpu
9cc40 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 64 65 29 t->validate();..if.($this->code)
9cc60 20 7b 0a 24 73 74 61 74 75 73 43 6f 64 65 20 3d 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 .{.$statusCode.=.call_user_func(
9cc80 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 29 3b 0a 7d $this->code,.$input,.$output);.}
9cca0 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 3e 65 78 65 .else.{.$statusCode.=.$this->exe
9ccc0 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 74 75 72 6e cute($input,.$output);.}..return
9cce0 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 24 73 74 61 74 .is_numeric($statusCode).?.$stat
9cd00 75 73 43 6f 64 65 20 3a 20 30 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 usCode.:.0;.}..................p
9cd20 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).{.
9cd40 69 66 20 28 21 69 73 5f 63 61 6c 6c 61 62 6c 65 28 24 63 6f 64 65 29 29 20 7b 0a 74 68 72 6f 77 if.(!is_callable($code)).{.throw
9cd60 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('
9cd80 49 6e 76 61 6c 69 64 20 63 61 6c 6c 61 62 6c 65 20 70 72 6f 76 69 64 65 64 20 74 6f 20 43 6f 6d Invalid.callable.provided.to.Com
9cda0 6d 61 6e 64 3a 3a 73 65 74 43 6f 64 65 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 6f 64 65 mand::setCode.');.}..$this->code
9cdc0 20 3d 20 24 63 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 0a .=.$code;..return.$this;.}......
9cde0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 65 72 67 65 41 70 70 6c 69 63 61 74 ...public.function.mergeApplicat
9ce00 69 6f 6e 44 65 66 69 6e 69 74 69 6f 6e 28 24 6d 65 72 67 65 41 72 67 73 20 3d 20 74 72 75 65 29 ionDefinition($mergeArgs.=.true)
9ce20 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 .{.if.(null.===.$this->applicati
9ce40 6f 6e 20 7c 7c 20 28 74 72 75 65 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 on.||.(true.===.$this->applicati
9ce60 6f 6e 44 65 66 69 6e 69 74 69 6f 6e 4d 65 72 67 65 64 20 26 26 20 28 24 74 68 69 73 2d 3e 61 70 onDefinitionMerged.&&.($this->ap
9ce80 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 57 69 74 68 41 72 67 plicationDefinitionMergedWithArg
9cea0 73 20 7c 7c 20 21 24 6d 65 72 67 65 41 72 67 73 29 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a s.||.!$mergeArgs))).{.return;.}.
9cec0 0a 69 66 20 28 24 6d 65 72 67 65 41 72 67 73 29 20 7b 0a 24 63 75 72 72 65 6e 74 41 72 67 75 6d .if.($mergeArgs).{.$currentArgum
9cee0 65 6e 74 73 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 ents.=.$this->definition->getArg
9cf00 75 6d 65 6e 74 73 28 29 3b 0a 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 73 65 74 uments();.$this->definition->set
9cf20 41 72 67 75 6d 65 6e 74 73 28 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 Arguments($this->application->ge
9cf40 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 29 3b 0a tDefinition()->getArguments());.
9cf60 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 61 64 64 41 72 67 75 6d 65 6e 74 73 28 $this->definition->addArguments(
9cf80 24 63 75 72 72 65 6e 74 41 72 67 75 6d 65 6e 74 73 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 64 65 $currentArguments);.}..$this->de
9cfa0 66 69 6e 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 finition->addOptions($this->appl
9cfc0 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 3e 67 65 74 4f 70 74 ication->getDefinition()->getOpt
9cfe0 69 6f 6e 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 ions());..$this->applicationDefi
9d000 6e 69 74 69 6f 6e 4d 65 72 67 65 64 20 3d 20 74 72 75 65 3b 0a 69 66 20 28 24 6d 65 72 67 65 41 nitionMerged.=.true;.if.($mergeA
9d020 72 67 73 29 20 7b 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 rgs).{.$this->applicationDefinit
9d040 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;.}.}...
9d060 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 44 65 66 69 6e ........public.function.setDefin
9d080 69 74 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 ition($definition).{.if.($defini
9d0a0 74 69 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 tion.instanceof.InputDefinition)
9d0c0 20 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 66 69 6e 69 74 69 .{.$this->definition.=.$definiti
9d0e0 6f 6e 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 on;.}.else.{.$this->definition->
9d100 73 65 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 setDefinition($definition);.}..$
9d120 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 65 72 67 65 this->applicationDefinitionMerge
9d140 64 20 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 d.=.false;..return.$this;.}.....
9d160 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 69 6e 69 74 69 6f ....public.function.getDefinitio
9d180 6e 28 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 69 6f 6e 3b 0a n().{.return.$this->definition;.
9d1a0 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 67 65 74 }............public.function.get
9d1c0 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 20 24 74 68 69 NativeDefinition().{.return.$thi
9d1e0 73 2d 3e 67 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 s->getDefinition();.}...........
9d200 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 74 28 24 ...public.function.addArgument($
9d220 6e 61 6d 65 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 name,.$mode.=.null,.$description
9d240 20 3d 20 27 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 .=.'',.$default.=.null).{.$this-
9d260 3e 64 65 66 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 >definition->addArgument(new.Inp
9d280 75 74 41 72 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 utArgument($name,.$mode,.$descri
9d2a0 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 69 73 ption,.$default));..return.$this
9d2c0 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 63 74 69 6f ;.}...............public.functio
9d2e0 6e 20 61 64 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 n.addOption($name,.$shortcut.=.n
9d300 75 6c 6c 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 ull,.$mode.=.null,.$description.
9d320 3d 20 27 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 =.'',.$default.=.null).{.$this->
9d340 64 65 66 69 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 definition->addOption(new.InputO
9d360 70 74 69 6f 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 ption($name,.$shortcut,.$mode,.$
9d380 64 65 73 63 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 description,.$default));..return
9d3a0 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 0a 0a 70 75 62 6c 69 .$this;.}..................publi
9d3c0 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
9d3e0 73 2d 3e 76 61 6c 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 s->validateName($name);..$this->
9d400 6e 61 6d 65 20 3d 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 name.=.$name;..return.$this;.}..
9d420 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 29 .......public.function.getName()
9d440 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 0a 0a .{.return.$this->name;.}........
9d460 0a 0a 0a 70 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 ...public.function.setDescriptio
9d480 6e 28 24 64 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 n($description).{.$this->descrip
9d4a0 74 69 6f 6e 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 tion.=.$description;..return.$th
9d4c0 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
9d4e0 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 64 tDescription().{.return.$this->d
9d500 65 73 63 72 69 70 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 escription;.}...........public.f
9d520 75 6e 63 74 69 6f 6e 20 73 65 74 48 65 6c 70 28 24 68 65 6c 70 29 0a 7b 0a 24 74 68 69 73 2d 3e unction.setHelp($help).{.$this->
9d540 68 65 6c 70 20 3d 20 24 68 65 6c 70 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a help.=.$help;..return.$this;.}..
9d560 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 6c 70 28 29 .......public.function.getHelp()
9d580 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 65 6c 70 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a .{.return.$this->help;.}........
9d5a0 70 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 65 64 48 65 6c 70 public.function.getProcessedHelp
9d5c0 28 29 0a 7b 0a 24 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 6e 61 6d 65 3b 0a 0a 24 70 6c 61 63 ().{.$name.=.$this->name;..$plac
9d5e0 65 68 6f 6c 64 65 72 73 20 3d 20 61 72 72 61 79 28 0a 27 25 63 6f 6d 6d 61 6e 64 2e 6e 61 6d 65 eholders.=.array(.'%command.name
9d600 25 27 2c 0a 27 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 27 0a 29 3b 0a 24 72 65 %',.'%command.full_name%'.);.$re
9d620 70 6c 61 63 65 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 0a 24 6e 61 6d 65 2c 0a 24 5f 53 45 52 placements.=.array(.$name,.$_SER
9d640 56 45 52 5b 27 50 48 50 5f 53 45 4c 46 27 5d 2e 27 20 27 2e 24 6e 61 6d 65 0a 29 3b 0a 0a 72 65 VER['PHP_SELF'].'.'.$name.);..re
9d660 74 75 72 6e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 24 70 6c 61 63 65 68 6f 6c 64 65 72 73 2c 20 turn.str_replace($placeholders,.
9d680 24 72 65 70 6c 61 63 65 6d 65 6e 74 73 2c 20 24 74 68 69 73 2d 3e 67 65 74 48 65 6c 70 28 29 29 $replacements,.$this->getHelp())
9d6a0 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 65 ;.}...........public.function.se
9d6c0 74 41 6c 69 61 73 65 73 28 24 61 6c 69 61 73 65 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 61 tAliases($aliases).{.foreach.($a
9d6e0 6c 69 61 73 65 73 20 61 73 20 24 61 6c 69 61 73 29 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 liases.as.$alias).{.$this->valid
9d700 61 74 65 4e 61 6d 65 28 24 61 6c 69 61 73 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 ateName($alias);.}..$this->alias
9d720 65 73 20 3d 20 24 61 6c 69 61 73 65 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a es.=.$aliases;..return.$this;.}.
9d740 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 41 6c 69 61 73 ........public.function.getAlias
9d760 65 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 es().{.return.$this->aliases;.}.
9d780 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
9d7a0 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 73 79 6e 6f 70 73 s().{.if.(null.===.$this->synops
9d7c0 69 73 29 20 7b 0a 24 74 68 69 73 2d 3e 73 79 6e 6f 70 73 69 73 20 3d 20 74 72 69 6d 28 73 70 72 is).{.$this->synopsis.=.trim(spr
9d7e0 69 6e 74 66 28 27 25 73 20 25 73 27 2c 20 24 74 68 69 73 2d 3e 6e 61 6d 65 2c 20 24 74 68 69 73 intf('%s.%s',.$this->name,.$this
9d800 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 29 29 29 3b 0a 7d ->definition->getSynopsis()));.}
9d820 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 79 6e 6f 70 73 69 73 3b 0a 7d 0a 0a 0a 0a 0a ..return.$this->synopsis;.}.....
9d840 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 48 65 6c 70 65 ........public.function.getHelpe
9d860 72 28 24 6e 61 6d 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 r($name).{.return.$this->helperS
9d880 65 74 2d 3e 67 65 74 28 24 6e 61 6d 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 et->get($name);.}.........public
9d8a0 20 66 75 6e 63 74 69 6f 6e 20 61 73 54 65 78 74 28 29 0a 7b 0a 24 64 65 73 63 72 69 70 74 6f 72 .function.asText().{.$descriptor
9d8c0 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 0a 72 65 74 75 72 6e .=.new.TextDescriptor();..return
9d8e0 20 24 64 65 73 63 72 69 70 74 6f 72 2d 3e 64 65 73 63 72 69 62 65 28 24 74 68 69 73 29 3b 0a 7d .$descriptor->describe($this);.}
9d900 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 58 6d 6c ...........public.function.asXml
9d920 28 24 61 73 44 6f 6d 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 64 65 73 63 72 69 70 74 6f 72 20 3d ($asDom.=.false).{.$descriptor.=
9d940 20 6e 65 77 20 58 6d 6c 44 65 73 63 72 69 70 74 6f 72 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 64 .new.XmlDescriptor();..return.$d
9d960 65 73 63 72 69 70 74 6f 72 2d 3e 64 65 73 63 72 69 62 65 28 24 74 68 69 73 2c 20 61 72 72 61 79 escriptor->describe($this,.array
9d980 28 27 61 73 5f 64 6f 6d 27 20 3d 3e 20 24 61 73 44 6f 6d 29 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 ('as_dom'.=>.$asDom));.}..privat
9d9a0 65 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 4e 61 6d 65 28 24 6e 61 6d 65 29 0a 7b e.function.validateName($name).{
9d9c0 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 5b 5e 5c 3a 5d 2b 28 5c 3a 5b 5e 5c .if.(!preg_match('/^[^\:]+(\:[^\
9d9e0 3a 5d 2b 29 2a 24 2f 27 2c 20 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 :]+)*$/',.$name)).{.throw.new.\I
9da00 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(
9da20 27 43 6f 6d 6d 61 6e 64 20 6e 61 6d 65 20 22 25 73 22 20 69 73 20 69 6e 76 61 6c 69 64 2e 27 2c 'Command.name."%s".is.invalid.',
9da40 20 24 6e 61 6d 65 29 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 .$name));.}.}.}.<?php...........
9da60 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
9da80 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
9daa0 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 74 6f 72 48 65 6c ent\Console\Helper\DescriptorHel
9dac0 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 73 6f per;.use.Symfony\Component\Conso
9dae0 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 66 le\Input\InputArgument;.use.Symf
9db00 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
9db20 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
9db40 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
9db60 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
9db80 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
9dba0 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 44 65 66 69 omponent\Console\Input\InputDefi
9dbc0 6e 69 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4c 69 73 74 43 6f 6d 6d 61 6e 64 20 nition;.......class.ListCommand.
9dbe0 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 63 74 65 64 20 66 extends.Command.{....protected.f
9dc00 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 3e 73 65 unction.configure().{.$this.->se
9dc20 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 69 6f 6e 28 24 74 tName('list').->setDefinition($t
9dc40 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 3e 73 65 74 44 65 his->createDefinition()).->setDe
9dc60 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 29 0a 2d 3e 73 65 scription('Lists.commands').->se
9dc80 74 48 65 6c 70 28 3c 3c 3c 45 4f 46 0a 54 68 65 20 3c 69 6e 66 6f 3e 25 63 6f 6d 6d 61 6e 64 2e tHelp(<<<EOF.The.<info>%command.
9dca0 6e 61 6d 65 25 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 6c 69 73 74 73 20 61 6c 6c 20 63 name%</info>.command.lists.all.c
9dcc0 6f 6d 6d 61 6e 64 73 3a 0a 0a 20 20 3c 69 6e 66 6f 3e 70 68 70 20 25 63 6f 6d 6d 61 6e 64 2e 66 ommands:....<info>php.%command.f
9dce0 75 6c 6c 5f 6e 61 6d 65 25 3c 2f 69 6e 66 6f 3e 0a 0a 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 64 ull_name%</info>..You.can.also.d
9dd00 69 73 70 6c 61 79 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 20 66 6f 72 20 61 20 73 70 65 63 69 66 isplay.the.commands.for.a.specif
9dd20 69 63 20 6e 61 6d 65 73 70 61 63 65 3a 0a 0a 20 20 3c 69 6e 66 6f 3e 70 68 70 20 25 63 6f 6d 6d ic.namespace:....<info>php.%comm
9dd40 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 74 65 73 74 3c 2f 69 6e 66 6f 3e 0a 0a 59 6f 75 20 and.full_name%.test</info>..You.
9dd60 63 61 6e 20 61 6c 73 6f 20 6f 75 74 70 75 74 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 can.also.output.the.information.
9dd80 69 6e 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 in.other.formats.by.using.the.<c
9dda0 6f 6d 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 omment>--format</comment>.option
9ddc0 3a 0a 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 :....<info>php.%command.full_nam
9dde0 65 25 20 2d 2d 66 6f 72 6d 61 74 3d 78 6d 6c 3c 2f 69 6e 66 6f 3e 0a 0a 49 74 27 73 20 61 6c 73 e%.--format=xml</info>..It's.als
9de00 6f 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 67 65 74 20 72 61 77 20 6c 69 73 74 20 6f 66 20 63 6f o.possible.to.get.raw.list.of.co
9de20 6d 6d 61 6e 64 73 20 28 75 73 65 66 75 6c 20 66 6f 72 20 65 6d 62 65 64 64 69 6e 67 20 63 6f 6d mmands.(useful.for.embedding.com
9de40 6d 61 6e 64 20 72 75 6e 6e 65 72 29 3a 0a 0a 20 20 3c 69 6e 66 6f 3e 70 68 70 20 25 63 6f 6d 6d mand.runner):....<info>php.%comm
9de60 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 2d 2d 72 61 77 3c 2f 69 6e 66 6f 3e 0a 45 4f 46 0a and.full_name%.--raw</info>.EOF.
9de80 29 0a 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 74 ).;.}.....public.function.getNat
9dea0 69 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 iveDefinition().{.return.$this->
9dec0 63 72 65 61 74 65 44 65 66 69 6e 69 74 69 6f 6e 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 createDefinition();.}.....protec
9dee0 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
9df00 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
9df20 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 28 27 78 6d put).{.if.($input->getOption('xm
9df40 6c 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 66 6f 72 6d 61 74 l')).{.$input->setOption('format
9df60 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 65 73 63 ',.'xml');.}..$helper.=.new.Desc
9df80 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 72 69 62 riptorHelper();.$helper->describ
9dfa0 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 69 6f 6e e($output,.$this->getApplication
9dfc0 28 29 2c 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 2c (),.$input->getOption('format'),
9dfe0 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 29 3b 0a 7d 0a 0a 0a .$input->getOption('raw'));.}...
9e000 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 44 65 66 69 6e 69 74 ..private.function.createDefinit
9e020 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 ion().{.return.new.InputDefiniti
9e040 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 6e 61 6d on(array(.new.InputArgument('nam
9e060 65 73 70 61 63 65 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 espace',.InputArgument::OPTIONAL
9e080 2c 20 27 54 68 65 20 6e 61 6d 65 73 70 61 63 65 20 6e 61 6d 65 27 29 2c 0a 6e 65 77 20 49 6e 70 ,.'The.namespace.name'),.new.Inp
9e0a0 75 74 4f 70 74 69 6f 6e 28 27 78 6d 6c 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f utOption('xml',.null,.InputOptio
9e0c0 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 54 6f 20 6f 75 74 70 75 74 20 6c 69 73 74 20 61 n::VALUE_NONE,.'To.output.list.a
9e0e0 73 20 58 4d 4c 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 72 61 77 27 2c 20 s.XML'),.new.InputOption('raw',.
9e100 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,.'
9e120 54 6f 20 6f 75 74 70 75 74 20 72 61 77 20 63 6f 6d 6d 61 6e 64 20 6c 69 73 74 27 29 2c 0a 6e 65 To.output.raw.command.list'),.ne
9e140 77 20 49 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 w.InputOption('format',.null,.In
9e160 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 54 6f 20 6f putOption::VALUE_REQUIRED,.'To.o
9e180 75 74 70 75 74 20 6c 69 73 74 20 69 6e 20 6f 74 68 65 72 20 66 6f 72 6d 61 74 73 27 29 2c 0a 29 utput.list.in.other.formats'),.)
9e1a0 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
9e1c0 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 54 65 73 74 65 .Symfony\Component\Console\Teste
9e1e0 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 6c r;..use.Symfony\Component\Consol
9e200 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 6d 70 6f e\Application;.use.Symfony\Compo
9e220 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 75 74 3b 0a 75 nent\Console\Input\ArrayInput;.u
9e240 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
9e260 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
9e280 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
9e2a0 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
9e2c0 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 53 74 72 65 61 6d 4f 75 74 70 75 74 3b 0a 0a 0a 0a 0a onsole\Output\StreamOutput;.....
9e2e0 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 70 70 6c 69 63 61 74 69 6f 6e 54 65 73 74 65 72 0a 7b .......class.ApplicationTester.{
9e300 0a 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 .private.$application;.private.$
9e320 69 6e 70 75 74 3b 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 75 input;.private.$output;.......pu
9e340 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 70 70 6c 69 63 blic.function.__construct(Applic
9e360 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 69 73 2d 3e 61 70 70 ation.$application).{.$this->app
9e380 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 7d 0a 0a 0a 0a 0a 0a lication.=.$application;.}......
9e3a0 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 6e 28 61 72 ..........public.function.run(ar
9e3c0 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 72 61 79 28 29 29 0a ray.$input,.$options.=.array()).
9e3e0 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 79 49 6e 70 75 74 28 {.$this->input.=.new.ArrayInput(
9e400 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 6e 73 5b 27 69 6e 74 $input);.if.(isset($options['int
9e420 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 75 74 2d 3e 73 65 74 eractive'])).{.$this->input->set
9e440 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 65 72 61 63 74 69 76 Interactive($options['interactiv
9e460 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 6e 65 77 20 53 74 72 e']);.}..$this->output.=.new.Str
9e480 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 6d 6f 72 79 27 2c 20 eamOutput(fopen('php://memory',.
9e4a0 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 6f 70 74 69 6f 6e 73 'w',.false));.if.(isset($options
9e4c0 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 6f 75 74 70 75 74 2d ['decorated'])).{.$this->output-
9e4e0 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 65 63 6f 72 61 74 65 >setDecorated($options['decorate
9e500 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 73 5b 27 76 65 72 62 d']);.}.if.(isset($options['verb
9e520 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 2d 3e 73 65 74 56 65 osity'])).{.$this->output->setVe
9e540 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 74 79 27 5d 29 3b 0a rbosity($options['verbosity']);.
9e560 7d 0a 0a 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 2d 3e 72 75 }..return.$this->application->ru
9e580 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 75 74 29 3b 0a n($this->input,.$this->output);.
9e5a0 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 44 69 73 }.........public.function.getDis
9e5c0 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 72 65 77 69 6e play($normalize.=.false).{.rewin
9e5e0 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 29 29 3b 0a 0a d($this->output->getStream());..
9e600 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 6e 74 73 28 24 $display.=.stream_get_contents($
9e620 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 0a 0a 69 66 20 this->output->getStream());..if.
9e640 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 74 72 5f 72 65 ($normalize).{.$display.=.str_re
9e660 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 61 79 29 3b 0a place(PHP_EOL,."\n",.$display);.
9e680 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 0a 70 75 62 6c }..return.$display;.}.......publ
9e6a0 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 20 ic.function.getInput().{.return.
9e6c0 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 6e $this->input;.}.......public.fun
9e6e0 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 24 74 68 69 73 ction.getOutput().{.return.$this
9e700 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 6e 61 ->output;.}.}.<?php...........na
9e720 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
9e740 65 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 e\Tester;..use.Symfony\Component
9e760 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 20 53 79 \Console\Command\Command;.use.Sy
9e780 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 41 72 mfony\Component\Console\Input\Ar
9e7a0 72 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 rayInput;.use.Symfony\Component\
9e7c0 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 53 74 72 65 61 6d 4f 75 74 70 75 74 3b 0a 0a 0a 0a Console\Output\StreamOutput;....
9e7e0 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 6d 61 6e 64 54 65 73 74 65 72 0a 7b 0a 70 72 69 76 61 74 65 ...class.CommandTester.{.private
9e800 20 24 63 6f 6d 6d 61 6e 64 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 3b 0a 70 72 69 76 61 .$command;.private.$input;.priva
9e820 74 65 20 24 6f 75 74 70 75 74 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f te.$output;.......public.functio
9e840 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 64 29 0a n.__construct(Command.$command).
9e860 7b 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 {.$this->command.=.$command;.}..
9e880 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 65 78 ..............public.function.ex
9e8a0 65 63 75 74 65 28 61 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 ecute(array.$input,.array.$optio
9e8c0 6e 73 20 3d 20 61 72 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 ns.=.array()).{.$this->input.=.n
9e8e0 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 28 69 73 73 65 74 ew.ArrayInput($input);.if.(isset
9e900 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 20 7b 0a 24 74 68 ($options['interactive'])).{.$th
9e920 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 24 6f 70 74 69 6f is->input->setInteractive($optio
9e940 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 69 73 2d 3e 6f 75 ns['interactive']);.}..$this->ou
9e960 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 70 tput.=.new.StreamOutput(fopen('p
9e980 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 3b 0a 69 66 20 28 hp://memory',.'w',.false));.if.(
9e9a0 69 73 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 29 20 7b 0a isset($options['decorated'])).{.
9e9c0 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 24 6f 70 74 $this->output->setDecorated($opt
9e9e0 69 6f 6e 73 5b 27 64 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 ions['decorated']);.}.if.(isset(
9ea00 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 0a 24 74 68 69 73 2d $options['verbosity'])).{.$this-
9ea20 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 74 69 6f 6e 73 5b 27 >output->setVerbosity($options['
9ea40 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 74 68 69 73 2d 3e 63 verbosity']);.}..return.$this->c
9ea60 6f 6d 6d 61 6e 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 ommand->run($this->input,.$this-
9ea80 3e 6f 75 74 70 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 >output);.}.........public.funct
9eaa0 69 6f 6e 20 67 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 ion.getDisplay($normalize.=.fals
9eac0 65 29 0a 7b 0a 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 e).{.rewind($this->output->getSt
9eae0 72 65 61 6d 28 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 ream());..$display.=.stream_get_
9eb00 63 6f 6e 74 65 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 contents($this->output->getStrea
9eb20 6d 28 29 29 3b 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 m());..if.($normalize).{.$displa
9eb40 79 20 3d 20 73 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 y.=.str_replace(PHP_EOL,."\n",.$
9eb60 64 69 73 70 6c 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 display);.}..return.$display;.}.
9eb80 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()
9eba0 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;.}.......
9ebc0 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
9ebe0 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...
9ec00 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
9ec20 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 63 6c 61 73 73 ent\Console\Formatter;.....class
9ec40 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 53 74 61 63 6b 0a 7b 0a 0a 0a 0a .OutputFormatterStyleStack.{....
9ec60 70 72 69 76 61 74 65 20 24 73 74 79 6c 65 73 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 65 6d private.$styles;.....private.$em
9ec80 70 74 79 53 74 79 6c 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 ptyStyle;.......public.function.
9eca0 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 65 __construct(OutputFormatterStyle
9ecc0 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 0a Interface.$emptyStyle.=.null).{.
9ece0 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 20 $this->emptyStyle.=.$emptyStyle.
9ed00 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 24 ?:.new.OutputFormatterStyle();.$
9ed20 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 63 this->reset();.}.....public.func
9ed40 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 61 tion.reset().{.$this->styles.=.a
9ed60 72 72 61 79 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 rray();.}.......public.function.
9ed80 70 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 push(OutputFormatterStyleInterfa
9eda0 63 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 ce.$style).{.$this->styles[].=.$
9edc0 73 74 79 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 style;.}...........public.functi
9ede0 6f 6e 20 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 on.pop(OutputFormatterStyleInter
9ee00 66 61 63 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 face.$style.=.null).{.if.(empty(
9ee20 24 74 68 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 $this->styles)).{.return.$this->
9ee40 65 6d 70 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 emptyStyle;.}..if.(null.===.$sty
9ee60 6c 65 29 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 le).{.return.array_pop($this->st
9ee80 79 6c 65 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 yles);.}..foreach.(array_reverse
9eea0 28 24 74 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 ($this->styles,.true).as.$index.
9eec0 3d 3e 20 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 =>.$stackedStyle).{.if.($style->
9eee0 61 70 70 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 apply('').===.$stackedStyle->app
9ef00 6c 79 28 27 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 20 3d 20 61 72 72 61 79 5f ly('')).{.$this->styles.=.array_
9ef20 73 6c 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 slice($this->styles,.0,.$index);
9ef40 0a 0a 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 ..return.$stackedStyle;.}.}..thr
9ef60 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
9ef80 28 27 49 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 ('Incorrectly.nested.style.tag.f
9efa0 6f 75 6e 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 ound.');.}.......public.function
9efc0 20 67 65 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 .getCurrent().{.if.(empty($this-
9efe0 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 74 79 53 >styles)).{.return.$this->emptyS
9f000 74 79 6c 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 63 6f tyle;.}..return.$this->styles[co
9f020 75 6e 74 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 29 2d 31 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 unt($this->styles)-1];.}.......p
9f040 75 62 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 ublic.function.setEmptyStyle(Out
9f060 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 20 24 65 6d 70 74 putFormatterStyleInterface.$empt
9f080 79 53 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 yStyle).{.$this->emptyStyle.=.$e
9f0a0 6d 70 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 mptyStyle;..return.$this;.}.....
9f0c0 70 75 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 public.function.getEmptyStyle().
9f0e0 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 65 3b 0a 7d 0a 7d 0a {.return.$this->emptyStyle;.}.}.
9f100 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
9f120 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 3b 0a 0a y\Component\Console\Formatter;..
9f140 0a 0a 0a 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 .......class.OutputFormatterStyl
9f160 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c e.implements.OutputFormatterStyl
9f180 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 61 76 61 eInterface.{.private.static.$ava
9f1a0 69 6c 61 62 6c 65 46 6f 72 65 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 20 3d 20 61 72 72 61 79 28 0a ilableForegroundColors.=.array(.
9f1c0 27 62 6c 61 63 6b 27 20 3d 3e 20 33 30 2c 0a 27 72 65 64 27 20 3d 3e 20 33 31 2c 0a 27 67 72 65 'black'.=>.30,.'red'.=>.31,.'gre
9f1e0 65 6e 27 20 3d 3e 20 33 32 2c 0a 27 79 65 6c 6c 6f 77 27 20 3d 3e 20 33 33 2c 0a 27 62 6c 75 65 en'.=>.32,.'yellow'.=>.33,.'blue
9f200 27 20 3d 3e 20 33 34 2c 0a 27 6d 61 67 65 6e 74 61 27 20 3d 3e 20 33 35 2c 0a 27 63 79 61 6e 27 '.=>.34,.'magenta'.=>.35,.'cyan'
9f220 20 3d 3e 20 33 36 2c 0a 27 77 68 69 74 65 27 20 3d 3e 20 33 37 0a 29 3b 0a 70 72 69 76 61 74 65 .=>.36,.'white'.=>.37.);.private
9f240 20 73 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 .static.$availableBackgroundColo
9f260 72 73 20 3d 20 61 72 72 61 79 28 0a 27 62 6c 61 63 6b 27 20 3d 3e 20 34 30 2c 0a 27 72 65 64 27 rs.=.array(.'black'.=>.40,.'red'
9f280 20 3d 3e 20 34 31 2c 0a 27 67 72 65 65 6e 27 20 3d 3e 20 34 32 2c 0a 27 79 65 6c 6c 6f 77 27 20 .=>.41,.'green'.=>.42,.'yellow'.
9f2a0 3d 3e 20 34 33 2c 0a 27 62 6c 75 65 27 20 3d 3e 20 34 34 2c 0a 27 6d 61 67 65 6e 74 61 27 20 3d =>.43,.'blue'.=>.44,.'magenta'.=
9f2c0 3e 20 34 35 2c 0a 27 63 79 61 6e 27 20 3d 3e 20 34 36 2c 0a 27 77 68 69 74 65 27 20 3d 3e 20 34 >.45,.'cyan'.=>.46,.'white'.=>.4
9f2e0 37 0a 29 3b 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 4f 70 7.);.private.static.$availableOp
9f300 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 31 2c 0a 27 75 6e 64 tions.=.array(.'bold'.=>.1,.'und
9f320 65 72 73 63 6f 72 65 27 20 3d 3e 20 34 2c 0a 27 62 6c 69 6e 6b 27 20 3d 3e 20 35 2c 0a 27 72 65 erscore'.=>.4,.'blink'.=>.5,.'re
9f340 76 65 72 73 65 27 20 3d 3e 20 37 2c 0a 27 63 6f 6e 63 65 61 6c 27 20 3d 3e 20 38 0a 29 3b 0a 0a verse'.=>.7,.'conceal'.=>.8.);..
9f360 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 24 62 61 private.$foreground;.private.$ba
9f380 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 61 72 72 ckground;.private.$options.=.arr
9f3a0 61 79 28 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 ay();...........public.function.
9f3c0 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 20 __construct($foreground.=.null,.
9f3e0 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 6f $background.=.null,.array.$optio
9f400 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 6f ns.=.array()).{.if.(null.!==.$fo
9f420 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 64 reground).{.$this->setForeground
9f440 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 62 ($foreground);.}.if.(null.!==.$b
9f460 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 6e ackground).{.$this->setBackgroun
9f480 64 28 24 62 61 63 6b 67 72 6f 75 6e 64 29 3b 0a 7d 0a 69 66 20 28 63 6f 75 6e 74 28 24 6f 70 74 d($background);.}.if.(count($opt
9f4a0 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 74 69 ions)).{.$this->setOptions($opti
9f4c0 6f 6e 73 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 6e 63 74 ons);.}.}...........public.funct
9f4e0 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)
9f500 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-
9f520 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;.}..
9f540 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
9f560 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.
9f580 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
9f5a0 72 69 6e 74 66 28 0a 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 rintf(.'Invalid.foreground.color
9f5c0 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
9f5e0 66 20 28 25 73 29 27 2c 0a 24 63 6f 6c 6f 72 2c 0a 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 f.(%s)',.$color,.implode(',.',.a
9f600 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 46 6f 72 65 rray_keys(static::$availableFore
9f620 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 29 29 0a 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 6f 72 groundColors)).));.}..$this->for
9f640 65 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 6c 65 46 6f 72 65 eground.=.static::$availableFore
9f660 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 0a 0a 0a 0a 0a 0a groundColors[$color];.}.........
9f680 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(
9f6a0 24 63 6f 6c 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 63 $color.=.null).{.if.(null.===.$c
9f6c0 6f 6c 6f 72 29 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 olor).{.$this->background.=.null
9f6e0 3b 0a 0a 72 65 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 ;..return;.}..if.(!isset(static:
9f700 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 5b 24 63 6f 6c :$availableBackgroundColors[$col
9f720 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 67 75 6d 65 or])).{.throw.new.\InvalidArgume
9f740 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 64 20 62 61 ntException(sprintf(.'Invalid.ba
9f760 63 6b 67 72 6f 75 6e 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 ckground.color.specified:."%s"..
9f780 45 78 70 65 63 74 65 64 20 6f 6e 65 20 6f 66 20 28 25 73 29 27 2c 0a 24 63 6f 6c 6f 72 2c 0a 69 Expected.one.of.(%s)',.$color,.i
9f7a0 6d 70 6c 6f 64 65 28 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 mplode(',.',.array_keys(static::
9f7c0 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 29 29 0a 29 29 3b $availableBackgroundColors)).));
9f7e0 0a 7d 0a 0a 24 74 68 69 73 2d 3e 62 61 63 6b 67 72 6f 75 6e 64 20 3d 20 73 74 61 74 69 63 3a 3a .}..$this->background.=.static::
9f800 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 5b 24 63 6f 6c 6f $availableBackgroundColors[$colo
9f820 72 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 63 74 69 6f 6e 20 r];.}...........public.function.
9f840 73 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 setOption($option).{.if.(!isset(
9f860 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 6f static::$availableOptions[$optio
9f880 6e 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 n])).{.throw.new.\InvalidArgumen
9f8a0 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 64 20 6f 70 74 tException(sprintf(.'Invalid.opt
9f8c0 69 6f 6e 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 ion.specified:."%s"..Expected.on
9f8e0 65 20 6f 66 20 28 25 73 29 27 2c 0a 24 6f 70 74 69 6f 6e 2c 0a 69 6d 70 6c 6f 64 65 28 27 2c 20 e.of.(%s)',.$option,.implode(',.
9f900 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 62 6c 65 ',.array_keys(static::$available
9f920 4f 70 74 69 6f 6e 73 29 29 0a 29 29 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 61 Options)).));.}..if.(false.===.a
9f940 72 72 61 79 5f 73 65 61 72 63 68 28 73 74 61 74 69 63 3a 3a 24 61 76 61 69 6c 61 62 6c 65 4f 70 rray_search(static::$availableOp
9f960 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 74 69 6f 6e 73 29 29 tions[$option],.$this->options))
9f980 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 74 69 63 3a 3a 24 61 .{.$this->options[].=.static::$a
9f9a0 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 0a 7d 0a 7d 0a 0a 0a vailableOptions[$option];.}.}...
9f9c0 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 65 74 4f 70 74 69 .......public.function.unsetOpti
9f9e0 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 74 61 74 69 63 3a on($option).{.if.(!isset(static:
9fa00 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 29 29 20 7b 0a :$availableOptions[$option])).{.
9fa20 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
9fa40 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 49 6e 76 61 6c 69 64 20 6f 70 74 69 6f 6e 20 73 70 65 ion(sprintf(.'Invalid.option.spe
9fa60 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 28 25 cified:."%s"..Expected.one.of.(%
9fa80 73 29 27 2c 0a 24 6f 70 74 69 6f 6e 2c 0a 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 72 61 s)',.$option,.implode(',.',.arra
9faa0 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 69 6f 6e 73 y_keys(static::$availableOptions
9fac0 29 29 0a 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 28 73 74 )).));.}..$pos.=.array_search(st
9fae0 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 5d atic::$availableOptions[$option]
9fb00 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 21 3d 3d ,.$this->options);.if.(false.!==
9fb20 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 5b 24 70 .$pos).{.unset($this->options[$p
9fb40 6f 73 5d 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 os]);.}.}.......public.function.
9fb60 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 68 setOptions(array.$options).{.$th
9fb80 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 20 is->options.=.array();..foreach.
9fba0 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 73 ($options.as.$option).{.$this->s
9fbc0 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 70 etOption($option);.}.}.........p
9fbe0 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 63 ublic.function.apply($text).{.$c
9fc00 6f 64 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 24 74 odes.=.array();..if.(null.!==.$t
9fc20 68 69 73 2d 3e 66 6f 72 65 67 72 6f 75 6e 64 29 20 7b 0a 24 63 6f 64 65 73 5b 5d 20 3d 20 24 74 his->foreground).{.$codes[].=.$t
9fc40 68 69 73 2d 3e 66 6f 72 65 67 72 6f 75 6e 64 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 his->foreground;.}.if.(null.!==.
9fc60 24 74 68 69 73 2d 3e 62 61 63 6b 67 72 6f 75 6e 64 29 20 7b 0a 24 63 6f 64 65 73 5b 5d 20 3d 20 $this->background).{.$codes[].=.
9fc80 24 74 68 69 73 2d 3e 62 61 63 6b 67 72 6f 75 6e 64 3b 0a 7d 0a 69 66 20 28 63 6f 75 6e 74 28 24 $this->background;.}.if.(count($
9fca0 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 29 29 20 7b 0a 24 63 6f 64 65 73 20 3d 20 61 72 72 61 79 this->options)).{.$codes.=.array
9fcc0 5f 6d 65 72 67 65 28 24 63 6f 64 65 73 2c 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 29 3b 0a _merge($codes,.$this->options);.
9fce0 7d 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 63 6f 64 65 73 29 29 20 7b 0a 72 65 }..if.(0.===.count($codes)).{.re
9fd00 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 6e 74 66 28 22 5c turn.$text;.}..return.sprintf("\
9fd20 30 33 33 5b 25 73 6d 25 73 5c 30 33 33 5b 30 6d 22 2c 20 69 6d 70 6c 6f 64 65 28 27 3b 27 2c 20 033[%sm%s\033[0m",.implode(';',.
9fd40 24 63 6f 64 65 73 29 2c 20 24 74 65 78 74 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a $codes),.$text);.}.}.<?php......
9fd60 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
9fd80 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 0a 0a 69 6e 74 65 \Console\Formatter;.........inte
9fda0 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 65 72 66 rface.OutputFormatterStyleInterf
9fdc0 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 6f 6e 20 73 65 74 ace.{........public.function.set
9fde0 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 0a Foreground($color.=.null);......
9fe00 0a 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 ...public.function.setBackground
9fe20 28 24 63 6f 6c 6f 72 20 3d 20 6e 75 6c 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ($color.=.null);.........public.
9fe40 66 75 6e 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 function.setOption($option);....
9fe60 0a 0a 0a 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 ...public.function.unsetOption($
9fe80 6f 70 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 73 option);.......public.function.s
9fea0 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 3b 0a 0a 0a 0a 0a 0a etOptions(array.$options);......
9fec0 0a 0a 0a 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 3b ...public.function.apply($text);
9fee0 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
9ff00 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
9ff20 3b 0a 0a 0a 0a 0a 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 20 ;.........class.OutputFormatter.
9ff40 69 6d 70 6c 65 6d 65 6e 74 73 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 implements.OutputFormatterInterf
9ff60 61 63 65 0a 7b 0a 0a 0a 0a 63 6f 6e 73 74 20 46 4f 52 4d 41 54 5f 50 41 54 54 45 52 4e 20 3d 20 ace.{....const.FORMAT_PATTERN.=.
9ff80 27 23 28 5c 5c 5c 5c 3f 29 3c 28 2f 3f 29 28 5b 61 2d 7a 5d 5b 61 2d 7a 30 2d 39 5f 3d 3b 2d 5d '#(\\\\?)<(/?)([a-z][a-z0-9_=;-]
9ffa0 2b 29 3f 3e 28 28 3f 3a 20 5b 5e 3c 5c 5c 5c 5c 5d 2b 20 7c 20 28 3f 21 3c 28 3f 3a 2f 3f 5b 61 +)?>((?:.[^<\\\\]+.|.(?!<(?:/?[a
9ffc0 2d 7a 5d 7c 2f 3e 29 29 2e 20 7c 20 2e 28 3f 3c 3d 5c 5c 5c 5c 3c 29 20 29 2a 29 23 69 73 78 27 -z]|/>))..|..(?<=\\\\<).)*)#isx'
9ffe0 3b 0a 0a 70 72 69 76 61 74 65 20 24 64 65 63 6f 72 61 74 65 64 3b 0a 70 72 69 76 61 74 65 20 24 ;..private.$decorated;.private.$
a0000 73 74 79 6c 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 73 74 79 6c 65 styles.=.array();.private.$style
a0020 53 74 61 63 6b 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 Stack;.........public.static.fun
a0040 63 74 69 6f 6e 20 65 73 63 61 70 65 28 24 74 65 78 74 29 0a 7b 0a 72 65 74 75 72 6e 20 70 72 65 ction.escape($text).{.return.pre
a0060 67 5f 72 65 70 6c 61 63 65 28 27 2f 28 5b 5e 5c 5c 5c 5c 5d 3f 29 3c 2f 69 73 27 2c 20 27 24 31 g_replace('/([^\\\\]?)</is',.'$1
a0080 5c 5c 3c 27 2c 20 24 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 \\<',.$text);.}..........public.
a00a0 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.
a00c0 3d 20 6e 75 6c 6c 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 29 =.null,.array.$styles.=.array())
a00e0 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 63 6f 72 61 74 65 64 20 3d 20 28 42 6f 6f 6c 65 61 6e 29 20 .{.$this->decorated.=.(Boolean).
a0100 24 64 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 $decorated;..$this->setStyle('er
a0120 72 6f 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 ror',.new.OutputFormatterStyle('
a0140 77 68 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 white',.'red'));.$this->setStyle
a0160 28 27 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 ('info',.new.OutputFormatterStyl
a0180 65 28 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 e('green'));.$this->setStyle('co
a01a0 6d 6d 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 mment',.new.OutputFormatterStyle
a01c0 28 27 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 ('yellow'));.$this->setStyle('qu
a01e0 65 73 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 estion',.new.OutputFormatterStyl
a0200 65 28 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 e('black',.'cyan'));..foreach.($
a0220 73 74 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 styles.as.$name.=>.$style).{.$th
a0240 69 73 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 is->setStyle($name,.$style);.}..
a0260 24 74 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 $this->styleStack.=.new.OutputFo
a0280 72 6d 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 0a 0a 0a 0a 70 rmatterStyleStack();.}.........p
a02a0 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 24 64 65 63 ublic.function.setDecorated($dec
a02c0 6f 72 61 74 65 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 63 6f 72 61 74 65 64 20 3d 20 28 42 6f orated).{.$this->decorated.=.(Bo
a02e0 6f 6c 65 61 6e 29 20 24 64 65 63 6f 72 61 74 65 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 olean).$decorated;.}.........pub
a0300 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 7b 0a 72 65 74 lic.function.isDecorated().{.ret
a0320 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 63 6f 72 61 74 65 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a urn.$this->decorated;.}.........
a0340 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 2c .public.function.setStyle($name,
a0360 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 20 24 .OutputFormatterStyleInterface.$
a0380 73 74 79 6c 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 5b 73 74 72 74 6f 6c 6f 77 65 style).{.$this->styles[strtolowe
a03a0 72 28 24 6e 61 6d 65 29 5d 20 3d 20 24 73 74 79 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a r($name)].=.$style;.}...........
a03c0 70 75 62 6c 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 0a public.function.hasStyle($name).
a03e0 7b 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 5b 73 74 72 {.return.isset($this->styles[str
a0400 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a tolower($name)]);.}.............
a0420 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).
a0440 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)).{
a0460 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 70 .throw.new.\InvalidArgumentExcep
a0480 74 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 tion(sprintf('Undefined.style:.%
a04a0 73 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 s',.$name));.}..return.$this->st
a04c0 79 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 0a yles[strtolower($name)];.}......
a04e0 0a 0a 0a 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 6d 65 73 .....public.function.format($mes
a0500 73 61 67 65 29 0a 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f sage).{.$message.=.preg_replace_
a0520 63 61 6c 6c 62 61 63 6b 28 73 65 6c 66 3a 3a 46 4f 52 4d 41 54 5f 50 41 54 54 45 52 4e 2c 20 61 callback(self::FORMAT_PATTERN,.a
a0540 72 72 61 79 28 24 74 68 69 73 2c 20 27 72 65 70 6c 61 63 65 53 74 79 6c 65 27 29 2c 20 24 6d 65 rray($this,.'replaceStyle'),.$me
a0560 73 73 61 67 65 29 3b 0a 0a 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 3c ssage);..return.str_replace('\\<
a0580 27 2c 20 27 3c 27 2c 20 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ',.'<',.$message);.}.....public.
a05a0 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 79 6c 65 53 74 61 63 6b 28 29 0a 7b 0a 72 65 74 75 72 function.getStyleStack().{.retur
a05c0 6e 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 53 74 61 63 6b 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 n.$this->styleStack;.}.........p
a05e0 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 70 6c 61 63 65 53 74 79 6c 65 28 24 6d 61 rivate.function.replaceStyle($ma
a0600 74 63 68 29 0a 7b 0a 0a 20 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 24 6d 61 74 63 68 5b 31 5d 29 tch).{...if.('\\'.===.$match[1])
a0620 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 70 70 6c 79 43 75 72 72 65 6e 74 53 74 79 .{.return.$this->applyCurrentSty
a0640 6c 65 28 24 6d 61 74 63 68 5b 30 5d 29 3b 0a 7d 0a 0a 69 66 20 28 27 27 20 3d 3d 3d 20 24 6d 61 le($match[0]);.}..if.(''.===.$ma
a0660 74 63 68 5b 33 5d 29 20 7b 0a 69 66 20 28 27 2f 27 20 3d 3d 3d 20 24 6d 61 74 63 68 5b 32 5d 29 tch[3]).{.if.('/'.===.$match[2])
a0680 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 53 74 61 63 6b 2d 3e 70 6f 70 28 29 3b 0a 0a .{...$this->styleStack->pop();..
a06a0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 70 70 6c 79 43 75 72 72 65 6e 74 53 74 79 6c 65 28 return.$this->applyCurrentStyle(
a06c0 24 6d 61 74 63 68 5b 34 5d 29 3b 0a 7d 0a 0a 0a 20 72 65 74 75 72 6e 20 27 3c 3e 27 2e 24 74 68 $match[4]);.}....return.'<>'.$th
a06e0 69 73 2d 3e 61 70 70 6c 79 43 75 72 72 65 6e 74 53 74 79 6c 65 28 24 6d 61 74 63 68 5b 34 5d 29 is->applyCurrentStyle($match[4])
a0700 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 5b 73 74 72 ;.}..if.(isset($this->styles[str
a0720 74 6f 6c 6f 77 65 72 28 24 6d 61 74 63 68 5b 33 5d 29 5d 29 29 20 7b 0a 24 73 74 79 6c 65 20 3d tolower($match[3])])).{.$style.=
a0740 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 6d 61 74 63 68 .$this->styles[strtolower($match
a0760 5b 33 5d 29 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 73 74 79 6c 65 20 3d 20 24 74 68 69 73 2d 3e [3])];.}.else.{.$style.=.$this->
a0780 63 72 65 61 74 65 53 74 79 6c 65 46 72 6f 6d 53 74 72 69 6e 67 28 24 6d 61 74 63 68 5b 33 5d 29 createStyleFromString($match[3])
a07a0 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 73 74 79 6c 65 29 20 7b 0a 72 65 74 75 72 ;..if.(false.===.$style).{.retur
a07c0 6e 20 24 74 68 69 73 2d 3e 61 70 70 6c 79 43 75 72 72 65 6e 74 53 74 79 6c 65 28 24 6d 61 74 63 n.$this->applyCurrentStyle($matc
a07e0 68 5b 30 5d 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 27 2f 27 20 3d 3d 3d 20 24 6d 61 74 63 68 5b 32 h[0]);.}.}..if.('/'.===.$match[2
a0800 5d 29 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 28 24 73 74 79 ]).{.$this->styleStack->pop($sty
a0820 6c 65 29 3b 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 le);.}.else.{.$this->styleStack-
a0840 3e 70 75 73 68 28 24 73 74 79 6c 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e >push($style);.}..return.$this->
a0860 61 70 70 6c 79 43 75 72 72 65 6e 74 53 74 79 6c 65 28 24 6d 61 74 63 68 5b 34 5d 29 3b 0a 7d 0a applyCurrentStyle($match[4]);.}.
a0880 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 53 ........private.function.createS
a08a0 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 21 70 tyleFromString($string).{.if.(!p
a08c0 72 65 67 5f 6d 61 74 63 68 5f 61 6c 6c 28 27 2f 28 5b 5e 3d 5d 2b 29 3d 28 5b 5e 3b 5d 2b 29 28 reg_match_all('/([^=]+)=([^;]+)(
a08e0 3b 7c 24 29 2f 27 2c 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 73 74 72 69 6e 67 29 2c 20 24 6d 61 ;|$)/',.strtolower($string),.$ma
a0900 74 63 68 65 73 2c 20 50 52 45 47 5f 53 45 54 5f 4f 52 44 45 52 29 29 20 7b 0a 72 65 74 75 72 6e tches,.PREG_SET_ORDER)).{.return
a0920 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 73 74 79 6c 65 20 3d 20 6e 65 77 20 4f 75 74 70 75 74 46 6f .false;.}..$style.=.new.OutputFo
a0940 72 6d 61 74 74 65 72 53 74 79 6c 65 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 61 74 63 68 65 rmatterStyle();.foreach.($matche
a0960 73 20 61 73 20 24 6d 61 74 63 68 29 20 7b 0a 61 72 72 61 79 5f 73 68 69 66 74 28 24 6d 61 74 63 s.as.$match).{.array_shift($matc
a0980 68 29 3b 0a 0a 69 66 20 28 27 66 67 27 20 3d 3d 20 24 6d 61 74 63 68 5b 30 5d 29 20 7b 0a 24 73 h);..if.('fg'.==.$match[0]).{.$s
a09a0 74 79 6c 65 2d 3e 73 65 74 46 6f 72 65 67 72 6f 75 6e 64 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a tyle->setForeground($match[1]);.
a09c0 7d 20 65 6c 73 65 69 66 20 28 27 62 67 27 20 3d 3d 20 24 6d 61 74 63 68 5b 30 5d 29 20 7b 0a 24 }.elseif.('bg'.==.$match[0]).{.$
a09e0 73 74 79 6c 65 2d 3e 73 65 74 42 61 63 6b 67 72 6f 75 6e 64 28 24 6d 61 74 63 68 5b 31 5d 29 3b style->setBackground($match[1]);
a0a00 0a 7d 20 65 6c 73 65 20 7b 0a 24 73 74 79 6c 65 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 24 6d 61 74 .}.else.{.$style->setOption($mat
a0a20 63 68 5b 31 5d 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 74 79 6c 65 3b 0a 7d 0a 0a 0a ch[1]);.}.}..return.$style;.}...
a0a40 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 70 6c 79 43 75 72 72 ......private.function.applyCurr
a0a60 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 24 74 68 69 73 2d 3e entStyle($text).{.return.$this->
a0a80 69 73 44 65 63 6f 72 61 74 65 64 28 29 20 26 26 20 73 74 72 6c 65 6e 28 24 74 65 78 74 29 20 3e isDecorated().&&.strlen($text).>
a0aa0 20 30 20 3f 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 53 74 61 63 6b 2d 3e 67 65 74 43 75 72 72 65 .0.?.$this->styleStack->getCurre
a0ac0 6e 74 28 29 2d 3e 61 70 70 6c 79 28 24 74 65 78 74 29 20 3a 20 24 74 65 78 74 3b 0a 7d 0a 7d 0a nt()->apply($text).:.$text;.}.}.
a0ae0 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
a0b00 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 3b 0a 0a y\Component\Console\Formatter;..
a0b20 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 6d 61 74 74 65 72 .......interface.OutputFormatter
a0b40 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
a0b60 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 0a 0a 0a 0a on.setDecorated($decorated);....
a0b80 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 64 .....public.function.isDecorated
a0ba0 28 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 73 65 74 ();..........public.function.set
a0bc0 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
a0be0 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 0a 0a 70 75 eInterface.$style);...........pu
a0c00 62 6c 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 blic.function.hasStyle($name);..
a0c20 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 79 6c .........public.function.getStyl
a0c40 65 28 24 6e 61 6d 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 e($name);...........public.funct
a0c60 69 6f 6e 20 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 ion.format($message);.}.<?php...
a0c80 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
a0ca0 65 6e 74 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 6d 70 6f 6e ent\Console;..use.Symfony\Compon
a0cc0 65 6e 74 5c 43 6f 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 ent\Console\Descriptor\TextDescr
a0ce0 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 6e iptor;.use.Symfony\Component\Con
a0d00 73 6f 6c 65 5c 44 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 sole\Descriptor\XmlDescriptor;.u
a0d20 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
a0d40 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
a0d60 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 67 76 49 6e 70 75 74 omponent\Console\Input\ArgvInput
a0d80 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\
a0da0 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 5c 43 6f Input\ArrayInput;.use.Symfony\Co
a0dc0 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 44 65 66 69 6e mponent\Console\Input\InputDefin
a0de0 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 65 6e 74 5c 43 6f 6e ition;.use.Symfony\Component\Con
a0e00 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
a0e20 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
a0e40 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
a0e60 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;
a0e80 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
a0ea0 75 74 70 75 74 5c 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 utput\ConsoleOutput;.use.Symfony
a0ec0 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
a0ee0 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
a0f00 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;
a0f20 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 43 .use.Symfony\Component\Console\C
a0f40 6f 6d 6d 61 6e 64 5c 48 65 6c 70 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c ommand\HelpCommand;.use.Symfony\
a0f60 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 4c 69 73 74 43 6f Component\Console\Command\ListCo
a0f80 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 5c 43 6f 6e mmand;.use.Symfony\Component\Con
a0fa0 73 6f 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 sole\Helper\HelperSet;.use.Symfo
a0fc0 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 46 6f 72 6d ny\Component\Console\Helper\Form
a0fe0 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 70 6f 6e 65 atterHelper;.use.Symfony\Compone
a1000 6e 74 5c 43 6f 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 nt\Console\Helper\DialogHelper;.
a1020 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
a1040 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 6e 79 lper\ProgressHelper;.use.Symfony
a1060 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 54 61 62 6c 65 48 \Component\Console\Helper\TableH
a1080 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
a10a0 73 6f 6c 65 5c 45 76 65 6e 74 5c 43 6f 6e 73 6f 6c 65 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3b 0a sole\Event\ConsoleCommandEvent;.
a10c0 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 76 use.Symfony\Component\Console\Ev
a10e0 65 6e 74 5c 43 6f 6e 73 6f 6c 65 46 6f 72 45 78 63 65 70 74 69 6f 6e 45 76 65 6e 74 3b 0a 75 73 ent\ConsoleForExceptionEvent;.us
a1100 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 65 6e e.Symfony\Component\Console\Even
a1120 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 65 20 53 79 6d t\ConsoleTerminateEvent;.use.Sym
a1140 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 45 fony\Component\EventDispatcher\E
a1160 76 65 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 0a 0a 0a ventDispatcher;.................
a1180 0a 0a 63 6c 61 73 73 20 41 70 70 6c 69 63 61 74 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 20 24 63 ..class.Application.{.private.$c
a11a0 6f 6d 6d 61 6e 64 73 3b 0a 70 72 69 76 61 74 65 20 24 77 61 6e 74 48 65 6c 70 73 20 3d 20 66 61 ommands;.private.$wantHelps.=.fa
a11c0 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 72 75 6e 6e 69 6e 67 43 6f 6d 6d 61 6e 64 3b 0a 70 72 lse;.private.$runningCommand;.pr
a11e0 69 76 61 74 65 20 24 6e 61 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 76 65 72 73 69 6f 6e 3b 0a 70 ivate.$name;.private.$version;.p
a1200 72 69 76 61 74 65 20 24 63 61 74 63 68 45 78 63 65 70 74 69 6f 6e 73 3b 0a 70 72 69 76 61 74 65 rivate.$catchExceptions;.private
a1220 20 24 61 75 74 6f 45 78 69 74 3b 0a 70 72 69 76 61 74 65 20 24 64 65 66 69 6e 69 74 69 6f 6e 3b .$autoExit;.private.$definition;
a1240 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
a1260 73 70 61 74 63 68 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 spatcher;..........public.functi
a1280 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 20 3d 20 27 55 4e 4b 4e 4f 57 4e 27 on.__construct($name.=.'UNKNOWN'
a12a0 2c 20 24 76 65 72 73 69 6f 6e 20 3d 20 27 55 4e 4b 4e 4f 57 4e 27 29 0a 7b 0a 24 74 68 69 73 2d ,.$version.=.'UNKNOWN').{.$this-
a12c0 3e 6e 61 6d 65 20 3d 20 24 6e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 20 3d 20 >name.=.$name;.$this->version.=.
a12e0 24 76 65 72 73 69 6f 6e 3b 0a 24 74 68 69 73 2d 3e 63 61 74 63 68 45 78 63 65 70 74 69 6f 6e 73 $version;.$this->catchExceptions
a1300 20 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 61 75 74 6f 45 78 69 74 20 3d 20 74 72 75 65 3b .=.true;.$this->autoExit.=.true;
a1320 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 .$this->commands.=.array();.$thi
a1340 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
a1360 48 65 6c 70 65 72 53 65 74 28 29 3b 0a 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 20 3d HelperSet();.$this->definition.=
a1380 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 6f .$this->getDefaultInputDefinitio
a13a0 6e 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 44 65 66 61 75 6c 74 n();..foreach.($this->getDefault
a13c0 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-
a13e0 3e 61 64 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 >add($command);.}.}..public.func
a1400 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
a1420 65 72 20 24 64 69 73 70 61 74 63 68 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 69 73 70 61 74 63 er.$dispatcher).{.$this->dispatc
a1440 68 65 72 20 3d 20 24 64 69 73 70 61 74 63 68 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a her.=.$dispatcher;.}............
a1460 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 6e 74 65 72 ..public.function.run(InputInter
a1480 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 74 65 72 66 face.$input.=.null,.OutputInterf
a14a0 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 6c 6c 20 3d ace.$output.=.null).{.if.(null.=
a14c0 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 67 76 49 6e ==.$input).{.$input.=.new.ArgvIn
a14e0 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 75 74 29 20 put();.}..if.(null.===.$output).
a1500 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 74 28 29 3b {.$output.=.new.ConsoleOutput();
a1520 0a 7d 0a 0a 74 72 79 20 7b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 64 6f 52 .}..try.{.$exitCode.=.$this->doR
a1540 75 6e 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 un($input,.$output);.}.catch.(\E
a1560 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 63 61 74 63 68 xception.$e).{.if.(!$this->catch
a1580 45 78 63 65 70 74 69 6f 6e 73 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 69 66 20 28 24 Exceptions).{.throw.$e;.}..if.($
a15a0 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 49 output.instanceof.ConsoleOutputI
a15c0 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 45 78 63 65 70 74 69 nterface).{.$this->renderExcepti
a15e0 6f 6e 28 24 65 2c 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 on($e,.$output->getErrorOutput()
a1600 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 45 78 63 65 70 74 69 );.}.else.{.$this->renderExcepti
a1620 6f 6e 28 24 65 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 24 on($e,.$output);.}.$exitCode.=.$
a1640 65 2d 3e 67 65 74 43 6f 64 65 28 29 3b 0a 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 69 73 5f 6e 75 e->getCode();..$exitCode.=.is_nu
a1660 6d 65 72 69 63 28 24 65 78 69 74 43 6f 64 65 29 20 26 26 20 24 65 78 69 74 43 6f 64 65 20 3f 20 meric($exitCode).&&.$exitCode.?.
a1680 24 65 78 69 74 43 6f 64 65 20 3a 20 31 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 61 75 74 $exitCode.:.1;.}..if.($this->aut
a16a0 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).{.
a16c0 24 65 78 69 74 43 6f 64 65 20 3d 20 32 35 35 3b 0a 7d 0a 0a 20 65 78 69 74 28 24 65 78 69 74 43 $exitCode.=.255;.}...exit($exitC
a16e0 6f 64 65 29 3b 0a 0a 20 7d 0a 0a 72 65 74 75 72 6e 20 24 65 78 69 74 43 6f 64 65 3b 0a 7d 0a 0a ode);...}..return.$exitCode;.}..
a1700 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 6f 52 75 6e 28 49 6e ........public.function.doRun(In
a1720 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 72 putInterface.$input,.OutputInter
a1740 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 face.$output).{.$name.=.$this->g
a1760 65 74 43 6f 6d 6d 61 6e 64 4e 61 6d 65 28 24 69 6e 70 75 74 29 3b 0a 0a 69 66 20 28 74 72 75 65 etCommandName($input);..if.(true
a1780 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 6f 6e 28 .===.$input->hasParameterOption(
a17a0 61 72 72 61 79 28 27 2d 2d 61 6e 73 69 27 29 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 73 65 74 array('--ansi'))).{.$output->set
a17c0 44 65 63 6f 72 61 74 65 64 28 74 72 75 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 74 72 75 65 20 Decorated(true);.}.elseif.(true.
a17e0 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 6f 6e 28 61 ===.$input->hasParameterOption(a
a1800 72 72 61 79 28 27 2d 2d 6e 6f 2d 61 6e 73 69 27 29 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 73 rray('--no-ansi'))).{.$output->s
a1820 65 74 44 65 63 6f 72 61 74 65 64 28 66 61 6c 73 65 29 3b 0a 7d 0a 0a 69 66 20 28 74 72 75 65 20 etDecorated(false);.}..if.(true.
a1840 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 6f 6e 28 61 ===.$input->hasParameterOption(a
a1860 72 72 61 79 28 27 2d 2d 68 65 6c 70 27 2c 20 27 2d 68 27 29 29 29 20 7b 0a 69 66 20 28 21 24 6e rray('--help',.'-h'))).{.if.(!$n
a1880 61 6d 65 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 27 68 65 6c 70 27 3b 0a 24 69 6e 70 75 74 20 3d 20 ame).{.$name.=.'help';.$input.=.
a18a0 6e 65 77 20 41 72 72 61 79 49 6e 70 75 74 28 61 72 72 61 79 28 27 63 6f 6d 6d 61 6e 64 27 20 3d new.ArrayInput(array('command'.=
a18c0 3e 20 27 68 65 6c 70 27 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 77 61 6e 74 >.'help'));.}.else.{.$this->want
a18e0 48 65 6c 70 73 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 Helps.=.true;.}.}..if.(true.===.
a1900 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 28 61 72 72 61 79 $input->hasParameterOption(array
a1920 28 27 2d 2d 6e 6f 2d 69 6e 74 65 72 61 63 74 69 6f 6e 27 2c 20 27 2d 6e 27 29 29 29 20 7b 0a 24 ('--no-interaction',.'-n'))).{.$
a1940 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 29 3b 0a 7d 0a input->setInteractive(false);.}.
a1960 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 5f 69 73 61 74 .if.(function_exists('posix_isat
a1980 74 79 27 29 20 26 26 20 24 74 68 69 73 2d 3e 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 2d 3e 68 ty').&&.$this->getHelperSet()->h
a19a0 61 73 28 27 64 69 61 6c 6f 67 27 29 29 20 7b 0a 24 69 6e 70 75 74 53 74 72 65 61 6d 20 3d 20 24 as('dialog')).{.$inputStream.=.$
a19c0 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 69 61 6c 6f this->getHelperSet()->get('dialo
a19e0 67 27 29 2d 3e 67 65 74 49 6e 70 75 74 53 74 72 65 61 6d 28 29 3b 0a 69 66 20 28 21 70 6f 73 69 g')->getInputStream();.if.(!posi
a1a00 78 5f 69 73 61 74 74 79 28 24 69 6e 70 75 74 53 74 72 65 61 6d 29 29 20 7b 0a 24 69 6e 70 75 74 x_isatty($inputStream)).{.$input
a1a20 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
a1a40 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
a1a60 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'))).{
a1a80 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
a1aa0 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 7d 20 65 6c 73 65 erface::VERBOSITY_QUIET);.}.else
a1ac0 20 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 .{.if.($input->hasParameterOptio
a1ae0 6e 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 n('-vvv').||.$input->hasParamete
a1b00 72 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 24 69 6e 70 75 74 rOption('--verbose=3').||.$input
a1b20 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 62 6f 73 65 27 ->getParameterOption('--verbose'
a1b40 29 20 3d 3d 3d 20 33 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 ).===.3).{.$output->setVerbosity
a1b60 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 44 45 42 55 (OutputInterface::VERBOSITY_DEBU
a1b80 47 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 G);.}.elseif.($input->hasParamet
a1ba0 65 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 erOption('-vv').||.$input->hasPa
a1bc0 72 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 rameterOption('--verbose=2').||.
a1be0 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 27 2d 2d 76 65 $input->getParameterOption('--ve
a1c00 72 62 6f 73 65 27 29 20 3d 3d 3d 20 32 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 73 65 74 56 65 72 rbose').===.2).{.$output->setVer
a1c20 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 53 49 54 bosity(OutputInterface::VERBOSIT
a1c40 59 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 Y_VERY_VERBOSE);.}.elseif.($inpu
a1c60 74 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 t->hasParameterOption('-v').||.$
a1c80 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 28 27 2d 2d 76 65 72 input->hasParameterOption('--ver
a1ca0 62 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 bose=1').||.$input->hasParameter
a1cc0 4f 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 Option('--verbose').||.$input->g
a1ce0 65 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 etParameterOption('--verbose')).
a1d00 7b 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 {.$output->setVerbosity(OutputIn
a1d20 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 29 3b 0a 7d 0a 7d terface::VERBOSITY_VERBOSE);.}.}
a1d40 0a 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
a1d60 74 65 72 4f 70 74 69 6f 6e 28 61 72 72 61 79 28 27 2d 2d 76 65 72 73 69 6f 6e 27 2c 20 27 2d 56 terOption(array('--version',.'-V
a1d80 27 29 29 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 '))).{.$output->writeln($this->g
a1da0 65 74 4c 6f 6e 67 56 65 72 73 69 6f 6e 28 29 29 3b 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a etLongVersion());..return.0;.}..
a1dc0 69 66 20 28 21 24 6e 61 6d 65 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 27 6c 69 73 74 27 3b 0a 24 69 if.(!$name).{.$name.=.'list';.$i
a1de0 6e 70 75 74 20 3d 20 6e 65 77 20 41 72 72 61 79 49 6e 70 75 74 28 61 72 72 61 79 28 27 63 6f 6d nput.=.new.ArrayInput(array('com
a1e00 6d 61 6e 64 27 20 3d 3e 20 27 6c 69 73 74 27 29 29 3b 0a 7d 0a 0a 0a 20 24 63 6f 6d 6d 61 6e 64 mand'.=>.'list'));.}....$command
a1e20 20 3d 20 24 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 .=.$this->find($name);..$this->r
a1e40 75 6e 6e 69 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 unningCommand.=.$command;.$exitC
a1e60 6f 64 65 20 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 ode.=.$this->doRunCommand($comma
a1e80 6e 64 2c 20 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 nd,.$input,.$output);.$this->run
a1ea0 6e 69 6e 67 43 6f 6d 6d 61 6e 64 20 3d 20 6e 75 6c 6c 3b 0a 0a 72 65 74 75 72 6e 20 69 73 5f 6e ningCommand.=.null;..return.is_n
a1ec0 75 6d 65 72 69 63 28 24 65 78 69 74 43 6f 64 65 29 20 3f 20 24 65 78 69 74 43 6f 64 65 20 3a 20 umeric($exitCode).?.$exitCode.:.
a1ee0 30 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 0;.}.........public.function.set
a1f00 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 29 0a HelperSet(HelperSet.$helperSet).
a1f20 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 65 74 3b {.$this->helperSet.=.$helperSet;
a1f40 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 48 65 .}.........public.function.getHe
a1f60 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 72 lperSet().{.return.$this->helper
a1f80 53 65 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 73 Set;.}.........public.function.s
a1fa0 65 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 65 etDefinition(InputDefinition.$de
a1fc0 66 69 6e 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 finition).{.$this->definition.=.
a1fe0 24 64 65 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 $definition;.}.......public.func
a2000 74 69 6f 6e 20 67 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 tion.getDefinition().{.return.$t
a2020 68 69 73 2d 3e 64 65 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 his->definition;.}.......public.
a2040 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 65 6c 70 28 29 0a 7b 0a 24 6d 65 73 73 61 67 65 73 20 3d function.getHelp().{.$messages.=
a2060 20 61 72 72 61 79 28 0a 24 74 68 69 73 2d 3e 67 65 74 4c 6f 6e 67 56 65 72 73 69 6f 6e 28 29 2c .array(.$this->getLongVersion(),
a2080 0a 27 27 2c 0a 27 3c 63 6f 6d 6d 65 6e 74 3e 55 73 61 67 65 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 .'',.'<comment>Usage:</comment>'
a20a0 2c 0a 27 20 20 5b 6f 70 74 69 6f 6e 73 5d 20 63 6f 6d 6d 61 6e 64 20 5b 61 72 67 75 6d 65 6e 74 ,.'..[options].command.[argument
a20c0 73 5d 27 2c 0a 27 27 2c 0a 27 3c 63 6f 6d 6d 65 6e 74 3e 4f 70 74 69 6f 6e 73 3a 3c 2f 63 6f 6d s]',.'',.'<comment>Options:</com
a20e0 6d 65 6e 74 3e 27 2c 0a 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 44 ment>',.);..foreach.($this->getD
a2100 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 24 6f 70 efinition()->getOptions().as.$op
a2120 74 69 6f 6e 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 20 tion).{.$messages[].=.sprintf('.
a2140 20 25 2d 32 39 73 20 25 73 20 25 73 27 2c 0a 27 3c 69 6e 66 6f 3e 2d 2d 27 2e 24 6f 70 74 69 6f .%-29s.%s.%s',.'<info>--'.$optio
a2160 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 3c 2f 69 6e 66 6f 3e 27 2c 0a 24 6f 70 74 69 6f 6e 2d n->getName().'</info>',.$option-
a2180 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 20 3f 20 27 3c 69 6e 66 6f 3e 2d 27 2e 24 6f 70 74 69 >getShortcut().?.'<info>-'.$opti
a21a0 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 2e 27 3c 2f 69 6e 66 6f 3e 27 20 3a 20 27 20 on->getShortcut().'</info>'.:.'.
a21c0 20 27 2c 0a 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 0a 29 3b .',.$option->getDescription().);
a21e0 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 50 48 50 5f 45 4f 4c 2c 20 24 6d 65 73 .}..return.implode(PHP_EOL,.$mes
a2200 73 61 67 65 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 sages);.}.........public.functio
a2220 6e 20 73 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 n.setCatchExceptions($boolean).{
a2240 0a 24 74 68 69 73 2d 3e 63 61 74 63 68 45 78 63 65 70 74 69 6f 6e 73 20 3d 20 28 42 6f 6f 6c 65 .$this->catchExceptions.=.(Boole
a2260 61 6e 29 20 24 62 6f 6f 6c 65 61 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 an).$boolean;.}.........public.f
a2280 75 6e 63 74 69 6f 6e 20 73 65 74 41 75 74 6f 45 78 69 74 28 24 62 6f 6f 6c 65 61 6e 29 0a 7b 0a unction.setAutoExit($boolean).{.
a22a0 24 74 68 69 73 2d 3e 61 75 74 6f 45 78 69 74 20 3d 20 28 42 6f 6f 6c 65 61 6e 29 20 24 62 6f 6f $this->autoExit.=.(Boolean).$boo
a22c0 6c 65 61 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 lean;.}.........public.function.
a22e0 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 61 6d 65 3b 0a getName().{.return.$this->name;.
a2300 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 4e 61 6d }.........public.function.setNam
a2320 65 28 24 6e 61 6d 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 61 6d 65 20 3d 20 24 6e 61 6d 65 3b 0a e($name).{.$this->name.=.$name;.
a2340 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 56 65 72 }.........public.function.getVer
a2360 73 69 6f 6e 28 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 sion().{.return.$this->version;.
a2380 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 56 65 72 }.........public.function.setVer
a23a0 73 69 6f 6e 28 24 76 65 72 73 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 20 sion($version).{.$this->version.
a23c0 3d 20 24 76 65 72 73 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 =.$version;.}.........public.fun
a23e0 63 74 69 6f 6e 20 67 65 74 4c 6f 6e 67 56 65 72 73 69 6f 6e 28 29 0a 7b 0a 69 66 20 28 27 55 4e ction.getLongVersion().{.if.('UN
a2400 4b 4e 4f 57 4e 27 20 21 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d 65 28 29 20 26 26 20 27 KNOWN'.!==.$this->getName().&&.'
a2420 55 4e 4b 4e 4f 57 4e 27 20 21 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 UNKNOWN'.!==.$this->getVersion()
a2440 29 20 7b 0a 72 65 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 ).{.return.sprintf('<info>%s</in
a2460 66 6f 3e 20 76 65 72 73 69 6f 6e 20 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 fo>.version.<comment>%s</comment
a2480 3e 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 74 68 69 73 2d 3e 67 65 74 >',.$this->getName(),.$this->get
a24a0 56 65 72 73 69 6f 6e 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 3c 69 6e 66 6f 3e 43 6f 6e Version());.}..return.'<info>Con
a24c0 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 0a 0a 0a 0a 0a 0a 70 sole.Tool</info>';.}...........p
a24e0 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 6d 65 29 0a 7b ublic.function.register($name).{
a2500 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 61 6e 64 28 24 .return.$this->add(new.Command($
a2520 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 6e 63 74 69 6f name));.}.........public.functio
a2540 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 64 73 29 0a 7b n.addCommands(array.$commands).{
a2560 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 6d 61 6e 64 29 .foreach.($commands.as.$command)
a2580 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);.}.}....
a25a0 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 6f 6d .........public.function.add(Com
a25c0 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 29 0a 7b 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 73 65 74 41 70 mand.$command).{.$command->setAp
a25e0 70 6c 69 63 61 74 69 6f 6e 28 24 74 68 69 73 29 3b 0a 0a 69 66 20 28 21 24 63 6f 6d 6d 61 6e 64 plication($this);..if.(!$command
a2600 2d 3e 69 73 45 6e 61 62 6c 65 64 28 29 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 73 65 74 41 70 ->isEnabled()).{.$command->setAp
a2620 70 6c 69 63 61 74 69 6f 6e 28 6e 75 6c 6c 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 plication(null);..return;.}..$th
a2640 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()
a2660 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
a2680 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
a26a0 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;.
a26c0 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;.}...........
a26e0 0a 0a 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 69 ..public.function.get($name).{.i
a2700 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 5b 24 6e 61 6d 65 5d f.(!isset($this->commands[$name]
a2720 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
a2740 78 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 22 25 xception(sprintf('The.command."%
a2760 73 22 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 s".does.not.exist.',.$name));.}.
a2780 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 5b 24 6e 61 6d .$command.=.$this->commands[$nam
a27a0 65 5d 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 77 61 6e 74 48 65 6c 70 73 29 20 7b 0a 24 74 68 e];..if.($this->wantHelps).{.$th
a27c0 69 73 2d 3e 77 61 6e 74 48 65 6c 70 73 20 3d 20 66 61 6c 73 65 3b 0a 0a 24 68 65 6c 70 43 6f 6d is->wantHelps.=.false;..$helpCom
a27e0 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 28 27 68 65 6c 70 27 29 3b 0a 24 68 65 6c 70 mand.=.$this->get('help');.$help
a2800 43 6f 6d 6d 61 6e 64 2d 3e 73 65 74 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 0a Command->setCommand($command);..
a2820 72 65 74 75 72 6e 20 24 68 65 6c 70 43 6f 6d 6d 61 6e 64 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 return.$helpCommand;.}..return.$
a2840 63 6f 6d 6d 61 6e 64 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 command;.}...........public.func
a2860 74 69 6f 6e 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 tion.has($name).{.return.isset($
a2880 74 68 69 73 2d 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 this->commands[$name]);.}.......
a28a0 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 73 28 ..public.function.getNamespaces(
a28c0 29 0a 7b 0a 24 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 ).{.$namespaces.=.array();.forea
a28e0 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 20 61 73 20 24 63 6f 6d 6d 61 6e 64 29 ch.($this->commands.as.$command)
a2900 20 7b 0a 24 6e 61 6d 65 73 70 61 63 65 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 65 78 74 72 61 63 .{.$namespaces[].=.$this->extrac
a2920 74 4e 61 6d 65 73 70 61 63 65 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b tNamespace($command->getName());
a2940 0a 0a 66 6f 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 ..foreach.($command->getAliases(
a2960 29 20 61 73 20 24 61 6c 69 61 73 29 20 7b 0a 24 6e 61 6d 65 73 70 61 63 65 73 5b 5d 20 3d 20 24 ).as.$alias).{.$namespaces[].=.$
a2980 74 68 69 73 2d 3e 65 78 74 72 61 63 74 4e 61 6d 65 73 70 61 63 65 28 24 61 6c 69 61 73 29 3b 0a this->extractNamespace($alias);.
a29a0 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 61 72 72 61 79 5f 75 }.}..return.array_values(array_u
a29c0 6e 69 71 75 65 28 61 72 72 61 79 5f 66 69 6c 74 65 72 28 24 6e 61 6d 65 73 70 61 63 65 73 29 29 nique(array_filter($namespaces))
a29e0 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
a2a00 69 6e 64 4e 61 6d 65 73 70 61 63 65 28 24 6e 61 6d 65 73 70 61 63 65 29 0a 7b 0a 24 61 6c 6c 4e indNamespace($namespace).{.$allN
a2a20 61 6d 65 73 70 61 63 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d 65 73 70 61 63 65 73 amespaces.=.$this->getNamespaces
a2a40 28 29 3b 0a 24 66 6f 75 6e 64 20 3d 20 27 27 3b 0a 66 6f 72 65 61 63 68 20 28 65 78 70 6c 6f 64 ();.$found.=.'';.foreach.(explod
a2a60 65 28 27 3a 27 2c 20 24 6e 61 6d 65 73 70 61 63 65 29 20 61 73 20 24 69 20 3d 3e 20 24 70 61 72 e(':',.$namespace).as.$i.=>.$par
a2a80 74 29 20 7b 0a 0a 20 24 6e 61 6d 65 73 70 61 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f t).{...$namespaces.=.array();.fo
a2aa0 72 65 61 63 68 20 28 24 61 6c 6c 4e 61 6d 65 73 70 61 63 65 73 20 61 73 20 24 6e 29 20 7b 0a 69 reach.($allNamespaces.as.$n).{.i
a2ac0 66 20 28 27 27 20 3d 3d 3d 20 24 66 6f 75 6e 64 20 7c 7c 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 f.(''.===.$found.||.0.===.strpos
a2ae0 28 24 6e 2c 20 24 66 6f 75 6e 64 29 29 20 7b 0a 24 6e 61 6d 65 73 70 61 63 65 73 5b 24 6e 5d 20 ($n,.$found)).{.$namespaces[$n].
a2b00 3d 20 65 78 70 6c 6f 64 65 28 27 3a 27 2c 20 24 6e 29 3b 0a 7d 0a 7d 0a 0a 24 61 62 62 72 65 76 =.explode(':',.$n);.}.}..$abbrev
a2b20 73 20 3d 20 73 74 61 74 69 63 3a 3a 67 65 74 41 62 62 72 65 76 69 61 74 69 6f 6e 73 28 61 72 72 s.=.static::getAbbreviations(arr
a2b40 61 79 5f 75 6e 69 71 75 65 28 61 72 72 61 79 5f 76 61 6c 75 65 73 28 61 72 72 61 79 5f 66 69 6c ay_unique(array_values(array_fil
a2b60 74 65 72 28 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 70 29 20 75 73 65 20 ter(array_map(function.($p).use.
a2b80 28 24 69 29 20 7b 20 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 70 5b 24 69 5d 29 20 3f 20 24 70 ($i).{.return.isset($p[$i]).?.$p
a2ba0 5b 24 69 5d 20 3a 20 27 27 3b 20 7d 2c 20 24 6e 61 6d 65 73 70 61 63 65 73 29 29 29 29 29 3b 0a [$i].:.'';.},.$namespaces)))));.
a2bc0 0a 69 66 20 28 21 69 73 73 65 74 28 24 61 62 62 72 65 76 73 5b 24 70 61 72 74 5d 29 29 20 7b 0a .if.(!isset($abbrevs[$part])).{.
a2be0 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 6e 6f $message.=.sprintf('There.are.no
a2c00 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 6e 61 .commands.defined.in.the."%s".na
a2c20 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 31 20 3c mespace.',.$namespace);..if.(1.<
a2c40 3d 20 24 69 29 20 7b 0a 24 70 61 72 74 20 3d 20 24 66 6f 75 6e 64 2e 27 3a 27 2e 24 70 61 72 74 =.$i).{.$part.=.$found.':'.$part
a2c60 3b 0a 7d 0a 0a 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 ;.}..if.($alternatives.=.$this->
a2c80 66 69 6e 64 41 6c 74 65 72 6e 61 74 69 76 65 4e 61 6d 65 73 70 61 63 65 28 24 70 61 72 74 2c 20 findAlternativeNamespace($part,.
a2ca0 24 61 62 62 72 65 76 73 29 29 20 7b 0a 69 66 20 28 31 20 3d 3d 20 63 6f 75 6e 74 28 24 61 6c 74 $abbrevs)).{.if.(1.==.count($alt
a2cc0 65 72 6e 61 74 69 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 ernatives)).{.$message..=."\n\nD
a2ce0 69 64 20 79 6f 75 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 id.you.mean.this?\n....";.}.else
a2d00 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 65 61 6e .{.$message..=."\n\nDid.you.mean
a2d20 20 6f 6e 65 20 6f 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 .one.of.these?\n....";.}..$messa
a2d40 67 65 20 2e 3d 20 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 ge..=.implode("\n....",.$alterna
a2d60 74 69 76 65 73 29 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 tives);.}..throw.new.\InvalidArg
a2d80 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 0a 20 69 umentException($message);.}....i
a2da0 66 20 28 69 6e 5f 61 72 72 61 79 28 24 70 61 72 74 2c 20 24 61 62 62 72 65 76 73 5b 24 70 61 72 f.(in_array($part,.$abbrevs[$par
a2dc0 74 5d 29 29 20 7b 0a 24 61 62 62 72 65 76 73 5b 24 70 61 72 74 5d 20 3d 20 61 72 72 61 79 28 24 t])).{.$abbrevs[$part].=.array($
a2de0 70 61 72 74 29 3b 0a 7d 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 61 62 62 72 65 76 73 5b 24 70 61 part);.}..if.(count($abbrevs[$pa
a2e00 72 74 5d 29 20 3e 20 31 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 rt]).>.1).{.throw.new.\InvalidAr
a2e20 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 6e 61 6d gumentException(sprintf('The.nam
a2e40 65 73 70 61 63 65 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 2c espace."%s".is.ambiguous.(%s).',
a2e60 20 24 6e 61 6d 65 73 70 61 63 65 2c 20 24 74 68 69 73 2d 3e 67 65 74 41 62 62 72 65 76 69 61 74 .$namespace,.$this->getAbbreviat
a2e80 69 6f 6e 53 75 67 67 65 73 74 69 6f 6e 73 28 24 61 62 62 72 65 76 73 5b 24 70 61 72 74 5d 29 29 ionSuggestions($abbrevs[$part]))
a2ea0 29 3b 0a 7d 0a 0a 24 66 6f 75 6e 64 20 2e 3d 20 24 66 6f 75 6e 64 20 3f 20 27 3a 27 20 2e 20 24 );.}..$found..=.$found.?.':'...$
a2ec0 61 62 62 72 65 76 73 5b 24 70 61 72 74 5d 5b 30 5d 20 3a 20 24 61 62 62 72 65 76 73 5b 24 70 61 abbrevs[$part][0].:.$abbrevs[$pa
a2ee0 72 74 5d 5b 30 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 66 6f 75 6e 64 3b 0a 7d 0a 0a 0a 0a 0a rt][0];.}..return.$found;.}.....
a2f00 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 69 6e 64 28 ...........public.function.find(
a2f20 24 6e 61 6d 65 29 0a 7b 0a 0a 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 20 27 27 3b 0a 24 73 65 61 $name).{...$namespace.=.'';.$sea
a2f40 72 63 68 4e 61 6d 65 20 3d 20 24 6e 61 6d 65 3b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 rchName.=.$name;.if.(false.!==.$
a2f60 70 6f 73 20 3d 20 73 74 72 72 70 6f 73 28 24 6e 61 6d 65 2c 20 27 3a 27 29 29 20 7b 0a 24 6e 61 pos.=.strrpos($name,.':')).{.$na
a2f80 6d 65 73 70 61 63 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 4e 61 6d 65 73 70 61 63 65 28 73 mespace.=.$this->findNamespace(s
a2fa0 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 30 2c 20 24 70 6f 73 29 29 3b 0a 24 73 65 61 72 63 68 4e ubstr($name,.0,.$pos));.$searchN
a2fc0 61 6d 65 20 3d 20 24 6e 61 6d 65 73 70 61 63 65 2e 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 24 ame.=.$namespace.substr($name,.$
a2fe0 70 6f 73 29 3b 0a 7d 0a 0a 0a 20 24 63 6f 6d 6d 61 6e 64 73 20 3d 20 61 72 72 61 79 28 29 3b 0a pos);.}....$commands.=.array();.
a3000 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 20 61 73 20 24 63 6f 6d foreach.($this->commands.as.$com
a3020 6d 61 6e 64 29 20 7b 0a 24 65 78 74 72 61 63 74 65 64 4e 61 6d 65 73 70 61 63 65 20 3d 20 24 74 mand).{.$extractedNamespace.=.$t
a3040 68 69 73 2d 3e 65 78 74 72 61 63 74 4e 61 6d 65 73 70 61 63 65 28 24 63 6f 6d 6d 61 6e 64 2d 3e his->extractNamespace($command->
a3060 67 65 74 4e 61 6d 65 28 29 29 3b 0a 69 66 20 28 24 65 78 74 72 61 63 74 65 64 4e 61 6d 65 73 70 getName());.if.($extractedNamesp
a3080 61 63 65 20 3d 3d 3d 20 24 6e 61 6d 65 73 70 61 63 65 0a 7c 7c 20 21 65 6d 70 74 79 28 24 6e 61 ace.===.$namespace.||.!empty($na
a30a0 6d 65 73 70 61 63 65 29 20 26 26 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 65 78 74 72 61 63 mespace).&&.0.===.strpos($extrac
a30c0 74 65 64 4e 61 6d 65 73 70 61 63 65 2c 20 24 6e 61 6d 65 73 70 61 63 65 29 0a 29 20 7b 0a 24 63 tedNamespace,.$namespace).).{.$c
a30e0 6f 6d 6d 61 6e 64 73 5b 5d 20 3d 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 3b ommands[].=.$command->getName();
a3100 0a 7d 0a 7d 0a 0a 24 61 62 62 72 65 76 73 20 3d 20 73 74 61 74 69 63 3a 3a 67 65 74 41 62 62 72 .}.}..$abbrevs.=.static::getAbbr
a3120 65 76 69 61 74 69 6f 6e 73 28 61 72 72 61 79 5f 75 6e 69 71 75 65 28 24 63 6f 6d 6d 61 6e 64 73 eviations(array_unique($commands
a3140 29 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 61 62 62 72 65 76 73 5b 24 73 65 61 72 63 68 4e 61 ));.if.(isset($abbrevs[$searchNa
a3160 6d 65 5d 29 20 26 26 20 31 20 3d 3d 20 63 6f 75 6e 74 28 24 61 62 62 72 65 76 73 5b 24 73 65 61 me]).&&.1.==.count($abbrevs[$sea
a3180 72 63 68 4e 61 6d 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 28 24 rchName])).{.return.$this->get($
a31a0 61 62 62 72 65 76 73 5b 24 73 65 61 72 63 68 4e 61 6d 65 5d 5b 30 5d 29 3b 0a 7d 0a 0a 69 66 20 abbrevs[$searchName][0]);.}..if.
a31c0 28 69 73 73 65 74 28 24 61 62 62 72 65 76 73 5b 24 73 65 61 72 63 68 4e 61 6d 65 5d 29 20 26 26 (isset($abbrevs[$searchName]).&&
a31e0 20 69 6e 5f 61 72 72 61 79 28 24 73 65 61 72 63 68 4e 61 6d 65 2c 20 24 61 62 62 72 65 76 73 5b .in_array($searchName,.$abbrevs[
a3200 24 73 65 61 72 63 68 4e 61 6d 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 $searchName])).{.return.$this->g
a3220 65 74 28 24 73 65 61 72 63 68 4e 61 6d 65 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 61 et($searchName);.}..if.(isset($a
a3240 62 62 72 65 76 73 5b 24 73 65 61 72 63 68 4e 61 6d 65 5d 29 20 26 26 20 63 6f 75 6e 74 28 24 61 bbrevs[$searchName]).&&.count($a
a3260 62 62 72 65 76 73 5b 24 73 65 61 72 63 68 4e 61 6d 65 5d 29 20 3e 20 31 29 20 7b 0a 24 73 75 67 bbrevs[$searchName]).>.1).{.$sug
a3280 67 65 73 74 69 6f 6e 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 62 62 72 65 76 69 61 74 69 6f gestions.=.$this->getAbbreviatio
a32a0 6e 53 75 67 67 65 73 74 69 6f 6e 73 28 24 61 62 62 72 65 76 73 5b 24 73 65 61 72 63 68 4e 61 6d nSuggestions($abbrevs[$searchNam
a32c0 65 5d 29 3b 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 e]);..throw.new.\InvalidArgument
a32e0 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 6f 6d 6d 61 6e 64 20 22 25 73 22 20 Exception(sprintf('Command."%s".
a3300 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 2c 20 24 73 75 67 is.ambiguous.(%s).',.$name,.$sug
a3320 67 65 73 74 69 6f 6e 73 29 29 3b 0a 7d 0a 0a 0a 20 24 61 6c 69 61 73 65 73 20 3d 20 61 72 72 61 gestions));.}....$aliases.=.arra
a3340 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 20 61 73 y();.foreach.($this->commands.as
a3360 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6d 6d 61 6e 64 2d 3e .$command).{.foreach.($command->
a3380 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 65 78 74 72 61 getAliases().as.$alias).{.$extra
a33a0 63 74 65 64 4e 61 6d 65 73 70 61 63 65 20 3d 20 24 74 68 69 73 2d 3e 65 78 74 72 61 63 74 4e 61 ctedNamespace.=.$this->extractNa
a33c0 6d 65 73 70 61 63 65 28 24 61 6c 69 61 73 29 3b 0a 69 66 20 28 24 65 78 74 72 61 63 74 65 64 4e mespace($alias);.if.($extractedN
a33e0 61 6d 65 73 70 61 63 65 20 3d 3d 3d 20 24 6e 61 6d 65 73 70 61 63 65 0a 7c 7c 20 21 65 6d 70 74 amespace.===.$namespace.||.!empt
a3400 79 28 24 6e 61 6d 65 73 70 61 63 65 29 20 26 26 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 65 y($namespace).&&.0.===.strpos($e
a3420 78 74 72 61 63 74 65 64 4e 61 6d 65 73 70 61 63 65 2c 20 24 6e 61 6d 65 73 70 61 63 65 29 0a 29 xtractedNamespace,.$namespace).)
a3440 20 7b 0a 24 61 6c 69 61 73 65 73 5b 5d 20 3d 20 24 61 6c 69 61 73 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 .{.$aliases[].=.$alias;.}.}.}..$
a3460 61 6c 69 61 73 65 73 20 3d 20 73 74 61 74 69 63 3a 3a 67 65 74 41 62 62 72 65 76 69 61 74 69 6f aliases.=.static::getAbbreviatio
a3480 6e 73 28 61 72 72 61 79 5f 75 6e 69 71 75 65 28 24 61 6c 69 61 73 65 73 29 29 3b 0a 69 66 20 28 ns(array_unique($aliases));.if.(
a34a0 21 69 73 73 65 74 28 24 61 6c 69 61 73 65 73 5b 24 73 65 61 72 63 68 4e 61 6d 65 5d 29 29 20 7b !isset($aliases[$searchName])).{
a34c0 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 22 25 73 .$message.=.sprintf('Command."%s
a34e0 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 69 66 20 ".is.not.defined.',.$name);..if.
a3500 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 6c 74 65 ($alternatives.=.$this->findAlte
a3520 72 6e 61 74 69 76 65 43 6f 6d 6d 61 6e 64 73 28 24 73 65 61 72 63 68 4e 61 6d 65 2c 20 24 61 62 rnativeCommands($searchName,.$ab
a3540 62 72 65 76 73 29 29 20 7b 0a 69 66 20 28 31 20 3d 3d 20 63 6f 75 6e 74 28 24 61 6c 74 65 72 6e brevs)).{.if.(1.==.count($altern
a3560 61 74 69 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 atives)).{.$message..=."\n\nDid.
a3580 79 6f 75 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 you.mean.this?\n....";.}.else.{.
a35a0 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 65 61 6e 20 6f 6e $message..=."\n\nDid.you.mean.on
a35c0 65 20 6f 66 20 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 e.of.these?\n....";.}.$message..
a35e0 3d 20 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 =.implode("\n....",.$alternative
a3600 73 29 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 s);.}..throw.new.\InvalidArgumen
a3620 74 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 69 66 20 28 63 6f 75 tException($message);.}..if.(cou
a3640 6e 74 28 24 61 6c 69 61 73 65 73 5b 24 73 65 61 72 63 68 4e 61 6d 65 5d 29 20 3e 20 31 29 20 7b nt($aliases[$searchName]).>.1).{
a3660 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 70 .throw.new.\InvalidArgumentExcep
a3680 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 6f 6d 6d 61 6e 64 20 22 25 73 22 20 69 73 20 61 6d tion(sprintf('Command."%s".is.am
a36a0 62 69 67 75 6f 75 73 20 28 25 73 29 2e 27 2c 20 24 6e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 67 65 biguous.(%s).',.$name,.$this->ge
a36c0 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 24 61 6c 69 61 73 65 tAbbreviationSuggestions($aliase
a36e0 73 5b 24 73 65 61 72 63 68 4e 61 6d 65 5d 29 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 s[$searchName])));.}..return.$th
a3700 69 73 2d 3e 67 65 74 28 24 61 6c 69 61 73 65 73 5b 24 73 65 61 72 63 68 4e 61 6d 65 5d 5b 30 5d is->get($aliases[$searchName][0]
a3720 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 63 74 69 6f 6e );.}.............public.function
a3740 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 69 66 20 28 6e 75 .all($namespace.=.null).{.if.(nu
a3760 6c 6c 20 3d 3d 3d 20 24 6e 61 6d 65 73 70 61 63 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 ll.===.$namespace).{.return.$thi
a3780 73 2d 3e 63 6f 6d 6d 61 6e 64 73 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 73 20 3d 20 61 72 72 61 s->commands;.}..$commands.=.arra
a37a0 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 20 61 73 y();.foreach.($this->commands.as
a37c0 20 24 6e 61 6d 65 20 3d 3e 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 69 66 20 28 24 6e 61 6d 65 73 .$name.=>.$command).{.if.($names
a37e0 70 61 63 65 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 65 78 74 72 61 63 74 4e 61 6d 65 73 70 61 63 65 pace.===.$this->extractNamespace
a3800 28 24 6e 61 6d 65 2c 20 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 24 6e 61 6d 65 73 70 61 63 65 2c ($name,.substr_count($namespace,
a3820 20 27 3a 27 29 20 2b 20 31 29 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 73 5b 24 6e 61 6d 65 5d 20 3d .':').+.1)).{.$commands[$name].=
a3840 20 24 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d 6d 61 6e 64 73 .$command;.}.}..return.$commands
a3860 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 69 ;.}.........public.static.functi
a3880 6f 6e 20 67 65 74 41 62 62 72 65 76 69 61 74 69 6f 6e 73 28 24 6e 61 6d 65 73 29 0a 7b 0a 24 61 on.getAbbreviations($names).{.$a
a38a0 62 62 72 65 76 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6e 61 6d 65 bbrevs.=.array();.foreach.($name
a38c0 73 20 61 73 20 24 6e 61 6d 65 29 20 7b 0a 66 6f 72 20 28 24 6c 65 6e 20 3d 20 73 74 72 6c 65 6e s.as.$name).{.for.($len.=.strlen
a38e0 28 24 6e 61 6d 65 29 3b 20 24 6c 65 6e 20 3e 20 30 3b 20 2d 2d 24 6c 65 6e 29 20 7b 0a 24 61 62 ($name);.$len.>.0;.--$len).{.$ab
a3900 62 72 65 76 20 3d 20 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 30 2c 20 24 6c 65 6e 29 3b 0a 24 brev.=.substr($name,.0,.$len);.$
a3920 61 62 62 72 65 76 73 5b 24 61 62 62 72 65 76 5d 5b 5d 20 3d 20 24 6e 61 6d 65 3b 0a 7d 0a 7d 0a abbrevs[$abbrev][].=.$name;.}.}.
a3940 0a 72 65 74 75 72 6e 20 24 61 62 62 72 65 76 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 .return.$abbrevs;.}............p
a3960 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 54 65 78 74 28 24 6e 61 6d 65 73 70 61 63 65 ublic.function.asText($namespace
a3980 20 3d 20 6e 75 6c 6c 2c 20 24 72 61 77 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 64 65 73 63 72 69 .=.null,.$raw.=.false).{.$descri
a39a0 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 0a 72 65 ptor.=.new.TextDescriptor();..re
a39c0 74 75 72 6e 20 24 64 65 73 63 72 69 70 74 6f 72 2d 3e 64 65 73 63 72 69 62 65 28 24 74 68 69 73 turn.$descriptor->describe($this
a39e0 2c 20 61 72 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 ,.array('namespace'.=>.$namespac
a3a00 65 2c 20 27 72 61 77 5f 74 65 78 74 27 20 3d 3e 20 24 72 61 77 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a e,.'raw_text'.=>.$raw));.}......
a3a20 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 58 6d 6c 28 24 6e 61 6d ......public.function.asXml($nam
a3a40 65 73 70 61 63 65 20 3d 20 6e 75 6c 6c 2c 20 24 61 73 44 6f 6d 20 3d 20 66 61 6c 73 65 29 0a 7b espace.=.null,.$asDom.=.false).{
a3a60 0a 24 64 65 73 63 72 69 70 74 6f 72 20 3d 20 6e 65 77 20 58 6d 6c 44 65 73 63 72 69 70 74 6f 72 .$descriptor.=.new.XmlDescriptor
a3a80 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 64 65 73 63 72 69 70 74 6f 72 2d 3e 64 65 73 63 72 69 62 ();..return.$descriptor->describ
a3aa0 65 28 24 74 68 69 73 2c 20 61 72 72 61 79 28 27 6e 61 6d 65 73 70 61 63 65 27 20 3d 3e 20 24 6e e($this,.array('namespace'.=>.$n
a3ac0 61 6d 65 73 70 61 63 65 2c 20 27 61 73 5f 64 6f 6d 27 20 3d 3e 20 24 61 73 44 6f 6d 29 29 3b 0a amespace,.'as_dom'.=>.$asDom));.
a3ae0 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 65 6e 64 65 72 45 }........public.function.renderE
a3b00 78 63 65 70 74 69 6f 6e 28 24 65 2c 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 73 74 72 6c 65 6e 20 xception($e,.$output).{.$strlen.
a3b20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 73 74 72 69 6e 67 29 20 7b 0a 69 66 20 28 21 66 75 6e 63 =.function.($string).{.if.(!func
a3b40 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 6d 62 5f 73 74 72 6c 65 6e 27 29 29 20 7b 0a 72 65 74 75 tion_exists('mb_strlen')).{.retu
a3b60 72 6e 20 73 74 72 6c 65 6e 28 24 73 74 72 69 6e 67 29 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 rn.strlen($string);.}..if.(false
a3b80 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 65 6e 63 6f 64 .===.$encoding.=.mb_detect_encod
a3ba0 69 6e 67 28 24 73 74 72 69 6e 67 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 6c 65 6e 28 24 73 ing($string)).{.return.strlen($s
a3bc0 74 72 69 6e 67 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6d 62 5f 73 74 72 6c 65 6e 28 24 73 74 72 tring);.}..return.mb_strlen($str
a3be0 69 6e 67 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 3b 0a 0a 64 6f 20 7b 0a 24 74 69 74 6c 65 ing,.$encoding);.};..do.{.$title
a3c00 20 3d 20 73 70 72 69 6e 74 66 28 27 20 20 5b 25 73 5d 20 20 27 2c 20 67 65 74 5f 63 6c 61 73 73 .=.sprintf('..[%s]..',.get_class
a3c20 28 24 65 29 29 3b 0a 24 6c 65 6e 20 3d 20 24 73 74 72 6c 65 6e 28 24 74 69 74 6c 65 29 3b 0a 24 ($e));.$len.=.$strlen($title);.$
a3c40 77 69 64 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 54 65 72 6d 69 6e 61 6c 57 69 64 74 68 28 width.=.$this->getTerminalWidth(
a3c60 29 20 3f 20 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 ).?.$this->getTerminalWidth().-.
a3c80 31 20 3a 20 50 48 50 5f 49 4e 54 5f 4d 41 58 3b 0a 24 6c 69 6e 65 73 20 3d 20 61 72 72 61 79 28 1.:.PHP_INT_MAX;.$lines.=.array(
a3ca0 29 3b 0a 66 6f 72 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 );.foreach.(preg_split('/\r?\n/'
a3cc0 2c 20 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 20 61 73 20 24 6c 69 6e 65 29 20 7b 0a ,.$e->getMessage()).as.$line).{.
a3ce0 66 6f 72 65 61 63 68 20 28 73 74 72 5f 73 70 6c 69 74 28 24 6c 69 6e 65 2c 20 24 77 69 64 74 68 foreach.(str_split($line,.$width
a3d00 20 2d 20 34 29 20 61 73 20 24 6c 69 6e 65 29 20 7b 0a 24 6c 69 6e 65 73 5b 5d 20 3d 20 73 70 72 .-.4).as.$line).{.$lines[].=.spr
a3d20 69 6e 74 66 28 27 20 20 25 73 20 20 27 2c 20 24 6c 69 6e 65 29 3b 0a 24 6c 65 6e 20 3d 20 6d 61 intf('..%s..',.$line);.$len.=.ma
a3d40 78 28 24 73 74 72 6c 65 6e 28 24 6c 69 6e 65 29 20 2b 20 34 2c 20 24 6c 65 6e 29 3b 0a 7d 0a 7d x($strlen($line).+.4,.$len);.}.}
a3d60 0a 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 61 72 72 61 79 28 73 74 72 5f 72 65 70 65 61 74 28 27 ..$messages.=.array(str_repeat('
a3d80 20 27 2c 20 24 6c 65 6e 29 2c 20 24 74 69 74 6c 65 2e 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 .',.$len),.$title.str_repeat('.'
a3da0 2c 20 6d 61 78 28 30 2c 20 24 6c 65 6e 20 2d 20 24 73 74 72 6c 65 6e 28 24 74 69 74 6c 65 29 29 ,.max(0,.$len.-.$strlen($title))
a3dc0 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 65 73 20 61 73 20 24 6c 69 6e 65 29 20 7b ));..foreach.($lines.as.$line).{
a3de0 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 24 6c 69 6e 65 2e 73 74 72 5f 72 65 70 65 61 74 28 .$messages[].=.$line.str_repeat(
a3e00 27 20 27 2c 20 24 6c 65 6e 20 2d 20 24 73 74 72 6c 65 6e 28 24 6c 69 6e 65 29 29 3b 0a 7d 0a 0a '.',.$len.-.$strlen($line));.}..
a3e20 24 6d 65 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 $messages[].=.str_repeat('.',.$l
a3e40 65 6e 29 3b 0a 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 22 22 29 3b 0a 24 6f 75 74 en);..$output->writeln("");.$out
a3e60 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 22 22 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 65 73 73 put->writeln("");.foreach.($mess
a3e80 61 67 65 73 20 61 73 20 24 6d 65 73 73 61 67 65 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 ages.as.$message).{.$output->wri
a3ea0 74 65 6c 6e 28 27 3c 65 72 72 6f 72 3e 27 2e 24 6d 65 73 73 61 67 65 2e 27 3c 2f 65 72 72 6f 72 teln('<error>'.$message.'</error
a3ec0 3e 27 29 3b 0a 7d 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 22 22 29 3b 0a 24 6f 75 >');.}.$output->writeln("");.$ou
a3ee0 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 22 22 29 3b 0a 0a 69 66 20 28 4f 75 74 70 75 74 49 6e tput->writeln("");..if.(OutputIn
a3f00 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 20 3c 3d 20 24 6f terface::VERBOSITY_VERBOSE.<=.$o
a3f20 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 75 74 70 75 74 utput->getVerbosity()).{.$output
a3f40 2d 3e 77 72 69 74 65 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 ->writeln('<comment>Exception.tr
a3f60 61 63 65 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 29 3b 0a 0a 0a 20 24 74 72 61 63 65 20 3d 20 24 65 ace:</comment>');....$trace.=.$e
a3f80 2d 3e 67 65 74 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 ->getTrace();.array_unshift($tra
a3fa0 63 65 2c 20 61 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 ce,.array(.'function'.=>.'',.'fi
a3fc0 6c 65 27 20 3d 3e 20 24 65 2d 3e 67 65 74 46 69 6c 65 28 29 20 21 3d 20 6e 75 6c 6c 20 3f 20 24 le'.=>.$e->getFile().!=.null.?.$
a3fe0 65 2d 3e 67 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 e->getFile().:.'n/a',.'line'.=>.
a4000 24 65 2d 3e 67 65 74 4c 69 6e 65 28 29 20 21 3d 20 6e 75 6c 6c 20 3f 20 24 65 2d 3e 67 65 74 4c $e->getLine().!=.null.?.$e->getL
a4020 69 6e 65 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 ine().:.'n/a',.'args'.=>.array()
a4040 2c 0a 29 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 63 6f 75 ,.));..for.($i.=.0,.$count.=.cou
a4060 6e 74 28 24 74 72 61 63 65 29 3b 20 24 69 20 3c 20 24 63 6f 75 6e 74 3b 20 24 69 2b 2b 29 20 7b nt($trace);.$i.<.$count;.$i++).{
a4080 0a 24 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 .$class.=.isset($trace[$i]['clas
a40a0 73 27 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 s']).?.$trace[$i]['class'].:.'';
a40c0 0a 24 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 .$type.=.isset($trace[$i]['type'
a40e0 5d 29 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 ]).?.$trace[$i]['type'].:.'';.$f
a4100 75 6e 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 unction.=.$trace[$i]['function']
a4120 3b 0a 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 ;.$file.=.isset($trace[$i]['file
a4140 27 5d 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 ']).?.$trace[$i]['file'].:.'n/a'
a4160 3b 0a 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 ;.$line.=.isset($trace[$i]['line
a4180 27 5d 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 ']).?.$trace[$i]['line'].:.'n/a'
a41a0 3b 0a 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 ;..$output->writeln(sprintf('.%s
a41c0 25 73 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 %s%s().at.<info>%s:%s</info>',.$
a41e0 63 6c 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 class,.$type,.$function,.$file,.
a4200 24 6c 69 6e 65 29 29 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 22 22 29 $line));.}..$output->writeln("")
a4220 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 22 22 29 3b 0a 7d 0a 7d 20 77 68 69 6c ;.$output->writeln("");.}.}.whil
a4240 65 20 28 24 65 20 3d 20 24 65 2d 3e 67 65 74 50 72 65 76 69 6f 75 73 28 29 29 3b 0a 0a 69 66 20 e.($e.=.$e->getPrevious());..if.
a4260 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 72 75 6e 6e 69 6e 67 43 6f 6d 6d 61 6e 64 29 (null.!==.$this->runningCommand)
a4280 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 69 6e .{.$output->writeln(sprintf('<in
a42a0 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 2c 20 73 70 72 69 6e 74 66 28 24 74 68 69 73 2d 3e 72 75 fo>%s</info>',.sprintf($this->ru
a42c0 6e 6e 69 6e 67 43 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 29 2c 20 24 74 68 nningCommand->getSynopsis(),.$th
a42e0 69 73 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 is->getName())));.$output->write
a4300 6c 6e 28 22 22 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 22 22 29 3b 0a 7d 0a ln("");.$output->writeln("");.}.
a4320 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 74 54 65 }.......protected.function.getTe
a4340 72 6d 69 6e 61 6c 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 rminalWidth().{.$dimensions.=.$t
a4360 68 69 73 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 0a 0a 72 his->getTerminalDimensions();..r
a4380 65 74 75 72 6e 20 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 eturn.$dimensions[0];.}.......pr
a43a0 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 48 65 69 67 otected.function.getTerminalHeig
a43c0 68 74 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 65 74 54 ht().{.$dimensions.=.$this->getT
a43e0 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 24 64 69 erminalDimensions();..return.$di
a4400 6d 65 6e 73 69 6f 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 mensions[1];.}.......public.func
a4420 74 69 6f 6e 20 67 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 tion.getTerminalDimensions().{.i
a4440 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_
a4460 42 55 49 4c 44 27 29 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 BUILD')).{...if.(preg_match('/^(
a4480 5c 64 2b 29 78 5c 64 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 \d+)x\d+.\(\d+x(\d+)\)$/',.trim(
a44a0 67 65 74 65 6e 76 28 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 getenv('ANSICON')),.$matches)).{
a44c0 0a 72 65 74 75 72 6e 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 .return.array((int).$matches[1],
a44e0 20 28 69 6e 74 29 20 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 .(int).$matches[2]);.}...if.(pre
a4500 67 5f 6d 61 74 63 68 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 g_match('/^(\d+)x(\d+)$/',.$this
a4520 2d 3e 67 65 74 43 6f 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 ->getConsoleMode(),.$matches)).{
a4540 0a 72 65 74 75 72 6e 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 .return.array((int).$matches[1],
a4560 20 28 69 6e 74 29 20 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 .(int).$matches[2]);.}.}..if.($s
a4580 74 74 79 53 74 72 69 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 ttyString.=.$this->getSttyColumn
a45a0 73 28 29 29 20 7b 0a 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 s()).{...if.(preg_match('/rows.(
a45c0 5c 64 2b 29 3b 2e 63 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 \d+);.columns.(\d+);/i',.$sttySt
a45e0 72 69 6e 67 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 ring,.$matches)).{.return.array(
a4600 28 69 6e 74 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 (int).$matches[2],.(int).$matche
a4620 73 5b 31 5d 29 3b 0a 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 s[1]);.}...if.(preg_match('/;.(\
a4640 64 2b 29 2e 72 6f 77 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 d+).rows;.(\d+).columns/i',.$stt
a4660 79 53 74 72 69 6e 67 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 yString,.$matches)).{.return.arr
a4680 61 79 28 28 69 6e 74 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 ay((int).$matches[2],.(int).$mat
a46a0 63 68 65 73 5b 31 5d 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 ches[1]);.}.}..return.array(null
a46c0 2c 20 6e 75 6c 6c 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 ,.null);.}..............protecte
a46e0 64 20 66 75 6e 63 74 69 6f 6e 20 64 6f 52 75 6e 43 6f 6d 6d 61 6e 64 28 43 6f 6d 6d 61 6e 64 20 d.function.doRunCommand(Command.
a4700 24 63 6f 6d 6d 61 6e 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 $command,.InputInterface.$input,
a4720 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 69 66 20 28 .OutputInterface.$output).{.if.(
a4740 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 64 69 73 70 61 74 63 68 65 72 29 20 7b 0a 72 65 null.===.$this->dispatcher).{.re
a4760 74 75 72 6e 20 24 63 6f 6d 6d 61 6e 64 2d 3e 72 75 6e 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 turn.$command->run($input,.$outp
a4780 75 74 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 43 6f 6d 6d ut);.}..$event.=.new.ConsoleComm
a47a0 61 6e 64 45 76 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 andEvent($command,.$input,.$outp
a47c0 75 74 29 3b 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 74 63 68 ut);.$this->dispatcher->dispatch
a47e0 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 6e 74 29 (ConsoleEvents::COMMAND,.$event)
a4800 3b 0a 0a 74 72 79 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 ;..try.{.$exitCode.=.$command->r
a4820 75 6e 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 un($input,.$output);.}.catch.(\E
a4840 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 65 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 xception.$e).{.$event.=.new.Cons
a4860 6f 6c 65 54 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 oleTerminateEvent($command,.$inp
a4880 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 29 3b 0a 24 74 68 ut,.$output,.$e->getCode());.$th
a48a0 69 73 2d 3e 64 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 28 43 6f 6e 73 6f 6c 65 is->dispatcher->dispatch(Console
a48c0 45 76 65 6e 74 73 3a 3a 54 45 52 4d 49 4e 41 54 45 2c 20 24 65 76 65 6e 74 29 3b 0a 0a 24 65 76 Events::TERMINATE,.$event);..$ev
a48e0 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 6f 6c 65 46 6f 72 45 78 63 65 70 74 69 6f 6e 45 76 65 ent.=.new.ConsoleForExceptionEve
a4900 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 65 nt($command,.$input,.$output,.$e
a4920 2c 20 24 65 76 65 6e 74 2d 3e 67 65 74 45 78 69 74 43 6f 64 65 28 29 29 3b 0a 24 74 68 69 73 2d ,.$event->getExitCode());.$this-
a4940 3e 64 69 73 70 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 >dispatcher->dispatch(ConsoleEve
a4960 6e 74 73 3a 3a 45 58 43 45 50 54 49 4f 4e 2c 20 24 65 76 65 6e 74 29 3b 0a 0a 74 68 72 6f 77 20 nts::EXCEPTION,.$event);..throw.
a4980 24 65 76 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 76 65 6e $event->getException();.}..$even
a49a0 74 20 3d 20 6e 65 77 20 43 6f 6e 73 6f 6c 65 54 65 72 6d 69 6e 61 74 65 45 76 65 6e 74 28 24 63 t.=.new.ConsoleTerminateEvent($c
a49c0 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 65 78 69 74 43 6f ommand,.$input,.$output,.$exitCo
a49e0 64 65 29 3b 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 74 63 68 de);.$this->dispatcher->dispatch
a4a00 28 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 73 3a 3a 54 45 52 4d 49 4e 41 54 45 2c 20 24 65 76 65 6e (ConsoleEvents::TERMINATE,.$even
a4a20 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 65 76 65 6e 74 2d 3e 67 65 74 45 78 69 74 43 6f 64 65 28 t);..return.$event->getExitCode(
a4a40 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 6e 63 74 69 6f 6e 20 );.}.........protected.function.
a4a60 67 65 74 43 6f 6d 6d 61 6e 64 4e 61 6d 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 getCommandName(InputInterface.$i
a4a80 6e 70 75 74 29 0a 7b 0a 72 65 74 75 72 6e 20 24 69 6e 70 75 74 2d 3e 67 65 74 46 69 72 73 74 41 nput).{.return.$input->getFirstA
a4aa0 72 67 75 6d 65 6e 74 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 rgument();.}.......protected.fun
a4ac0 63 74 69 6f 6e 20 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 ction.getDefaultInputDefinition(
a4ae0 29 0a 7b 0a 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 ).{.return.new.InputDefinition(a
a4b00 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 63 6f 6d 6d 61 6e 64 rray(.new.InputArgument('command
a4b20 27 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 54 68 65 ',.InputArgument::REQUIRED,.'The
a4b40 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 65 78 65 63 75 74 65 27 29 2c 0a 0a 6e 65 77 20 49 6e 70 75 .command.to.execute'),..new.Inpu
a4b60 74 4f 70 74 69 6f 6e 28 27 2d 2d 68 65 6c 70 27 2c 20 27 2d 68 27 2c 20 49 6e 70 75 74 4f 70 74 tOption('--help',.'-h',.InputOpt
a4b80 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 70 6c 61 79 20 74 68 69 73 20 68 ion::VALUE_NONE,.'Display.this.h
a4ba0 65 6c 70 20 6d 65 73 73 61 67 65 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 elp.message.'),.new.InputOption(
a4bc0 27 2d 2d 71 75 69 65 74 27 2c 20 27 2d 71 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 '--quiet',.'-q',.InputOption::VA
a4be0 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 6f 75 74 70 75 74 20 61 6e 79 20 6d 65 73 LUE_NONE,.'Do.not.output.any.mes
a4c00 73 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 2d 2d 76 65 72 62 sage.'),.new.InputOption('--verb
a4c20 6f 73 65 27 2c 20 27 2d 76 7c 76 76 7c 76 76 76 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a ose',.'-v|vv|vvv',.InputOption::
a4c40 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 49 6e 63 72 65 61 73 65 20 74 68 65 20 76 65 72 62 6f 73 VALUE_NONE,.'Increase.the.verbos
a4c60 69 74 79 20 6f 66 20 6d 65 73 73 61 67 65 73 3a 20 31 20 66 6f 72 20 6e 6f 72 6d 61 6c 20 6f 75 ity.of.messages:.1.for.normal.ou
a4c80 74 70 75 74 2c 20 32 20 66 6f 72 20 6d 6f 72 65 20 76 65 72 62 6f 73 65 20 6f 75 74 70 75 74 20 tput,.2.for.more.verbose.output.
a4ca0 61 6e 64 20 33 20 66 6f 72 20 64 65 62 75 67 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 and.3.for.debug'),.new.InputOpti
a4cc0 6f 6e 28 27 2d 2d 76 65 72 73 69 6f 6e 27 2c 20 27 2d 56 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f on('--version',.'-V',.InputOptio
a4ce0 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 70 6c 61 79 20 74 68 69 73 20 61 70 70 n::VALUE_NONE,.'Display.this.app
a4d00 6c 69 63 61 74 69 6f 6e 20 76 65 72 73 69 6f 6e 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 lication.version.'),.new.InputOp
a4d20 74 69 6f 6e 28 27 2d 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 tion('--ansi',.'',.InputOption::
a4d40 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 20 41 4e 53 49 20 6f 75 74 70 75 74 2e 27 VALUE_NONE,.'Force.ANSI.output.'
a4d60 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 6e 6f 2d 61 6e 73 69 27 2c 20 ),.new.InputOption('--no-ansi',.
a4d80 27 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 44 69 '',.InputOption::VALUE_NONE,.'Di
a4da0 73 61 62 6c 65 20 41 4e 53 49 20 6f 75 74 70 75 74 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f sable.ANSI.output.'),.new.InputO
a4dc0 70 74 69 6f 6e 28 27 2d 2d 6e 6f 2d 69 6e 74 65 72 61 63 74 69 6f 6e 27 2c 20 27 2d 6e 27 2c 20 ption('--no-interaction',.'-n',.
a4de0 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 74 InputOption::VALUE_NONE,.'Do.not
a4e00 20 61 73 6b 20 61 6e 79 20 69 6e 74 65 72 61 63 74 69 76 65 20 71 75 65 73 74 69 6f 6e 2e 27 29 .ask.any.interactive.question.')
a4e20 2c 0a 29 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 ,.));.}.......protected.function
a4e40 20 67 65 74 44 65 66 61 75 6c 74 43 6f 6d 6d 61 6e 64 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 .getDefaultCommands().{.return.a
a4e60 72 72 61 79 28 6e 65 77 20 48 65 6c 70 43 6f 6d 6d 61 6e 64 28 29 2c 20 6e 65 77 20 4c 69 73 74 rray(new.HelpCommand(),.new.List
a4e80 43 6f 6d 6d 61 6e 64 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 Command());.}.......protected.fu
a4ea0 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 61 75 6c 74 48 65 6c 70 65 72 53 65 74 28 29 0a 7b 0a 72 nction.getDefaultHelperSet().{.r
a4ec0 65 74 75 72 6e 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 46 eturn.new.HelperSet(array(.new.F
a4ee0 6f 72 6d 61 74 74 65 72 48 65 6c 70 65 72 28 29 2c 0a 6e 65 77 20 44 69 61 6c 6f 67 48 65 6c 70 ormatterHelper(),.new.DialogHelp
a4f00 65 72 28 29 2c 0a 6e 65 77 20 50 72 6f 67 72 65 73 73 48 65 6c 70 65 72 28 29 2c 0a 6e 65 77 20 er(),.new.ProgressHelper(),.new.
a4f20 54 61 62 6c 65 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 TableHelper(),.));.}.......priva
a4f40 74 65 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 te.function.getSttyColumns().{.i
a4f60 66 20 28 21 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 f.(!function_exists('proc_open')
a4f80 29 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 ).{.return;.}..$descriptorspec.=
a4fa0 20 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 .array(1.=>.array('pipe',.'w'),.
a4fc0 32 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 2.=>.array('pipe',.'w'));.$proce
a4fe0 73 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 ss.=.proc_open('stty.-a.|.grep.c
a5000 6f 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 olumns',.$descriptorspec,.$pipes
a5020 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 5f 65 72 ,.null,.null,.array('suppress_er
a5040 72 6f 72 73 27 20 3d 3e 20 74 72 75 65 29 29 3b 0a 69 66 20 28 69 73 5f 72 65 73 6f 75 72 63 65 rors'.=>.true));.if.(is_resource
a5060 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
a5080 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
a50a0 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
a50c0 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;
a50e0 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
a5100 6f 6e 73 6f 6c 65 4d 6f 64 65 28 29 0a 7b 0a 69 66 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 onsoleMode().{.if.(!function_exi
a5120 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 24 sts('proc_open')).{.return;.}..$
a5140 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 61 descriptorspec.=.array(1.=>.arra
a5160 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 65 y('pipe',.'w'),.2.=>.array('pipe
a5180 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 27 ',.'w'));.$process.=.proc_open('
a51a0 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 70 mode.CON',.$descriptorspec,.$pip
a51c0 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 5f es,.null,.null,.array('suppress_
a51e0 65 72 72 6f 72 73 27 20 3d 3e 20 74 72 75 65 29 29 3b 0a 69 66 20 28 69 73 5f 72 65 73 6f 75 72 errors'.=>.true));.if.(is_resour
a5200 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 5f 67 ce($process)).{.$info.=.stream_g
a5220 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 28 24 et_contents($pipes[1]);.fclose($
a5240 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 70 72 pipes[1]);.fclose($pipes[2]);.pr
a5260 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 6d 61 oc_close($process);..if.(preg_ma
a5280 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 3f 5c tch('/--------+\r?\n.+?(\d+)\r?\
a52a0 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 68 65 n.+?(\d+)\r?\n/',.$info,.$matche
a52c0 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 6d 61 s)).{.return.$matches[2].'x'.$ma
a52e0 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 65 20 tches[1];.}.}.}.........private.
a5300 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 74 69 function.getAbbreviationSuggesti
a5320 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 28 27 ons($abbrevs).{.return.sprintf('
a5340 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 76 73 %s,.%s%s',.$abbrevs[0],.$abbrevs
a5360 5b 31 5d 2c 20 63 6f 75 6e 74 28 24 61 62 62 72 65 76 73 29 20 3e 20 32 20 3f 20 73 70 72 69 6e [1],.count($abbrevs).>.2.?.sprin
a5380 74 66 28 27 20 61 6e 64 20 25 64 20 6d 6f 72 65 27 2c 20 63 6f 75 6e 74 28 24 61 62 62 72 65 76 tf('.and.%d.more',.count($abbrev
a53a0 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 70 75 62 6c s).-.2).:.'');.}............publ
a53c0 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 28 24 6e 61 ic.function.extractNamespace($na
a53e0 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 3d 20 65 78 me,.$limit.=.null).{.$parts.=.ex
a5400 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 28 24 70 61 plode(':',.$name);.array_pop($pa
a5420 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 75 6c 6c 20 rts);..return.implode(':',.null.
a5440 3d 3d 3d 20 24 6c 69 6d 69 74 20 3f 20 24 70 61 72 74 73 20 3a 20 61 72 72 61 79 5f 73 6c 69 63 ===.$limit.?.$parts.:.array_slic
a5460 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 0a 0a 0a 0a 0a e($parts,.0,.$limit));.}........
a5480 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 65 72 6e 61 74 69 ..private.function.findAlternati
a54a0 76 65 43 6f 6d 6d 61 6e 64 73 28 24 6e 61 6d 65 2c 20 24 61 62 62 72 65 76 73 29 0a 7b 0a 24 63 veCommands($name,.$abbrevs).{.$c
a54c0 61 6c 6c 62 61 63 6b 20 3d 20 66 75 6e 63 74 69 6f 6e 28 24 69 74 65 6d 29 20 7b 0a 72 65 74 75 allback.=.function($item).{.retu
a54e0 72 6e 20 24 69 74 65 6d 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 7d 3b 0a 0a 72 65 74 75 72 6e 20 rn.$item->getName();.};..return.
a5500 24 74 68 69 73 2d 3e 66 69 6e 64 41 6c 74 65 72 6e 61 74 69 76 65 73 28 24 6e 61 6d 65 2c 20 24 $this->findAlternatives($name,.$
a5520 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 2c 20 24 61 62 62 72 65 76 73 2c 20 24 63 61 6c 6c 62 this->commands,.$abbrevs,.$callb
a5540 61 63 6b 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 69 6f ack);.}..........private.functio
a5560 6e 20 66 69 6e 64 41 6c 74 65 72 6e 61 74 69 76 65 4e 61 6d 65 73 70 61 63 65 28 24 6e 61 6d 65 n.findAlternativeNamespace($name
a5580 2c 20 24 61 62 62 72 65 76 73 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 69 6e 64 ,.$abbrevs).{.return.$this->find
a55a0 41 6c 74 65 72 6e 61 74 69 76 65 73 28 24 6e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 Alternatives($name,.$this->getNa
a55c0 6d 65 73 70 61 63 65 73 28 29 2c 20 24 61 62 62 72 65 76 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a mespaces(),.$abbrevs);.}........
a55e0 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 65 72 6e .....private.function.findAltern
a5600 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 2c 20 24 61 62 62 72 atives($name,.$collection,.$abbr
a5620 65 76 73 2c 20 24 63 61 6c 6c 62 61 63 6b 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 61 6c 74 65 72 6e evs,.$callback.=.null).{.$altern
a5640 61 74 69 76 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 63 6f 6c atives.=.array();..foreach.($col
a5660 6c 65 63 74 69 6f 6e 20 61 73 20 24 69 74 65 6d 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d lection.as.$item).{.if.(null.!==
a5680 20 24 63 61 6c 6c 62 61 63 6b 29 20 7b 0a 24 69 74 65 6d 20 3d 20 63 61 6c 6c 5f 75 73 65 72 5f .$callback).{.$item.=.call_user_
a56a0 66 75 6e 63 28 24 63 61 6c 6c 62 61 63 6b 2c 20 24 69 74 65 6d 29 3b 0a 7d 0a 0a 24 6c 65 76 20 func($callback,.$item);.}..$lev.
a56c0 3d 20 6c 65 76 65 6e 73 68 74 65 69 6e 28 24 6e 61 6d 65 2c 20 24 69 74 65 6d 29 3b 0a 69 66 20 =.levenshtein($name,.$item);.if.
a56e0 28 24 6c 65 76 20 3c 3d 20 73 74 72 6c 65 6e 28 24 6e 61 6d 65 29 20 2f 20 33 20 7c 7c 20 66 61 ($lev.<=.strlen($name)./.3.||.fa
a5700 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 69 74 65 6d 2c 20 24 6e 61 6d 65 29 29 20 7b 0a lse.!==.strpos($item,.$name)).{.
a5720 24 61 6c 74 65 72 6e 61 74 69 76 65 73 5b 24 69 74 65 6d 5d 20 3d 20 24 6c 65 76 3b 0a 7d 0a 7d $alternatives[$item].=.$lev;.}.}
a5740 0a 0a 69 66 20 28 21 24 61 6c 74 65 72 6e 61 74 69 76 65 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 ..if.(!$alternatives).{.foreach.
a5760 28 24 61 62 62 72 65 76 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 75 65 73 29 20 7b 0a ($abbrevs.as.$key.=>.$values).{.
a5780 24 6c 65 76 20 3d 20 6c 65 76 65 6e 73 68 74 65 69 6e 28 24 6e 61 6d 65 2c 20 24 6b 65 79 29 3b $lev.=.levenshtein($name,.$key);
a57a0 0a 69 66 20 28 24 6c 65 76 20 3c 3d 20 73 74 72 6c 65 6e 28 24 6e 61 6d 65 29 20 2f 20 33 20 7c .if.($lev.<=.strlen($name)./.3.|
a57c0 7c 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 6b 65 79 2c 20 24 6e 61 6d 65 29 29 |.false.!==.strpos($key,.$name))
a57e0 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 76 61 6c 75 65 73 20 61 73 20 24 76 61 6c 75 65 29 20 7b .{.foreach.($values.as.$value).{
a5800 0a 24 61 6c 74 65 72 6e 61 74 69 76 65 73 5b 24 76 61 6c 75 65 5d 20 3d 20 24 6c 65 76 3b 0a 7d .$alternatives[$value].=.$lev;.}
a5820 0a 7d 0a 7d 0a 7d 0a 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 .}.}.}..asort($alternatives);..r
a5840 65 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 eturn.array_keys($alternatives);
a5860 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
a5880 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 0a ymfony\Component\Console\Input;.
a58a0 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 0a 7b 0a 63 6f ........class.InputArgument.{.co
a58c0 6e 73 74 20 52 45 51 55 49 52 45 44 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 4f 50 54 49 4f 4e 41 4c nst.REQUIRED.=.1;.const.OPTIONAL
a58e0 20 3d 20 32 3b 0a 63 6f 6e 73 74 20 49 53 5f 41 52 52 41 59 20 3d 20 34 3b 0a 0a 70 72 69 76 61 .=.2;.const.IS_ARRAY.=.4;..priva
a5900 74 65 20 24 6e 61 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 6d 6f 64 65 3b 0a 70 72 69 76 61 74 65 te.$name;.private.$mode;.private
a5920 20 24 64 65 66 61 75 6c 74 3b 0a 70 72 69 76 61 74 65 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b .$default;.private.$description;
a5940 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 5f 5f ..............public.function.__
a5960 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 75 6c 6c 2c 20 24 construct($name,.$mode.=.null,.$
a5980 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 3d 20 6e 75 6c description.=.'',.$default.=.nul
a59a0 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 0a 24 6d 6f 64 65 l).{.if.(null.===.$mode).{.$mode
a59c0 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 66 20 28 21 69 73 .=.self::OPTIONAL;.}.elseif.(!is
a59e0 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 7c 7c 20 24 6d 6f 64 _int($mode).||.$mode.>.7.||.$mod
a5a00 65 20 3c 20 31 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 e.<.1).{.throw.new.\InvalidArgum
a5a20 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 6d 65 6e 74 20 6d entException(sprintf('Argument.m
a5a40 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 6d 6f 64 65 29 29 ode."%s".is.not.valid.',.$mode))
a5a60 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 24 74 68 69 73 2d ;.}..$this->name.=.$name;.$this-
a5a80 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 72 69 70 74 69 6f >mode.=.$mode;.$this->descriptio
a5aa0 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 73 65 74 44 65 66 n.=.$description;..$this->setDef
a5ac0 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 62 6c 69 63 20 66 ault($default);.}.......public.f
a5ae0 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 24 74 68 69 73 unction.getName().{.return.$this
a5b00 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 63 74 69 6f 6e 20 ->name;.}.......public.function.
a5b20 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 3a 3a 52 45 51 55 isRequired().{.return.self::REQU
a5b40 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 20 24 74 68 69 73 IRED.===.(self::REQUIRED.&.$this
a5b60 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 74 69 6f 6e ->mode);.}.......public.function
a5b80 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 49 53 5f 41 52 52 .isArray().{.return.self::IS_ARR
a5ba0 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 74 68 69 73 2d 3e AY.===.(self::IS_ARRAY.&.$this->
a5bc0 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 6f 6e mode);.}.........public.function
a5be0 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 0a 69 .setDefault($default.=.null).{.i
a5c00 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 73 2d 3e 6d 6f 64 f.(self::REQUIRED.===.$this->mod
a5c20 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 74 68 72 6f 77 20 e.&&.null.!==.$default).{.throw.
a5c40 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 43 61 6e 6e 6f 74 20 73 65 74 20 new.\LogicException('Cannot.set.
a5c60 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 49 6e 70 75 74 a.default.value.except.for.Input
a5c80 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 0a 7d 0a 0a 69 Argument::OPTIONAL.mode.');.}..i
a5ca0 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 6e 75 6c 6c 20 f.($this->isArray()).{.if.(null.
a5cc0 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 61 72 72 61 79 ===.$default).{.$default.=.array
a5ce0 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 64 65 66 61 75 6c 74 ();.}.elseif.(!is_array($default
a5d00 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 28 27 )).{.throw.new.\LogicException('
a5d20 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 79 20 61 72 67 A.default.value.for.an.array.arg
a5d40 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 7d 0a 7d 0a 0a ument.must.be.an.array.');.}.}..
a5d60 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 7d 0a 0a 0a 0a $this->default.=.$default;.}....
a5d80 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 6c 74 28 29 0a ...public.function.getDefault().
a5da0 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 0a 0a 0a 0a 0a {.return.$this->default;.}......
a5dc0 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 69 6f 6e 28 .public.function.getDescription(
a5de0 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 6e 3b 0a 7d ).{.return.$this->description;.}
a5e00 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
a5e20 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 0a 0a 0a fony\Component\Console\Input;...
a5e40 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 49 6e 70 75 74 20 69 ..........abstract.class.Input.i
a5e60 6d 70 6c 65 6d 65 6e 74 73 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 mplements.InputInterface.{.prote
a5e80 63 74 65 64 20 24 64 65 66 69 6e 69 74 69 6f 6e 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 70 74 cted.$definition;.protected.$opt
a5ea0 69 6f 6e 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 61 72 67 75 6d 65 6e 74 73 3b 0a 70 72 6f 74 ions;.protected.$arguments;.prot
a5ec0 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 0a 0a 0a 0a ected.$interactive.=.true;......
a5ee0 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 6e 70 .public.function.__construct(Inp
a5f00 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 6c 6c 29 utDefinition.$definition.=.null)
a5f20 0a 7b 0a 69 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 .{.if.(null.===.$definition).{.$
a5f40 74 68 69 73 2d 3e 61 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 this->arguments.=.array();.$this
a5f60 2d 3e 6f 70 74 69 6f 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 ->options.=.array();.$this->defi
a5f80 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 6f 6e 28 29 3b 0a nition.=.new.InputDefinition();.
a5fa0 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 6e 69 74 69 6f 6e }.else.{.$this->bind($definition
a5fc0 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 0a 0a 0a 0a 0a 0a );.$this->validate();.}.}.......
a5fe0 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 66 69 6e 69 public.function.bind(InputDefini
a6000 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 72 67 75 6d tion.$definition).{.$this->argum
a6020 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 6e 73 20 3d ents.=.array();.$this->options.=
a6040 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 3d 20 24 64 .array();.$this->definition.=.$d
a6060 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 7d 0a 0a 0a efinition;..$this->parse();.}...
a6080 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 70 61 ..abstract.protected.function.pa
a60a0 72 73 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 76 61 6c rse();.......public.function.val
a60c0 69 64 61 74 65 28 29 0a 7b 0a 69 66 20 28 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 61 72 67 75 6d idate().{.if.(count($this->argum
a60e0 65 6e 74 73 29 20 3c 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 ents).<.$this->definition->getAr
a6100 67 75 6d 65 6e 74 52 65 71 75 69 72 65 64 43 6f 75 6e 74 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e gumentRequiredCount()).{.throw.n
a6120 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 4e 6f 74 20 65 6e 6f 75 67 68 ew.\RuntimeException('Not.enough
a6140 20 61 72 67 75 6d 65 6e 74 73 2e 27 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 .arguments.');.}.}.......public.
a6160 66 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 function.isInteractive().{.retur
a6180 6e 20 24 74 68 69 73 2d 3e 69 6e 74 65 72 61 63 74 69 76 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 n.$this->interactive;.}.......pu
a61a0 62 6c 69 63 20 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 blic.function.setInteractive($in
a61c0 74 65 72 61 63 74 69 76 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 74 65 72 61 63 74 69 76 65 20 teractive).{.$this->interactive.
a61e0 3d 20 28 42 6f 6f 6c 65 61 6e 29 20 24 69 6e 74 65 72 61 63 74 69 76 65 3b 0a 7d 0a 0a 0a 0a 0a =.(Boolean).$interactive;.}.....
a6200 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 29 ..public.function.getArguments()
a6220 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 64 65 66 .{.return.array_merge($this->def
a6240 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 29 2c 20 inition->getArgumentDefaults(),.
a6260 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 0a 0a 0a 0a 0a 0a 70 $this->arguments);.}...........p
a6280 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 28 24 6e 61 6d 65 ublic.function.getArgument($name
a62a0 29 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 ).{.if.(!$this->definition->hasA
a62c0 72 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 5c 49 6e 76 rgument($name)).{.throw.new.\Inv
a62e0 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 54 alidArgumentException(sprintf('T
a6300 68 65 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 he."%s".argument.does.not.exist.
a6320 27 2c 20 24 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 ',.$name));.}..return.isset($thi
a6340 73 2d 3e 61 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 s->arguments[$name]).?.$this->ar
a6360 67 75 6d 65 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 guments[$name].:.$this->definiti
a6380 6f 6e 2d 3e 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 on->getArgument($name)->getDefau
a63a0 6c 74 28 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 lt();.}..........public.function
a63c0 20 73 65 74 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 69 66 .setArgument($name,.$value).{.if
a63e0 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 6d 65 6e .(!$this->definition->hasArgumen
a6400 74 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 61 6c 69 64 41 72 t($name)).{.throw.new.\InvalidAr
a6420 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 25 73 gumentException(sprintf('The."%s
a6440 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 6e 61 ".argument.does.not.exist.',.$na
a6460 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 61 6d 65 5d me));.}..$this->arguments[$name]
a6480 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 .=.$value;.}.........public.func
a64a0 74 69 6f 6e 20 68 61 73 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 29 0a 7b 0a 72 65 74 75 72 6e tion.hasArgument($name).{.return
a64c0 20 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 6e 74 28 .$this->definition->hasArgument(
a64e0 24 6e 61 6d 65 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.
a6500 67 65 74 4f 70 74 69 6f 6e 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6d 65 72 67 getOptions().{.return.array_merg
a6520 65 28 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 44 65 e($this->definition->getOptionDe
a6540 66 61 75 6c 74 73 28 29 2c 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a faults(),.$this->options);.}....
a6560 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
a6580 28 24 6e 61 6d 65 29 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 ($name).{.if.(!$this->definition
a65a0 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 ->hasOption($name)).{.throw.new.
a65c0 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
a65e0 66 28 27 54 68 65 20 22 25 73 22 20 6f 70 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 f('The."%s".option.does.not.exis
a6600 74 2e 27 2c 20 24 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 t.',.$name));.}..return.isset($t
a6620 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 29 20 3f 20 24 74 68 69 73 2d 3e 6f 70 his->options[$name]).?.$this->op
a6640 74 69 6f 6e 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 tions[$name].:.$this->definition
a6660 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 ->getOption($name)->getDefault()
a6680 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 73 65 74 ;.}..........public.function.set
a66a0 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
a66c0 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)
a66e0 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
a6700 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 69 6f 6e ception(sprintf('The."%s".option
a6720 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));.}..$
a6740 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 3b 0a 7d this->options[$name].=.$value;.}
a6760 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 69 .........public.function.hasOpti
a6780 6f 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 on($name).{.return.$this->defini
a67a0 74 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 tion->hasOption($name);.}.......
a67c0 0a 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 ..public.function.escapeToken($t
a67e0 6f 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 oken).{.return.preg_match('{^[\w
a6800 2d 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 -]+$}',.$token).?.$token.:.escap
a6820 65 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 eshellarg($token);.}.}.<?php....
a6840 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
a6860 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c nt\Console\Input;.............cl
a6880 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 72 67 76 49 6e 70 75 ass.StringInput.extends.ArgvInpu
a68a0 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 27 28 5b 5e 5c 73 5d t.{.const.REGEX_STRING.=.'([^\s]
a68c0 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 5c 5c 5c 29 5c 27 7c +?)(?:\s|(?<!\\\\)"|(?<!\\\\)\'|
a68e0 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 54 52 49 4e 47 20 3d $)';.const.REGEX_QUOTED_STRING.=
a6900 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 5e 22 5c 5c 5c 5c 5d .'(?:"([^"\\\\]*(?:\\\\.[^"\\\\]
a6920 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 5c 2e 5b 5e 5c 27 5c *)*)"|\'([^\'\\\\]*(?:\\\\.[^\'\
a6940 5c 5c 5c 5d 2a 29 2a 29 5c 27 29 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 \\\]*)*)\')';............public.
a6960 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 49 6e 70 function.__construct($input,.Inp
a6980 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 6c 6c 29 utDefinition.$definition.=.null)
a69a0 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 28 29 2c 20 .{.parent::__construct(array(),.
a69c0 6e 75 6c 6c 29 3b 0a 0a 24 74 68 69 73 2d 3e 73 65 74 54 6f 6b 65 6e 73 28 24 74 68 69 73 2d 3e null);..$this->setTokens($this->
a69e0 74 6f 6b 65 6e 69 7a 65 28 24 69 6e 70 75 74 29 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d tokenize($input));..if.(null.!==
a6a00 20 24 64 65 66 69 6e 69 74 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 62 69 6e 64 28 24 64 65 66 .$definition).{.$this->bind($def
a6a20 69 6e 69 74 69 6f 6e 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 inition);.}.}...........private.
a6a40 66 75 6e 63 74 69 6f 6e 20 74 6f 6b 65 6e 69 7a 65 28 24 69 6e 70 75 74 29 0a 7b 0a 24 74 6f 6b function.tokenize($input).{.$tok
a6a60 65 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 6c 65 6e 67 74 68 20 3d 20 73 74 72 6c 65 6e 28 ens.=.array();.$length.=.strlen(
a6a80 24 69 6e 70 75 74 29 3b 0a 24 63 75 72 73 6f 72 20 3d 20 30 3b 0a 77 68 69 6c 65 20 28 24 63 75 $input);.$cursor.=.0;.while.($cu
a6aa0 72 73 6f 72 20 3c 20 24 6c 65 6e 67 74 68 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 rsor.<.$length).{.if.(preg_match
a6ac0 28 27 2f 5c 73 2b 2f 41 27 2c 20 24 69 6e 70 75 74 2c 20 24 6d 61 74 63 68 2c 20 6e 75 6c 6c 2c ('/\s+/A',.$input,.$match,.null,
a6ae0 20 24 63 75 72 73 6f 72 29 29 20 7b 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 .$cursor)).{.}.elseif.(preg_matc
a6b00 68 28 27 2f 28 5b 5e 3d 22 5c 27 5c 73 5d 2b 3f 29 28 3d 3f 29 28 27 2e 73 65 6c 66 3a 3a 52 45 h('/([^="\'\s]+?)(=?)('.self::RE
a6b20 47 45 58 5f 51 55 4f 54 45 44 5f 53 54 52 49 4e 47 2e 27 2b 29 2f 41 27 2c 20 24 69 6e 70 75 74 GEX_QUOTED_STRING.'+)/A',.$input
a6b40 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 24 74 6f 6b ,.$match,.null,.$cursor)).{.$tok
a6b60 65 6e 73 5b 5d 20 3d 20 24 6d 61 74 63 68 5b 31 5d 2e 24 6d 61 74 63 68 5b 32 5d 2e 73 74 72 69 ens[].=.$match[1].$match[2].stri
a6b80 70 63 73 6c 61 73 68 65 73 28 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 22 5c 27 pcslashes(str_replace(array('"\'
a6ba0 27 2c 20 27 5c 27 22 27 2c 20 27 5c 27 5c 27 27 2c 20 27 22 22 27 29 2c 20 27 27 2c 20 73 75 62 ',.'\'"',.'\'\'',.'""'),.'',.sub
a6bc0 73 74 72 28 24 6d 61 74 63 68 5b 33 5d 2c 20 31 2c 20 73 74 72 6c 65 6e 28 24 6d 61 74 63 68 5b str($match[3],.1,.strlen($match[
a6be0 33 5d 29 20 2d 20 32 29 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 3]).-.2)));.}.elseif.(preg_match
a6c00 28 27 2f 27 2e 73 65 6c 66 3a 3a 52 45 47 45 58 5f 51 55 4f 54 45 44 5f 53 54 52 49 4e 47 2e 27 ('/'.self::REGEX_QUOTED_STRING.'
a6c20 2f 41 27 2c 20 24 69 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 /A',.$input,.$match,.null,.$curs
a6c40 6f 72 29 29 20 7b 0a 24 74 6f 6b 65 6e 73 5b 5d 20 3d 20 73 74 72 69 70 63 73 6c 61 73 68 65 73 or)).{.$tokens[].=.stripcslashes
a6c60 28 73 75 62 73 74 72 28 24 6d 61 74 63 68 5b 30 5d 2c 20 31 2c 20 73 74 72 6c 65 6e 28 24 6d 61 (substr($match[0],.1,.strlen($ma
a6c80 74 63 68 5b 30 5d 29 20 2d 20 32 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 tch[0]).-.2));.}.elseif.(preg_ma
a6ca0 74 63 68 28 27 2f 27 2e 73 65 6c 66 3a 3a 52 45 47 45 58 5f 53 54 52 49 4e 47 2e 27 2f 41 27 2c tch('/'.self::REGEX_STRING.'/A',
a6cc0 20 24 69 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 .$input,.$match,.null,.$cursor))
a6ce0 20 7b 0a 24 74 6f 6b 65 6e 73 5b 5d 20 3d 20 73 74 72 69 70 63 73 6c 61 73 68 65 73 28 24 6d 61 .{.$tokens[].=.stripcslashes($ma
a6d00 74 63 68 5b 31 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 0a 20 74 68 72 6f 77 20 6e 65 77 20 tch[1]);.}.else.{.....throw.new.
a6d20 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
a6d40 66 28 27 55 6e 61 62 6c 65 20 74 6f 20 70 61 72 73 65 20 69 6e 70 75 74 20 6e 65 61 72 20 22 2e f('Unable.to.parse.input.near.".
a6d60 2e 2e 20 25 73 20 2e 2e 2e 22 27 2c 20 73 75 62 73 74 72 28 24 69 6e 70 75 74 2c 20 24 63 75 72 ...%s...."',.substr($input,.$cur
a6d80 73 6f 72 2c 20 31 30 29 29 29 3b 0a 0a 20 7d 0a 0a 24 63 75 72 73 6f 72 20 2b 3d 20 73 74 72 6c sor,.10)));...}..$cursor.+=.strl
a6da0 65 6e 28 24 6d 61 74 63 68 5b 30 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 6f 6b 65 6e 73 en($match[0]);.}..return.$tokens
a6dc0 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.
a6de0 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;
a6e00 0a 0a 0a 0a 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 .........class.InputOption.{.con
a6e20 73 74 20 56 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 st.VALUE_NONE.=.1;.const.VALUE_R
a6e40 45 51 55 49 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 EQUIRED.=.2;.const.VALUE_OPTIONA
a6e60 4c 20 3d 20 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 L.=.4;.const.VALUE_IS_ARRAY.=.8;
a6e80 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 73 68 6f 72 74 63 ..private.$name;.private.$shortc
a6ea0 75 74 3b 0a 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 ut;.private.$mode;.private.$defa
a6ec0 75 6c 74 3b 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 ult;.private.$description;......
a6ee0 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 73 74 .........public.function.__const
a6f00 72 75 63 74 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 20 24 6d ruct($name,.$shortcut.=.null,.$m
a6f20 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 2c 20 24 ode.=.null,.$description.=.'',.$
a6f40 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 default.=.null).{.if.(0.===.strp
a6f60 6f 73 28 24 6e 61 6d 65 2c 20 27 2d 2d 27 29 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 73 75 62 73 74 os($name,.'--')).{.$name.=.subst
a6f80 72 28 24 6e 61 6d 65 2c 20 32 29 3b 0a 7d 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 6e 61 6d 65 29 r($name,.2);.}..if.(empty($name)
a6fa0 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
a6fc0 63 65 70 74 69 6f 6e 28 27 41 6e 20 6f 70 74 69 6f 6e 20 6e 61 6d 65 20 63 61 6e 6e 6f 74 20 62 ception('An.option.name.cannot.b
a6fe0 65 20 65 6d 70 74 79 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 73 68 6f 72 74 63 e.empty.');.}..if.(empty($shortc
a7000 75 74 29 29 20 7b 0a 24 73 68 6f 72 74 63 75 74 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 0a 69 66 20 28 ut)).{.$shortcut.=.null;.}..if.(
a7020 6e 75 6c 6c 20 21 3d 3d 20 24 73 68 6f 72 74 63 75 74 29 20 7b 0a 69 66 20 28 69 73 5f 61 72 72 null.!==.$shortcut).{.if.(is_arr
a7040 61 79 28 24 73 68 6f 72 74 63 75 74 29 29 20 7b 0a 24 73 68 6f 72 74 63 75 74 20 3d 20 69 6d 70 ay($shortcut)).{.$shortcut.=.imp
a7060 6c 6f 64 65 28 27 7c 27 2c 20 24 73 68 6f 72 74 63 75 74 29 3b 0a 7d 0a 24 73 68 6f 72 74 63 75 lode('|',.$shortcut);.}.$shortcu
a7080 74 73 20 3d 20 70 72 65 67 5f 73 70 6c 69 74 28 27 7b 28 5c 7c 29 2d 3f 7d 27 2c 20 6c 74 72 69 ts.=.preg_split('{(\|)-?}',.ltri
a70a0 6d 28 24 73 68 6f 72 74 63 75 74 2c 20 27 2d 27 29 29 3b 0a 24 73 68 6f 72 74 63 75 74 73 20 3d m($shortcut,.'-'));.$shortcuts.=
a70c0 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 24 73 68 6f 72 74 63 75 74 73 29 3b 0a 24 73 68 6f 72 .array_filter($shortcuts);.$shor
a70e0 74 63 75 74 20 3d 20 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 24 73 68 6f 72 74 63 75 74 73 29 3b tcut.=.implode('|',.$shortcuts);
a7100 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 74 68 72 6f 77 20 ..if.(empty($shortcut)).{.throw.
a7120 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 41 new.\InvalidArgumentException('A
a7140 6e 20 6f 70 74 69 6f 6e 20 73 68 6f 72 74 63 75 74 20 63 61 6e 6e 6f 74 20 62 65 20 65 6d 70 74 n.option.shortcut.cannot.be.empt
a7160 79 2e 27 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6d 6f 64 65 29 20 7b y.');.}.}..if.(null.===.$mode).{
a7180 0a 24 6d 6f 64 65 20 3d 20 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 3b 0a 7d 20 65 6c 73 .$mode.=.self::VALUE_NONE;.}.els
a71a0 65 69 66 20 28 21 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 31 eif.(!is_int($mode).||.$mode.>.1
a71c0 35 20 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 5c 49 6e 76 5.||.$mode.<.1).{.throw.new.\Inv
a71e0 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 4f alidArgumentException(sprintf('O
a7200 70 74 69 6f 6e 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 ption.mode."%s".is.not.valid.',.
a7220 24 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 $mode));.}..$this->name.=.$name;
a7240 0a 24 74 68 69 73 2d 3e 73 68 6f 72 74 63 75 74 20 3d 20 24 73 68 6f 72 74 63 75 74 3b 0a 24 74 .$this->shortcut.=.$shortcut;.$t
a7260 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 72 69 his->mode.=.$mode;.$this->descri
a7280 70 74 69 6f 6e 20 3d 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 0a 69 66 20 28 24 74 68 69 73 ption.=.$description;..if.($this
a72a0 2d 3e 69 73 41 72 72 61 79 28 29 20 26 26 20 21 24 74 68 69 73 2d 3e 61 63 63 65 70 74 56 61 6c ->isArray().&&.!$this->acceptVal
a72c0 75 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 72 67 75 6d 65 ue()).{.throw.new.\InvalidArgume
a72e0 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 49 6d 70 6f 73 73 69 62 6c 65 20 74 6f 20 68 61 76 65 20 ntException('Impossible.to.have.
a7300 61 6e 20 6f 70 74 69 6f 6e 20 6d 6f 64 65 20 56 41 4c 55 45 5f 49 53 5f 41 52 52 41 59 20 69 66 an.option.mode.VALUE_IS_ARRAY.if
a7320 20 74 68 65 20 6f 70 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 61 63 63 65 70 74 20 61 20 76 61 .the.option.does.not.accept.a.va
a7340 6c 75 65 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 65 74 44 65 66 61 75 6c 74 28 24 64 65 lue.');.}..$this->setDefault($de
a7360 66 61 75 6c 74 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 fault);.}.......public.function.
a7380 67 65 74 53 68 6f 72 74 63 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 68 getShortcut().{.return.$this->sh
a73a0 6f 72 74 63 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 ortcut;.}.......public.function.
a73c0 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 61 6d 65 3b 0a getName().{.return.$this->name;.
a73e0 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 63 63 65 70 74 56 61 }.......public.function.acceptVa
a7400 6c 75 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 73 56 61 6c 75 65 52 65 71 lue().{.return.$this->isValueReq
a7420 75 69 72 65 64 28 29 20 7c 7c 20 24 74 68 69 73 2d 3e 69 73 56 61 6c 75 65 4f 70 74 69 6f 6e 61 uired().||.$this->isValueOptiona
a7440 6c 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 69 73 56 l();.}.......public.function.isV
a7460 61 6c 75 65 52 65 71 75 69 72 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 56 41 alueRequired().{.return.self::VA
a7480 4c 55 45 5f 52 45 51 55 49 52 45 44 20 3d 3d 3d 20 28 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 52 45 LUE_REQUIRED.===.(self::VALUE_RE
a74a0 51 55 49 52 45 44 20 26 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 QUIRED.&.$this->mode);.}.......p
a74c0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 61 6c 75 65 4f 70 74 69 6f 6e 61 6c 28 29 ublic.function.isValueOptional()
a74e0 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 4f 50 54 49 4f 4e 41 4c 20 3d .{.return.self::VALUE_OPTIONAL.=
a7500 3d 3d 20 28 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 4f 50 54 49 4f 4e 41 4c 20 26 20 24 74 68 69 73 ==.(self::VALUE_OPTIONAL.&.$this
a7520 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 74 69 6f 6e ->mode);.}.......public.function
a7540 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 56 41 4c 55 45 5f .isArray().{.return.self::VALUE_
a7560 49 53 5f 41 52 52 41 59 20 3d 3d 3d 20 28 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 49 53 5f 41 52 52 IS_ARRAY.===.(self::VALUE_IS_ARR
a7580 41 59 20 26 20 24 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 AY.&.$this->mode);.}.........pub
a75a0 6c 69 63 20 66 75 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 lic.function.setDefault($default
a75c0 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 20 .=.null).{.if.(self::VALUE_NONE.
a75e0 3d 3d 3d 20 28 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 20 26 20 24 74 68 69 73 2d 3e 6d ===.(self::VALUE_NONE.&.$this->m
a7600 6f 64 65 29 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 74 68 72 ode).&&.null.!==.$default).{.thr
a7620 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 61 6e 6e 6f 74 20 73 ow.new.\LogicException('Cannot.s
a7640 65 74 20 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 77 68 65 6e 20 75 73 69 6e 67 20 49 6e et.a.default.value.when.using.In
a7660 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 20 6d 6f 64 65 2e 27 29 3b 0a 7d putOption::VALUE_NONE.mode.');.}
a7680 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 6e 75 ..if.($this->isArray()).{.if.(nu
a76a0 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 61 72 ll.===.$default).{.$default.=.ar
a76c0 72 61 79 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 64 65 66 61 ray();.}.elseif.(!is_array($defa
a76e0 75 6c 74 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 ult)).{.throw.new.\LogicExceptio
a7700 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 79 20 n('A.default.value.for.an.array.
a7720 6f 70 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 61 6e 20 61 72 72 61 79 2e 27 29 3b 0a 7d 0a 7d 0a option.must.be.an.array.');.}.}.
a7740 0a 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 61 63 63 65 70 74 56 .$this->default.=.$this->acceptV
a7760 61 6c 75 65 28 29 20 3f 20 24 64 65 66 61 75 6c 74 20 3a 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a alue().?.$default.:.false;.}....
a7780 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 6c 74 28 29 0a ...public.function.getDefault().
a77a0 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 0a 0a 0a 0a 0a {.return.$this->default;.}......
a77c0 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 69 6f 6e 28 .public.function.getDescription(
a77e0 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 6e 3b 0a 7d ).{.return.$this->description;.}
a7800 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 71 75 61 6c 73 28 49 ........public.function.equals(I
a7820 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 24 6f 70 nputOption.$option).{.return.$op
a7840 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 tion->getName().===.$this->getNa
a7860 6d 65 28 29 0a 26 26 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 20 3d me().&&.$option->getShortcut().=
a7880 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 0a 26 26 20 24 6f 70 74 69 ==.$this->getShortcut().&&.$opti
a78a0 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 on->getDefault().===.$this->getD
a78c0 65 66 61 75 6c 74 28 29 0a 26 26 20 24 6f 70 74 69 6f 6e 2d 3e 69 73 41 72 72 61 79 28 29 20 3d efault().&&.$option->isArray().=
a78e0 3d 3d 20 24 74 68 69 73 2d 3e 69 73 41 72 72 61 79 28 29 0a 26 26 20 24 6f 70 74 69 6f 6e 2d 3e ==.$this->isArray().&&.$option->
a7900 69 73 56 61 6c 75 65 52 65 71 75 69 72 65 64 28 29 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 69 73 56 isValueRequired().===.$this->isV
a7920 61 6c 75 65 52 65 71 75 69 72 65 64 28 29 0a 26 26 20 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 61 6c alueRequired().&&.$option->isVal
a7940 75 65 4f 70 74 69 6f 6e 61 6c 28 29 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 69 73 56 61 6c 75 65 4f ueOptional().===.$this->isValueO
a7960 70 74 69 6f 6e 61 6c 28 29 0a 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ptional().;.}.}.<?php...........
a7980 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
a79a0 6f 6c 65 5c 49 6e 70 75 74 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ole\Input;......................
a79c0 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 64 73 20 49 .......class.ArgvInput.extends.I
a79e0 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 61 74 65 20 nput.{.private.$tokens;.private.
a7a00 24 70 61 72 73 65 64 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 $parsed;..........public.functio
a7a20 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
a7a40 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.=.
a7a60 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
a7a80 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
a7aa0 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.
a7ac0 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
a7ae0 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
a7b00 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
a7b20 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
a7b40 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
a7b60 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.=.$
a7b80 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
a7ba0 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
a7bc0 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.&&.''.==.
a7be0 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($
a7c00 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.
a7c20 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
a7c40 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
a7c60 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,.'--'
a7c80 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
a7ca0 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.&&.
a7cc0 27 2d 27 20 3d 3d 3d 20 24 74 6f 6b 65 6e 5b 30 5d 29 20 7b 0a 24 74 68 69 73 2d 3e 70 61 72 73 '-'.===.$token[0]).{.$this->pars
a7ce0 65 53 68 6f 72 74 4f 70 74 69 6f 6e 28 24 74 6f 6b 65 6e 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 eShortOption($token);.}.else.{.$
a7d00 74 68 69 73 2d 3e 70 61 72 73 65 41 72 67 75 6d 65 6e 74 28 24 74 6f 6b 65 6e 29 3b 0a 7d 0a 7d this->parseArgument($token);.}.}
a7d20 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 73 65 53 .}.......private.function.parseS
a7d40 68 6f 72 74 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 75 62 hortOption($token).{.$name.=.sub
a7d60 73 74 72 28 24 74 6f 6b 65 6e 2c 20 31 29 3b 0a 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 6e 61 6d str($token,.1);..if.(strlen($nam
a7d80 65 29 20 3e 20 31 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d e).>.1).{.if.($this->definition-
a7da0 3e 68 61 73 53 68 6f 72 74 63 75 74 28 24 6e 61 6d 65 5b 30 5d 29 20 26 26 20 24 74 68 69 73 2d >hasShortcut($name[0]).&&.$this-
a7dc0 3e 64 65 66 69 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 >definition->getOptionForShortcu
a7de0 74 28 24 6e 61 6d 65 5b 30 5d 29 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 29 20 7b 0a 0a 20 t($name[0])->acceptValue()).{...
a7e00 24 74 68 69 73 2d 3e 61 64 64 53 68 6f 72 74 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 5b 30 5d 2c 20 $this->addShortOption($name[0],.
a7e20 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 31 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 substr($name,.1));.}.else.{.$thi
a7e40 73 2d 3e 70 61 72 73 65 53 68 6f 72 74 4f 70 74 69 6f 6e 53 65 74 28 24 6e 61 6d 65 29 3b 0a 7d s->parseShortOptionSet($name);.}
a7e60 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 53 68 6f 72 74 4f 70 74 69 6f 6e 28 .}.else.{.$this->addShortOption(
a7e80 24 6e 61 6d 65 2c 20 6e 75 6c 6c 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 $name,.null);.}.}.........privat
a7ea0 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 53 65 74 28 24 e.function.parseShortOptionSet($
a7ec0 6e 61 6d 65 29 0a 7b 0a 24 6c 65 6e 20 3d 20 73 74 72 6c 65 6e 28 24 6e 61 6d 65 29 3b 0a 66 6f name).{.$len.=.strlen($name);.fo
a7ee0 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 24 6c 65 6e 3b 20 24 69 2b 2b 29 20 7b 0a 69 66 r.($i.=.0;.$i.<.$len;.$i++).{.if
a7f00 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 53 68 6f 72 74 63 75 .(!$this->definition->hasShortcu
a7f20 74 28 24 6e 61 6d 65 5b 24 69 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 t($name[$i])).{.throw.new.\Runti
a7f40 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 2d 25 73 22 20 6f meException(sprintf('The."-%s".o
a7f60 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 65 5b 24 69 ption.does.not.exist.',.$name[$i
a7f80 5d 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 74 ]));.}..$option.=.$this->definit
a7fa0 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 5b ion->getOptionForShortcut($name[
a7fc0 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 29 $i]);.if.($option->acceptValue()
a7fe0 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 6e ).{.$this->addLongOption($option
a8000 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 6e ->getName(),.$i.===.$len.-.1.?.n
a8020 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 62 ull.:.substr($name,.$i.+.1));..b
a8040 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 74 reak;.}.else.{.$this->addLongOpt
a8060 69 6f 6e 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 74 72 75 65 29 3b 0a 7d ion($option->getName(),.true);.}
a8080 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 73 .}.}.......private.function.pars
a80a0 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 75 eLongOption($token).{.$name.=.su
a80c0 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 20 bstr($token,.2);..if.(false.!==.
a80e0 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 24 74 68 $pos.=.strpos($name,.'=')).{.$th
a8100 69 73 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 is->addLongOption(substr($name,.
a8120 30 2c 20 24 70 6f 73 29 2c 20 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 24 70 6f 73 20 2b 20 31 0,.$pos),.substr($name,.$pos.+.1
a8140 29 29 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 74 69 6f ));.}.else.{.$this->addLongOptio
a8160 6e 28 24 6e 61 6d 65 2c 20 6e 75 6c 6c 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 n($name,.null);.}.}.........priv
a8180 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 41 72 67 75 6d 65 6e 74 28 24 74 6f 6b 65 ate.function.parseArgument($toke
a81a0 6e 29 0a 7b 0a 24 63 20 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 n).{.$c.=.count($this->arguments
a81c0 29 3b 0a 0a 0a 20 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 );....if.($this->definition->has
a81e0 41 72 67 75 6d 65 6e 74 28 24 63 29 29 20 7b 0a 24 61 72 67 20 3d 20 24 74 68 69 73 2d 3e 64 65 Argument($c)).{.$arg.=.$this->de
a8200 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 24 63 29 3b 0a 24 74 68 69 73 finition->getArgument($c);.$this
a8220 2d 3e 61 72 67 75 6d 65 6e 74 73 5b 24 61 72 67 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 24 ->arguments[$arg->getName()].=.$
a8240 61 72 67 2d 3e 69 73 41 72 72 61 79 28 29 3f 20 61 72 72 61 79 28 24 74 6f 6b 65 6e 29 20 3a 20 arg->isArray()?.array($token).:.
a8260 24 74 6f 6b 65 6e 3b 0a 0a 0a 20 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 64 65 66 69 $token;....}.elseif.($this->defi
a8280 6e 69 74 69 6f 6e 2d 3e 68 61 73 41 72 67 75 6d 65 6e 74 28 24 63 20 2d 20 31 29 20 26 26 20 24 nition->hasArgument($c.-.1).&&.$
a82a0 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 65 6e 74 28 24 63 this->definition->getArgument($c
a82c0 20 2d 20 31 29 2d 3e 69 73 41 72 72 61 79 28 29 29 20 7b 0a 24 61 72 67 20 3d 20 24 74 68 69 73 .-.1)->isArray()).{.$arg.=.$this
a82e0 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 24 63 20 2d 20 31 ->definition->getArgument($c.-.1
a8300 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 67 65 74 4e 61 6d );.$this->arguments[$arg->getNam
a8320 65 28 29 5d 5b 5d 20 3d 20 24 74 6f 6b 65 6e 3b 0a 0a 0a 20 7d 20 65 6c 73 65 20 7b 0a 74 68 72 e()][].=.$token;....}.else.{.thr
a8340 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
a8360 6e 79 20 61 72 67 75 6d 65 6e 74 73 2e 27 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 ny.arguments.');.}.}..........pr
a8380 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 6e 28 24 73 ivate.function.addShortOption($s
a83a0 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 73 2d 3e 64 hortcut,.$value).{.if.(!$this->d
a83c0 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 74 63 75 74 efinition->hasShortcut($shortcut
a83e0 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
a8400 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 73 20 (sprintf('The."-%s".option.does.
a8420 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 74 68 not.exist.',.$shortcut));.}..$th
a8440 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 69 74 is->addLongOption($this->definit
a8460 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 72 74 ion->getOptionForShortcut($short
a8480 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 0a 0a cut)->getName(),.$value);.}.....
a84a0 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 4f 70 74 .....private.function.addLongOpt
a84c0 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 69 73 2d ion($name,.$value).{.if.(!$this-
a84e0 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 29 20 7b >definition->hasOption($name)).{
a8500 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
a8520 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 6f 74 intf('The."--%s".option.does.not
a8540 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 3d 20 .exist.',.$name));.}..$option.=.
a8560 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 6e 61 $this->definition->getOption($na
a8580 6d 65 29 3b 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a me);....if.(false.===.$value).{.
a85a0 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 3d 3d 3d 20 24 $value.=.null;.}..if.(null.===.$
a85c0 76 61 6c 75 65 20 26 26 20 24 6f 70 74 69 6f 6e 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 20 value.&&.$option->acceptValue().
a85e0 26 26 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 70 61 72 73 65 64 29 29 20 7b 0a 0a 20 0a 20 24 &&.count($this->parsed)).{.....$
a8600 6e 65 78 74 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 next.=.array_shift($this->parsed
a8620 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 6e 65 78 74 5b 30 5d 29 20 26 26 20 27 2d 27 20 21 3d );.if.(isset($next[0]).&&.'-'.!=
a8640 3d 20 24 6e 65 78 74 5b 30 5d 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 24 6e 65 78 74 3b 0a 7d 20 =.$next[0]).{.$value.=.$next;.}.
a8660 65 6c 73 65 69 66 20 28 65 6d 70 74 79 28 24 6e 65 78 74 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d elseif.(empty($next)).{.$value.=
a8680 20 27 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 61 72 72 61 79 5f 75 6e 73 68 69 66 74 28 24 74 68 69 .'';.}.else.{.array_unshift($thi
a86a0 73 2d 3e 70 61 72 73 65 64 2c 20 24 6e 65 78 74 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c s->parsed,.$next);.}.}..if.(null
a86c0 20 3d 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 61 .===.$value).{.if.($option->isVa
a86e0 6c 75 65 52 65 71 75 69 72 65 64 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 lueRequired()).{.throw.new.\Runt
a8700 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 2d 2d 25 73 22 imeException(sprintf('The."--%s"
a8720 20 6f 70 74 69 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 .option.requires.a.value.',.$nam
a8740 65 29 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 6f 70 74 69 6f 6e 2d 3e 69 73 41 72 72 61 79 28 29 29 e));.}..if.(!$option->isArray())
a8760 20 7b 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
a8780 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().:
a87a0 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 6f 70 74 69 6f 6e 2d 3e 69 73 41 72 72 61 79 .true;.}.}..if.($option->isArray
a87c0 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 5b 5d 20 3d 20 ()).{.$this->options[$name][].=.
a87e0 24 76 61 6c 75 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b $value;.}.else.{.$this->options[
a8800 24 6e 61 6d 65 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 $name].=.$value;.}.}.......publi
a8820 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 72 73 74 41 72 67 75 6d 65 6e 74 28 29 0a 7b 0a c.function.getFirstArgument().{.
a8840 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 20 24 74 6f 6b 65 6e foreach.($this->tokens.as.$token
a8860 29 20 7b 0a 69 66 20 28 24 74 6f 6b 65 6e 20 26 26 20 27 2d 27 20 3d 3d 3d 20 24 74 6f 6b 65 6e ).{.if.($token.&&.'-'.===.$token
a8880 5b 30 5d 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 74 6f 6b 65 [0]).{.continue;.}..return.$toke
a88a0 6e 3b 0a 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 n;.}.}............public.functio
a88c0 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 0a 7b 0a n.hasParameterOption($values).{.
a88e0 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 0a 66 6f 72 65 $values.=.(array).$values;..fore
a8900 61 63 68 20 28 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 73 20 61 73 20 24 76 29 20 7b 0a 69 66 20 28 ach.($this->tokens.as.$v).{.if.(
a8920 69 6e 5f 61 72 72 61 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 in_array($v,.$values)).{.return.
a8940 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 0a 0a 0a true;.}.}..return.false;.}......
a8960 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 72 61 6d 65 .......public.function.getParame
a8980 74 65 72 4f 70 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 terOption($values,.$default.=.fa
a89a0 6c 73 65 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 6c 75 65 73 lse).{.$values.=.(array).$values
a89c0 3b 0a 0a 24 74 6f 6b 65 6e 73 20 3d 20 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 73 3b 0a 77 68 69 6c ;..$tokens.=.$this->tokens;.whil
a89e0 65 20 28 24 74 6f 6b 65 6e 20 3d 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 74 6f 6b 65 6e 73 29 e.($token.=.array_shift($tokens)
a8a00 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 76 61 6c 75 65 29 20 ).{.foreach.($values.as.$value).
a8a20 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 74 6f 6b 65 6e 2c 20 24 76 61 6c 75 {.if.(0.===.strpos($token,.$valu
a8a40 65 29 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 70 6f e)).{.if.(false.!==.$pos.=.strpo
a8a60 73 28 24 74 6f 6b 65 6e 2c 20 27 3d 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 75 62 73 74 72 28 s($token,.'=')).{.return.substr(
a8a80 24 74 6f 6b 65 6e 2c 20 24 70 6f 73 20 2b 20 31 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 $token,.$pos.+.1);.}..return.arr
a8aa0 61 79 5f 73 68 69 66 74 28 24 74 6f 6b 65 6e 73 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e ay_shift($tokens);.}.}.}..return
a8ac0 20 24 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 .$default;.}.......public.functi
a8ae0 6f 6e 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 on.__toString().{.$self.=.$this;
a8b00 0a 24 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 .$tokens.=.array_map(function.($
a8b20 74 6f 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 token).use.($self).{.if.(preg_ma
a8b40 74 63 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 tch('{^(-[^=]+=)(.+)}',.$token,.
a8b60 24 6d 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 20 2e 20 24 73 $match)).{.return.$match[1]...$s
a8b80 65 6c 66 2d 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 elf->escapeToken($match[2]);.}..
a8ba0 69 66 20 28 24 74 6f 6b 65 6e 20 26 26 20 24 74 6f 6b 65 6e 5b 30 5d 20 21 3d 3d 20 27 2d 27 29 if.($token.&&.$token[0].!==.'-')
a8bc0 20 7b 0a 72 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 .{.return.$self->escapeToken($to
a8be0 6b 65 6e 29 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 ken);.}..return.$token;.},.$this
a8c00 2d 3e 74 6f 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 ->tokens);..return.implode('.',.
a8c20 24 74 6f 6b 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 $tokens);.}.}.<?php...........na
a8c40 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
a8c60 65 5c 49 6e 70 75 74 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 49 6e 70 75 74 49 6e e\Input;.......interface.InputIn
a8c80 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 74 69 6f 6e 20 67 terface.{......public.function.g
a8ca0 65 74 46 69 72 73 74 41 72 67 75 6d 65 6e 74 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 etFirstArgument();............pu
a8cc0 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 6f 6e blic.function.hasParameterOption
a8ce0 28 24 76 61 6c 75 65 73 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ($values);.............public.fu
a8d00 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 65 nction.getParameterOption($value
a8d20 73 2c 20 24 64 65 66 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 s,.$default.=.false);.......publ
a8d40 69 63 20 66 75 6e 63 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 ic.function.bind(InputDefinition
a8d60 20 24 64 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 .$definition);.........public.fu
a8d80 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 nction.validate();.......public.
a8da0 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a function.getArguments();........
a8dc0 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 28 24 6e 61 .public.function.getArgument($na
a8de0 6d 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 6e 20 73 65 me);..........public.function.se
a8e00 74 41 72 67 75 6d 65 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 tArgument($name,.$value);.......
a8e20 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 6e 74 28 24 6e ..public.function.hasArgument($n
a8e40 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 6e 20 67 65 74 4f ame);.......public.function.getO
a8e60 70 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 6e 63 74 69 6f ptions();.........public.functio
a8e80 6e 20 67 65 74 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 n.getOption($name);..........pub
a8ea0 6c 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 lic.function.setOption($name,.$v
a8ec0 61 6c 75 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 68 alue);.........public.function.h
a8ee0 61 73 4f 70 74 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 asOption($name);.......public.fu
a8f00 6e 63 74 69 6f 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 nction.isInteractive();.......pu
a8f20 62 6c 69 63 20 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 blic.function.setInteractive($in
a8f40 74 65 72 61 63 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 teractive);.}.<?php...........na
a8f60 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
a8f80 65 5c 49 6e 70 75 74 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 72 72 61 79 e\Input;.............class.Array
a8fa0 49 6e 70 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 Input.extends.Input.{.private.$p
a8fc0 61 72 61 6d 65 74 65 72 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 arameters;..........public.funct
a8fe0 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 70 61 72 61 6d 65 74 65 72 ion.__construct(array.$parameter
a9000 73 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 s,.InputDefinition.$definition.=
a9020 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 72 61 6d 65 74 65 72 73 20 3d 20 24 70 61 .null).{.$this->parameters.=.$pa
a9040 72 61 6d 65 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 rameters;..parent::__construct($
a9060 64 65 66 69 6e 69 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 definition);.}.......public.func
a9080 74 69 6f 6e 20 67 65 74 46 69 72 73 74 41 72 67 75 6d 65 6e 74 28 29 0a 7b 0a 66 6f 72 65 61 63 tion.getFirstArgument().{.foreac
a90a0 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 6b 65 79 20 3d 3e 20 h.($this->parameters.as.$key.=>.
a90c0 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 24 6b 65 79 20 26 26 20 27 2d 27 20 3d 3d 3d 20 24 6b $value).{.if.($key.&&.'-'.===.$k
a90e0 65 79 5b 30 5d 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 61 ey[0]).{.continue;.}..return.$va
a9100 6c 75 65 3b 0a 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 lue;.}.}............public.funct
a9120 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 0a ion.hasParameterOption($values).
a9140 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 0a 66 6f {.$values.=.(array).$values;..fo
a9160 72 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 6b 20 3d reach.($this->parameters.as.$k.=
a9180 3e 20 24 76 29 20 7b 0a 69 66 20 28 21 69 73 5f 69 6e 74 28 24 6b 29 29 20 7b 0a 24 76 20 3d 20 >.$v).{.if.(!is_int($k)).{.$v.=.
a91a0 24 6b 3b 0a 7d 0a 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 76 2c 20 24 76 61 6c 75 65 73 29 $k;.}..if.(in_array($v,.$values)
a91c0 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
a91e0 73 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 74 69 6f se;.}.............public.functio
a9200 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 65 73 2c 20 24 64 n.getParameterOption($values,.$d
a9220 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 3d 20 28 61 72 72 efault.=.false).{.$values.=.(arr
a9240 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 69 73 2d 3e 70 61 ay).$values;..foreach.($this->pa
a9260 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 20 28 69 73 5f 69 rameters.as.$k.=>.$v).{.if.(is_i
a9280 6e 74 28 24 6b 29 20 26 26 20 69 6e 5f 61 72 72 61 79 28 24 76 2c 20 24 76 61 6c 75 65 73 29 29 nt($k).&&.in_array($v,.$values))
a92a0 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 6e 5f 61 72 72 .{.return.true;.}.elseif.(in_arr
a92c0 61 79 28 24 6b 2c 20 24 76 61 6c 75 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 3b 0a 7d 0a ay($k,.$values)).{.return.$v;.}.
a92e0 7d 0a 0a 72 65 74 75 72 6e 20 24 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c }..return.$default;.}.......publ
a9300 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 24 70 61 72 61 ic.function.__toString().{.$para
a9320 6d 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 70 61 ms.=.array();.foreach.($this->pa
a9340 72 61 6d 65 74 65 72 73 20 61 73 20 24 70 61 72 61 6d 20 3d 3e 20 24 76 61 6c 29 20 7b 0a 69 66 rameters.as.$param.=>.$val).{.if
a9360 20 28 24 70 61 72 61 6d 20 26 26 20 27 2d 27 20 3d 3d 3d 20 24 70 61 72 61 6d 5b 30 5d 29 20 7b .($param.&&.'-'.===.$param[0]).{
a9380 0a 24 70 61 72 61 6d 73 5b 5d 20 3d 20 24 70 61 72 61 6d 20 2e 20 28 27 27 20 21 3d 20 24 76 61 .$params[].=.$param...(''.!=.$va
a93a0 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 6e 28 24 76 61 6c 29 l.?.'='.$this->escapeToken($val)
a93c0 20 3a 20 27 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 72 61 6d 73 5b 5d 20 3d 20 24 74 68 .:.'');.}.else.{.$params[].=.$th
a93e0 69 73 2d 3e 65 73 63 61 70 65 54 6f 6b 65 6e 28 24 76 61 6c 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 is->escapeToken($val);.}.}..retu
a9400 72 6e 20 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 24 70 61 72 61 6d 73 29 3b 0a 7d 0a 0a 0a 0a 0a rn.implode('.',.$params);.}.....
a9420 70 72 6f 74 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 66 6f 72 protected.function.parse().{.for
a9440 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 6b 65 79 20 each.($this->parameters.as.$key.
a9460 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 6b =>.$value).{.if.(0.===.strpos($k
a9480 65 79 2c 20 27 2d 2d 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4c 6f 6e 67 4f 70 74 69 6f ey,.'--')).{.$this->addLongOptio
a94a0 6e 28 73 75 62 73 74 72 28 24 6b 65 79 2c 20 32 29 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 20 65 6c n(substr($key,.2),.$value);.}.el
a94c0 73 65 69 66 20 28 27 2d 27 20 3d 3d 3d 20 24 6b 65 79 5b 30 5d 29 20 7b 0a 24 74 68 69 73 2d 3e seif.('-'.===.$key[0]).{.$this->
a94e0 61 64 64 53 68 6f 72 74 4f 70 74 69 6f 6e 28 73 75 62 73 74 72 28 24 6b 65 79 2c 20 31 29 2c 20 addShortOption(substr($key,.1),.
a9500 24 76 61 6c 75 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 41 72 67 75 $value);.}.else.{.$this->addArgu
a9520 6d 65 6e 74 28 24 6b 65 79 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a ment($key,.$value);.}.}.}.......
a9540 0a 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 ...private.function.addShortOpti
a9560 6f 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 on($shortcut,.$value).{.if.(!$th
a9580 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 24 73 68 6f is->definition->hasShortcut($sho
a95a0 72 74 63 75 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 75 rtcut)).{.throw.new.\InvalidArgu
a95c0 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 25 73 22 mentException(sprintf('The."-%s"
a95e0 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 73 68 6f 72 74 .option.does.not.exist.',.$short
a9600 63 75 74 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 64 64 4c 6f 6e 67 4f 70 74 69 6f 6e 28 24 cut));.}..$this->addLongOption($
a9620 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 46 6f 72 53 68 this->definition->getOptionForSh
a9640 6f 72 74 63 75 74 28 24 73 68 6f 72 74 63 75 74 29 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 76 ortcut($shortcut)->getName(),.$v
a9660 61 6c 75 65 29 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 74 alue);.}...........private.funct
a9680 69 6f 6e 20 61 64 64 4c 6f 6e 67 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 ion.addLongOption($name,.$value)
a96a0 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 4f 70 .{.if.(!$this->definition->hasOp
a96c0 74 69 6f 6e 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 61 6c 69 tion($name)).{.throw.new.\Invali
a96e0 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 20 dArgumentException(sprintf('The.
a9700 22 2d 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 "--%s".option.does.not.exist.',.
a9720 24 6e 61 6d 65 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 $name));.}..$option.=.$this->def
a9740 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 3b 0a 0a 69 66 20 28 inition->getOption($name);..if.(
a9760 6e 75 6c 6c 20 3d 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 24 6f 70 74 69 6f 6e 2d 3e null.===.$value).{.if.($option->
a9780 69 73 56 61 6c 75 65 52 65 71 75 69 72 65 64 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c isValueRequired()).{.throw.new.\
a97a0 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
a97c0 28 27 54 68 65 20 22 2d 2d 25 73 22 20 6f 70 74 69 6f 6e 20 72 65 71 75 69 72 65 73 20 61 20 76 ('The."--%s".option.requires.a.v
a97e0 61 6c 75 65 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 24 76 61 6c 75 65 20 3d 20 24 6f 70 alue.',.$name));.}..$value.=.$op
a9800 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 74 69 6f tion->isValueOptional().?.$optio
a9820 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 0a 24 74 68 69 73 n->getDefault().:.true;.}..$this
a9840 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 3b 0a 7d 0a 0a 0a 0a ->options[$name].=.$value;.}....
a9860 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 41 72 67 75 6d 65 ......private.function.addArgume
a9880 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 3e nt($name,.$value).{.if.(!$this->
a98a0 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 20 definition->hasArgument($name)).
a98c0 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
a98e0 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
a9900 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));.}..$
a9920 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;
a9940 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
a9960 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 0a ymfony\Component\Console\Input;.
a9980 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
a99a0 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 0a 75 73 65 20 53 79 escriptor\TextDescriptor;.use.Sy
a99c0 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 70 74 mfony\Component\Console\Descript
a99e0 6f 72 5c 58 6d 6c 44 65 73 63 72 69 70 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a or\XmlDescriptor;...............
a9a00 0a 63 6c 61 73 73 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 .class.InputDefinition.{.private
a9a20 20 24 61 72 67 75 6d 65 6e 74 73 3b 0a 70 72 69 76 61 74 65 20 24 72 65 71 75 69 72 65 64 43 6f .$arguments;.private.$requiredCo
a9a40 75 6e 74 3b 0a 70 72 69 76 61 74 65 20 24 68 61 73 41 6e 41 72 72 61 79 41 72 67 75 6d 65 6e 74 unt;.private.$hasAnArrayArgument
a9a60 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 68 61 73 4f 70 74 69 6f 6e 61 6c 3b 0a .=.false;.private.$hasOptional;.
a9a80 70 72 69 76 61 74 65 20 24 6f 70 74 69 6f 6e 73 3b 0a 70 72 69 76 61 74 65 20 24 73 68 6f 72 74 private.$options;.private.$short
a9aa0 63 75 74 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 20 5f 5f cuts;.........public.function.__
a9ac0 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 3d 20 61 72 construct(array.$definition.=.ar
a9ae0 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 6e 28 24 64 ray()).{.$this->setDefinition($d
a9b00 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e efinition);.}.........public.fun
a9b20 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
a9b40 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();.$
a9b60 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
a9b80 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
a9ba0 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
a9bc0 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[
a9be0 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
a9c00 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
a9c20 6e 73 28 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ns($options);.}.........public.f
a9c40 75 6e 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 unction.setArguments($arguments.
a9c60 3d 20 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 =.array()).{.$this->arguments.=.
a9c80 61 72 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 array();.$this->requiredCount.=.
a9ca0 30 3b 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 0;.$this->hasOptional.=.false;.$
a9cc0 74 68 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 this->hasAnArrayArgument.=.false
a9ce0 3b 0a 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 ;.$this->addArguments($arguments
a9d00 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 64 64 );.}.........public.function.add
a9d20 41 72 67 75 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 Arguments($arguments.=.array()).
a9d40 7b 0a 69 66 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 {.if.(null.!==.$arguments).{.for
a9d60 65 61 63 68 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 each.($arguments.as.$argument).{
a9d80 0a 24 74 68 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 .$this->addArgument($argument);.
a9da0 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 6e 63 74 69 6f 6e 20 }.}.}...........public.function.
a9dc0 61 64 64 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 addArgument(InputArgument.$argum
a9de0 65 6e 74 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 ent).{.if.(isset($this->argument
a9e00 73 5b 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 29 20 7b 0a 74 68 72 6f s[$argument->getName()])).{.thro
a9e20 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 41 w.new.\LogicException(sprintf('A
a9e40 6e 20 61 72 67 75 6d 65 6e 74 20 77 69 74 68 20 6e 61 6d 65 20 22 25 73 22 20 61 6c 72 65 61 64 n.argument.with.name."%s".alread
a9e60 79 20 65 78 69 73 74 73 2e 27 2c 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 y.exists.',.$argument->getName()
a9e80 29 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 73 41 6e 41 72 72 61 79 41 72 67 75 ));.}..if.($this->hasAnArrayArgu
a9ea0 6d 65 6e 74 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 ment).{.throw.new.\LogicExceptio
a9ec0 6e 28 27 43 61 6e 6e 6f 74 20 61 64 64 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 61 66 74 65 72 20 n('Cannot.add.an.argument.after.
a9ee0 61 6e 20 61 72 72 61 79 20 61 72 67 75 6d 65 6e 74 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 61 72 an.array.argument.');.}..if.($ar
a9f00 67 75 6d 65 6e 74 2d 3e 69 73 52 65 71 75 69 72 65 64 28 29 20 26 26 20 24 74 68 69 73 2d 3e 68 gument->isRequired().&&.$this->h
a9f20 61 73 4f 70 74 69 6f 6e 61 6c 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 asOptional).{.throw.new.\LogicEx
a9f40 63 65 70 74 69 6f 6e 28 27 43 61 6e 6e 6f 74 20 61 64 64 20 61 20 72 65 71 75 69 72 65 64 20 61 ception('Cannot.add.a.required.a
a9f60 72 67 75 6d 65 6e 74 20 61 66 74 65 72 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 6f 6e 65 2e 27 29 rgument.after.an.optional.one.')
a9f80 3b 0a 7d 0a 0a 69 66 20 28 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 41 72 72 61 79 28 29 29 20 7b ;.}..if.($argument->isArray()).{
a9fa0 0a 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 20 3d 20 74 72 75 .$this->hasAnArrayArgument.=.tru
a9fc0 65 3b 0a 7d 0a 0a 69 66 20 28 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 52 65 71 75 69 72 65 64 28 e;.}..if.($argument->isRequired(
a9fe0 29 29 20 7b 0a 2b 2b 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 64 43 6f 75 6e 74 3b 0a 7d 20 65 )).{.++$this->requiredCount;.}.e
aa000 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 68 61 73 4f 70 74 69 6f 6e 61 6c 20 3d 20 74 72 75 65 3b lse.{.$this->hasOptional.=.true;
aa020 0a 7d 0a 0a 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 74 2d 3e .}..$this->arguments[$argument->
aa040 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 24 61 72 67 75 6d 65 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a getName()].=.$argument;.}.......
aa060 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 75 6d 65 6e ......public.function.getArgumen
aa080 74 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 41 72 67 75 6d 65 t($name).{.if.(!$this->hasArgume
aa0a0 6e 74 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 61 6c 69 64 41 nt($name)).{.throw.new.\InvalidA
aa0c0 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 25 rgumentException(sprintf('The."%
aa0e0 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 6e s".argument.does.not.exist.',.$n
aa100 61 6d 65 29 29 3b 0a 7d 0a 0a 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 69 73 5f 69 6e 74 28 24 6e ame));.}..$arguments.=.is_int($n
aa120 61 6d 65 29 20 3f 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 74 68 69 73 2d 3e 61 72 67 75 6d ame).?.array_values($this->argum
aa140 65 6e 74 73 29 20 3a 20 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 3b 0a 0a 72 65 74 75 72 ents).:.$this->arguments;..retur
aa160 6e 20 24 61 72 67 75 6d 65 6e 74 73 5b 24 6e 61 6d 65 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a n.$arguments[$name];.}..........
aa180 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 6e 74 28 24 6e 61 .public.function.hasArgument($na
aa1a0 6d 65 29 0a 7b 0a 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 69 73 5f 69 6e 74 28 24 6e 61 6d 65 29 me).{.$arguments.=.is_int($name)
aa1c0 20 3f 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 .?.array_values($this->arguments
aa1e0 29 20 3a 20 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 3b 0a 0a 72 65 74 75 72 6e 20 69 73 ).:.$this->arguments;..return.is
aa200 73 65 74 28 24 61 72 67 75 6d 65 6e 74 73 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a set($arguments[$name]);.}.......
aa220 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 29 ..public.function.getArguments()
aa240 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 3b 0a 7d 0a 0a 0a .{.return.$this->arguments;.}...
aa260 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 43 ....public.function.getArgumentC
aa280 6f 75 6e 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 73 41 6e 41 72 72 61 ount().{.return.$this->hasAnArra
aa2a0 79 41 72 67 75 6d 65 6e 74 20 3f 20 50 48 50 5f 49 4e 54 5f 4d 41 58 20 3a 20 63 6f 75 6e 74 28 yArgument.?.PHP_INT_MAX.:.count(
aa2c0 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 0a 0a 70 75 62 6c 69 $this->arguments);.}.......publi
aa2e0 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 67 75 6d 65 6e 74 52 65 71 75 69 72 65 64 43 6f c.function.getArgumentRequiredCo
aa300 75 6e 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 64 43 6f unt().{.return.$this->requiredCo
aa320 75 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 6e 20 67 65 74 unt;.}.......public.function.get
aa340 41 72 67 75 6d 65 6e 74 44 65 66 61 75 6c 74 73 28 29 0a 7b 0a 24 76 61 6c 75 65 73 20 3d 20 61 ArgumentDefaults().{.$values.=.a
aa360 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 rray();.foreach.($this->argument
aa380 73 20 61 73 20 24 61 72 67 75 6d 65 6e 74 29 20 7b 0a 24 76 61 6c 75 65 73 5b 24 61 72 67 75 6d s.as.$argument).{.$values[$argum
aa3a0 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 ent->getName()].=.$argument->get
aa3c0 44 65 66 61 75 6c 74 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 73 3b 0a 7d 0a Default();.}..return.$values;.}.
aa3e0 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 74 69 6f ........public.function.setOptio
aa400 6e 73 28 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 2d 3e ns($options.=.array()).{.$this->
aa420 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 73 68 6f 72 74 63 options.=.array();.$this->shortc
aa440 75 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 4f 70 74 69 6f 6e 73 uts.=.array();.$this->addOptions
aa460 28 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ($options);.}.........public.fun
aa480 63 74 69 6f 6e 20 61 64 64 4f 70 74 69 6f 6e 73 28 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 ction.addOptions($options.=.arra
aa4a0 79 28 29 29 0a 7b 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 y()).{.foreach.($options.as.$opt
aa4c0 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 ion).{.$this->addOption($option)
aa4e0 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 63 74 69 6f 6e 20 ;.}.}...........public.function.
aa500 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 6f 6e 29 0a 7b addOption(InputOption.$option).{
aa520 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 6f 70 74 69 6f .if.(isset($this->options[$optio
aa540 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 3e 65 71 75 61 n->getName()]).&&.!$option->equa
aa560 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 67 65 74 4e 61 ls($this->options[$option->getNa
aa580 6d 65 28 29 5d 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 me()])).{.throw.new.\LogicExcept
aa5a0 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 20 22 25 73 ion(sprintf('An.option.named."%s
aa5c0 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 3e 67 65 74 ".already.exists.',.$option->get
aa5e0 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 74 53 68 6f Name()));.}..if.($option->getSho
aa600 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 27 7c 27 2c rtcut()).{.foreach.(explode('|',
aa620 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 24 73 68 6f .$option->getShortcut()).as.$sho
aa640 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 6f 72 74 63 rtcut).{.if.(isset($this->shortc
aa660 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 3e 65 71 75 uts[$shortcut]).&&.!$option->equ
aa680 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 6f 72 74 63 als($this->options[$this->shortc
aa6a0 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 77 20 5c 4c uts[$shortcut]])).{.throw.new.\L
aa6c0 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 69 6f 6e ogicException(sprintf('An.option
aa6e0 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 78 69 73 .with.shortcut."%s".already.exis
aa700 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 69 73 2d ts.',.$shortcut));.}.}.}..$this-
aa720 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 3d 20 24 >options[$option->getName()].=.$
aa740 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 63 75 74 option;.if.($option->getShortcut
aa760 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 6f 70 74 ()).{.foreach.(explode('|',.$opt
aa780 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 63 75 74 ion->getShortcut()).as.$shortcut
aa7a0 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 74 5d 20 ).{.$this->shortcuts[$shortcut].
aa7c0 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 0a 0a 0a =.$option->getName();.}.}.}.....
aa7e0 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 6f ........public.function.getOptio
aa800 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 6e n($name).{.if.(!$this->hasOption
aa820 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 61 6c 69 64 41 72 67 ($name)).{.throw.new.\InvalidArg
aa840 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."--%
aa860 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
aa880 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
aa8a0 61 6d 65 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 63 74 69 6f ame];.}...........public.functio
aa8c0 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 65 n.hasOption($name).{.return.isse
aa8e0 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 0a t($this->options[$name]);.}.....
aa900 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 29 ....public.function.getOptions()
aa920 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 0a 0a 0a .{.return.$this->options;.}.....
aa940 0a 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 ....public.function.hasShortcut(
aa960 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 68 6f $name).{.return.isset($this->sho
aa980 72 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 rtcuts[$name]);.}.........public
aa9a0 20 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 .function.getOptionForShortcut($
aa9c0 73 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 shortcut).{.return.$this->getOpt
aa9e0 69 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 ion($this->shortcutToName($short
aaa00 63 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 cut));.}.......public.function.g
aaa20 65 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 etOptionDefaults().{.$values.=.a
aaa40 72 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 rray();.foreach.($this->options.
aaa60 61 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 as.$option).{.$values[$option->g
aaa80 65 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 etName()].=.$option->getDefault(
aaaa0 29 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 );.}..return.$values;.}.........
aaac0 0a 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 ..private.function.shortcutToNam
aaae0 65 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 e($shortcut).{.if.(!isset($this-
aab00 3e 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 >shortcuts[$shortcut])).{.throw.
aab20 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
aab40 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 73 20 6e 6f 74 rintf('The."-%s".option.does.not
aab60 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 72 65 74 75 72 6e .exist.',.$shortcut));.}..return
aab80 20 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 74 5d 3b 0a 7d 0a .$this->shortcuts[$shortcut];.}.
aaba0 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
aabc0 73 28 29 0a 7b 0a 24 65 6c 65 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 s().{.$elements.=.array();.forea
aabe0 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 6f 70 74 69 ch.($this->getOptions().as.$opti
aac00 6f 6e 29 20 7b 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 on).{.$shortcut.=.$option->getSh
aac20 6f 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 ortcut().?.sprintf('-%s|',.$opti
aac40 6f 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 on->getShortcut()).:.'';.$elemen
aac60 74 73 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 27 5b 27 2e 28 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 ts[].=.sprintf('['.($option->isV
aac80 61 6c 75 65 52 65 71 75 69 72 65 64 28 29 20 3f 20 27 25 73 2d 2d 25 73 3d 22 2e 2e 2e 22 27 20 alueRequired().?.'%s--%s="..."'.
aaca0 3a 20 28 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 :.($option->isValueOptional().?.
aacc0 27 25 73 2d 2d 25 73 5b 3d 22 2e 2e 2e 22 5d 27 20 3a 20 27 25 73 2d 2d 25 73 27 29 29 2e 27 5d '%s--%s[="..."]'.:.'%s--%s')).']
aace0 27 2c 20 24 73 68 6f 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 ',.$shortcut,.$option->getName()
aad00 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 41 72 67 75 6d 65 6e );.}..foreach.($this->getArgumen
aad20 74 73 28 29 20 61 73 20 24 61 72 67 75 6d 65 6e 74 29 20 7b 0a 24 65 6c 65 6d 65 6e 74 73 5b 5d ts().as.$argument).{.$elements[]
aad40 20 3d 20 73 70 72 69 6e 74 66 28 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 52 65 71 75 69 72 65 64 .=.sprintf($argument->isRequired
aad60 28 29 20 3f 20 27 25 73 27 20 3a 20 27 5b 25 73 5d 27 2c 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 ().?.'%s'.:.'[%s]',.$argument->g
aad80 65 74 4e 61 6d 65 28 29 2e 28 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 41 72 72 61 79 28 29 20 3f etName().($argument->isArray().?
aada0 20 27 31 27 20 3a 20 27 27 29 29 3b 0a 0a 69 66 20 28 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 41 .'1'.:.''));..if.($argument->isA
aadc0 72 72 61 79 28 29 29 20 7b 0a 24 65 6c 65 6d 65 6e 74 73 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 rray()).{.$elements[].=.sprintf(
aade0 27 2e 2e 2e 20 5b 25 73 4e 5d 27 2c 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 '....[%sN]',.$argument->getName(
aae00 29 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 24 65 6c ));.}.}..return.implode('.',.$el
aae20 65 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 ements);.}.........public.functi
aae40 6f 6e 20 61 73 54 65 78 74 28 29 0a 7b 0a 24 64 65 73 63 72 69 70 74 6f 72 20 3d 20 6e 65 77 20 on.asText().{.$descriptor.=.new.
aae60 54 65 78 74 44 65 73 63 72 69 70 74 6f 72 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 64 65 73 63 72 TextDescriptor();..return.$descr
aae80 69 70 74 6f 72 2d 3e 64 65 73 63 72 69 62 65 28 24 74 68 69 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a iptor->describe($this);.}.......
aaea0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 58 6d 6c 28 24 61 73 44 6f 6d ....public.function.asXml($asDom
aaec0 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 64 65 73 63 72 69 70 74 6f 72 20 3d 20 6e 65 77 20 58 6d .=.false).{.$descriptor.=.new.Xm
aaee0 6c 44 65 73 63 72 69 70 74 6f 72 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 64 65 73 63 72 69 70 74 lDescriptor();..return.$descript
aaf00 6f 72 2d 3e 64 65 73 63 72 69 62 65 28 24 74 68 69 73 2c 20 61 72 72 61 79 28 27 61 73 5f 64 6f or->describe($this,.array('as_do
aaf20 6d 27 20 3d 3e 20 24 61 73 44 6f 6d 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a m'.=>.$asDom));.}.}.<?php.......
aaf40 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\
aaf60 43 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 Console;..use.Symfony\Component\
aaf80 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
aafa0 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 49 \Component\Console\Input\StringI
aafc0 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 73 nput;.use.Symfony\Component\Cons
aafe0 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 65 20 53 79 ole\Output\ConsoleOutput;.use.Sy
ab000 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 42 mfony\Component\Process\ProcessB
ab020 75 69 6c 64 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 50 72 uilder;.use.Symfony\Component\Pr
ab040 6f 63 65 73 73 5c 50 68 70 45 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 3b 0a 0a 0a 0a 0a 0a ocess\PhpExecutableFinder;......
ab060 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 20 24 61 70 70 6c .....class.Shell.{.private.$appl
ab080 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 0a 70 72 69 76 61 ication;.private.$history;.priva
ab0a0 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 61 64 6c 69 6e 65 te.$output;.private.$hasReadline
ab0c0 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 6e 3b 0a 0a 0a 0a ;.private.$processIsolation;....
ab0e0 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 63 ......public.function.__construc
ab100 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 29 0a 7b 0a 24 74 t(Application.$application).{.$t
ab120 68 69 73 2d 3e 68 61 73 52 65 61 64 6c 69 6e 65 20 3d 20 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 his->hasReadline.=.function_exis
ab140 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 6c 69 63 61 74 69 ts('readline');.$this->applicati
ab160 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 68 69 73 74 6f 72 on.=.$application;.$this->histor
ab180 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 6f 72 79 5f 27 2e y.=.getenv('HOME').'/.history_'.
ab1a0 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 74 68 69 73 2d 3e $application->getName();.$this->
ab1c0 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 28 29 3b 0a 24 74 output.=.new.ConsoleOutput();.$t
ab1e0 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 73 6f 6c 61 74 69 6f 6e 20 3d 20 66 61 6c 73 65 3b 0a 7d his->processIsolation.=.false;.}
ab200 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 7b 0a 24 74 68 .....public.function.run().{.$th
ab220 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 74 28 66 61 6c is->application->setAutoExit(fal
ab240 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 74 43 61 74 63 se);.$this->application->setCatc
ab260 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 69 73 2d 3e 68 hExceptions(true);..if.($this->h
ab280 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 5f 68 69 73 74 asReadline).{.readline_read_hist
ab2a0 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 6e 65 5f 63 6f ory($this->history);.readline_co
ab2c0 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 69 73 2c 20 27 mpletion_function(array($this,.'
ab2e0 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 3e 6f 75 74 70 autocompleter'));.}..$this->outp
ab300 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 72 28 29 29 3b ut->writeln($this->getHeader());
ab320 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 6f 63 65 73 73 .$php.=.null;.if.($this->process
ab340 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 50 68 70 45 78 Isolation).{.$finder.=.new.PhpEx
ab360 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 69 6e 64 65 72 ecutableFinder();.$php.=.$finder
ab380 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 69 74 65 6c 6e ->find();.$this->output->writeln
ab3a0 28 3c 3c 3c 45 4f 46 0a 3c 69 6e 66 6f 3e 52 75 6e 6e 69 6e 67 20 77 69 74 68 20 70 72 6f 63 65 (<<<EOF.<info>Running.with.proce
ab3c0 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 63 6f 6e 73 69 64 65 ss.isolation,.you.should.conside
ab3e0 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 6f 6d 6d 61 6e 64 20 r.this:</info>...*.each.command.
ab400 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 72 6f 63 65 73 73 2c is.executed.as.separate.process,
ab420 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 72 74 20 69 6e 74 65 ...*.commands.don't.support.inte
ab440 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 74 20 62 65 20 70 61 ractivity,.all.params.must.be.pa
ab460 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 61 6e 64 73 20 6f 75 ssed.explicitly,...*.commands.ou
ab480 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 4f 46 0a 29 3b 0a 7d tput.is.not.colorized...EOF.);.}
ab4a0 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 20 3d 20 24 74 68 69 ..while.(true).{.$command.=.$thi
ab4c0 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 20 3d 3d 3d 20 24 63 s->readline();..if.(false.===.$c
ab4e0 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 77 72 69 74 65 6c 6e ommand).{.$this->output->writeln
ab500 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 68 69 73 2d 3e 68 61 ("\n");..break;.}..if.($this->ha
ab520 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 5f 68 69 73 74 6f 72 sReadline).{.readline_add_histor
ab540 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 74 65 5f 68 69 73 74 y($command);.readline_write_hist
ab560 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 66 20 28 24 74 68 69 ory($this->history);.}..if.($thi
ab580 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 62 20 3d 20 6e 65 77 s->processIsolation).{.$pb.=.new
ab5a0 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 65 73 73 20 3d 20 24 .ProcessBuilder();..$process.=.$
ab5c0 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 52 56 45 52 5b 27 61 pb.->add($php).->add($_SERVER['a
ab5e0 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 0a 2d 3e 69 6e 68 65 rgv'][0]).->add($command).->inhe
ab600 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 72 75 65 29 0a 2d 3e ritEnvironmentVariables(true).->
ab620 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 20 24 74 68 69 73 2d getProcess().;..$output.=.$this-
ab640 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 6e 63 74 69 6f 6e 28 >output;.$process->run(function(
ab660 24 74 79 70 65 2c 20 24 64 61 74 61 29 20 75 73 65 20 28 24 6f 75 74 70 75 74 29 20 7b 0a 24 6f $type,.$data).use.($output).{.$o
ab680 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 64 61 74 61 29 3b 0a 7d 29 3b 0a 0a 24 72 65 74 utput->writeln($data);.});..$ret
ab6a0 20 3d 20 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 78 69 74 43 6f 64 65 28 29 3b 0a 7d 20 65 6c .=.$process->getExitCode();.}.el
ab6c0 73 65 20 7b 0a 24 72 65 74 20 3d 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e se.{.$ret.=.$this->application->
ab6e0 72 75 6e 28 6e 65 77 20 53 74 72 69 6e 67 49 6e 70 75 74 28 24 63 6f 6d 6d 61 6e 64 29 2c 20 24 run(new.StringInput($command),.$
ab700 74 68 69 73 2d 3e 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 69 66 20 28 30 20 21 3d 3d 20 24 72 65 74 this->output);.}..if.(0.!==.$ret
ab720 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 73 70 72 69 6e ).{.$this->output->writeln(sprin
ab740 74 66 28 27 3c 65 72 72 6f 72 3e 54 68 65 20 63 6f 6d 6d 61 6e 64 20 74 65 72 6d 69 6e 61 74 65 tf('<error>The.command.terminate
ab760 64 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 20 73 74 61 74 75 73 20 28 25 73 29 3c 2f 65 72 72 d.with.an.error.status.(%s)</err
ab780 6f 72 3e 27 2c 20 24 72 65 74 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 or>',.$ret));.}.}.}.......protec
ab7a0 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 65 61 64 65 72 28 29 0a 7b 0a 72 65 74 75 72 ted.function.getHeader().{.retur
ab7c0 6e 20 3c 3c 3c 45 4f 46 0a 0a 57 65 6c 63 6f 6d 65 20 74 6f 20 74 68 65 20 3c 69 6e 66 6f 3e 7b n.<<<EOF..Welcome.to.the.<info>{
ab7e0 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 7d 3c 2f $this->application->getName()}</
ab800 69 6e 66 6f 3e 20 73 68 65 6c 6c 20 28 3c 63 6f 6d 6d 65 6e 74 3e 7b 24 74 68 69 73 2d 3e 61 70 info>.shell.(<comment>{$this->ap
ab820 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 7d 3c 2f 63 6f 6d 6d 65 6e plication->getVersion()}</commen
ab840 74 3e 29 2e 0a 0a 41 74 20 74 68 65 20 70 72 6f 6d 70 74 2c 20 74 79 70 65 20 3c 63 6f 6d 6d 65 t>)...At.the.prompt,.type.<comme
ab860 6e 74 3e 68 65 6c 70 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 66 6f 72 20 73 6f 6d 65 20 68 65 6c 70 2c nt>help</comment>.for.some.help,
ab880 0a 6f 72 20 3c 63 6f 6d 6d 65 6e 74 3e 6c 69 73 74 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 74 6f 20 67 .or.<comment>list</comment>.to.g
ab8a0 65 74 20 61 20 6c 69 73 74 20 6f 66 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 6d 61 6e 64 73 2e et.a.list.of.available.commands.
ab8c0 0a 0a 54 6f 20 65 78 69 74 20 74 68 65 20 73 68 65 6c 6c 2c 20 74 79 70 65 20 3c 63 6f 6d 6d 65 ..To.exit.the.shell,.type.<comme
ab8e0 6e 74 3e 5e 44 3c 2f 63 6f 6d 6d 65 6e 74 3e 2e 0a 0a 45 4f 46 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 nt>^D</comment>...EOF;.}.......p
ab900 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 6d 70 74 28 29 0a 7b 0a rotected.function.getPrompt().{.
ab920 0a 20 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 ..return.$this->output->getForma
ab940 74 74 65 72 28 29 2d 3e 66 6f 72 6d 61 74 28 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f tter()->format($this->applicatio
ab960 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 20 3e 20 27 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 n->getName().'.>.');.}..protecte
ab980 64 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 d.function.getOutput().{.return.
ab9a0 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 $this->output;.}..protected.func
ab9c0 74 69 6f 6e 20 67 65 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 tion.getApplication().{.return.$
ab9e0 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 this->application;.}.........pri
aba00 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 28 24 74 65 78 vate.function.autocompleter($tex
aba20 74 29 0a 7b 0a 24 69 6e 66 6f 20 3d 20 72 65 61 64 6c 69 6e 65 5f 69 6e 66 6f 28 29 3b 0a 24 74 t).{.$info.=.readline_info();.$t
aba40 65 78 74 20 3d 20 73 75 62 73 74 72 28 24 69 6e 66 6f 5b 27 6c 69 6e 65 5f 62 75 66 66 65 72 27 ext.=.substr($info['line_buffer'
aba60 5d 2c 20 30 2c 20 24 69 6e 66 6f 5b 27 65 6e 64 27 5d 29 3b 0a 0a 69 66 20 28 24 69 6e 66 6f 5b ],.0,.$info['end']);..if.($info[
aba80 27 70 6f 69 6e 74 27 5d 20 21 3d 3d 20 24 69 6e 66 6f 5b 27 65 6e 64 27 5d 29 20 7b 0a 72 65 74 'point'].!==.$info['end']).{.ret
abaa0 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 3d 3d 3d 20 73 74 72 urn.true;.}....if.(false.===.str
abac0 70 6f 73 28 24 74 65 78 74 2c 20 27 20 27 29 20 7c 7c 20 21 24 74 65 78 74 29 20 7b 0a 72 65 74 pos($text,.'.').||.!$text).{.ret
abae0 75 72 6e 20 61 72 72 61 79 5f 6b 65 79 73 28 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f urn.array_keys($this->applicatio
abb00 6e 2d 3e 61 6c 6c 28 29 29 3b 0a 7d 0a 0a 0a 20 74 72 79 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d n->all());.}....try.{.$command.=
abb20 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 66 69 6e 64 28 73 75 62 73 74 72 .$this->application->find(substr
abb40 28 24 74 65 78 74 2c 20 30 2c 20 73 74 72 70 6f 73 28 24 74 65 78 74 2c 20 27 20 27 29 29 29 3b ($text,.0,.strpos($text,.'.')));
abb60 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 72 65 74 75 72 .}.catch.(\Exception.$e).{.retur
abb80 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 6c 69 73 74 20 3d 20 61 72 72 61 79 28 27 2d 2d 68 65 6c 70 n.true;.}..$list.=.array('--help
abba0 27 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 44 65 66 69 6e 69 ');.foreach.($command->getDefini
abbc0 74 69 6f 6e 28 29 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 20 61 73 20 24 6f 70 74 69 6f 6e 29 tion()->getOptions().as.$option)
abbe0 20 7b 0a 24 6c 69 73 74 5b 5d 20 3d 20 27 2d 2d 27 2e 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 .{.$list[].=.'--'.$option->getNa
abc00 6d 65 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6c 69 73 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 me();.}..return.$list;.}.......p
abc20 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 6c 69 6e 65 28 29 0a 7b 0a 69 66 20 rivate.function.readline().{.if.
abc40 28 24 74 68 69 73 2d 3e 68 61 73 52 65 61 64 6c 69 6e 65 29 20 7b 0a 24 6c 69 6e 65 20 3d 20 72 ($this->hasReadline).{.$line.=.r
abc60 65 61 64 6c 69 6e 65 28 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 6d 70 74 28 29 29 3b 0a 7d 20 65 eadline($this->getPrompt());.}.e
abc80 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 28 24 74 68 69 73 lse.{.$this->output->write($this
abca0 2d 3e 67 65 74 50 72 6f 6d 70 74 28 29 29 3b 0a 24 6c 69 6e 65 20 3d 20 66 67 65 74 73 28 53 54 ->getPrompt());.$line.=.fgets(ST
abcc0 44 49 4e 2c 20 31 30 32 34 29 3b 0a 24 6c 69 6e 65 20 3d 20 28 21 24 6c 69 6e 65 20 26 26 20 73 DIN,.1024);.$line.=.(!$line.&&.s
abce0 74 72 6c 65 6e 28 24 6c 69 6e 65 29 20 3d 3d 20 30 29 20 3f 20 66 61 6c 73 65 20 3a 20 72 74 72 trlen($line).==.0).?.false.:.rtr
abd00 69 6d 28 24 6c 69 6e 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6c 69 6e 65 3b 0a 7d 0a 0a 70 im($line);.}..return.$line;.}..p
abd20 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 49 73 6f 6c 61 74 69 ublic.function.getProcessIsolati
abd40 6f 6e 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 49 73 6f 6c on().{.return.$this->processIsol
abd60 61 74 69 6f 6e 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 6f ation;.}..public.function.setPro
abd80 63 65 73 73 49 73 6f 6c 61 74 69 6f 6e 28 24 70 72 6f 63 65 73 73 49 73 6f 6c 61 74 69 6f 6e 29 cessIsolation($processIsolation)
abda0 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 73 6f 6c 61 74 69 6f 6e 20 3d 20 28 42 6f .{.$this->processIsolation.=.(Bo
abdc0 6f 6c 65 61 6e 29 20 24 70 72 6f 63 65 73 73 49 73 6f 6c 61 74 69 6f 6e 3b 0a 0a 69 66 20 28 24 olean).$processIsolation;..if.($
abde0 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 73 6f 6c 61 74 69 6f 6e 20 26 26 20 21 63 6c 61 73 73 this->processIsolation.&&.!class
abe00 5f 65 78 69 73 74 73 28 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 50 72 6f _exists('Symfony\\Component\\Pro
abe20 63 65 73 73 5c 5c 50 72 6f 63 65 73 73 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 cess\\Process')).{.throw.new.\Ru
abe40 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 69 73 6f 6c 61 74 ntimeException('Unable.to.isolat
abe60 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 79 20 50 72 6f 63 65 e.processes.as.the.Symfony.Proce
abe80 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 6c 6c 65 64 2e 27 29 ss.Component.is.not.installed.')
abea0 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 63 ;.}.}.}.<?php...........namespac
abec0 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 70 e.Symfony\Component\Console\Outp
abee0 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
abf00 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
abf20 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
abf40 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 3b 0a sole\Formatter\OutputFormatter;.
abf60 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 61 73 73 20 4f 75 74 ..............abstract.class.Out
abf80 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 72 66 61 63 65 0a 7b put.implements.OutputInterface.{
abfa0 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 61 74 65 20 24 66 6f .private.$verbosity;.private.$fo
abfc0 72 6d 61 74 74 65 72 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 rmatter;...........public.functi
abfe0 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 65 6c 66 on.__construct($verbosity.=.self
ac000 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 64 20 3d ::VERBOSITY_NORMAL,.$decorated.=
ac020 20 6e 75 6c 6c 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 .null,.OutputFormatterInterface.
ac040 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 76 65 72 62 $formatter.=.null).{.$this->verb
ac060 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 3f 20 73 65 osity.=.null.===.$verbosity.?.se
ac080 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 6f 73 69 74 lf::VERBOSITY_NORMAL.:.$verbosit
ac0a0 79 3b 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 74 65 72 20 3d 20 6e 75 6c 6c 20 3d 3d 3d 20 24 y;.$this->formatter.=.null.===.$
ac0c0 66 6f 72 6d 61 74 74 65 72 20 3f 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 28 formatter.?.new.OutputFormatter(
ac0e0 29 20 3a 20 24 66 6f 72 6d 61 74 74 65 72 3b 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 74 65 72 ).:.$formatter;.$this->formatter
ac100 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 64 28 28 42 6f 6f 6c 65 61 6e 29 20 24 64 65 63 6f 72 61 ->setDecorated((Boolean).$decora
ac120 74 65 64 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 ted);.}.........public.function.
ac140 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 65 setFormatter(OutputFormatterInte
ac160 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 61 rface.$formatter).{.$this->forma
ac180 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 0a 0a 0a 0a 70 75 62 tter.=.$formatter;.}.........pub
ac1a0 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 72 65 lic.function.getFormatter().{.re
ac1c0 74 75 72 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 0a 0a 0a turn.$this->formatter;.}........
ac1e0 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 24 64 .public.function.setDecorated($d
ac200 65 63 6f 72 61 74 65 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 ecorated).{.$this->formatter->se
ac220 74 44 65 63 6f 72 61 74 65 64 28 28 42 6f 6f 6c 65 61 6e 29 20 24 64 65 63 6f 72 61 74 65 64 29 tDecorated((Boolean).$decorated)
ac240 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 69 73 44 65 ;.}.........public.function.isDe
ac260 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 66 6f 72 6d 61 74 corated().{.return.$this->format
ac280 74 65 72 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 ter->isDecorated();.}.........pu
ac2a0 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 79 28 24 6c 65 76 65 blic.function.setVerbosity($leve
ac2c0 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 69 6e 74 29 20 24 6c l).{.$this->verbosity.=.(int).$l
ac2e0 65 76 65 6c 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 evel;.}.........public.function.
ac300 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 2d 3e 76 getVerbosity().{.return.$this->v
ac320 65 72 62 6f 73 69 74 79 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 erbosity;.}..........public.func
ac340 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 3d 20 tion.writeln($messages,.$type.=.
ac360 30 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 74 72 75 0).{.$this->write($messages,.tru
ac380 65 2c 20 24 74 79 70 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 e,.$type);.}.............public.
ac3a0 66 75 6e 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 function.write($messages,.$newli
ac3c0 6e 65 20 3d 20 66 61 6c 73 65 2c 20 24 74 79 70 65 20 3d 20 30 29 0a 7b 0a 69 66 20 28 73 65 6c ne.=.false,.$type.=.0).{.if.(sel
ac3e0 66 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 3e 76 65 f::VERBOSITY_QUIET.===.$this->ve
ac400 72 62 6f 73 69 74 79 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 73 20 rbosity).{.return;.}..$messages.
ac420 3d 20 28 61 72 72 61 79 29 20 24 6d 65 73 73 61 67 65 73 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 =.(array).$messages;..foreach.($
ac440 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 77 69 74 63 68 20 28 messages.as.$message).{.switch.(
ac460 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 66 61 63 65 3a 3a 4f $type).{.case.OutputInterface::O
ac480 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 24 74 68 69 73 2d 3e UTPUT_NORMAL:.$message.=.$this->
ac4a0 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 65 29 3b 0a 62 72 65 formatter->format($message);.bre
ac4c0 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 3a 4f 55 54 50 55 54 ak;.case.OutputInterface::OUTPUT
ac4e0 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 6e 74 65 72 66 61 63 _RAW:.break;.case.OutputInterfac
ac500 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 20 3d 20 73 74 72 69 e::OUTPUT_PLAIN:.$message.=.stri
ac520 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 66 6f 72 6d 61 74 28 p_tags($this->formatter->format(
ac540 24 6d 65 73 73 61 67 65 29 29 3b 0a 62 72 65 61 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a 74 68 72 6f $message));.break;.default:.thro
ac560 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(
ac580 73 70 72 69 6e 74 66 28 27 55 6e 6b 6e 6f 77 6e 20 6f 75 74 70 75 74 20 74 79 70 65 20 67 69 76 sprintf('Unknown.output.type.giv
ac5a0 65 6e 20 28 25 73 29 27 2c 20 24 74 79 70 65 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 64 6f 57 en.(%s)',.$type));.}..$this->doW
ac5c0 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 0a 7d 0a 7d 0a 0a 0a rite($message,.$newline);.}.}...
ac5e0 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
ac600 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 3b 0a 7d 0a .doWrite($message,.$newline);.}.
ac620 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
ac640 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;.....
ac660 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4e 75 6c 6c 4f 75 74 70 75 74 20 65 78 74 65 6e 64 73 20 4f ......class.NullOutput.extends.O
ac680 75 74 70 75 74 0a 7b 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 utput.{.......protected.function
ac6a0 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 0a 7b 0a 7d .doWrite($message,.$newline).{.}
ac6c0 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
ac6e0 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 3b 0a 0a fony\Component\Console\Output;..
ac700 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
ac720 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 69 6e 74 tput\OutputInterface;........int
ac740 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 61 63 65 20 65 78 erface.ConsoleOutputInterface.ex
ac760 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 0a 70 75 62 6c 69 tends.OutputInterface.{....publi
ac780 63 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 3b 0a 0a 70 75 c.function.getErrorOutput();..pu
ac7a0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 4f 75 74 blic.function.setErrorOutput(Out
ac7c0 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 65 72 72 6f 72 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a putInterface.$error);.}.<?php...
ac7e0 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
ac800 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 79 6d 66 6f 6e 79 ent\Console\Output;..use.Symfony
ac820 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
ac840 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 0a putFormatterInterface;..........
ac860 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
ac880 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;.....
ac8a0 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 73 ..........public.function.__cons
ac8c0 74 72 75 63 74 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 truct($stream,.$verbosity.=.self
ac8e0 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 64 20 3d ::VERBOSITY_NORMAL,.$decorated.=
ac900 20 6e 75 6c 6c 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 .null,.OutputFormatterInterface.
ac920 24 66 6f 72 6d 61 74 74 65 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 21 69 73 5f 72 65 73 $formatter.=.null).{.if.(!is_res
ac940 6f 75 72 63 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 ource($stream).||.'stream'.!==.g
ac960 65 74 5f 72 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 et_resource_type($stream)).{.thr
ac980 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
ac9a0 28 27 54 68 65 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 ('The.StreamOutput.class.needs.a
ac9c0 20 73 74 72 65 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 .stream.as.its.first.argument.')
ac9e0 3b 0a 7d 0a 0a 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 ;.}..$this->stream.=.$stream;..i
aca00 66 20 28 6e 75 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 f.(null.===.$decorated).{.$decor
aca20 61 74 65 64 20 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 ated.=.$this->hasColorSupport();
aca40 0a 7d 0a 0a 70 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 .}..parent::__construct($verbosi
aca60 74 79 2c 20 24 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 ty,.$decorated,.$formatter);.}..
aca80 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 72 65 61 6d 28 29 .....public.function.getStream()
acaa0 0a 7b 0a 72 65 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 0a .{.return.$this->stream;.}......
acac0 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 57 72 69 74 65 28 24 ....protected.function.doWrite($
acae0 6d 65 73 73 61 67 65 2c 20 24 6e 65 77 6c 69 6e 65 29 0a 7b 0a 69 66 20 28 66 61 6c 73 65 20 3d message,.$newline).{.if.(false.=
acb00 3d 3d 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 ==.@fwrite($this->stream,.$messa
acb20 67 65 2e 28 24 6e 65 77 6c 69 6e 65 20 3f 20 50 48 50 5f 45 4f 4c 20 3a 20 27 27 29 29 29 20 7b ge.($newline.?.PHP_EOL.:.''))).{
acb40 0a 0a 20 0a 20 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
acb60 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 0a 20 7d ('Unable.to.write.output.');...}
acb80 0a 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 ..fflush($this->stream);.}......
acba0 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 6c 6f ......protected.function.hasColo
acbc0 72 53 75 70 70 6f 72 74 28 29 0a 7b 0a 0a 20 69 66 20 28 44 49 52 45 43 54 4f 52 59 5f 53 45 50 rSupport().{...if.(DIRECTORY_SEP
acbe0 41 52 41 54 4f 52 20 3d 3d 20 27 5c 5c 27 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 20 21 ARATOR.==.'\\').{.return.false.!
acc00 3d 3d 20 67 65 74 65 6e 76 28 27 41 4e 53 49 43 4f 4e 27 29 20 7c 7c 20 27 4f 4e 27 20 3d 3d 3d ==.getenv('ANSICON').||.'ON'.===
acc20 20 67 65 74 65 6e 76 28 27 43 6f 6e 45 6d 75 41 4e 53 49 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e .getenv('ConEmuANSI');.}..return
acc40 20 66 75 6e 63 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 .function_exists('posix_isatty')
acc60 20 26 26 20 40 70 6f 73 69 78 5f 69 73 61 74 74 79 28 24 74 68 69 73 2d 3e 73 74 72 65 61 6d 29 .&&.@posix_isatty($this->stream)
acc80 3b 0a 0a 20 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 ;...}.}.<?php...........namespac
acca0 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 70 e.Symfony\Component\Console\Outp
accc0 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
acce0 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
acd00 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 4f 75 74 70 75 74 49 rface;.........interface.OutputI
acd20 6e 74 65 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 nterface.{.const.VERBOSITY_QUIET
acd40 20 3d 20 30 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 31 .=.0;.const.VERBOSITY_NORMAL.=.1
acd60 3b 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 32 3b 0a 63 ;.const.VERBOSITY_VERBOSE.=.2;.c
acd80 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 33 3b onst.VERBOSITY_VERY_VERBOSE.=.3;
acda0 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 34 3b 0a 0a 63 6f 6e .const.VERBOSITY_DEBUG.=.4;..con
acdc0 73 74 20 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 4f 55 54 50 st.OUTPUT_NORMAL.=.0;.const.OUTP
acde0 55 54 5f 52 41 57 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 4f 55 54 50 55 54 5f 50 4c 41 49 4e 20 3d UT_RAW.=.1;.const.OUTPUT_PLAIN.=
ace00 20 32 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 69 6f 6e 20 .2;.............public.function.
ace20 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
ace40 65 2c 20 24 74 79 70 65 20 3d 20 30 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 e,.$type.=.0);..........public.f
ace60 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 74 79 70 65 unction.writeln($messages,.$type
ace80 20 3d 20 30 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 .=.0);.........public.function.s
acea0 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 0a 0a 70 75 62 etVerbosity($level);.........pub
acec0 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();....
acee0 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
acf00 64 28 24 64 65 63 6f 72 61 74 65 64 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 d($decorated);.........public.fu
acf20 6e 63 74 69 6f 6e 20 69 73 44 65 63 6f 72 61 74 65 64 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 nction.isDecorated();.........pu
acf40 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 6f 72 6d 61 74 74 65 72 28 4f 75 74 70 75 blic.function.setFormatter(Outpu
acf60 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 61 74 74 65 72 29 3b tFormatterInterface.$formatter);
acf80 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 46 6f 72 6d .........public.function.getForm
acfa0 61 74 74 65 72 28 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 atter();.}.<?php...........names
acfc0 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 4f pace.Symfony\Component\Console\O
acfe0 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 74 5c 43 6f utput;..use.Symfony\Component\Co
ad000 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 65 72 49 nsole\Formatter\OutputFormatterI
ad020 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\
ad040 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 74 65 Console\Output\ConsoleOutputInte
ad060 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e rface;.................class.Con
ad080 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 74 70 75 74 20 soleOutput.extends.StreamOutput.
ad0a0 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 65 72 66 61 63 implements.ConsoleOutputInterfac
ad0c0 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 0a 0a 0a 0a 0a e.{.private.$stderr;............
ad0e0 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
ad100 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,
ad120 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
ad140 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).
ad160 7b 0a 24 6f 75 74 70 75 74 53 74 72 65 61 6d 20 3d 20 27 70 68 70 3a 2f 2f 73 74 64 6f 75 74 27 {.$outputStream.=.'php://stdout'
ad180 3b 0a 69 66 20 28 21 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 ;.if.(!$this->hasStdoutSupport()
ad1a0 29 20 7b 0a 24 6f 75 74 70 75 74 53 74 72 65 61 6d 20 3d 20 27 70 68 70 3a 2f 2f 6f 75 74 70 75 ).{.$outputStream.=.'php://outpu
ad1c0 74 27 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 66 6f 70 65 6e t';.}..parent::__construct(fopen
ad1e0 28 24 6f 75 74 70 75 74 53 74 72 65 61 6d 2c 20 27 77 27 29 2c 20 24 76 65 72 62 6f 73 69 74 79 ($outputStream,.'w'),.$verbosity
ad200 2c 20 24 64 65 63 6f 72 61 74 65 64 2c 20 24 66 6f 72 6d 61 74 74 65 72 29 3b 0a 0a 24 74 68 69 ,.$decorated,.$formatter);..$thi
ad220 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 28 66 6f 70 s->stderr.=.new.StreamOutput(fop
ad240 65 6e 28 27 70 68 70 3a 2f 2f 73 74 64 65 72 72 27 2c 20 27 77 27 29 2c 20 24 76 65 72 62 6f 73 en('php://stderr',.'w'),.$verbos
ad260 69 74 79 2c 20 24 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 ity,.$decorated,.$formatter);.}.
ad280 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 24 64 .public.function.setDecorated($d
ad2a0 65 63 6f 72 61 74 65 64 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 73 65 74 44 65 63 6f 72 61 74 65 64 ecorated).{.parent::setDecorated
ad2c0 28 24 64 65 63 6f 72 61 74 65 64 29 3b 0a 24 74 68 69 73 2d 3e 73 74 64 65 72 72 2d 3e 73 65 74 ($decorated);.$this->stderr->set
ad2e0 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 70 75 62 6c 69 63 Decorated($decorated);.}..public
ad300 20 66 75 6e 63 74 69 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 .function.setFormatter(OutputFor
ad320 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 66 6f 72 6d 61 74 74 65 72 29 0a 7b 0a 70 61 matterInterface.$formatter).{.pa
ad340 72 65 6e 74 3a 3a 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 rent::setFormatter($formatter);.
ad360 24 74 68 69 73 2d 3e 73 74 64 65 72 72 2d 3e 73 65 74 46 6f 72 6d 61 74 74 65 72 28 24 66 6f 72 $this->stderr->setFormatter($for
ad380 6d 61 74 74 65 72 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 56 matter);.}..public.function.setV
ad3a0 65 72 62 6f 73 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 erbosity($level).{.parent::setVe
ad3c0 72 62 6f 73 69 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 rbosity($level);.$this->stderr->
ad3e0 73 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 setVerbosity($level);.}.....publ
ad400 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 74 28 29 0a 7b 0a 72 ic.function.getErrorOutput().{.r
ad420 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 64 65 72 72 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 eturn.$this->stderr;.}..public.f
ad440 75 6e 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 unction.setErrorOutput(OutputInt
ad460 65 72 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 erface.$error).{.$this->stderr.=
ad480 20 24 65 72 72 6f 72 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 .$error;.}............protected.
ad4a0 66 75 6e 63 74 69 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 function.hasStdoutSupport().{.re
ad4c0 74 75 72 6e 20 28 27 4f 53 34 30 30 27 20 21 3d 20 70 68 70 5f 75 6e 61 6d 65 28 27 73 27 29 29 turn.('OS400'.!=.php_uname('s'))
ad4e0 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.
ad500 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
ad520 70 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 44 65 73 63 72 69 70 74 6f 72 ptor;.......interface.Descriptor
ad540 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 63 74 Interface.{.........public.funct
ad560 69 6f 6e 20 64 65 73 63 72 69 62 65 28 24 6f 62 6a 65 63 74 2c 20 61 72 72 61 79 20 24 6f 70 74 ion.describe($object,.array.$opt
ad580 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 0a ions.=.array());.}.<?php........
ad5a0 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
ad5c0 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 5c onsole\Descriptor;..use.Symfony\
ad5e0 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 75 Component\Console\Application;.u
ad600 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 6d se.Symfony\Component\Console\Com
ad620 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 6e mand\Command;.use.Symfony\Compon
ad640 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 3b ent\Console\Input\InputArgument;
ad660 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
ad680 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 6e nput\InputDefinition;.use.Symfon
ad6a0 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
ad6c0 70 74 69 6f 6e 3b 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 ption;.......class.TextDescripto
ad6e0 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 74 65 63 r.extends.Descriptor.{....protec
ad700 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 75 6d 65 ted.function.describeInputArgume
ad720 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 72 72 61 nt(InputArgument.$argument,.arra
ad740 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 6e 75 6c 6c y.$options.=.array()).{.if.(null
ad760 20 21 3d 3d 20 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 .!==.$argument->getDefault().&&.
ad780 28 21 69 73 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 (!is_array($argument->getDefault
ad7a0 28 29 29 20 7c 7c 20 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 ()).||.count($argument->getDefau
ad7c0 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 63 lt()))).{.$default.=.sprintf('<c
ad7e0 6f 6d 6d 65 6e 74 3e 20 28 64 65 66 61 75 6c 74 3a 20 25 73 29 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 omment>.(default:.%s)</comment>'
ad800 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 61 72 67 ,.$this->formatDefaultValue($arg
ad820 75 6d 65 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 ument->getDefault()));.}.else.{.
ad840 24 64 65 66 61 75 6c 74 20 3d 20 27 27 3b 0a 7d 0a 0a 24 6e 61 6d 65 57 69 64 74 68 20 3d 20 69 $default.=.'';.}..$nameWidth.=.i
ad860 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 6e 61 6d 65 5f 77 69 64 74 68 27 5d 29 20 3f 20 24 sset($options['name_width']).?.$
ad880 6f 70 74 69 6f 6e 73 5b 27 6e 61 6d 65 5f 77 69 64 74 68 27 5d 20 3a 20 73 74 72 6c 65 6e 28 24 options['name_width'].:.strlen($
ad8a0 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 24 6f 75 74 70 75 74 20 3d 20 argument->getName());.$output.=.
ad8c0 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c 6e 22 2c 20 22 5c 6e 22 2e 73 74 72 5f 72 65 70 65 61 str_replace("\n",."\n".str_repea
ad8e0 74 28 27 20 27 2c 20 24 6e 61 6d 65 57 69 64 74 68 20 2b 20 32 29 2c 20 24 61 72 67 75 6d 65 6e t('.',.$nameWidth.+.2),.$argumen
ad900 74 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 3b 0a 24 6f 75 74 70 75 74 20 3d 20 t->getDescription());.$output.=.
ad920 73 70 72 69 6e 74 66 28 22 20 3c 69 6e 66 6f 3e 25 2d 24 7b 6e 61 6d 65 57 69 64 74 68 7d 73 3c sprintf(".<info>%-${nameWidth}s<
ad940 2f 69 6e 66 6f 3e 20 25 73 25 73 22 2c 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 /info>.%s%s",.$argument->getName
ad960 28 29 2c 20 24 6f 75 74 70 75 74 2c 20 24 64 65 66 61 75 6c 74 29 3b 0a 0a 72 65 74 75 72 6e 20 (),.$output,.$default);..return.
ad980 69 73 73 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 isset($options['raw_text']).&&.$
ad9a0 6f 70 74 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 options['raw_text'].?.strip_tags
ad9c0 28 24 6f 75 74 70 75 74 29 20 3a 20 24 6f 75 74 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 ($output).:.$output;.}.....prote
ad9e0 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 4f 70 74 69 6f cted.function.describeInputOptio
ada00 6e 28 49 6e 70 75 74 4f 70 74 69 6f 6e 20 24 6f 70 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 n(InputOption.$option,.array.$op
ada20 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 20 28 24 6f 70 74 69 6f 6e 2d 3e tions.=.array()).{.if.($option->
ada40 61 63 63 65 70 74 56 61 6c 75 65 28 29 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 6f 70 74 69 6f acceptValue().&&.null.!==.$optio
ada60 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 20 26 26 20 28 21 69 73 5f 61 72 72 61 79 28 24 6f n->getDefault().&&.(!is_array($o
ada80 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 20 7c 7c 20 63 6f 75 6e 74 28 24 6f ption->getDefault()).||.count($o
adaa0 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 29 29 20 7b 0a 24 64 65 66 61 75 6c ption->getDefault()))).{.$defaul
adac0 74 20 3d 20 73 70 72 69 6e 74 66 28 27 3c 63 6f 6d 6d 65 6e 74 3e 20 28 64 65 66 61 75 6c 74 3a t.=.sprintf('<comment>.(default:
adae0 20 25 73 29 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 44 65 .%s)</comment>',.$this->formatDe
adb00 66 61 75 6c 74 56 61 6c 75 65 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 faultValue($option->getDefault()
adb20 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 65 66 61 75 6c 74 20 3d 20 27 27 3b 0a 7d 0a 0a 24 ));.}.else.{.$default.=.'';.}..$
adb40 6e 61 6d 65 57 69 64 74 68 20 3d 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 6e 61 6d 65 nameWidth.=.isset($options['name
adb60 5f 77 69 64 74 68 27 5d 29 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 6e 61 6d 65 5f 77 69 64 74 68 _width']).?.$options['name_width
adb80 27 5d 20 3a 20 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 29 3b '].:.strlen($option->getName());
adba0 0a 24 6e 61 6d 65 57 69 74 68 53 68 6f 72 74 63 75 74 57 69 64 74 68 20 3d 20 24 6e 61 6d 65 57 .$nameWithShortcutWidth.=.$nameW
adbc0 69 64 74 68 20 2d 20 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 idth.-.strlen($option->getName()
adbe0 29 20 2d 20 32 3b 0a 0a 24 6f 75 74 70 75 74 20 3d 20 73 70 72 69 6e 74 66 28 22 20 3c 69 6e 66 ).-.2;..$output.=.sprintf(".<inf
adc00 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 25 2d 24 7b 6e 61 6d 65 57 69 74 68 53 68 6f 72 74 63 75 74 o>%s</info>.%-${nameWithShortcut
adc20 57 69 64 74 68 7d 73 25 73 25 73 25 73 22 2c 0a 27 2d 2d 27 2e 24 6f 70 74 69 6f 6e 2d 3e 67 65 Width}s%s%s%s",.'--'.$option->ge
adc40 74 4e 61 6d 65 28 29 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 tName(),.$option->getShortcut().
adc60 3f 20 73 70 72 69 6e 74 66 28 27 28 2d 25 73 29 20 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 ?.sprintf('(-%s).',.$option->get
adc80 53 68 6f 72 74 63 75 74 28 29 29 20 3a 20 27 27 2c 0a 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c Shortcut()).:.'',.str_replace("\
adca0 6e 22 2c 20 22 5c 6e 22 2e 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 6e 61 6d 65 57 69 n",."\n".str_repeat('.',.$nameWi
adcc0 64 74 68 20 2b 20 32 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 dth.+.2),.$option->getDescriptio
adce0 6e 28 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 n()),.$default,.$option->isArray
add00 28 29 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 ().?.'<comment>.(multiple.values
add20 20 61 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 3b 0a 0a 72 65 .allowed)</comment>'.:.''.);..re
add40 74 75 72 6e 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 72 61 77 5f 74 65 78 74 27 5d 29 turn.isset($options['raw_text'])
add60 20 26 26 20 24 6f 70 74 69 6f 6e 73 5b 27 72 61 77 5f 74 65 78 74 27 5d 20 3f 20 73 74 72 69 70 .&&.$options['raw_text'].?.strip
add80 5f 74 61 67 73 28 24 6f 75 74 70 75 74 29 20 3a 20 24 6f 75 74 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a _tags($output).:.$output;.}.....
adda0 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 75 74 protected.function.describeInput
addc0 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 65 66 69 Definition(InputDefinition.$defi
adde0 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 79 28 29 nition,.array.$options.=.array()
ade00 29 0a 7b 0a 24 6e 61 6d 65 57 69 64 74 68 20 3d 20 30 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 ).{.$nameWidth.=.0;.foreach.($de
ade20 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 20 61 73 20 24 6f 70 74 69 6f finition->getOptions().as.$optio
ade40 6e 29 20 7b 0a 24 6e 61 6d 65 4c 65 6e 67 74 68 20 3d 20 73 74 72 6c 65 6e 28 24 6f 70 74 69 6f n).{.$nameLength.=.strlen($optio
ade60 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 2b 20 32 3b 0a 69 66 20 28 24 6f 70 74 69 6f 6e 2d 3e n->getName()).+.2;.if.($option->
ade80 67 65 74 53 68 6f 72 74 63 75 74 28 29 29 20 7b 0a 24 6e 61 6d 65 4c 65 6e 67 74 68 20 2b 3d 20 getShortcut()).{.$nameLength.+=.
adea0 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 20 2b strlen($option->getShortcut()).+
adec0 20 33 3b 0a 7d 0a 24 6e 61 6d 65 57 69 64 74 68 20 3d 20 6d 61 78 28 24 6e 61 6d 65 57 69 64 74 .3;.}.$nameWidth.=.max($nameWidt
adee0 68 2c 20 24 6e 61 6d 65 4c 65 6e 67 74 68 29 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 h,.$nameLength);.}.foreach.($def
adf00 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 75 inition->getArguments().as.$argu
adf20 6d 65 6e 74 29 20 7b 0a 24 6e 61 6d 65 57 69 64 74 68 20 3d 20 6d 61 78 28 24 6e 61 6d 65 57 69 ment).{.$nameWidth.=.max($nameWi
adf40 64 74 68 2c 20 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 dth,.strlen($argument->getName()
adf60 29 29 3b 0a 7d 0a 2b 2b 24 6e 61 6d 65 57 69 64 74 68 3b 0a 0a 24 6d 65 73 73 61 67 65 73 20 3d ));.}.++$nameWidth;..$messages.=
adf80 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 .array();..if.($definition->getA
adfa0 72 67 75 6d 65 6e 74 73 28 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 27 3c 63 6f rguments()).{.$messages[].=.'<co
adfc0 6d 6d 65 6e 74 3e 41 72 67 75 6d 65 6e 74 73 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 3b 0a 66 6f 72 mment>Arguments:</comment>';.for
adfe0 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 73 28 each.($definition->getArguments(
ae000 29 20 61 73 20 24 61 72 67 75 6d 65 6e 74 29 20 7b 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 ).as.$argument).{.$messages[].=.
ae020 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 72 $this->describeInputArgument($ar
ae040 67 75 6d 65 6e 74 2c 20 61 72 72 61 79 28 27 6e 61 6d 65 5f 77 69 64 74 68 27 20 3d 3e 20 24 6e gument,.array('name_width'.=>.$n
ae060 61 6d 65 57 69 64 74 68 29 29 3b 0a 7d 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 27 27 3b 0a ameWidth));.}.$messages[].=.'';.
ae080 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 6e 73 28 29 }..if.($definition->getOptions()
ae0a0 29 20 7b 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 27 3c 63 6f 6d 6d 65 6e 74 3e 4f 70 74 69 ).{.$messages[].=.'<comment>Opti
ae0c0 6f 6e 73 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 69 6e ons:</comment>';.foreach.($defin
ae0e0 69 74 69 6f 6e 2d 3e 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 ition->getOptions().as.$option).
ae100 7b 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 {.$messages[].=.$this->describeI
ae120 6e 70 75 74 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 2c 20 61 72 72 61 79 28 27 6e 61 6d 65 5f nputOption($option,.array('name_
ae140 77 69 64 74 68 27 20 3d 3e 20 24 6e 61 6d 65 57 69 64 74 68 29 29 3b 0a 7d 0a 24 6d 65 73 73 61 width'.=>.$nameWidth));.}.$messa
ae160 67 65 73 5b 5d 20 3d 20 27 27 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 20 3d 20 69 6d 70 6c 6f 64 65 ges[].=.'';.}..$output.=.implode
ae180 28 22 5c 6e 22 2c 20 24 6d 65 73 73 61 67 65 73 29 3b 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 ("\n",.$messages);..return.isset
ae1a0 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 69 6f ($options['raw_text']).&&.$optio
ae1c0 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 6f 75 74 ns['raw_text'].?.strip_tags($out
ae1e0 70 75 74 29 20 3a 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 put).:.$output;.}.....protected.
ae200 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 6d 6d 61 6e 64 function.describeCommand(Command
ae220 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 20 61 72 72 61 .$command,.array.$options.=.arra
ae240 79 28 29 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 3b 0a y()).{.$command->getSynopsis();.
ae260 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 69 $command->mergeApplicationDefini
ae280 74 69 6f 6e 28 66 61 6c 73 65 29 3b 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 61 72 72 61 79 28 27 tion(false);.$messages.=.array('
ae2a0 3c 63 6f 6d 6d 65 6e 74 3e 55 73 61 67 65 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 27 20 27 2e <comment>Usage:</comment>',.'.'.
ae2c0 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 29 2c 20 27 27 29 3b 0a 0a 69 $command->getSynopsis(),.'');..i
ae2e0 66 20 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 41 6c 69 61 73 65 73 28 29 29 20 7b 0a 24 6d 65 f.($command->getAliases()).{.$me
ae300 73 73 61 67 65 73 5b 5d 20 3d 20 27 3c 63 6f 6d 6d 65 6e 74 3e 41 6c 69 61 73 65 73 3a 3c 2f 63 ssages[].=.'<comment>Aliases:</c
ae320 6f 6d 6d 65 6e 74 3e 20 3c 69 6e 66 6f 3e 27 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 63 omment>.<info>'.implode(',.',.$c
ae340 6f 6d 6d 61 6e 64 2d 3e 67 65 74 41 6c 69 61 73 65 73 28 29 29 2e 27 3c 2f 69 6e 66 6f 3e 27 3b ommand->getAliases()).'</info>';
ae360 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 .}..$messages[].=.$this->describ
ae380 65 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 eInputDefinition($command->getNa
ae3a0 74 69 76 65 44 65 66 69 6e 69 74 69 6f 6e 28 29 29 3b 0a 0a 69 66 20 28 24 68 65 6c 70 20 3d 20 tiveDefinition());..if.($help.=.
ae3c0 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 29 29 20 7b 0a $command->getProcessedHelp()).{.
ae3e0 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 27 3c 63 6f 6d 6d 65 6e 74 3e 48 65 6c 70 3a 3c 2f 63 $messages[].=.'<comment>Help:</c
ae400 6f 6d 6d 65 6e 74 3e 27 3b 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 27 20 27 2e 73 74 72 5f omment>';.$messages[].=.'.'.str_
ae420 72 65 70 6c 61 63 65 28 22 5c 6e 22 2c 20 22 5c 6e 20 22 2c 20 24 68 65 6c 70 29 2e 22 5c 6e 22 replace("\n",."\n.",.$help)."\n"
ae440 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 20 3d 20 69 6d 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 24 6d 65 ;.}..$output.=.implode("\n",.$me
ae460 73 73 61 67 65 73 29 3b 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b ssages);..return.isset($options[
ae480 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 74 65 'raw_text']).&&.$options['raw_te
ae4a0 78 74 27 5d 20 3f 20 73 74 72 69 70 5f 74 61 67 73 28 24 6f 75 74 70 75 74 29 20 3a 20 24 6f 75 xt'].?.strip_tags($output).:.$ou
ae4c0 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 63 74 69 6f 6e 20 64 tput;.}.....protected.function.d
ae4e0 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 6f 6e 20 24 escribeApplication(Application.$
ae500 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 3d 20 61 72 application,.array.$options.=.ar
ae520 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 20 3d 20 69 ray()).{.$describedNamespace.=.i
ae540 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 3f 20 24 6f sset($options['namespace']).?.$o
ae560 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 24 64 65 73 ptions['namespace'].:.null;.$des
ae580 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 72 69 cription.=.new.ApplicationDescri
ae5a0 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 65 64 4e 61 ption($application,.$describedNa
ae5c0 6d 65 73 70 61 63 65 29 3b 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a mespace);.$messages.=.array();..
ae5e0 69 66 20 28 69 73 73 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 if.(isset($options['raw_text']).
ae600 26 26 20 24 6f 70 74 69 6f 6e 73 5b 27 72 61 77 5f 74 65 78 74 27 5d 29 20 7b 0a 24 77 69 64 74 &&.$options['raw_text']).{.$widt
ae620 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 63 72 h.=.$this->getColumnWidth($descr
ae640 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 66 6f 72 65 61 63 68 iption->getCommands());..foreach
ae660 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 29 20 61 73 .($description->getCommands().as
ae680 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 73 70 72 69 6e .$command).{.$messages[].=.sprin
ae6a0 74 66 28 22 25 2d 24 7b 77 69 64 74 68 7d 73 20 25 73 22 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 tf("%-${width}s.%s",.$command->g
ae6c0 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 etName(),.$command->getDescripti
ae6e0 6f 6e 28 29 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 77 69 64 74 68 20 3d 20 24 74 68 69 73 on());.}.}.else.{.$width.=.$this
ae700 2d 3e 67 65 74 43 6f 6c 75 6d 6e 57 69 64 74 68 28 24 64 65 73 63 72 69 70 74 69 6f 6e 2d 3e 67 ->getColumnWidth($description->g
ae720 65 74 43 6f 6d 6d 61 6e 64 73 28 29 29 3b 0a 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 24 61 etCommands());..$messages[].=.$a
ae740 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 48 65 6c 70 28 29 3b 0a 24 6d 65 73 73 61 67 65 73 pplication->getHelp();.$messages
ae760 5b 5d 20 3d 20 27 27 3b 0a 0a 69 66 20 28 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 [].=.'';..if.($describedNamespac
ae780 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 22 3c 63 6f 6d e).{.$messages[].=.sprintf("<com
ae7a0 6d 65 6e 74 3e 41 76 61 69 6c 61 62 6c 65 20 63 6f 6d 6d 61 6e 64 73 20 66 6f 72 20 74 68 65 20 ment>Available.commands.for.the.
ae7c0 5c 22 25 73 5c 22 20 6e 61 6d 65 73 70 61 63 65 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e 22 2c 20 24 64 \"%s\".namespace:</comment>",.$d
ae7e0 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d 65 escribedNamespace);.}.else.{.$me
ae800 73 73 61 67 65 73 5b 5d 20 3d 20 27 3c 63 6f 6d 6d 65 6e 74 3e 41 76 61 69 6c 61 62 6c 65 20 63 ssages[].=.'<comment>Available.c
ae820 6f 6d 6d 61 6e 64 73 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 3b 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 ommands:</comment>';.}....foreac
ae840 68 20 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 h.($description->getNamespaces()
ae860 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 29 20 7b 0a 69 66 20 28 21 24 64 65 73 63 72 69 62 65 .as.$namespace).{.if.(!$describe
ae880 64 4e 61 6d 65 73 70 61 63 65 20 26 26 20 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 73 63 72 69 70 dNamespace.&&.ApplicationDescrip
ae8a0 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 61 6d 65 tion::GLOBAL_NAMESPACE.!==.$name
ae8c0 73 70 61 63 65 5b 27 69 64 27 5d 29 20 7b 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 27 3c 63 space['id']).{.$messages[].=.'<c
ae8e0 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 2e 27 3c 2f 63 6f 6d omment>'.$namespace['id'].'</com
ae900 6d 65 6e 74 3e 27 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 6e 61 6d 65 73 70 61 63 65 5b 27 ment>';.}..foreach.($namespace['
ae920 63 6f 6d 6d 61 6e 64 73 27 5d 20 61 73 20 24 6e 61 6d 65 29 20 7b 0a 24 6d 65 73 73 61 67 65 73 commands'].as.$name).{.$messages
ae940 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 22 20 20 3c 69 6e 66 6f 3e 25 2d 24 7b 77 69 64 74 68 7d [].=.sprintf("..<info>%-${width}
ae960 73 3c 2f 69 6e 66 6f 3e 20 25 73 22 2c 20 24 6e 61 6d 65 2c 20 24 64 65 73 63 72 69 70 74 69 6f s</info>.%s",.$name,.$descriptio
ae980 6e 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 28 24 6e 61 6d 65 29 2d 3e 67 65 74 44 65 73 63 72 69 70 n->getCommand($name)->getDescrip
ae9a0 74 69 6f 6e 28 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 6f 75 74 70 75 74 20 3d 20 69 6d 70 6c 6f 64 tion());.}.}.}..$output.=.implod
ae9c0 65 28 22 5c 6e 22 2c 20 24 6d 65 73 73 61 67 65 73 29 3b 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 e("\n",.$messages);..return.isse
ae9e0 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 69 t($options['raw_text']).&&.$opti
aea00 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 6f 75 ons['raw_text'].?.strip_tags($ou
aea20 74 70 75 74 29 20 3a 20 24 6f 75 74 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 tput).:.$output;.}.........priva
aea40 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 6c 75 65 28 24 te.function.formatDefaultValue($
aea60 64 65 66 61 75 6c 74 29 0a 7b 0a 69 66 20 28 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 28 50 default).{.if.(version_compare(P
aea80 48 50 5f 56 45 52 53 49 4f 4e 2c 20 27 35 2e 34 27 2c 20 27 3c 27 29 29 20 7b 0a 72 65 74 75 72 HP_VERSION,.'5.4',.'<')).{.retur
aeaa0 6e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 2f 27 2c 20 27 2f 27 2c 20 6a 73 6f 6e 5f 65 6e n.str_replace('\/',.'/',.json_en
aeac0 63 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 6a 73 6f 6e 5f code($default));.}..return.json_
aeae0 65 6e 63 6f 64 65 28 24 64 65 66 61 75 6c 74 2c 20 4a 53 4f 4e 5f 55 4e 45 53 43 41 50 45 44 5f encode($default,.JSON_UNESCAPED_
aeb00 53 4c 41 53 48 45 53 20 7c 20 4a 53 4f 4e 5f 55 4e 45 53 43 41 50 45 44 5f 55 4e 49 43 4f 44 45 SLASHES.|.JSON_UNESCAPED_UNICODE
aeb20 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 74 43 );.}.......private.function.getC
aeb40 6f 6c 75 6d 6e 57 69 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 olumnWidth(array.$commands).{.$w
aeb60 69 64 74 68 20 3d 20 30 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6d 6d 61 6e 64 73 20 61 73 20 idth.=.0;.foreach.($commands.as.
aeb80 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 24 77 69 64 74 68 20 3d 20 73 74 72 6c 65 6e 28 24 63 6f 6d $command).{.$width.=.strlen($com
aeba0 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 3e 20 24 77 69 64 74 68 20 3f 20 73 74 72 6c mand->getName()).>.$width.?.strl
aebc0 65 6e 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 3a 20 24 77 69 64 74 68 en($command->getName()).:.$width
aebe0 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 77 69 64 74 68 20 2b 20 32 3b 0a 7d 0a 7d 0a 3c 3f 70 68 ;.}..return.$width.+.2;.}.}.<?ph
aec00 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
aec20 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 3b 0a 0a 75 73 65 mponent\Console\Descriptor;..use
aec40 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 41 70 70 6c 69 .Symfony\Component\Console\Appli
aec60 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 65 6e 74 5c 43 6f cation;.use.Symfony\Component\Co
aec80 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 6f nsole\Command\Command;.use.Symfo
aeca0 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
aecc0 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 5c Argument;.use.Symfony\Component\
aece0 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 75 Console\Input\InputDefinition;.u
aed00 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
aed20 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 58 6d 6c 44 ut\InputOption;.......class.XmlD
aed40 65 73 63 72 69 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 escriptor.extends.Descriptor.{..
aed60 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
aed80 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
aeda0 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()).{.
aedc0 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 31 2e 30 27 2c 20 27 $dom.=.new.\DOMDocument('1.0',.'
aede0 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 6c 64 28 24 6f 62 6a UTF-8');..$dom->appendChild($obj
aee00 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 65 6e 74 28 27 61 72 ectXML.=.$dom->createElement('ar
aee20 67 75 6d 65 6e 74 27 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 gument'));.$objectXML->setAttrib
aee40 75 74 65 28 27 6e 61 6d 65 27 2c 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 ute('name',.$argument->getName()
aee60 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_
aee80 72 65 71 75 69 72 65 64 27 2c 20 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 52 65 71 75 69 72 65 64 required',.$argument->isRequired
aeea0 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 74 74 72 ().?.1.:.0);.$objectXML->setAttr
aeec0 69 62 75 74 65 28 27 69 73 5f 61 72 72 61 79 27 2c 20 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 41 ibute('is_array',.$argument->isA
aeee0 72 72 61 79 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 61 70 70 rray().?.1.:.0);.$objectXML->app
aef00 65 6e 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 endChild($descriptionXML.=.$dom-
aef20 3e 63 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 >createElement('description'));.
aef40 24 64 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 $descriptionXML->appendChild($do
aef60 6d 2d 3e 63 72 65 61 74 65 54 65 78 74 4e 6f 64 65 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 m->createTextNode($argument->get
aef80 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 29 3b 0a 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 61 70 Description()));..$objectXML->ap
aefa0 70 65 6e 64 43 68 69 6c 64 28 24 64 65 66 61 75 6c 74 73 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 pendChild($defaultsXML.=.$dom->c
aefc0 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 64 65 66 61 75 6c 74 73 27 29 29 3b 0a 24 64 65 66 61 reateElement('defaults'));.$defa
aefe0 75 6c 74 73 20 3d 20 69 73 5f 61 72 72 61 79 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 ults.=.is_array($argument->getDe
af000 66 61 75 6c 74 28 29 29 20 3f 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 fault()).?.$argument->getDefault
af020 28 29 20 3a 20 28 69 73 5f 62 6f 6f 6c 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 ().:.(is_bool($argument->getDefa
af040 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 24 61 72 67 75 6d ult()).?.array(var_export($argum
af060 65 6e 74 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 28 24 61 72 ent->getDefault(),.true)).:.($ar
af080 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 20 3f 20 61 72 72 61 79 28 24 61 72 gument->getDefault().?.array($ar
af0a0 67 75 6d 65 6e 74 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 gument->getDefault()).:.array())
af0c0 29 3b 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 61 75 6c );.foreach.($defaults.as.$defaul
af0e0 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 64 28 24 t).{.$defaultsXML->appendChild($
af100 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 65 6e 74 defaultXML.=.$dom->createElement
af120 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 70 65 6e ('default'));.$defaultXML->appen
af140 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 64 65 66 dChild($dom->createTextNode($def
af160 61 75 6c 74 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 28 ault));.}..return.$this->output(
af180 24 64 6f 6d 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 $dom,.$options);.}.....protected
af1a0 20 66 75 6e 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 .function.describeInputOption(In
af1c0 70 75 74 4f 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 putOption.$option,.array.$option
af1e0 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 64 6f 6d 20 3d 20 6e 65 77 20 5c 44 4f 4d 44 6f s.=.array()).{.$dom.=.new.\DOMDo
af200 63 75 6d 65 6e 74 28 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 cument('1.0',.'UTF-8');..$dom->a
af220 70 70 65 6e 64 43 68 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 ppendChild($objectXML.=.$dom->cr
af240 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 6f 70 74 69 6f 6e 27 29 29 3b 0a 24 6f 62 6a 65 63 74 58 eateElement('option'));.$objectX
af260 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 27 2d 2d 27 2e 24 6f ML->setAttribute('name',.'--'.$o
af280 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 24 70 6f 73 20 3d 20 73 74 72 70 6f 73 ption->getName());.$pos.=.strpos
af2a0 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 2c 20 27 7c 27 29 3b 0a 69 ($option->getShortcut(),.'|');.i
af2c0 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 70 6f 73 29 20 7b 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d f.(false.!==.$pos).{.$objectXML-
af2e0 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 73 68 6f 72 74 63 75 74 27 2c 20 27 2d 27 2e 73 75 >setAttribute('shortcut',.'-'.su
af300 62 73 74 72 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 2c 20 30 2c 20 bstr($option->getShortcut(),.0,.
af320 24 70 6f 73 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 75 74 65 $pos));.$objectXML->setAttribute
af340 28 27 73 68 6f 72 74 63 75 74 73 27 2c 20 27 2d 27 2e 69 6d 70 6c 6f 64 65 28 27 7c 2d 27 2c 20 ('shortcuts',.'-'.implode('|-',.
af360 65 78 70 6c 6f 64 65 28 27 7c 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 explode('|',.$option->getShortcu
af380 74 28 29 29 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 73 65 74 t())));.}.else.{.$objectXML->set
af3a0 41 74 74 72 69 62 75 74 65 28 27 73 68 6f 72 74 63 75 74 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 Attribute('shortcut',.$option->g
af3c0 65 74 53 68 6f 72 74 63 75 74 28 29 20 3f 20 27 2d 27 2e 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 etShortcut().?.'-'.$option->getS
af3e0 68 6f 72 74 63 75 74 28 29 20 3a 20 27 27 29 3b 0a 7d 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 73 hortcut().:.'');.}.$objectXML->s
af400 65 74 41 74 74 72 69 62 75 74 65 28 27 61 63 63 65 70 74 5f 76 61 6c 75 65 27 2c 20 24 6f 70 74 etAttribute('accept_value',.$opt
af420 69 6f 6e 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 20 3f 20 31 20 3a 20 30 29 3b 0a 24 6f 62 ion->acceptValue().?.1.:.0);.$ob
af440 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 76 61 6c 75 65 5f jectXML->setAttribute('is_value_
af460 72 65 71 75 69 72 65 64 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 52 65 71 75 69 required',.$option->isValueRequi
af480 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 3e 73 65 74 41 red().?.1.:.0);.$objectXML->setA
af4a0 74 74 72 69 62 75 74 65 28 27 69 73 5f 6d 75 6c 74 69 70 6c 65 27 2c 20 24 6f 70 74 69 6f 6e 2d ttribute('is_multiple',.$option-
af4c0 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 58 4d 4c 2d >isArray().?.1.:.0);.$objectXML-
af4e0 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 20 3d 20 24 >appendChild($descriptionXML.=.$
af500 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 69 6f 6e 27 dom->createElement('description'
af520 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 68 69 6c 64 ));.$descriptionXML->appendChild
af540 28 24 64 6f 6d 2d 3e 63 72 65 61 74 65 54 65 78 74 4e 6f 64 65 28 24 6f 70 74 69 6f 6e 2d 3e 67 ($dom->createTextNode($option->g
af560 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 29 3b 0a 0a 69 66 20 28 24 6f 70 74 69 6f 6e 2d etDescription()));..if.($option-
af580 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 29 20 7b 0a 24 64 65 66 61 75 6c 74 73 20 3d 20 69 73 >acceptValue()).{.$defaults.=.is
af5a0 5f 61 72 72 61 79 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 20 3f 20 _array($option->getDefault()).?.
af5c0 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 20 3a 20 28 69 73 5f 62 6f 6f 6c $option->getDefault().:.(is_bool
af5e0 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 20 3f 20 61 72 72 61 79 28 ($option->getDefault()).?.array(
af600 76 61 72 5f 65 78 70 6f 72 74 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 var_export($option->getDefault()
af620 2c 20 74 72 75 65 29 29 20 3a 20 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 ,.true)).:.($option->getDefault(
af640 29 20 3f 20 61 72 72 61 79 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 ).?.array($option->getDefault())
af660 20 3a 20 61 72 72 61 79 28 29 29 29 3b 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 61 70 70 65 6e 64 .:.array()));.$objectXML->append
af680 43 68 69 6c 64 28 24 64 65 66 61 75 6c 74 73 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 Child($defaultsXML.=.$dom->creat
af6a0 65 45 6c 65 6d 65 6e 74 28 27 64 65 66 61 75 6c 74 73 27 29 29 3b 0a 0a 69 66 20 28 21 65 6d 70 eElement('defaults'));..if.(!emp
af6c0 74 79 28 24 64 65 66 61 75 6c 74 73 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 61 75 ty($defaults)).{.foreach.($defau
af6e0 6c 74 73 20 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 lts.as.$default).{.$defaultsXML-
af700 3e 61 70 70 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 >appendChild($defaultXML.=.$dom-
af720 3e 63 72 65 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 >createElement('default'));.$def
af740 61 75 6c 74 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 aultXML->appendChild($dom->creat
af760 65 54 65 78 74 4e 6f 64 65 28 24 64 65 66 61 75 6c 74 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 eTextNode($default));.}.}.}..ret
af780 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 28 24 64 6f 6d 2c 20 24 6f 70 74 69 6f 6e 73 urn.$this->output($dom,.$options
af7a0 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
af7c0 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
af7e0 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.
af800 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 64 6f 6d 20 3d 20 6e 65 77 20 5c 44 4f 4d 44 6f 63 75 =.array()).{.$dom.=.new.\DOMDocu
af820 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 2d 3e 61 70 70 65 ment('1.0',.'UTF-8');.$dom->appe
af840 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 24 64 6f 6d 2d 3e 63 ndChild($definitionXML.=.$dom->c
af860 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 29 29 3b 0a 0a 24 64 reateElement('definition'));..$d
af880 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 61 72 67 75 6d efinitionXML->appendChild($argum
af8a0 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 6d 65 6e 74 28 27 61 entsXML.=.$dom->createElement('a
af8c0 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 66 69 6e 69 74 69 6f rguments'));.foreach.($definitio
af8e0 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 75 6d 65 6e 74 29 20 n->getArguments().as.$argument).
af900 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 61 72 67 75 6d 65 6e {.$this->appendDocument($argumen
af920 74 73 58 4d 4c 2c 20 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 tsXML,.$this->describeInputArgum
af940 65 6e 74 28 24 61 72 67 75 6d 65 6e 74 2c 20 61 72 72 61 79 28 27 61 73 5f 64 6f 6d 27 20 3d 3e ent($argument,.array('as_dom'.=>
af960 20 74 72 75 65 29 29 29 3b 0a 7d 0a 0a 24 64 65 66 69 6e 69 74 69 6f 6e 58 4d 4c 2d 3e 61 70 70 .true)));.}..$definitionXML->app
af980 65 6e 64 43 68 69 6c 64 28 24 6f 70 74 69 6f 6e 73 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 endChild($optionsXML.=.$dom->cre
af9a0 61 74 65 45 6c 65 6d 65 6e 74 28 27 6f 70 74 69 6f 6e 73 27 29 29 3b 0a 66 6f 72 65 61 63 68 20 ateElement('options'));.foreach.
af9c0 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 61 73 20 24 6f ($definition->getOptions().as.$o
af9e0 70 74 69 6f 6e 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 ption).{.$this->appendDocument($
afa00 6f 70 74 69 6f 6e 73 58 4d 4c 2c 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 6e 70 75 74 optionsXML,.$this->describeInput
afa20 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 2c 20 61 72 72 61 79 28 27 61 73 5f 64 6f 6d 27 20 3d Option($option,.array('as_dom'.=
afa40 3e 20 74 72 75 65 29 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 >.true)));.}..return.$this->outp
afa60 75 74 28 24 64 6f 6d 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 ut($dom,.$options);.}.....protec
afa80 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 6d ted.function.describeCommand(Com
afaa0 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 20 mand.$command,.array.$options.=.
afac0 61 72 72 61 79 28 29 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 array()).{.$dom.=.new.\DOMDocume
afae0 6e 74 28 27 31 2e 30 27 2c 20 27 55 54 46 2d 38 27 29 3b 0a 24 64 6f 6d 2d 3e 61 70 70 65 6e 64 nt('1.0',.'UTF-8');.$dom->append
afb00 43 68 69 6c 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 Child($commandXML.=.$dom->create
afb20 45 6c 65 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 27 29 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e Element('command'));..$command->
afb40 67 65 74 53 79 6e 6f 70 73 69 73 28 29 3b 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 6d 65 72 67 65 41 70 getSynopsis();.$command->mergeAp
afb60 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 63 6f plicationDefinition(false);..$co
afb80 6d 6d 61 6e 64 58 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 69 64 27 2c 20 24 63 6f mmandXML->setAttribute('id',.$co
afba0 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 24 63 6f 6d 6d 61 6e 64 58 4d 4c 2d 3e mmand->getName());.$commandXML->
afbc0 73 65 74 41 74 74 72 69 62 75 74 65 28 27 6e 61 6d 65 27 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 setAttribute('name',.$command->g
afbe0 65 74 4e 61 6d 65 28 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 etName());..$commandXML->appendC
afc00 68 69 6c 64 28 24 75 73 61 67 65 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 hild($usageXML.=.$dom->createEle
afc20 6d 65 6e 74 28 27 75 73 61 67 65 27 29 29 3b 0a 24 75 73 61 67 65 58 4d 4c 2d 3e 61 70 70 65 6e ment('usage'));.$usageXML->appen
afc40 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 73 70 72 69 dChild($dom->createTextNode(spri
afc60 6e 74 66 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 29 2c 20 27 27 29 ntf($command->getSynopsis(),.'')
afc80 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 64 28 24 64 ));..$commandXML->appendChild($d
afca0 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 65 6d escriptionXML.=.$dom->createElem
afcc0 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 69 6f ent('description'));.$descriptio
afce0 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 54 65 nXML->appendChild($dom->createTe
afd00 78 74 4e 6f 64 65 28 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c 6e 22 2c 20 22 5c 6e 20 22 2c 20 xtNode(str_replace("\n",."\n.",.
afd20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 29 29 3b 0a 0a $command->getDescription())));..
afd40 24 63 6f 6d 6d 61 6e 64 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 68 65 6c 70 58 4d $commandXML->appendChild($helpXM
afd60 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 68 65 6c 70 27 29 29 L.=.$dom->createElement('help'))
afd80 3b 0a 24 68 65 6c 70 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 ;.$helpXML->appendChild($dom->cr
afda0 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 2c 20 22 eateTextNode(str_replace("\n",."
afdc0 5c 6e 20 22 2c 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 \n.",.$command->getProcessedHelp
afde0 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 64 ())));..$commandXML->appendChild
afe00 28 24 61 6c 69 61 73 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 ($aliasesXML.=.$dom->createEleme
afe20 6e 74 28 27 61 6c 69 61 73 65 73 27 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6d 6d 61 6e nt('aliases'));.foreach.($comman
afe40 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 20 7b 0a 24 61 6c d->getAliases().as.$alias).{.$al
afe60 69 61 73 65 73 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 61 6c 69 61 73 58 4d 4c 20 iasesXML->appendChild($aliasXML.
afe80 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 61 6c 69 61 73 27 29 29 3b =.$dom->createElement('alias'));
afea0 0a 24 61 6c 69 61 73 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 .$aliasXML->appendChild($dom->cr
afec0 65 61 74 65 54 65 78 74 4e 6f 64 65 28 24 61 6c 69 61 73 29 29 3b 0a 7d 0a 0a 24 64 65 66 69 6e eateTextNode($alias));.}..$defin
afee0 69 74 69 6f 6e 58 4d 4c 20 3d 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 6e 70 75 74 44 itionXML.=.$this->describeInputD
aff00 65 66 69 6e 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 efinition($command->getNativeDef
aff20 69 6e 69 74 69 6f 6e 28 29 2c 20 61 72 72 61 79 28 27 61 73 5f 64 6f 6d 27 20 3d 3e 20 74 72 75 inition(),.array('as_dom'.=>.tru
aff40 65 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 6d e));.$this->appendDocument($comm
aff60 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 65 andXML,.$definitionXML->getEleme
aff80 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 6d ntsByTagName('definition')->item
affa0 28 30 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 28 24 64 6f 6d (0));..return.$this->output($dom
affc0 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 75 6e ,.$options);.}.....protected.fun
affe0 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 28 41 70 70 6c 69 63 ction.describeApplication(Applic
b0000 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 20 24 6f 70 74 69 6f ation.$application,.array.$optio
b0020 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 64 6f 6d 20 3d 20 6e 65 77 20 5c 44 4f 4d 44 ns.=.array()).{.$dom.=.new.\DOMD
b0040 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 2d 3e 61 ocument('1.0',.'UTF-8');.$dom->a
b0060 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 63 72 65 61 ppendChild($rootXml.=.$dom->crea
b0080 74 65 45 6c 65 6d 65 6e 74 28 27 73 79 6d 66 6f 6e 79 27 29 29 3b 0a 24 72 6f 6f 74 58 6d 6c 2d teElement('symfony'));.$rootXml-
b00a0 3e 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 >appendChild($commandsXML.=.$dom
b00c0 2d 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 ->createElement('commands'));..$
b00e0 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 74 28 24 6f 70 74 69 describedNamespace.=.isset($opti
b0100 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 6f 6e 73 5b 27 6e 61 ons['namespace']).?.$options['na
b0120 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 70 74 69 6f 6e 20 3d mespace'].:.null;.$description.=
b0140 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 6f 6e 28 24 61 70 70 .new.ApplicationDescription($app
b0160 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 70 61 63 65 29 3b 0a lication,.$describedNamespace);.
b0180 0a 69 66 20 28 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 29 20 7b 0a 24 63 6f 6d .if.($describedNamespace).{.$com
b01a0 6d 61 6e 64 73 58 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 mandsXML->setAttribute('namespac
b01c0 65 27 2c 20 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 29 3b 0a 7d 0a 0a 66 6f 72 e',.$describedNamespace);.}..for
b01e0 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(
b0200 29 20 61 73 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 24 74 68 69 73 2d 3e 61 70 70 65 6e 64 44 6f ).as.$command).{.$this->appendDo
b0220 63 75 6d 65 6e 74 28 24 63 6f 6d 6d 61 6e 64 73 58 4d 4c 2c 20 24 74 68 69 73 2d 3e 64 65 73 63 cument($commandsXML,.$this->desc
b0240 72 69 62 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 2c 20 61 72 72 61 79 28 27 61 73 5f ribeCommand($command,.array('as_
b0260 64 6f 6d 27 20 3d 3e 20 74 72 75 65 29 29 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 64 65 73 63 72 69 dom'.=>.true)));.}..if.(!$descri
b0280 62 65 64 4e 61 6d 65 73 70 61 63 65 29 20 7b 0a 24 72 6f 6f 74 58 6d 6c 2d 3e 61 70 70 65 6e 64 bedNamespace).{.$rootXml->append
b02a0 43 68 69 6c 64 28 24 6e 61 6d 65 73 70 61 63 65 73 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 Child($namespacesXML.=.$dom->cre
b02c0 61 74 65 45 6c 65 6d 65 6e 74 28 27 6e 61 6d 65 73 70 61 63 65 73 27 29 29 3b 0a 0a 66 6f 72 65 ateElement('namespaces'));..fore
b02e0 61 63 68 20 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 ach.($description->getNamespaces
b0300 28 29 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 29 20 7b 0a 24 6e 61 6d 65 73 70 61 63 65 73 58 ().as.$namespace).{.$namespacesX
b0320 4d 4c 2d 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 ML->appendChild($namespaceArrayX
b0340 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 6d 65 73 70 ML.=.$dom->createElement('namesp
b0360 61 63 65 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 ace'));.$namespaceArrayXML->setA
b0380 74 74 72 69 62 75 74 65 28 27 69 64 27 2c 20 24 6e 61 6d 65 73 70 61 63 65 5b 27 69 64 27 5d 29 ttribute('id',.$namespace['id'])
b03a0 3b 0a 0a 66 6f 72 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 ;..foreach.($namespace['commands
b03c0 27 5d 20 61 73 20 24 6e 61 6d 65 29 20 7b 0a 24 6e 61 6d 65 73 70 61 63 65 41 72 72 61 79 58 4d '].as.$name).{.$namespaceArrayXM
b03e0 4c 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 L->appendChild($commandXML.=.$do
b0400 6d 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 24 63 m->createElement('command'));.$c
b0420 6f 6d 6d 61 6e 64 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 ommandXML->appendChild($dom->cre
b0440 61 74 65 54 65 78 74 4e 6f 64 65 28 24 6e 61 6d 65 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 ateTextNode($name));.}.}.}..retu
b0460 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 28 24 64 6f 6d 2c 20 24 6f 70 74 69 6f 6e 73 29 rn.$this->output($dom,.$options)
b0480 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 61 70 70 65 ;.}........private.function.appe
b04a0 6e 64 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 ndDocument(\DOMNode.$parentNode,
b04c0 20 5c 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 .\DOMNode.$importedParent).{.for
b04e0 65 61 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 each.($importedParent->childNode
b0500 73 20 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 s.as.$childNode).{.$parentNode->
b0520 61 70 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 appendChild($parentNode->ownerDo
b0540 63 75 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 cument->importNode($childNode,.t
b0560 72 75 65 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 rue));.}.}..........private.func
b0580 74 69 6f 6e 20 6f 75 74 70 75 74 28 5c 44 4f 4d 44 6f 63 75 6d 65 6e 74 20 24 64 6f 6d 2c 20 61 tion.output(\DOMDocument.$dom,.a
b05a0 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 rray.$options).{.if.(isset($opti
b05c0 6f 6e 73 5b 27 61 73 5f 64 6f 6d 27 5d 29 20 26 26 20 24 6f 70 74 69 6f 6e 73 5b 27 61 73 5f 64 ons['as_dom']).&&.$options['as_d
b05e0 6f 6d 27 5d 29 20 7b 0a 72 65 74 75 72 6e 20 24 64 6f 6d 3b 0a 7d 0a 0a 24 64 6f 6d 2d 3e 66 6f om']).{.return.$dom;.}..$dom->fo
b0600 72 6d 61 74 4f 75 74 70 75 74 20 3d 20 74 72 75 65 3b 0a 0a 72 65 74 75 72 6e 20 24 64 6f 6d 2d rmatOutput.=.true;..return.$dom-
b0620 3e 73 61 76 65 58 4d 4c 28 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a >saveXML();.}.}.<?php...........
b0640 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
b0660 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
b0680 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.
b06a0 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
b06c0 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
b06e0 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
b0700 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
b0720 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
b0740 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
b0760 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4d 61 72 6b 64 6f 77 6e 44 65 73 63 72 69 70 74 on;.......class.MarkdownDescript
b0780 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 74 65 or.extends.Descriptor.{....prote
b07a0 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 75 6d cted.function.describeInputArgum
b07c0 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 72 72 ent(InputArgument.$argument,.arr
b07e0 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 72 65 74 75 72 6e 20 ay.$options.=.array()).{.return.
b0800 27 2a 2a 27 2e 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 3a 2a 2a 27 2e '**'.$argument->getName().':**'.
b0820 22 5c 6e 5c 6e 22 0a 2e 27 2a 20 4e 61 6d 65 3a 20 27 2e 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 "\n\n"..'*.Name:.'.($argument->g
b0840 65 74 4e 61 6d 65 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 49 etName().?:.'<none>')."\n"..'*.I
b0860 73 20 72 65 71 75 69 72 65 64 3a 20 27 2e 28 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 52 65 71 75 s.required:.'.($argument->isRequ
b0880 69 72 65 64 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 20 ired().?.'yes'.:.'no')."\n"..'*.
b08a0 49 73 20 61 72 72 61 79 3a 20 27 2e 28 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 41 72 72 61 79 28 Is.array:.'.($argument->isArray(
b08c0 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 20 44 65 73 63 72 ).?.'yes'.:.'no')."\n"..'*.Descr
b08e0 69 70 74 69 6f 6e 3a 20 27 2e 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 73 63 72 69 70 iption:.'.($argument->getDescrip
b0900 74 69 6f 6e 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 tion().?:.'<none>')."\n"..'*.Def
b0920 61 75 6c 74 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 ault:.`'.str_replace("\n",.'',.v
b0940 61 72 5f 65 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 ar_export($argument->getDefault(
b0960 29 2c 20 74 72 75 65 29 29 2e 27 60 27 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 ),.true)).'`';.}.....protected.f
b0980 75 6e 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 unction.describeInputOption(Inpu
b09a0 74 4f 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 tOption.$option,.array.$options.
b09c0 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 27 2a 2a 27 2e 24 6f 70 74 69 6f 6e =.array()).{.return.'**'.$option
b09e0 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 20 4e 61 6d ->getName().':**'."\n\n"..'*.Nam
b0a00 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 27 60 27 2e 22 e:.`--'.$option->getName().'`'."
b0a20 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 6e 2d 3e 67 65 \n"..'*.Shortcut:.'.($option->ge
b0a40 74 53 68 6f 72 74 63 75 74 28 29 20 3f 20 27 60 2d 27 2e 69 6d 70 6c 6f 64 65 28 27 7c 2d 27 2c tShortcut().?.'`-'.implode('|-',
b0a60 20 65 78 70 6c 6f 64 65 28 27 7c 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 .explode('|',.$option->getShortc
b0a80 75 74 28 29 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 ut())).'`'.:.'<none>')."\n"..'*.
b0aa0 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
b0ac0 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"..'*
b0ae0 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->
b0b00 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'
b0b20 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
b0b40 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')."\
b0b60 6e 22 0a 2e 27 2a 20 44 65 73 63 72 69 70 74 69 6f 6e 3a 20 27 2e 28 24 6f 70 74 69 6f 6e 2d 3e n"..'*.Description:.'.($option->
b0b80 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 3e 27 29 2e 22 5c getDescription().?:.'<none>')."\
b0ba0 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 6c 61 63 65 28 22 n"..'*.Default:.`'.str_replace("
b0bc0 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 6e 2d 3e 67 65 74 \n",.'',.var_export($option->get
b0be0 44 65 66 61 75 6c 74 28 29 2c 20 74 72 75 65 29 29 2e 27 60 27 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f Default(),.true)).'`';.}.....pro
b0c00 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 44 65 66 tected.function.describeInputDef
b0c20 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 69 74 inition(InputDefinition.$definit
b0c40 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 0a 7b ion,.array.$options.=.array()).{
b0c60 0a 24 62 6c 6f 63 6b 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 .$blocks.=.array();..if.(count($
b0c80 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 3e 20 30 29 definition->getArguments()).>.0)
b0ca0 20 7b 0a 24 62 6c 6f 63 6b 73 5b 5d 20 3d 20 27 23 23 23 20 41 72 67 75 6d 65 6e 74 73 3a 27 3b .{.$blocks[].=.'###.Arguments:';
b0cc0 0a 66 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 .foreach.($definition->getArgume
b0ce0 6e 74 73 28 29 20 61 73 20 24 61 72 67 75 6d 65 6e 74 29 20 7b 0a 24 62 6c 6f 63 6b 73 5b 5d 20 nts().as.$argument).{.$blocks[].
b0d00 3d 20 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 =.$this->describeInputArgument($
b0d20 61 72 67 75 6d 65 6e 74 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 64 65 66 69 6e argument);.}.}..if.(count($defin
b0d40 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 24 62 6c 6f ition->getOptions()).>.0).{.$blo
b0d60 63 6b 73 5b 5d 20 3d 20 27 23 23 23 20 4f 70 74 69 6f 6e 73 3a 27 3b 0a 66 6f 72 65 61 63 68 20 cks[].=.'###.Options:';.foreach.
b0d80 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 61 73 20 24 6f ($definition->getOptions().as.$o
b0da0 70 74 69 6f 6e 29 20 7b 0a 24 62 6c 6f 63 6b 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 64 65 73 63 ption).{.$blocks[].=.$this->desc
b0dc0 72 69 62 65 49 6e 70 75 74 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 3b 0a 7d 0a 7d 0a 0a 72 ribeInputOption($option);.}.}..r
b0de0 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 22 5c 6e 5c 6e 22 2c 20 24 62 6c 6f 63 6b 73 29 3b 0a eturn.implode("\n\n",.$blocks);.
b0e00 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
b0e20 65 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 61 72 72 61 79 eCommand(Command.$command,.array
b0e40 20 24 6f 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 .$options.=.array()).{.$command-
b0e60 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 3e 6d 65 72 67 65 41 >getSynopsis();.$command->mergeA
b0e80 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 65 29 3b 0a 0a 24 6d pplicationDefinition(false);..$m
b0ea0 61 72 6b 64 6f 77 6e 20 3d 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 22 5c arkdown.=.$command->getName()."\
b0ec0 6e 22 0a 2e 73 74 72 5f 72 65 70 65 61 74 28 27 2d 27 2c 20 73 74 72 6c 65 6e 28 24 63 6f 6d 6d n"..str_repeat('-',.strlen($comm
b0ee0 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 2e 22 5c 6e 5c 6e 22 0a 2e 27 2a 20 44 65 73 63 and->getName()))."\n\n"..'*.Desc
b0f00 72 69 70 74 69 6f 6e 3a 20 27 2e 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 44 65 73 63 72 69 70 ription:.'.($command->getDescrip
b0f20 74 69 6f 6e 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 55 73 61 tion().?:.'<none>')."\n"..'*.Usa
b0f40 67 65 3a 20 60 27 2e 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 29 2e 27 ge:.`'.$command->getSynopsis().'
b0f60 60 27 2e 22 5c 6e 22 0a 2e 27 2a 20 41 6c 69 61 73 65 73 3a 20 27 2e 28 63 6f 75 6e 74 28 24 63 `'."\n"..'*.Aliases:.'.(count($c
b0f80 6f 6d 6d 61 6e 64 2d 3e 67 65 74 41 6c 69 61 73 65 73 28 29 29 20 3f 20 27 60 27 2e 69 6d 70 6c ommand->getAliases()).?.'`'.impl
b0fa0 6f 64 65 28 27 60 2c 20 60 27 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 41 6c 69 61 73 65 73 ode('`,.`',.$command->getAliases
b0fc0 28 29 29 2e 27 60 27 20 3a 20 27 3c 6e 6f 6e 65 3e 27 29 3b 0a 0a 69 66 20 28 24 68 65 6c 70 20 ()).'`'.:.'<none>');..if.($help.
b0fe0 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 29 29 20 =.$command->getProcessedHelp()).
b1000 7b 0a 24 6d 61 72 6b 64 6f 77 6e 20 2e 3d 20 22 5c 6e 5c 6e 22 2e 24 68 65 6c 70 3b 0a 7d 0a 0a {.$markdown..=."\n\n".$help;.}..
b1020 69 66 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 4d 61 72 6b 64 6f 77 6e 20 3d 20 24 74 68 69 73 2d if.($definitionMarkdown.=.$this-
b1040 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 24 63 6f 6d 6d 61 6e >describeInputDefinition($comman
b1060 64 2d 3e 67 65 74 4e 61 74 69 76 65 44 65 66 69 6e 69 74 69 6f 6e 28 29 29 29 20 7b 0a 24 6d 61 d->getNativeDefinition())).{.$ma
b1080 72 6b 64 6f 77 6e 20 2e 3d 20 22 5c 6e 5c 6e 22 2e 24 64 65 66 69 6e 69 74 69 6f 6e 4d 61 72 6b rkdown..=."\n\n".$definitionMark
b10a0 64 6f 77 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6d 61 72 6b 64 6f 77 6e 3b 0a 7d 0a 0a 0a 0a down;.}..return.$markdown;.}....
b10c0 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 41 70 70 6c .protected.function.describeAppl
b10e0 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 61 74 69 6f 6e ication(Application.$application
b1100 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 64 ,.array.$options.=.array()).{.$d
b1120 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 20 3d 20 69 73 73 65 74 28 24 6f 70 74 69 6f escribedNamespace.=.isset($optio
b1140 6e 73 5b 27 6e 61 6d 65 73 70 61 63 65 27 5d 29 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 6e 61 6d ns['namespace']).?.$options['nam
b1160 65 73 70 61 63 65 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 espace'].:.null;.$description.=.
b1180 6e 65 77 20 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 73 63 72 69 70 74 69 6f 6e 28 24 61 70 70 6c new.ApplicationDescription($appl
b11a0 69 63 61 74 69 6f 6e 2c 20 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 29 3b 0a 24 ication,.$describedNamespace);.$
b11c0 62 6c 6f 63 6b 73 20 3d 20 61 72 72 61 79 28 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 blocks.=.array($application->get
b11e0 4e 61 6d 65 28 29 2e 22 5c 6e 22 2e 73 74 72 5f 72 65 70 65 61 74 28 27 3d 27 2c 20 73 74 72 6c Name()."\n".str_repeat('=',.strl
b1200 65 6e 28 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 29 3b 0a 0a en($application->getName())));..
b1220 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 61 6d 65 73 70 foreach.($description->getNamesp
b1240 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 28 41 70 70 6c aces().as.$namespace).{.if.(Appl
b1260 69 63 61 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 icationDescription::GLOBAL_NAMES
b1280 50 41 43 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 62 6c PACE.!==.$namespace['id']).{.$bl
b12a0 6f 63 6b 73 5b 5d 20 3d 20 27 2a 2a 27 2e 24 6e 61 6d 65 73 70 61 63 65 5b 27 69 64 27 5d 2e 27 ocks[].=.'**'.$namespace['id'].'
b12c0 3a 2a 2a 27 3b 0a 7d 0a 0a 24 62 6c 6f 63 6b 73 5b 5d 20 3d 20 69 6d 70 6c 6f 64 65 28 22 5c 6e :**';.}..$blocks[].=.implode("\n
b12e0 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 61 6e 64 4e ",.array_map(function.($commandN
b1300 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 61 6d 65 3b ame).{.return.'*.'.$commandName;
b1320 0a 7d 20 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 3b 0a 7d .}.,.$namespace['commands']));.}
b1340 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 43 6f 6d 6d ..foreach.($description->getComm
b1360 61 6e 64 73 28 29 20 61 73 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 24 62 6c 6f 63 6b 73 5b 5d 20 ands().as.$command).{.$blocks[].
b1380 3d 20 24 74 68 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 =.$this->describeCommand($comman
b13a0 64 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 22 5c 6e 5c 6e 22 2c 20 24 62 d);.}..return.implode("\n\n",.$b
b13c0 6c 6f 63 6b 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 locks);.}.}.<?php...........name
b13e0 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 5c space.Symfony\Component\Console\
b1400 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 70 6f 6e 65 Descriptor;..use.Symfony\Compone
b1420 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 66 nt\Console\Application;.use.Symf
b1440 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 43 6f ony\Component\Console\Command\Co
b1460 6d 6d 61 6e 64 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 73 63 mmand;.....class.ApplicationDesc
b1480 72 69 70 74 69 6f 6e 0a 7b 0a 63 6f 6e 73 74 20 47 4c 4f 42 41 4c 5f 4e 41 4d 45 53 50 41 43 45 ription.{.const.GLOBAL_NAMESPACE
b14a0 20 3d 20 27 5f 67 6c 6f 62 61 6c 27 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 61 70 70 6c 69 .=.'_global';.....private.$appli
b14c0 63 61 74 69 6f 6e 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6e 61 6d 65 73 70 61 63 65 3b 0a cation;.....private.$namespace;.
b14e0 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6e 61 6d 65 73 70 61 63 65 73 3b 0a 0a 0a 0a 0a 70 72 69 ....private.$namespaces;.....pri
b1500 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 73 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 61 6c 69 vate.$commands;.....private.$ali
b1520 61 73 65 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 ases;........public.function.__c
b1540 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 74 69 6f onstruct(Application.$applicatio
b1560 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 73 2d 3e 61 n,.$namespace.=.null).{.$this->a
b1580 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 74 68 69 73 pplication.=.$application;.$this
b15a0 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 0a 0a 0a 0a ->namespace.=.$namespace;.}.....
b15c0 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 73 28 29 0a public.function.getNamespaces().
b15e0 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 61 63 65 73 {.if.(null.===.$this->namespaces
b1600 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 6e 28 29 3b ).{.$this->inspectApplication();
b1620 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 3b 0a 7d 0a .}..return.$this->namespaces;.}.
b1640 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 73 28 ....public.function.getCommands(
b1660 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 61 6e 64 73 ).{.if.(null.===.$this->commands
b1680 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 6e 28 29 3b ).{.$this->inspectApplication();
b16a0 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 7d 0a 0a 0a .}..return.$this->commands;.}...
b16c0 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
b16e0 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 63 6f 6d 6d ($name).{.if.(!isset($this->comm
b1700 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 2d 3e 61 6c ands[$name]).&&.!isset($this->al
b1720 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 5c 49 6e 76 61 iases[$name])).{.throw.new.\Inva
b1740 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 43 6f lidArgumentException(sprintf('Co
b1760 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 61 6d 65 mmand.%s.does.not.exist.',.$name
b1780 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 6d 6d 61 ));.}..return.isset($this->comma
b17a0 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 5b 24 6e nds[$name]).?.$this->commands[$n
b17c0 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 0a 7d 0a ame].:.$this->aliases[$name];.}.
b17e0 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 69 63 61 .private.function.inspectApplica
b1800 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 72 61 79 tion().{.$this->commands.=.array
b1820 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 28 29 3b ();.$this->namespaces.=.array();
b1840 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 61 6c 6c ..$all.=.$this->application->all
b1860 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 70 6c 69 ($this->namespace.?.$this->appli
b1880 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 6e 61 6d cation->findNamespace($this->nam
b18a0 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 69 73 2d espace).:.null);.foreach.($this-
b18c0 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 70 61 63 >sortCommands($all).as.$namespac
b18e0 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 72 61 79 e.=>.$commands).{.$names.=.array
b1900 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 6e 61 6d ();...foreach.($commands.as.$nam
b1920 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 64 2d 3e e.=>.$command).{.if.(!$command->
b1940 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 28 24 63 getName()).{.continue;.}..if.($c
b1960 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 7b 0a 24 ommand->getName().===.$name).{.$
b1980 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 61 6e 64 this->commands[$name].=.$command
b19a0 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 6d 65 5d ;.}.else.{.$this->aliases[$name]
b19c0 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 61 6d 65 .=.$command;.}..$names[].=.$name
b19e0 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 70 61 63 ;.}..$this->namespaces[$namespac
b1a00 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 2c 20 27 e].=.array('id'.=>.$namespace,.'
b1a20 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 0a 0a 0a commands'.=>.$names);.}.}.......
b1a40 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 72 private.function.sortCommands(ar
b1a60 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 6d ray.$commands).{.$namespacedComm
b1a80 61 6e 64 73 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 ands.=.array();.foreach.($comman
b1aa0 64 73 20 61 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 ds.as.$name.=>.$command).{.$key.
b1ac0 3d 20 24 74 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 =.$this->application->extractNam
b1ae0 65 73 70 61 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 espace($name,.1);.if.(!$key).{.$
b1b00 6b 65 79 20 3d 20 27 5f 67 6c 6f 62 61 6c 27 3b 0a 7d 0a 0a 24 6e 61 6d 65 73 70 61 63 65 64 43 key.=.'_global';.}..$namespacedC
b1b20 6f 6d 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 ommands[$key][$name].=.$command;
b1b40 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 0a .}.ksort($namespacedCommands);..
b1b60 66 6f 72 65 61 63 68 20 28 24 6e 61 6d 65 73 70 61 63 65 64 43 6f 6d 6d 61 6e 64 73 20 61 73 20 foreach.($namespacedCommands.as.
b1b80 26 24 63 6f 6d 6d 61 6e 64 73 29 20 7b 0a 6b 73 6f 72 74 28 24 63 6f 6d 6d 61 6e 64 73 29 3b 0a &$commands).{.ksort($commands);.
b1ba0 7d 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 6e 64 73 3b 0a 7d }..return.$namespacedCommands;.}
b1bc0 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
b1be0 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
b1c00 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 6c r;..use.Symfony\Component\Consol
b1c20 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 6d 70 6f e\Application;.use.Symfony\Compo
b1c40 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
b1c60 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
b1c80 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 43 6f 6d t\InputArgument;.use.Symfony\Com
b1ca0 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 44 65 66 69 6e 69 ponent\Console\Input\InputDefini
b1cc0 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
b1ce0 6f 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 61 62 73 74 72 ole\Input\InputOption;.....abstr
b1d00 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.
b1d20 44 65 73 63 72 69 70 74 6f 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e DescriptorInterface.{.public.fun
b1d40 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 28 24 6f 62 6a 65 63 74 2c 20 61 72 72 61 79 20 24 6f ction.describe($object,.array.$o
b1d60 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 73 77 69 74 63 68 20 28 74 72 75 65 ptions.=.array()).{.switch.(true
b1d80 29 20 7b 0a 63 61 73 65 20 24 6f 62 6a 65 63 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 49 6e 70 75 ).{.case.$object.instanceof.Inpu
b1da0 74 41 72 67 75 6d 65 6e 74 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 tArgument:.return.$this->describ
b1dc0 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 69 6f 6e 73 eInputArgument($object,.$options
b1de0 29 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 20 49 6e 70 75 74 );.case.$object.instanceof.Input
b1e00 4f 70 74 69 6f 6e 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 6e Option:.return.$this->describeIn
b1e20 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 3b 0a 63 61 putOption($object,.$options);.ca
b1e40 73 65 20 24 6f 62 6a 65 63 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 49 6e 70 75 74 44 65 66 69 6e se.$object.instanceof.InputDefin
b1e60 69 74 69 6f 6e 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 6e 70 ition:.return.$this->describeInp
b1e80 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 6e 73 29 3b utDefinition($object,.$options);
b1ea0 0a 63 61 73 65 20 24 6f 62 6a 65 63 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 6d 61 6e 64 .case.$object.instanceof.Command
b1ec0 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 43 6f 6d 6d 61 6e 64 28 :.return.$this->describeCommand(
b1ee0 24 6f 62 6a 65 63 74 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 63 61 73 65 20 24 6f 62 6a 65 63 74 $object,.$options);.case.$object
b1f00 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 70 70 6c 69 63 61 74 69 6f 6e 3a 0a 72 65 74 75 72 6e 20 .instanceof.Application:.return.
b1f20 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 6f 62 6a 65 $this->describeApplication($obje
b1f40 63 74 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 ct,.$options);.}..throw.new.\Inv
b1f60 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 4f alidArgumentException(sprintf('O
b1f80 62 6a 65 63 74 20 6f 66 20 74 79 70 65 20 22 25 73 22 20 69 73 20 6e 6f 74 20 64 65 73 63 72 69 bject.of.type."%s".is.not.descri
b1fa0 62 61 62 6c 65 2e 27 2c 20 67 65 74 5f 63 6c 61 73 73 28 24 6f 62 6a 65 63 74 29 29 29 3b 0a 7d bable.',.get_class($object)));.}
b1fc0 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 75 6e ..........abstract.protected.fun
b1fe0 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 70 75 ction.describeInputArgument(Inpu
b2000 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 74 69 tArgument.$argument,.array.$opti
b2020 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 ons.=.array());..........abstrac
b2040 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 70 t.protected.function.describeInp
b2060 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 72 utOption(InputOption.$option,.ar
b2080 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 0a ray.$options.=.array());........
b20a0 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 64 65 ..abstract.protected.function.de
b20c0 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 6e scribeInputDefinition(InputDefin
b20e0 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 6e ition.$definition,.array.$option
b2100 73 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 s.=.array());..........abstract.
b2120 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 6d 6d 61 protected.function.describeComma
b2140 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 70 74 69 nd(Command.$command,.array.$opti
b2160 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 ons.=.array());..........abstrac
b2180 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 41 70 70 t.protected.function.describeApp
b21a0 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 61 74 69 6f lication(Application.$applicatio
b21c0 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 3b 0a 7d 0a n,.array.$options.=.array());.}.
b21e0 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
b2200 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 3b 0a y\Component\Console\Descriptor;.
b2220 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 41 .use.Symfony\Component\Console\A
b2240 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 65 6e pplication;.use.Symfony\Componen
b2260 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 20 53 t\Console\Command\Command;.use.S
b2280 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
b22a0 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
b22c0 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 69 6f ent\Console\Input\InputDefinitio
b22e0 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
b2300 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 63 6c 61 73 73 20 \Input\InputOption;.......class.
b2320 4a 73 6f 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 70 74 6f JsonDescriptor.extends.Descripto
b2340 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 63 72 69 r.{....protected.function.descri
b2360 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 20 24 61 beInputArgument(InputArgument.$a
b2380 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 61 79 28 rgument,.array.$options.=.array(
b23a0 29 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 28 61 72 72 61 79 28 )).{.return.$this->output(array(
b23c0 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 2c .'name'.=>.$argument->getName(),
b23e0 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 52 .'is_required'.=>.$argument->isR
b2400 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 65 equired(),.'is_array'.=>.$argume
b2420 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 20 nt->isArray(),.'description'.=>.
b2440 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 2c 0a 27 64 65 $argument->getDescription(),.'de
b2460 66 61 75 6c 74 27 20 3d 3e 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 fault'.=>.$argument->getDefault(
b2480 29 2c 0a 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 ),.),.$options);.}.....protected
b24a0 20 66 75 6e 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 .function.describeInputOption(In
b24c0 70 75 74 4f 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 putOption.$option,.array.$option
b24e0 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 73 2d 3e 6f 75 74 s.=.array()).{.return.$this->out
b2500 70 75 74 28 61 72 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 put(array(.'name'.=>.'--'.$optio
b2520 6e 2d 3e 67 65 74 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 n->getName(),.'shortcut'.=>.$opt
b2540 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 20 3f 20 27 2d 27 2e 69 6d 70 6c 6f 64 65 ion->getShortcut().?.'-'.implode
b2560 28 27 7c 2d 27 2c 20 65 78 70 6c 6f 64 65 28 27 7c 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 ('|-',.explode('|',.$option->get
b2580 53 68 6f 72 74 63 75 74 28 29 29 29 20 3a 20 27 27 2c 0a 27 61 63 63 65 70 74 5f 76 61 6c 75 65 Shortcut())).:.'',.'accept_value
b25a0 27 20 3d 3e 20 24 6f 70 74 69 6f 6e 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 2c 0a 27 69 73 '.=>.$option->acceptValue(),.'is
b25c0 5f 76 61 6c 75 65 5f 72 65 71 75 69 72 65 64 27 20 3d 3e 20 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 _value_required'.=>.$option->isV
b25e0 61 6c 75 65 52 65 71 75 69 72 65 64 28 29 2c 0a 27 69 73 5f 6d 75 6c 74 69 70 6c 65 27 20 3d 3e alueRequired(),.'is_multiple'.=>
b2600 20 24 6f 70 74 69 6f 6e 2d 3e 69 73 41 72 72 61 79 28 29 2c 0a 27 64 65 73 63 72 69 70 74 69 6f .$option->isArray(),.'descriptio
b2620 6e 27 20 3d 3e 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 29 2c n'.=>.$option->getDescription(),
b2640 0a 27 64 65 66 61 75 6c 74 27 20 3d 3e 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c .'default'.=>.$option->getDefaul
b2660 74 28 29 2c 0a 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 t(),.),.$options);.}.....protect
b2680 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 44 65 66 69 6e 69 74 ed.function.describeInputDefinit
b26a0 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 69 74 69 6f 6e 2c ion(InputDefinition.$definition,
b26c0 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 69 6e .array.$options.=.array()).{.$in
b26e0 70 75 74 41 72 67 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 putArguments.=.array();.foreach.
b2700 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 20 61 73 20 ($definition->getArguments().as.
b2720 24 6e 61 6d 65 20 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 $name.=>.$argument).{.$inputArgu
b2740 6d 65 6e 74 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 6e ments[$name].=.$this->describeIn
b2760 70 75 74 41 72 67 75 6d 65 6e 74 28 24 61 72 67 75 6d 65 6e 74 2c 20 61 72 72 61 79 28 27 61 73 putArgument($argument,.array('as
b2780 5f 61 72 72 61 79 27 20 3d 3e 20 74 72 75 65 29 29 3b 0a 7d 0a 0a 24 69 6e 70 75 74 4f 70 74 69 _array'.=>.true));.}..$inputOpti
b27a0 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 69 6e 69 74 ons.=.array();.foreach.($definit
b27c0 69 6f 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 ion->getOptions().as.$name.=>.$o
b27e0 70 74 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 ption).{.$inputOptions[$name].=.
b2800 24 74 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 $this->describeInputOption($opti
b2820 6f 6e 2c 20 61 72 72 61 79 28 27 61 73 5f 61 72 72 61 79 27 20 3d 3e 20 74 72 75 65 29 29 3b 0a on,.array('as_array'.=>.true));.
b2840 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 28 61 72 72 61 79 28 27 61 }..return.$this->output(array('a
b2860 72 67 75 6d 65 6e 74 73 27 20 3d 3e 20 24 69 6e 70 75 74 41 72 67 75 6d 65 6e 74 73 2c 20 27 6f rguments'.=>.$inputArguments,.'o
b2880 70 74 69 6f 6e 73 27 20 3d 3e 20 24 69 6e 70 75 74 4f 70 74 69 6f 6e 73 29 2c 20 24 6f 70 74 69 ptions'.=>.$inputOptions),.$opti
b28a0 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
b28c0 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 64 2c escribeCommand(Command.$command,
b28e0 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 63 6f .array.$options.=.array()).{.$co
b2900 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 3e mmand->getSynopsis();.$command->
b2920 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 65 mergeApplicationDefinition(false
b2940 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 28 61 72 72 61 79 28 0a );..return.$this->output(array(.
b2960 27 6e 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 'name'.=>.$command->getName(),.'
b2980 75 73 61 67 65 27 20 3d 3e 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 usage'.=>.$command->getSynopsis(
b29a0 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 65 ),.'description'.=>.$command->ge
b29c0 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 61 tDescription(),.'help'.=>.$comma
b29e0 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 61 6c 69 61 73 65 73 nd->getProcessedHelp(),.'aliases
b2a00 27 20 3d 3e 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 41 6c 69 61 73 65 73 28 29 2c 0a 27 64 65 '.=>.$command->getAliases(),.'de
b2a20 66 69 6e 69 74 69 6f 6e 27 20 3d 3e 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 6e 70 75 finition'.=>.$this->describeInpu
b2a40 74 44 65 66 69 6e 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 tDefinition($command->getNativeD
b2a60 65 66 69 6e 69 74 69 6f 6e 28 29 2c 20 61 72 72 61 79 28 27 61 73 5f 61 72 72 61 79 27 20 3d 3e efinition(),.array('as_array'.=>
b2a80 20 74 72 75 65 29 29 2c 0a 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f .true)),.),.$options);.}.....pro
b2aa0 74 65 63 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 tected.function.describeApplicat
b2ac0 69 6f 6e 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 ion(Application.$application,.ar
b2ae0 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 64 65 73 63 72 ray.$options.=.array()).{.$descr
b2b00 69 62 65 64 4e 61 6d 65 73 70 61 63 65 20 3d 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 ibedNamespace.=.isset($options['
b2b20 6e 61 6d 65 73 70 61 63 65 27 5d 29 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 6e 61 6d 65 73 70 61 namespace']).?.$options['namespa
b2b40 63 65 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 6e 65 77 20 ce'].:.null;.$description.=.new.
b2b60 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 73 63 72 69 70 74 69 6f 6e 28 24 61 70 70 6c 69 63 61 74 ApplicationDescription($applicat
b2b80 69 6f 6e 2c 20 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 29 3b 0a 24 63 6f 6d 6d ion,.$describedNamespace);.$comm
b2ba0 61 6e 64 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 64 65 73 63 72 ands.=.array();..foreach.($descr
b2bc0 69 70 74 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 iption->getCommands().as.$comman
b2be0 64 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 d).{.$commands[].=.$this->descri
b2c00 62 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 2c 20 61 72 72 61 79 28 27 61 73 5f 61 72 beCommand($command,.array('as_ar
b2c20 72 61 79 27 20 3d 3e 20 74 72 75 65 29 29 3b 0a 7d 0a 0a 24 64 61 74 61 20 3d 20 24 64 65 73 63 ray'.=>.true));.}..$data.=.$desc
b2c40 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 0a 3f 20 61 72 72 61 79 28 27 63 6f 6d 6d 61 6e 64 73 ribedNamespace.?.array('commands
b2c60 27 20 3d 3e 20 24 63 6f 6d 6d 61 6e 64 73 2c 20 27 6e 61 6d 65 73 70 61 63 65 27 20 3d 3e 20 24 '.=>.$commands,.'namespace'.=>.$
b2c80 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 29 0a 3a 20 61 72 72 61 79 28 27 63 6f 6d describedNamespace).:.array('com
b2ca0 6d 61 6e 64 73 27 20 3d 3e 20 24 63 6f 6d 6d 61 6e 64 73 2c 20 27 6e 61 6d 65 73 70 61 63 65 73 mands'.=>.$commands,.'namespaces
b2cc0 27 20 3d 3e 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 64 65 73 63 72 69 70 74 69 6f 6e 2d 3e '.=>.array_values($description->
b2ce0 67 65 74 4e 61 6d 65 73 70 61 63 65 73 28 29 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 getNamespaces()));..return.$this
b2d00 2d 3e 6f 75 74 70 75 74 28 24 64 61 74 61 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a ->output($data,.$options);.}....
b2d20 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 28 61 72 ......private.function.output(ar
b2d40 72 61 79 20 24 64 61 74 61 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a 69 66 20 ray.$data,.array.$options).{.if.
b2d60 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 61 73 5f 61 72 72 61 79 27 5d 29 20 26 26 20 (isset($options['as_array']).&&.
b2d80 24 6f 70 74 69 6f 6e 73 5b 27 61 73 5f 61 72 72 61 79 27 5d 29 20 7b 0a 72 65 74 75 72 6e 20 24 $options['as_array']).{.return.$
b2da0 64 61 74 61 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 64 61 74 data;.}..return.json_encode($dat
b2dc0 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 63 6f 64 69 6e 67 a,.isset($options['json_encoding
b2de0 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 69 6e 67 27 5d 20 ']).?.$options['json_encoding'].
b2e00 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 6e 61 6d 65 73 70 :.0);.}.}.<?php...........namesp
b2e20 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 48 65 ace.Symfony\Component\Console\He
b2e40 6c 70 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 48 65 6c 70 65 72 49 6e lper;.........interface.HelperIn
b2e60 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 6f 6e terface.{........public.function
b2e80 20 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 .setHelperSet(HelperSet.$helperS
b2ea0 65 74 20 3d 20 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 et.=.null);.........public.funct
b2ec0 69 6f 6e 20 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c ion.getHelperSet();.........publ
b2ee0 69 63 20 66 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 ic.function.getName();.}.<?php..
b2f00 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
b2f20 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 6f 6e nent\Console\Helper;..use.Symfon
b2f40 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 75 y\Component\Console\Output\Outpu
b2f60 74 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 65 6e 74 45 tInterface;.use.InvalidArgumentE
b2f80 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 54 61 62 6c 65 48 65 6c 70 65 xception;.......class.TableHelpe
b2fa0 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 55 54 5f r.extends.Helper.{.const.LAYOUT_
b2fc0 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 44 45 52 DEFAULT.=.0;.const.LAYOUT_BORDER
b2fe0 4c 45 53 53 20 3d 20 31 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 68 65 61 64 65 72 73 LESS.=.1;.......private.$headers
b3000 20 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 72 6f 77 73 20 .=.array();.......private.$rows.
b3020 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 70 72 69 76 61 74 65 20 24 70 61 64 64 69 6e 67 43 68 =.array();....private.$paddingCh
b3040 61 72 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 72 43 68 61 ar;.private.$horizontalBorderCha
b3060 72 3b 0a 70 72 69 76 61 74 65 20 24 76 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 3b 0a r;.private.$verticalBorderChar;.
b3080 70 72 69 76 61 74 65 20 24 63 72 6f 73 73 69 6e 67 43 68 61 72 3b 0a 70 72 69 76 61 74 65 20 24 private.$crossingChar;.private.$
b30a0 63 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 74 3b 0a 70 72 69 76 61 74 65 20 24 63 65 6c 6c 52 cellHeaderFormat;.private.$cellR
b30c0 6f 77 46 6f 72 6d 61 74 3b 0a 70 72 69 76 61 74 65 20 24 62 6f 72 64 65 72 46 6f 72 6d 61 74 3b owFormat;.private.$borderFormat;
b30e0 0a 70 72 69 76 61 74 65 20 24 70 61 64 54 79 70 65 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 .private.$padType;.......private
b3100 20 24 63 6f 6c 75 6d 6e 57 69 64 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a .$columnWidths.=.array();.......
b3120 70 72 69 76 61 74 65 20 24 6e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 3b 0a 0a 0a 0a 0a 70 72 private.$numberOfColumns;.....pr
b3140 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 74 69 6f 6e 20 ivate.$output;..public.function.
b3160 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 65 74 4c 61 79 6f 75 74 __construct().{.$this->setLayout
b3180 28 73 65 6c 66 3a 3a 4c 41 59 4f 55 54 5f 44 45 46 41 55 4c 54 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a (self::LAYOUT_DEFAULT);.}.......
b31a0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4c 61 79 6f 75 74 28 24 6c 61 79 ..public.function.setLayout($lay
b31c0 6f 75 74 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 6c 61 79 6f 75 74 29 20 7b 0a 63 61 73 65 20 73 out).{.switch.($layout).{.case.s
b31e0 65 6c 66 3a 3a 4c 41 59 4f 55 54 5f 42 4f 52 44 45 52 4c 45 53 53 3a 0a 24 74 68 69 73 0a 2d 3e elf::LAYOUT_BORDERLESS:.$this.->
b3200 73 65 74 50 61 64 64 69 6e 67 43 68 61 72 28 27 20 27 29 0a 2d 3e 73 65 74 48 6f 72 69 7a 6f 6e setPaddingChar('.').->setHorizon
b3220 74 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 talBorderChar('=').->setVertical
b3240 42 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 BorderChar('.').->setCrossingCha
b3260 72 28 27 20 27 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 3c 69 r('.').->setCellHeaderFormat('<i
b3280 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 29 0a 2d 3e 73 65 74 43 65 6c 6c 52 6f 77 46 6f 72 6d nfo>%s</info>').->setCellRowForm
b32a0 61 74 28 27 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 29 0a 2d 3e 73 65 at('<comment>%s</comment>').->se
b32c0 74 42 6f 72 64 65 72 46 6f 72 6d 61 74 28 27 25 73 27 29 0a 2d 3e 73 65 74 50 61 64 54 79 70 65 tBorderFormat('%s').->setPadType
b32e0 28 53 54 52 5f 50 41 44 5f 52 49 47 48 54 29 0a 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 73 (STR_PAD_RIGHT).;.break;..case.s
b3300 65 6c 66 3a 3a 4c 41 59 4f 55 54 5f 44 45 46 41 55 4c 54 3a 0a 24 74 68 69 73 0a 2d 3e 73 65 74 elf::LAYOUT_DEFAULT:.$this.->set
b3320 50 61 64 64 69 6e 67 43 68 61 72 28 27 20 27 29 0a 2d 3e 73 65 74 48 6f 72 69 7a 6f 6e 74 61 6c PaddingChar('.').->setHorizontal
b3340 42 6f 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 BorderChar('-').->setVerticalBor
b3360 64 65 72 43 68 61 72 28 27 7c 27 29 0a 2d 3e 73 65 74 43 72 6f 73 73 69 6e 67 43 68 61 72 28 27 derChar('|').->setCrossingChar('
b3380 2b 27 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 3c 69 6e 66 6f +').->setCellHeaderFormat('<info
b33a0 3e 25 73 3c 2f 69 6e 66 6f 3e 27 29 0a 2d 3e 73 65 74 43 65 6c 6c 52 6f 77 46 6f 72 6d 61 74 28 >%s</info>').->setCellRowFormat(
b33c0 27 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 29 0a 2d 3e 73 65 74 42 6f '<comment>%s</comment>').->setBo
b33e0 72 64 65 72 46 6f 72 6d 61 74 28 27 25 73 27 29 0a 2d 3e 73 65 74 50 61 64 54 79 70 65 28 53 54 rderFormat('%s').->setPadType(ST
b3400 52 5f 50 41 44 5f 52 49 47 48 54 29 0a 3b 0a 62 72 65 61 6b 3b 0a 0a 64 65 66 61 75 6c 74 3a 0a R_PAD_RIGHT).;.break;..default:.
b3420 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
b3440 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 79 6f 75 74 on(sprintf('Invalid.table.layout
b3460 20 22 25 73 22 2e 27 2c 20 24 6c 61 79 6f 75 74 29 29 3b 0a 62 72 65 61 6b 3b 0a 7d 3b 0a 0a 72 ."%s".',.$layout));.break;.};..r
b3480 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.
b34a0 73 65 74 48 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 setHeaders(array.$headers).{.$th
b34c0 69 73 2d 3e 68 65 61 64 65 72 73 20 3d 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 68 65 61 64 is->headers.=.array_values($head
b34e0 65 72 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 6c 69 63 20 66 ers);..return.$this;.}..public.f
b3500 75 6e 63 74 69 6f 6e 20 73 65 74 52 6f 77 73 28 61 72 72 61 79 20 24 72 6f 77 73 29 0a 7b 0a 24 unction.setRows(array.$rows).{.$
b3520 74 68 69 73 2d 3e 72 6f 77 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 this->rows.=.array();..return.$t
b3540 68 69 73 2d 3e 61 64 64 52 6f 77 73 28 24 72 6f 77 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 his->addRows($rows);.}..public.f
b3560 75 6e 63 74 69 6f 6e 20 61 64 64 52 6f 77 73 28 61 72 72 61 79 20 24 72 6f 77 73 29 0a 7b 0a 66 unction.addRows(array.$rows).{.f
b3580 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 24 74 68 69 73 2d 3e oreach.($rows.as.$row).{.$this->
b35a0 61 64 64 52 6f 77 28 24 72 6f 77 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d addRow($row);.}..return.$this;.}
b35c0 0a 0a 70 75 62 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 ..public.function.addRow(array.$
b35e0 72 6f 77 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 6f 77 73 5b 5d 20 3d 20 61 72 72 61 79 5f 76 61 6c row).{.$this->rows[].=.array_val
b3600 75 65 73 28 24 72 6f 77 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 70 75 62 ues($row);..return.$this;.}..pub
b3620 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 6f 77 28 24 63 6f 6c 75 6d 6e 2c 20 61 72 72 lic.function.setRow($column,.arr
b3640 61 79 20 24 72 6f 77 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 6f 77 73 5b 24 63 6f 6c 75 6d 6e 5d 20 ay.$row).{.$this->rows[$column].
b3660 3d 20 24 72 6f 77 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 =.$row;..return.$this;.}........
b3680 0a 70 75 62 6c 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 .public.function.setPaddingChar(
b36a0 24 70 61 64 64 69 6e 67 43 68 61 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 64 64 69 6e 67 43 68 $paddingChar).{.$this->paddingCh
b36c0 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 69 73 ar.=.$paddingChar;..return.$this
b36e0 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 48 ;.}.........public.function.setH
b3700 6f 72 69 7a 6f 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 orizontalBorderChar($horizontalB
b3720 6f 72 64 65 72 43 68 61 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 68 6f 72 69 7a 6f 6e 74 61 6c 42 6f orderChar).{.$this->horizontalBo
b3740 72 64 65 72 43 68 61 72 20 3d 20 24 68 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 rderChar.=.$horizontalBorderChar
b3760 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 69 ;..return.$this;.}.........publi
b3780 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
b37a0 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
b37c0 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
b37e0 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;.}.......
b3800 0a 0a 70 75 62 6c 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 ..public.function.setCrossingCha
b3820 72 28 24 63 72 6f 73 73 69 6e 67 43 68 61 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 72 6f 73 73 69 r($crossingChar).{.$this->crossi
b3840 6e 67 43 68 61 72 20 3d 20 24 63 72 6f 73 73 69 6e 67 43 68 61 72 3b 0a 0a 72 65 74 75 72 6e 20 ngChar.=.$crossingChar;..return.
b3860 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
b3880 20 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 48 65 61 64 65 72 .setCellHeaderFormat($cellHeader
b38a0 46 6f 72 6d 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 Format).{.$this->cellHeaderForma
b38c0 74 20 3d 20 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 t.=.$cellHeaderFormat;..return.$
b38e0 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.
b3900 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 6d 61 74 29 setCellRowFormat($cellRowFormat)
b3920 0a 7b 0a 24 74 68 69 73 2d 3e 63 65 6c 6c 52 6f 77 46 6f 72 6d 61 74 20 3d 20 24 63 65 6c 6c 52 .{.$this->cellRowFormat.=.$cellR
b3940 6f 77 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 0a 0a 0a 0a 0a owFormat;..return.$this;.}......
b3960 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
b3980 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 62 6f 72 64 65 at($borderFormat).{.$this->borde
b39a0 72 46 6f 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 rFormat.=.$borderFormat;..return
b39c0 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
b39e0 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 24 74 68 69 73 2d 3e n.setPadType($padType).{.$this->
b3a00 70 61 64 54 79 70 65 20 3d 20 24 70 61 64 54 79 70 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 padType.=.$padType;..return.$thi
b3a20 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 74 s;.}................public.funct
b3a40 69 6f 6e 20 72 65 6e 64 65 72 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 ion.render(OutputInterface.$outp
b3a60 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 74 3b 0a 0a ut).{.$this->output.=.$output;..
b3a80 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 29 3b 0a 24 74 68 $this->renderRowSeparator();.$th
b3aa0 69 73 2d 3e 72 65 6e 64 65 72 52 6f 77 28 24 74 68 69 73 2d 3e 68 65 61 64 65 72 73 2c 20 24 74 is->renderRow($this->headers,.$t
b3ac0 68 69 73 2d 3e 63 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 74 29 3b 0a 69 66 20 28 21 65 6d 70 his->cellHeaderFormat);.if.(!emp
b3ae0 74 79 28 24 74 68 69 73 2d 3e 68 65 61 64 65 72 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 6e ty($this->headers)).{.$this->ren
b3b00 64 65 72 52 6f 77 53 65 70 61 72 61 74 6f 72 28 29 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 74 derRowSeparator();.}.foreach.($t
b3b20 68 69 73 2d 3e 72 6f 77 73 20 61 73 20 24 72 6f 77 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 6e 64 his->rows.as.$row).{.$this->rend
b3b40 65 72 52 6f 77 28 24 72 6f 77 2c 20 24 74 68 69 73 2d 3e 63 65 6c 6c 52 6f 77 46 6f 72 6d 61 74 erRow($row,.$this->cellRowFormat
b3b60 29 3b 0a 7d 0a 69 66 20 28 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 72 6f 77 73 29 29 20 7b 0a );.}.if.(!empty($this->rows)).{.
b3b80 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 29 3b 0a 7d 0a 0a $this->renderRowSeparator();.}..
b3ba0 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 70 72 69 76 61 74 $this->cleanup();.}.......privat
b3bc0 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 52 6f 77 53 65 70 61 72 61 74 6f 72 28 29 0a e.function.renderRowSeparator().
b3be0 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 63 6f 75 6e 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4e {.if.(0.===.$count.=.$this->getN
b3c00 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 28 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 umberOfColumns()).{.return;.}..$
b3c20 6d 61 72 6b 75 70 20 3d 20 24 74 68 69 73 2d 3e 63 72 6f 73 73 69 6e 67 43 68 61 72 3b 0a 66 6f markup.=.$this->crossingChar;.fo
b3c40 72 20 28 24 63 6f 6c 75 6d 6e 20 3d 20 30 3b 20 24 63 6f 6c 75 6d 6e 20 3c 20 24 63 6f 75 6e 74 r.($column.=.0;.$column.<.$count
b3c60 3b 20 24 63 6f 6c 75 6d 6e 2b 2b 29 20 7b 0a 24 6d 61 72 6b 75 70 20 2e 3d 20 73 74 72 5f 72 65 ;.$column++).{.$markup..=.str_re
b3c80 70 65 61 74 28 24 74 68 69 73 2d 3e 68 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 peat($this->horizontalBorderChar
b3ca0 2c 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6c 75 6d 6e 57 69 64 74 68 28 24 63 6f 6c 75 6d 6e 29 ,.$this->getColumnWidth($column)
b3cc0 29 0a 2e 24 74 68 69 73 2d 3e 63 72 6f 73 73 69 6e 67 43 68 61 72 0a 3b 0a 7d 0a 0a 24 74 68 69 )..$this->crossingChar.;.}..$thi
b3ce0 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 69 73 s->output->writeln(sprintf($this
b3d00 2d 3e 62 6f 72 64 65 72 46 6f 72 6d 61 74 2c 20 24 6d 61 72 6b 75 70 29 29 3b 0a 7d 0a 0a 0a 0a ->borderFormat,.$markup));.}....
b3d20 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 43 6f 6c 75 6d 6e 53 65 .private.function.renderColumnSe
b3d40 70 61 72 61 74 6f 72 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 parator().{.$this->output->write
b3d60 28 73 70 72 69 6e 74 66 28 24 74 68 69 73 2d 3e 62 6f 72 64 65 72 46 6f 72 6d 61 74 2c 20 24 74 (sprintf($this->borderFormat,.$t
b3d80 68 69 73 2d 3e 76 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 29 29 3b 0a 7d 0a 0a 0a 0a his->verticalBorderChar));.}....
b3da0 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 6e 64 65 72 52 6f 77 ......private.function.renderRow
b3dc0 28 61 72 72 61 79 20 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 (array.$row,.$cellFormat).{.if.(
b3de0 65 6d 70 74 79 28 24 72 6f 77 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d empty($row)).{.return;.}..$this-
b3e00 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 66 6f 72 20 28 24 >renderColumnSeparator();.for.($
b3e20 63 6f 6c 75 6d 6e 20 3d 20 30 2c 20 24 63 6f 75 6e 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4e column.=.0,.$count.=.$this->getN
b3e40 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 28 29 3b 20 24 63 6f 6c 75 6d 6e 20 3c 20 24 63 6f 75 umberOfColumns();.$column.<.$cou
b3e60 6e 74 3b 20 24 63 6f 6c 75 6d 6e 2b 2b 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 43 65 nt;.$column++).{.$this->renderCe
b3e80 6c 6c 28 24 72 6f 77 2c 20 24 63 6f 6c 75 6d 6e 2c 20 24 63 65 6c 6c 46 6f 72 6d 61 74 29 3b 0a ll($row,.$column,.$cellFormat);.
b3ea0 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();.
b3ec0 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 27 27 29 3b 0a 7d 0a }.$this->output->writeln('');.}.
b3ee0 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 72 65 6e 64 65 72 43 ........private.function.renderC
b3f00 65 6c 6c 28 61 72 72 61 79 20 24 72 6f 77 2c 20 24 63 6f 6c 75 6d 6e 2c 20 24 63 65 6c 6c 46 6f ell(array.$row,.$column,.$cellFo
b3f20 72 6d 61 74 29 0a 7b 0a 24 63 65 6c 6c 20 3d 20 69 73 73 65 74 28 24 72 6f 77 5b 24 63 6f 6c 75 rmat).{.$cell.=.isset($row[$colu
b3f40 6d 6e 5d 29 20 3f 20 24 72 6f 77 5b 24 63 6f 6c 75 6d 6e 5d 20 3a 20 27 27 3b 0a 0a 24 74 68 69 mn]).?.$row[$column].:.'';..$thi
b3f60 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 28 0a 24 63 65 6c 6c 46 s->output->write(sprintf(.$cellF
b3f80 6f 72 6d 61 74 2c 0a 73 74 72 5f 70 61 64 28 0a 24 74 68 69 73 2d 3e 70 61 64 64 69 6e 67 43 68 ormat,.str_pad(.$this->paddingCh
b3fa0 61 72 2e 24 63 65 6c 6c 2e 24 74 68 69 73 2d 3e 70 61 64 64 69 6e 67 43 68 61 72 2c 0a 24 74 68 ar.$cell.$this->paddingChar,.$th
b3fc0 69 73 2d 3e 67 65 74 43 6f 6c 75 6d 6e 57 69 64 74 68 28 24 63 6f 6c 75 6d 6e 29 2c 0a 24 74 68 is->getColumnWidth($column),.$th
b3fe0 69 73 2d 3e 70 61 64 64 69 6e 67 43 68 61 72 2c 0a 24 74 68 69 73 2d 3e 70 61 64 54 79 70 65 0a is->paddingChar,.$this->padType.
b4000 29 0a 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 6e 20 67 ).));.}.......private.function.g
b4020 65 74 4e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 etNumberOfColumns().{.if.(null.!
b4040 3d 3d 20 24 74 68 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 ==.$this->numberOfColumns).{.ret
b4060 75 72 6e 20 24 74 68 69 73 2d 3e 6e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 3b 0a 7d 0a 0a 24 urn.$this->numberOfColumns;.}..$
b4080 63 6f 6c 75 6d 6e 73 20 3d 20 61 72 72 61 79 28 30 29 3b 0a 24 63 6f 6c 75 6d 6e 73 5b 5d 20 3d columns.=.array(0);.$columns[].=
b40a0 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 68 65 61 64 65 72 73 29 3b 0a 66 6f 72 65 61 63 68 20 .count($this->headers);.foreach.
b40c0 28 24 74 68 69 73 2d 3e 72 6f 77 73 20 61 73 20 24 72 6f 77 29 20 7b 0a 24 63 6f 6c 75 6d 6e 73 ($this->rows.as.$row).{.$columns
b40e0 5b 5d 20 3d 20 63 6f 75 6e 74 28 24 72 6f 77 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 [].=.count($row);.}..return.$thi
b4100 73 2d 3e 6e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 20 3d 20 6d 61 78 28 24 63 6f 6c 75 6d 6e s->numberOfColumns.=.max($column
b4120 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 20 67 s);.}.........private.function.g
b4140 65 74 43 6f 6c 75 6d 6e 57 69 64 74 68 28 24 63 6f 6c 75 6d 6e 29 0a 7b 0a 69 66 20 28 69 73 73 etColumnWidth($column).{.if.(iss
b4160 65 74 28 24 74 68 69 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 et($this->columnWidths[$column])
b4180 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6c 75 6d 6e 57 69 64 74 68 73 5b 24 ).{.return.$this->columnWidths[$
b41a0 63 6f 6c 75 6d 6e 5d 3b 0a 7d 0a 0a 24 6c 65 6e 67 74 68 73 20 3d 20 61 72 72 61 79 28 30 29 3b column];.}..$lengths.=.array(0);
b41c0 0a 24 6c 65 6e 67 74 68 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 65 6c 6c 57 69 64 74 .$lengths[].=.$this->getCellWidt
b41e0 68 28 24 74 68 69 73 2d 3e 68 65 61 64 65 72 73 2c 20 24 63 6f 6c 75 6d 6e 29 3b 0a 66 6f 72 65 h($this->headers,.$column);.fore
b4200 61 63 68 20 28 24 74 68 69 73 2d 3e 72 6f 77 73 20 61 73 20 24 72 6f 77 29 20 7b 0a 24 6c 65 6e ach.($this->rows.as.$row).{.$len
b4220 67 74 68 73 5b 5d 20 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 gths[].=.$this->getCellWidth($ro
b4240 77 2c 20 24 63 6f 6c 75 6d 6e 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f w,.$column);.}..return.$this->co
b4260 6c 75 6d 6e 57 69 64 74 68 73 5b 24 63 6f 6c 75 6d 6e 5d 20 3d 20 6d 61 78 28 24 6c 65 6e 67 74 lumnWidths[$column].=.max($lengt
b4280 68 73 29 20 2b 20 32 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 hs).+.2;.}..........private.func
b42a0 74 69 6f 6e 20 67 65 74 43 65 6c 6c 57 69 64 74 68 28 61 72 72 61 79 20 24 72 6f 77 2c 20 24 63 tion.getCellWidth(array.$row,.$c
b42c0 6f 6c 75 6d 6e 29 0a 7b 0a 69 66 20 28 24 63 6f 6c 75 6d 6e 20 3c 20 30 29 20 7b 0a 72 65 74 75 olumn).{.if.($column.<.0).{.retu
b42e0 72 6e 20 30 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 72 6f 77 5b 24 63 6f 6c 75 6d 6e 5d rn.0;.}..if.(isset($row[$column]
b4300 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 72 6c 65 6e 28 24 72 6f 77 5b 24 )).{.return.$this->strlen($row[$
b4320 63 6f 6c 75 6d 6e 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 43 65 column]);.}..return.$this->getCe
b4340 6c 6c 57 69 64 74 68 28 24 72 6f 77 2c 20 24 63 6f 6c 75 6d 6e 20 2d 20 31 29 3b 0a 7d 0a 0a 0a llWidth($row,.$column.-.1);.}...
b4360 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().{.$
b4380 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
b43a0 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;.}..
b43c0 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
b43e0 65 74 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 eturn.'table';.}.}.<?php........
b4400 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
b4420 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 6d 70 onsole\Helper;..use.Symfony\Comp
b4440 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 53 onent\Console\Application;.use.S
b4460 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 64 ymfony\Component\Console\Command
b4480 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 5c \Command;.use.Symfony\Component\
b44a0 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 5c 44 65 73 63 72 69 70 74 6f 72 49 6e 74 Console\Descriptor\DescriptorInt
b44c0 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
b44e0 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 5c 4a 73 6f 6e 44 65 73 63 72 69 70 74 6f 72 3b nsole\Descriptor\JsonDescriptor;
b4500 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
b4520 65 73 63 72 69 70 74 6f 72 5c 4d 61 72 6b 64 6f 77 6e 44 65 73 63 72 69 70 74 6f 72 3b 0a 75 73 escriptor\MarkdownDescriptor;.us
b4540 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
b4560 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
b4580 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\
b45a0 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
b45c0 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
b45e0 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\
b4600 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
b4620 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
b4640 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
b4660 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 0a nsole\Output\OutputInterface;...
b4680 0a 0a 0a 0a 63 6c 61 73 73 20 44 65 73 63 72 69 70 74 6f 72 48 65 6c 70 65 72 20 65 78 74 65 6e ....class.DescriptorHelper.exten
b46a0 64 73 20 48 65 6c 70 65 72 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 64 65 73 63 72 69 70 74 ds.Helper.{....private.$descript
b46c0 6f 72 73 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 ors.=.array();.....public.functi
b46e0 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 72 65 67 69 73 on.__construct().{.$this.->regis
b4700 74 65 72 28 27 74 78 74 27 2c 20 6e 65 77 20 54 65 78 74 44 65 73 63 72 69 70 74 6f 72 28 29 29 ter('txt',.new.TextDescriptor())
b4720 0a 2d 3e 72 65 67 69 73 74 65 72 28 27 78 6d 6c 27 2c 20 6e 65 77 20 58 6d 6c 44 65 73 63 72 69 .->register('xml',.new.XmlDescri
b4740 70 74 6f 72 28 29 29 0a 2d 3e 72 65 67 69 73 74 65 72 28 27 6a 73 6f 6e 27 2c 20 6e 65 77 20 4a ptor()).->register('json',.new.J
b4760 73 6f 6e 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 6d 64 27 sonDescriptor()).->register('md'
b4780 2c 20 6e 65 77 20 4d 61 72 6b 64 6f 77 6e 44 65 73 63 72 69 70 74 6f 72 28 29 29 0a 3b 0a 7d 0a ,.new.MarkdownDescriptor()).;.}.
b47a0 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 73 63 72 69 62 .........public.function.describ
b47c0 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 6f 62 6a 65 e(OutputInterface.$output,.$obje
b47e0 63 74 2c 20 24 66 6f 72 6d 61 74 20 3d 20 6e 75 6c 6c 2c 20 24 72 61 77 20 3d 20 66 61 6c 73 65 ct,.$format.=.null,.$raw.=.false
b4800 29 0a 7b 0a 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 27 72 61 77 5f 74 65 78 74 27 20 ).{.$options.=.array('raw_text'.
b4820 3d 3e 20 24 72 61 77 2c 20 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 66 6f 72 6d 61 74 20 3f 3a 20 =>.$raw,.'format'.=>.$format.?:.
b4840 27 74 78 74 27 29 3b 0a 24 74 79 70 65 20 3d 20 21 24 72 61 77 20 26 26 20 27 74 78 74 27 20 3d 'txt');.$type.=.!$raw.&&.'txt'.=
b4860 3d 3d 20 24 6f 70 74 69 6f 6e 73 5b 27 66 6f 72 6d 61 74 27 5d 20 3f 20 4f 75 74 70 75 74 49 6e ==.$options['format'].?.OutputIn
b4880 74 65 72 66 61 63 65 3a 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 20 3a 20 4f 75 74 70 75 74 49 terface::OUTPUT_NORMAL.:.OutputI
b48a0 6e 74 65 72 66 61 63 65 3a 3a 4f 55 54 50 55 54 5f 52 41 57 3b 0a 0a 69 66 20 28 21 69 73 73 65 nterface::OUTPUT_RAW;..if.(!isse
b48c0 74 28 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 6f 72 73 5b 24 6f 70 74 69 6f 6e 73 5b 27 66 t($this->descriptors[$options['f
b48e0 6f 72 6d 61 74 27 5d 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 ormat']])).{.throw.new.\InvalidA
b4900 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 55 6e 73 75 70 70 rgumentException(sprintf('Unsupp
b4920 6f 72 74 65 64 20 66 6f 72 6d 61 74 20 22 25 73 22 2e 27 2c 20 24 6f 70 74 69 6f 6e 73 5b 27 66 orted.format."%s".',.$options['f
b4940 6f 72 6d 61 74 27 5d 29 29 3b 0a 7d 0a 0a 24 64 65 73 63 72 69 70 74 6f 72 20 3d 20 24 74 68 69 ormat']));.}..$descriptor.=.$thi
b4960 73 2d 3e 64 65 73 63 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 s->descriptors[$options['format'
b4980 5d 5d 3b 0a 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 64 65 73 63 72 69 70 74 6f ]];..$output->writeln($descripto
b49a0 72 2d 3e 64 65 73 63 72 69 62 65 28 24 6f 62 6a 65 63 74 2c 20 24 6f 70 74 69 6f 6e 73 29 2c 20 r->describe($object,.$options),.
b49c0 24 74 79 70 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 $type);.}..........public.functi
b49e0 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 49 on.register($format,.DescriptorI
b4a00 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 64 nterface.$descriptor).{.$this->d
b4a20 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 6f escriptors[$format].=.$descripto
b4a40 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 66 r;..return.$this;.}.....public.f
b4a60 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 63 unction.getName().{.return.'desc
b4a80 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 6d riptor';.}.}.<?php...........nam
b4aa0 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
b4ac0 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 5c \Helper;..use.Symfony\Component\
b4ae0 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 65 Console\Formatter\OutputFormatte
b4b00 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 65 72 20 65 r;.......class.FormatterHelper.e
b4b20 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 6c 69 63 20 xtends.Helper.{..........public.
b4b40 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 69 6f 6e 2c function.formatSection($section,
b4b60 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 7b 0a 72 65 .$message,.$style.=.'info').{.re
b4b80 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 25 73 27 2c turn.sprintf('<%s>[%s]</%s>.%s',
b4ba0 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 6d 65 73 73 .$style,.$section,.$style,.$mess
b4bc0 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 63 74 69 6f age);.}...........public.functio
b4be0 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 79 6c 65 2c n.formatBlock($messages,.$style,
b4c00 20 24 6c 61 72 67 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 28 .$large.=.false).{.$messages.=.(
b4c20 61 72 72 61 79 29 20 24 6d 65 73 73 61 67 65 73 3b 0a 0a 24 6c 65 6e 20 3d 20 30 3b 0a 24 6c 69 array).$messages;..$len.=.0;.$li
b4c40 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 67 65 nes.=.array();.foreach.($message
b4c60 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 74 70 s.as.$message).{.$message.=.Outp
b4c80 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 0a 24 utFormatter::escape($message);.$
b4ca0 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 25 73 lines[].=.sprintf($large.?.'..%s
b4cc0 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 3d 20 ..'.:.'.%s.',.$message);.$len.=.
b4ce0 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 28 24 max($this->strlen($message).+.($
b4d00 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 73 61 large.?.4.:.2),.$len);.}..$messa
b4d20 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 74 28 ges.=.$large.?.array(str_repeat(
b4d40 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 65 61 63 68 20 28 '.',.$len)).:.array();.foreach.(
b4d60 24 6c 69 6e 65 73 20 61 73 20 24 6c 69 6e 65 29 20 7b 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d $lines.as.$line).{.$messages[].=
b4d80 20 24 6c 69 6e 65 2e 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 6c 65 6e 20 2d 20 24 74 .$line.str_repeat('.',.$len.-.$t
b4da0 68 69 73 2d 3e 73 74 72 6c 65 6e 28 24 6c 69 6e 65 29 29 3b 0a 7d 0a 69 66 20 28 24 6c 61 72 67 his->strlen($line));.}.if.($larg
b4dc0 65 29 20 7b 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 73 74 72 5f 72 65 70 65 61 74 28 27 20 e).{.$messages[].=.str_repeat('.
b4de0 27 2c 20 24 6c 65 6e 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 6d 65 73 73 61 67 65 73 20 ',.$len);.}..foreach.($messages.
b4e00 61 73 20 26 24 6d 65 73 73 61 67 65 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 70 72 69 6e as.&$message).{.$message.=.sprin
b4e20 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 6d 65 73 73 61 tf('<%s>%s</%s>',.$style,.$messa
b4e40 67 65 2c 20 24 73 74 79 6c 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 22 ge,.$style);.}..return.implode("
b4e60 5c 6e 22 2c 20 24 6d 65 73 73 61 67 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 \n",.$messages);.}.....public.fu
b4e80 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 66 6f 72 6d 61 nction.getName().{.return.'forma
b4ea0 74 74 65 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 6d 65 73 tter';.}.}.<?php...........names
b4ec0 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 48 pace.Symfony\Component\Console\H
b4ee0 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 5c 43 6f elper;..use.Symfony\Component\Co
b4f00 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 nsole\Command\Command;.......cla
b4f20 73 73 20 48 65 6c 70 65 72 53 65 74 0a 7b 0a 70 72 69 76 61 74 65 20 24 68 65 6c 70 65 72 73 3b ss.HelperSet.{.private.$helpers;
b4f40 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 70 75 62 6c 69 63 20 .private.$command;.......public.
b4f60 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 68 65 6c 70 function.__construct(array.$help
b4f80 65 72 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 73 20 ers.=.array()).{.$this->helpers.
b4fa0 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 68 65 6c 70 65 72 73 20 61 73 20 =.array();.foreach.($helpers.as.
b4fc0 24 61 6c 69 61 73 20 3d 3e 20 24 68 65 6c 70 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 28 $alias.=>.$helper).{.$this->set(
b4fe0 24 68 65 6c 70 65 72 2c 20 69 73 5f 69 6e 74 28 24 61 6c 69 61 73 29 20 3f 20 6e 75 6c 6c 20 3a $helper,.is_int($alias).?.null.:
b5000 20 24 61 6c 69 61 73 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 .$alias);.}.}........public.func
b5020 74 69 6f 6e 20 73 65 74 28 48 65 6c 70 65 72 49 6e 74 65 72 66 61 63 65 20 24 68 65 6c 70 65 72 tion.set(HelperInterface.$helper
b5040 2c 20 24 61 6c 69 61 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 ,.$alias.=.null).{.$this->helper
b5060 73 5b 24 68 65 6c 70 65 72 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 24 68 65 6c 70 65 72 3b s[$helper->getName()].=.$helper;
b5080 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 61 6c 69 61 73 29 20 7b 0a 24 74 68 69 73 2d 3e 68 .if.(null.!==.$alias).{.$this->h
b50a0 65 6c 70 65 72 73 5b 24 61 6c 69 61 73 5d 20 3d 20 24 68 65 6c 70 65 72 3b 0a 7d 0a 0a 24 68 65 elpers[$alias].=.$helper;.}..$he
b50c0 6c 70 65 72 2d 3e 73 65 74 48 65 6c 70 65 72 53 65 74 28 24 74 68 69 73 29 3b 0a 7d 0a 0a 0a 0a lper->setHelperSet($this);.}....
b50e0 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 6e 61 6d 65 29 0a .....public.function.has($name).
b5100 7b 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 73 5b 24 6e {.return.isset($this->helpers[$n
b5120 61 6d 65 5d 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 ame]);.}...........public.functi
b5140 6f 6e 20 67 65 74 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 28 on.get($name).{.if.(!$this->has(
b5160 24 6e 61 6d 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 $name)).{.throw.new.\InvalidArgu
b5180 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 68 65 6c 70 65 mentException(sprintf('The.helpe
b51a0 72 20 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 29 r."%s".is.not.defined.',.$name))
b51c0 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 24 6e 61 6d 65 ;.}..return.$this->helpers[$name
b51e0 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 73 65 74 43 6f ];.}.......public.function.setCo
b5200 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).{
b5220 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;.}...
b5240 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()
b5260 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 3c 3f .{.return.$this->command;.}.}.<?
b5280 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\
b52a0 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
b52c0 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\
b52e0 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
b5300 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 46 ponent\Console\Formatter\OutputF
b5320 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 69 61 6c 6f ormatterStyle;.......class.Dialo
b5340 67 48 65 6c 70 65 72 20 65 78 74 65 6e 64 73 20 48 65 6c 70 65 72 0a 7b 0a 70 72 69 76 61 74 65 gHelper.extends.Helper.{.private
b5360 20 24 69 6e 70 75 74 53 74 72 65 61 6d 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 73 .$inputStream;.private.static.$s
b5380 68 65 6c 6c 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 73 74 74 79 3b 0a 0a 0a 0a 0a hell;.private.static.$stty;.....
b53a0 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 6c 65 ............public.function.sele
b53c0 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 71 75 65 ct(OutputInterface.$output,.$que
b53e0 73 74 69 6f 6e 2c 20 24 63 68 6f 69 63 65 73 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c stion,.$choices,.$default.=.null
b5400 2c 20 24 61 74 74 65 6d 70 74 73 20 3d 20 66 61 6c 73 65 2c 20 24 65 72 72 6f 72 4d 65 73 73 61 ,.$attempts.=.false,.$errorMessa
b5420 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 64 27 2c 20 24 6d ge.=.'Value."%s".is.invalid',.$m
b5440 75 6c 74 69 73 65 6c 65 63 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 77 69 64 74 68 20 3d 20 6d ultiselect.=.false).{.$width.=.m
b5460 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 5f 6b 65 79 ax(array_map('strlen',.array_key
b5480 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 28 61 72 72 s($choices)));..$messages.=.(arr
b54a0 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 69 63 65 73 ay).$question;.foreach.($choices
b54c0 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 67 65 73 5b .as.$key.=>.$value).{.$messages[
b54e0 5d 20 3d 20 73 70 72 69 6e 74 66 28 22 20 20 5b 3c 69 6e 66 6f 3e 25 2d 24 7b 77 69 64 74 68 7d ].=.sprintf("..[<info>%-${width}
b5500 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 3b 0a 7d 0a s</info>].%s",.$key,.$value);.}.
b5520 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 24 .$output->writeln($messages);..$
b5540 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 74 65 28 24 result.=.$this->askAndValidate($
b5560 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 6b 65 64 29 output,.'>.',.function.($picked)
b5580 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 65 2c 20 24 .use.($choices,.$errorMessage,.$
b55a0 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 6f 69 63 65 multiselect).{...$selectedChoice
b55c0 73 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 22 20 22 2c 20 22 22 2c 20 24 70 69 63 6b 65 64 s.=.str_replace(".",."",.$picked
b55e0 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 28 21 70 72 );..if.($multiselect).{...if(!pr
b5600 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 3f 3a 2c 5b 61 eg_match('/^[a-zA-Z0-9_-]+(?:,[a
b5620 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 64 43 68 6f 69 -zA-Z0-9_-]+)*$/',.$selectedChoi
b5640 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 20 5c 49 6e 76 ces,.$matches)).{.throw.new.\Inv
b5660 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 24 65 alidArgumentException(sprintf($e
b5680 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 65 6c 65 63 rrorMessage,.$picked));.}.$selec
b56a0 74 65 64 43 68 6f 69 63 65 73 20 3d 20 65 78 70 6c 6f 64 65 28 22 2c 22 2c 20 24 73 65 6c 65 63 tedChoices.=.explode(",",.$selec
b56c0 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 74 65 64 43 tedChoices);.}.else.{.$selectedC
b56e0 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 24 6d 75 6c hoices.=.array($picked);.}..$mul
b5700 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 66 6f 72 65 tiselectChoices.=.array();..fore
b5720 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 6c 75 65 29 ach.($selectedChoices.as.$value)
b5740 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 5d 29 29 20 .{.if.(empty($choices[$value])).
b5760 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
b5780 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 24 76 61 ption(sprintf($errorMessage,.$va
b57a0 6c 75 65 29 29 3b 0a 7d 0a 61 72 72 61 79 5f 70 75 73 68 28 24 6d 75 6c 74 69 73 65 6c 65 63 74 lue));.}.array_push($multiselect
b57c0 43 68 6f 69 63 65 73 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 6d 75 6c 74 69 73 Choices,.$value);.}..if.($multis
b57e0 65 6c 65 63 74 29 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 elect){.return.$multiselectChoic
b5800 65 73 3b 0a 7d 20 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 es;.}...return.$picked;.},.$atte
b5820 6d 70 74 73 2c 20 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 mpts,.$default);..return.$result
b5840 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 69 6f 6e ;.}..............public.function
b5860 20 61 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 24 71 .ask(OutputInterface.$output,.$q
b5880 75 65 73 74 69 6f 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 uestion,.$default.=.null,.array.
b58a0 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 6f 75 74 70 75 74 2d $autocomplete.=.null).{.$output-
b58c0 3e 77 72 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 >write($question);..$inputStream
b58e0 20 3d 20 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 .=.$this->inputStream.?:.STDIN;.
b5900 0a 69 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 .if.(null.===.$autocomplete.||.!
b5920 24 74 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 $this->hasSttyAvailable()).{.$re
b5940 74 20 3d 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 t.=.fgets($inputStream,.4096);.i
b5960 66 20 28 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 5c f.(false.===.$ret).{.throw.new.\
b5980 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 0a 7d 0a 24 RuntimeException('Aborted');.}.$
b59a0 72 65 74 20 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 ret.=.trim($ret);.}.else.{.$ret.
b59c0 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 74 63 68 =.'';..$i.=.0;.$ofs.=.-1;.$match
b59e0 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 65 73 20 es.=.$autocomplete;.$numMatches.
b5a00 3d 20 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 65 20 3d 20 =.count($matches);..$sttyMode.=.
b5a20 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 65 6c 6c 5f shell_exec('stty.-g');....shell_
b5a40 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 0a 0a 20 24 exec('stty.-icanon.-echo');....$
b5a60 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 79 6c 65 output->getFormatter()->setStyle
b5a80 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 79 6c 65 28 ('hl',.new.OutputFormatterStyle(
b5aa0 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 20 28 21 66 'black',.'white'));....while.(!f
b5ac0 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 65 61 64 28 eof($inputStream)).{.$c.=.fread(
b5ae0 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 37 37 22 20 $inputStream,.1);....if.("\177".
b5b00 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 68 65 73 20 ===.$c).{.if.(0.===.$numMatches.
b5b20 26 26 20 30 20 21 3d 3d 20 24 69 29 20 7b 0a 24 69 2d 2d 3b 0a 0a 20 24 6f 75 74 70 75 74 2d 3e &&.0.!==.$i).{.$i--;...$output->
b5b40 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 24 69 20 3d 3d 3d 20 write("\033[1D");.}..if.($i.===.
b5b60 30 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 61 75 74 6f 0).{.$ofs.=.-1;.$matches.=.$auto
b5b80 63 6f 6d 70 6c 65 74 65 3b 0a 24 6e 75 6d 4d 61 74 63 68 65 73 20 3d 20 63 6f 75 6e 74 28 24 6d complete;.$numMatches.=.count($m
b5ba0 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 65 73 20 3d 20 atches);.}.else.{.$numMatches.=.
b5bc0 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 20 30 2c 20 24 0;.}....$ret.=.substr($ret,.0,.$
b5be0 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 29 20 7b 20 0a i);.}.elseif.("\033".===.$c).{..
b5c00 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 32 29 3b 0a 0a .$c..=.fread($inputStream,.2);..
b5c20 0a 20 69 66 20 28 27 41 27 20 3d 3d 3d 20 24 63 5b 32 5d 20 7c 7c 20 27 42 27 20 3d 3d 3d 20 24 ..if.('A'.===.$c[2].||.'B'.===.$
b5c40 63 5b 32 5d 29 20 7b 0a 69 66 20 28 27 41 27 20 3d 3d 3d 20 24 63 5b 32 5d 20 26 26 20 2d 31 20 c[2]).{.if.('A'.===.$c[2].&&.-1.
b5c60 3d 3d 3d 20 24 6f 66 73 29 20 7b 0a 24 6f 66 73 20 3d 20 30 3b 0a 7d 0a 0a 69 66 20 28 30 20 3d ===.$ofs).{.$ofs.=.0;.}..if.(0.=
b5c80 3d 3d 20 24 6e 75 6d 4d 61 74 63 68 65 73 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 ==.$numMatches).{.continue;.}..$
b5ca0 6f 66 73 20 2b 3d 20 28 27 41 27 20 3d 3d 3d 20 24 63 5b 32 5d 29 20 3f 20 2d 31 20 3a 20 31 3b ofs.+=.('A'.===.$c[2]).?.-1.:.1;
b5cc0 0a 24 6f 66 73 20 3d 20 28 24 6e 75 6d 4d 61 74 63 68 65 73 20 2b 20 24 6f 66 73 29 20 25 20 24 .$ofs.=.($numMatches.+.$ofs).%.$
b5ce0 6e 75 6d 4d 61 74 63 68 65 73 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 6f 72 64 28 24 63 29 20 numMatches;.}.}.elseif.(ord($c).
b5d00 3c 20 33 32 29 20 7b 0a 69 66 20 28 22 5c 74 22 20 3d 3d 3d 20 24 63 20 7c 7c 20 22 5c 6e 22 20 <.32).{.if.("\t".===.$c.||."\n".
b5d20 3d 3d 3d 20 24 63 29 20 7b 0a 69 66 20 28 24 6e 75 6d 4d 61 74 63 68 65 73 20 3e 20 30 20 26 26 ===.$c).{.if.($numMatches.>.0.&&
b5d40 20 2d 31 20 21 3d 3d 20 24 6f 66 73 29 20 7b 0a 24 72 65 74 20 3d 20 24 6d 61 74 63 68 65 73 5b .-1.!==.$ofs).{.$ret.=.$matches[
b5d60 24 6f 66 73 5d 3b 0a 0a 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 73 75 62 73 74 72 28 24 $ofs];...$output->write(substr($
b5d80 72 65 74 2c 20 24 69 29 29 3b 0a 24 69 20 3d 20 73 74 72 6c 65 6e 28 24 72 65 74 29 3b 0a 7d 0a ret,.$i));.$i.=.strlen($ret);.}.
b5da0 0a 69 66 20 28 22 5c 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 .if.("\n".===.$c).{.$output->wri
b5dc0 74 65 28 24 63 29 3b 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 te($c);.break;.}..$numMatches.=.
b5de0 30 3b 0a 7d 0a 0a 63 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 0;.}..continue;.}.else.{.$output
b5e00 2d 3e 77 72 69 74 65 28 24 63 29 3b 0a 24 72 65 74 20 2e 3d 20 24 63 3b 0a 24 69 2b 2b 3b 0a 0a ->write($c);.$ret..=.$c;.$i++;..
b5e20 24 6e 75 6d 4d 61 74 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 $numMatches.=.0;.$ofs.=.0;..fore
b5e40 61 63 68 20 28 24 61 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 ach.($autocomplete.as.$value).{.
b5e60 0a 20 69 66 20 28 30 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 ..if.(0.===.strpos($value,.$ret)
b5e80 20 26 26 20 24 69 20 21 3d 3d 20 73 74 72 6c 65 6e 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 6d 61 .&&.$i.!==.strlen($value)).{.$ma
b5ea0 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;.}
b5ec0 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")
b5ee0 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.!==
b5f00 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
b5f20 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 73 75 62 73 ");...$output->write('<hl>'.subs
b5f40 74 72 28 24 6d 61 74 63 68 65 73 5b 24 6f 66 73 5d 2c 20 24 69 29 2e 27 3c 2f 68 6c 3e 27 29 3b tr($matches[$ofs],.$i).'</hl>');
b5f60 0a 0a 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 22 5c 30 33 33 38 22 29 3b 0a 7d 0a 7d 0a ...$output->write("\0338");.}.}.
b5f80 0a 0a 20 73 68 65 6c 6c 5f 65 78 65 63 28 73 70 72 69 6e 74 66 28 27 73 74 74 79 20 25 73 27 2c ...shell_exec(sprintf('stty.%s',
b5fa0 20 24 73 74 74 79 4d 6f 64 65 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 74 72 6c 65 6e 28 24 .$sttyMode));.}..return.strlen($
b5fc0 72 65 74 29 20 3e 20 30 20 3f 20 24 72 65 74 20 3a 20 24 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a 0a ret).>.0.?.$ret.:.$default;.}...
b5fe0 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 43 6f 6e ..........public.function.askCon
b6000 66 69 72 6d 61 74 69 6f 6e 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 firmation(OutputInterface.$outpu
b6020 74 2c 20 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 t,.$question,.$default.=.true).{
b6040 0a 24 61 6e 73 77 65 72 20 3d 20 27 7a 27 3b 0a 77 68 69 6c 65 20 28 24 61 6e 73 77 65 72 20 26 .$answer.=.'z';.while.($answer.&
b6060 26 20 21 69 6e 5f 61 72 72 61 79 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 61 6e 73 77 65 72 5b 30 &.!in_array(strtolower($answer[0
b6080 5d 29 2c 20 61 72 72 61 79 28 27 79 27 2c 20 27 6e 27 29 29 29 20 7b 0a 24 61 6e 73 77 65 72 20 ]),.array('y',.'n'))).{.$answer.
b60a0 3d 20 24 74 68 69 73 2d 3e 61 73 6b 28 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 29 =.$this->ask($output,.$question)
b60c0 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 64 65 66 61 75 6c 74 29 20 7b 0a 72 ;.}..if.(false.===.$default).{.r
b60e0 65 74 75 72 6e 20 24 61 6e 73 77 65 72 20 26 26 20 27 79 27 20 3d 3d 20 73 74 72 74 6f 6c 6f 77 eturn.$answer.&&.'y'.==.strtolow
b6100 65 72 28 24 61 6e 73 77 65 72 5b 30 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 21 24 61 6e 73 77 er($answer[0]);.}..return.!$answ
b6120 65 72 20 7c 7c 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[
b6140 30 5d 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 63 74 69 0]);.}.............public.functi
b6160 6f 6e 20 61 73 6b 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 72 on.askHiddenResponse(OutputInter
b6180 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 2c 20 24 66 61 6c 6c 62 61 face.$output,.$question,.$fallba
b61a0 63 6b 20 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 50 48 50 5f 57 49 ck.=.true).{.if.(defined('PHP_WI
b61c0 4e 44 4f 57 53 5f 56 45 52 53 49 4f 4e 5f 42 55 49 4c 44 27 29 29 20 7b 0a 24 65 78 65 20 3d 20 NDOWS_VERSION_BUILD')).{.$exe.=.
b61e0 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 6e 2f 68 69 64 64 65 __DIR__.'/../Resources/bin/hidde
b6200 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 3a 27 20 3d 3d 3d 20 ninput.exe';....if.('phar:'.===.
b6220 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 74 6d 70 45 78 substr(__FILE__,.0,.5)).{.$tmpEx
b6240 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 68 69 64 64 65 6e 69 e.=.sys_get_temp_dir().'/hiddeni
b6260 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 70 45 78 65 29 3b 0a nput.exe';.copy($exe,.$tmpExe);.
b6280 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 74 2d 3e 77 72 69 74 $exe.=.$tmpExe;.}..$output->writ
b62a0 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 72 69 6d 28 73 68 65 e($question);.$value.=.rtrim(she
b62c0 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 77 72 69 74 65 6c 6e ll_exec($exe));.$output->writeln
b62e0 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 29 20 7b 0a 75 6e 6c ('');..if.(isset($tmpExe)).{.unl
b6300 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 76 61 6c 75 65 3b 0a ink($tmpExe);.}..return.$value;.
b6320 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 6c 61 62 6c 65 28 29 }..if.($this->hasSttyAvailable()
b6340 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 69 6f 6e 29 3b 0a 0a ).{.$output->write($question);..
b6360 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 74 74 79 20 2d 67 27 $sttyMode.=.shell_exec('stty.-g'
b6380 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 6f 27 29 3b 0a 24 76 );..shell_exec('stty.-echo');.$v
b63a0 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 53 74 72 65 61 6d 20 alue.=.fgets($this->inputStream.
b63c0 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 65 63 28 73 70 72 69 ?:.STDIN,.4096);.shell_exec(spri
b63e0 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 0a 0a 69 66 20 ntf('stty.%s',.$sttyMode));..if.
b6400 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 6e 65 77 20 5c (false.===.$value).{.throw.new.\
b6420 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 0a 7d 0a 0a RuntimeException('Aborted');.}..
b6440 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 75 74 2d 3e $value.=.trim($value);.$output->
b6460 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 0a 7d 0a 0a writeln('');..return.$value;.}..
b6480 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 2d 3e 67 65 if.(false.!==.$shell.=.$this->ge
b64a0 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 28 24 71 75 65 73 tShell()).{.$output->write($ques
b64c0 74 69 6f 6e 29 3b 0a 24 72 65 61 64 43 6d 64 20 3d 20 24 73 68 65 6c 6c 20 3d 3d 3d 20 27 63 73 tion);.$readCmd.=.$shell.===.'cs
b64e0 68 27 20 3f 20 27 73 65 74 20 6d 79 70 61 73 73 77 6f 72 64 20 3d 20 24 3c 27 20 3a 20 27 72 65 h'.?.'set.mypassword.=.$<'.:.'re
b6500 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 64 20 3d 20 73 70 ad.-r.mypassword';.$command.=.sp
b6520 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 27 73 74 74 79 20 rintf("/usr/bin/env.%s.-c.'stty.
b6540 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 20 5c 24 6d 79 70 -echo;.%s;.stty.echo;.echo.\$myp
b6560 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 64 29 3b 0a 24 76 assword'",.$shell,.$readCmd);.$v
b6580 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 6f 6d 6d 61 6e 64 alue.=.rtrim(shell_exec($command
b65a0 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 0a 72 65 74 75 72 ));.$output->writeln('');..retur
b65c0 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 29 20 7b 0a 72 65 n.$value;.}..if.($fallback).{.re
b65e0 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 71 75 65 73 74 69 turn.$this->ask($output,.$questi
b6600 6f 6e 29 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 74 on);.}..throw.new.\RuntimeExcept
b6620 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 70 6f 6e 73 65 ion('Unable.to.hide.the.response
b6640 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 62 6c 69 63 20 ');.}....................public.
b6660 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 70 75 74 49 6e function.askAndValidate(OutputIn
b6680 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 20 24 76 61 6c terface.$output,.$question,.$val
b66a0 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 24 64 65 66 61 idator,.$attempts.=.false,.$defa
b66c0 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 6c 65 74 65 20 ult.=.null,.array.$autocomplete.
b66e0 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 69 6e 74 65 72 =.null).{.$that.=.$this;..$inter
b6700 76 69 65 77 65 72 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20 75 73 65 20 28 24 6f 75 74 70 75 74 viewer.=.function().use.($output
b6720 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 74 6f 63 6f 6d 70 ,.$question,.$default,.$autocomp
b6740 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 74 2d 3e 61 73 6b lete,.$that).{.return.$that->ask
b6760 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 75 6c 74 2c 20 24 ($output,.$question,.$default,.$
b6780 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 24 74 68 69 73 2d autocomplete);.};..return.$this-
b67a0 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 65 77 65 72 2c 20 >validateAttempts($interviewer,.
b67c0 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 6d 70 74 73 29 3b $output,.$validator,.$attempts);
b67e0 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 75 .}.....................public.fu
b6800 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 56 61 6c 69 64 nction.askHiddenResponseAndValid
b6820 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 2c 20 24 71 75 ate(OutputInterface.$output,.$qu
b6840 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 74 73 20 3d 20 estion,.$validator,.$attempts.=.
b6860 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 24 74 68 61 74 false,.$fallback.=.true).{.$that
b6880 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 75 6e 63 74 69 .=.$this;..$interviewer.=.functi
b68a0 6f 6e 28 29 20 75 73 65 20 28 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 2c 20 24 66 on().use.($output,.$question,.$f
b68c0 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 74 68 61 74 2d 3e allback,.$that).{.return.$that->
b68e0 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 20 24 71 75 65 73 askHiddenResponse($output,.$ques
b6900 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 72 6e 20 24 74 68 tion,.$fallback);.};..return.$th
b6920 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 65 77 65 is->validateAttempts($interviewe
b6940 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 6d 70 74 r,.$output,.$validator,.$attempt
b6960 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 20 73 65 s);.}.........public.function.se
b6980 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 68 69 73 2d 3e 69 tInputStream($stream).{.$this->i
b69a0 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 0a 0a 0a 0a 70 75 nputStream.=.$stream;.}.......pu
b69c0 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 61 6d 28 29 0a 7b blic.function.getInputStream().{
b69e0 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 3b 0a 7d 0a 0a 0a .return.$this->inputStream;.}...
b6a00 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 65 ..public.function.getName().{.re
b6a20 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 76 61 74 65 20 66 turn.'dialog';.}.......private.f
b6a40 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 75 6c 6c 20 21 3d unction.getShell().{.if.(null.!=
b6a60 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 65 6c 66 3a 3a 24 =.self::$shell).{.return.self::$
b6a80 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 61 6c 73 65 3b 0a shell;.}..self::$shell.=.false;.
b6aa0 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 2f 65 6e 76 27 29 .if.(file_exists('/usr/bin/env')
b6ac0 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 76 20 25 73 20 2d ).{...$test.=."/usr/bin/env.%s.-
b6ae0 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 0a 66 6f 72 65 61 c.'echo.OK'.2>./dev/null";.forea
b6b00 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 6b 73 68 27 2c 20 ch.(array('bash',.'zsh',.'ksh',.
b6b20 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 3d 3d 3d 20 72 74 'csh').as.$sh).{.if.('OK'.===.rt
b6b40 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 73 74 2c 20 24 73 rim(shell_exec(sprintf($test,.$s
b6b60 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 3b 0a 62 72 65 61 h)))).{.self::$shell.=.$sh;.brea
b6b80 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 65 6c 6c 3b 0a 7d k;.}.}.}..return.self::$shell;.}
b6ba0 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 41 76 61 69 6c 61 ..private.function.hasSttyAvaila
b6bc0 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 3a 24 73 74 74 79 ble().{.if.(null.!==.self::$stty
b6be0 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 0a 65 78 65 63 28 ).{.return.self::$stty;.}..exec(
b6c00 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 74 63 6f 64 65 29 'stty.2>&1',.$output,.$exitcode)
b6c20 3b 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 74 74 79 20 3d 20 24 65 78 69 74 63 6f 64 ;..return.self::$stty.=.$exitcod
b6c40 65 20 3d 3d 3d 20 30 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 e.===.0;.}..............private.
b6c60 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 24 69 6e 74 65 72 function.validateAttempts($inter
b6c80 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 75 74 70 75 74 2c viewer,.OutputInterface.$output,
b6ca0 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 24 65 72 72 6f 72 .$validator,.$attempts).{.$error
b6cc0 20 3d 20 6e 75 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 .=.null;.while.(false.===.$attem
b6ce0 70 74 73 20 7c 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 pts.||.$attempts--).{.if.(null.!
b6d00 3d 3d 20 24 65 72 72 6f 72 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 74 ==.$error).{.$output->writeln($t
b6d20 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 66 6f 72 6d 61 74 his->getHelperSet()->get('format
b6d40 74 65 72 27 29 2d 3e 66 6f 72 6d 61 74 42 6c 6f 63 6b 28 24 65 72 72 6f 72 2d 3e 67 65 74 4d 65 ter')->formatBlock($error->getMe
b6d60 73 73 61 67 65 28 29 2c 20 27 65 72 72 6f 72 27 29 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 72 65 74 ssage(),.'error'));.}..try.{.ret
b6d80 75 72 6e 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 76 61 6c 69 64 61 74 6f 72 2c 20 24 urn.call_user_func($validator,.$
b6da0 69 6e 74 65 72 76 69 65 77 65 72 28 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 interviewer());.}.catch.(\Except
b6dc0 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 72 6f 72 3b ion.$error).{.}.}..throw.$error;
b6de0 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
b6e00 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;
b6e20 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 48 65 6c 70 65 72 20 69 6d 70 .......abstract.class.Helper.imp
b6e40 6c 65 6d 65 6e 74 73 20 48 65 6c 70 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 lements.HelperInterface.{.protec
b6e60 74 65 64 20 24 68 65 6c 70 65 72 53 65 74 20 3d 20 6e 75 6c 6c 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 ted.$helperSet.=.null;.......pub
b6e80 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 6c 70 65 72 lic.function.setHelperSet(Helper
b6ea0 53 65 74 20 24 68 65 6c 70 65 72 53 65 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e Set.$helperSet.=.null).{.$this->
b6ec0 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 0a 0a helperSet.=.$helperSet;.}.......
b6ee0 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 0a 7b public.function.getHelperSet().{
b6f00 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 3b 0a 7d 0a 0a 0a 0a 0a .return.$this->helperSet;.}.....
b6f20 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 74 72 6c 65 6e 28 24 73 ....protected.function.strlen($s
b6f40 74 72 69 6e 67 29 0a 7b 0a 69 66 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 6d tring).{.if.(!function_exists('m
b6f60 62 5f 73 74 72 6c 65 6e 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 6c 65 6e 28 24 73 74 72 b_strlen')).{.return.strlen($str
b6f80 69 6e 67 29 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 ing);.}..if.(false.===.$encoding
b6fa0 20 3d 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 20 .=.mb_detect_encoding($string)).
b6fc0 7b 0a 72 65 74 75 72 6e 20 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
b6fe0 75 72 6e 20 6d 62 5f 73 74 72 6c 65 6e 28 24 73 74 72 69 6e 67 2c 20 24 65 6e 63 6f 64 69 6e 67 urn.mb_strlen($string,.$encoding
b7000 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
b7020 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 65 .Symfony\Component\Console\Helpe
b7040 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 6c r;..use.Symfony\Component\Consol
b7060 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 0a 0a e\Output\OutputInterface;.......
b7080 0a 63 6c 61 73 73 20 50 72 6f 67 72 65 73 73 48 65 6c 70 65 72 20 65 78 74 65 6e 64 73 20 48 65 .class.ProgressHelper.extends.He
b70a0 6c 70 65 72 0a 7b 0a 63 6f 6e 73 74 20 46 4f 52 4d 41 54 5f 51 55 49 45 54 20 3d 20 27 20 25 70 lper.{.const.FORMAT_QUIET.=.'.%p
b70c0 65 72 63 65 6e 74 25 25 27 3b 0a 63 6f 6e 73 74 20 46 4f 52 4d 41 54 5f 4e 4f 52 4d 41 4c 20 3d ercent%%';.const.FORMAT_NORMAL.=
b70e0 20 27 20 25 63 75 72 72 65 6e 74 25 2f 25 6d 61 78 25 20 5b 25 62 61 72 25 5d 20 25 70 65 72 63 .'.%current%/%max%.[%bar%].%perc
b7100 65 6e 74 25 25 27 3b 0a 63 6f 6e 73 74 20 46 4f 52 4d 41 54 5f 56 45 52 42 4f 53 45 20 3d 20 27 ent%%';.const.FORMAT_VERBOSE.=.'
b7120 20 25 63 75 72 72 65 6e 74 25 2f 25 6d 61 78 25 20 5b 25 62 61 72 25 5d 20 25 70 65 72 63 65 6e .%current%/%max%.[%bar%].%percen
b7140 74 25 25 20 45 6c 61 70 73 65 64 3a 20 25 65 6c 61 70 73 65 64 25 27 3b 0a 63 6f 6e 73 74 20 46 t%%.Elapsed:.%elapsed%';.const.F
b7160 4f 52 4d 41 54 5f 51 55 49 45 54 5f 4e 4f 4d 41 58 20 3d 20 27 20 25 63 75 72 72 65 6e 74 25 27 ORMAT_QUIET_NOMAX.=.'.%current%'
b7180 3b 0a 63 6f 6e 73 74 20 46 4f 52 4d 41 54 5f 4e 4f 52 4d 41 4c 5f 4e 4f 4d 41 58 20 3d 20 27 20 ;.const.FORMAT_NORMAL_NOMAX.=.'.
b71a0 25 63 75 72 72 65 6e 74 25 20 5b 25 62 61 72 25 5d 27 3b 0a 63 6f 6e 73 74 20 46 4f 52 4d 41 54 %current%.[%bar%]';.const.FORMAT
b71c0 5f 56 45 52 42 4f 53 45 5f 4e 4f 4d 41 58 20 3d 20 27 20 25 63 75 72 72 65 6e 74 25 20 5b 25 62 _VERBOSE_NOMAX.=.'.%current%.[%b
b71e0 61 72 25 5d 20 45 6c 61 70 73 65 64 3a 20 25 65 6c 61 70 73 65 64 25 27 3b 0a 0a 0a 20 70 72 69 ar%].Elapsed:.%elapsed%';....pri
b7200 76 61 74 65 20 24 62 61 72 57 69 64 74 68 20 3d 20 32 38 3b 0a 70 72 69 76 61 74 65 20 24 62 61 vate.$barWidth.=.28;.private.$ba
b7220 72 43 68 61 72 20 3d 20 27 3d 27 3b 0a 70 72 69 76 61 74 65 20 24 65 6d 70 74 79 42 61 72 43 68 rChar.=.'=';.private.$emptyBarCh
b7240 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 43 68 61 72 20 ar.=.'-';.private.$progressChar.
b7260 3d 20 27 3e 27 3b 0a 70 72 69 76 61 74 65 20 24 66 6f 72 6d 61 74 20 3d 20 6e 75 6c 6c 3b 0a 70 =.'>';.private.$format.=.null;.p
b7280 72 69 76 61 74 65 20 24 72 65 64 72 61 77 46 72 65 71 20 3d 20 31 3b 0a 0a 70 72 69 76 61 74 65 rivate.$redrawFreq.=.1;..private
b72a0 20 24 6c 61 73 74 4d 65 73 73 61 67 65 73 4c 65 6e 67 74 68 3b 0a 70 72 69 76 61 74 65 20 24 62 .$lastMessagesLength;.private.$b
b72c0 61 72 43 68 61 72 4f 72 69 67 69 6e 61 6c 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6f 75 74 arCharOriginal;.....private.$out
b72e0 70 75 74 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 75 72 72 65 6e 74 3b 0a 0a 0a 0a put;.......private.$current;....
b7300 0a 0a 0a 70 72 69 76 61 74 65 20 24 6d 61 78 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 ...private.$max;.......private.$
b7320 73 74 61 72 74 54 69 6d 65 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 64 65 66 61 75 6c startTime;.......private.$defaul
b7340 74 46 6f 72 6d 61 74 56 61 72 73 20 3d 20 61 72 72 61 79 28 0a 27 63 75 72 72 65 6e 74 27 2c 0a tFormatVars.=.array(.'current',.
b7360 27 6d 61 78 27 2c 0a 27 62 61 72 27 2c 0a 27 70 65 72 63 65 6e 74 27 2c 0a 27 65 6c 61 70 73 65 'max',.'bar',.'percent',.'elapse
b7380 64 27 2c 0a 29 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 66 6f 72 6d 61 74 56 61 72 73 d',.);.......private.$formatVars
b73a0 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 77 69 64 74 68 73 20 3d 20 61 72 72 61 79 28 ;.......private.$widths.=.array(
b73c0 0a 27 63 75 72 72 65 6e 74 27 20 3d 3e 20 34 2c 0a 27 6d 61 78 27 20 3d 3e 20 34 2c 0a 27 70 65 .'current'.=>.4,.'max'.=>.4,.'pe
b73e0 72 63 65 6e 74 27 20 3d 3e 20 33 2c 0a 27 65 6c 61 70 73 65 64 27 20 3d 3e 20 36 2c 0a 29 3b 0a rcent'.=>.3,.'elapsed'.=>.6,.);.
b7400 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 74 69 6d 65 46 6f 72 6d 61 74 73 20 3d 20 61 72 72 ......private.$timeFormats.=.arr
b7420 61 79 28 0a 61 72 72 61 79 28 30 2c 20 27 3f 3f 3f 27 29 2c 0a 61 72 72 61 79 28 32 2c 20 27 31 ay(.array(0,.'???'),.array(2,.'1
b7440 20 73 65 63 27 29 2c 0a 61 72 72 61 79 28 35 39 2c 20 27 73 65 63 73 27 2c 20 31 29 2c 0a 61 72 .sec'),.array(59,.'secs',.1),.ar
b7460 72 61 79 28 36 30 2c 20 27 31 20 6d 69 6e 27 29 2c 0a 61 72 72 61 79 28 33 36 30 30 2c 20 27 6d ray(60,.'1.min'),.array(3600,.'m
b7480 69 6e 73 27 2c 20 36 30 29 2c 0a 61 72 72 61 79 28 35 34 30 30 2c 20 27 31 20 68 72 27 29 2c 0a ins',.60),.array(5400,.'1.hr'),.
b74a0 61 72 72 61 79 28 38 36 34 30 30 2c 20 27 68 72 73 27 2c 20 33 36 30 30 29 2c 0a 61 72 72 61 79 array(86400,.'hrs',.3600),.array
b74c0 28 31 32 39 36 30 30 2c 20 27 31 20 64 61 79 27 29 2c 0a 61 72 72 61 79 28 36 30 34 38 30 30 2c (129600,.'1.day'),.array(604800,
b74e0 20 27 64 61 79 73 27 2c 20 38 36 34 30 30 29 2c 0a 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 .'days',.86400),.);.......public
b7500 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 42 61 72 57 69 64 74 68 28 24 73 69 7a 65 29 0a 7b 0a 24 .function.setBarWidth($size).{.$
b7520 74 68 69 73 2d 3e 62 61 72 57 69 64 74 68 20 3d 20 28 69 6e 74 29 20 24 73 69 7a 65 3b 0a 7d 0a this->barWidth.=.(int).$size;.}.
b7540 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 42 61 72 43 68 61 72 ......public.function.setBarChar
b7560 61 63 74 65 72 28 24 63 68 61 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 61 72 43 68 61 72 20 3d 20 acter($char).{.$this->barChar.=.
b7580 24 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 73 $char;.}.......public.function.s
b75a0 65 74 45 6d 70 74 79 42 61 72 43 68 61 72 61 63 74 65 72 28 24 63 68 61 72 29 0a 7b 0a 24 74 68 etEmptyBarCharacter($char).{.$th
b75c0 69 73 2d 3e 65 6d 70 74 79 42 61 72 43 68 61 72 20 3d 20 24 63 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a is->emptyBarChar.=.$char;.}.....
b75e0 0a 0a 70 75 62 6c 69 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 ..public.function.setProgressCha
b7600 72 61 63 74 65 72 28 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 racter($char).{.$this->progressC
b7620 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 6e 63 har.=.$char;.}.......public.func
b7640 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 24 74 68 69 73 2d tion.setFormat($format).{.$this-
b7660 3e 66 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 75 62 6c 69 >format.=.$format;.}.......publi
b7680 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 79 28 24 66 c.function.setRedrawFrequency($f
b76a0 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 28 69 6e 74 29 req).{.$this->redrawFreq.=.(int)
b76c0 20 24 66 72 65 71 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 .$freq;.}........public.function
b76e0 20 73 74 61 72 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 .start(OutputInterface.$output,.
b7700 24 6d 61 78 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 20 $max.=.null).{.$this->startTime.
b7720 3d 20 74 69 6d 65 28 29 3b 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 20 3d 20 30 3b 0a 24 74 =.time();.$this->current.=.0;.$t
b7740 68 69 73 2d 3e 6d 61 78 20 3d 20 28 69 6e 74 29 20 24 6d 61 78 3b 0a 24 74 68 69 73 2d 3e 6f 75 his->max.=.(int).$max;.$this->ou
b7760 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 tput.=.$output;..if.(null.===.$t
b7780 68 69 73 2d 3e 66 6f 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 his->format).{.switch.($output->
b77a0 67 65 74 56 65 72 62 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 getVerbosity()).{.case.OutputInt
b77c0 65 72 66 61 63 65 3a 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 erface::VERBOSITY_QUIET:.$this->
b77e0 66 6f 72 6d 61 74 20 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 format.=.self::FORMAT_QUIET_NOMA
b7800 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 74 68 69 73 2d 3e X;.if.($this->max.>.0).{.$this->
b7820 66 6f 72 6d 61 74 20 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 format.=.self::FORMAT_QUIET;.}.b
b7840 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 3a 56 45 52 42 reak;.case.OutputInterface::VERB
b7860 4f 53 49 54 59 5f 56 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 OSITY_VERBOSE:.case.OutputInterf
b7880 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 63 61 73 ace::VERBOSITY_VERY_VERBOSE:.cas
b78a0 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 44 45 42 e.OutputInterface::VERBOSITY_DEB
b78c0 55 47 3a 0a 24 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 UG:.$this->format.=.self::FORMAT
b78e0 5f 56 45 52 42 4f 53 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 _VERBOSE_NOMAX;.if.($this->max.>
b7900 20 30 29 20 7b 0a 24 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 .0).{.$this->format.=.self::FORM
b7920 41 54 5f 56 45 52 42 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 AT_VERBOSE;.}.break;.default:.$t
b7940 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 4e 4f 52 4d 41 his->format.=.self::FORMAT_NORMA
b7960 4c 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 L_NOMAX;.if.($this->max.>.0).{.$
b7980 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 4e 4f 52 4d this->format.=.self::FORMAT_NORM
b79a0 41 4c 3b 0a 7d 0a 62 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 AL;.}.break;.}.}..$this->initial
b79c0 69 7a 65 28 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 ize();.}..........public.functio
b79e0 6e 20 61 64 76 61 6e 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 n.advance($step.=.1,.$redraw.=.f
b7a00 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 73 2d 3e 73 74 61 72 alse).{.if.(null.===.$this->star
b7a20 74 54 69 6d 65 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 tTime).{.throw.new.\LogicExcepti
b7a40 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 20 on('You.must.start.the.progress.
b7a60 62 61 72 20 62 65 66 6f 72 65 20 63 61 6c 6c 69 6e 67 20 61 64 76 61 6e 63 65 28 29 2e 27 29 3b bar.before.calling.advance().');
b7a80 0a 7d 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 29 20 7b 0a .}..if.(0.===.$this->current).{.
b7aa0 24 72 65 64 72 61 77 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 6e $redraw.=.true;.}..$this->curren
b7ac0 74 20 2b 3d 20 24 73 74 65 70 3b 0a 69 66 20 28 24 72 65 64 72 61 77 20 7c 7c 20 30 20 3d 3d 3d t.+=.$step;.if.($redraw.||.0.===
b7ae0 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 20 25 20 24 74 68 69 73 2d 3e 72 65 64 72 61 77 46 .$this->current.%.$this->redrawF
b7b00 72 65 71 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 req).{.$this->display();.}.}....
b7b20 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 75 72 72 65 6e 74 ......public.function.setCurrent
b7b40 28 24 63 75 72 72 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 ($current,.$redraw.=.false).{.if
b7b60 20 28 6e 75 6c 6c 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 .(null.===.$this->startTime).{.t
b7b80 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 59 6f 75 20 6d 75 hrow.new.\LogicException('You.mu
b7ba0 73 74 20 73 74 61 72 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 st.start.the.progress.bar.before
b7bc0 20 63 61 6c 6c 69 6e 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 .calling.setCurrent().');.}..$cu
b7be0 72 72 65 6e 74 20 3d 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 rrent.=.(int).$current;..if.($cu
b7c00 72 72 65 6e 74 20 3c 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 rrent.<.$this->current).{.throw.
b7c20 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 63 61 6e 5c 27 74 20 new.\LogicException('You.can\'t.
b7c40 72 65 67 72 65 73 73 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 62 61 72 27 29 3b 0a 7d 0a 0a 69 regress.the.progress.bar');.}..i
b7c60 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 29 20 7b 0a 24 72 65 64 72 f.(0.===.$this->current).{.$redr
b7c80 61 77 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 20 3d 20 24 aw.=.true;.}..$this->current.=.$
b7ca0 63 75 72 72 65 6e 74 3b 0a 69 66 20 28 24 72 65 64 72 61 77 20 7c 7c 20 30 20 3d 3d 3d 20 24 74 current;.if.($redraw.||.0.===.$t
b7cc0 68 69 73 2d 3e 63 75 72 72 65 6e 74 20 25 20 24 74 68 69 73 2d 3e 72 65 64 72 61 77 46 72 65 71 his->current.%.$this->redrawFreq
b7ce0 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 0a 0a ).{.$this->display();.}.}.......
b7d00 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 69 73 ..public.function.display($finis
b7d20 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 73 2d h.=.false).{.if.(null.===.$this-
b7d40 3e 73 74 61 72 74 54 69 6d 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 >startTime).{.throw.new.\LogicEx
b7d60 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 67 ception('You.must.start.the.prog
b7d80 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 28 ress.bar.before.calling.display(
b7da0 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 61 ).');.}..$message.=.$this->forma
b7dc0 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 6e t;.foreach.($this->generate($fin
b7de0 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 73 ish).as.$name.=>.$value).{.$mess
b7e00 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 24 age.=.str_replace("%{$name}%",.$
b7e20 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 77 value,.$message);.}.$this->overw
b7e40 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 7d rite($this->output,.$message);.}
b7e60 0a 0a 0a 0a 0a 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 .....public.function.finish().{.
b7e80 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 29 20 7b if.(null.===.$this->startTime).{
b7ea0 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 59 6f 75 20 .throw.new.\LogicException('You.
b7ec0 6d 75 73 74 20 73 74 61 72 74 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 62 61 72 20 62 65 66 6f must.start.the.progress.bar.befo
b7ee0 72 65 20 63 61 6c 6c 69 6e 67 20 66 69 6e 69 73 68 28 29 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 6e re.calling.finish().');.}..if.(n
b7f00 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 7b 0a 69 66 20 28 ull.!==.$this->startTime).{.if.(
b7f20 21 24 74 68 69 73 2d 3e 6d 61 78 29 20 7b 0a 24 74 68 69 73 2d 3e 62 61 72 43 68 61 72 20 3d 20 !$this->max).{.$this->barChar.=.
b7f40 24 74 68 69 73 2d 3e 62 61 72 43 68 61 72 4f 72 69 67 69 6e 61 6c 3b 0a 24 74 68 69 73 2d 3e 64 $this->barCharOriginal;.$this->d
b7f60 69 73 70 6c 61 79 28 74 72 75 65 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 isplay(true);.}.$this->startTime
b7f80 20 3d 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 .=.null;.$this->output->writeln(
b7fa0 27 27 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 0a '');.$this->output.=.null;.}.}..
b7fc0 0a 0a 0a 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 28 29 ...private.function.initialize()
b7fe0 0a 7b 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 56 61 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a .{.$this->formatVars.=.array();.
b8000 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 46 6f 72 6d 61 74 56 61 72 foreach.($this->defaultFormatVar
b8020 73 20 61 73 20 24 76 61 72 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f s.as.$var).{.if.(false.!==.strpo
b8040 73 28 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 2c 20 22 25 7b 24 76 61 72 7d 25 22 29 29 20 7b 0a s($this->format,."%{$var}%")).{.
b8060 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 56 61 72 73 5b 24 76 61 72 5d 20 3d 20 74 72 75 65 3b 0a $this->formatVars[$var].=.true;.
b8080 7d 0a 7d 0a 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 }.}..if.($this->max.>.0).{.$this
b80a0 2d 3e 77 69 64 74 68 73 5b 27 6d 61 78 27 5d 20 3d 20 24 74 68 69 73 2d 3e 73 74 72 6c 65 6e 28 ->widths['max'].=.$this->strlen(
b80c0 24 74 68 69 73 2d 3e 6d 61 78 29 3b 0a 24 74 68 69 73 2d 3e 77 69 64 74 68 73 5b 27 63 75 72 72 $this->max);.$this->widths['curr
b80e0 65 6e 74 27 5d 20 3d 20 24 74 68 69 73 2d 3e 77 69 64 74 68 73 5b 27 6d 61 78 27 5d 3b 0a 7d 20 ent'].=.$this->widths['max'];.}.
b8100 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 62 61 72 43 68 61 72 4f 72 69 67 69 6e 61 6c 20 3d 20 else.{.$this->barCharOriginal.=.
b8120 24 74 68 69 73 2d 3e 62 61 72 43 68 61 72 3b 0a 24 74 68 69 73 2d 3e 62 61 72 43 68 61 72 20 3d $this->barChar;.$this->barChar.=
b8140 20 24 74 68 69 73 2d 3e 65 6d 70 74 79 42 61 72 43 68 61 72 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a .$this->emptyBarChar;.}.}.......
b8160 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 28 24 66 69 6e ..private.function.generate($fin
b8180 69 73 68 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 76 61 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a ish.=.false).{.$vars.=.array();.
b81a0 24 70 65 72 63 65 6e 74 20 3d 20 30 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6d 61 78 20 3e 20 30 $percent.=.0;.if.($this->max.>.0
b81c0 29 20 7b 0a 24 70 65 72 63 65 6e 74 20 3d 20 28 64 6f 75 62 6c 65 29 20 72 6f 75 6e 64 28 24 74 ).{.$percent.=.(double).round($t
b81e0 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 2c 20 32 29 3b 0a 7d his->current./.$this->max,.2);.}
b8200 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 27 62 ..if.(isset($this->formatVars['b
b8220 61 72 27 5d 29 29 20 7b 0a 24 63 6f 6d 70 6c 65 74 65 42 61 72 73 20 3d 20 30 3b 0a 24 65 6d 70 ar'])).{.$completeBars.=.0;.$emp
b8240 74 79 42 61 72 73 20 3d 20 30 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6d 61 78 20 3e 20 30 29 20 tyBars.=.0;.if.($this->max.>.0).
b8260 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 70 65 72 63 65 6e 74 {.$completeBars.=.floor($percent
b8280 20 2a 20 24 74 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 .*.$this->barWidth);.}.else.{.if
b82a0 20 28 21 24 66 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 .(!$finish).{.$completeBars.=.fl
b82c0 6f 6f 72 28 24 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 oor($this->current.%.$this->barW
b82e0 69 64 74 68 29 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 idth);.}.else.{.$completeBars.=.
b8300 24 74 68 69 73 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 $this->barWidth;.}.}..$emptyBars
b8320 20 3d 20 24 74 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 .=.$this->barWidth.-.$completeBa
b8340 72 73 20 2d 20 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 rs.-.$this->strlen($this->progre
b8360 73 73 43 68 61 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 ssChar);.$bar.=.str_repeat($this
b8380 2d 3e 62 61 72 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 ->barChar,.$completeBars);.if.($
b83a0 63 6f 6d 70 6c 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 completeBars.<.$this->barWidth).
b83c0 7b 0a 24 62 61 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 {.$bar..=.$this->progressChar;.$
b83e0 62 61 72 20 2e 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 bar..=.str_repeat($this->emptyBa
b8400 72 43 68 61 72 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 rChar,.$emptyBars);.}..$vars['ba
b8420 72 27 5d 20 3d 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 r'].=.$bar;.}..if.(isset($this->
b8440 66 6f 72 6d 61 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 formatVars['elapsed'])).{.$elaps
b8460 65 64 20 3d 20 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 ed.=.time().-.$this->startTime;.
b8480 24 76 61 72 73 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 $vars['elapsed'].=.str_pad($this
b84a0 2d 3e 68 75 6d 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 ->humaneTime($elapsed),.$this->w
b84c0 69 64 74 68 73 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 idths['elapsed'],.'.',.STR_PAD_L
b84e0 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 61 74 EFT);.}..if.(isset($this->format
b8500 56 61 72 73 5b 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 Vars['current'])).{.$vars['curre
b8520 6e 74 27 5d 20 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 nt'].=.str_pad($this->current,.$
b8540 74 68 69 73 2d 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 this->widths['current'],.'.',.ST
b8560 52 5f 50 41 44 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 R_PAD_LEFT);.}..if.(isset($this-
b8580 3e 66 6f 72 6d 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 >formatVars['max'])).{.$vars['ma
b85a0 78 27 5d 20 3d 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 x'].=.$this->max;.}..if.(isset($
b85c0 74 68 69 73 2d 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 this->formatVars['percent'])).{.
b85e0 24 76 61 72 73 5b 27 70 65 72 63 65 6e 74 27 5d 20 3d 20 73 74 72 5f 70 61 64 28 24 70 65 72 63 $vars['percent'].=.str_pad($perc
b8600 65 6e 74 20 2a 20 31 30 30 2c 20 24 74 68 69 73 2d 3e 77 69 64 74 68 73 5b 27 70 65 72 63 65 6e ent.*.100,.$this->widths['percen
b8620 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 74 75 t'],.'.',.STR_PAD_LEFT);.}..retu
b8640 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 6e 63 rn.$vars;.}.........private.func
b8660 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 20 3d tion.humaneTime($secs).{.$text.=
b8680 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 74 73 .'';.foreach.($this->timeFormats
b86a0 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 72 6d .as.$format).{.if.($secs.<.$form
b86c0 61 74 5b 30 5d 29 20 7b 0a 69 66 20 28 63 6f 75 6e 74 28 24 66 6f 72 6d 61 74 29 20 3d 3d 20 32 at[0]).{.if.(count($format).==.2
b86e0 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 3b 0a 7d ).{.$text.=.$format[1];.break;.}
b8700 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 24 66 6f .else.{.$text.=.ceil($secs./.$fo
b8720 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 6b 3b 0a rmat[2]).'.'.$format[1];.break;.
b8740 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 0a 70 72 }.}.}..return.$text;.}........pr
b8760 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 75 74 49 ivate.function.overwrite(OutputI
b8780 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 0a 24 6c nterface.$output,.$message).{.$l
b87a0 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 65 29 3b ength.=.$this->strlen($message);
b87c0 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 65 73 73 ....if.(null.!==.$this->lastMess
b87e0 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 61 67 65 agesLength.&&.$this->lastMessage
b8800 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 20 3d 20 sLength.>.$length).{.$message.=.
b8820 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 4d 65 73 str_pad($message,.$this->lastMes
b8840 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 52 49 47 sagesLength,."\x20",.STR_PAD_RIG
b8860 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 44 22 29 HT);.}....$output->write("\x0D")
b8880 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 24 74 68 ;.$output->write($message);..$th
b88a0 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 73 2d 3e is->lastMessagesLength.=.$this->
b88c0 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 63 20 66 strlen($message);.}.....public.f
b88e0 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 72 6f 67 unction.getName().{.return.'prog
b8900 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 6d 65 73 ress';.}.}.<?php...........names
b8920 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 45 pace.Symfony\Component\Console\E
b8940 76 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 vent;..use.Symfony\Component\Con
b8960 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 6f 6e sole\Command\Command;.use.Symfon
b8980 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
b89a0 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\
b89c0 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;.
b89e0 75 73 65 20 53 79 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 use.Symfony\Component\EventDispa
b8a00 74 63 68 65 72 5c 45 76 65 6e 74 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e 73 6f 6c 65 tcher\Event;.......class.Console
b8a20 45 76 65 6e 74 20 65 78 74 65 6e 64 73 20 45 76 65 6e 74 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 Event.extends.Event.{.protected.
b8a40 24 63 6f 6d 6d 61 6e 64 3b 0a 0a 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 3b 0a 70 72 69 76 61 $command;..private.$input;.priva
b8a60 74 65 20 24 6f 75 74 70 75 74 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 te.$output;..public.function.__c
b8a80 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 74 onstruct(Command.$command,.Input
b8aa0 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
b8ac0 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 20 3d 20 24 63 e.$output).{.$this->command.=.$c
b8ae0 6f 6d 6d 61 6e 64 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 ommand;.$this->input.=.$input;.$
b8b00 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a this->output.=.$output;.}.......
b8b20 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 0a 7b 0a 72 public.function.getCommand().{.r
b8b40 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 0a 0a 70 75 eturn.$this->command;.}.......pu
b8b60 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 74 75 72 blic.function.getInput().{.retur
b8b80 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 63 20 66 n.$this->input;.}.......public.f
b8ba0 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 24 74 68 unction.getOutput().{.return.$th
b8bc0 69 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 is->output;.}.}.<?php...........
b8be0 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
b8c00 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 6e 65 6e ole\Event;..use.Symfony\Componen
b8c20 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 20 53 t\Console\Command\Command;.use.S
b8c40 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
b8c60 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
b8c80 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
b8ca0 61 63 65 3b 0a 0a 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 ace;.......class.ConsoleTerminat
b8cc0 65 45 76 65 6e 74 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 eEvent.extends.ConsoleEvent.{...
b8ce0 0a 0a 0a 70 72 69 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 ...private.$exitCode;..public.fu
b8d00 6e 63 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 nction.__construct(Command.$comm
b8d20 61 6e 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 and,.InputInterface.$input,.Outp
b8d40 75 74 49 6e 74 65 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 utInterface.$output,.$exitCode).
b8d60 7b 0a 70 61 72 65 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 {.parent::__construct($command,.
b8d80 24 69 6e 70 75 74 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 $input,.$output);..$this->setExi
b8da0 74 43 6f 64 65 28 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 tCode($exitCode);.}.......public
b8dc0 20 66 75 6e 63 74 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 .function.setExitCode($exitCode)
b8de0 0a 7b 0a 24 74 68 69 73 2d 3e 65 78 69 74 43 6f 64 65 20 3d 20 24 65 78 69 74 43 6f 64 65 3b 0a .{.$this->exitCode.=.$exitCode;.
b8e00 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
b8e20 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;.
b8e40 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
b8e60 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 65 6e 74 3b 0a 0a mfony\Component\Console\Event;..
b8e80 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
b8ea0 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
b8ec0 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
b8ee0 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
b8f00 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 0a 0a 63 \Output\OutputInterface;.......c
b8f20 6c 61 73 73 20 43 6f 6e 73 6f 6c 65 46 6f 72 45 78 63 65 70 74 69 6f 6e 45 76 65 6e 74 20 65 78 lass.ConsoleForExceptionEvent.ex
b8f40 74 65 6e 64 73 20 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 0a 7b 0a 70 72 69 76 61 74 65 20 24 65 78 tends.ConsoleEvent.{.private.$ex
b8f60 63 65 70 74 69 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 65 78 69 74 43 6f 64 65 3b 0a 0a 70 75 62 ception;.private.$exitCode;..pub
b8f80 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 43 6f 6d 6d 61 6e 64 lic.function.__construct(Command
b8fa0 20 24 63 6f 6d 6d 61 6e 64 2c 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 .$command,.InputInterface.$input
b8fc0 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 5c 45 78 63 65 ,.OutputInterface.$output,.\Exce
b8fe0 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 2c 20 24 65 78 69 74 43 6f 64 65 29 0a 7b 0a 70 ption.$exception,.$exitCode).{.p
b9000 61 72 65 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 arent::__construct($command,.$in
b9020 70 75 74 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 63 65 70 74 put,.$output);..$this->setExcept
b9040 69 6f 6e 28 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 24 74 68 69 73 2d 3e 65 78 69 74 43 6f 64 65 ion($exception);.$this->exitCode
b9060 20 3d 20 24 65 78 69 74 43 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e .=.$exitCode;.}.......public.fun
b9080 63 74 69 6f 6e 20 67 65 74 45 78 63 65 70 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 ction.getException().{.return.$t
b90a0 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 his->exception;.}.........public
b90c0 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 78 63 65 70 74 69 6f 6e 28 5c 45 78 63 65 70 74 69 6f .function.setException(\Exceptio
b90e0 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e n.$exception).{.$this->exception
b9100 20 3d 20 24 65 78 63 65 70 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 .=.$exception;.}.......public.fu
b9120 6e 63 74 69 6f 6e 20 67 65 74 45 78 69 74 43 6f 64 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 nction.getExitCode().{.return.$t
b9140 68 69 73 2d 3e 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 his->exitCode;.}.}.<?php........
b9160 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
b9180 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
b91a0 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
b91c0 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
b91e0 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
b9200 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
b9220 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 43 6f 6d 6d 61 erface;.......class.ConsoleComma
b9240 6e 64 45 76 65 6e 74 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 0a 7b 0a 7d ndEvent.extends.ConsoleEvent.{.}
b9260 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
b9280 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 3b 0a 0a 0a 0a 0a 0a 0a 66 69 6e 61 ny\Component\Console;.......fina
b92a0 6c 20 63 6c 61 73 73 20 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 73 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a l.class.ConsoleEvents.{.........
b92c0 0a 0a 63 6f 6e 73 74 20 43 4f 4d 4d 41 4e 44 20 3d 20 27 63 6f 6e 73 6f 6c 65 2e 63 6f 6d 6d 61 ..const.COMMAND.=.'console.comma
b92e0 6e 64 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 54 45 52 4d 49 4e 41 54 45 20 3d nd';...........const.TERMINATE.=
b9300 20 27 63 6f 6e 73 6f 6c 65 2e 74 65 72 6d 69 6e 61 74 65 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a .'console.terminate';...........
b9320 0a 63 6f 6e 73 74 20 45 58 43 45 50 54 49 4f 4e 20 3d 20 27 63 6f 6e 73 6f 6c 65 2e 65 78 63 65 .const.EXCEPTION.=.'console.exce
b9340 70 74 69 6f 6e 27 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 ption';.}.<?php...........namesp
b9360 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 3b 0a 0a 75 ace.Symfony\Component\Finder;..u
b9380 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
b93a0 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 6f 6e ter\AdapterInterface;.use.Symfon
b93c0 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 5c 47 6e 75 46 69 y\Component\Finder\Adapter\GnuFi
b93e0 6e 64 41 64 61 70 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 ndAdapter;.use.Symfony\Component
b9400 5c 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 \Finder\Adapter\BsdFindAdapter;.
b9420 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 61 use.Symfony\Component\Finder\Ada
b9440 70 74 65 72 5c 50 68 70 41 64 61 70 74 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d pter\PhpAdapter;.use.Symfony\Com
b9460 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 63 65 70 74 69 6f ponent\Finder\Exception\Exceptio
b9480 6e 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 0a 0a 63 6c 61 73 nInterface;.................clas
b94a0 73 20 46 69 6e 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 s.Finder.implements.\IteratorAgg
b94c0 72 65 67 61 74 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 regate,.\Countable.{.const.IGNOR
b94e0 45 5f 56 43 53 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 E_VCS_FILES.=.1;.const.IGNORE_DO
b9500 54 5f 46 49 4c 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 T_FILES.=.2;..private.$mode.=.0;
b9520 0a 70 72 69 76 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 .private.$names.=.array();.priva
b9540 74 65 20 24 6e 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 te.$notNames.=.array();.private.
b9560 24 65 78 63 6c 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 $exclude.=.array();.private.$fil
b9580 74 65 72 73 20 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 ters.=.array();.private.$depths.
b95a0 3d 20 61 72 72 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 =.array();.private.$sizes.=.arra
b95c0 79 28 29 3b 0a 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 y();.private.$followLinks.=.fals
b95e0 65 3b 0a 70 72 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 e;.private.$sort.=.false;.privat
b9600 65 20 24 69 67 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 e.$ignore.=.0;.private.$dirs.=.a
b9620 72 72 61 79 28 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 rray();.private.$dates.=.array()
b9640 3b 0a 70 72 69 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 ;.private.$iterators.=.array();.
b9660 70 72 69 76 61 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 private.$contains.=.array();.pri
b9680 76 61 74 65 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 69 vate.$notContains.=.array();.pri
b96a0 76 61 74 65 20 24 61 64 61 70 74 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 vate.$adapters.=.array();.privat
b96c0 65 20 24 70 61 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 6e 6f 74 e.$paths.=.array();.private.$not
b96e0 50 61 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 Paths.=.array();..private.static
b9700 20 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 .$vcsPatterns.=.array('.svn',.'_
b9720 73 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 svn',.'CVS',.'_darcs',.'.arch-pa
b9740 72 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 rams',.'.monotone',.'.bzr',.'.gi
b9760 74 27 2c 20 27 2e 68 67 27 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 t',.'.hg');.....public.function.
b9780 5f 5f 63 6f 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 __construct().{.$this->ignore.=.
b97a0 73 74 61 74 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 static::IGNORE_VCS_FILES.|.stati
b97c0 63 3a 3a 49 47 4e 4f 52 45 5f 44 4f 54 5f 46 49 4c 45 53 3b 0a 0a 24 74 68 69 73 0a 2d 3e 61 64 c::IGNORE_DOT_FILES;..$this.->ad
b97e0 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 2d dAdapter(new.GnuFindAdapter()).-
b9800 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 29 >addAdapter(new.BsdFindAdapter()
b9820 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 2c ).->addAdapter(new.PhpAdapter(),
b9840 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 0a 0a .-50).->setAdapter('php').;.}...
b9860 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 65 ......public.static.function.cre
b9880 61 74 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 73 74 61 74 69 63 28 29 3b 0a 7d 0a 0a ate().{.return.new.static();.}..
b98a0 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 41 64 61 70 74 ........public.function.addAdapt
b98c0 65 72 28 41 64 61 70 74 65 72 5c 41 64 61 70 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 61 64 61 er(Adapter\AdapterInterface.$ada
b98e0 70 74 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 3e 61 64 pter,.$priority.=.0).{.$this->ad
b9900 61 70 74 65 72 73 5b 24 61 64 61 70 74 65 72 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 61 72 apters[$adapter->getName()].=.ar
b9920 72 61 79 28 0a 27 61 64 61 70 74 65 72 27 20 3d 3e 20 24 61 64 61 70 74 65 72 2c 0a 27 70 72 69 ray(.'adapter'.=>.$adapter,.'pri
b9940 6f 72 69 74 79 27 20 3d 3e 20 24 70 72 69 6f 72 69 74 79 2c 0a 27 73 65 6c 65 63 74 65 64 27 20 ority'.=>.$priority,.'selected'.
b9960 3d 3e 20 66 61 6c 73 65 2c 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 6f 72 74 =>.false,.);..return.$this->sort
b9980 41 64 61 70 74 65 72 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 Adapters();.}.......public.funct
b99a0 69 6f 6e 20 75 73 65 42 65 73 74 41 64 61 70 74 65 72 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 ion.useBestAdapter().{.$this->re
b99c0 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 65 74 75 72 6e 20 24 setAdapterSelection();..return.$
b99e0 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 0a 0a 0a 0a 0a 0a 0a this->sortAdapters();.}.........
b9a00 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 64 61 70 74 65 72 28 24 6e 61 ..public.function.setAdapter($na
b9a20 6d 65 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 61 64 61 70 74 65 72 73 me).{.if.(!isset($this->adapters
b9a40 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 6c 69 64 41 72 [$name])).{.throw.new.\InvalidAr
b9a60 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 61 70 74 65 72 gumentException(sprintf('Adapter
b9a80 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 6d 65 29 29 3b ."%s".does.not.exist.',.$name));
b9aa0 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 63 74 69 6f 6e .}..$this->resetAdapterSelection
b9ac0 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 27 73 65 6c 65 ();.$this->adapters[$name]['sele
b9ae0 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 73 2d 3e 73 6f cted'].=.true;..return.$this->so
b9b00 72 74 41 64 61 70 74 65 72 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e rtAdapters();.}.......public.fun
b9b20 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 24 74 68 69 73 2d 3e ction.removeAdapters().{.$this->
b9b40 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 24 74 68 69 adapters.=.array();..return.$thi
b9b60 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 41 64 s;.}.......public.function.getAd
b9b80 61 70 74 65 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 61 apters().{.return.array_values(a
b9ba0 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 28 61 72 72 61 79 20 24 61 64 61 70 74 65 72 rray_map(function(array.$adapter
b9bc0 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 5d 3b 0a ).{.return.$adapter['adapter'];.
b9be0 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 0a 0a 0a },.$this->adapters));.}.........
b9c00 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 0a public.function.directories().{.
b9c20 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 46 $this->mode.=.Iterator\FileTypeF
b9c40 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 3b ilterIterator::ONLY_DIRECTORIES;
b9c60 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
b9c80 20 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 .function.files().{.$this->mode.
b9ca0 3d 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 =.Iterator\FileTypeFilterIterato
b9cc0 72 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 r::ONLY_FILES;..return.$this;.}.
b9ce0 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 75 6e 63 74 69 6f ..................public.functio
b9d00 6e 20 64 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 n.depth($level).{.$this->depths[
b9d20 5d 20 3d 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 ].=.new.Comparator\NumberCompara
b9d40 74 6f 72 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 tor($level);..return.$this;.}...
b9d60 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 75 6e 63 74 69 ...................public.functi
b9d80 6f 6e 20 64 61 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 on.date($date).{.$this->dates[].
b9da0 3d 20 6e 65 77 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 =.new.Comparator\DateComparator(
b9dc0 24 64 61 74 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 $date);..return.$this;.}........
b9de0 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 6e 61 6d 65 28 ...........public.function.name(
b9e00 24 70 61 74 74 65 72 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 $pattern).{.$this->names[].=.$pa
b9e20 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;.}.........
b9e40 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 4e 61 6d 65 28 24 70 61 74 ....public.function.notName($pat
b9e60 74 65 72 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 4e 61 6d 65 73 5b 5d 20 3d 20 24 70 61 74 tern).{.$this->notNames[].=.$pat
b9e80 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 0a tern;..return.$this;.}..........
b9ea0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 74 61 69 6e 73 28 24 ......public.function.contains($
b9ec0 70 61 74 74 65 72 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 61 69 6e 73 5b 5d 20 3d 20 24 pattern).{.$this->contains[].=.$
b9ee0 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;.}.......
b9f00 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 43 6f 6e 74 .........public.function.notCont
b9f20 61 69 6e 73 28 24 70 61 74 74 65 72 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 61 ains($pattern).{.$this->notConta
b9f40 69 6e 73 5b 5d 20 3d 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 ins[].=.$pattern;..return.$this;
b9f60 0a 7d 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 75 6e 63 74 .}..................public.funct
b9f80 69 6f 6e 20 70 61 74 68 28 24 70 61 74 74 65 72 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 74 68 ion.path($pattern).{.$this->path
b9fa0 73 5b 5d 20 3d 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 s[].=.$pattern;..return.$this;.}
b9fc0 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 75 6e 63 74 69 6f ..................public.functio
b9fe0 6e 20 6e 6f 74 50 61 74 68 28 24 70 61 74 74 65 72 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 n.notPath($pattern).{.$this->not
ba000 50 61 74 68 73 5b 5d 20 3d 20 24 70 61 74 74 65 72 6e 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 Paths[].=.$pattern;..return.$thi
ba020 73 3b 0a 7d 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 75 6e s;.}..................public.fun
ba040 63 74 69 6f 6e 20 73 69 7a 65 28 24 73 69 7a 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 69 7a 65 73 ction.size($size).{.$this->sizes
ba060 5b 5d 20 3d 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 [].=.new.Comparator\NumberCompar
ba080 61 74 6f 72 28 24 73 69 7a 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a ator($size);..return.$this;.}...
ba0a0 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 65 78 63 6c 75 64 ..........public.function.exclud
ba0c0 65 28 24 64 69 72 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 20 3d 20 61 72 72 61 e($dirs).{.$this->exclude.=.arra
ba0e0 79 5f 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 2c 20 28 61 72 72 61 79 29 20 y_merge($this->exclude,.(array).
ba100 24 64 69 72 73 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 $dirs);..return.$this;.}........
ba120 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 44 6f 74 46 69 .....public.function.ignoreDotFi
ba140 6c 65 73 28 24 69 67 6e 6f 72 65 44 6f 74 46 69 6c 65 73 29 0a 7b 0a 69 66 20 28 24 69 67 6e 6f les($ignoreDotFiles).{.if.($igno
ba160 72 65 44 6f 74 46 69 6c 65 73 29 20 7b 0a 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 20 3d 20 24 74 reDotFiles).{.$this->ignore.=.$t
ba180 68 69 73 2d 3e 69 67 6e 6f 72 65 20 7c 20 73 74 61 74 69 63 3a 3a 49 47 4e 4f 52 45 5f 44 4f 54 his->ignore.|.static::IGNORE_DOT
ba1a0 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 3d _FILES;.}.else.{.$this->ignore.=
ba1c0 20 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 20 26 20 7e 73 74 61 74 69 63 3a 3a 49 47 4e 4f 52 45 .$this->ignore.&.~static::IGNORE
ba1e0 5f 44 4f 54 5f 46 49 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 _DOT_FILES;.}..return.$this;.}..
ba200 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 69 67 6e 6f 72 ...........public.function.ignor
ba220 65 56 43 53 28 24 69 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 eVCS($ignoreVCS).{.if.($ignoreVC
ba240 53 29 20 7b 0a 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 20 3d 20 24 74 68 69 73 2d 3e 69 67 6e 6f S).{.$this->ignore.=.$this->igno
ba260 72 65 20 7c 20 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 re.|.static::IGNORE_VCS_FILES;.}
ba280 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 20 3d 20 24 74 68 69 73 2d 3e 69 .else.{.$this->ignore.=.$this->i
ba2a0 67 6e 6f 72 65 20 26 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 gnore.&.~static::IGNORE_VCS_FILE
ba2c0 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 70 75 S;.}..return.$this;.}.........pu
ba2e0 62 6c 69 63 20 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 blic.static.function.addVCSPatte
ba300 72 6e 28 24 70 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 rn($pattern).{.foreach.((array).
ba320 24 70 61 74 74 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 $pattern.as.$p).{.self::$vcsPatt
ba340 65 72 6e 73 5b 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 erns[].=.$p;.}..self::$vcsPatter
ba360 6e 73 20 3d 20 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 ns.=.array_unique(self::$vcsPatt
ba380 65 72 6e 73 29 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 63 20 erns);.}.................public.
ba3a0 66 75 6e 63 74 69 6f 6e 20 73 6f 72 74 28 5c 43 6c 6f 73 75 72 65 20 24 63 6c 6f 73 75 72 65 29 function.sort(\Closure.$closure)
ba3c0 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f 72 74 20 3d 20 24 63 6c 6f 73 75 72 65 3b 0a 0a 72 65 74 75 .{.$this->sort.=.$closure;..retu
ba3e0 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 66 rn.$this;.}.............public.f
ba400 75 6e 63 74 69 6f 6e 20 73 6f 72 74 42 79 4e 61 6d 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f unction.sortByName().{.$this->so
ba420 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 3a rt.=.Iterator\SortableIterator::
ba440 53 4f 52 54 5f 42 59 5f 4e 41 4d 45 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a SORT_BY_NAME;..return.$this;.}..
ba460 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 74 42 ...........public.function.sortB
ba480 79 54 79 70 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 6f 72 yType().{.$this->sort.=.Iterator
ba4a0 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 54 59 50 45 3b \SortableIterator::SORT_BY_TYPE;
ba4c0 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 0a ..return.$this;.}...............
ba4e0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 6f 72 74 42 79 41 63 63 65 73 73 65 64 54 69 public.function.sortByAccessedTi
ba500 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 6f 72 5c 53 6f me().{.$this->sort.=.Iterator\So
ba520 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 53 53 45 44 rtableIterator::SORT_BY_ACCESSED
ba540 5f 54 49 4d 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 _TIME;..return.$this;.}.........
ba560 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 74 42 79 43 68 ........public.function.sortByCh
ba580 61 6e 67 65 64 54 69 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 angedTime().{.$this->sort.=.Iter
ba5a0 61 74 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 43 ator\SortableIterator::SORT_BY_C
ba5c0 48 41 4e 47 45 44 5f 54 49 4d 45 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a HANGED_TIME;..return.$this;.}...
ba5e0 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 6f 72 74 ............public.function.sort
ba600 42 79 4d 6f 64 69 66 69 65 64 54 69 6d 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f 72 74 20 3d ByModifiedTime().{.$this->sort.=
ba620 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 3a 53 4f 52 54 .Iterator\SortableIterator::SORT
ba640 5f 42 59 5f 4d 4f 44 49 46 49 45 44 5f 54 49 4d 45 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 _BY_MODIFIED_TIME;..return.$this
ba660 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 74 69 ;.}................public.functi
ba680 6f 6e 20 66 69 6c 74 65 72 28 5c 43 6c 6f 73 75 72 65 20 24 63 6c 6f 73 75 72 65 29 0a 7b 0a 24 on.filter(\Closure.$closure).{.$
ba6a0 74 68 69 73 2d 3e 66 69 6c 74 65 72 73 5b 5d 20 3d 20 24 63 6c 6f 73 75 72 65 3b 0a 0a 72 65 74 this->filters[].=.$closure;..ret
ba6c0 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
ba6e0 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 73 2d 3e 66 6f 6c 6c tion.followLinks().{.$this->foll
ba700 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 74 68 69 73 3b 0a 7d owLinks.=.true;..return.$this;.}
ba720 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 69 6e 28 .............public.function.in(
ba740 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 72 61 79 28 29 $dirs).{.$resolvedDirs.=.array()
ba760 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 73 20 24 64 69 ;..foreach.((array).$dirs.as.$di
ba780 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 65 73 6f 6c 76 r).{.if.(is_dir($dir)).{.$resolv
ba7a0 65 64 44 69 72 73 5b 5d 20 3d 20 24 64 69 72 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 67 6c 6f 62 edDirs[].=.$dir;.}.elseif.($glob
ba7c0 20 3d 20 67 6c 6f 62 28 24 64 69 72 2c 20 47 4c 4f 42 5f 4f 4e 4c 59 44 49 52 29 29 20 7b 0a 24 .=.glob($dir,.GLOB_ONLYDIR)).{.$
ba7e0 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 28 24 72 65 73 6f resolvedDirs.=.array_merge($reso
ba800 6c 76 65 64 44 69 72 73 2c 20 24 67 6c 6f 62 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 lvedDirs,.$glob);.}.else.{.throw
ba820 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 73 .new.\InvalidArgumentException(s
ba840 70 72 69 6e 74 66 28 27 54 68 65 20 22 25 73 22 20 64 69 72 65 63 74 6f 72 79 20 64 6f 65 73 20 printf('The."%s".directory.does.
ba860 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 64 69 72 29 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d not.exist.',.$dir));.}.}..$this-
ba880 3e 64 69 72 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 64 69 72 73 2c >dirs.=.array_merge($this->dirs,
ba8a0 20 24 72 65 73 6f 6c 76 65 64 44 69 72 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a .$resolvedDirs);..return.$this;.
ba8c0 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 49 }...........public.function.getI
ba8e0 74 65 72 61 74 6f 72 28 29 0a 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 74 68 69 terator().{.if.(0.===.count($thi
ba900 73 2d 3e 64 69 72 73 29 20 26 26 20 30 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 69 s->dirs).&&.0.===.count($this->i
ba920 74 65 72 61 74 6f 72 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 terators)).{.throw.new.\LogicExc
ba940 65 70 74 69 6f 6e 28 27 59 6f 75 20 6d 75 73 74 20 63 61 6c 6c 20 6f 6e 65 20 6f 66 20 69 6e 28 eption('You.must.call.one.of.in(
ba960 29 20 6f 72 20 61 70 70 65 6e 64 28 29 20 6d 65 74 68 6f 64 73 20 62 65 66 6f 72 65 20 69 74 65 ).or.append().methods.before.ite
ba980 72 61 74 69 6e 67 20 6f 76 65 72 20 61 20 46 69 6e 64 65 72 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 rating.over.a.Finder.');.}..if.(
ba9a0 31 20 3d 3d 3d 20 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 1.===.count($this->dirs).&&.0.==
ba9c0 3d 20 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 72 65 74 =.count($this->iterators)).{.ret
ba9e0 75 72 6e 20 24 74 68 69 73 2d 3e 73 65 61 72 63 68 49 6e 44 69 72 65 63 74 6f 72 79 28 24 74 68 urn.$this->searchInDirectory($th
baa00 69 73 2d 3e 64 69 72 73 5b 30 5d 29 3b 0a 7d 0a 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 is->dirs[0]);.}..$iterator.=.new
baa20 20 5c 41 70 70 65 6e 64 49 74 65 72 61 74 6f 72 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 .\AppendIterator();.foreach.($th
baa40 69 73 2d 3e 64 69 72 73 20 61 73 20 24 64 69 72 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 2d 3e 61 is->dirs.as.$dir).{.$iterator->a
baa60 70 70 65 6e 64 28 24 74 68 69 73 2d 3e 73 65 61 72 63 68 49 6e 44 69 72 65 63 74 6f 72 79 28 24 ppend($this->searchInDirectory($
baa80 64 69 72 29 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 69 74 65 72 61 74 dir));.}..foreach.($this->iterat
baaa0 6f 72 73 20 61 73 20 24 69 74 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 2d 3e 61 70 70 65 6e 64 28 ors.as.$it).{.$iterator->append(
baac0 24 69 74 29 3b 0a 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 $it);.}..return.$iterator;.}....
baae0 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 65 6e 64 28 .........public.function.append(
bab00 24 69 74 65 72 61 74 6f 72 29 0a 7b 0a 69 66 20 28 24 69 74 65 72 61 74 6f 72 20 69 6e 73 74 61 $iterator).{.if.($iterator.insta
bab20 6e 63 65 6f 66 20 5c 49 74 65 72 61 74 6f 72 41 67 67 72 65 67 61 74 65 29 20 7b 0a 24 74 68 69 nceof.\IteratorAggregate).{.$thi
bab40 73 2d 3e 69 74 65 72 61 74 6f 72 73 5b 5d 20 3d 20 24 69 74 65 72 61 74 6f 72 2d 3e 67 65 74 49 s->iterators[].=.$iterator->getI
bab60 74 65 72 61 74 6f 72 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 69 74 65 72 61 74 6f 72 20 69 terator();.}.elseif.($iterator.i
bab80 6e 73 74 61 6e 63 65 6f 66 20 5c 49 74 65 72 61 74 6f 72 29 20 7b 0a 24 74 68 69 73 2d 3e 69 74 nstanceof.\Iterator).{.$this->it
baba0 65 72 61 74 6f 72 73 5b 5d 20 3d 20 24 69 74 65 72 61 74 6f 72 3b 0a 7d 20 65 6c 73 65 69 66 20 erators[].=.$iterator;.}.elseif.
babc0 28 24 69 74 65 72 61 74 6f 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 54 72 61 76 65 72 73 61 62 ($iterator.instanceof.\Traversab
babe0 6c 65 20 7c 7c 20 69 73 5f 61 72 72 61 79 28 24 69 74 65 72 61 74 6f 72 29 29 20 7b 0a 24 69 74 le.||.is_array($iterator)).{.$it
bac00 20 3d 20 6e 65 77 20 5c 41 72 72 61 79 49 74 65 72 61 74 6f 72 28 29 3b 0a 66 6f 72 65 61 63 68 .=.new.\ArrayIterator();.foreach
bac20 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 69 74 2d 3e 61 70 70 .($iterator.as.$file).{.$it->app
bac40 65 6e 64 28 24 66 69 6c 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 53 70 6c 46 69 6c 65 49 6e 66 end($file.instanceof.\SplFileInf
bac60 6f 20 3f 20 24 66 69 6c 65 20 3a 20 6e 65 77 20 5c 53 70 6c 46 69 6c 65 49 6e 66 6f 28 24 66 69 o.?.$file.:.new.\SplFileInfo($fi
bac80 6c 65 29 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 69 74 65 72 61 74 6f 72 73 5b 5d 20 3d 20 24 69 74 le));.}.$this->iterators[].=.$it
baca0 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 72 67 ;.}.else.{.throw.new.\InvalidArg
bacc0 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 46 69 6e 64 65 72 3a 3a 61 70 70 65 6e 64 28 29 umentException('Finder::append()
bace0 20 6d 65 74 68 6f 64 20 77 72 6f 6e 67 20 61 72 67 75 6d 65 6e 74 20 74 79 70 65 2e 27 29 3b 0a .method.wrong.argument.type.');.
bad00 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 70 75 62 6c 69 63 20 }..return.$this;.}.......public.
bad20 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 20 69 74 65 72 61 74 function.count().{.return.iterat
bad40 6f 72 5f 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 67 65 74 49 74 65 72 61 74 6f 72 28 29 29 3b 0a or_count($this->getIterator());.
bad60 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 6f 72 74 41 64 61 70 74 }.....private.function.sortAdapt
bad80 65 72 73 28 29 0a 7b 0a 75 61 73 6f 72 74 28 24 74 68 69 73 2d 3e 61 64 61 70 74 65 72 73 2c 20 ers().{.uasort($this->adapters,.
bada0 66 75 6e 63 74 69 6f 6e 20 28 61 72 72 61 79 20 24 61 2c 20 61 72 72 61 79 20 24 62 29 20 7b 0a function.(array.$a,.array.$b).{.
badc0 69 66 20 28 24 61 5b 27 73 65 6c 65 63 74 65 64 27 5d 20 7c 7c 20 24 62 5b 27 73 65 6c 65 63 74 if.($a['selected'].||.$b['select
bade0 65 64 27 5d 29 20 7b 0a 72 65 74 75 72 6e 20 24 61 5b 27 73 65 6c 65 63 74 65 64 27 5d 20 3f 20 ed']).{.return.$a['selected'].?.
bae00 2d 31 20 3a 20 31 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 61 5b 27 70 72 69 6f 72 69 74 79 27 5d -1.:.1;.}..return.$a['priority']
bae20 20 3e 20 24 62 5b 27 70 72 69 6f 72 69 74 79 27 5d 20 3f 20 2d 31 20 3a 20 31 3b 0a 7d 29 3b 0a .>.$b['priority'].?.-1.:.1;.});.
bae40 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 72 69 76 61 74 65 .return.$this;.}.........private
bae60 20 66 75 6e 63 74 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 .function.searchInDirectory($dir
bae80 29 0a 7b 0a 69 66 20 28 73 74 61 74 69 63 3a 3a 49 47 4e 4f 52 45 5f 56 43 53 5f 46 49 4c 45 53 ).{.if.(static::IGNORE_VCS_FILES
baea0 20 3d 3d 3d 20 28 73 74 61 74 69 63 3a 3a 49 47 4e 4f 52 45 5f 56 43 53 5f 46 49 4c 45 53 20 26 .===.(static::IGNORE_VCS_FILES.&
baec0 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 65 78 63 6c 75 64 .$this->ignore)).{.$this->exclud
baee0 65 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 2c 20 e.=.array_merge($this->exclude,.
baf00 73 65 6c 66 3a 3a 24 76 63 73 50 61 74 74 65 72 6e 73 29 3b 0a 7d 0a 0a 69 66 20 28 73 74 61 74 self::$vcsPatterns);.}..if.(stat
baf20 69 63 3a 3a 49 47 4e 4f 52 45 5f 44 4f 54 5f 46 49 4c 45 53 20 3d 3d 3d 20 28 73 74 61 74 69 63 ic::IGNORE_DOT_FILES.===.(static
baf40 3a 3a 49 47 4e 4f 52 45 5f 44 4f 54 5f 46 49 4c 45 53 20 26 20 24 74 68 69 73 2d 3e 69 67 6e 6f ::IGNORE_DOT_FILES.&.$this->igno
baf60 72 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 50 61 74 68 73 5b 5d 20 3d 20 27 23 28 5e 7c re)).{.$this->notPaths[].=.'#(^|
baf80 2f 29 5c 2e 2e 2b 28 2f 7c 24 29 23 27 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 /)\..+(/|$)#';.}..foreach.($this
bafa0 2d 3e 61 64 61 70 74 65 72 73 20 61 73 20 24 61 64 61 70 74 65 72 29 20 7b 0a 69 66 20 28 24 61 ->adapters.as.$adapter).{.if.($a
bafc0 64 61 70 74 65 72 5b 27 61 64 61 70 74 65 72 27 5d 2d 3e 69 73 53 75 70 70 6f 72 74 65 64 28 29 dapter['adapter']->isSupported()
bafe0 29 20 7b 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 0a 2d 3e 62 75 69 6c 64 41 64 ).{.try.{.return.$this.->buildAd
bb000 61 70 74 65 72 28 24 61 64 61 70 74 65 72 5b 27 61 64 61 70 74 65 72 27 5d 29 0a 2d 3e 73 65 61 apter($adapter['adapter']).->sea
bb020 72 63 68 49 6e 44 69 72 65 63 74 6f 72 79 28 24 64 69 72 29 3b 0a 7d 20 63 61 74 63 68 20 28 45 rchInDirectory($dir);.}.catch.(E
bb040 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 20 24 65 29 20 7b 7d 0a 7d 0a 7d 0a 0a 74 68 xceptionInterface.$e).{}.}.}..th
bb060 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 4e 6f 20 73 75 row.new.\RuntimeException('No.su
bb080 70 70 6f 72 74 65 64 20 61 64 61 70 74 65 72 20 66 6f 75 6e 64 2e 27 29 3b 0a 7d 0a 0a 0a 0a 0a pported.adapter.found.');.}.....
bb0a0 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 41 64 61 70 74 65 72 28 ..private.function.buildAdapter(
bb0c0 41 64 61 70 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 61 64 61 70 74 65 72 29 0a 7b 0a 72 65 74 AdapterInterface.$adapter).{.ret
bb0e0 75 72 6e 20 24 61 64 61 70 74 65 72 0a 2d 3e 73 65 74 46 6f 6c 6c 6f 77 4c 69 6e 6b 73 28 24 74 urn.$adapter.->setFollowLinks($t
bb100 68 69 73 2d 3e 66 6f 6c 6c 6f 77 4c 69 6e 6b 73 29 0a 2d 3e 73 65 74 44 65 70 74 68 73 28 24 74 his->followLinks).->setDepths($t
bb120 68 69 73 2d 3e 64 65 70 74 68 73 29 0a 2d 3e 73 65 74 4d 6f 64 65 28 24 74 68 69 73 2d 3e 6d 6f his->depths).->setMode($this->mo
bb140 64 65 29 0a 2d 3e 73 65 74 45 78 63 6c 75 64 65 28 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 29 de).->setExclude($this->exclude)
bb160 0a 2d 3e 73 65 74 4e 61 6d 65 73 28 24 74 68 69 73 2d 3e 6e 61 6d 65 73 29 0a 2d 3e 73 65 74 4e .->setNames($this->names).->setN
bb180 6f 74 4e 61 6d 65 73 28 24 74 68 69 73 2d 3e 6e 6f 74 4e 61 6d 65 73 29 0a 2d 3e 73 65 74 43 6f otNames($this->notNames).->setCo
bb1a0 6e 74 61 69 6e 73 28 24 74 68 69 73 2d 3e 63 6f 6e 74 61 69 6e 73 29 0a 2d 3e 73 65 74 4e 6f 74 ntains($this->contains).->setNot
bb1c0 43 6f 6e 74 61 69 6e 73 28 24 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 61 69 6e 73 29 0a 2d 3e 73 Contains($this->notContains).->s
bb1e0 65 74 53 69 7a 65 73 28 24 74 68 69 73 2d 3e 73 69 7a 65 73 29 0a 2d 3e 73 65 74 44 61 74 65 73 etSizes($this->sizes).->setDates
bb200 28 24 74 68 69 73 2d 3e 64 61 74 65 73 29 0a 2d 3e 73 65 74 46 69 6c 74 65 72 73 28 24 74 68 69 ($this->dates).->setFilters($thi
bb220 73 2d 3e 66 69 6c 74 65 72 73 29 0a 2d 3e 73 65 74 53 6f 72 74 28 24 74 68 69 73 2d 3e 73 6f 72 s->filters).->setSort($this->sor
bb240 74 29 0a 2d 3e 73 65 74 50 61 74 68 28 24 74 68 69 73 2d 3e 70 61 74 68 73 29 0a 2d 3e 73 65 74 t).->setPath($this->paths).->set
bb260 4e 6f 74 50 61 74 68 28 24 74 68 69 73 2d 3e 6e 6f 74 50 61 74 68 73 29 3b 0a 7d 0a 0a 0a 0a 0a NotPath($this->notPaths);.}.....
bb280 70 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 private.function.resetAdapterSel
bb2a0 65 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 ection().{.$this->adapters.=.arr
bb2c0 61 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 ay_map(function.(array.$properti
bb2e0 65 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 es).{.$properties['selected'].=.
bb300 66 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 false;..return.$properties;.},.$
bb320 74 68 69 73 2d 3e 61 64 61 70 74 65 72 73 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a this->adapters);.}.}.<?php......
bb340 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
bb360 5c 46 69 6e 64 65 72 5c 53 68 65 6c 6c 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 6d 61 6e 64 \Finder\Shell;.....class.Command
bb380 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 61 72 65 6e 74 3b 0a 0a 0a 0a 0a 70 72 69 76 61 .{....private.$parent;.....priva
bb3a0 74 65 20 24 62 69 74 73 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6c 61 62 65 6c 73 3b 0a 0a te.$bits;.....private.$labels;..
bb3c0 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
bb3e0 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 69 73 (Command.$parent.=.null).{.$this
bb400 2d 3e 70 61 72 65 6e 74 20 3d 20 24 70 61 72 65 6e 74 3b 0a 24 74 68 69 73 2d 3e 62 69 74 73 20 ->parent.=.$parent;.$this->bits.
bb420 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 6c 61 62 65 6c 73 20 3d 20 61 72 72 61 79 =.array();.$this->labels.=.array
bb440 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 5f 5f 74 6f ();.}.......public.function.__to
bb460 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 6a 6f 69 6e 28 29 3b String().{.return.$this->join();
bb480 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 6f .}.........public.static.functio
bb4a0 6e 20 63 72 65 61 74 65 28 43 6f 6d 6d 61 6e 64 20 24 70 61 72 65 6e 74 20 3d 20 6e 75 6c 6c 29 n.create(Command.$parent.=.null)
bb4c0 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 73 65 6c 66 28 24 70 61 72 65 6e 74 29 3b 0a 7d 0a 0a .{.return.new.self($parent);.}..
bb4e0 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 65 73 .......public.static.function.es
bb500 63 61 70 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 cape($input).{.return.escapeshel
bb520 6c 63 6d 64 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 73 lcmd($input);.}.........public.s
bb540 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 71 75 6f 74 65 28 24 69 6e 70 75 74 29 0a 7b 0a 72 tatic.function.quote($input).{.r
bb560 65 74 75 72 6e 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 69 6e 70 75 74 29 3b 0a 7d 0a eturn.escapeshellarg($input);.}.
bb580 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 24 62 69 74 ........public.function.add($bit
bb5a0 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 69 74 73 5b 5d 20 3d 20 24 62 69 74 3b 0a 0a 72 65 74 75 72 ).{.$this->bits[].=.$bit;..retur
bb5c0 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 69 n.$this;.}.........public.functi
bb5e0 6f 6e 20 74 6f 70 28 24 62 69 74 29 0a 7b 0a 61 72 72 61 79 5f 75 6e 73 68 69 66 74 28 24 74 68 on.top($bit).{.array_unshift($th
bb600 69 73 2d 3e 62 69 74 73 2c 20 24 62 69 74 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 is->bits,.$bit);..foreach.($this
bb620 2d 3e 6c 61 62 65 6c 73 20 61 73 20 24 6c 61 62 65 6c 20 3d 3e 20 24 69 6e 64 65 78 29 20 7b 0a ->labels.as.$label.=>.$index).{.
bb640 24 74 68 69 73 2d 3e 6c 61 62 65 6c 73 5b 24 6c 61 62 65 6c 5d 20 2b 3d 20 31 3b 0a 7d 0a 0a 72 $this->labels[$label].+=.1;.}..r
bb660 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
bb680 6e 63 74 69 6f 6e 20 61 72 67 28 24 61 72 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 69 74 73 5b 5d nction.arg($arg).{.$this->bits[]
bb6a0 20 3d 20 73 65 6c 66 3a 3a 71 75 6f 74 65 28 24 61 72 67 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 .=.self::quote($arg);..return.$t
bb6c0 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 63 his;.}.........public.function.c
bb6e0 6d 64 28 24 65 73 63 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 69 74 73 5b 5d 20 3d 20 73 65 6c 66 3a md($esc).{.$this->bits[].=.self:
bb700 3a 65 73 63 61 70 65 28 24 65 73 63 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a :escape($esc);..return.$this;.}.
bb720 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 6e 73 28 24 6c ..........public.function.ins($l
bb740 61 62 65 6c 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6c 61 62 65 6c 73 5b abel).{.if.(isset($this->labels[
bb760 24 6c 61 62 65 6c 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 $label])).{.throw.new.\RuntimeEx
bb780 63 65 70 74 69 6f 6e 28 27 4c 61 62 65 6c 20 22 27 2e 24 6c 61 62 65 6c 2e 27 22 20 61 6c 72 65 ception('Label."'.$label.'".alre
bb7a0 61 64 79 20 65 78 69 73 74 73 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 62 69 74 73 5b 5d 20 ady.exists.');.}..$this->bits[].
bb7c0 3d 20 73 65 6c 66 3a 3a 63 72 65 61 74 65 28 24 74 68 69 73 29 3b 0a 24 74 68 69 73 2d 3e 6c 61 =.self::create($this);.$this->la
bb7e0 62 65 6c 73 5b 24 6c 61 62 65 6c 5d 20 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 62 69 74 73 bels[$label].=.count($this->bits
bb800 29 2d 31 3b 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 2d 3e )-1;..return.$this->bits[$this->
bb820 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 0a 0a 70 75 62 labels[$label]];.}...........pub
bb840 6c 69 63 20 66 75 6e 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 lic.function.get($label).{.if.(!
bb860 69 73 73 65 74 28 24 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 isset($this->labels[$label])).{.
bb880 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 4c 61 62 throw.new.\RuntimeException('Lab
bb8a0 65 6c 20 22 27 2e 24 6c 61 62 65 6c 2e 27 22 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 73 2e el."'.$label.'".does.not.exists.
bb8c0 27 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 2d ');.}..return.$this->bits[$this-
bb8e0 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 6c >labels[$label]];.}.........publ
bb900 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 3d ic.function.end().{.if.(null.===
bb920 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 6e .$this->parent).{.throw.new.\Run
bb940 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 6f timeException('Calling.end.on.ro
bb960 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 27 ot.command.doesn\'t.make.sense.'
bb980 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 0a );.}..return.$this->parent;.}...
bb9a0 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 72 ....public.function.length().{.r
bb9c0 65 74 75 72 6e 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 62 69 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a eturn.count($this->bits);.}.....
bb9e0 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 29 0a 7b 0a ....public.function.execute().{.
bba00 65 78 65 63 28 24 74 68 69 73 2d 3e 6a 6f 69 6e 28 29 2c 20 24 6f 75 74 70 75 74 2c 20 24 63 6f exec($this->join(),.$output,.$co
bba20 64 65 29 3b 0a 0a 69 66 20 28 30 20 21 3d 3d 20 24 63 6f 64 65 29 20 7b 0a 74 68 72 6f 77 20 6e de);..if.(0.!==.$code).{.throw.n
bba40 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 45 78 65 63 75 74 69 6f 6e 20 ew.\RuntimeException('Execution.
bba60 66 61 69 6c 65 64 20 77 69 74 68 20 72 65 74 75 72 6e 20 63 6f 64 65 3a 20 27 2e 24 63 6f 64 65 failed.with.return.code:.'.$code
bba80 2e 27 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6f 75 74 70 75 74 20 3f 3a 20 61 72 72 61 .'.');.}..return.$output.?:.arra
bbaa0 79 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 6a 6f 69 y();.}.......public.function.joi
bbac0 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 61 72 72 61 79 5f n().{.return.implode('.',.array_
bbae0 66 69 6c 74 65 72 28 0a 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 28 24 62 69 74 29 filter(.array_map(function($bit)
bbb00 20 7b 0a 72 65 74 75 72 6e 20 24 62 69 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 6d 61 6e .{.return.$bit.instanceof.Comman
bbb20 64 20 3f 20 24 62 69 74 2d 3e 6a 6f 69 6e 28 29 20 3a 20 28 24 62 69 74 20 3f 3a 20 6e 75 6c 6c d.?.$bit->join().:.($bit.?:.null
bbb40 29 3b 0a 7d 2c 20 24 74 68 69 73 2d 3e 62 69 74 73 29 2c 0a 66 75 6e 63 74 69 6f 6e 28 24 62 69 );.},.$this->bits),.function($bi
bbb60 74 29 20 7b 20 72 65 74 75 72 6e 20 6e 75 6c 6c 20 21 3d 3d 20 24 62 69 74 3b 20 7d 0a 29 29 3b t).{.return.null.!==.$bit;.}.));
bbb80 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 61 64 64 41 .}..........public.function.addA
bbba0 74 49 6e 64 65 78 28 24 62 69 74 2c 20 24 69 6e 64 65 78 29 0a 7b 0a 61 72 72 61 79 5f 73 70 6c tIndex($bit,.$index).{.array_spl
bbbc0 69 63 65 28 24 74 68 69 73 2d 3e 62 69 74 73 2c 20 24 69 6e 64 65 78 2c 20 30 2c 20 24 62 69 74 ice($this->bits,.$index,.0,.$bit
bbbe0 29 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 );..return.$this;.}.}.<?php.....
bbc00 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
bbc20 74 5c 46 69 6e 64 65 72 5c 53 68 65 6c 6c 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 68 65 6c 6c 0a t\Finder\Shell;.....class.Shell.
bbc40 7b 0a 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 {.const.TYPE_UNIX.=.1;.const.TYP
bbc60 45 5f 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 E_DARWIN.=.2;.const.TYPE_CYGWIN.
bbc80 3d 20 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 =.3;.const.TYPE_WINDOWS.=.4;.con
bbca0 73 74 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 st.TYPE_BSD.=.5;.....private.$ty
bbcc0 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 67 65 74 54 79 70 pe;.......public.function.getTyp
bbce0 65 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 74 79 70 65 29 20 e().{.if.(null.===.$this->type).
bbd00 7b 0a 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 {.$this->type.=.$this->guessType
bbd20 28 29 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 ();.}..return.$this->type;.}....
bbd40 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 43 6f 6d 6d 61 6e 64 .....public.function.testCommand
bbd60 28 24 63 6f 6d 6d 61 6e 64 29 0a 7b 0a 69 66 20 28 73 65 6c 66 3a 3a 54 59 50 45 5f 57 49 4e 44 ($command).{.if.(self::TYPE_WIND
bbd80 4f 57 53 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 79 70 65 29 20 7b 0a 0a 20 72 65 74 75 72 6e 20 OWS.===.$this->type).{...return.
bbda0 66 61 6c 73 65 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 false;.}..if.(!function_exists('
bbdc0 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 65 78 65 exec')).{.return.false;.}....exe
bbde0 63 28 27 63 6f 6d 6d 61 6e 64 20 2d 76 20 27 2e 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 c('command.-v.'.$command,.$outpu
bbe00 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 63 6f 64 65 20 26 t,.$code);..return.0.===.$code.&
bbe20 26 20 63 6f 75 6e 74 28 24 6f 75 74 70 75 74 29 20 3e 20 30 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 &.count($output).>.0;.}.......pr
bbe40 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 29 0a 7b 0a 24 6f 73 ivate.function.guessType().{.$os
bbe60 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 66 20 28 66 61 6c 73 .=.strtolower(PHP_OS);..if.(fals
bbe80 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 27 29 29 20 7b 0a 72 e.!==.strpos($os,.'cygwin')).{.r
bbea0 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 7d 0a 0a 69 66 20 28 eturn.self::TYPE_CYGWIN;.}..if.(
bbec0 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 72 77 69 6e 27 29 29 false.!==.strpos($os,.'darwin'))
bbee0 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 49 4e 3b 0a 7d 0a 0a .{.return.self::TYPE_DARWIN;.}..
bbf00 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 62 73 64 27 29 if.(false.!==.strpos($os,.'bsd')
bbf20 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 3b 0a 7d 0a 0a 69 66 ).{.return.self::TYPE_BSD;.}..if
bbf40 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 29 29 20 7b 0a 72 65 .(0.===.strpos($os,.'win')).{.re
bbf60 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 7d 0a 0a 72 65 74 75 turn.self::TYPE_WINDOWS;.}..retu
bbf80 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 3f 70 68 70 0a 0a 0a rn.self::TYPE_UNIX;.}.}.<?php...
bbfa0 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
bbfc0 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 70 72 65 73 73 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 ent\Finder\Expression;.....class
bbfe0 20 52 65 67 65 78 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 .Regex.implements.ValueInterface
bc000 0a 7b 0a 63 6f 6e 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 .{.const.START_FLAG.=.'^';.const
bc020 20 45 4e 44 5f 46 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 .END_FLAG.=.'$';.const.BOUNDARY.
bc040 3d 20 27 7e 27 3b 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 =.'~';.const.JOKER.=.'.*';.const
bc060 20 45 53 43 41 50 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 .ESCAPING.=.'\\';.....private.$p
bc080 61 74 74 65 72 6e 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 attern;.....private.$options;...
bc0a0 0a 0a 70 72 69 76 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 ..private.$startFlag;.....privat
bc0c0 65 20 24 65 6e 64 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 e.$endFlag;.....private.$startJo
bc0e0 6b 65 72 3b 0a 0a 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 ker;.....private.$endJoker;.....
bc100 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 65 61 74 ....public.static.function.creat
bc120 65 28 24 65 78 70 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 e($expr).{.if.(preg_match('/^(.{
bc140 33 2c 7d 3f 29 28 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 3,}?)([imsxuADU]*)$/',.$expr,.$m
bc160 29 29 20 7b 0a 24 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 )).{.$start.=.substr($m[1],.0,.1
bc180 29 3b 0a 24 65 6e 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 );.$end.=.substr($m[1],.-1);..if
bc1a0 20 28 28 24 73 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 .(($start.===.$end.&&.!preg_matc
bc1c0 68 28 27 2f 5b 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 h('/[*?[:alnum:].\\\\]/',.$start
bc1e0 29 29 20 7c 7c 20 28 24 73 74 61 72 74 20 3d 3d 3d 20 27 7b 27 20 26 26 20 24 65 6e 64 20 3d 3d )).||.($start.===.'{'.&&.$end.==
bc200 3d 20 27 7d 27 29 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 =.'}')).{.return.new.self(substr
bc220 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);.}.
bc240 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
bc260 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.
bc280 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
bc2a0 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
bc2c0 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
bc2e0 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
bc300 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
bc320 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
bc340 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
bc360 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
bc380 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
bc3a0 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
bc3c0 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
bc3e0 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
bc400 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
bc420 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
bc440 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
bc460 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.:.'')..(
bc480 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.
bc4a0 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
bc4c0 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
bc4e0 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
bc500 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.?
bc520 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
bc540 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().{
bc560 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');.
bc580 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().
bc5a0 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;
bc5c0 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($
bc5e0 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.$
bc600 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;.}.
bc620 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
bc640 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
bc660 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
bc680 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.
bc6a0 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,
bc6c0 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
bc6e0 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
bc700 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-
bc720 3e 6f 70 74 69 6f 6e 73 2e 3d 20 24 6f 70 74 69 6f 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 >options.=.$option;.}..return.$t
bc740 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 6d his;.}.......public.function.rem
bc760 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 69 oveOption($option).{.$this->opti
bc780 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 24 ons.=.str_replace($option,.'',.$
bc7a0 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 7d this->options);..return.$this;.}
bc7c0 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 46 .......public.function.setStartF
bc7e0 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 6c lag($startFlag).{.$this->startFl
bc800 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 0a ag.=.$startFlag;..return.$this;.
bc820 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 6c }.....public.function.hasStartFl
bc840 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 0a ag().{.return.$this->startFlag;.
bc860 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 6c }.......public.function.setEndFl
bc880 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 20 ag($endFlag).{.$this->endFlag.=.
bc8a0 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 0a (bool).$endFlag;..return.$this;.
bc8c0 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 67 }.....public.function.hasEndFlag
bc8e0 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 0a ().{.return.$this->endFlag;.}...
bc900 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 65 ....public.function.setStartJoke
bc920 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 6b r($startJoker).{.$this->startJok
bc940 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 3b er.=.$startJoker;..return.$this;
bc960 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 4a .}.....public.function.hasStartJ
bc980 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 65 oker().{.return.$this->startJoke
bc9a0 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 6e r;.}.......public.function.setEn
bc9c0 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 6f dJoker($endJoker).{.$this->endJo
bc9e0 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 20 ker.=.(bool).$endJoker;..return.
bca00 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 73 $this;.}.....public.function.has
bca20 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 6f EndJoker().{.return.$this->endJo
bca40 6b 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 72 65 70 ker;.}.......public.function.rep
bca60 6c 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 laceJokers($replacement).{.$repl
bca80 61 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 ace.=.function.($subject).use.($
bcaa0 72 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 replacement).{.$subject.=.$subje
bcac0 63 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 ct[0];.$replace.=.0.===.substr_c
bcae0 6f 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 ount($subject,.'\\').%.2;..retur
bcb00 6e 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 n.$replace.?.str_replace('.',.$r
bcb20 65 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 eplacement,.$subject).:.$subject
bcb40 3b 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 ;.};..$this->pattern.=.preg_repl
bcb60 61 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 ace_callback('~[\\\\]*\\.~',.$re
bcb80 70 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 place,.$this->pattern);..return.
bcba0 24 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 $this;.}.....private.function.pa
bcbc0 72 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 rsePattern($pattern).{.if.($this
bcbe0 2d 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 ->startFlag.=.self::START_FLAG.=
bcc00 3d 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 ==.substr($pattern,.0,.1)).{.$pa
bcc20 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 31 29 3b 0a 7d 0a 0a ttern.=.substr($pattern,.1);.}..
bcc40 69 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 if.($this->startJoker.=.self::JO
bcc60 4b 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 KER.===.substr($pattern,.0,.2)).
bcc80 7b 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 {.$pattern.=.substr($pattern,.2)
bcca0 3b 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 ;.}..if.($this->endFlag.=.(self:
bccc0 3a 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 :END_FLAG.===.substr($pattern,.-
bcce0 31 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 1).&&.self::ESCAPING.!==.substr(
bcd00 24 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 $pattern,.-2,.-1))).{.$pattern.=
bcd20 20 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 .substr($pattern,.0,.-1);.}..if.
bcd40 28 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 ($this->endJoker.=.(self::JOKER.
bcd60 3d 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 ===.substr($pattern,.-2).&&.self
bcd80 3a 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 ::ESCAPING.!==.substr($pattern,.
bcda0 2d 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 -3,.-2))).{.$pattern.=.substr($p
bcdc0 61 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 attern,.0,.-2);.}..$this->patter
bcde0 6e 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 n.=.$pattern;.}.}.<?php.........
bce00 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 69 ..namespace.Symfony\Component\Fi
bce20 6e 64 65 72 5c 45 78 70 72 65 73 73 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 6c 6f 62 20 nder\Expression;.....class.Glob.
bce40 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 0a 0a 0a 70 implements.ValueInterface.{....p
bce60 72 69 76 61 74 65 20 24 70 61 74 74 65 72 6e 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 rivate.$pattern;.....public.func
bce80 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 61 74 74 65 72 6e 29 0a 7b 0a 24 74 68 tion.__construct($pattern).{.$th
bcea0 69 73 2d 3e 70 61 74 74 65 72 6e 20 3d 20 24 70 61 74 74 65 72 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 75 is->pattern.=.$pattern;.}.....pu
bcec0 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 75 72 6e 20 blic.function.render().{.return.
bcee0 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 6c 69 63 20 66 75 6e $this->pattern;.}.....public.fun
bcf00 63 74 69 6f 6e 20 72 65 6e 64 65 72 50 61 74 74 65 72 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 ction.renderPattern().{.return.$
bcf20 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 this->pattern;.}.....public.func
bcf40 74 69 6f 6e 20 67 65 74 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 45 78 70 72 65 73 73 69 tion.getType().{.return.Expressi
bcf60 6f 6e 3a 3a 54 59 50 45 5f 47 4c 4f 42 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 on::TYPE_GLOB;.}.....public.func
bcf80 74 69 6f 6e 20 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 tion.isCaseSensitive().{.return.
bcfa0 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 70 72 65 70 true;.}.....public.function.prep
bcfc0 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 3d 20 24 65 end($expr).{.$this->pattern.=.$e
bcfe0 78 70 72 2e 24 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 xpr.$this->pattern;..return.$thi
bd000 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 61 70 70 65 6e 64 28 s;.}.....public.function.append(
bd020 24 65 78 70 72 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 $expr).{.$this->pattern..=.$expr
bd040 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.
bd060 66 75 6e 63 74 69 6f 6e 20 69 73 45 78 70 61 6e 64 61 62 6c 65 28 29 0a 7b 0a 72 65 74 75 72 6e function.isExpandable().{.return
bd080 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e .false.!==.strpos($this->pattern
bd0a0 2c 20 27 7b 27 29 0a 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 74 68 69 73 ,.'{').&&.false.!==.strpos($this
bd0c0 2d 3e 70 61 74 74 65 72 6e 2c 20 27 7d 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ->pattern,.'}');.}........public
bd0e0 20 66 75 6e 63 74 69 6f 6e 20 74 6f 52 65 67 65 78 28 24 73 74 72 69 63 74 4c 65 61 64 69 6e 67 .function.toRegex($strictLeading
bd100 44 6f 74 20 3d 20 74 72 75 65 2c 20 24 73 74 72 69 63 74 57 69 6c 64 63 61 72 64 53 6c 61 73 68 Dot.=.true,.$strictWildcardSlash
bd120 20 3d 20 74 72 75 65 29 0a 7b 0a 24 66 69 72 73 74 42 79 74 65 20 3d 20 74 72 75 65 3b 0a 24 65 .=.true).{.$firstByte.=.true;.$e
bd140 73 63 61 70 69 6e 67 20 3d 20 66 61 6c 73 65 3b 0a 24 69 6e 43 75 72 6c 69 65 73 20 3d 20 30 3b scaping.=.false;.$inCurlies.=.0;
bd160 0a 24 72 65 67 65 78 20 3d 20 27 27 3b 0a 24 73 69 7a 65 47 6c 6f 62 20 3d 20 73 74 72 6c 65 6e .$regex.=.'';.$sizeGlob.=.strlen
bd180 28 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 29 3b 0a 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 ($this->pattern);.for.($i.=.0;.$
bd1a0 69 20 3c 20 24 73 69 7a 65 47 6c 6f 62 3b 20 24 69 2b 2b 29 20 7b 0a 24 63 61 72 20 3d 20 24 74 i.<.$sizeGlob;.$i++).{.$car.=.$t
bd1c0 68 69 73 2d 3e 70 61 74 74 65 72 6e 5b 24 69 5d 3b 0a 69 66 20 28 24 66 69 72 73 74 42 79 74 65 his->pattern[$i];.if.($firstByte
bd1e0 29 20 7b 0a 69 66 20 28 24 73 74 72 69 63 74 4c 65 61 64 69 6e 67 44 6f 74 20 26 26 20 27 2e 27 ).{.if.($strictLeadingDot.&&.'.'
bd200 20 21 3d 3d 20 24 63 61 72 29 20 7b 0a 24 72 65 67 65 78 20 2e 3d 20 27 28 3f 3d 5b 5e 5c 2e 5d .!==.$car).{.$regex..=.'(?=[^\.]
bd220 29 27 3b 0a 7d 0a 0a 24 66 69 72 73 74 42 79 74 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 )';.}..$firstByte.=.false;.}..if
bd240 20 28 27 2f 27 20 3d 3d 3d 20 24 63 61 72 29 20 7b 0a 24 66 69 72 73 74 42 79 74 65 20 3d 20 74 .('/'.===.$car).{.$firstByte.=.t
bd260 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 27 2e 27 20 3d 3d 3d 20 24 63 61 72 20 7c 7c 20 27 28 27 20 rue;.}..if.('.'.===.$car.||.'('.
bd280 3d 3d 3d 20 24 63 61 72 20 7c 7c 20 27 29 27 20 3d 3d 3d 20 24 63 61 72 20 7c 7c 20 27 7c 27 20 ===.$car.||.')'.===.$car.||.'|'.
bd2a0 3d 3d 3d 20 24 63 61 72 20 7c 7c 20 27 2b 27 20 3d 3d 3d 20 24 63 61 72 20 7c 7c 20 27 5e 27 20 ===.$car.||.'+'.===.$car.||.'^'.
bd2c0 3d 3d 3d 20 24 63 61 72 20 7c 7c 20 27 24 27 20 3d 3d 3d 20 24 63 61 72 29 20 7b 0a 24 72 65 67 ===.$car.||.'$'.===.$car).{.$reg
bd2e0 65 78 20 2e 3d 20 22 5c 5c 24 63 61 72 22 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 2a 27 20 3d 3d ex..=."\\$car";.}.elseif.('*'.==
bd300 3d 20 24 63 61 72 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 =.$car).{.$regex..=.$escaping.?.
bd320 27 5c 5c 2a 27 20 3a 20 28 24 73 74 72 69 63 74 57 69 6c 64 63 61 72 64 53 6c 61 73 68 20 3f 20 '\\*'.:.($strictWildcardSlash.?.
bd340 27 5b 5e 2f 5d 2a 27 20 3a 20 27 2e 2a 27 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 3f 27 20 3d '[^/]*'.:.'.*');.}.elseif.('?'.=
bd360 3d 3d 20 24 63 61 72 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 ==.$car).{.$regex..=.$escaping.?
bd380 20 27 5c 5c 3f 27 20 3a 20 28 24 73 74 72 69 63 74 57 69 6c 64 63 61 72 64 53 6c 61 73 68 20 3f .'\\?'.:.($strictWildcardSlash.?
bd3a0 20 27 5b 5e 2f 5d 27 20 3a 20 27 2e 27 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 7b 27 20 3d 3d .'[^/]'.:.'.');.}.elseif.('{'.==
bd3c0 3d 20 24 63 61 72 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 =.$car).{.$regex..=.$escaping.?.
bd3e0 27 5c 5c 7b 27 20 3a 20 27 28 27 3b 0a 69 66 20 28 21 24 65 73 63 61 70 69 6e 67 29 20 7b 0a 2b '\\{'.:.'(';.if.(!$escaping).{.+
bd400 2b 24 69 6e 43 75 72 6c 69 65 73 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 27 7d 27 20 3d 3d 3d +$inCurlies;.}.}.elseif.('}'.===
bd420 20 24 63 61 72 20 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 .$car.&&.$inCurlies).{.$regex..=
bd440 20 24 65 73 63 61 70 69 6e 67 20 3f 20 27 7d 27 20 3a 20 27 29 27 3b 0a 69 66 20 28 21 24 65 73 .$escaping.?.'}'.:.')';.if.(!$es
bd460 63 61 70 69 6e 67 29 20 7b 0a 2d 2d 24 69 6e 43 75 72 6c 69 65 73 3b 0a 7d 0a 7d 20 65 6c 73 65 caping).{.--$inCurlies;.}.}.else
bd480 69 66 20 28 27 2c 27 20 3d 3d 3d 20 24 63 61 72 20 26 26 20 24 69 6e 43 75 72 6c 69 65 73 29 20 if.(','.===.$car.&&.$inCurlies).
bd4a0 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 2c 27 20 3a 20 27 7c {.$regex..=.$escaping.?.','.:.'|
bd4c0 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 24 63 61 72 29 20 7b 0a 69 66 ';.}.elseif.('\\'.===.$car).{.if
bd4e0 20 28 24 65 73 63 61 70 69 6e 67 29 20 7b 0a 24 72 65 67 65 78 20 2e 3d 20 27 5c 5c 5c 5c 27 3b .($escaping).{.$regex..=.'\\\\';
bd500 0a 24 65 73 63 61 70 69 6e 67 20 3d 20 66 61 6c 73 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 65 73 .$escaping.=.false;.}.else.{.$es
bd520 63 61 70 69 6e 67 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 20 65 6c caping.=.true;.}..continue;.}.el
bd540 73 65 20 7b 0a 24 72 65 67 65 78 20 2e 3d 20 24 63 61 72 3b 0a 7d 0a 24 65 73 63 61 70 69 6e 67 se.{.$regex..=.$car;.}.$escaping
bd560 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 52 65 67 65 78 28 27 5e .=.false;.}..return.new.Regex('^
bd580 27 2e 24 72 65 67 65 78 2e 27 24 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a '.$regex.'$');.}.}.<?php........
bd5a0 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
bd5c0 69 6e 64 65 72 5c 45 78 70 72 65 73 73 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 78 70 72 inder\Expression;.....class.Expr
bd5e0 65 73 73 69 6f 6e 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 ession.implements.ValueInterface
bd600 0a 7b 0a 63 6f 6e 73 74 20 54 59 50 45 5f 52 45 47 45 58 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 54 .{.const.TYPE_REGEX.=.1;.const.T
bd620 59 50 45 5f 47 4c 4f 42 20 3d 20 32 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 76 61 6c 75 65 YPE_GLOB.=.2;.....private.$value
bd640 3b 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
bd660 72 65 61 74 65 28 24 65 78 70 72 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 73 65 6c 66 28 24 reate($expr).{.return.new.self($
bd680 65 78 70 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 5f 5f 63 expr);.}.....public.function.__c
bd6a0 6f 6e 73 74 72 75 63 74 28 24 65 78 70 72 29 0a 7b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 76 onstruct($expr).{.try.{.$this->v
bd6c0 61 6c 75 65 20 3d 20 52 65 67 65 78 3a 3a 63 72 65 61 74 65 28 24 65 78 70 72 29 3b 0a 7d 20 63 alue.=.Regex::create($expr);.}.c
bd6e0 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 70 74 69 6f 6e 20 atch.(\InvalidArgumentException.
bd700 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 75 65 20 3d 20 6e 65 77 20 47 6c 6f 62 28 24 65 $e).{.$this->value.=.new.Glob($e
bd720 78 70 72 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 5f 5f xpr);.}.}.....public.function.__
bd740 74 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 72 65 6e 64 65 toString().{.return.$this->rende
bd760 72 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 65 6e 64 65 r();.}.....public.function.rende
bd780 72 28 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 r().{.return.$this->value->rende
bd7a0 72 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 65 6e 64 65 r();.}.....public.function.rende
bd7c0 72 50 61 74 74 65 72 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 61 6c 75 65 rPattern().{.return.$this->value
bd7e0 2d 3e 72 65 6e 64 65 72 50 61 74 74 65 72 6e 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ->renderPattern();.}.....public.
bd800 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 0a 72 65 74 function.isCaseSensitive().{.ret
bd820 75 72 6e 20 24 74 68 69 73 2d 3e 76 61 6c 75 65 2d 3e 69 73 43 61 73 65 53 65 6e 73 69 74 69 76 urn.$this->value->isCaseSensitiv
bd840 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 20 67 65 74 54 79 e();.}.....public.function.getTy
bd860 70 65 28 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 67 65 74 54 pe().{.return.$this->value->getT
bd880 79 70 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 20 70 72 65 ype();.}.....public.function.pre
bd8a0 70 65 6e 64 28 24 65 78 70 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 75 65 2d 3e 70 72 65 70 pend($expr).{.$this->value->prep
bd8c0 65 6e 64 28 24 65 78 70 72 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a end($expr);..return.$this;.}....
bd8e0 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 29 0a 7b .public.function.append($expr).{
bd900 0a 24 74 68 69 73 2d 3e 76 61 6c 75 65 2d 3e 61 70 70 65 6e 64 28 24 65 78 70 72 29 3b 0a 0a 72 .$this->value->append($expr);..r
bd920 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 74 69 eturn.$this;.}.....public.functi
bd940 6f 6e 20 69 73 52 65 67 65 78 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 54 59 50 45 on.isRegex().{.return.self::TYPE
bd960 5f 52 45 47 45 58 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 76 61 6c 75 65 2d 3e 67 65 74 54 79 70 65 _REGEX.===.$this->value->getType
bd980 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 69 73 47 6c 6f 62 ();.}.....public.function.isGlob
bd9a0 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 54 59 50 45 5f 47 4c 4f 42 20 3d 3d 3d 20 ().{.return.self::TYPE_GLOB.===.
bd9c0 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 0a 0a $this->value->getType();.}......
bd9e0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 47 6c 6f 62 28 29 0a 7b 0a 69 66 20 .public.function.getGlob().{.if.
bda00 28 73 65 6c 66 3a 3a 54 59 50 45 5f 47 4c 4f 42 20 21 3d 3d 20 24 74 68 69 73 2d 3e 76 61 6c 75 (self::TYPE_GLOB.!==.$this->valu
bda20 65 2d 3e 67 65 74 54 79 70 65 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 e->getType()).{.throw.new.\Logic
bda40 45 78 63 65 70 74 69 6f 6e 28 27 52 65 67 65 78 20 63 61 6e 74 20 62 65 20 74 72 61 6e 73 66 6f Exception('Regex.cant.be.transfo
bda60 72 6d 65 64 20 74 6f 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 rmed.to.glob.');.}..return.$this
bda80 2d 3e 76 61 6c 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 67 ->value;.}.....public.function.g
bdaa0 65 74 52 65 67 65 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 etRegex().{.return.self::TYPE_RE
bdac0 47 45 58 20 3d 3d 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 20 GEX.===.$this->value->getType().
bdae0 3f 20 24 74 68 69 73 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 ?.$this->value.:.$this->value->t
bdb00 6f 52 65 67 65 78 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 oRegex();.}.}.<?php...........na
bdb20 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 72 mespace.Symfony\Component\Finder
bdb40 5c 45 78 70 72 65 73 73 69 6f 6e 3b 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 56 61 6c 75 65 \Expression;.....interface.Value
bdb60 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 74 69 6f 6e Interface.{......public.function
bdb80 20 72 65 6e 64 65 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 .render();.......public.function
bdba0 20 72 65 6e 64 65 72 50 61 74 74 65 72 6e 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 .renderPattern();.......public.f
bdbc0 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 3b 0a 0a 0a 0a 0a 0a unction.isCaseSensitive();......
bdbe0 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 0a 0a 0a 0a .public.function.getType();.....
bdc00 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 72 29 ..public.function.prepend($expr)
bdc20 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 70 70 65 6e 64 28 24 ;.......public.function.append($
bdc40 65 78 70 72 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 expr);.}.<?php...........namespa
bdc60 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
bdc80 74 65 72 3b 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 ter;.....interface.AdapterInterf
bdca0 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 74 46 6f ace.{......public.function.setFo
bdcc0 6c 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 llowLinks($followLinks);.......p
bdce0 75 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 ublic.function.setMode($mode);..
bdd00 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 63 6c 75 64 65 28 .....public.function.setExclude(
bdd20 61 72 72 61 79 20 24 65 78 63 6c 75 64 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 array.$exclude);.......public.fu
bdd40 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 74 68 73 29 3b nction.setDepths(array.$depths);
bdd60 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 4e 61 6d 65 73 28 .......public.function.setNames(
bdd80 61 72 72 61 79 20 24 6e 61 6d 65 73 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 array.$names);.......public.func
bdda0 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
bddc0 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 74 43 6f 6e 74 );.......public.function.setCont
bdde0 61 69 6e 73 28 61 72 72 61 79 20 24 63 6f 6e 74 61 69 6e 73 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 ains(array.$contains);.......pub
bde00 6c 69 63 20 66 75 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 lic.function.setNotContains(arra
bde20 79 20 24 6e 6f 74 43 6f 6e 74 61 69 6e 73 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 y.$notContains);.......public.fu
bde40 6e 63 74 69 6f 6e 20 73 65 74 53 69 7a 65 73 28 61 72 72 61 79 20 24 73 69 7a 65 73 29 3b 0a 0a nction.setSizes(array.$sizes);..
bde60 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 61 74 65 73 28 61 72 .....public.function.setDates(ar
bde80 72 61 79 20 24 64 61 74 65 73 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ray.$dates);.......public.functi
bdea0 6f 6e 20 73 65 74 46 69 6c 74 65 72 73 28 61 72 72 61 79 20 24 66 69 6c 74 65 72 73 29 3b 0a 0a on.setFilters(array.$filters);..
bdec0 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 72 74 28 24 73 6f .....public.function.setSort($so
bdee0 72 74 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 74 50 61 rt);.......public.function.setPa
bdf00 74 68 28 61 72 72 61 79 20 24 70 61 74 68 73 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 th(array.$paths);.......public.f
bdf20 75 6e 63 74 69 6f 6e 20 73 65 74 4e 6f 74 50 61 74 68 28 61 72 72 61 79 20 24 6e 6f 74 50 61 74 unction.setNotPath(array.$notPat
bdf40 68 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 73 65 61 72 63 hs);.......public.function.searc
bdf60 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 75 62 6c 69 63 hInDirectory($dir);.......public
bdf80 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 0a 0a 0a 0a 70 .function.isSupported();.......p
bdfa0 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 0a 3c 3f 70 68 ublic.function.getName();.}.<?ph
bdfc0 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
bdfe0 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 75 73 65 20 53 79 6d mponent\Finder\Adapter;..use.Sym
be000 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 53 68 65 6c fony\Component\Finder\Shell\Shel
be020 6c 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 72 5c l;.use.Symfony\Component\Finder\
be040 53 68 65 6c 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 Shell\Command;.use.Symfony\Compo
be060 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 74 65 nent\Finder\Iterator\SortableIte
be080 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 6e 74 5c 46 69 6e rator;.use.Symfony\Component\Fin
be0a0 64 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 0a 0a 0a 0a 0a der\Expression\Expression;......
be0c0 0a 63 6c 61 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 .class.BsdFindAdapter.extends.Ab
be0e0 73 74 72 61 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 stractFindAdapter.{....public.fu
be100 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 62 73 64 5f 66 nction.getName().{.return.'bsd_f
be120 69 6e 64 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 ind';.}.....protected.function.c
be140 61 6e 42 65 55 73 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 69 6e 5f 61 72 72 61 79 28 24 74 68 anBeUsed().{.return.in_array($th
be160 69 73 2d 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 is->shell->getType(),.array(Shel
be180 6c 3a 3a 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 l::TYPE_BSD,.Shell::TYPE_DARWIN)
be1a0 29 20 26 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 ).&&.parent::canBeUsed();.}.....
be1c0 70 72 6f 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 protected.function.buildFormatSo
be1e0 72 74 69 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 rting(Command.$command,.$sort).{
be200 0a 73 77 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 .switch.($sort).{.case.SortableI
be220 74 65 72 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 terator::SORT_BY_NAME:.$command-
be240 3e 69 6e 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 >ins('sort')->add('|.sort');..re
be260 74 75 72 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 turn;.case.SortableIterator::SOR
be280 54 5f 42 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 T_BY_TYPE:.$format.=.'%HT';.brea
be2a0 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
be2c0 59 5f 41 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 Y_ACCESSED_TIME:.$format.=.'%a';
be2e0 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
be300 4f 52 54 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 ORT_BY_CHANGED_TIME:.$format.=.'
be320 25 63 27 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 %c';.break;.case.SortableIterato
be340 72 3a 3a 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 r::SORT_BY_MODIFIED_TIME:.$forma
be360 74 20 3d 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 t.=.'%m';.break;.default:.throw.
be380 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 55 new.\InvalidArgumentException('U
be3a0 6e 6b 6e 6f 77 6e 20 73 6f 72 74 20 6f 70 74 69 6f 6e 73 3a 20 27 2e 24 73 6f 72 74 2e 27 2e 27 nknown.sort.options:.'.$sort.'.'
be3c0 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 6e 74 30 20 7c 20 );.}..$command.->add('-print0.|.
be3e0 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 66 6f 72 6d 61 74 xargs.-0.stat.-f').->arg($format
be400 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 75 74 20 2d 66 20 .'%t%N').->add('|.sort.|.cut.-f.
be420 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 69 6f 6e 20 62 75 2');.}.....protected.function.bu
be440 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 61 6e 64 2c ildFindCommand(Command.$command,
be460 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 43 6f 6d 6d 61 6e .$dir).{.parent::buildFindComman
be480 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 64 65 78 28 27 2d d($command,.$dir)->addAtIndex('-
be4a0 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 7d 0a 0a 0a 0a 0a E',.1);..return.$command;.}.....
be4c0 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 6e 74 65 6e 74 46 protected.function.buildContentF
be4e0 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 20 61 72 72 61 79 iltering(Command.$command,.array
be500 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 7b 0a 66 6f 72 65 .$contains,.$not.=.false).{.fore
be520 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 29 20 7b 0a 24 65 ach.($contains.as.$contain).{.$e
be540 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 63 6f 6e 74 61 69 xpr.=.Expression::create($contai
be560 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 72 65 70 20 2d 76 n);....$command.->add('|.grep.-v
be580 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 49 7b 7d 20 67 72 .\'^$\'').->add('|.xargs.-I{}.gr
be5a0 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 65 53 65 6e 73 69 ep.-I').->add($expr->isCaseSensi
be5c0 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 64 28 24 6e 6f 74 tive().?.null.:.'-i').->add($not
be5e0 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 27 29 2d 3e 61 72 .?.'-L'.:.'-l').->add('-Ee')->ar
be600 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 2d 3e 61 64 64 28 g($expr->renderPattern()).->add(
be620 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 0a 0a 0a 0a 6e 61 '{}').;.}.}.}.<?php...........na
be640 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 72 mespace.Symfony\Component\Finder
be660 5c 41 64 61 70 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 \Adapter;..use.Symfony\Component
be680 5c 46 69 6e 64 65 72 5c 53 68 65 6c 6c 5c 53 68 65 6c 6c 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 \Finder\Shell\Shell;.use.Symfony
be6a0 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 6e 64 3b \Component\Finder\Shell\Command;
be6c0 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 49 74 .use.Symfony\Component\Finder\It
be6e0 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 73 65 20 53 79 6d erator\SortableIterator;.use.Sym
be700 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 73 69 6f 6e fony\Component\Finder\Expression
be720 5c 45 78 70 72 65 73 73 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 6e 75 46 69 6e 64 \Expression;.......class.GnuFind
be740 41 64 61 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 Adapter.extends.AbstractFindAdap
be760 74 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 74 4e 61 6d 65 ter.{....public.function.getName
be780 28 29 0a 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 ().{.return.'gnu_find';.}.....pr
be7a0 6f 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 otected.function.buildFormatSort
be7c0 69 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 ing(Command.$command,.$sort).{.s
be7e0 77 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 witch.($sort).{.case.SortableIte
be800 72 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 rator::SORT_BY_NAME:.$command->i
be820 6e 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 ns('sort')->add('|.sort');..retu
be840 72 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 rn;.case.SortableIterator::SORT_
be860 42 59 5f 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 BY_TYPE:.$format.=.'%y';.break;.
be880 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
be8a0 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 41 40 27 3b 0a 62 CCESSED_TIME:.$format.=.'%A@';.b
be8c0 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 4f 52 reak;.case.SortableIterator::SOR
be8e0 54 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 43 T_BY_CHANGED_TIME:.$format.=.'%C
be900 40 27 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 @';.break;.case.SortableIterator
be920 3a 3a 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 ::SORT_BY_MODIFIED_TIME:.$format
be940 20 3d 20 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 .=.'%T@';.break;.default:.throw.
be960 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 55 new.\InvalidArgumentException('U
be980 6e 6b 6e 6f 77 6e 20 73 6f 72 74 20 6f 70 74 69 6f 6e 73 3a 20 27 2e 24 73 6f 72 74 2e 27 2e 27 nknown.sort.options:.'.$sort.'.'
be9a0 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 27 29 0a 2d 3e 61 );.}..$command.->get('find').->a
be9c0 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 74 2e 27 20 25 68 dd('-printf').->arg($format.'.%h
be9e0 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 75 74 27 29 0a 2d /%f\\n').->add('|.sort.|.cut').-
bea00 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 3b 0a 7d 0a 0a 0a >arg('-d.').->arg('-f2-').;.}...
bea20 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 55 73 65 64 28 29 ..protected.function.canBeUsed()
bea40 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 68 65 6c 6c 2d 3e 67 65 74 54 79 70 65 28 .{.return.$this->shell->getType(
bea60 29 20 3d 3d 3d 20 53 68 65 6c 6c 3a 3a 54 59 50 45 5f 55 4e 49 58 20 26 26 20 70 61 72 65 6e 74 ).===.Shell::TYPE_UNIX.&&.parent
bea80 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 63 74 65 64 20 66 ::canBeUsed();.}.....protected.f
beaa0 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 6f 6d 6d 61 6e 64 unction.buildFindCommand(Command
beac0 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 70 61 72 65 6e 74 .$command,.$dir).{.return.parent
beae0 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 64 2c 20 24 64 69 ::buildFindCommand($command,.$di
beb00 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 65 78 74 65 6e 64 r)->add('-regextype.posix-extend
beb20 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 74 69 6f 6e 20 62 ed');.}.....protected.function.b
beb40 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 6e 64 20 24 63 6f uildContentFiltering(Command.$co
beb60 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 6f 74 20 3d 20 66 mmand,.array.$contains,.$not.=.f
beb80 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 20 61 73 20 24 63 alse).{.foreach.($contains.as.$c
beba0 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 6f 6e 3a 3a 63 72 ontain).{.$expr.=.Expression::cr
bebc0 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 64 0a 2d 3e 61 64 eate($contain);....$command.->ad
bebe0 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 27 29 0a 2d 3e 61 d('|.xargs.-I{}.-r.grep.-I').->a
bec00 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 29 20 3f 20 6e 75 dd($expr->isCaseSensitive().?.nu
bec20 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 4c 27 20 3a 20 27 ll.:.'-i').->add($not.?.'-L'.:.'
bec40 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 70 72 2d 3e 72 65 -l').->add('-Ee')->arg($expr->re
bec60 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 0a 3b 0a 7d 0a 7d nderPattern()).->add('{}').;.}.}
bec80 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
beca0 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 3b 0a 0a fony\Component\Finder\Adapter;..
becc0 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 41 64 61 70 .....abstract.class.AbstractAdap
bece0 74 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 41 64 61 70 74 65 72 49 6e 74 65 72 66 61 63 65 0a ter.implements.AdapterInterface.
bed00 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 66 6f 6c 6c 6f 77 4c 69 6e 6b 73 20 3d 20 66 61 6c 73 65 {.protected.$followLinks.=.false
bed20 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6d 6f 64 65 20 3d 20 30 3b 0a 70 72 6f 74 65 63 74 65 64 ;.protected.$mode.=.0;.protected
bed40 20 24 6d 69 6e 44 65 70 74 68 20 3d 20 30 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6d 61 78 44 65 .$minDepth.=.0;.protected.$maxDe
bed60 70 74 68 20 3d 20 50 48 50 5f 49 4e 54 5f 4d 41 58 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 65 78 pth.=.PHP_INT_MAX;.protected.$ex
bed80 63 6c 75 64 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6e 61 6d 65 clude.=.array();.protected.$name
beda0 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 74 4e 61 6d 65 73 s.=.array();.protected.$notNames
bedc0 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 74 61 69 6e 73 20 .=.array();.protected.$contains.
bede0 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6e 6f 74 43 6f 6e 74 61 69 6e =.array();.protected.$notContain
bee00 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 69 7a 65 73 20 3d 20 s.=.array();.protected.$sizes.=.
bee20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 61 74 65 73 20 3d 20 61 72 72 61 array();.protected.$dates.=.arra
bee40 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 66 69 6c 74 65 72 73 20 3d 20 61 72 72 61 79 28 y();.protected.$filters.=.array(
bee60 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 6f 72 74 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 );.protected.$sort.=.false;.prot
bee80 65 63 74 65 64 20 24 70 61 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 ected.$paths.=.array();.protecte
beea0 64 20 24 6e 6f 74 50 61 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 69 76 61 74 65 20 d.$notPaths.=.array();..private.
beec0 73 74 61 74 69 63 20 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 static.$areSupported.=.array();.
beee0 0a 0a 0a 0a 70 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 ....public.function.isSupported(
bef00 29 0a 7b 0a 24 6e 61 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 ).{.$name.=.$this->getName();..i
bef20 66 20 28 21 61 72 72 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 f.(!array_key_exists($name,.self
bef40 3a 3a 24 61 72 65 53 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 ::$areSupported)).{.self::$areSu
bef60 70 70 6f 72 74 65 64 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 pported[$name].=.$this->canBeUse
bef80 64 28 29 3b 0a 7d 0a 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 d();.}..return.self::$areSupport
befa0 65 64 5b 24 6e 61 6d 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 ed[$name];.}.....public.function
befc0 20 73 65 74 46 6f 6c 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 .setFollowLinks($followLinks).{.
befe0 24 74 68 69 73 2d 3e 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 $this->followLinks.=.$followLink
bf000 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 66 s;..return.$this;.}.....public.f
bf020 75 6e 63 74 69 6f 6e 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 unction.setMode($mode).{.$this->
bf040 6d 6f 64 65 20 3d 20 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 mode.=.$mode;..return.$this;.}..
bf060 0a 0a 0a 70 75 62 6c 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 ...public.function.setDepths(arr
bf080 61 79 20 24 64 65 70 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 ay.$depths).{.$this->minDepth.=.
bf0a0 30 3b 0a 24 74 68 69 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 0;.$this->maxDepth.=.PHP_INT_MAX
bf0c0 3b 0a 0a 66 6f 72 65 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 ;..foreach.($depths.as.$comparat
bf0e0 6f 72 29 20 7b 0a 73 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 or).{.switch.($comparator->getOp
bf100 65 72 61 74 6f 72 28 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 erator()).{.case.'>':.$this->min
bf120 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 29 Depth.=.$comparator->getTarget()
bf140 20 2b 20 31 3b 0a 62 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 .+.1;.break;.case.'>=':.$this->m
bf160 69 6e 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 inDepth.=.$comparator->getTarget
bf180 28 29 3b 0a 62 72 65 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 ();.break;.case.'<':.$this->maxD
bf1a0 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 20 epth.=.$comparator->getTarget().
bf1c0 2d 20 31 3b 0a 62 72 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 -.1;.break;.case.'<=':.$this->ma
bf1e0 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(
bf200 29 3b 0a 62 72 65 61 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 );.break;.default:.$this->minDep
bf220 74 68 20 3d 20 24 74 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 th.=.$this->maxDepth.=.$comparat
bf240 6f 72 2d 3e 67 65 74 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 or->getTarget();.}.}..return.$th
bf260 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 45 78 63 is;.}.....public.function.setExc
bf280 6c 75 64 65 28 61 72 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 lude(array.$exclude).{.$this->ex
bf2a0 63 6c 75 64 65 20 3d 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 clude.=.$exclude;..return.$this;
bf2c0 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 61 6d 65 73 28 .}.....public.function.setNames(
bf2e0 61 72 72 61 79 20 24 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 array.$names).{.$this->names.=.$
bf300 6e 61 6d 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 names;..return.$this;.}.....publ
bf320 69 63 20 66 75 6e 63 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 ic.function.setNotNames(array.$n
bf340 6f 74 4e 61 6d 65 73 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 otNames).{.$this->notNames.=.$no
bf360 74 4e 61 6d 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 tNames;..return.$this;.}.....pub
bf380 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 24 lic.function.setContains(array.$
bf3a0 63 6f 6e 74 61 69 6e 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 contains).{.$this->contains.=.$c
bf3c0 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 0a 0a 0a 0a 70 75 ontains;..return.$this;.}.....pu
bf3e0 62 6c 69 63 20 66 75 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 blic.function.setNotContains(arr
bf400 61 79 20 24 6e 6f 74 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 ay.$notContains).{.$this->notCon
bf420 74 61 69 6e 73 20 3d 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 tains.=.$notContains;..return.$t
bf440 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 69 his;.}.....public.function.setSi
bf460 7a 65 73 28 61 72 72 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 zes(array.$sizes).{.$this->sizes
bf480 20 3d 20 24 73 69 7a 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 .=.$sizes;..return.$this;.}.....
bf4a0 70 75 62 6c 69 63 20 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 public.function.setDates(array.$
bf4c0 64 61 74 65 73 29 0a 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 dates).{.$this->dates.=.$dates;.
bf4e0 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
bf500 74 69 6f 6e 20 73 65 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 tion.setFilters(array.$filters).
bf520 7b 0a 24 74 68 69 73 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 {.$this->filters.=.$filters;..re
bf540 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 74 69 6f turn.$this;.}.....public.functio
bf560 6e 20 73 65 74 53 6f 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 n.setSort($sort).{.$this->sort.=
bf580 20 24 73 6f 72 74 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 .$sort;..return.$this;.}.....pub
bf5a0 6c 69 63 20 66 75 6e 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 lic.function.setPath(array.$path
bf5c0 73 29 0a 7b 0a 24 74 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 s).{.$this->paths.=.$paths;..ret
bf5e0 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
bf600 20 73 65 74 4e 6f 74 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 .setNotPath(array.$notPaths).{.$
bf620 74 68 69 73 2d 3e 6e 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 this->notPaths.=.$notPaths;..ret
bf640 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 61 62 73 74 72 61 63 urn.$this;.}.............abstrac
bf660 74 20 70 72 6f 74 65 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 t.protected.function.canBeUsed()
bf680 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 79 ;.}.<?php...........namespace.Sy
bf6a0 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 3b 0a mfony\Component\Finder\Adapter;.
bf6c0 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 49 74 .use.Symfony\Component\Finder\It
bf6e0 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 6e 74 5c 46 69 erator;.use.Symfony\Component\Fi
bf700 6e 64 65 72 5c 53 68 65 6c 6c 5c 53 68 65 6c 6c 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f nder\Shell\Shell;.use.Symfony\Co
bf720 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 73 mponent\Finder\Expression\Expres
bf740 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 64 sion;.use.Symfony\Component\Find
bf760 65 72 5c 53 68 65 6c 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 er\Shell\Command;.use.Symfony\Co
bf780 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 6f 72 74 61 62 6c 65 mponent\Finder\Iterator\Sortable
bf7a0 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 6e 74 5c Iterator;.use.Symfony\Component\
bf7c0 46 69 6e 64 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 Finder\Comparator\NumberComparat
bf7e0 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 65 72 or;.use.Symfony\Component\Finder
bf800 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 0a 0a 0a 0a \Comparator\DateComparator;.....
bf820 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 46 69 6e 64 41 64 61 ..abstract.class.AbstractFindAda
bf840 70 74 65 72 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 63 74 41 64 61 70 74 65 72 0a 7b 0a 0a pter.extends.AbstractAdapter.{..
bf860 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 73 68 65 6c 6c 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ..protected.$shell;.....public.f
bf880 75 6e 63 74 69 6f 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 73 unction.__construct().{.$this->s
bf8a0 68 65 6c 6c 20 3d 20 6e 65 77 20 53 68 65 6c 6c 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 hell.=.new.Shell();.}.....public
bf8c0 20 66 75 6e 63 74 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 .function.searchInDirectory($dir
bf8e0 29 0a 7b 0a 0a 20 24 64 69 72 20 3d 20 72 65 61 6c 70 61 74 68 28 24 64 69 72 29 3b 0a 0a 0a 20 ).{...$dir.=.realpath($dir);....
bf900 69 66 20 28 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 if.(Iterator\FileTypeFilterItera
bf920 74 6f 72 3a 3a 4f 4e 4c 59 5f 44 49 52 45 43 54 4f 52 49 45 53 20 3d 3d 3d 20 24 74 68 69 73 2d tor::ONLY_DIRECTORIES.===.$this-
bf940 3e 6d 6f 64 65 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 >mode.&&.($this->contains.||.$th
bf960 69 73 2d 3e 6e 6f 74 43 6f 6e 74 61 69 6e 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 49 is->notContains)).{.return.new.I
bf980 74 65 72 61 74 6f 72 5c 46 69 6c 65 50 61 74 68 73 49 74 65 72 61 74 6f 72 28 61 72 72 61 79 28 terator\FilePathsIterator(array(
bf9a0 29 2c 20 24 64 69 72 29 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 43 6f 6d 6d 61 6e 64 3a ),.$dir);.}..$command.=.Command:
bf9c0 3a 63 72 65 61 74 65 28 29 3b 0a 24 66 69 6e 64 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 46 :create();.$find.=.$this->buildF
bf9e0 69 6e 64 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 64 69 72 29 3b 0a 0a 69 66 20 indCommand($command,.$dir);..if.
bfa00 28 24 74 68 69 73 2d 3e 66 6f 6c 6c 6f 77 4c 69 6e 6b 73 29 20 7b 0a 24 66 69 6e 64 2d 3e 61 64 ($this->followLinks).{.$find->ad
bfa20 64 28 27 2d 66 6f 6c 6c 6f 77 27 29 3b 0a 7d 0a 0a 24 66 69 6e 64 2d 3e 61 64 64 28 27 2d 6d 69 d('-follow');.}..$find->add('-mi
bfa40 6e 64 65 70 74 68 27 29 2d 3e 61 64 64 28 24 74 68 69 73 2d 3e 6d 69 6e 44 65 70 74 68 20 2b 20 ndepth')->add($this->minDepth.+.
bfa60 31 29 3b 0a 0a 69 66 20 28 50 48 50 5f 49 4e 54 5f 4d 41 58 20 21 3d 3d 20 24 74 68 69 73 2d 3e 1);..if.(PHP_INT_MAX.!==.$this->
bfa80 6d 61 78 44 65 70 74 68 29 20 7b 0a 24 66 69 6e 64 2d 3e 61 64 64 28 27 2d 6d 61 78 64 65 70 74 maxDepth).{.$find->add('-maxdept
bfaa0 68 27 29 2d 3e 61 64 64 28 24 74 68 69 73 2d 3e 6d 61 78 44 65 70 74 68 20 2b 20 31 29 3b 0a 7d h')->add($this->maxDepth.+.1);.}
bfac0 0a 0a 69 66 20 28 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 ..if.(Iterator\FileTypeFilterIte
bfae0 72 61 74 6f 72 3a 3a 4f 4e 4c 59 5f 44 49 52 45 43 54 4f 52 49 45 53 20 3d 3d 3d 20 24 74 68 69 rator::ONLY_DIRECTORIES.===.$thi
bfb00 73 2d 3e 6d 6f 64 65 29 20 7b 0a 24 66 69 6e 64 2d 3e 61 64 64 28 27 2d 74 79 70 65 20 64 27 29 s->mode).{.$find->add('-type.d')
bfb20 3b 0a 7d 20 65 6c 73 65 69 66 20 28 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 54 79 70 65 46 69 6c ;.}.elseif.(Iterator\FileTypeFil
bfb40 74 65 72 49 74 65 72 61 74 6f 72 3a 3a 4f 4e 4c 59 5f 46 49 4c 45 53 20 3d 3d 3d 20 24 74 68 69 terIterator::ONLY_FILES.===.$thi
bfb60 73 2d 3e 6d 6f 64 65 29 20 7b 0a 24 66 69 6e 64 2d 3e 61 64 64 28 27 2d 74 79 70 65 20 66 27 29 s->mode).{.$find->add('-type.f')
bfb80 3b 0a 7d 0a 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 ;.}..$this->buildNamesFiltering(
bfba0 24 66 69 6e 64 2c 20 24 74 68 69 73 2d 3e 6e 61 6d 65 73 29 3b 0a 24 74 68 69 73 2d 3e 62 75 69 $find,.$this->names);.$this->bui
bfbc0 6c 64 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 ldNamesFiltering($find,.$this->n
bfbe0 6f 74 4e 61 6d 65 73 2c 20 74 72 75 65 29 3b 0a 24 74 68 69 73 2d 3e 62 75 69 6c 64 50 61 74 68 otNames,.true);.$this->buildPath
bfc00 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 68 69 73 2d 3e 70 sFiltering($find,.$dir,.$this->p
bfc20 61 74 68 73 29 3b 0a 24 74 68 69 73 2d 3e 62 75 69 6c 64 50 61 74 68 73 46 69 6c 74 65 72 69 6e aths);.$this->buildPathsFilterin
bfc40 67 28 24 66 69 6e 64 2c 20 24 64 69 72 2c 20 24 74 68 69 73 2d 3e 6e 6f 74 50 61 74 68 73 2c 20 g($find,.$dir,.$this->notPaths,.
bfc60 74 72 75 65 29 3b 0a 24 74 68 69 73 2d 3e 62 75 69 6c 64 53 69 7a 65 73 46 69 6c 74 65 72 69 6e true);.$this->buildSizesFilterin
bfc80 67 28 24 66 69 6e 64 2c 20 24 74 68 69 73 2d 3e 73 69 7a 65 73 29 3b 0a 24 74 68 69 73 2d 3e 62 g($find,.$this->sizes);.$this->b
bfca0 75 69 6c 64 44 61 74 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 uildDatesFiltering($find,.$this-
bfcc0 3e 64 61 74 65 73 29 3b 0a 0a 24 75 73 65 47 72 65 70 20 3d 20 24 74 68 69 73 2d 3e 73 68 65 6c >dates);..$useGrep.=.$this->shel
bfce0 6c 2d 3e 74 65 73 74 43 6f 6d 6d 61 6e 64 28 27 67 72 65 70 27 29 20 26 26 20 24 74 68 69 73 2d l->testCommand('grep').&&.$this-
bfd00 3e 73 68 65 6c 6c 2d 3e 74 65 73 74 43 6f 6d 6d 61 6e 64 28 27 78 61 72 67 73 27 29 3b 0a 24 75 >shell->testCommand('xargs');.$u
bfd20 73 65 53 6f 72 74 20 3d 20 69 73 5f 69 6e 74 28 24 74 68 69 73 2d 3e 73 6f 72 74 29 20 26 26 20 seSort.=.is_int($this->sort).&&.
bfd40 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 73 6f 72 74 27 $this->shell->testCommand('sort'
bfd60 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 6e 64 28 27 ).&&.$this->shell->testCommand('
bfd80 63 75 74 27 29 3b 0a 0a 69 66 20 28 24 75 73 65 47 72 65 70 20 26 26 20 28 24 74 68 69 73 2d 3e cut');..if.($useGrep.&&.($this->
bfda0 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))
bfdc0 20 7b 0a 24 67 72 65 70 20 3d 20 24 63 6f 6d 6d 61 6e 64 2d 3e 69 6e 73 28 27 67 72 65 70 27 29 .{.$grep.=.$command->ins('grep')
bfde0 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 72 69 6e 67 28 24 ;.$this->buildContentFiltering($
bfe00 67 72 65 70 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 61 69 6e 73 29 3b 0a 24 74 68 69 73 2d 3e 62 grep,.$this->contains);.$this->b
bfe20 75 69 6c 64 43 6f 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 uildContentFiltering($grep,.$thi
bfe40 73 2d 3e 6e 6f 74 43 6f 6e 74 61 69 6e 73 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 75 s->notContains,.true);.}..if.($u
bfe60 73 65 53 6f 72 74 29 20 7b 0a 24 74 68 69 73 2d 3e 62 75 69 6c 64 53 6f 72 74 69 6e 67 28 24 63 seSort).{.$this->buildSorting($c
bfe80 6f 6d 6d 61 6e 64 2c 20 24 74 68 69 73 2d 3e 73 6f 72 74 29 3b 0a 7d 0a 0a 24 70 61 74 68 73 20 ommand,.$this->sort);.}..$paths.
bfea0 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 75 6e 69 =.$this->shell->testCommand('uni
bfec0 71 27 29 20 3f 20 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 7c 20 75 6e 69 71 27 29 2d 3e 65 q').?.$command->add('|.uniq')->e
bfee0 78 65 63 75 74 65 28 29 20 3a 20 61 72 72 61 79 5f 75 6e 69 71 75 65 28 24 63 6f 6d 6d 61 6e 64 xecute().:.array_unique($command
bff00 2d 3e 65 78 65 63 75 74 65 28 29 29 3b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 ->execute());.$iterator.=.new.It
bff20 65 72 61 74 6f 72 5c 46 69 6c 65 50 61 74 68 73 49 74 65 72 61 74 6f 72 28 24 70 61 74 68 73 2c erator\FilePathsIterator($paths,
bff40 20 24 64 69 72 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 .$dir);..if.($this->exclude).{.$
bff60 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 78 63 6c 75 64 65 44 iterator.=.new.Iterator\ExcludeD
bff80 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 74 65 72 61 74 6f 72 irectoryFilterIterator($iterator
bffa0 2c 20 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 75 73 65 47 ,.$this->exclude);.}..if.(!$useG
bffc0 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 73 rep.&&.($this->contains.||.$this
bffe0 2d 3e 6e 6f 74 43 6f 6e 74 61 69 6e 73 29 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 ->notContains)).{.$iterator.=.ne
c0000 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 74 65 72 w.Iterator\FilecontentFilterIter
c0020 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 6e 73 2c ator($iterator,.$this->contains,
c0040 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 24 74 68 .$this->notContains);.}..if.($th
c0060 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 3d 20 6e 65 77 20 49 is->filters).{.$iterator.=.new.I
c0080 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 74 6f 72 28 24 69 74 terator\CustomFilterIterator($it
c00a0 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 7d 0a 0a 69 66 20 28 erator,.$this->filters);.}..if.(
c00c0 21 24 75 73 65 53 6f 72 74 20 26 26 20 24 74 68 69 73 2d 3e 73 6f 72 74 29 20 7b 0a 24 69 74 65 !$useSort.&&.$this->sort).{.$ite
c00e0 72 61 74 6f 72 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 ratorAggregate.=.new.Iterator\So
c0100 72 74 61 62 6c 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 rtableIterator($iterator,.$this-
c0120 3e 73 6f 72 74 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 >sort);.$iterator.=.$iteratorAgg
c0140 72 65 67 61 74 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 regate->getIterator();.}..return
c0160 20 24 69 74 65 72 61 74 6f 72 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 .$iterator;.}.....protected.func
c0180 74 69 6f 6e 20 63 61 6e 42 65 55 73 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d tion.canBeUsed().{.return.$this-
c01a0 3e 73 68 65 6c 6c 2d 3e 74 65 73 74 43 6f 6d 6d 61 6e 64 28 27 66 69 6e 64 27 29 3b 0a 7d 0a 0a >shell->testCommand('find');.}..
c01c0 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 46 69 ......protected.function.buildFi
c01e0 6e 64 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 24 64 69 72 ndCommand(Command.$command,.$dir
c0200 29 0a 7b 0a 72 65 74 75 72 6e 20 24 63 6f 6d 6d 61 6e 64 0a 2d 3e 69 6e 73 28 27 66 69 6e 64 27 ).{.return.$command.->ins('find'
c0220 29 0a 2d 3e 61 64 64 28 27 66 69 6e 64 20 27 29 0a 2d 3e 61 72 67 28 24 64 69 72 29 0a 2d 3e 61 ).->add('find.').->arg($dir).->a
c0240 64 64 28 27 2d 6e 6f 6c 65 61 66 27 29 3b 20 0a 20 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 dd('-noleaf');...}.......private
c0260 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 4e 61 6d 65 73 46 69 6c 74 65 72 69 6e 67 28 43 6f .function.buildNamesFiltering(Co
c0280 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 61 72 72 61 79 20 24 6e 61 6d 65 73 2c 20 24 6e mmand.$command,.array.$names,.$n
c02a0 6f 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 6e ot.=.false).{.if.(0.===.count($n
c02c0 61 6d 65 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 2d 3e 61 64 ames)).{.return;.}..$command->ad
c02e0 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 28 27 28 27 d($not.?.'-not'.:.null)->cmd('('
c0300 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6e 61 6d 65 73 20 61 73 20 24 69 20 3d 3e 20 24 6e 61 );..foreach.($names.as.$i.=>.$na
c0320 6d 65 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 me).{.$expr.=.Expression::create
c0340 28 24 6e 61 6d 65 29 3b 0a 0a 0a 20 69 66 20 28 24 65 78 70 72 2d 3e 69 73 47 6c 6f 62 28 29 20 ($name);....if.($expr->isGlob().
c0360 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 64 61 62 6c &&.$expr->getGlob()->isExpandabl
c0380 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 72 65 61 74 e()).{.$expr.=.Expression::creat
c03a0 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 66 61 6c 73 e($expr->getGlob()->toRegex(fals
c03c0 65 29 29 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 69 66 20 28 24 65 78 70 72 2d 3e 69 73 52 65 67 65 78 e));.}........if.($expr->isRegex
c03e0 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()
c0400 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
c0420 72 74 46 6c 61 67 28 29 20 3f 20 27 2f 27 20 3a 20 27 2f 5b 5e 2f 5d 2a 27 29 0a 2d 3e 73 65 74 rtFlag().?.'/'.:.'/[^/]*').->set
c0440 53 74 61 72 74 46 6c 61 67 28 66 61 6c 73 65 29 0a 2d 3e 73 65 74 53 74 61 72 74 4a 6f 6b 65 72 StartFlag(false).->setStartJoker
c0460 28 74 72 75 65 29 0a 2d 3e 72 65 70 6c 61 63 65 4a 6f 6b 65 72 73 28 27 5b 5e 2f 5d 27 29 3b 0a (true).->replaceJokers('[^/]');.
c0480 69 66 20 28 21 24 72 65 67 65 78 2d 3e 68 61 73 45 6e 64 46 6c 61 67 28 29 20 7c 7c 20 24 72 65 if.(!$regex->hasEndFlag().||.$re
c04a0 67 65 78 2d 3e 68 61 73 45 6e 64 4a 6f 6b 65 72 28 29 29 20 7b 0a 24 72 65 67 65 78 2d 3e 73 65 gex->hasEndJoker()).{.$regex->se
c04c0 74 45 6e 64 4a 6f 6b 65 72 28 66 61 6c 73 65 29 2d 3e 61 70 70 65 6e 64 28 27 5b 5e 2f 5d 2a 27 tEndJoker(false)->append('[^/]*'
c04e0 29 3b 0a 7d 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 0a 2d 3e 61 64 64 28 24 69 20 3e 20 30 20 3f 20 );.}.}..$command.->add($i.>.0.?.
c0500 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 73 52 65 67 '-or'.:.null).->add($expr->isReg
c0520 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 76 65 28 29 ex().?.($expr->isCaseSensitive()
c0540 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 24 65 78 70 .?.'-regex'.:.'-iregex').:.($exp
c0560 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 6e 61 6d 65 27 20 3a r->isCaseSensitive().?.'-name'.:
c0580 20 27 2d 69 6e 61 6d 65 27 29 0a 29 0a 2d 3e 61 72 67 28 24 65 78 70 72 2d 3e 72 65 6e 64 65 72 .'-iname').).->arg($expr->render
c05a0 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 28 27 29 27 Pattern());.}..$command->cmd(')'
c05c0 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 62 75 69 );.}........private.function.bui
c05e0 6c 64 50 61 74 68 73 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 ldPathsFiltering(Command.$comman
c0600 64 2c 20 24 64 69 72 2c 20 61 72 72 61 79 20 24 70 61 74 68 73 2c 20 24 6e 6f 74 20 3d 20 66 61 d,.$dir,.array.$paths,.$not.=.fa
c0620 6c 73 65 29 0a 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 70 61 74 68 73 29 29 20 lse).{.if.(0.===.count($paths)).
c0640 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 24 6e 6f 74 20 {.return;.}..$command->add($not.
c0660 3f 20 27 2d 6e 6f 74 27 20 3a 20 6e 75 6c 6c 29 2d 3e 63 6d 64 28 27 28 27 29 3b 0a 0a 66 6f 72 ?.'-not'.:.null)->cmd('(');..for
c0680 65 61 63 68 20 28 24 70 61 74 68 73 20 61 73 20 24 69 20 3d 3e 20 24 70 61 74 68 29 20 7b 0a 24 each.($paths.as.$i.=>.$path).{.$
c06a0 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 70 61 74 68 29 expr.=.Expression::create($path)
c06c0 3b 0a 0a 0a 20 69 66 20 28 24 65 78 70 72 2d 3e 69 73 47 6c 6f 62 28 29 20 26 26 20 24 65 78 70 ;....if.($expr->isGlob().&&.$exp
c06e0 72 2d 3e 67 65 74 47 6c 6f 62 28 29 2d 3e 69 73 45 78 70 61 6e 64 61 62 6c 65 28 29 29 20 7b 0a r->getGlob()->isExpandable()).{.
c0700 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 65 78 70 72 $expr.=.Expression::create($expr
c0720 2d 3e 67 65 74 47 6c 6f 62 28 29 2d 3e 74 6f 52 65 67 65 78 28 66 61 6c 73 65 29 29 3b 0a 7d 0a ->getGlob()->toRegex(false));.}.
c0740 0a 0a 20 69 66 20 28 24 65 78 70 72 2d 3e 69 73 52 65 67 65 78 28 29 29 20 7b 0a 24 72 65 67 65 ...if.($expr->isRegex()).{.$rege
c0760 78 20 3d 20 24 65 78 70 72 2d 3e 67 65 74 52 65 67 65 78 28 29 3b 0a 24 72 65 67 65 78 2d 3e 70 x.=.$expr->getRegex();.$regex->p
c0780 72 65 70 65 6e 64 28 24 72 65 67 65 78 2d 3e 68 61 73 53 74 61 72 74 46 6c 61 67 28 29 20 3f 20 repend($regex->hasStartFlag().?.
c07a0 24 64 69 72 2e 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 3a 20 27 2e 2a 27 29 $dir.DIRECTORY_SEPARATOR.:.'.*')
c07c0 2d 3e 73 65 74 45 6e 64 4a 6f 6b 65 72 28 21 24 72 65 67 65 78 2d 3e 68 61 73 45 6e 64 46 6c 61 ->setEndJoker(!$regex->hasEndFla
c07e0 67 28 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 65 78 70 72 2d 3e 70 72 65 70 65 6e 64 28 27 2a g());.}.else.{.$expr->prepend('*
c0800 27 29 2d 3e 61 70 70 65 6e 64 28 27 2a 27 29 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 0a 2d 3e 61 ')->append('*');.}..$command.->a
c0820 64 64 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 dd($i.>.0.?.'-or'.:.null).->add(
c0840 24 65 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 $expr->isRegex().?.($expr->isCas
c0860 65 53 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 eSensitive().?.'-regex'.:.'-ireg
c0880 65 78 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 ex').:.($expr->isCaseSensitive()
c08a0 20 3f 20 27 2d 70 61 74 68 27 20 3a 20 27 2d 69 70 61 74 68 27 29 0a 29 0a 2d 3e 61 72 67 28 24 .?.'-path'.:.'-ipath').).->arg($
c08c0 65 78 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 expr->renderPattern());.}..$comm
c08e0 61 6e 64 2d 3e 63 6d 64 28 27 29 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 and->cmd(')');.}......private.fu
c0900 6e 63 74 69 6f 6e 20 62 75 69 6c 64 53 69 7a 65 73 46 69 6c 74 65 72 69 6e 67 28 43 6f 6d 6d 61 nction.buildSizesFiltering(Comma
c0920 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 61 72 72 61 79 20 24 73 69 7a 65 73 29 0a 7b 0a 66 6f 72 nd.$command,.array.$sizes).{.for
c0940 65 61 63 68 20 28 24 73 69 7a 65 73 20 61 73 20 24 69 20 3d 3e 20 24 73 69 7a 65 29 20 7b 0a 24 each.($sizes.as.$i.=>.$size).{.$
c0960 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
c0980 75 6c 6c 29 3b 0a 0a 73 77 69 74 63 68 20 28 24 73 69 7a 65 2d 3e 67 65 74 4f 70 65 72 61 74 6f ull);..switch.($size->getOperato
c09a0 72 28 29 29 20 7b 0a 63 61 73 65 20 27 3c 3d 27 3a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 r()).{.case.'<=':.$command->add(
c09c0 27 2d 73 69 7a 65 20 2d 27 20 2e 20 28 24 73 69 7a 65 2d 3e 67 65 74 54 61 72 67 65 74 28 29 20 '-size.-'...($size->getTarget().
c09e0 2b 20 31 29 20 2e 20 27 63 27 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 3e 3d 27 3a 0a 24 +.1)...'c');.break;.case.'>=':.$
c0a00 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 2d 73 69 7a 65 20 2b 27 2e 20 28 24 73 69 7a 65 2d 3e command->add('-size.+'..($size->
c0a20 67 65 74 54 61 72 67 65 74 28 29 20 2d 20 31 29 20 2e 20 27 63 27 29 3b 0a 62 72 65 61 6b 3b 0a getTarget().-.1)...'c');.break;.
c0a40 63 61 73 65 20 27 3e 27 3a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 2d 73 69 7a 65 20 2b case.'>':.$command->add('-size.+
c0a60 27 20 2e 20 24 73 69 7a 65 2d 3e 67 65 74 54 61 72 67 65 74 28 29 20 2e 20 27 63 27 29 3b 0a 62 '...$size->getTarget()...'c');.b
c0a80 72 65 61 6b 3b 0a 63 61 73 65 20 27 21 3d 27 3a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 reak;.case.'!=':.$command->add('
c0aa0 2d 73 69 7a 65 20 2d 27 20 2e 20 24 73 69 7a 65 2d 3e 67 65 74 54 61 72 67 65 74 28 29 20 2e 20 -size.-'...$size->getTarget()...
c0ac0 27 63 27 29 3b 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 2d 73 69 7a 65 20 2b 27 20 2e 20 'c');.$command->add('-size.+'...
c0ae0 24 73 69 7a 65 2d 3e 67 65 74 54 61 72 67 65 74 28 29 20 2e 20 27 63 27 29 3b 0a 63 61 73 65 20 $size->getTarget()...'c');.case.
c0b00 27 3c 27 3a 0a 64 65 66 61 75 6c 74 3a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 2d 73 69 '<':.default:.$command->add('-si
c0b20 7a 65 20 2d 27 20 2e 20 24 73 69 7a 65 2d 3e 67 65 74 54 61 72 67 65 74 28 29 20 2e 20 27 63 27 ze.-'...$size->getTarget()...'c'
c0b40 29 3b 0a 7d 0a 7d 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
c0b60 75 69 6c 64 44 61 74 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 uildDatesFiltering(Command.$comm
c0b80 61 6e 64 2c 20 61 72 72 61 79 20 24 64 61 74 65 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 64 and,.array.$dates).{.foreach.($d
c0ba0 61 74 65 73 20 61 73 20 24 69 20 3d 3e 20 24 64 61 74 65 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 2d ates.as.$i.=>.$date).{.$command-
c0bc0 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 24 >add($i.>.0.?.'-and'.:.null);..$
c0be0 6d 69 6e 73 20 3d 20 28 69 6e 74 29 20 72 6f 75 6e 64 28 28 74 69 6d 65 28 29 2d 24 64 61 74 65 mins.=.(int).round((time()-$date
c0c00 2d 3e 67 65 74 54 61 72 67 65 74 28 29 29 20 2f 20 36 30 29 3b 0a 0a 69 66 20 28 30 20 3e 20 24 ->getTarget())./.60);..if.(0.>.$
c0c20 6d 69 6e 73 29 20 7b 0a 0a 20 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 20 2d 6d 6d 69 6e 20 mins).{...$command->add('.-mmin.
c0c40 2d 30 27 29 3b 0a 0a 20 72 65 74 75 72 6e 3b 0a 7d 0a 0a 73 77 69 74 63 68 20 28 24 64 61 74 65 -0');...return;.}..switch.($date
c0c60 2d 3e 67 65 74 4f 70 65 72 61 74 6f 72 28 29 29 20 7b 0a 63 61 73 65 20 27 3c 3d 27 3a 0a 24 63 ->getOperator()).{.case.'<=':.$c
c0c80 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 2d 6d 6d 69 6e 20 2b 27 20 2e 20 28 24 6d 69 6e 73 20 2d ommand->add('-mmin.+'...($mins.-
c0ca0 20 31 29 29 3b 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 .1));.break;.case.'>=':.$command
c0cc0 2d 3e 61 64 64 28 27 2d 6d 6d 69 6e 20 2d 27 20 2e 20 28 24 6d 69 6e 73 20 2b 20 31 29 29 3b 0a ->add('-mmin.-'...($mins.+.1));.
c0ce0 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 3e 61 64 64 28 27 break;.case.'>':.$command->add('
c0d00 2d 6d 6d 69 6e 20 2d 27 20 2e 20 24 6d 69 6e 73 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 -mmin.-'...$mins);.break;.case.'
c0d20 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 20 2e 20 24 !=':.$command->add('-mmin.+'...$
c0d40 6d 69 6e 73 2e 27 20 2d 6f 72 20 2d 6d 6d 69 6e 20 2d 27 20 2e 20 24 6d 69 6e 73 29 3b 0a 62 72 mins.'.-or.-mmin.-'...$mins);.br
c0d60 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
c0d80 2d 3e 61 64 64 28 27 2d 6d 6d 69 6e 20 2b 27 20 2e 20 24 6d 69 6e 73 29 3b 0a 7d 0a 7d 0a 7d 0a ->add('-mmin.+'...$mins);.}.}.}.
c0da0 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 53 6f 72 .......private.function.buildSor
c0dc0 74 69 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 ting(Command.$command,.$sort).{.
c0de0 24 74 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 $this->buildFormatSorting($comma
c0e00 6e 64 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 nd,.$sort);.}......abstract.prot
c0e20 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 6e ected.function.buildFormatSortin
c0e40 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 3b 0a 0a 0a 0a 0a g(Command.$command,.$sort);.....
c0e60 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 62 75 ..abstract.protected.function.bu
c0e80 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 6e 64 20 24 63 6f 6d ildContentFiltering(Command.$com
c0ea0 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 6f 74 20 3d 20 66 61 mand,.array.$contains,.$not.=.fa
c0ec0 6c 73 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 lse);.}.<?php...........namespac
c0ee0 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 74 e.Symfony\Component\Finder\Adapt
c0f00 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 46 69 6e 64 65 er;..use.Symfony\Component\Finde
c0f20 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 68 70 41 64 61 70 74 r\Iterator;.......class.PhpAdapt
c0f40 65 72 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 63 74 41 64 61 70 74 65 72 0a 7b 0a 0a 0a 0a er.extends.AbstractAdapter.{....
c0f60 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 61 72 63 68 49 6e 44 69 72 65 63 74 6f 72 public.function.searchInDirector
c0f80 79 28 24 64 69 72 29 0a 7b 0a 24 66 6c 61 67 73 20 3d 20 5c 52 65 63 75 72 73 69 76 65 44 69 72 y($dir).{.$flags.=.\RecursiveDir
c0fa0 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 3b 0a 0a 69 66 20 28 ectoryIterator::SKIP_DOTS;..if.(
c0fc0 24 74 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 $this->followLinks).{.$flags.|=.
c0fe0 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 46 4f 4c \RecursiveDirectoryIterator::FOL
c1000 4c 4f 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 LOW_SYMLINKS;.}..$iterator.=.new
c1020 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 0a 6e 65 77 .\RecursiveIteratorIterator(.new
c1040 20 49 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 .Iterator\RecursiveDirectoryIter
c1060 61 74 6f 72 28 24 64 69 72 2c 20 24 66 6c 61 67 73 29 2c 0a 5c 52 65 63 75 72 73 69 76 65 49 74 ator($dir,.$flags),.\RecursiveIt
c1080 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 0a 29 3b 0a 0a 69 eratorIterator::SELF_FIRST.);..i
c10a0 66 20 28 24 74 68 69 73 2d 3e 6d 69 6e 44 65 70 74 68 20 3e 20 30 20 7c 7c 20 24 74 68 69 73 2d f.($this->minDepth.>.0.||.$this-
c10c0 3e 6d 61 78 44 65 70 74 68 20 3c 20 50 48 50 5f 49 4e 54 5f 4d 41 58 29 20 7b 0a 24 69 74 65 72 >maxDepth.<.PHP_INT_MAX).{.$iter
c10e0 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 44 65 70 74 68 52 61 6e 67 65 46 69 ator.=.new.Iterator\DepthRangeFi
c1100 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 6d lterIterator($iterator,.$this->m
c1120 69 6e 44 65 70 74 68 2c 20 24 74 68 69 73 2d 3e 6d 61 78 44 65 70 74 68 29 3b 0a 7d 0a 0a 69 66 inDepth,.$this->maxDepth);.}..if
c1140 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 20 3d 20 6e 65 77 .($this->mode).{.$iterator.=.new
c1160 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
c1180 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 7d 0a 0a 69 66 20 ($iterator,.$this->mode);.}..if.
c11a0 28 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e ($this->exclude).{.$iterator.=.n
c11c0 65 77 20 49 74 65 72 61 74 6f 72 5c 45 78 63 6c 75 64 65 44 69 72 65 63 74 6f 72 79 46 69 6c 74 ew.Iterator\ExcludeDirectoryFilt
c11e0 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 65 78 63 erIterator($iterator,.$this->exc
c1200 6c 75 64 65 29 3b 0a 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 lude);.}..if.($this->names.||.$t
c1220 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 72 20 3d 20 6e 65 77 his->notNames).{.$iterator.=.new
c1240 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 74 65 72 61 74 6f 72 .Iterator\FilenameFilterIterator
c1260 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 20 24 74 68 69 73 2d ($iterator,.$this->names,.$this-
c1280 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 3e 63 6f 6e 74 61 69 >notNames);.}..if.($this->contai
c12a0 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 20 7b 0a 24 69 74 65 ns.||.$this->notContains).{.$ite
c12c0 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 63 6f 6e 74 65 6e 74 rator.=.new.Iterator\Filecontent
c12e0 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-
c1300 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 61 69 6e 73 29 3b 0a >contains,.$this->notContains);.
c1320 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 74 65 72 61 74 6f 72 }..if.($this->sizes).{.$iterator
c1340 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 46 69 6c 74 65 72 49 .=.new.Iterator\SizeRangeFilterI
c1360 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 69 7a 65 73 29 terator($iterator,.$this->sizes)
c1380 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 24 69 74 65 72 61 74 ;.}..if.($this->dates).{.$iterat
c13a0 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 67 65 46 69 6c 74 65 or.=.new.Iterator\DateRangeFilte
c13c0 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 64 61 74 65 rIterator($iterator,.$this->date
c13e0 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 29 20 7b 0a 24 69 74 s);.}..if.($this->filters).{.$it
c1400 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 74 6f 6d 46 69 6c 74 erator.=.new.Iterator\CustomFilt
c1420 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 66 69 6c erIterator($iterator,.$this->fil
c1440 74 65 72 73 29 3b 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 ters);.}..if.($this->sort).{.$it
c1460 65 72 61 74 6f 72 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 eratorAggregate.=.new.Iterator\S
c1480 6f 72 74 61 62 6c 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 ortableIterator($iterator,.$this
c14a0 2d 3e 73 6f 72 74 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 ->sort);.$iterator.=.$iteratorAg
c14c0 67 72 65 67 61 74 65 2d 3e 67 65 74 49 74 65 72 61 74 6f 72 28 29 3b 0a 7d 0a 0a 69 66 20 28 24 gregate->getIterator();.}..if.($
c14e0 74 68 69 73 2d 3e 70 61 74 68 73 20 7c 7c 20 24 74 68 69 73 2d 3e 6e 6f 74 50 61 74 68 73 29 20 this->paths.||.$this->notPaths).
c1500 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 50 61 74 68 46 {.$iterator.=.new.Iterator\PathF
c1520 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->
c1540 70 61 74 68 73 2c 20 24 74 68 69 73 2d 3e 6e 6f 74 50 61 74 68 73 29 3b 0a 7d 0a 0a 72 65 74 75 paths,.$this->notPaths);.}..retu
c1560 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 63 20 66 75 6e 63 74 rn.$iterator;.}.....public.funct
c1580 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 68 70 27 3b 0a 7d 0a ion.getName().{.return.'php';.}.
c15a0 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 55 73 65 64 ....protected.function.canBeUsed
c15c0 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 68 70 0a 0a 0a 0a 0a ().{.return.true;.}.}.<?php.....
c15e0 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
c1600 74 5c 46 69 6e 64 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a t\Finder;.......................
c1620 0a 63 6c 61 73 73 20 47 6c 6f 62 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 .class.Glob.{..........public.st
c1640 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 6f 52 65 67 65 78 28 24 67 6c 6f 62 2c 20 24 73 74 atic.function.toRegex($glob,.$st
c1660 72 69 63 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 rictLeadingDot.=.true,.$strictWi
c1680 6c 64 63 61 72 64 53 6c 61 73 68 20 3d 20 74 72 75 65 29 0a 7b 0a 24 66 69 72 73 74 42 79 74 65 ldcardSlash.=.true).{.$firstByte
c16a0 20 3d 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 .=.true;.$escaping.=.false;.$inC
c16c0 75 72 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 urlies.=.0;.$regex.=.'';.$sizeGl
c16e0 6f 62 20 3d 20 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 ob.=.strlen($glob);.for.($i.=.0;
c1700 20 24 69 20 3c 20 24 73 69 7a 65 47 6c 6f 62 3b 20 24 69 2b 2b 29 20 7b 0a 24 63 61 72 20 3d 20 .$i.<.$sizeGlob;.$i++).{.$car.=.
c1720 24 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 $glob[$i];.if.($firstByte).{.if.
c1740 28 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 ($strictLeadingDot.&&.'.'.!==.$c
c1760 61 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 ar).{.$regex..=.'(?=[^\.])';.}..
c1780 24 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 $firstByte.=.false;.}..if.('/'.=
c17a0 3d 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 ==.$car).{.$firstByte.=.true;.}.
c17c0 0a 69 66 20 28 27 2e 27 20 3d 3d 3d 20 24 63 61 72 20 7c 7c 20 27 28 27 20 3d 3d 3d 20 24 63 61 .if.('.'.===.$car.||.'('.===.$ca
c17e0 72 20 7c 7c 20 27 29 27 20 3d 3d 3d 20 24 63 61 72 20 7c 7c 20 27 7c 27 20 3d 3d 3d 20 24 63 61 r.||.')'.===.$car.||.'|'.===.$ca
c1800 72 20 7c 7c 20 27 2b 27 20 3d 3d 3d 20 24 63 61 72 20 7c 7c 20 27 5e 27 20 3d 3d 3d 20 24 63 61 r.||.'+'.===.$car.||.'^'.===.$ca
c1820 72 20 7c 7c 20 27 24 27 20 3d 3d 3d 20 24 63 61 72 29 20 7b 0a 24 72 65 67 65 78 20 2e 3d 20 22 r.||.'$'.===.$car).{.$regex..=."
c1840 5c 5c 24 63 61 72 22 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 2a 27 20 3d 3d 3d 20 24 63 61 72 29 \\$car";.}.elseif.('*'.===.$car)
c1860 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 5c 5c 2a 27 20 3a .{.$regex..=.$escaping.?.'\\*'.:
c1880 20 28 24 73 74 72 69 63 74 57 69 6c 64 63 61 72 64 53 6c 61 73 68 20 3f 20 27 5b 5e 2f 5d 2a 27 .($strictWildcardSlash.?.'[^/]*'
c18a0 20 3a 20 27 2e 2a 27 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 3f 27 20 3d 3d 3d 20 24 63 61 72 .:.'.*');.}.elseif.('?'.===.$car
c18c0 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 5c 5c 3f 27 20 ).{.$regex..=.$escaping.?.'\\?'.
c18e0 3a 20 28 24 73 74 72 69 63 74 57 69 6c 64 63 61 72 64 53 6c 61 73 68 20 3f 20 27 5b 5e 2f 5d 27 :.($strictWildcardSlash.?.'[^/]'
c1900 20 3a 20 27 2e 27 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 7b 27 20 3d 3d 3d 20 24 63 61 72 29 .:.'.');.}.elseif.('{'.===.$car)
c1920 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 5c 5c 7b 27 20 3a .{.$regex..=.$escaping.?.'\\{'.:
c1940 20 27 28 27 3b 0a 69 66 20 28 21 24 65 73 63 61 70 69 6e 67 29 20 7b 0a 2b 2b 24 69 6e 43 75 72 .'(';.if.(!$escaping).{.++$inCur
c1960 6c 69 65 73 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 27 7d 27 20 3d 3d 3d 20 24 63 61 72 20 26 lies;.}.}.elseif.('}'.===.$car.&
c1980 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 70 &.$inCurlies).{.$regex..=.$escap
c19a0 69 6e 67 20 3f 20 27 7d 27 20 3a 20 27 29 27 3b 0a 69 66 20 28 21 24 65 73 63 61 70 69 6e 67 29 ing.?.'}'.:.')';.if.(!$escaping)
c19c0 20 7b 0a 2d 2d 24 69 6e 43 75 72 6c 69 65 73 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 27 2c 27 .{.--$inCurlies;.}.}.elseif.(','
c19e0 20 3d 3d 3d 20 24 63 61 72 20 26 26 20 24 69 6e 43 75 72 6c 69 65 73 29 20 7b 0a 24 72 65 67 65 .===.$car.&&.$inCurlies).{.$rege
c1a00 78 20 2e 3d 20 24 65 73 63 61 70 69 6e 67 20 3f 20 27 2c 27 20 3a 20 27 7c 27 3b 0a 7d 20 65 6c x..=.$escaping.?.','.:.'|';.}.el
c1a20 73 65 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 24 63 61 72 29 20 7b 0a 69 66 20 28 24 65 73 63 61 seif.('\\'.===.$car).{.if.($esca
c1a40 70 69 6e 67 29 20 7b 0a 24 72 65 67 65 78 20 2e 3d 20 27 5c 5c 5c 5c 27 3b 0a 24 65 73 63 61 70 ping).{.$regex..=.'\\\\';.$escap
c1a60 69 6e 67 20 3d 20 66 61 6c 73 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 65 73 63 61 70 69 6e 67 20 ing.=.false;.}.else.{.$escaping.
c1a80 3d 20 74 72 75 65 3b 0a 7d 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 =.true;.}..continue;.}.else.{.$r
c1aa0 65 67 65 78 20 2e 3d 20 24 63 61 72 3b 0a 7d 0a 24 65 73 63 61 70 69 6e 67 20 3d 20 66 61 6c 73 egex..=.$car;.}.$escaping.=.fals
c1ac0 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 23 5e 27 2e 24 72 65 67 65 78 2e 27 24 23 27 3b 0a 7d e;.}..return.'#^'.$regex.'$#';.}
c1ae0 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
c1b00 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 0a fony\Component\Finder\Iterator;.
c1b20 0a 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 ......class.DepthRangeFilterIter
c1b40 61 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 ator.extends.FilterIterator.{.pr
c1b60 69 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 0a 0a 70 75 62 ivate.$minDepth.=.0;.........pub
c1b80 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 52 65 63 75 72 73 lic.function.__construct(\Recurs
c1ba0 69 76 65 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 iveIteratorIterator.$iterator,.$
c1bc0 6d 69 6e 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 minDepth.=.0,.$maxDepth.=.PHP_IN
c1be0 54 5f 4d 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 T_MAX).{.$this->minDepth.=.$minD
c1c00 65 70 74 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 epth;.$iterator->setMaxDepth(PHP
c1c20 5f 49 4e 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 _INT_MAX.===.$maxDepth.?.-1.:.$m
c1c40 61 78 44 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 axDepth);..parent::__construct($
c1c60 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 74 69 iterator);.}.......public.functi
c1c80 6f 6e 20 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 on.accept().{.return.$this->getI
c1ca0 6e 6e 65 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 nnerIterator()->getDepth().>=.$t
c1cc0 68 69 73 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 his->minDepth;.}.}.<?php........
c1ce0 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
c1d00 69 6e 64 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 53 6f 72 74 inder\Iterator;.......class.Sort
c1d20 61 62 6c 65 49 74 65 72 61 74 6f 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 5c 49 74 65 72 61 74 6f ableIterator.implements.\Iterato
c1d40 72 41 67 67 72 65 67 61 74 65 0a 7b 0a 63 6f 6e 73 74 20 53 4f 52 54 5f 42 59 5f 4e 41 4d 45 20 rAggregate.{.const.SORT_BY_NAME.
c1d60 3d 20 31 3b 0a 63 6f 6e 73 74 20 53 4f 52 54 5f 42 59 5f 54 59 50 45 20 3d 20 32 3b 0a 63 6f 6e =.1;.const.SORT_BY_TYPE.=.2;.con
c1d80 73 74 20 53 4f 52 54 5f 42 59 5f 41 43 43 45 53 53 45 44 5f 54 49 4d 45 20 3d 20 33 3b 0a 63 6f st.SORT_BY_ACCESSED_TIME.=.3;.co
c1da0 6e 73 74 20 53 4f 52 54 5f 42 59 5f 43 48 41 4e 47 45 44 5f 54 49 4d 45 20 3d 20 34 3b 0a 63 6f nst.SORT_BY_CHANGED_TIME.=.4;.co
c1dc0 6e 73 74 20 53 4f 52 54 5f 42 59 5f 4d 4f 44 49 46 49 45 44 5f 54 49 4d 45 20 3d 20 35 3b 0a 0a nst.SORT_BY_MODIFIED_TIME.=.5;..
c1de0 70 72 69 76 61 74 65 20 24 69 74 65 72 61 74 6f 72 3b 0a 70 72 69 76 61 74 65 20 24 73 6f 72 74 private.$iterator;.private.$sort
c1e00 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 6f 6e ;..........public.function.__con
c1e20 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 74 6f 72 2c 20 24 struct(\Traversable.$iterator,.$
c1e40 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 24 69 74 65 72 61 sort).{.$this->iterator.=.$itera
c1e60 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 4d 45 20 3d 3d 3d tor;..if.(self::SORT_BY_NAME.===
c1e80 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 6e 63 74 69 6f 6e .$sort).{.$this->sort.=.function
c1ea0 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 24 61 2d 3e 67 65 .($a,.$b).{.return.strcmp($a->ge
c1ec0 74 52 65 61 6c 70 61 74 68 28 29 2c 20 24 62 2d 3e 67 65 74 52 65 61 6c 70 61 74 68 28 29 29 3b tRealpath(),.$b->getRealpath());
c1ee0 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 54 59 50 45 .};.}.elseif.(self::SORT_BY_TYPE
c1f00 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 6e 63 .===.$sort).{.$this->sort.=.func
c1f20 74 69 6f 6e 20 28 24 61 2c 20 24 62 29 20 7b 0a 69 66 20 28 24 61 2d 3e 69 73 44 69 72 28 29 20 tion.($a,.$b).{.if.($a->isDir().
c1f40 26 26 20 24 62 2d 3e 69 73 46 69 6c 65 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 2d 31 3b 0a 7d 20 &&.$b->isFile()).{.return.-1;.}.
c1f60 65 6c 73 65 69 66 20 28 24 61 2d 3e 69 73 46 69 6c 65 28 29 20 26 26 20 24 62 2d 3e 69 73 44 69 elseif.($a->isFile().&&.$b->isDi
c1f80 72 28 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 73 74 72 63 6d r()).{.return.1;.}..return.strcm
c1fa0 70 28 24 61 2d 3e 67 65 74 52 65 61 6c 70 61 74 68 28 29 2c 20 24 62 2d 3e 67 65 74 52 65 61 6c p($a->getRealpath(),.$b->getReal
c1fc0 70 61 74 68 28 29 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 path());.};.}.elseif.(self::SORT
c1fe0 5f 42 59 5f 41 43 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 _BY_ACCESSED_TIME.===.$sort).{.$
c2000 74 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 this->sort.=.function.($a,.$b).{
c2020 0a 72 65 74 75 72 6e 20 28 24 61 2d 3e 67 65 74 41 54 69 6d 65 28 29 20 3e 20 24 62 2d 3e 67 65 .return.($a->getATime().>.$b->ge
c2040 74 41 54 69 6d 65 28 29 29 3b 0a 7d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 73 65 6c 66 3a 3a 53 4f tATime());.};.}.elseif.(self::SO
c2060 52 54 5f 42 59 5f 43 48 41 4e 47 45 44 5f 54 49 4d 45 20 3d 3d 3d 20 24 73 6f 72 74 29 20 7b 0a RT_BY_CHANGED_TIME.===.$sort).{.
c2080 24 74 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 $this->sort.=.function.($a,.$b).
c20a0 7b 0a 72 65 74 75 72 6e 20 28 24 61 2d 3e 67 65 74 43 54 69 6d 65 28 29 20 3e 20 24 62 2d 3e 67 {.return.($a->getCTime().>.$b->g
c20c0 65 74 43 54 69 6d 65 28 29 29 3b 0a 7d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 73 65 6c 66 3a 3a 53 etCTime());.};.}.elseif.(self::S
c20e0 4f 52 54 5f 42 59 5f 4d 4f 44 49 46 49 45 44 5f 54 49 4d 45 20 3d 3d 3d 20 24 73 6f 72 74 29 20 ORT_BY_MODIFIED_TIME.===.$sort).
c2100 7b 0a 24 74 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 {.$this->sort.=.function.($a,.$b
c2120 29 20 7b 0a 72 65 74 75 72 6e 20 28 24 61 2d 3e 67 65 74 4d 54 69 6d 65 28 29 20 3e 20 24 62 2d ).{.return.($a->getMTime().>.$b-
c2140 3e 67 65 74 4d 54 69 6d 65 28 29 29 3b 0a 7d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 63 61 >getMTime());.};.}.elseif.(is_ca
c2160 6c 6c 61 62 6c 65 28 24 73 6f 72 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 73 6f 72 74 20 3d 20 24 llable($sort)).{.$this->sort.=.$
c2180 73 6f 72 74 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 sort;.}.else.{.throw.new.\Invali
c21a0 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 53 6f 72 74 61 62 6c 65 dArgumentException('The.Sortable
c21c0 49 74 65 72 61 74 6f 72 20 74 61 6b 65 73 20 61 20 50 48 50 20 63 61 6c 6c 62 61 63 6b 20 6f 72 Iterator.takes.a.PHP.callback.or
c21e0 20 61 20 76 61 6c 69 64 20 62 75 69 6c 74 2d 69 6e 20 73 6f 72 74 20 61 6c 67 6f 72 69 74 68 6d .a.valid.built-in.sort.algorithm
c2200 20 61 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 2e 27 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 .as.an.argument.');.}.}..public.
c2220 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 24 61 72 72 61 79 20 function.getIterator().{.$array.
c2240 3d 20 69 74 65 72 61 74 6f 72 5f 74 6f 5f 61 72 72 61 79 28 24 74 68 69 73 2d 3e 69 74 65 72 61 =.iterator_to_array($this->itera
c2260 74 6f 72 2c 20 74 72 75 65 29 3b 0a 75 61 73 6f 72 74 28 24 61 72 72 61 79 2c 20 24 74 68 69 73 tor,.true);.uasort($array,.$this
c2280 2d 3e 73 6f 72 74 29 3b 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 5c 41 72 72 61 79 49 74 65 72 61 ->sort);..return.new.\ArrayItera
c22a0 74 6f 72 28 24 61 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 0a tor($array);.}.}.<?php..........
c22c0 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
c22e0 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 46 69 6c 65 63 der\Iterator;........class.Filec
c2300 6f 6e 74 65 6e 74 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 ontentFilterIterator.extends.Mul
c2320 74 69 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 tiplePcreFilterIterator.{......p
c2340 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 20 28 21 24 ublic.function.accept().{.if.(!$
c2360 74 68 69 73 2d 3e 6d 61 74 63 68 52 65 67 65 78 70 73 20 26 26 20 21 24 74 68 69 73 2d 3e 6e 6f this->matchRegexps.&&.!$this->no
c2380 4d 61 74 63 68 52 65 67 65 78 70 73 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a MatchRegexps).{.return.true;.}..
c23a0 24 66 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 0a 69 $fileinfo.=.$this->current();..i
c23c0 66 20 28 24 66 69 6c 65 69 6e 66 6f 2d 3e 69 73 44 69 72 28 29 20 7c 7c 20 21 24 66 69 6c 65 69 f.($fileinfo->isDir().||.!$filei
c23e0 6e 66 6f 2d 3e 69 73 52 65 61 64 61 62 6c 65 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 nfo->isReadable()).{.return.fals
c2400 65 3b 0a 7d 0a 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 24 66 69 6c 65 69 6e 66 6f 2d 3e 67 65 74 43 e;.}..$content.=.$fileinfo->getC
c2420 6f 6e 74 65 6e 74 73 28 29 3b 0a 69 66 20 28 21 24 63 6f 6e 74 65 6e 74 29 20 7b 0a 72 65 74 75 ontents();.if.(!$content).{.retu
c2440 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 6e rn.false;.}....foreach.($this->n
c2460 6f 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 oMatchRegexps.as.$regex).{.if.(p
c2480 72 65 67 5f 6d 61 74 63 68 28 24 72 65 67 65 78 2c 20 24 63 6f 6e 74 65 6e 74 29 29 20 7b 0a 72 reg_match($regex,.$content)).{.r
c24a0 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 0a 20 24 6d 61 74 63 68 20 3d 20 74 72 75 eturn.false;.}.}....$match.=.tru
c24c0 65 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6d 61 74 63 68 52 65 67 65 78 70 73 29 20 7b 0a 24 6d e;.if.($this->matchRegexps).{.$m
c24e0 61 74 63 68 20 3d 20 66 61 6c 73 65 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 6d 61 atch.=.false;.foreach.($this->ma
c2500 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 65 67 tchRegexps.as.$regex).{.if.(preg
c2520 5f 6d 61 74 63 68 28 24 72 65 67 65 78 2c 20 24 63 6f 6e 74 65 6e 74 29 29 20 7b 0a 72 65 74 75 _match($regex,.$content)).{.retu
c2540 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 3b 0a 7d rn.true;.}.}.}..return.$match;.}
c2560 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 74 6f 52 65 .........protected.function.toRe
c2580 67 65 78 28 24 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 gex($str).{.return.$this->isRege
c25a0 78 28 24 73 74 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 x($str).?.$str.:.'/'.preg_quote(
c25c0 24 73 74 72 2c 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 $str,.'/').'/';.}.}.<?php.......
c25e0 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\
c2600 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 43 6f Finder\Iterator;..use.Symfony\Co
c2620 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 0a 0a mponent\Finder\SplFileInfo;.....
c2640 0a 0a 63 6c 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 ..class.FilePathsIterator.extend
c2660 73 20 5c 41 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 s.\ArrayIterator.{....private.$b
c2680 61 73 65 44 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 aseDir;.....private.$baseDirLeng
c26a0 74 68 3b 0a 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 th;.....private.$subPath;.....pr
c26c0 69 76 61 74 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 ivate.$subPathname;.....private.
c26e0 24 63 75 72 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 $current;......public.function._
c2700 5f 63 6f 6e 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 _construct(array.$paths,.$baseDi
c2720 72 29 0a 7b 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 r).{.$this->baseDir.=.$baseDir;.
c2740 24 74 68 69 73 2d 3e 62 61 73 65 44 69 72 4c 65 6e 67 74 68 20 3d 20 73 74 72 6c 65 6e 28 24 62 $this->baseDirLength.=.strlen($b
c2760 61 73 65 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 aseDir);..parent::__construct($p
c2780 61 74 68 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 aths);.}........public.function.
c27a0 5f 5f 63 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 __call($name,.array.$arguments).
c27c0 7b 0a 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 61 72 {.return.call_user_func_array(ar
c27e0 72 61 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 ray($this->current(),.$name),.$a
c2800 72 67 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 rguments);.}.......public.functi
c2820 6f 6e 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 on.current().{.return.$this->cur
c2840 72 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 6b 65 79 28 rent;.}.....public.function.key(
c2860 29 0a 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 ).{.return.$this->current->getPa
c2880 74 68 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 thname();.}..public.function.nex
c28a0 74 28 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 t().{.parent::next();.$this->bui
c28c0 6c 64 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 ldProperties();.}..public.functi
c28e0 6f 6e 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 on.rewind().{.parent::rewind();.
c2900 24 74 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 $this->buildProperties();.}.....
c2920 70 75 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 public.function.getSubPath().{.r
c2940 65 74 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 eturn.$this->subPath;.}.....publ
c2960 69 63 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 ic.function.getSubPathname().{.r
c2980 65 74 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 eturn.$this->subPathname;.}..pri
c29a0 76 61 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 vate.function.buildProperties().
c29c0 7b 0a 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 {.$absolutePath.=.parent::curren
c29e0 74 28 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 t();..if.($this->baseDir.===.sub
c2a00 73 74 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 str($absolutePath,.0,.$this->bas
c2a20 65 44 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 eDirLength)).{.$this->subPathnam
c2a40 65 20 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 e.=.ltrim(substr($absolutePath,.
c2a60 24 74 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 $this->baseDirLength),.'/\\');.$
c2a80 64 69 72 20 3d 20 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 dir.=.dirname($this->subPathname
c2aa0 29 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 );.$this->subPath.=.'.'.===.$dir
c2ac0 20 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 .?.''.:.$dir;.}.else.{.$this->su
c2ae0 62 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 bPath.=.$this->subPathname.=.'';
c2b00 0a 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 .}..$this->current.=.new.SplFile
c2b20 49 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 Info(parent::current(),.$this->s
c2b40 75 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 ubPath,.$this->subPathname);.}.}
c2b60 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
c2b80 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
c2ba0 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 43 6f 6d 70 se.Symfony\Component\Finder\Comp
c2bc0 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 0a 0a 0a 0a 0a 0a 63 arator\NumberComparator;.......c
c2be0 6c 61 73 73 20 53 69 7a 65 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 20 65 78 74 lass.SizeRangeFilterIterator.ext
c2c00 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 76 61 74 65 20 24 63 ends.FilterIterator.{.private.$c
c2c20 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 0a 0a 0a 0a 70 75 62 omparators.=.array();........pub
c2c40 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 72 61 74 lic.function.__construct(\Iterat
c2c60 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 61 74 6f 72 73 or.$iterator,.array.$comparators
c2c80 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 6f 6d 70 61 72 ).{.$this->comparators.=.$compar
c2ca0 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 28 24 69 74 65 ators;..parent::__construct($ite
c2cc0 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.
c2ce0 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 75 accept().{.$fileinfo.=.$this->cu
c2d00 72 72 65 6e 74 28 29 3b 0a 69 66 20 28 21 24 66 69 6c 65 69 6e 66 6f 2d 3e 69 73 46 69 6c 65 28 rrent();.if.(!$fileinfo->isFile(
c2d20 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 66 69 6c 65 73 69 7a 65 20 3d )).{.return.true;.}..$filesize.=
c2d40 20 24 66 69 6c 65 69 6e 66 6f 2d 3e 67 65 74 53 69 7a 65 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 .$fileinfo->getSize();.foreach.(
c2d60 24 74 68 69 73 2d 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 $this->comparators.as.$compare).
c2d80 7b 0a 69 66 20 28 21 24 63 6f 6d 70 61 72 65 2d 3e 74 65 73 74 28 24 66 69 6c 65 73 69 7a 65 29 {.if.(!$compare->test($filesize)
c2da0 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 74 72 ).{.return.false;.}.}..return.tr
c2dc0 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 61 63 ue;.}.}.<?php...........namespac
c2de0 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 72 61 e.Symfony\Component\Finder\Itera
c2e00 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 78 63 6c 75 64 65 44 69 72 65 63 74 6f 72 tor;.......class.ExcludeDirector
c2e20 79 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 74 yFilterIterator.extends.FilterIt
c2e40 65 72 61 74 6f 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 70 61 74 74 65 72 6e 73 3b 0a 0a 0a 0a 0a erator.{.private.$patterns;.....
c2e60 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 5c ...public.function.__construct(\
c2e80 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 20 24 64 69 72 65 63 Iterator.$iterator,.array.$direc
c2ea0 74 6f 72 69 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 73 20 3d 20 61 72 72 61 tories).{.$this->patterns.=.arra
c2ec0 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 69 72 65 63 74 6f 72 69 65 73 20 61 73 20 24 64 y();.foreach.($directories.as.$d
c2ee0 69 72 65 63 74 6f 72 79 29 20 7b 0a 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 73 5b 5d 20 3d 20 irectory).{.$this->patterns[].=.
c2f00 27 23 28 5e 7c 2f 29 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 64 69 72 65 63 74 6f 72 79 2c 20 '#(^|/)'.preg_quote($directory,.
c2f20 27 23 27 29 2e 27 28 2f 7c 24 29 23 27 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 '#').'(/|$)#';.}..parent::__cons
c2f40 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 70 75 62 6c 69 63 truct($iterator);.}.......public
c2f60 20 66 75 6e 63 74 69 6f 6e 20 61 63 63 65 70 74 28 29 0a 7b 0a 24 70 61 74 68 20 3d 20 24 74 68 .function.accept().{.$path.=.$th
c2f80 69 73 2d 3e 69 73 44 69 72 28 29 20 3f 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 28 29 2d 3e is->isDir().?.$this->current()->
c2fa0 67 65 74 52 65 6c 61 74 69 76 65 50 61 74 68 6e 61 6d 65 28 29 20 3a 20 24 74 68 69 73 2d 3e 63 getRelativePathname().:.$this->c
c2fc0 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 28 29 3b 0a 24 70 61 urrent()->getRelativePath();.$pa
c2fe0 74 68 20 3d 20 73 74 72 74 72 28 24 70 61 74 68 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 3b 0a 66 6f th.=.strtr($path,.'\\',.'/');.fo
c3000 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 73 20 61 73 20 24 70 61 74 74 65 reach.($this->patterns.as.$patte
c3020 72 6e 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 rn).{.if.(preg_match($pattern,.$
c3040 70 61 74 68 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 path)).{.return.false;.}.}..retu
c3060 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 6e 61 6d rn.true;.}.}.<?php...........nam
c3080 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\
c30a0 49 74 65 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 Iterator;.........abstract.class
c30c0 20 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 5c 46 69 6c 74 65 72 49 .FilterIterator.extends.\FilterI
c30e0 74 65 72 61 74 6f 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 terator.{.......public.function.
c3100 72 65 77 69 6e 64 28 29 0a 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 24 74 68 69 73 3b 0a 77 68 rewind().{.$iterator.=.$this;.wh
c3120 69 6c 65 20 28 24 69 74 65 72 61 74 6f 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 4f 75 74 65 72 ile.($iterator.instanceof.\Outer
c3140 49 74 65 72 61 74 6f 72 29 20 7b 0a 69 66 20 28 24 69 74 65 72 61 74 6f 72 2d 3e 67 65 74 49 6e Iterator).{.if.($iterator->getIn
c3160 6e 65 72 49 74 65 72 61 74 6f 72 28 29 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 46 69 6c 65 73 79 nerIterator().instanceof.\Filesy
c3180 73 74 65 6d 49 74 65 72 61 74 6f 72 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 2d 3e 67 65 74 49 6e stemIterator).{.$iterator->getIn
c31a0 6e 65 72 49 74 65 72 61 74 6f 72 28 29 2d 3e 6e 65 78 74 28 29 3b 0a 24 69 74 65 72 61 74 6f 72 nerIterator()->next();.$iterator
c31c0 2d 3e 67 65 74 49 6e 6e 65 72 49 74 65 72 61 74 6f 72 28 29 2d 3e 72 65 77 69 6e 64 28 29 3b 0a ->getInnerIterator()->rewind();.
c31e0 7d 0a 24 69 74 65 72 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 }.$iterator.=.$iterator->getInne
c3200 72 49 74 65 72 61 74 6f 72 28 29 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 72 65 77 69 6e 64 28 29 rIterator();.}..parent::rewind()
c3220 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.
c3240 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 72 61 74 6f Symfony\Component\Finder\Iterato
c3260 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 6e 64 65 72 r;..use.Symfony\Component\Finder
c3280 5c 45 78 70 72 65 73 73 69 6f 6e 5c 45 78 70 72 65 73 73 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 61 62 \Expression\Expression;.......ab
c32a0 73 74 72 61 63 74 20 63 6c 61 73 73 20 4d 75 6c 74 69 70 6c 65 50 63 72 65 46 69 6c 74 65 72 49 stract.class.MultiplePcreFilterI
c32c0 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 61 74 6f 72 0a 7b terator.extends.FilterIterator.{
c32e0 0a 70 72 6f 74 65 63 74 65 64 20 24 6d 61 74 63 68 52 65 67 65 78 70 73 3b 0a 70 72 6f 74 65 63 .protected.$matchRegexps;.protec
c3300 74 65 64 20 24 6e 6f 4d 61 74 63 68 52 65 67 65 78 70 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 ted.$noMatchRegexps;.........pub
c3320 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 72 61 74 lic.function.__construct(\Iterat
c3340 6f 72 20 24 69 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 or.$iterator,.array.$matchPatter
c3360 6e 73 2c 20 61 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 24 74 ns,.array.$noMatchPatterns).{.$t
c3380 68 69 73 2d 3e 6d 61 74 63 68 52 65 67 65 78 70 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 his->matchRegexps.=.array();.for
c33a0 65 61 63 68 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 each.($matchPatterns.as.$pattern
c33c0 29 20 7b 0a 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 ).{.$this->matchRegexps[].=.$thi
c33e0 73 2d 3e 74 6f 52 65 67 65 78 28 24 70 61 74 74 65 72 6e 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e s->toRegex($pattern);.}..$this->
c3400 6e 6f 4d 61 74 63 68 52 65 67 65 78 70 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 noMatchRegexps.=.array();.foreac
c3420 68 20 28 24 6e 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 h.($noMatchPatterns.as.$pattern)
c3440 20 7b 0a 24 74 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 .{.$this->noMatchRegexps[].=.$th
c3460 69 73 2d 3e 74 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 is->toRegex($pattern);.}..parent
c3480 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 0a ::__construct($iterator);.}.....
c34a0 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 52 65 67 65 78 28 24 ....protected.function.isRegex($
c34c0 73 74 72 29 0a 7b 0a 72 65 74 75 72 6e 20 45 78 70 72 65 73 73 69 6f 6e 3a 3a 63 72 65 61 74 65 str).{.return.Expression::create
c34e0 28 24 73 74 72 29 2d 3e 69 73 52 65 67 65 78 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 ($str)->isRegex();.}.........abs
c3500 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 74 6f 52 65 67 65 78 tract.protected.function.toRegex
c3520 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 0a 6e 61 6d 65 73 70 ($str);.}.<?php...........namesp
c3540 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
c3560 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 69 6c 74 rator;..........class.CustomFilt
c3580 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 61 74 6f erIterator.extends.FilterIterato
c35a0 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 29 3b 0a r.{.private.$filters.=.array();.
c35c0 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 73 74 .........public.function.__const
c35e0 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 20 ruct(\Iterator.$iterator,.array.
c3600 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 73 $filters).{.foreach.($filters.as
c3620 20 24 66 69 6c 74 65 72 29 20 7b 0a 69 66 20 28 21 69 73 5f 63 61 6c 6c 61 62 6c 65 28 24 66 69 .$filter).{.if.(!is_callable($fi
c3640 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 75 6d lter)).{.throw.new.\InvalidArgum
c3660 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 62 61 entException('Invalid.PHP.callba
c3680 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 69 6c ck.');.}.}.$this->filters.=.$fil
c36a0 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 65 72 ters;..parent::__construct($iter
c36c0 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 61 ator);.}.......public.function.a
c36e0 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 75 72 ccept().{.$fileinfo.=.$this->cur
c3700 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 72 73 rent();..foreach.($this->filters
c3720 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 63 61 6c .as.$filter).{.if.(false.===.cal
c3740 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 6f 29 29 l_user_func($filter,.$fileinfo))
c3760 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 74 72 75 .{.return.false;.}.}..return.tru
c3780 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 65 e;.}.}.<?php...........namespace
c37a0 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 72 61 74 .Symfony\Component\Finder\Iterat
c37c0 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 6e 64 65 or;..use.Symfony\Component\Finde
c37e0 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 0a 0a 0a 0a 0a 0a 63 r\Expression\Expression;.......c
c3800 6c 61 73 73 20 46 69 6c 65 6e 61 6d 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 20 65 78 74 65 lass.FilenameFilterIterator.exte
c3820 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 0a 7b nds.MultiplePcreFilterIterator.{
c3840 0a 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 0a .......public.function.accept().
c3860 7b 0a 24 66 69 6c 65 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 28 29 2d 3e {.$filename.=.$this->current()->
c3880 67 65 74 46 69 6c 65 6e 61 6d 65 28 29 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 getFilename();....foreach.($this
c38a0 2d 3e 6e 6f 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 ->noMatchRegexps.as.$regex).{.if
c38c0 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 72 65 67 65 78 2c 20 24 66 69 6c 65 6e 61 6d 65 29 29 .(preg_match($regex,.$filename))
c38e0 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 0a 20 24 6d 61 74 63 68 20 3d .{.return.false;.}.}....$match.=
c3900 20 74 72 75 65 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6d 61 74 63 68 52 65 67 65 78 70 73 29 20 .true;.if.($this->matchRegexps).
c3920 7b 0a 24 6d 61 74 63 68 20 3d 20 66 61 6c 73 65 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 {.$match.=.false;.foreach.($this
c3940 2d 3e 6d 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 ->matchRegexps.as.$regex).{.if.(
c3960 70 72 65 67 5f 6d 61 74 63 68 28 24 72 65 67 65 78 2c 20 24 66 69 6c 65 6e 61 6d 65 29 29 20 7b preg_match($regex,.$filename)).{
c3980 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6d 61 74 .return.true;.}.}.}..return.$mat
c39a0 63 68 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 75 6e 63 74 ch;.}............protected.funct
c39c0 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 45 78 70 72 65 ion.toRegex($str).{.return.Expre
c39e0 73 73 69 6f 6e 3a 3a 63 72 65 61 74 65 28 24 73 74 72 29 2d 3e 67 65 74 52 65 67 65 78 28 29 2d ssion::create($str)->getRegex()-
c3a00 3e 72 65 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 6e >render();.}.}.<?php...........n
c3a20 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
c3a40 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
c3a60 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 61 nt\Finder\Comparator\DateCompara
c3a80 74 6f 72 3b 0a 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 tor;.......class.DateRangeFilter
c3aa0 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 61 74 6f 72 0a Iterator.extends.FilterIterator.
c3ac0 7b 0a 70 72 69 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 {.private.$comparators.=.array()
c3ae0 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 74 ;........public.function.__const
c3b00 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 20 ruct(\Iterator.$iterator,.array.
c3b20 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 6d 70 61 72 61 74 6f $comparators).{.$this->comparato
c3b40 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 74 3a 3a 5f 5f 63 6f rs.=.$comparators;..parent::__co
c3b60 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 70 75 62 6c nstruct($iterator);.}.......publ
c3b80 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 69 6c 65 69 6e 66 6f ic.function.accept().{.$fileinfo
c3ba0 20 3d 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 28 29 3b 0a 0a 69 66 20 28 21 24 66 69 6c 65 .=.$this->current();..if.(!$file
c3bc0 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 72 75 65 3b 0a 7d info->isFile()).{.return.true;.}
c3be0 0a 0a 24 66 69 6c 65 64 61 74 65 20 3d 20 24 66 69 6c 65 69 6e 66 6f 2d 3e 67 65 74 4d 54 69 6d ..$filedate.=.$fileinfo->getMTim
c3c00 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 61 74 6f 72 73 e();.foreach.($this->comparators
c3c20 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 72 65 2d 3e 74 .as.$compare).{.if.(!$compare->t
c3c40 65 73 74 28 24 66 69 6c 65 64 61 74 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a est($filedate)).{.return.false;.
c3c60 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 0a 0a 0a 0a 0a }.}..return.true;.}.}.<?php.....
c3c80 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
c3ca0 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 61 73 73 20 46 t\Finder\Iterator;.......class.F
c3cc0 69 6c 65 54 79 70 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 ileTypeFilterIterator.extends.Fi
c3ce0 6c 74 65 72 49 74 65 72 61 74 6f 72 0a 7b 0a 63 6f 6e 73 74 20 4f 4e 4c 59 5f 46 49 4c 45 53 20 lterIterator.{.const.ONLY_FILES.
c3d00 3d 20 31 3b 0a 63 6f 6e 73 74 20 4f 4e 4c 59 5f 44 49 52 45 43 54 4f 52 49 45 53 20 3d 20 32 3b =.1;.const.ONLY_DIRECTORIES.=.2;
c3d20 0a 0a 70 72 69 76 61 74 65 20 24 6d 6f 64 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ..private.$mode;........public.f
c3d40 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
c3d60 74 65 72 61 74 6f 72 2c 20 24 6d 6f 64 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 6f 64 65 20 3d 20 terator,.$mode).{.$this->mode.=.
c3d80 24 6d 6f 64 65 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 $mode;..parent::__construct($ite
c3da0 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.
c3dc0 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 75 accept().{.$fileinfo.=.$this->cu
c3de0 72 72 65 6e 74 28 29 3b 0a 69 66 20 28 73 65 6c 66 3a 3a 4f 4e 4c 59 5f 44 49 52 45 43 54 4f 52 rrent();.if.(self::ONLY_DIRECTOR
c3e00 49 45 53 20 3d 3d 3d 20 28 73 65 6c 66 3a 3a 4f 4e 4c 59 5f 44 49 52 45 43 54 4f 52 49 45 53 20 IES.===.(self::ONLY_DIRECTORIES.
c3e20 26 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 20 26 26 20 24 66 69 6c 65 69 6e 66 6f 2d 3e 69 73 46 &.$this->mode).&&.$fileinfo->isF
c3e40 69 6c 65 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 20 65 6c 73 65 69 66 20 ile()).{.return.false;.}.elseif.
c3e60 28 73 65 6c 66 3a 3a 4f 4e 4c 59 5f 46 49 4c 45 53 20 3d 3d 3d 20 28 73 65 6c 66 3a 3a 4f 4e 4c (self::ONLY_FILES.===.(self::ONL
c3e80 59 5f 46 49 4c 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 Y_FILES.&.$this->mode).&&.$filei
c3ea0 6e 66 6f 2d 3e 69 73 44 69 72 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a nfo->isDir()).{.return.false;.}.
c3ec0 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.........
c3ee0 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 69 ..namespace.Symfony\Component\Fi
c3f00 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 43 6f 6d 70 nder\Iterator;..use.Symfony\Comp
c3f20 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 0a 0a 0a 0a onent\Finder\SplFileInfo;.......
c3f40 63 6c 61 73 73 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 class.RecursiveDirectoryIterator
c3f60 20 65 78 74 65 6e 64 73 20 5c 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 .extends.\RecursiveDirectoryIter
c3f80 61 74 6f 72 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 ator.{.public.function.__constru
c3fa0 63 74 28 24 70 61 74 68 2c 20 24 66 6c 61 67 73 29 0a 7b 0a 69 66 20 28 24 66 6c 61 67 73 20 26 ct($path,.$flags).{.if.($flags.&
c3fc0 20 28 73 65 6c 66 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 .(self::CURRENT_AS_PATHNAME.|.se
c3fe0 6c 66 3a 3a 43 55 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 lf::CURRENT_AS_SELF)).{.throw.ne
c4000 77 20 5c 52 75 6e 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 w.\RuntimeException('This.iterat
c4020 6f 72 20 6f 6e 6c 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 or.only.support.returning.curren
c4040 74 20 61 73 20 66 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 t.as.fileinfo.');.}..parent::__c
c4060 6f 6e 73 74 72 75 63 74 28 24 70 61 74 68 2c 20 24 66 6c 61 67 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a onstruct($path,.$flags);.}......
c4080 0a 70 75 62 6c 69 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 .public.function.current().{.ret
c40a0 75 72 6e 20 6e 65 77 20 53 70 6c 46 69 6c 65 49 6e 66 6f 28 70 61 72 65 6e 74 3a 3a 63 75 72 72 urn.new.SplFileInfo(parent::curr
c40c0 65 6e 74 28 29 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 2c 20 24 74 68 69 73 2d 3e 67 65 74 ent()->getPathname(),.$this->get
c40e0 53 75 62 50 61 74 68 28 29 2c 20 24 74 68 69 73 2d 3e 67 65 74 53 75 62 50 61 74 68 6e 61 6d 65 SubPath(),.$this->getSubPathname
c4100 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 61 ());.}.}.<?php...........namespa
c4120 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 72 ce.Symfony\Component\Finder\Iter
c4140 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 61 74 68 46 69 6c 74 65 72 49 74 65 ator;........class.PathFilterIte
c4160 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 4d 75 6c 74 69 70 6c 65 50 63 72 65 46 69 6c 74 65 72 rator.extends.MultiplePcreFilter
c4180 49 74 65 72 61 74 6f 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e Iterator.{.......public.function
c41a0 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 74 68 69 73 2d 3e 63 .accept().{.$filename.=.$this->c
c41c0 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 6e 61 6d 65 28 29 3b urrent()->getRelativePathname();
c41e0 0a 0a 69 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 ..if.(defined('PHP_WINDOWS_VERSI
c4200 4f 4e 5f 4d 41 4a 4f 52 27 29 29 20 7b 0a 24 66 69 6c 65 6e 61 6d 65 20 3d 20 73 74 72 74 72 28 ON_MAJOR')).{.$filename.=.strtr(
c4220 24 66 69 6c 65 6e 61 6d 65 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 3b 0a 7d 0a 0a 0a 20 66 6f 72 65 $filename,.'\\',.'/');.}....fore
c4240 61 63 68 20 28 24 74 68 69 73 2d 3e 6e 6f 4d 61 74 63 68 52 65 67 65 78 70 73 20 61 73 20 24 72 ach.($this->noMatchRegexps.as.$r
c4260 65 67 65 78 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 72 65 67 65 78 2c 20 24 egex).{.if.(preg_match($regex,.$
c4280 66 69 6c 65 6e 61 6d 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 filename)).{.return.false;.}.}..
c42a0 0a 20 24 6d 61 74 63 68 20 3d 20 74 72 75 65 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6d 61 74 63 ..$match.=.true;.if.($this->matc
c42c0 68 52 65 67 65 78 70 73 29 20 7b 0a 24 6d 61 74 63 68 20 3d 20 66 61 6c 73 65 3b 0a 66 6f 72 65 hRegexps).{.$match.=.false;.fore
c42e0 61 63 68 20 28 24 74 68 69 73 2d 3e 6d 61 74 63 68 52 65 67 65 78 70 73 20 61 73 20 24 72 65 67 ach.($this->matchRegexps.as.$reg
c4300 65 78 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 72 65 67 65 78 2c 20 24 66 69 ex).{.if.(preg_match($regex,.$fi
c4320 6c 65 6e 61 6d 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 lename)).{.return.true;.}.}.}..r
c4340 65 74 75 72 6e 20 24 6d 61 74 63 68 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 eturn.$match;.}................p
c4360 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 0a rotected.function.toRegex($str).
c4380 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 20 {.return.$this->isRegex($str).?.
c43a0 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 20 27 2f 27 29 $str.:.'/'.preg_quote($str,.'/')
c43c0 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 61 6d 65 73 70 .'/';.}.}.<?php...........namesp
c43e0 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
c4400 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
c4420 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 0a 0a tor.extends.Comparator.{........
c4440 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 74 65 .public.function.__construct($te
c4460 73 74 29 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 st).{.if.(!preg_match('#^\s*(==|
c4480 21 3d 7c 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 !=|[<>]=?|after|since|before|unt
c44a0 69 6c 29 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 il)?\s*(.+?)\s*$#i',.$test,.$mat
c44c0 63 68 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 6d ches)).{.throw.new.\InvalidArgum
c44e0 65 6e 74 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 entException(sprintf('Don\'t.und
c4500 65 72 73 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 erstand."%s".as.a.date.test.',.$
c4520 74 65 73 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 test));.}..try.{.$date.=.new.\Da
c4540 74 65 54 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 teTime($matches[2]);.$target.=.$
c4560 64 61 74 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 date->format('U');.}.catch.(\Exc
c4580 65 70 74 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 eption.$e).{.throw.new.\InvalidA
c45a0 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 22 25 73 22 20 69 rgumentException(sprintf('"%s".i
c45c0 73 20 6e 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 s.not.a.valid.date.',.$matches[2
c45e0 5d 29 29 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 ]));.}..$operator.=.isset($match
c4600 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 3d 27 3b 0a 69 66 20 es[1]).?.$matches[1].:.'==';.if.
c4620 28 27 73 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 ('since'.===.$operator.||.'after
c4640 27 20 3d 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 '.===.$operator).{.$operator.=.'
c4660 3e 27 3b 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 >';.}..if.('until'.===.$operator
c4680 20 7c 7c 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 .||.'before'.===.$operator).{.$o
c46a0 70 65 72 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 perator.=.'<';.}..$this->setOper
c46c0 61 74 6f 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 ator($operator);.$this->setTarge
c46e0 74 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 0a t($target);.}.}.<?php...........
c4700 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
c4720 65 72 5c 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 er\Comparator;..................
c4740 0a 0a 0a 0a 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 ......class.NumberComparator.ext
c4760 65 6e 64 73 20 43 6f 6d 70 61 72 61 74 6f 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ends.Comparator.{........public.
c4780 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 0a 7b 0a 69 66 function.__construct($test).{.if
c47a0 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 5b 3c 3e 5d 3d .(!preg_match('#^\s*(==|!=|[<>]=
c47c0 3f 29 3f 5c 73 2a 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 ?)?\s*([0-9\.]+)\s*([kmg]i?)?\s*
c47e0 24 23 69 27 2c 20 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 $#i',.$test,.$matches)).{.throw.
c4800 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
c4820 72 69 6e 74 66 28 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 rintf('Don\'t.understand."%s".as
c4840 20 61 20 6e 75 6d 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 .a.number.test.',.$test));.}..$t
c4860 61 72 67 65 74 20 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 arget.=.$matches[2];.if.(!is_num
c4880 65 72 69 63 28 24 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 eric($target)).{.throw.new.\Inva
c48a0 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 49 6e lidArgumentException(sprintf('In
c48c0 76 61 6c 69 64 20 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 valid.number."%s".',.$target));.
c48e0 7d 0a 69 66 20 28 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 }.if.(isset($matches[3])).{...sw
c4900 69 74 63 68 20 28 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 itch.(strtolower($matches[3])).{
c4920 0a 63 61 73 65 20 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 .case.'k':.$target.*=.1000;.brea
c4940 6b 3b 0a 63 61 73 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 k;.case.'ki':.$target.*=.1024;.b
c4960 72 65 61 6b 3b 0a 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 reak;.case.'m':.$target.*=.10000
c4980 30 30 3b 0a 62 72 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 00;.break;.case.'mi':.$target.*=
c49a0 20 31 30 32 34 2a 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 .1024*1024;.break;.case.'g':.$ta
c49c0 72 67 65 74 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 rget.*=.1000000000;.break;.case.
c49e0 27 67 69 27 3a 0a 24 74 61 72 67 65 74 20 2a 3d 20 31 30 32 34 2a 31 30 32 34 2a 31 30 32 34 3b 'gi':.$target.*=.1024*1024*1024;
c4a00 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
c4a20 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
c4a40 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].:.'=
c4a60 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
c4a80 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 70 ce.Symfony\Component\Finder\Comp
c4aa0 61 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 70 61 72 61 74 6f 72 0a 7b arator;.......class.Comparator.{
c4ac0 0a 70 72 69 76 61 74 65 20 24 74 61 72 67 65 74 3b 0a 70 72 69 76 61 74 65 20 24 6f 70 65 72 61 .private.$target;.private.$opera
c4ae0 74 6f 72 20 3d 20 27 3d 3d 27 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f tor.=.'==';.......public.functio
c4b00 6e 20 67 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 n.getTarget().{.return.$this->ta
c4b20 72 67 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 73 65 rget;.}.......public.function.se
c4b40 74 54 61 72 67 65 74 28 24 74 61 72 67 65 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 72 67 65 74 tTarget($target).{.$this->target
c4b60 20 3d 20 24 74 61 72 67 65 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 .=.$target;.}.......public.funct
c4b80 69 6f 6e 20 67 65 74 4f 70 65 72 61 74 6f 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 ion.getOperator().{.return.$this
c4ba0 2d 3e 6f 70 65 72 61 74 6f 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ->operator;.}.........public.fun
c4bc0 63 74 69 6f 6e 20 73 65 74 4f 70 65 72 61 74 6f 72 28 24 6f 70 65 72 61 74 6f 72 29 0a 7b 0a 69 ction.setOperator($operator).{.i
c4be0 66 20 28 21 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 3d 3d f.(!$operator).{.$operator.=.'==
c4c00 27 3b 0a 7d 0a 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 6f 70 65 72 61 74 6f 72 2c 20 61 ';.}..if.(!in_array($operator,.a
c4c20 72 72 61 79 28 27 3e 27 2c 20 27 3c 27 2c 20 27 3e 3d 27 2c 20 27 3c 3d 27 2c 20 27 3d 3d 27 2c rray('>',.'<',.'>=',.'<=',.'==',
c4c40 20 27 21 3d 27 29 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 .'!='))).{.throw.new.\InvalidArg
c4c60 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.
c4c80 6f 70 65 72 61 74 6f 72 20 22 25 73 22 2e 27 2c 20 24 6f 70 65 72 61 74 6f 72 29 29 3b 0a 7d 0a operator."%s".',.$operator));.}.
c4ca0 0a 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 6f 72 20 3d 20 24 6f 70 65 72 61 74 6f 72 3b 0a 7d 0a .$this->operator.=.$operator;.}.
c4cc0 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 74 65 ........public.function.test($te
c4ce0 73 74 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 6f 72 29 20 7b st).{.switch.($this->operator).{
c4d00 0a 63 61 73 65 20 27 3e 27 3a 0a 72 65 74 75 72 6e 20 24 74 65 73 74 20 3e 20 24 74 68 69 73 2d .case.'>':.return.$test.>.$this-
c4d20 3e 74 61 72 67 65 74 3b 0a 63 61 73 65 20 27 3e 3d 27 3a 0a 72 65 74 75 72 6e 20 24 74 65 73 74 >target;.case.'>=':.return.$test
c4d40 20 3e 3d 20 24 74 68 69 73 2d 3e 74 61 72 67 65 74 3b 0a 63 61 73 65 20 27 3c 27 3a 0a 72 65 74 .>=.$this->target;.case.'<':.ret
c4d60 75 72 6e 20 24 74 65 73 74 20 3c 20 24 74 68 69 73 2d 3e 74 61 72 67 65 74 3b 0a 63 61 73 65 20 urn.$test.<.$this->target;.case.
c4d80 27 3c 3d 27 3a 0a 72 65 74 75 72 6e 20 24 74 65 73 74 20 3c 3d 20 24 74 68 69 73 2d 3e 74 61 72 '<=':.return.$test.<=.$this->tar
c4da0 67 65 74 3b 0a 63 61 73 65 20 27 21 3d 27 3a 0a 72 65 74 75 72 6e 20 24 74 65 73 74 20 21 3d 20 get;.case.'!=':.return.$test.!=.
c4dc0 24 74 68 69 73 2d 3e 74 61 72 67 65 74 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 65 73 74 20 3d $this->target;.}..return.$test.=
c4de0 3d 20 24 74 68 69 73 2d 3e 74 61 72 67 65 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 =.$this->target;.}.}.<?php..name
c4e00 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 45 space.Symfony\Component\Finder\E
c4e20 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 45 78 63 65 70 74 69 6f xception;.....interface.Exceptio
c4e40 6e 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 nInterface.{....public.function.
c4e60 67 65 74 41 64 61 70 74 65 72 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a getAdapter();.}.<?php...........
c4e80 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
c4ea0 65 72 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4f 70 65 72 61 74 69 6f er\Exception;.....class.Operatio
c4ec0 6e 4e 6f 74 50 65 72 6d 69 74 65 64 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 41 64 nNotPermitedException.extends.Ad
c4ee0 61 70 74 65 72 46 61 69 6c 75 72 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a apterFailureException.{.}.<?php.
c4f00 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
c4f20 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 75 73 65 20 53 79 6d onent\Finder\Exception;..use.Sym
c4f40 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 5c 41 64 fony\Component\Finder\Adapter\Ad
c4f60 61 70 74 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 41 64 61 70 apterInterface;.......class.Adap
c4f80 74 65 72 46 61 69 6c 75 72 65 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 52 75 6e terFailureException.extends.\Run
c4fa0 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
c4fc0 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 61 64 61 70 74 65 onInterface.{....private.$adapte
c4fe0 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 63 6f 6e 73 74 r;.......public.function.__const
c5000 72 75 63 74 28 41 64 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 ruct(AdapterInterface.$adapter,.
c5020 24 6d 65 73 73 61 67 65 20 3d 20 6e 75 6c 6c 2c 20 5c 45 78 63 65 70 74 69 6f 6e 20 24 70 72 65 $message.=.null,.\Exception.$pre
c5040 76 69 6f 75 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 64 61 70 74 65 72 20 3d vious.=.null).{.$this->adapter.=
c5060 20 24 61 64 61 70 74 65 72 3b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 .$adapter;.parent::__construct($
c5080 6d 65 73 73 61 67 65 20 3f 3a 20 27 53 65 61 72 63 68 20 66 61 69 6c 65 64 20 77 69 74 68 20 22 message.?:.'Search.failed.with."
c50a0 27 2e 24 61 64 61 70 74 65 72 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 22 20 61 64 61 70 74 65 72 '.$adapter->getName().'".adapter
c50c0 2e 27 2c 20 24 70 72 65 76 69 6f 75 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e .',.$previous);.}.....public.fun
c50e0 63 74 69 6f 6e 20 67 65 74 41 64 61 70 74 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 ction.getAdapter().{.return.$thi
c5100 73 2d 3e 61 64 61 70 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 s->adapter;.}.}.<?php...........
c5120 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
c5140 65 72 5c 45 78 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 er\Exception;..use.Symfony\Compo
c5160 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 6e 74 65 72 nent\Finder\Adapter\AdapterInter
c5180 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
c51a0 65 72 5c 53 68 65 6c 6c 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 68 65 6c er\Shell\Command;.....class.Shel
c51c0 6c 43 6f 6d 6d 61 6e 64 46 61 69 6c 75 72 65 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 lCommandFailureException.extends
c51e0 20 41 64 61 70 74 65 72 46 61 69 6c 75 72 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 0a 0a 0a 70 72 .AdapterFailureException.{....pr
c5200 69 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ivate.$command;.......public.fun
c5220 63 74 69 6f 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 ction.__construct(AdapterInterfa
c5240 63 65 20 24 61 64 61 70 74 65 72 2c 20 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 5c ce.$adapter,.Command.$command,.\
c5260 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 29 0a 7b 0a 24 74 Exception.$previous.=.null).{.$t
c5280 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 70 61 72 65 6e 74 3a his->command.=.$command;.parent:
c52a0 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 61 64 61 70 74 65 72 2c 20 27 53 68 65 6c 6c 20 63 6f :__construct($adapter,.'Shell.co
c52c0 6d 6d 61 6e 64 20 66 61 69 6c 65 64 3a 20 22 27 2e 24 63 6f 6d 6d 61 6e 64 2d 3e 6a 6f 69 6e 28 mmand.failed:."'.$command->join(
c52e0 29 2e 27 22 2e 27 2c 20 24 70 72 65 76 69 6f 75 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ).'".',.$previous);.}.....public
c5300 20 66 75 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 .function.getCommand().{.return.
c5320 24 74 68 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 $this->command;.}.}.<?php.......
c5340 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\
c5360 46 69 6e 64 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 70 6c 46 69 6c 65 49 6e 66 6f 20 Finder;.......class.SplFileInfo.
c5380 65 78 74 65 6e 64 73 20 5c 53 70 6c 46 69 6c 65 49 6e 66 6f 0a 7b 0a 70 72 69 76 61 74 65 20 24 extends.\SplFileInfo.{.private.$
c53a0 72 65 6c 61 74 69 76 65 50 61 74 68 3b 0a 70 72 69 76 61 74 65 20 24 72 65 6c 61 74 69 76 65 50 relativePath;.private.$relativeP
c53c0 61 74 68 6e 61 6d 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 athname;.........public.function
c53e0 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 66 69 6c 65 2c 20 24 72 65 6c 61 74 69 76 65 50 61 74 .__construct($file,.$relativePat
c5400 68 2c 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 6e 61 6d 65 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a h,.$relativePathname).{.parent::
c5420 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 66 69 6c 65 29 3b 0a 24 74 68 69 73 2d 3e 72 65 6c 61 74 __construct($file);.$this->relat
c5440 69 76 65 50 61 74 68 20 3d 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 3b 0a 24 74 68 69 73 2d 3e ivePath.=.$relativePath;.$this->
c5460 72 65 6c 61 74 69 76 65 50 61 74 68 6e 61 6d 65 20 3d 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 relativePathname.=.$relativePath
c5480 6e 61 6d 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 name;.}.......public.function.ge
c54a0 74 52 65 6c 61 74 69 76 65 50 61 74 68 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e tRelativePath().{.return.$this->
c54c0 72 65 6c 61 74 69 76 65 50 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e relativePath;.}.......public.fun
c54e0 63 74 69 6f 6e 20 67 65 74 52 65 6c 61 74 69 76 65 50 61 74 68 6e 61 6d 65 28 29 0a 7b 0a 72 65 ction.getRelativePathname().{.re
c5500 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6c 61 74 69 76 65 50 61 74 68 6e 61 6d 65 3b 0a 7d 0a turn.$this->relativePathname;.}.
c5520 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 74 65 ........public.function.getConte
c5540 6e 74 73 28 29 0a 7b 0a 24 6c 65 76 65 6c 20 3d 20 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 nts().{.$level.=.error_reporting
c5560 28 30 29 3b 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 (0);.$content.=.file_get_content
c5580 73 28 24 74 68 69 73 2d 3e 67 65 74 52 65 61 6c 70 61 74 68 28 29 29 3b 0a 65 72 72 6f 72 5f 72 s($this->getRealpath());.error_r
c55a0 65 70 6f 72 74 69 6e 67 28 24 6c 65 76 65 6c 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 eporting($level);.if.(false.===.
c55c0 24 63 6f 6e 74 65 6e 74 29 20 7b 0a 24 65 72 72 6f 72 20 3d 20 65 72 72 6f 72 5f 67 65 74 5f 6c $content).{.$error.=.error_get_l
c55e0 61 73 74 28 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 ast();.throw.new.\RuntimeExcepti
c5600 6f 6e 28 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e on($error['message']);.}..return
c5620 20 24 63 6f 6e 74 65 6e 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e .$content;.}.}.<?php...........n
c5640 61 6d 65 73 70 61 63 65 20 53 65 6c 64 5c 4a 73 6f 6e 4c 69 6e 74 3b 0a 0a 63 6c 61 73 73 20 55 amespace.Seld\JsonLint;..class.U
c5660 6e 64 65 66 69 6e 65 64 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d ndefined.{.}.<?php...........nam
c5680 65 73 70 61 63 65 20 53 65 6c 64 5c 4a 73 6f 6e 4c 69 6e 74 3b 0a 0a 75 73 65 20 73 74 64 43 6c espace.Seld\JsonLint;..use.stdCl
c56a0 61 73 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4a 73 6f 6e 50 61 72 ass;...............class.JsonPar
c56c0 73 65 72 0a 7b 0a 63 6f 6e 73 74 20 44 45 54 45 43 54 5f 4b 45 59 5f 43 4f 4e 46 4c 49 43 54 53 ser.{.const.DETECT_KEY_CONFLICTS
c56e0 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 41 4c 4c 4f 57 5f 44 55 50 4c 49 43 41 54 45 5f 4b 45 59 53 .=.1;.const.ALLOW_DUPLICATE_KEYS
c5700 20 3d 20 32 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 65 20 24 .=.2;..private.$flags;.private.$
c5720 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 76 61 74 stack;.private.$vstack;...privat
c5740 65 20 24 6c 73 74 61 63 6b 3b 20 0a 0a 70 72 69 76 61 74 65 20 24 79 79 3b 0a 70 72 69 76 61 74 e.$lstack;...private.$yy;.privat
c5760 65 20 24 73 79 6d 62 6f 6c 73 20 3d 20 61 72 72 61 79 28 0a 27 65 72 72 6f 72 27 20 3d 3e 20 32 e.$symbols.=.array(.'error'.=>.2
c5780 2c 0a 27 4a 53 4f 4e 53 74 72 69 6e 67 27 20 3d 3e 20 33 2c 0a 27 53 54 52 49 4e 47 27 20 3d 3e ,.'JSONString'.=>.3,.'STRING'.=>
c57a0 20 34 2c 0a 27 4a 53 4f 4e 4e 75 6d 62 65 72 27 20 3d 3e 20 35 2c 0a 27 4e 55 4d 42 45 52 27 20 .4,.'JSONNumber'.=>.5,.'NUMBER'.
c57c0 3d 3e 20 36 2c 0a 27 4a 53 4f 4e 4e 75 6c 6c 4c 69 74 65 72 61 6c 27 20 3d 3e 20 37 2c 0a 27 4e =>.6,.'JSONNullLiteral'.=>.7,.'N
c57e0 55 4c 4c 27 20 3d 3e 20 38 2c 0a 27 4a 53 4f 4e 42 6f 6f 6c 65 61 6e 4c 69 74 65 72 61 6c 27 20 ULL'.=>.8,.'JSONBooleanLiteral'.
c5800 3d 3e 20 39 2c 0a 27 54 52 55 45 27 20 3d 3e 20 31 30 2c 0a 27 46 41 4c 53 45 27 20 3d 3e 20 31 =>.9,.'TRUE'.=>.10,.'FALSE'.=>.1
c5820 31 2c 0a 27 4a 53 4f 4e 54 65 78 74 27 20 3d 3e 20 31 32 2c 0a 27 4a 53 4f 4e 56 61 6c 75 65 27 1,.'JSONText'.=>.12,.'JSONValue'
c5840 20 3d 3e 20 31 33 2c 0a 27 45 4f 46 27 20 3d 3e 20 31 34 2c 0a 27 4a 53 4f 4e 4f 62 6a 65 63 74 .=>.13,.'EOF'.=>.14,.'JSONObject
c5860 27 20 3d 3e 20 31 35 2c 0a 27 4a 53 4f 4e 41 72 72 61 79 27 20 3d 3e 20 31 36 2c 0a 27 7b 27 20 '.=>.15,.'JSONArray'.=>.16,.'{'.
c5880 3d 3e 20 31 37 2c 0a 27 7d 27 20 3d 3e 20 31 38 2c 0a 27 4a 53 4f 4e 4d 65 6d 62 65 72 4c 69 73 =>.17,.'}'.=>.18,.'JSONMemberLis
c58a0 74 27 20 3d 3e 20 31 39 2c 0a 27 4a 53 4f 4e 4d 65 6d 62 65 72 27 20 3d 3e 20 32 30 2c 0a 27 3a t'.=>.19,.'JSONMember'.=>.20,.':
c58c0 27 20 3d 3e 20 32 31 2c 0a 27 2c 27 20 3d 3e 20 32 32 2c 0a 27 5b 27 20 3d 3e 20 32 33 2c 0a 27 '.=>.21,.','.=>.22,.'['.=>.23,.'
c58e0 5d 27 20 3d 3e 20 32 34 2c 0a 27 4a 53 4f 4e 45 6c 65 6d 65 6e 74 4c 69 73 74 27 20 3d 3e 20 32 ]'.=>.24,.'JSONElementList'.=>.2
c5900 35 2c 0a 27 24 61 63 63 65 70 74 27 20 3d 3e 20 30 2c 0a 27 24 65 6e 64 27 20 3d 3e 20 31 2c 0a 5,.'$accept'.=>.0,.'$end'.=>.1,.
c5920 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 74 65 72 6d 69 6e 61 6c 73 5f 20 3d 20 61 72 72 61 79 28 );..private.$terminals_.=.array(
c5940 0a 32 20 3d 3e 20 22 65 72 72 6f 72 22 2c 0a 34 20 3d 3e 20 22 53 54 52 49 4e 47 22 2c 0a 36 20 .2.=>."error",.4.=>."STRING",.6.
c5960 3d 3e 20 22 4e 55 4d 42 45 52 22 2c 0a 38 20 3d 3e 20 22 4e 55 4c 4c 22 2c 0a 31 30 20 3d 3e 20 =>."NUMBER",.8.=>."NULL",.10.=>.
c5980 22 54 52 55 45 22 2c 0a 31 31 20 3d 3e 20 22 46 41 4c 53 45 22 2c 0a 31 34 20 3d 3e 20 22 45 4f "TRUE",.11.=>."FALSE",.14.=>."EO
c59a0 46 22 2c 0a 31 37 20 3d 3e 20 22 7b 22 2c 0a 31 38 20 3d 3e 20 22 7d 22 2c 0a 32 31 20 3d 3e 20 F",.17.=>."{",.18.=>."}",.21.=>.
c59c0 22 3a 22 2c 0a 32 32 20 3d 3e 20 22 2c 22 2c 0a 32 33 20 3d 3e 20 22 5b 22 2c 0a 32 34 20 3d 3e ":",.22.=>.",",.23.=>."[",.24.=>
c59e0 20 22 5d 22 2c 0a 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 70 72 6f 64 75 63 74 69 6f 6e 73 5f 20 ."]",.);..private.$productions_.
c5a00 3d 20 61 72 72 61 79 28 0a 30 2c 0a 61 72 72 61 79 28 33 2c 20 31 29 2c 0a 61 72 72 61 79 28 35 =.array(.0,.array(3,.1),.array(5
c5a20 2c 20 31 29 2c 0a 61 72 72 61 79 28 37 2c 20 31 29 2c 0a 61 72 72 61 79 28 39 2c 20 31 29 2c 0a ,.1),.array(7,.1),.array(9,.1),.
c5a40 61 72 72 61 79 28 39 2c 20 31 29 2c 0a 61 72 72 61 79 28 31 32 2c 20 32 29 2c 0a 61 72 72 61 79 array(9,.1),.array(12,.2),.array
c5a60 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,
c5a80 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 20 31 29 2c .1),.array(13,.1),.array(13,.1),
c5aa0 0a 61 72 72 61 79 28 31 33 2c 20 31 29 2c 0a 61 72 72 61 79 28 31 35 2c 20 32 29 2c 0a 61 72 72 .array(13,.1),.array(15,.2),.arr
c5ac0 61 79 28 31 35 2c 20 33 29 2c 0a 61 72 72 61 79 28 32 30 2c 20 33 29 2c 0a 61 72 72 61 79 28 31 ay(15,.3),.array(20,.3),.array(1
c5ae0 39 2c 20 31 29 2c 0a 61 72 72 61 79 28 31 39 2c 20 33 29 2c 0a 61 72 72 61 79 28 31 36 2c 20 32 9,.1),.array(19,.3),.array(16,.2
c5b00 29 2c 0a 61 72 72 61 79 28 31 36 2c 20 33 29 2c 0a 61 72 72 61 79 28 32 35 2c 20 31 29 2c 0a 61 ),.array(16,.3),.array(25,.1),.a
c5b20 72 72 61 79 28 32 35 2c 20 33 29 0a 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 74 61 62 6c 65 20 3d rray(25,.3).);..private.$table.=
c5b40 20 61 72 72 61 79 28 61 72 72 61 79 28 33 20 3d 3e 20 35 2c 20 34 20 3d 3e 20 61 72 72 61 79 28 .array(array(3.=>.5,.4.=>.array(
c5b60 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),
c5b80 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
c5ba0 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
c5bc0 28 31 2c 31 31 29 2c 20 31 32 20 3d 3e 20 31 2c 20 31 33 20 3d 3e 20 32 2c 20 31 35 20 3d 3e 20 (1,11),.12.=>.1,.13.=>.2,.15.=>.
c5be0 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 31 34 29 2c 20 32 7,.16.=>.8,.17.=>.array(1,14),.2
c5c00 33 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 20 3d 3e 20 61 3.=>.array(1,15)),.array(.1.=>.a
c5c20 72 72 61 79 28 33 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 rray(3)),.array(.14.=>.array(1,1
c5c40 36 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 37 29 2c 20 31 38 6)),.array(.14.=>.array(2,7),.18
c5c60 20 3d 3e 20 61 72 72 61 79 28 32 2c 37 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 37 29 .=>.array(2,7),.22.=>.array(2,7)
c5c80 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 37 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d ,.24.=>.array(2,7)),.array(.14.=
c5ca0 3e 20 61 72 72 61 79 28 32 2c 38 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 38 29 2c 20 >.array(2,8),.18.=>.array(2,8),.
c5cc0 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 38 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 22.=>.array(2,8),.24.=>.array(2,
c5ce0 38 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 39 29 2c 20 31 38 8)),.array(.14.=>.array(2,9),.18
c5d00 20 3d 3e 20 61 72 72 61 79 28 32 2c 39 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 39 29 .=>.array(2,9),.22.=>.array(2,9)
c5d20 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 39 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d ,.24.=>.array(2,9)),.array(.14.=
c5d40 3e 20 61 72 72 61 79 28 32 2c 31 30 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 30 29 >.array(2,10),.18.=>.array(2,10)
c5d60 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 30 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 ,.22.=>.array(2,10),.24.=>.array
c5d80 28 32 2c 31 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 31 31 (2,10)),.array(.14.=>.array(2,11
c5da0 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 31 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 ),.18.=>.array(2,11),.22.=>.arra
c5dc0 79 28 32 2c 31 31 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 31 29 29 2c 20 61 72 72 y(2,11),.24.=>.array(2,11)),.arr
c5de0 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 32 29 2c 20 31 38 20 3d 3e 20 61 72 72 ay(.14.=>.array(2,12),.18.=>.arr
c5e00 61 79 28 32 2c 31 32 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 32 29 2c 20 32 34 20 ay(2,12),.22.=>.array(2,12),.24.
c5e20 3d 3e 20 61 72 72 61 79 28 32 2c 31 32 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 =>.array(2,12)),.array(.14.=>.ar
c5e40 72 61 79 28 32 2c 33 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 33 29 2c 20 32 32 20 3d ray(2,3),.18.=>.array(2,3),.22.=
c5e60 3e 20 61 72 72 61 79 28 32 2c 33 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 33 29 29 2c >.array(2,3),.24.=>.array(2,3)),
c5e80 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 34 29 2c 20 31 38 20 3d 3e 20 .array(.14.=>.array(2,4),.18.=>.
c5ea0 61 72 72 61 79 28 32 2c 34 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 34 29 2c 20 32 34 array(2,4),.22.=>.array(2,4),.24
c5ec0 20 3d 3e 20 61 72 72 61 79 28 32 2c 34 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 .=>.array(2,4)),.array(.14.=>.ar
c5ee0 72 61 79 28 32 2c 35 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 35 29 2c 20 32 32 20 3d ray(2,5),.18.=>.array(2,5),.22.=
c5f00 3e 20 61 72 72 61 79 28 32 2c 35 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 35 29 29 2c >.array(2,5),.24.=>.array(2,5)),
c5f20 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 29 2c 20 31 38 20 3d 3e 20 .array(.14.=>.array(2,1),.18.=>.
c5f40 61 72 72 61 79 28 32 2c 31 29 2c 20 32 31 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 29 2c 20 32 32 array(2,1),.21.=>.array(2,1),.22
c5f60 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 29 .=>.array(2,1),.24.=>.array(2,1)
c5f80 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 32 29 2c 20 31 38 20 3d ),.array(.14.=>.array(2,2),.18.=
c5fa0 3e 20 61 72 72 61 79 28 32 2c 32 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 32 29 2c 20 >.array(2,2),.22.=>.array(2,2),.
c5fc0 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 32 29 29 2c 20 61 72 72 61 79 28 20 33 20 3d 3e 20 32 24.=>.array(2,2)),.array(.3.=>.2
c5fe0 30 2c 20 34 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 32 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 0,.4.=>.array(1,12),.18.=>.array
c6000 28 31 2c 31 37 29 2c 20 31 39 20 3d 3e 20 31 38 2c 20 32 30 20 3d 3e 20 31 39 20 29 2c 20 61 72 (1,17),.19.=>.18,.20.=>.19.),.ar
c6020 72 61 79 28 20 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 ray(.3.=>.5,.4.=>.array(1,12),.5
c6040 20 3d 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 .=>.6,.6.=>.array(1,13),.7.=>.3,
c6060 20 38 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 .8.=>.array(1,9),.9.=>.4,.10.=>.
c6080 61 72 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 array(1,10),.11.=>.array(1,11),.
c60a0 31 33 20 3d 3e 20 32 33 2c 20 31 35 20 3d 3e 20 37 2c 20 31 36 20 3d 3e 20 38 2c 20 31 37 20 3d 13.=>.23,.15.=>.7,.16.=>.8,.17.=
c60c0 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 28 31 2c 31 35 29 >.array(1,14),.23.=>.array(1,15)
c60e0 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 31 2c 32 31 29 2c 20 32 35 20 3d 3e 20 32 32 20 29 2c ,.24.=>.array(1,21),.25.=>.22.),
c6100 20 61 72 72 61 79 28 20 31 20 3d 3e 20 61 72 72 61 79 28 32 2c 36 29 29 2c 20 61 72 72 61 79 28 .array(.1.=>.array(2,6)),.array(
c6120 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 33 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 .14.=>.array(2,13),.18.=>.array(
c6140 32 2c 31 33 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 33 29 2c 20 32 34 20 3d 3e 20 2,13),.22.=>.array(2,13),.24.=>.
c6160 61 72 72 61 79 28 32 2c 31 33 29 29 2c 20 61 72 72 61 79 28 20 31 38 20 3d 3e 20 61 72 72 61 79 array(2,13)),.array(.18.=>.array
c6180 28 31 2c 32 34 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 31 2c 32 35 29 29 2c 20 61 72 72 61 (1,24),.22.=>.array(1,25)),.arra
c61a0 79 28 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 36 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 y(.18.=>.array(2,16),.22.=>.arra
c61c0 79 28 32 2c 31 36 29 29 2c 20 61 72 72 61 79 28 20 32 31 20 3d 3e 20 61 72 72 61 79 28 31 2c 32 y(2,16)),.array(.21.=>.array(1,2
c61e0 36 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 31 38 29 2c 20 31 6)),.array(.14.=>.array(2,18),.1
c6200 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 38 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 8.=>.array(2,18),.22.=>.array(2,
c6220 31 38 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 38 29 29 2c 20 61 72 72 61 79 28 20 18),.24.=>.array(2,18)),.array(.
c6240 32 32 20 3d 3e 20 61 72 72 61 79 28 31 2c 32 38 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 31 22.=>.array(1,28),.24.=>.array(1
c6260 2c 32 37 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 30 29 2c ,27)),.array(.22.=>.array(2,20),
c6280 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 32 30 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d .24.=>.array(2,20)),.array(.14.=
c62a0 3e 20 61 72 72 61 79 28 32 2c 31 34 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 34 29 >.array(2,14),.18.=>.array(2,14)
c62c0 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 34 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 ,.22.=>.array(2,14),.24.=>.array
c62e0 28 32 2c 31 34 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 (2,14)),.array(.3.=>.20,.4.=>.ar
c6300 72 61 79 28 31 2c 31 32 29 2c 20 32 30 20 3d 3e 20 32 39 20 29 2c 20 61 72 72 61 79 28 20 33 20 ray(1,12),.20.=>.29.),.array(.3.
c6320 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 3e 20 36 2c 20 =>.5,.4.=>.array(1,12),.5.=>.6,.
c6340 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 20 3d 3e 20 61 6.=>.array(1,13),.7.=>.3,.8.=>.a
c6360 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 72 61 79 28 31 rray(1,9),.9.=>.4,.10.=>.array(1
c6380 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 33 20 3d 3e 20 33 ,10),.11.=>.array(1,11),.13.=>.3
c63a0 30 2c 20 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 0,.15.=>.7,.16.=>.8,.17.=>.array
c63c0 28 31 2c 31 34 29 2c 20 32 33 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 35 29 29 2c 20 61 72 72 61 (1,14),.23.=>.array(1,15)),.arra
c63e0 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 39 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 y(.14.=>.array(2,19),.18.=>.arra
c6400 79 28 32 2c 31 39 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 39 29 2c 20 32 34 20 3d y(2,19),.22.=>.array(2,19),.24.=
c6420 3e 20 61 72 72 61 79 28 32 2c 31 39 29 29 2c 20 61 72 72 61 79 28 20 33 20 3d 3e 20 35 2c 20 34 >.array(2,19)),.array(.3.=>.5,.4
c6440 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 3e 20 61 72 .=>.array(1,12),.5.=>.6,.6.=>.ar
c6460 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 79 28 31 2c ray(1,13),.7.=>.3,.8.=>.array(1,
c6480 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 29 2c 20 31 9),.9.=>.4,.10.=>.array(1,10),.1
c64a0 31 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 31 29 2c 20 31 33 20 3d 3e 20 33 31 2c 20 31 35 20 3d 1.=>.array(1,11),.13.=>.31,.15.=
c64c0 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 31 34 29 2c >.7,.16.=>.8,.17.=>.array(1,14),
c64e0 20 32 33 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 38 20 3d .23.=>.array(1,15)),.array(.18.=
c6500 3e 20 61 72 72 61 79 28 32 2c 31 37 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 37 29 >.array(2,17),.22.=>.array(2,17)
c6520 29 2c 20 61 72 72 61 79 28 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 35 29 2c 20 32 32 20 ),.array(.18.=>.array(2,15),.22.
c6540 3d 3e 20 61 72 72 61 79 28 32 2c 31 35 29 29 2c 20 61 72 72 61 79 28 20 32 32 20 3d 3e 20 61 72 =>.array(2,15)),.array(.22.=>.ar
c6560 72 61 79 28 32 2c 32 31 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 32 31 29 29 2c 0a 29 ray(2,21),.24.=>.array(2,21)),.)
c6580 3b 0a 0a 70 72 69 76 61 74 65 20 24 64 65 66 61 75 6c 74 41 63 74 69 6f 6e 73 20 3d 20 61 72 72 ;..private.$defaultActions.=.arr
c65a0 61 79 28 0a 31 36 20 3d 3e 20 61 72 72 61 79 28 32 2c 20 36 29 0a 29 3b 0a 0a 0a 0a 0a 0a 70 75 ay(.16.=>.array(2,.6).);......pu
c65c0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 69 6e 74 28 24 69 6e 70 75 74 29 0a 7b 0a 74 72 79 blic.function.lint($input).{.try
c65e0 20 7b 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 28 24 69 6e 70 75 74 29 3b 0a 7d 20 63 61 74 63 68 .{.$this->parse($input);.}.catch
c6600 20 28 50 61 72 73 69 6e 67 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 72 65 74 75 72 6e 20 .(ParsingException.$e).{.return.
c6620 24 65 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 70 61 $e;.}.}.......public.function.pa
c6640 72 73 65 28 24 69 6e 70 75 74 2c 20 24 66 6c 61 67 73 20 3d 20 30 29 0a 7b 0a 24 74 68 69 73 2d rse($input,.$flags.=.0).{.$this-
c6660 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 73 74 61 63 6b 20 3d >flags.=.$flags;..$this->stack.=
c6680 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 3d 20 61 72 72 61 79 .array(0);.$this->vstack.=.array
c66a0 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 72 72 61 79 28 29 3b (null);.$this->lstack.=.array();
c66c0 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 20 3d 20 30 3b 0a 24 ..$yytext.=.'';.$yylineno.=.0;.$
c66e0 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 20 30 3b 0a 24 54 45 yyleng.=.0;.$recovering.=.0;.$TE
c6700 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 73 2d 3e 6c 65 78 65 RROR.=.2;.$EOF.=.1;..$this->lexe
c6720 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 65 78 65 72 2d 3e 73 r.=.new.Lexer();.$this->lexer->s
c6740 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 3d 20 24 74 68 69 73 etInput($input);..$yyloc.=.$this
c6760 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 73 74 61 63 6b 5b 5d ->lexer->yylloc;.$this->lstack[]
c6780 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 6c 3b 0a 24 70 72 65 .=.$yyloc;..$symbol.=.null;.$pre
c67a0 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 65 20 3d 20 6e 75 6c ErrorSymbol.=.null;.$state.=.nul
c67c0 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 75 6c 6c 3b 0a 24 72 l;.$action.=.null;.$a.=.null;.$r
c67e0 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 43 6c 61 73 73 3b 0a .=.null;.$yyval.=.new.stdClass;.
c6800 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 6e 65 77 53 74 61 74 $p.=.null;.$len.=.null;.$newStat
c6820 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 6c 3b 0a 24 65 72 72 e.=.null;.$expected.=.null;.$err
c6840 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 20 7b 0a 0a 20 24 73 Str.=.null;..while.(true).{...$s
c6860 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 28 24 74 68 69 73 2d tate.=.$this->stack[count($this-
c6880 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 24 74 68 69 73 2d 3e >stack)-1];....if.(isset($this->
c68a0 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 7b 0a 24 61 63 74 69 defaultActions[$state])).{.$acti
c68c0 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 73 5b 24 73 74 61 74 on.=.$this->defaultActions[$stat
c68e0 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 3d 3d 20 6e 75 6c 6c e];.}.else.{.if.($symbol.==.null
c6900 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 29 3b 0a 7d 0a 0a 20 ).{.$symbol.=.$this->lex();.}...
c6920 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 62 6c 65 5b 24 73 74 $action.=.isset($this->table[$st
c6940 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 61 62 6c 65 5b 24 73 ate][$symbol]).?.$this->table[$s
c6960 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 0a 0a 0a 20 69 66 20 tate][$symbol].:.false;.}....if.
c6980 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 20 7b 0a 69 66 20 28 (!$action.||.!$action[0]).{.if.(
c69a0 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 65 64 20 3d 20 61 72 !$recovering).{...$expected.=.ar
c69c0 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 62 6c 65 5b 24 73 74 ray();.foreach.($this->table[$st
c69e0 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 69 66 20 28 69 73 73 ate].as.$p.=>.$ignore).{.if.(iss
c6a00 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 20 26 26 20 24 70 20 et($this->terminals_[$p]).&&.$p.
c6a20 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 2e 20 24 74 68 69 73 >.2).{.$expected[].=."'"...$this
c6a40 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 0a 7d 0a 0a 24 6d 65 ->terminals_[$p]..."'";.}.}..$me
c6a60 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 79 28 22 27 53 54 52 ssage.=.null;.if.(in_array("'STR
c6a80 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 72 72 61 79 28 73 75 ING'",.$expected).&&.in_array(su
c6aa0 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 20 30 2c 20 31 29 2c bstr($this->lexer->match,.0,.1),
c6ac0 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 73 61 67 65 20 3d 20 .array('"',."'"))).{.$message.=.
c6ae0 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 20 3d 3d 3d 20 73 75 "Invalid.string";.if.("'".===.su
c6b00 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 20 30 2c 20 31 29 29 bstr($this->lexer->match,.0,.1))
c6b20 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 61 72 73 20 79 6f 75 .{.$message..=.",.it.appears.you
c6b40 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 61 64 20 6f 66 20 64 .used.single.quotes.instead.of.d
c6b60 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 70 72 65 67 5f 6d 61 ouble.quotes";.}.elseif.(preg_ma
c6b80 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 5c 5c 5c 75 5d 29 7d tch('{".+?(\\\\[^"bfnrt/\\\\u])}
c6ba0 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 69 6e 67 49 6e 70 75 ',.$this->lexer->getUpcomingInpu
c6bc0 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 2e 3d 20 22 2c 20 69 t(),.$match)).{.$message..=.",.i
c6be0 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 73 63 61 70 65 64 20 t.appears.you.have.an.unescaped.
c6c00 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 3b 0a 7d 20 65 6c 73 backslash.at:.".$match[1];.}.els
c6c20 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 5d 2b 7c 5c 5c 5c 5c eif.(preg_match('{"(?:[^"]+|\\\\
c6c40 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 74 55 70 63 6f 6d 69 ")*$}m',.$this->lexer->getUpcomi
c6c60 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 20 22 2c 20 69 74 20 ngInput())).{.$message..=.",.it.
c6c80 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 6d 69 6e 61 74 65 64 appears.you.forgot.to.terminated
c6ca0 20 74 68 65 20 73 74 72 69 6e 67 2c 20 6f 72 20 61 74 74 65 6d 70 74 65 64 20 74 6f 20 77 72 69 .the.string,.or.attempted.to.wri
c6cc0 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 69 73 20 69 te.a.multiline.string.which.is.i
c6ce0 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 73 65 20 65 nvalid";.}.}..$errStr.=.'Parse.e
c6d00 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 31 29 20 2e rror.on.line.'...($yylineno+1)..
c6d20 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 78 65 72 2d .":\n";.$errStr..=.$this->lexer-
c6d40 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 24 6d 65 73 >showPosition()..."\n";.if.($mes
c6d60 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 0a 7d 20 65 sage).{.$errStr..=.$message;.}.e
c6d80 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 65 63 74 65 lse.{.$errStr..=.(count($expecte
c6da0 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 22 20 3a 20 d).>.1).?."Expected.one.of:.".:.
c6dc0 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 6c 6f 64 65 "Expected:.";.$errStr..=.implode
c6de0 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 27 20 3d 3d (',.',.$expected);.}..if.(','.==
c6e00 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 67 65 74 50 =.substr(trim($this->lexer->getP
c6e20 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 2e 3d 20 22 astInput()),.-1)).{.$errStr..=."
c6e40 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 74 72 61 20 .-.It.appears.you.have.an.extra.
c6e60 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 61 72 73 65 trailing.comma";.}..$this->parse
c6e80 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 20 3d 3e 20 Error($errStr,.array(.'text'.=>.
c6ea0 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 20 3d 3e 20 $this->lexer->match,.'token'.=>.
c6ec0 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 6d 62 6f 6c !empty($this->terminals_[$symbol
c6ee0 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 6f 6c 5d 20 ]).?.$this->terminals_[$symbol].
c6f00 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 6c 65 78 65 :.$symbol,.'line'.=>.$this->lexe
c6f20 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 2c 0a 27 65 r->yylineno,.'loc'.=>.$yyloc,.'e
c6f40 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 0a 0a 0a 20 xpected'.=>.$expected,.));.}....
c6f60 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 24 73 79 6d if.($recovering.==.3).{.if.($sym
c6f80 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 73 69 6e 67 bol.==.$EOF).{.throw.new.Parsing
c6fa0 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 67 20 68 61 Exception($errStr.?:.'Parsing.ha
c6fc0 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 73 2d 3e 6c lted.');.}....$yyleng.=.$this->l
c6fe0 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 73 2d 3e 6c exer->yyleng;.$yytext.=.$this->l
c7000 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 68 69 73 2d exer->yytext;.$yylineno.=.$this-
c7020 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 74 68 69 73 >lexer->yylineno;.$yyloc.=.$this
c7040 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 74 68 69 73 ->lexer->yylloc;.$symbol.=.$this
c7060 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 0a 0a 20 69 ->lex();.}....while.(true).{...i
c7080 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 20 24 74 68 f.(array_key_exists($TERROR,.$th
c70a0 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 0a 7d 0a 69 is->table[$state])).{.break;.}.i
c70c0 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 50 61 72 73 f.($state.==.0).{.throw.new.Pars
c70e0 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 67 ingException($errStr.?:.'Parsing
c7100 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 6b 28 31 29 .halted.');.}.$this->popStack(1)
c7120 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 74 28 24 74 ;.$state.=.$this->stack[count($t
c7140 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 53 79 6d 62 his->stack)-1];.}..$preErrorSymb
c7160 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 45 52 52 4f ol.=.$symbol;...$symbol.=.$TERRO
c7180 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 6f 75 6e 74 R;...$state.=.$this->stack[count
c71a0 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 20 69 73 73 ($this->stack)-1];.$action.=.iss
c71c0 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 52 4f 52 5d et($this->table[$state][$TERROR]
c71e0 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 52 52 4f 52 ).?.$this->table[$state][$TERROR
c7200 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 0a 20 7d 0a ].:.false;.$recovering.=.3;...}.
c7220 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 26 26 20 63 ...if.(is_array($action[0]).&&.c
c7240 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 65 77 20 50 ount($action).>.1).{.throw.new.P
c7260 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 3a 20 6d 75 arsingException('Parse.Error:.mu
c7280 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 74 61 74 65 ltiple.actions.possible.at.state
c72a0 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 20 24 73 79 :.'...$state...',.token:.'...$sy
c72c0 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 29 20 7b 0a mbol);.}..switch.($action[0]).{.
c72e0 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 73 79 6d 62 case.1:...$this->stack[].=.$symb
c7300 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 3e 6c 65 78 ol;.$this->vstack[].=.$this->lex
c7320 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 3d 20 24 74 er->yytext;.$this->lstack[].=.$t
c7340 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 74 61 63 6b his->lexer->yylloc;.$this->stack
c7360 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 20 6e 75 6c [].=.$action[1];...$symbol.=.nul
c7380 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 20 24 79 79 l;.if.(!$preErrorSymbol).{...$yy
c73a0 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 0a 24 79 79 leng.=.$this->lexer->yyleng;.$yy
c73c0 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 0a 24 79 79 text.=.$this->lexer->yytext;.$yy
c73e0 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 65 6e 6f 3b lineno.=.$this->lexer->yylineno;
c7400 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 6f 63 3b 0a .$yyloc.=.$this->lexer->yylloc;.
c7420 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 76 65 72 69 if.($recovering.>.0).{.$recoveri
c7440 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 20 24 70 72 ng--;.}.}.else.{...$symbol.=.$pr
c7460 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 6c 20 3d 20 eErrorSymbol;.$preErrorSymbol.=.
c7480 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 65 6e 20 3d null;.}.break;..case.2:...$len.=
c74a0 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 5b 31 5d 5d .$this->productions_[$action[1]]
c74c0 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 73 2d 3e 76 [1];....$yyval->token.=.$this->v
c74e0 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 20 24 6c 65 stack[count($this->vstack).-.$le
c7500 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 79 28 20 0a n];.....$yyval->store.=.array(..
c7520 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 63 6b 5b 63 .'first_line'.=>.$this->lstack[c
c7540 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 3f 3a 20 31 ount($this->lstack).-.($len.?:.1
c7560 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 27 20 3d 3e )]['first_line'],.'last_line'.=>
c7580 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
c75a0 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 74 5f 63 6f ck).-.1]['last_line'],.'first_co
c75c0 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 28 24 74 68 lumn'.=>.$this->lstack[count($th
c75e0 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 66 69 72 73 is->lstack).-.($len.?:.1)]['firs
c7600 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 20 24 74 68 t_column'],.'last_column'.=>.$th
c7620 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 63 6b 29 20 is->lstack[count($this->lstack).
c7640 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 20 24 74 68 -.1]['last_column'],.);.$r.=.$th
c7660 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 79 74 65 78 is->performAction($yyval,.$yytex
c7680 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 6f 6e 5b 31 t,.$yyleng,.$yylineno,.$action[1
c76a0 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 61 63 6b 29 ],.$this->vstack,.$this->lstack)
c76c0 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 6e 65 64 29 ;..if.(!$r.instanceof.Undefined)
c76e0 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 0a 24 74 68 .{.return.$r;.}..if.($len).{.$th
c7700 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 2d 3e 73 74 is->popStack($len);.}..$this->st
c7720 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 24 61 63 74 ack[].=.$this->productions_[$act
c7740 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 5d 20 3d 20 ion[1]][0];...$this->vstack[].=.
c7760 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 5b 5d 20 3d $yyval->token;.$this->lstack[].=
c7780 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 24 74 68 69 .$yyval->store;.$newState.=.$thi
c77a0 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 24 74 68 69 s->table[$this->stack[count($thi
c77c0 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 6f 75 6e 74 s->stack)-2]][$this->stack[count
c77e0 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 74 61 63 6b ($this->stack)-1]];.$this->stack
c7800 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 20 33 3a 20 [].=.$newState;.break;..case.3:.
c7820 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 72 75 65 3b ..return.true;.}.}..return.true;
c7840 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 45 72 72 6f .}..protected.function.parseErro
c7860 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 61 72 73 69 r($str,.$hash).{.throw.new.Parsi
c7880 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 0a 0a 20 0a ngException($str,.$hash);.}.....
c78a0 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 63 74 69 6f ...private.function.performActio
c78c0 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 24 79 79 6c n(stdClass.$yyval,.$yytext,.$yyl
c78e0 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 74 6f 6b 65 eng,.$yylineno,.$yystate,.&$toke
c7900 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 29 20 2d 20 ns).{...$len.=.count($tokens).-.
c7920 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 31 3a 0a 24 1;.switch.($yystate).{.case.1:.$
c7940 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 63 6b 28 27 yytext.=.preg_replace_callback('
c7960 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 61 2d 66 41 {(?:\\\\["bfnrt/\\\\]|\\\\u[a-fA
c7980 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 73 74 72 69 -F0-9]{4})}',.array($this,.'stri
c79a0 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 0a 24 79 79 ngInterpolation'),.$yytext);.$yy
c79c0 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 0a 63 61 73 val->token.=.$yytext;.break;.cas
c79e0 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 29 20 21 3d e.2:.if.(strpos($yytext,.'e').!=
c7a00 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 45 27 29 20 =.false.||.strpos($yytext,.'E').
c7a20 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 20 66 6c 6f !==.false).{.$yyval->token.=.flo
c7a40 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 76 61 6c 2d atval($yytext);.}.else.{.$yyval-
c7a60 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 29 20 3d 3d >token.=.strpos($yytext,.'.').==
c7a80 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 66 6c 6f 61 =.false.?.intval($yytext).:.floa
c7aa0 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 20 33 3a 0a tval($yytext);.}.break;.case.3:.
c7ac0 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 0a 63 61 73 $yyval->token.=.null;.break;.cas
c7ae0 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 72 65 61 6b e.4:.$yyval->token.=.true;.break
c7b00 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 6c 73 65 3b ;.case.5:.$yyval->token.=.false;
c7b20 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 6c 2d 3e 74 .break;.case.6:.return.$yyval->t
c7b40 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 20 31 33 3a oken.=.$tokens[$len-1];.case.13:
c7b60 0a 24 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 62 .$yyval->token.=.new.stdClass;.b
c7b80 72 65 61 6b 3b 0a 63 61 73 65 20 31 34 3a 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 24 reak;.case.14:.$yyval->token.=.$
c7ba0 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 31 5d 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 31 35 3a 0a tokens[$len-1];.break;.case.15:.
c7bc0 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 61 72 72 61 79 28 24 74 6f 6b 65 6e 73 5b 24 6c $yyval->token.=.array($tokens[$l
c7be0 65 6e 2d 32 5d 2c 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 en-2],.$tokens[$len]);.break;.ca
c7c00 73 65 20 31 36 3a 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 6e 65 77 20 73 74 64 43 6c se.16:.$yyval->token.=.new.stdCl
c7c20 61 73 73 3b 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 ass;.$property.=.$tokens[$len][0
c7c40 5d 20 3d 3d 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 ].===.''.?.'_empty_'.:.$tokens[$
c7c60 6c 65 6e 5d 5b 30 5d 3b 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 2d 3e 24 70 72 6f 70 65 72 74 len][0];.$yyval->token->$propert
c7c80 79 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 5b 31 5d 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 y.=.$tokens[$len][1];.break;.cas
c7ca0 65 20 31 37 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 e.17:.$yyval->token.=.$tokens[$l
c7cc0 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 20 3d en-2];.$key.=.$tokens[$len][0].=
c7ce0 3d 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 ==.''.?.'_empty_'.:.$tokens[$len
c7d00 5d 5b 30 5d 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 ][0];.if.(($this->flags.&.self::
c7d20 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 74 28 24 DETECT_KEY_CONFLICTS).&&.isset($
c7d40 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 72 72 53 tokens[$len-2]->{$key})).{.$errS
c7d60 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 20 28 24 tr.=.'Parse.error.on.line.'...($
c7d80 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 2e 3d 20 yylineno+1)...":\n";.$errStr..=.
c7da0 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 2e 20 22 $this->lexer->showPosition()..."
c7dc0 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 79 3a 20 \n";.$errStr..=."Duplicate.key:.
c7de0 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 20 50 61 ".$tokens[$len][0];.throw.new.Pa
c7e00 72 73 69 6e 67 45 78 63 65 70 74 69 6f 6e 28 24 65 72 72 53 74 72 29 3b 0a 7d 20 65 6c 73 65 69 rsingException($errStr);.}.elsei
c7e20 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 41 4c 4c 4f 57 5f 44 f.(($this->flags.&.self::ALLOW_D
c7e40 55 50 4c 49 43 41 54 45 5f 4b 45 59 53 29 20 26 26 20 69 73 73 65 74 28 24 74 6f 6b 65 6e 73 5b UPLICATE_KEYS).&&.isset($tokens[
c7e60 24 6c 65 6e 2d 32 5d 2d 3e 7b 24 6b 65 79 7d 29 29 20 7b 0a 24 64 75 70 6c 69 63 61 74 65 43 6f $len-2]->{$key})).{.$duplicateCo
c7e80 75 6e 74 20 3d 20 31 3b 0a 64 6f 20 7b 0a 24 64 75 70 6c 69 63 61 74 65 4b 65 79 20 3d 20 24 6b unt.=.1;.do.{.$duplicateKey.=.$k
c7ea0 65 79 20 2e 20 27 2e 27 20 2e 20 24 64 75 70 6c 69 63 61 74 65 43 6f 75 6e 74 2b 2b 3b 0a 7d 20 ey...'.'...$duplicateCount++;.}.
c7ec0 77 68 69 6c 65 20 28 69 73 73 65 74 28 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 32 5d 2d 3e 24 64 while.(isset($tokens[$len-2]->$d
c7ee0 75 70 6c 69 63 61 74 65 4b 65 79 29 29 3b 0a 24 6b 65 79 20 3d 20 24 64 75 70 6c 69 63 61 74 65 uplicateKey));.$key.=.$duplicate
c7f00 4b 65 79 3b 0a 7d 0a 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 32 5d 2d 3e 24 6b 65 79 20 3d 20 24 Key;.}.$tokens[$len-2]->$key.=.$
c7f20 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 5b 31 5d 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 31 38 3a tokens[$len][1];.break;.case.18:
c7f40 0a 24 79 79 76 61 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 .$yyval->token.=.array();.break;
c7f60 0a 63 61 73 65 20 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 .case.19:.$yyval->token.=.$token
c7f80 73 5b 24 6c 65 6e 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 s[$len-1];.break;.case.20:.$yyva
c7fa0 6c 2d 3e 74 6f 6b 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 l->token.=.array($tokens[$len]);
c7fc0 0a 62 72 65 61 6b 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 .break;.case.21:.$tokens[$len-2]
c7fe0 5b 5d 20 3d 20 24 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 [].=.$tokens[$len];.$yyval->toke
c8000 6e 20 3d 20 24 74 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 n.=.$tokens[$len-2];.break;.}..r
c8020 65 74 75 72 6e 20 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 eturn.new.Undefined();.}..privat
c8040 65 20 66 75 6e 63 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 e.function.stringInterpolation($
c8060 6d 61 74 63 68 29 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 match).{.switch.($match[0]).{.ca
c8080 73 65 20 27 5c 5c 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 se.'\\\\':.return.'\\';.case.'\"
c80a0 27 3a 0a 72 65 74 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 ':.return.'"';.case.'\b':.return
c80c0 20 63 68 72 28 38 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 .chr(8);.case.'\f':.return.chr(1
c80e0 32 29 3b 0a 63 61 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 2);.case.'\n':.return."\n";.case
c8100 20 27 5c 72 27 3a 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 .'\r':.return."\r";.case.'\t':.r
c8120 65 74 75 72 6e 20 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 eturn."\t";.case.'\/':.return."/
c8140 22 3b 0a 64 65 66 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 ";.default:.return.html_entity_d
c8160 65 63 6f 64 65 28 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 ecode('&#x'.ltrim(substr($match[
c8180 30 5d 2c 20 32 29 2c 20 27 30 27 29 2e 27 3b 27 2c 20 30 2c 20 27 55 54 46 2d 38 27 29 3b 0a 7d 0],.2),.'0').';',.0,.'UTF-8');.}
c81a0 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 28 24 6e .}..private.function.popStack($n
c81c0 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 65 28 24 ).{.$this->stack.=.array_slice($
c81e0 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 24 74 68 this->stack,.0,.-.(2.*.$n));.$th
c8200 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 73 2d 3e is->vstack.=.array_slice($this->
c8220 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 63 6b 20 vstack,.0,.-.$n);.$this->lstack.
c8240 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 30 2c 20 =.array_slice($this->lstack,.0,.
c8260 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 78 28 29 -.$n);.}..private.function.lex()
c8280 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 28 29 20 .{.$token.=.$this->lexer->lex().
c82a0 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 6b 65 6e ?:.1;.....if.(!is_numeric($token
c82c0 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 6d 62 6f )).{.$token.=.isset($this->symbo
c82e0 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 24 74 6f ls[$token]).?.$this->symbols[$to
c8300 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 65 6e 3b ken].:.$token;.}..return.$token;
c8320 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
c8340 65 6c 64 5c 4a 73 6f 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 eld\JsonLint;.......class.Lexer.
c8360 7b 0a 70 72 69 76 61 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 {.private.$EOF.=.1;.private.$rul
c8380 65 73 20 3d 20 61 72 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 es.=.array(.0.=>.'/^\s+/',.1.=>.
c83a0 27 2f 5e 2d 3f 28 5b 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 '/^-?([0-9]|[1-9][0-9]+)(\.[0-9]
c83c0 2b 29 3f 28 5b 65 45 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 +)?([eE][+-]?[0-9]+)?\b/',.2.=>.
c83e0 27 7b 5e 22 28 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 '{^"(\\\\["bfnrt/\\\\]|\\\\u[a-f
c8400 41 2d 46 30 2d 39 5d 7b 34 7d 7c 5b 5e 5c 30 2d 5c 78 30 39 5c 78 30 61 2d 5c 78 31 66 5c 5c 5c A-F0-9]{4}|[^\0-\x09\x0a-\x1f\\\
c8420 5c 22 5d 29 2a 22 7d 27 2c 0a 33 20 3d 3e 20 27 2f 5e 5c 7b 2f 27 2c 0a 34 20 3d 3e 20 27 2f 5e \"])*"}',.3.=>.'/^\{/',.4.=>.'/^
c8440 5c 7d 2f 27 2c 0a 35 20 3d 3e 20 27 2f 5e 5c 5b 2f 27 2c 0a 36 20 3d 3e 20 27 2f 5e 5c 5d 2f 27 \}/',.5.=>.'/^\[/',.6.=>.'/^\]/'
c8460 2c 0a 37 20 3d 3e 20 27 2f 5e 2c 2f 27 2c 0a 38 20 3d 3e 20 27 2f 5e 3a 2f 27 2c 0a 39 20 3d 3e ,.7.=>.'/^,/',.8.=>.'/^:/',.9.=>
c8480 20 27 2f 5e 74 72 75 65 5c 62 2f 27 2c 0a 31 30 20 3d 3e 20 27 2f 5e 66 61 6c 73 65 5c 62 2f 27 .'/^true\b/',.10.=>.'/^false\b/'
c84a0 2c 0a 31 31 20 3d 3e 20 27 2f 5e 6e 75 6c 6c 5c 62 2f 27 2c 0a 31 32 20 3d 3e 20 27 2f 5e 24 2f ,.11.=>.'/^null\b/',.12.=>.'/^$/
c84c0 27 2c 0a 31 33 20 3d 3e 20 27 2f 5e 2e 2f 27 2c 0a 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 63 6f ',.13.=>.'/^./',.);..private.$co
c84e0 6e 64 69 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 0a 22 49 4e 49 54 49 41 4c 22 20 3d 3e 20 61 nditions.=.array(."INITIAL".=>.a
c8500 72 72 61 79 28 0a 22 72 75 6c 65 73 22 20 3d 3e 20 61 72 72 61 79 28 30 2c 31 2c 32 2c 33 2c 34 rray(."rules".=>.array(0,1,2,3,4
c8520 2c 35 2c 36 2c 37 2c 38 2c 39 2c 31 30 2c 31 31 2c 31 32 2c 31 33 29 2c 0a 22 69 6e 63 6c 75 73 ,5,6,7,8,9,10,11,12,13),."inclus
c8540 69 76 65 22 20 3d 3e 20 74 72 75 65 2c 0a 29 2c 0a 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 63 6f ive".=>.true,.),.);..private.$co
c8560 6e 64 69 74 69 6f 6e 53 74 61 63 6b 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 3b 0a 70 72 nditionStack;.private.$input;.pr
c8580 69 76 61 74 65 20 24 6d 6f 72 65 3b 0a 70 72 69 76 61 74 65 20 24 64 6f 6e 65 3b 0a 70 72 69 76 ivate.$more;.private.$done;.priv
c85a0 61 74 65 20 24 6d 61 74 63 68 65 64 3b 0a 0a 70 75 62 6c 69 63 20 24 6d 61 74 63 68 3b 0a 70 75 ate.$matched;..public.$match;.pu
c85c0 62 6c 69 63 20 24 79 79 6c 69 6e 65 6e 6f 3b 0a 70 75 62 6c 69 63 20 24 79 79 6c 65 6e 67 3b 0a blic.$yylineno;.public.$yyleng;.
c85e0 70 75 62 6c 69 63 20 24 79 79 74 65 78 74 3b 0a 70 75 62 6c 69 63 20 24 79 79 6c 6c 6f 63 3b 0a public.$yytext;.public.$yylloc;.
c8600 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 65 78 28 29 0a 7b 0a 24 72 20 3d 20 24 74 .public.function.lex().{.$r.=.$t
c8620 68 69 73 2d 3e 6e 65 78 74 28 29 3b 0a 69 66 20 28 21 24 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 his->next();.if.(!$r.instanceof.
c8640 55 6e 64 65 66 69 6e 65 64 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 3b 0a 7d 0a 0a 72 65 74 75 72 Undefined).{.return.$r;.}..retur
c8660 6e 20 24 74 68 69 73 2d 3e 6c 65 78 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 n.$this->lex();.}..public.functi
c8680 6f 6e 20 73 65 74 49 6e 70 75 74 28 24 69 6e 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 70 on.setInput($input).{.$this->inp
c86a0 75 74 20 3d 20 24 69 6e 70 75 74 3b 0a 24 74 68 69 73 2d 3e 6d 6f 72 65 20 3d 20 66 61 6c 73 65 ut.=.$input;.$this->more.=.false
c86c0 3b 0a 24 74 68 69 73 2d 3e 64 6f 6e 65 20 3d 20 66 61 6c 73 65 3b 0a 24 74 68 69 73 2d 3e 79 79 ;.$this->done.=.false;.$this->yy
c86e0 6c 69 6e 65 6e 6f 20 3d 20 24 74 68 69 73 2d 3e 79 79 6c 65 6e 67 20 3d 20 30 3b 0a 24 74 68 69 lineno.=.$this->yyleng.=.0;.$thi
c8700 73 2d 3e 79 79 74 65 78 74 20 3d 20 24 74 68 69 73 2d 3e 6d 61 74 63 68 65 64 20 3d 20 24 74 68 s->yytext.=.$this->matched.=.$th
c8720 69 73 2d 3e 6d 61 74 63 68 20 3d 20 27 27 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 64 69 74 69 6f 6e is->match.=.'';.$this->condition
c8740 53 74 61 63 6b 20 3d 20 61 72 72 61 79 28 27 49 4e 49 54 49 41 4c 27 29 3b 0a 24 74 68 69 73 2d Stack.=.array('INITIAL');.$this-
c8760 3e 79 79 6c 6c 6f 63 20 3d 20 61 72 72 61 79 28 27 66 69 72 73 74 5f 6c 69 6e 65 27 20 3d 3e 20 >yylloc.=.array('first_line'.=>.
c8780 31 2c 20 27 66 69 72 73 74 5f 63 6f 6c 75 6d 6e 27 20 3d 3e 20 30 2c 20 27 6c 61 73 74 5f 6c 69 1,.'first_column'.=>.0,.'last_li
c87a0 6e 65 27 20 3d 3e 20 31 2c 20 27 6c 61 73 74 5f 63 6f 6c 75 6d 6e 27 20 3d 3e 20 30 29 3b 0a 0a ne'.=>.1,.'last_column'.=>.0);..
c87c0 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 6f 6e return.$this;.}..public.function
c87e0 20 73 68 6f 77 50 6f 73 69 74 69 6f 6e 28 29 0a 7b 0a 24 70 72 65 20 3d 20 73 74 72 5f 72 65 70 .showPosition().{.$pre.=.str_rep
c8800 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 50 61 73 74 49 6e 70 lace("\n",.'',.$this->getPastInp
c8820 75 74 28 29 29 3b 0a 24 63 20 3d 20 73 74 72 5f 72 65 70 65 61 74 28 27 2d 27 2c 20 73 74 72 6c ut());.$c.=.str_repeat('-',.strl
c8840 65 6e 28 24 70 72 65 29 29 3b 20 0a 0a 72 65 74 75 72 6e 20 24 70 72 65 20 2e 20 73 74 72 5f 72 en($pre));...return.$pre...str_r
c8860 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 6d eplace("\n",.'',.$this->getUpcom
c8880 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 7d ingInput())..."\n"...$c..."^";.}
c88a0 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 29 ..public.function.getPastInput()
c88c0 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 64 .{.$past.=.substr($this->matched
c88e0 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 74 ,.0,.strlen($this->matched).-.st
c8900 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 74 rlen($this->match));..return.(st
c8920 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 2e rlen($past).>.20.?.'...'.:.'')..
c8940 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 66 .substr($past,.-20);.}..public.f
c8960 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 65 unction.getUpcomingInput().{.$ne
c8980 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 6e xt.=.$this->match;.if.(strlen($n
c89a0 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 68 ext).<.20).{.$next..=.substr($th
c89c0 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 29 is->input,.0,.20.-.strlen($next)
c89e0 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 30 );.}..return.substr($next,.0,.20
c8a00 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 20 )...(strlen($next).>.20.?.'...'.
c8a20 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 72 :.'');.}..protected.function.par
c8a40 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 77 seError($str,.$hash).{.throw.new
c8a60 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 75 .\Exception($str);.}..private.fu
c8a80 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 29 nction.next().{.if.($this->done)
c8aa0 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 21 24 74 68 .{.return.$this->EOF;.}.if.(!$th
c8ac0 69 73 2d 3e 69 6e 70 75 74 29 20 7b 0a 24 74 68 69 73 2d 3e 64 6f 6e 65 20 3d 20 74 72 75 65 3b is->input).{.$this->done.=.true;
c8ae0 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 20 3d 20 6e 75 6c 6c .}..$token.=.null;.$match.=.null
c8b00 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 75 6c 6c 3b 0a 0a 69 ;.$col.=.null;.$lines.=.null;..i
c8b20 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 3e 79 79 74 65 78 74 f.(!$this->more).{.$this->yytext
c8b40 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 0a 7d 0a 0a 24 72 75 .=.'';.$this->match.=.'';.}..$ru
c8b60 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 6c 65 73 28 29 3b 0a les.=.$this->getCurrentRules();.
c8b80 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 3b 0a 0a 66 6f 72 20 $rulesLen.=.count($rules);..for.
c8ba0 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 2b 2b 29 20 7b 0a 69 ($i=0;.$i.<.$rulesLen;.$i++).{.i
c8bc0 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 73 5b 24 72 75 6c 65 f.(preg_match($this->rules[$rule
c8be0 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 74 63 68 29 29 20 7b s[$i]],.$this->input,.$match)).{
c8c00 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 20 24 6d 61 74 63 68 .preg_match_all('/\n.*/',.$match
c8c20 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 69 6e 65 73 5b 30 5d [0],.$lines);.$lines.=.$lines[0]
c8c40 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 6c 69 6e 65 6e 6f 20 ;.if.($lines).{.$this->yylineno.
c8c60 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 73 2d 3e 79 79 6c 6c +=.count($lines);.}..$this->yyll
c8c80 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 3d 3e 20 24 74 68 69 oc.=.array(.'first_line'.=>.$thi
c8ca0 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 6c 61 73 74 5f 6c 69 s->yylloc['last_line'],.'last_li
c8cc0 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 0a 27 66 69 72 73 74 ne'.=>.$this->yylineno+1,.'first
c8ce0 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 5b 27 6c 61 73 74 5f _column'.=>.$this->yylloc['last_
c8d00 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 20 24 6c 69 6e 65 column'],.'last_column'.=>.$line
c8d20 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 6c 69 6e 65 73 29 20 s.?.strlen($lines[count($lines).
c8d40 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 5b 27 6c 61 73 74 5f -.1]).-.1.:.$this->yylloc['last_
c8d60 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 30 5d 29 2c 0a 29 3b column'].+.strlen($match[0]),.);
c8d80 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 30 5d 3b 0a 24 74 68 .$this->yytext..=.$match[0];.$th
c8da0 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 74 68 69 73 2d 3e 6d is->match..=.$match[0];.$this->m
c8dc0 61 74 63 68 65 73 20 3d 20 24 6d 61 74 63 68 3b 0a 24 74 68 69 73 2d 3e 79 79 6c 65 6e 67 20 3d atches.=.$match;.$this->yyleng.=
c8de0 20 73 74 72 6c 65 6e 28 24 74 68 69 73 2d 3e 79 79 74 65 78 74 29 3b 0a 24 74 68 69 73 2d 3e 6d .strlen($this->yytext);.$this->m
c8e00 6f 72 65 20 3d 20 66 61 6c 73 65 3b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 20 73 75 62 73 ore.=.false;.$this->input.=.subs
c8e20 74 72 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 73 74 72 6c 65 6e 28 24 6d 61 74 63 68 5b 30 tr($this->input,.strlen($match[0
c8e40 5d 29 29 3b 0a 24 74 68 69 73 2d 3e 6d 61 74 63 68 65 64 20 2e 3d 20 24 6d 61 74 63 68 5b 30 5d ]));.$this->matched..=.$match[0]
c8e60 3b 0a 24 74 6f 6b 65 6e 20 3d 20 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 6d 41 63 74 69 6f 6e 28 ;.$token.=.$this->performAction(
c8e80 24 72 75 6c 65 73 5b 24 69 5d 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 64 69 74 69 6f 6e 53 74 61 63 $rules[$i],.$this->conditionStac
c8ea0 6b 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 63 6f 6e 64 69 74 69 6f 6e 53 74 61 63 6b 29 2d 31 k[count($this->conditionStack)-1
c8ec0 5d 29 3b 0a 69 66 20 28 24 74 6f 6b 65 6e 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 6f 6b 65 6e 3b ]);.if.($token).{.return.$token;
c8ee0 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 55 6e 64 65 66 69 6e 65 64 28 29 3b 0a 7d 0a 7d 0a .}..return.new.Undefined();.}.}.
c8f00 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 3d 3d 20 22 22 29 20 7b 0a 72 65 74 75 .if.($this->input.===."").{.retu
c8f20 72 6e 20 24 74 68 69 73 2d 3e 45 4f 46 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 45 72 rn.$this->EOF;.}..$this->parseEr
c8f40 72 6f 72 28 0a 27 4c 65 78 69 63 61 6c 20 65 72 72 6f 72 20 6f 6e 20 6c 69 6e 65 20 27 20 2e 20 ror(.'Lexical.error.on.line.'...
c8f60 28 24 74 68 69 73 2d 3e 79 79 6c 69 6e 65 6e 6f 2b 31 29 20 2e 20 22 2e 20 55 6e 72 65 63 6f 67 ($this->yylineno+1)..."..Unrecog
c8f80 6e 69 7a 65 64 20 74 65 78 74 2e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 73 68 6f 77 50 6f 73 69 nized.text.\n"...$this->showPosi
c8fa0 74 69 6f 6e 28 29 2c 0a 61 72 72 61 79 28 0a 27 74 65 78 74 27 20 3d 3e 20 22 22 2c 0a 27 74 6f tion(),.array(.'text'.=>."",.'to
c8fc0 6b 65 6e 27 20 3d 3e 20 6e 75 6c 6c 2c 0a 27 6c 69 6e 65 27 20 3d 3e 20 24 74 68 69 73 2d 3e 79 ken'.=>.null,.'line'.=>.$this->y
c8fe0 79 6c 69 6e 65 6e 6f 2c 0a 29 0a 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f ylineno,.).);.}..private.functio
c9000 6e 20 62 65 67 69 6e 28 24 63 6f 6e 64 69 74 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e n.begin($condition).{.$this->con
c9020 64 69 74 69 6f 6e 53 74 61 63 6b 5b 5d 20 3d 20 24 63 6f 6e 64 69 74 69 6f 6e 3b 0a 7d 0a 0a 70 ditionStack[].=.$condition;.}..p
c9040 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 6f 70 53 74 61 74 65 28 29 0a 7b 0a 72 65 74 rivate.function.popState().{.ret
c9060 75 72 6e 20 61 72 72 61 79 5f 70 6f 70 28 24 74 68 69 73 2d 3e 63 6f 6e 64 69 74 69 6f 6e 53 74 urn.array_pop($this->conditionSt
c9080 61 63 6b 29 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 75 72 ack);.}..private.function.getCur
c90a0 72 65 6e 74 52 75 6c 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 64 rentRules().{.return.$this->cond
c90c0 69 74 69 6f 6e 73 5b 24 74 68 69 73 2d 3e 63 6f 6e 64 69 74 69 6f 6e 53 74 61 63 6b 5b 63 6f 75 itions[$this->conditionStack[cou
c90e0 6e 74 28 24 74 68 69 73 2d 3e 63 6f 6e 64 69 74 69 6f 6e 53 74 61 63 6b 29 2d 31 5d 5d 5b 27 72 nt($this->conditionStack)-1]]['r
c9100 75 6c 65 73 27 5d 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 65 72 66 ules'];.}..private.function.perf
c9120 6f 72 6d 41 63 74 69 6f 6e 28 24 61 76 6f 69 64 69 6e 67 5f 6e 61 6d 65 5f 63 6f 6c 6c 69 73 69 ormAction($avoiding_name_collisi
c9140 6f 6e 73 2c 20 24 59 59 5f 53 54 41 52 54 29 0a 7b 0a 24 59 59 53 54 41 54 45 20 3d 20 24 59 59 ons,.$YY_START).{.$YYSTATE.=.$YY
c9160 5f 53 54 41 52 54 3b 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 _START;.switch.($avoiding_name_c
c9180 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
c91a0 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
c91c0 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
c91e0 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.
c9200 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
c9220 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
c9240 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
c9260 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
c9280 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
c92a0 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
c92c0 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';.}.
c92e0 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
c9300 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
c9320 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
c9340 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._
c9360 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.=.
c9380 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
c93a0 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
c93c0 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
c93e0 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;.}.
c9400 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
c9420 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 6e 64 65 66 69 6e 65 nstraints;........class.Undefine
c9440 64 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 66 75 6e 63 74 69 d.extends.Constraint.{....functi
c9460 6f 6e 20 63 68 65 63 6b 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c on.check($value,.$schema.=.null,
c9480 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 66 20 28 .$path.=.null,.$i.=.null).{.if.(
c94a0 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 74 75 72 6e 3b 0a 7d !is_object($schema)).{.return;.}
c94c0 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 74 50 61 74 68 28 24 ..$path.=.$this->incrementPath($
c94e0 70 61 74 68 2c 20 24 69 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 43 6f 6d path,.$i);....$this->validateCom
c9500 6d 6f 6e 50 72 6f 70 65 72 74 69 65 73 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 monProperties($value,.$schema,.$
c9520 70 61 74 68 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 54 79 70 65 73 28 24 path);....$this->validateTypes($
c9540 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 0a 0a 7d 0a value,.$schema,.$path,.$i);...}.
c9560 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 76 61 6c 69 64 61 74 .........public.function.validat
c9580 65 54 79 70 65 73 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 24 eTypes($value,.$schema.=.null,.$
c95a0 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 0a 20 69 66 20 28 path.=.null,.$i.=.null).{...if.(
c95c0 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b is_array($value)).{.$this->check
c95e0 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 61 74 68 2c 20 24 69 Array($value,.$schema,.$path,.$i
c9600 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 20 26 26 );.}....if.(is_object($value).&&
c9620 20 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 70 72 6f 70 65 72 74 69 65 73 29 29 20 7b 0a 24 .isset($schema->properties)).{.$
c9640 74 68 69 73 2d 3e 63 68 65 63 6b 4f 62 6a 65 63 74 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d this->checkObject($value,.$schem
c9660 61 2d 3e 70 72 6f 70 65 72 74 69 65 73 2c 20 24 70 61 74 68 2c 20 69 73 73 65 74 28 24 73 63 68 a->properties,.$path,.isset($sch
c9680 65 6d 61 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 29 20 3f 20 24 73 63 ema->additionalProperties).?.$sc
c96a0 68 65 6d 61 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 20 3a 20 6e 75 6c hema->additionalProperties.:.nul
c96c0 6c 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 76 61 6c 75 65 29 29 20 l);.}....if.(is_string($value)).
c96e0 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 53 74 72 69 6e 67 28 24 76 61 6c 75 65 2c 20 24 73 63 {.$this->checkString($value,.$sc
c9700 68 65 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 5f 6e 75 hema,.$path,.$i);.}....if.(is_nu
c9720 6d 65 72 69 63 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 4e 75 6d meric($value)).{.$this->checkNum
c9740 62 65 72 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 ber($value,.$schema,.$path,.$i);
c9760 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 65 6e 75 6d 29 29 20 .}....if.(isset($schema->enum)).
c9780 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 45 6e 75 6d 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 {.$this->checkEnum($value,.$sche
c97a0 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f ma,.$path,.$i);.}.}..........pro
c97c0 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 6f 6d 6d 6f 6e 50 72 tected.function.validateCommonPr
c97e0 6f 70 65 72 74 69 65 73 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c operties($value,.$schema.=.null,
c9800 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 0a 20 69 66 .$path.=.null,.$i.=.null).{...if
c9820 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 65 78 74 65 6e 64 73 29 29 20 7b 0a 24 74 68 .(isset($schema->extends)).{.$th
c9840 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 65 is->checkUndefined($value,.$sche
c9860 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 0a 0a 20 69 66 ma->extends,.$path,.$i);.}....if
c9880 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 20 26 26 20 24 76 61 6c 75 65 20 69 6e .(is_object($value).&&.$value.in
c98a0 73 74 61 6e 63 65 4f 66 20 55 6e 64 65 66 69 6e 65 64 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 stanceOf.Undefined).{.if.(isset(
c98c0 24 73 63 68 65 6d 61 2d 3e 72 65 71 75 69 72 65 64 29 20 26 26 20 24 73 63 68 65 6d 61 2d 3e 72 $schema->required).&&.$schema->r
c98e0 65 71 75 69 72 65 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 equired).{.$this->addError($path
c9900 2c 20 22 69 73 20 6d 69 73 73 69 6e 67 20 61 6e 64 20 69 74 20 69 73 20 72 65 71 75 69 72 65 64 ,."is.missing.and.it.is.required
c9920 22 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 54 79 70 65 28 ");.}.}.else.{.$this->checkType(
c9940 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 0a 20 69 66 $value,.$schema,.$path);.}....if
c9960 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 64 69 73 61 6c 6c 6f 77 29 29 20 7b 0a 24 69 .(isset($schema->disallow)).{.$i
c9980 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();.
c99a0 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,.$
c99c0 73 63 68 65 6d 61 2d 3e 64 69 73 61 6c 6c 6f 77 2c 20 24 70 61 74 68 29 3b 0a 0a 0a 20 69 66 20 schema->disallow,.$path);....if.
c99e0 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 20 63 6f (count($this->getErrors()).==.co
c9a00 75 6e 74 28 24 69 6e 69 74 45 72 72 6f 72 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 unt($initErrors)).{.$this->addEr
c9a20 72 6f 72 28 24 70 61 74 68 2c 20 22 20 64 69 73 61 6c 6c 6f 77 65 64 20 76 61 6c 75 65 20 77 61 ror($path,.".disallowed.value.wa
c9a40 73 20 6d 61 74 63 68 65 64 22 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 s.matched");.}.else.{.$this->err
c9a60 6f 72 73 20 3d 20 24 69 6e 69 74 45 72 72 6f 72 73 3b 0a 7d 0a 7d 0a 7d 0a 7d 3c 3f 70 68 70 0a ors.=.$initErrors;.}.}.}.}<?php.
c9a80 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
c9aa0 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 54 79 70 65 20 65 78 74 65 6e 64 73 20 43 6f 6e s;........class.Type.extends.Con
c9ac0 73 74 72 61 69 6e 74 0a 7b 0a 0a 0a 0a 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 28 24 76 61 6c straint.{....function.check($val
c9ae0 75 65 20 3d 20 6e 75 6c 6c 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 24 70 61 74 68 ue.=.null,.$schema.=.null,.$path
c9b00 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 79 70 65 20 3d 20 69 73 .=.null,.$i.=.null).{.$type.=.is
c9b20 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 74 79 70 65 29 20 3f 20 24 73 63 68 65 6d 61 2d 3e 74 79 set($schema->type).?.$schema->ty
c9b40 70 65 20 3a 20 6e 75 6c 6c 3b 0a 24 69 73 56 61 6c 69 64 20 3d 20 74 72 75 65 3b 0a 0a 69 66 20 pe.:.null;.$isValid.=.true;..if.
c9b60 28 69 73 5f 61 72 72 61 79 28 24 74 79 70 65 29 29 20 7b 0a 0a 20 24 76 61 6c 69 64 61 74 65 64 (is_array($type)).{...$validated
c9b80 4f 6e 65 54 79 70 65 20 3d 20 66 61 6c 73 65 3b 0a 24 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 OneType.=.false;.$errors.=.array
c9ba0 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 79 70 65 20 61 73 20 24 74 70 29 20 7b 0a 24 76 61 ();.foreach.($type.as.$tp).{.$va
c9bc0 6c 69 64 61 74 6f 72 20 3d 20 6e 65 77 20 54 79 70 65 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 4d lidator.=.new.Type($this->checkM
c9be0 6f 64 65 29 3b 0a 24 73 75 62 53 63 68 65 6d 61 20 3d 20 6e 65 77 20 5c 73 74 64 43 6c 61 73 73 ode);.$subSchema.=.new.\stdClass
c9c00 28 29 3b 0a 24 73 75 62 53 63 68 65 6d 61 2d 3e 74 79 70 65 20 3d 20 24 74 70 3b 0a 24 76 61 6c ();.$subSchema->type.=.$tp;.$val
c9c20 69 64 61 74 6f 72 2d 3e 63 68 65 63 6b 28 24 76 61 6c 75 65 2c 20 24 73 75 62 53 63 68 65 6d 61 idator->check($value,.$subSchema
c9c40 2c 20 24 70 61 74 68 2c 20 6e 75 6c 6c 29 3b 0a 24 65 72 72 6f 72 20 3d 20 24 76 61 6c 69 64 61 ,.$path,.null);.$error.=.$valida
c9c60 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 3b 0a 0a 69 66 20 28 21 63 6f 75 6e 74 28 24 65 tor->getErrors();..if.(!count($e
c9c80 72 72 6f 72 29 29 20 7b 0a 24 76 61 6c 69 64 61 74 65 64 4f 6e 65 54 79 70 65 20 3d 20 74 72 75 rror)).{.$validatedOneType.=.tru
c9ca0 65 3b 0a 62 72 65 61 6b 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 65 72 72 6f 72 73 20 3d 20 24 65 72 e;.break;.}.else.{.$errors.=.$er
c9cc0 72 6f 72 3b 0a 7d 0a 7d 0a 69 66 20 28 21 24 76 61 6c 69 64 61 74 65 64 4f 6e 65 54 79 70 65 29 ror;.}.}.if.(!$validatedOneType)
c9ce0 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 73 28 24 65 72 72 6f .{.return.$this->addErrors($erro
c9d00 72 73 29 3b 0a 7d 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 rs);.}.}.elseif.(is_object($type
c9d20 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 61 6c 75 )).{.$this->checkUndefined($valu
c9d40 65 2c 20 24 74 79 70 65 2c 20 24 70 61 74 68 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 73 56 61 e,.$type,.$path);.}.else.{.$isVa
c9d60 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 76 61 6c 75 65 lid.=.$this->validateType($value
c9d80 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 3d 3d 20 66 61 ,.$type);.}..if.($isValid.===.fa
c9da0 6c 73 65 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 67 65 lse).{.$this->addError($path,.ge
c9dc0 74 74 79 70 65 28 24 76 61 6c 75 65 29 20 2e 20 22 20 76 61 6c 75 65 20 66 6f 75 6e 64 2c 20 62 ttype($value)...".value.found,.b
c9de0 75 74 20 61 20 22 20 2e 20 24 74 79 70 65 20 2e 20 22 20 69 73 20 72 65 71 75 69 72 65 64 22 29 ut.a."...$type...".is.required")
c9e00 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
c9e20 6e 20 76 61 6c 69 64 61 74 65 54 79 70 65 28 24 76 61 6c 75 65 2c 20 24 74 79 70 65 29 0a 7b 0a n.validateType($value,.$type).{.
c9e40 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 65 3b 0a 7d 0a 0a ..if.(!$type).{.return.true;.}..
c9e60 73 77 69 74 63 68 20 28 24 74 79 70 65 29 20 7b 0a 63 61 73 65 20 27 69 6e 74 65 67 65 72 27 20 switch.($type).{.case.'integer'.
c9e80 3a 0a 72 65 74 75 72 6e 20 28 69 6e 74 65 67 65 72 29 24 76 61 6c 75 65 20 3d 3d 20 24 76 61 6c :.return.(integer)$value.==.$val
c9ea0 75 65 20 3f 20 74 72 75 65 20 3a 20 69 73 5f 69 6e 74 28 24 76 61 6c 75 65 29 3b 0a 63 61 73 65 ue.?.true.:.is_int($value);.case
c9ec0 20 27 6e 75 6d 62 65 72 27 20 3a 0a 72 65 74 75 72 6e 20 69 73 5f 6e 75 6d 65 72 69 63 28 24 76 .'number'.:.return.is_numeric($v
c9ee0 61 6c 75 65 29 3b 0a 63 61 73 65 20 27 62 6f 6f 6c 65 61 6e 27 20 3a 0a 72 65 74 75 72 6e 20 69 alue);.case.'boolean'.:.return.i
c9f00 73 5f 62 6f 6f 6c 28 24 76 61 6c 75 65 29 3b 0a 63 61 73 65 20 27 6f 62 6a 65 63 74 27 20 3a 0a s_bool($value);.case.'object'.:.
c9f20 72 65 74 75 72 6e 20 69 73 5f 6f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 3b 0a 0a 20 63 61 73 65 return.is_object($value);...case
c9f40 20 27 61 72 72 61 79 27 20 3a 0a 72 65 74 75 72 6e 20 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 .'array'.:.return.is_array($valu
c9f60 65 29 3b 0a 63 61 73 65 20 27 73 74 72 69 6e 67 27 20 3a 0a 72 65 74 75 72 6e 20 69 73 5f 73 74 e);.case.'string'.:.return.is_st
c9f80 72 69 6e 67 28 24 76 61 6c 75 65 29 3b 0a 63 61 73 65 20 27 6e 75 6c 6c 27 20 3a 0a 72 65 74 75 ring($value);.case.'null'.:.retu
c9fa0 72 6e 20 69 73 5f 6e 75 6c 6c 28 24 76 61 6c 75 65 29 3b 0a 63 61 73 65 20 27 61 6e 79 27 20 3a rn.is_null($value);.case.'any'.:
c9fc0 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 64 65 66 61 75 6c 74 3a 0a 74 68 72 6f 77 20 6e 65 77 .return.true;.default:.throw.new
c9fe0 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 28 69 73 5f 6f .\InvalidArgumentException((is_o
ca000 62 6a 65 63 74 28 24 76 61 6c 75 65 29 20 3f 20 27 6f 62 6a 65 63 74 27 20 3a 20 24 76 61 6c 75 bject($value).?.'object'.:.$valu
ca020 65 29 20 2e 20 27 20 69 73 20 61 20 69 6e 76 61 6c 69 64 20 74 79 70 65 20 66 6f 72 20 27 20 2e e)...'.is.a.invalid.type.for.'..
ca040 20 24 74 79 70 65 29 3b 0a 7d 0a 7d 0a 7d 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a .$type);.}.}.}<?php..namespace.J
ca060 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c sonSchema\Constraints;........cl
ca080 61 73 73 20 53 63 68 65 6d 61 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 74 72 61 69 6e 74 0a 7b 0a ass.Schema.extends.Constraint.{.
ca0a0 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 24 65 6c 65 6d 65 6e ...public.function.check($elemen
ca0c0 74 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c t,.$schema.=.null,.$path.=.null,
ca0e0 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 73 63 68 65 6d 61 20 21 3d 3d 20 6e 75 .$i.=.null).{.if.($schema.!==.nu
ca100 6c 6c 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 64 28 24 65 ll).{...$this->checkUndefined($e
ca120 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 6d 61 2c 20 27 27 2c 20 27 27 29 3b 0a 7d 20 65 6c 73 65 lement,.$schema,.'',.'');.}.else
ca140 69 66 20 28 69 73 73 65 74 28 24 65 6c 65 6d 65 6e 74 2d 3e 7b 24 74 68 69 73 2d 3e 69 6e 6c 69 if.(isset($element->{$this->inli
ca160 6e 65 53 63 68 65 6d 61 50 72 6f 70 65 72 74 79 7d 29 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 63 neSchemaProperty})).{...$this->c
ca180 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 65 6c 65 6d 65 6e 74 2c 20 24 65 6c 65 6d 65 6e 74 heckUndefined($element,.$element
ca1a0 2d 3e 7b 24 74 68 69 73 2d 3e 69 6e 6c 69 6e 65 53 63 68 65 6d 61 50 72 6f 70 65 72 74 79 7d 2c ->{$this->inlineSchemaProperty},
ca1c0 20 27 27 2c 20 27 27 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 .'',.'');.}.else.{.throw.new.\In
ca1e0 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 6e 6f 20 73 63 68 65 6d validArgumentException('no.schem
ca200 61 20 66 6f 75 6e 64 20 74 6f 20 76 65 72 69 66 79 20 61 67 61 69 6e 73 74 27 29 3b 0a 7d 0a 7d a.found.to.verify.against');.}.}
ca220 0a 7d 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
ca240 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4e 75 6d 62 65 72 20 65 nstraints;........class.Number.e
ca260 78 74 65 6e 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 xtends.Constraint.{....public.fu
ca280 6e 63 74 69 6f 6e 20 63 68 65 63 6b 28 24 65 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 6d 61 20 3d nction.check($element,.$schema.=
ca2a0 20 6e 75 6c 6c 2c 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 .null,.$path.=.null,.$i.=.null).
ca2c0 7b 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 6d 29 20 {...if.(isset($schema->minimum).
ca2e0 26 26 20 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 29 20 &&.$element.<.$schema->minimum).
ca300 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 22 6d 75 73 74 20 68 {.$this->addError($path,."must.h
ca320 61 76 65 20 61 20 6d 69 6e 69 6d 75 6d 20 76 61 6c 75 65 20 6f 66 20 22 20 2e 20 24 73 63 68 65 ave.a.minimum.value.of."...$sche
ca340 6d 61 2d 3e 6d 69 6e 69 6d 75 6d 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 73 63 ma->minimum);.}....if.(isset($sc
ca360 68 65 6d 61 2d 3e 6d 61 78 69 6d 75 6d 29 20 26 26 20 24 65 6c 65 6d 65 6e 74 20 3e 20 24 73 63 hema->maximum).&&.$element.>.$sc
ca380 68 65 6d 61 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 hema->maximum).{.$this->addError
ca3a0 28 24 70 61 74 68 2c 20 22 6d 75 73 74 20 68 61 76 65 20 61 20 6d 61 78 69 6d 75 6d 20 76 61 6c ($path,."must.have.a.maximum.val
ca3c0 75 65 20 6f 66 20 22 20 2e 20 24 73 63 68 65 6d 61 2d 3e 6d 61 78 69 6d 75 6d 29 3b 0a 7d 0a 0a ue.of."...$schema->maximum);.}..
ca3e0 0a 20 69 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 ..if.(isset($schema->divisibleBy
ca400 29 20 26 26 20 24 65 6c 65 6d 65 6e 74 20 25 20 24 73 63 68 65 6d 61 2d 3e 64 69 76 69 73 69 62 ).&&.$element.%.$schema->divisib
ca420 6c 65 42 79 20 21 3d 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 leBy.!=.0).{.$this->addError($pa
ca440 74 68 2c 20 22 69 73 20 6e 6f 74 20 64 69 76 69 73 69 62 6c 65 20 62 79 20 22 20 2e 20 24 73 63 th,."is.not.divisible.by."...$sc
ca460 68 65 6d 61 2d 3e 64 69 76 69 73 69 62 6c 65 42 79 29 3b 0a 7d 0a 7d 0a 7d 3c 3f 70 68 70 0a 0a hema->divisibleBy);.}.}.}<?php..
ca480 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
ca4a0 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4f 62 6a 65 63 74 20 65 78 74 65 6e 64 73 20 43 6f ;........class.Object.extends.Co
ca4c0 6e 73 74 72 61 69 6e 74 0a 7b 0a 0a 0a 0a 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 28 24 65 6c nstraint.{....function.check($el
ca4e0 65 6d 65 6e 74 2c 20 24 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 6e 75 6c 6c 2c 20 24 70 61 74 68 ement,.$definition.=.null,.$path
ca500 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 6c 29 .=.null,.$additionalProp.=.null)
ca520 0a 7b 0a 0a 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 44 65 66 69 6e 69 74 69 6f 6e 28 24 .{...$this->validateDefinition($
ca540 65 6c 65 6d 65 6e 74 2c 20 24 64 65 66 69 6e 69 74 69 6f 6e 2c 20 24 70 61 74 68 29 3b 0a 0a 0a element,.$definition,.$path);...
ca560 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 45 6c 65 6d 65 6e 74 28 24 65 6c 65 6d 65 6e 74 .$this->validateElement($element
ca580 2c 20 24 64 65 66 69 6e 69 74 69 6f 6e 2c 20 24 70 61 74 68 2c 20 24 61 64 64 69 74 69 6f 6e 61 ,.$definition,.$path,.$additiona
ca5a0 6c 50 72 6f 70 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 lProp);.}..........public.functi
ca5c0 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 74 2c 20 24 6f 62 on.validateElement($element,.$ob
ca5e0 6a 65 63 74 44 65 66 69 6e 69 74 69 6f 6e 20 3d 20 6e 75 6c 6c 2c 20 24 70 61 74 68 20 3d 20 6e jectDefinition.=.null,.$path.=.n
ca600 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 6c 29 0a 7b 0a 66 ull,.$additionalProp.=.null).{.f
ca620 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 75 65 oreach.($element.as.$i.=>.$value
ca640 29 20 7b 0a 0a 24 70 72 6f 70 65 72 74 79 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 70 65 ).{..$property.=.$this->getPrope
ca660 72 74 79 28 24 65 6c 65 6d 65 6e 74 2c 20 24 69 2c 20 6e 65 77 20 55 6e 64 65 66 69 6e 65 64 28 rty($element,.$i,.new.Undefined(
ca680 29 29 3b 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 6f 70 ));.$definition.=.$this->getProp
ca6a0 65 72 74 79 28 24 6f 62 6a 65 63 74 44 65 66 69 6e 69 74 69 6f 6e 2c 20 24 69 29 3b 0a 0a 0a 20 erty($objectDefinition,.$i);....
ca6c0 69 66 20 28 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 28 24 64 65 66 69 6e 69 74 69 if.($this->getProperty($definiti
ca6e0 6f 6e 2c 20 27 72 65 71 75 69 72 65 64 27 29 20 26 26 20 21 24 70 72 6f 70 65 72 74 79 29 20 7b on,.'required').&&.!$property).{
ca700 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 22 74 68 65 20 70 72 6f .$this->addError($path,."the.pro
ca720 70 65 72 74 79 20 22 20 2e 20 24 69 20 2e 20 22 20 69 73 20 72 65 71 75 69 72 65 64 22 29 3b 0a perty."...$i...".is.required");.
ca740 7d 0a 0a 0a 20 69 66 20 28 24 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 20 3d 3d 3d 20 66 61 6c }....if.($additionalProp.===.fal
ca760 73 65 20 26 26 20 24 74 68 69 73 2d 3e 69 6e 6c 69 6e 65 53 63 68 65 6d 61 50 72 6f 70 65 72 74 se.&&.$this->inlineSchemaPropert
ca780 79 20 21 3d 3d 20 24 69 20 26 26 20 21 24 64 65 66 69 6e 69 74 69 6f 6e 29 20 7b 0a 24 74 68 69 y.!==.$i.&&.!$definition).{.$thi
ca7a0 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 22 54 68 65 20 70 72 6f 70 65 72 74 79 s->addError($path,."The.property
ca7c0 20 22 20 2e 20 24 69 20 2e 20 22 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 20 61 6e 64 20 74 ."...$i...".is.not.defined.and.t
ca7e0 68 65 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 he.definition.does.not.allow.add
ca800 69 74 69 6f 6e 61 6c 20 70 72 6f 70 65 72 74 69 65 73 22 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 itional.properties");.}....if.($
ca820 61 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 additionalProp.&&.!$definition).
ca840 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 75 65 2c 20 {.$this->checkUndefined($value,.
ca860 24 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 0a $additionalProp,.$path,.$i);.}..
ca880 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 70 65 72 74 79 28 ..$require.=.$this->getProperty(
ca8a0 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 69 66 20 28 24 72 $definition,.'requires');.if.($r
ca8c0 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 72 74 79 28 24 65 equire.&&.!$this->getProperty($e
ca8e0 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 2d 3e 61 64 64 45 lement,.$require)).{.$this->addE
ca900 72 72 6f 72 28 24 70 61 74 68 2c 20 22 74 68 65 20 70 72 65 73 65 6e 63 65 20 6f 66 20 74 68 65 rror($path,."the.presence.of.the
ca920 20 70 72 6f 70 65 72 74 79 20 22 20 2e 20 24 69 20 2e 20 22 20 72 65 71 75 69 72 65 73 20 74 68 .property."...$i...".requires.th
ca940 61 74 20 22 20 2e 20 24 72 65 71 75 69 72 65 20 2e 20 22 20 61 6c 73 6f 20 62 65 20 70 72 65 73 at."...$require...".also.be.pres
ca960 65 6e 74 22 29 3b 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 ent");.}....$this->checkUndefine
ca980 64 28 24 76 61 6c 75 65 2c 20 24 64 65 66 69 6e 69 74 69 6f 6e 20 3f 20 3a 20 6e 65 77 20 5c 73 d($value,.$definition.?.:.new.\s
ca9a0 74 64 43 6c 61 73 73 28 29 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a tdClass(),.$path,.$i);.}.}......
ca9c0 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 44 65 66 69 6e ...public.function.validateDefin
ca9e0 69 74 69 6f 6e 28 24 65 6c 65 6d 65 6e 74 2c 20 24 6f 62 6a 65 63 74 44 65 66 69 6e 69 74 69 6f ition($element,.$objectDefinitio
caa00 6e 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 66 6f 72 65 61 63 n.=.null,.$path.=.null).{.foreac
caa20 68 20 28 24 6f 62 6a 65 63 74 44 65 66 69 6e 69 74 69 6f 6e 20 61 73 20 24 69 20 3d 3e 20 24 76 h.($objectDefinition.as.$i.=>.$v
caa40 61 6c 75 65 29 20 7b 0a 24 70 72 6f 70 65 72 74 79 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 72 alue).{.$property.=.$this->getPr
caa60 6f 70 65 72 74 79 28 24 65 6c 65 6d 65 6e 74 2c 20 24 69 2c 20 6e 65 77 20 55 6e 64 65 66 69 6e operty($element,.$i,.new.Undefin
caa80 65 64 28 29 29 3b 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 ed());.$definition.=.$this->getP
caaa0 72 6f 70 65 72 74 79 28 24 6f 62 6a 65 63 74 44 65 66 69 6e 69 74 69 6f 6e 2c 20 24 69 29 3b 0a roperty($objectDefinition,.$i);.
caac0 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 72 74 79 2c $this->checkUndefined($property,
caae0 20 24 64 65 66 69 6e 69 74 69 6f 6e 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 7d 0a 0a 0a .$definition,.$path,.$i);.}.}...
cab00 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
cab20 70 65 72 74 79 28 24 65 6c 65 6d 65 6e 74 2c 20 24 70 72 6f 70 65 72 74 79 2c 20 24 66 61 6c 6c perty($element,.$property,.$fall
cab40 62 61 63 6b 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 65 6c 65 back.=.null).{.if.(is_array($ele
cab60 6d 65 6e 74 29 20 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 ment).).{.return.array_key_exist
cab80 73 28 24 70 72 6f 70 65 72 74 79 2c 20 24 65 6c 65 6d 65 6e 74 29 20 3f 20 24 65 6c 65 6d 65 6e s($property,.$element).?.$elemen
caba0 74 5b 24 70 72 6f 70 65 72 74 79 5d 20 3a 20 24 66 61 6c 6c 62 61 63 6b 3b 0a 7d 20 65 6c 73 65 t[$property].:.$fallback;.}.else
cabc0 20 7b 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 65 6c 65 6d 65 6e 74 2d 3e 24 70 72 6f 70 65 .{.return.isset($element->$prope
cabe0 72 74 79 29 20 3f 20 24 65 6c 65 6d 65 6e 74 2d 3e 24 70 72 6f 70 65 72 74 79 20 3a 20 24 66 61 rty).?.$element->$property.:.$fa
cac00 6c 6c 62 61 63 6b 3b 0a 7d 0a 7d 0a 7d 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 llback;.}.}.}<?php..namespace.Js
cac20 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 onSchema\Constraints;.......inte
cac40 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 7b 0a 0a 0a 0a 0a rface.ConstraintInterface.{.....
cac60 0a 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 72 72 6f 72 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 66 75 6e .function.getErrors();.......fun
cac80 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 3b 0a ction.addErrors(array.$errors);.
caca0 0a 0a 0a 0a 0a 0a 0a 66 75 6e 63 74 69 6f 6e 20 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 .......function.addError($path,.
cacc0 24 6d 65 73 73 61 67 65 29 3b 0a 0a 0a 0a 0a 0a 0a 66 75 6e 63 74 69 6f 6e 20 69 73 56 61 6c 69 $message);.......function.isVali
cace0 64 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 28 24 76 d();...........function.check($v
cad00 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 24 70 61 74 68 20 3d 20 6e 75 alue,.$schema.=.null,.$path.=.nu
cad20 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 3b 0a 7d 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 ll,.$i.=.null);.}<?php..namespac
cad40 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 0a 0a 0a 0a 0a 0a e.JsonSchema\Constraints;.......
cad60 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 43 6f 6e 73 74 72 61 69 6e 74 20 69 6d 70 6c 65 .abstract.class.Constraint.imple
cad80 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 70 72 6f 74 ments.ConstraintInterface.{.prot
cada0 65 63 74 65 64 20 24 63 68 65 63 6b 4d 6f 64 65 20 3d 20 73 65 6c 66 3a 3a 43 48 45 43 4b 5f 4d ected.$checkMode.=.self::CHECK_M
cadc0 4f 44 45 5f 4e 4f 52 4d 41 4c 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 65 72 72 6f 72 73 20 3d 20 ODE_NORMAL;.protected.$errors.=.
cade0 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 6c 69 6e 65 53 63 68 65 6d 61 array();.protected.$inlineSchema
cae00 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 74 20 43 48 45 Property.=.'$schema';..const.CHE
cae20 43 4b 5f 4d 4f 44 45 5f 4e 4f 52 4d 41 4c 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 43 48 45 43 4b 5f CK_MODE_NORMAL.=.1;.const.CHECK_
cae40 4d 4f 44 45 5f 54 59 50 45 5f 43 41 53 54 20 3d 20 32 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 MODE_TYPE_CAST.=.2;.....public.f
cae60 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 63 68 65 63 6b 4d 6f 64 65 20 3d unction.__construct($checkMode.=
cae80 20 73 65 6c 66 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 4e 4f 52 4d 41 4c 29 0a 7b 0a 24 74 68 69 .self::CHECK_MODE_NORMAL).{.$thi
caea0 73 2d 3e 63 68 65 63 6b 4d 6f 64 65 20 3d 20 24 63 68 65 63 6b 4d 6f 64 65 3b 0a 7d 0a 0a 0a 0a s->checkMode.=.$checkMode;.}....
caec0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c .public.function.addError($path,
caee0 20 24 6d 65 73 73 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 61 .$message).{.$this->errors[].=.a
caf00 72 72 61 79 28 0a 27 70 72 6f 70 65 72 74 79 27 20 3d 3e 20 24 70 61 74 68 2c 0a 27 6d 65 73 73 rray(.'property'.=>.$path,.'mess
caf20 61 67 65 27 20 3d 3e 20 24 6d 65 73 73 61 67 65 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 age'.=>.$message.);.}.....public
caf40 20 66 75 6e 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 .function.addErrors(array.$error
caf60 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 s).{.$this->errors.=.array_merge
caf80 28 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 2c 20 24 65 72 72 6f 72 73 29 3b 0a 7d 0a 0a 0a 0a 0a ($this->errors,.$errors);.}.....
cafa0 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 28 29 0a 7b 0a 72 65 public.function.getErrors().{.re
cafc0 74 75 72 6e 20 61 72 72 61 79 5f 75 6e 69 71 75 65 28 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 2c turn.array_unique($this->errors,
cafe0 20 53 4f 52 54 5f 52 45 47 55 4c 41 52 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 .SORT_REGULAR);.}.........protec
cb000 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 63 72 65 6d 65 6e 74 50 61 74 68 28 24 70 61 74 68 ted.function.incrementPath($path
cb020 2c 20 24 69 29 0a 7b 0a 69 66 20 28 24 70 61 74 68 20 21 3d 3d 20 27 27 29 20 7b 0a 69 66 20 28 ,.$i).{.if.($path.!==.'').{.if.(
cb040 69 73 5f 69 6e 74 28 24 69 29 29 20 7b 0a 24 70 61 74 68 20 2e 3d 20 27 5b 27 20 2e 20 24 69 20 is_int($i)).{.$path..=.'['...$i.
cb060 2e 20 27 5d 27 3b 0a 7d 20 65 6c 73 65 20 69 66 20 28 24 69 20 3d 3d 20 27 27 29 20 7b 0a 24 70 ..']';.}.else.if.($i.==.'').{.$p
cb080 61 74 68 20 2e 3d 20 27 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 74 68 20 2e 3d 20 27 2e 27 ath..=.'';.}.else.{.$path..=.'.'
cb0a0 20 2e 20 24 69 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 74 68 20 3d 20 24 69 3b 0a 7d 0a ...$i;.}.}.else.{.$path.=.$i;.}.
cb0c0 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 0a 70 72 6f 74 65 63 .return.$path;.}..........protec
cb0e0 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 41 72 72 61 79 28 24 76 61 6c 75 65 2c 20 ted.function.checkArray($value,.
cb100 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 $schema.=.null,.$path.=.null,.$i
cb120 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e 65 77 20 43 6f 6c 6c .=.null).{.$validator.=.new.Coll
cb140 65 63 74 69 6f 6e 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 4d 6f 64 65 29 3b 0a 24 76 61 6c 69 64 ection($this->checkMode);.$valid
cb160 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 61 ator->check($value,.$schema,.$pa
cb180 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 69 th,.$i);..$this->addErrors($vali
cb1a0 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 0a dator->getErrors());.}..........
cb1c0 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 65 63 74 28 24 protected.function.checkObject($
cb1e0 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 24 70 61 74 68 20 3d 20 6e value,.$schema.=.null,.$path.=.n
cb200 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 72 20 3d 20 6e ull,.$i.=.null).{.$validator.=.n
cb220 65 77 20 4f 62 6a 65 63 74 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 4d 6f 64 65 29 3b 0a 24 76 61 ew.Object($this->checkMode);.$va
cb240 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,.
cb260 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
cb280 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());.}.......
cb2a0 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 54 79 70 65 28 ...protected.function.checkType(
cb2c0 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 70 61 74 68 20 3d 20 $value,.$schema.=.null,.$path.=.
cb2e0 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 72 20 3d 20 null,.$i.=.null).{.$validator.=.
cb300 6e 65 77 20 54 79 70 65 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 4d 6f 64 65 29 3b 0a 24 76 61 6c new.Type($this->checkMode);.$val
cb320 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,.$
cb340 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 61 path,.$i);..$this->addErrors($va
cb360 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 0a lidator->getErrors());.}........
cb380 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 69 ..protected.function.checkUndefi
cb3a0 6e 65 64 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 24 70 61 74 ned($value,.$schema.=.null,.$pat
cb3c0 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
cb3e0 72 20 3d 20 6e 65 77 20 55 6e 64 65 66 69 6e 65 64 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 4d 6f r.=.new.Undefined($this->checkMo
cb400 64 65 29 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 de);.$validator->check($value,.$
cb420 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 64 45 schema,.$path,.$i);..$this->addE
cb440 72 72 6f 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 rrors($validator->getErrors());.
cb460 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 63 68 }..........protected.function.ch
cb480 65 63 6b 53 74 72 69 6e 67 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c eckString($value,.$schema.=.null
cb4a0 2c 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 76 61 ,.$path.=.null,.$i.=.null).{.$va
cb4c0 6c 69 64 61 74 6f 72 20 3d 20 6e 65 77 20 53 74 72 69 6e 67 28 24 74 68 69 73 2d 3e 63 68 65 63 lidator.=.new.String($this->chec
cb4e0 6b 4d 6f 64 65 29 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 kMode);.$validator->check($value
cb500 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 ,.$schema,.$path,.$i);..$this->a
cb520 64 64 45 72 72 6f 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 ddErrors($validator->getErrors()
cb540 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 6e );.}..........protected.function
cb560 20 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 20 3d 20 6e .checkNumber($value,.$schema.=.n
cb580 75 6c 6c 2c 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 ull,.$path.=.null,.$i.=.null).{.
cb5a0 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e 65 77 20 4e 75 6d 62 65 72 28 24 74 68 69 73 2d 3e 63 $validator.=.new.Number($this->c
cb5c0 68 65 63 6b 4d 6f 64 65 29 3b 0a 24 76 61 6c 69 64 61 74 6f 72 2d 3e 63 68 65 63 6b 28 24 76 61 heckMode);.$validator->check($va
cb5e0 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 0a 24 74 68 69 73 lue,.$schema,.$path,.$i);..$this
cb600 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 74 45 72 72 6f 72 ->addErrors($validator->getError
cb620 73 28 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 s());.}..........protected.funct
cb640 69 6f 6e 20 63 68 65 63 6b 45 6e 75 6d 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 ion.checkEnum($value,.$schema.=.
cb660 6e 75 6c 6c 2c 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 null,.$path.=.null,.$i.=.null).{
cb680 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e 65 77 20 45 6e 75 6d 28 24 74 68 69 73 2d 3e 63 68 .$validator.=.new.Enum($this->ch
cb6a0 65 63 6b 4d 6f 64 65 29 3b 0a 24 76 61 6c 69 64 61 74 6f 72 2d 3e 63 68 65 63 6b 28 24 76 61 6c eckMode);.$validator->check($val
cb6c0 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 0a 24 74 68 69 73 2d ue,.$schema,.$path,.$i);..$this-
cb6e0 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 74 45 72 72 6f 72 73 >addErrors($validator->getErrors
cb700 28 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 69 73 56 61 6c ());.}.....public.function.isVal
cb720 69 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 21 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 id().{.return.!$this->getErrors(
cb740 29 3b 0a 7d 0a 7d 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 );.}.}<?php..namespace.JsonSchem
cb760 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6c 6c a\Constraints;........class.Coll
cb780 65 63 74 69 6f 6e 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 ection.extends.Constraint.{....p
cb7a0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 28 24 76 61 6c 75 65 2c 20 24 73 63 ublic.function.check($value,.$sc
cb7c0 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 hema.=.null,.$path.=.null,.$i.=.
cb7e0 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 6d 69 6e null).{...if.(isset($schema->min
cb800 49 74 65 6d 73 29 20 26 26 20 63 6f 75 6e 74 28 24 76 61 6c 75 65 29 20 3c 20 24 73 63 68 65 6d Items).&&.count($value).<.$schem
cb820 61 2d 3e 6d 69 6e 49 74 65 6d 73 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 a->minItems).{.$this->addError($
cb840 70 61 74 68 2c 20 22 54 68 65 72 65 20 6d 75 73 74 20 62 65 20 61 20 6d 69 6e 69 6d 75 6d 20 6f path,."There.must.be.a.minimum.o
cb860 66 20 22 20 2e 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 49 74 65 6d 73 20 2e 20 22 20 69 6e 20 74 f."...$schema->minItems...".in.t
cb880 68 65 20 61 72 72 61 79 22 29 3b 0a 7d 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d he.array");.}...if.(isset($schem
cb8a0 61 2d 3e 6d 61 78 49 74 65 6d 73 29 20 26 26 20 63 6f 75 6e 74 28 24 76 61 6c 75 65 29 20 3e 20 a->maxItems).&&.count($value).>.
cb8c0 24 73 63 68 65 6d 61 2d 3e 6d 61 78 49 74 65 6d 73 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 $schema->maxItems).{.$this->addE
cb8e0 72 72 6f 72 28 24 70 61 74 68 2c 20 22 54 68 65 72 65 20 6d 75 73 74 20 62 65 20 61 20 6d 61 78 rror($path,."There.must.be.a.max
cb900 69 6d 75 6d 20 6f 66 20 22 20 2e 20 24 73 63 68 65 6d 61 2d 3e 6d 61 78 49 74 65 6d 73 20 2e 20 imum.of."...$schema->maxItems...
cb920 22 20 69 6e 20 74 68 65 20 61 72 72 61 79 22 29 3b 0a 7d 0a 0a 20 0a 20 69 66 20 28 69 73 73 65 ".in.the.array");.}.....if.(isse
cb940 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 61 72 72 61 79 t($schema->uniqueItems).&&.array
cb960 5f 75 6e 69 71 75 65 28 24 76 61 6c 75 65 29 20 21 3d 20 24 76 61 6c 75 65 29 20 7b 0a 24 74 68 _unique($value).!=.$value).{.$th
cb980 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 22 54 68 65 72 65 20 61 72 65 20 6e is->addError($path,."There.are.n
cb9a0 6f 20 64 75 70 6c 69 63 61 74 65 73 20 61 6c 6c 6f 77 65 64 20 69 6e 20 74 68 65 20 61 72 72 61 o.duplicates.allowed.in.the.arra
cb9c0 79 22 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 69 74 65 y");.}....if.(isset($schema->ite
cb9e0 6d 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 49 74 65 6d 73 28 24 76 61 6c ms)).{.$this->validateItems($val
cba00 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 0a 0a 0a ue,.$schema,.$path,.$i);.}.}....
cba20 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 64 61 74 ......protected.function.validat
cba40 65 49 74 65 6d 73 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 24 eItems($value,.$schema.=.null,.$
cba60 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 66 20 28 21 69 path.=.null,.$i.=.null).{.if.(!i
cba80 73 5f 61 72 72 61 79 28 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 29 29 20 7b 0a 0a 20 66 6f 72 s_array($schema->items)).{...for
cbaa0 65 61 63 68 20 28 24 76 61 6c 75 65 20 61 73 20 24 6b 20 3d 3e 20 24 76 29 20 7b 0a 24 69 6e 69 each.($value.as.$k.=>.$v).{.$ini
cbac0 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 0a 0a tErrors.=.$this->getErrors();...
cbae0 20 69 66 20 28 21 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 49 .if.(!isset($schema->additionalI
cbb00 74 65 6d 73 29 20 7c 7c 20 24 73 63 68 65 6d 61 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 49 74 65 6d tems).||.$schema->additionalItem
cbb20 73 20 3d 3d 3d 20 66 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 s.===.false).{.$this->checkUndef
cbb40 69 6e 65 64 28 24 76 2c 20 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 2c 20 24 70 61 74 68 2c 20 ined($v,.$schema->items,.$path,.
cbb60 24 6b 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 63 6f 75 6e 74 28 24 69 6e 69 74 45 72 72 6f 72 73 29 $k);.}....if.(count($initErrors)
cbb80 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 29 29 20 26 26 20 .<.count($this->getErrors()).&&.
cbba0 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 49 74 65 6d 73 29 (isset($schema->additionalItems)
cbbc0 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 6d 73 20 21 3d 3d .&&.$schema->additionalItems.!==
cbbe0 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 20 24 74 68 69 73 .false)).{.$secondErrors.=.$this
cbc00 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 64 65 66 ->getErrors();.$this->checkUndef
cbc20 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 61 6c 49 74 65 6d ined($v,.$schema->additionalItem
cbc40 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 73 65 74 28 24 73 s,.$path,.$k);.}....if.(isset($s
cbc60 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 6f 6e 64 45 72 72 econdErrors).&&.count($secondErr
cbc80 6f 72 73 29 20 3c 20 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 20 7b 0a 24 74 68 ors).<.$this->getErrors()).{.$th
cbca0 69 73 2d 3e 65 72 72 6f 72 73 20 3d 20 24 73 65 63 6f 6e 64 45 72 72 6f 72 73 3b 0a 7d 20 65 6c is->errors.=.$secondErrors;.}.el
cbcc0 73 65 69 66 20 28 69 73 73 65 74 28 24 73 65 63 6f 6e 64 45 72 72 6f 72 73 29 20 26 26 20 63 6f seif.(isset($secondErrors).&&.co
cbce0 75 6e 74 28 24 73 65 63 6f 6e 64 45 72 72 6f 72 73 29 20 3d 3d 20 63 6f 75 6e 74 28 24 74 68 69 unt($secondErrors).==.count($thi
cbd00 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 s->getErrors())).{.$this->errors
cbd20 20 3d 20 24 69 6e 69 74 45 72 72 6f 72 73 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 66 .=.$initErrors;.}.}.}.else.{...f
cbd40 6f 72 65 61 63 68 20 28 24 76 61 6c 75 65 20 61 73 20 24 6b 20 3d 3e 20 24 76 29 20 7b 0a 69 66 oreach.($value.as.$k.=>.$v).{.if
cbd60 20 28 61 72 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 .(array_key_exists($k,.$schema->
cbd80 69 74 65 6d 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 items)).{.$this->checkUndefined(
cbda0 24 76 2c 20 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 $v,.$schema->items[$k],.$path,.$
cbdc0 6b 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 69 66 20 28 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 k);.}.else.{...if.(array_key_exi
cbde0 73 74 73 28 27 61 64 64 69 74 69 6f 6e 61 6c 49 74 65 6d 73 27 2c 20 24 73 63 68 65 6d 61 29 20 sts('additionalItems',.$schema).
cbe00 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 6d 73 20 21 3d 3d 20 &&.$schema->additionalItems.!==.
cbe20 66 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 false).{.$this->checkUndefined($
cbe40 76 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 v,.$schema->additionalItems,.$pa
cbe60 74 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 th,.$k);.}.else.{.$this->addErro
cbe80 72 28 0a 24 70 61 74 68 2c 0a 27 54 68 65 20 69 74 65 6d 20 27 20 2e 20 24 69 20 2e 20 27 5b 27 r(.$path,.'The.item.'...$i...'['
cbea0 20 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 69 6e 20 74 68 65 ...$k...'].is.not.defined.in.the
cbec0 20 6f 62 6a 54 79 70 65 44 65 66 20 61 6e 64 20 74 68 65 20 6f 62 6a 54 79 70 65 44 65 66 20 64 .objTypeDef.and.the.objTypeDef.d
cbee0 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 74 oes.not.allow.additional.propert
cbf00 69 65 73 27 0a 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 66 6f 72 20 28 24 6b 20 3d 20 63 6f 75 6e 74 ies'.);.}.}.}....for.($k.=.count
cbf20 28 24 76 61 6c 75 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 ($value);.$k.<.count($schema->it
cbf40 65 6d 73 29 3b 20 24 6b 2b 2b 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 ems);.$k++).{.$this->checkUndefi
cbf60 6e 65 64 28 6e 65 77 20 55 6e 64 65 66 69 6e 65 64 28 29 2c 20 24 73 63 68 65 6d 61 2d 3e 69 74 ned(new.Undefined(),.$schema->it
cbf80 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 3c 3f 70 68 ems[$k],.$path,.$k);.}.}.}.}<?ph
cbfa0 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 6e 73 74 72 61 69 p..namespace.JsonSchema\Constrai
cbfc0 6e 74 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 6e 75 6d 20 65 78 74 65 6e 64 73 20 43 nts;........class.Enum.extends.C
cbfe0 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 6f 6e 20 63 onstraint.{....public.function.c
cc000 68 65 63 6b 28 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 24 heck($element,.$schema.=.null,.$
cc020 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 66 6f 72 65 61 63 path.=.null,.$i.=.null).{.foreac
cc040 68 20 28 24 73 63 68 65 6d 61 2d 3e 65 6e 75 6d 20 61 73 20 24 70 6f 73 73 69 62 6c 65 56 61 6c h.($schema->enum.as.$possibleVal
cc060 75 65 29 20 7b 0a 69 66 20 28 24 70 6f 73 73 69 62 6c 65 56 61 6c 75 65 20 3d 3d 20 24 65 6c 65 ue).{.if.($possibleValue.==.$ele
cc080 6d 65 6e 74 29 20 7b 0a 24 66 6f 75 6e 64 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 7d 0a ment).{.$found.=.true;.break;.}.
cc0a0 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 66 6f 75 6e 64 29 29 20 7b 0a 24 74 68 69 73 2d 3e }..if.(!isset($found)).{.$this->
cc0c0 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 22 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 61 addError($path,."does.not.have.a
cc0e0 20 76 61 6c 75 65 20 69 6e 20 74 68 65 20 65 6e 75 6d 65 72 61 74 69 6f 6e 20 22 20 2e 20 69 6d .value.in.the.enumeration."...im
cc100 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 73 63 68 65 6d 61 2d 3e 65 6e 75 6d 29 29 3b 0a 7d 0a 7d plode(',.',.$schema->enum));.}.}
cc120 0a 7d 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
cc140 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 74 72 69 6e 67 20 65 nstraints;........class.String.e
cc160 78 74 65 6e 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 xtends.Constraint.{....public.fu
cc180 6e 63 74 69 6f 6e 20 63 68 65 63 6b 28 24 65 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 6d 61 20 3d nction.check($element,.$schema.=
cc1a0 20 6e 75 6c 6c 2c 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 .null,.$path.=.null,.$i.=.null).
cc1c0 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 67 74 68 {...if.(isset($schema->maxLength
cc1e0 29 20 26 26 20 73 74 72 6c 65 6e 28 24 65 6c 65 6d 65 6e 74 29 20 3e 20 24 73 63 68 65 6d 61 2d ).&&.strlen($element).>.$schema-
cc200 3e 6d 61 78 4c 65 6e 67 74 68 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 >maxLength).{.$this->addError($p
cc220 61 74 68 2c 20 22 6d 75 73 74 20 62 65 20 61 74 20 6d 6f 73 74 20 22 20 2e 20 24 73 63 68 65 6d ath,."must.be.at.most."...$schem
cc240 61 2d 3e 6d 61 78 4c 65 6e 67 74 68 20 2e 20 22 20 63 68 61 72 61 63 74 65 72 73 20 6c 6f 6e 67 a->maxLength...".characters.long
cc260 22 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 6d 69 6e 4c ");.}....if.(isset($schema->minL
cc280 65 6e 67 74 68 29 20 26 26 20 73 74 72 6c 65 6e 28 24 65 6c 65 6d 65 6e 74 29 20 3c 20 24 73 63 ength).&&.strlen($element).<.$sc
cc2a0 68 65 6d 61 2d 3e 6d 69 6e 4c 65 6e 67 74 68 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 hema->minLength).{.$this->addErr
cc2c0 6f 72 28 24 70 61 74 68 2c 20 22 6d 75 73 74 20 62 65 20 61 74 20 6c 65 61 73 74 20 22 20 2e 20 or($path,."must.be.at.least."...
cc2e0 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 4c 65 6e 67 74 68 20 2e 20 22 20 63 68 61 72 61 63 74 65 72 $schema->minLength...".character
cc300 73 20 6c 6f 6e 67 22 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 s.long");.}....if.(isset($schema
cc320 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 2f 27 20 2e 20 ->pattern).&&.!preg_match('/'...
cc340 24 73 63 68 65 6d 61 2d 3e 70 61 74 74 65 72 6e 20 2e 20 27 2f 27 2c 20 24 65 6c 65 6d 65 6e 74 $schema->pattern...'/',.$element
cc360 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 22 64 6f 65 )).{.$this->addError($path,."doe
cc380 73 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 22 20 s.not.match.the.regex.pattern.".
cc3a0 2e 20 24 73 63 68 65 6d 61 2d 3e 70 61 74 74 65 72 6e 29 3b 0a 7d 0a 7d 0a 7d 3c 3f 70 68 70 0a ..$schema->pattern);.}.}.}<?php.
cc3c0 0a 6e 61 6d 65 73 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 .namespace.JsonSchema;..use.Json
cc3e0 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 3b 0a 75 73 65 20 4a Schema\Constraints\Schema;.use.J
cc400 73 6f 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 sonSchema\Constraints\Constraint
cc420 3b 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 ;.........class.Validator.extend
cc440 73 20 43 6f 6e 73 74 72 61 69 6e 74 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 66 75 6e 63 74 69 6f 6e 20 63 s.Constraint.{........function.c
cc460 68 65 63 6b 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 24 70 61 heck($value,.$schema.=.null,.$pa
cc480 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 64 61 74 th.=.null,.$i.=.null).{.$validat
cc4a0 6f 72 20 3d 20 6e 65 77 20 53 63 68 65 6d 61 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 4d 6f 64 65 or.=.new.Schema($this->checkMode
cc4c0 29 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 73 63 );.$validator->check($value,.$sc
cc4e0 68 65 6d 61 29 3b 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 hema);.$this->addErrors($validat
cc500 6f 72 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 3b 0a 7d 0a 7d 3c 3f 70 68 70 0a 0a 0a 0a 72 65 or->getErrors());.}.}<?php....re
cc520 71 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 27 quire_once.__DIR__...'/composer'
cc540 20 2e 20 27 2f 61 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 ...'/autoload_real.php';..return
cc560 20 43 6f 6d 70 6f 73 65 72 41 75 74 6f 6c 6f 61 64 65 72 49 6e 69 74 30 38 62 39 31 39 30 31 35 .ComposerAutoloaderInit08b919015
cc580 61 64 31 62 30 38 37 38 30 38 64 63 31 32 65 64 33 63 34 64 39 31 39 3a 3a 67 65 74 4c 6f 61 64 ad1b087808dc12ed3c4d919::getLoad
cc5a0 65 72 28 29 3b 0a 3c 3f 70 68 70 0a 0a 0a 0a 24 76 65 6e 64 6f 72 44 69 72 20 3d 20 64 69 72 6e er();.<?php....$vendorDir.=.dirn
cc5c0 61 6d 65 28 64 69 72 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 29 3b 0a 24 62 61 73 65 44 69 72 ame(dirname(__FILE__));.$baseDir
cc5e0 20 3d 20 64 69 72 6e 61 6d 65 28 24 76 65 6e 64 6f 72 44 69 72 29 3b 0a 0a 72 65 74 75 72 6e 20 .=.dirname($vendorDir);..return.
cc600 61 72 72 61 79 28 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 59 61 6d 6c array(.'Symfony\\Component\\Yaml
cc620 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 2f 73 79 6d 66 \\'.=>.array($vendorDir...'/symf
cc640 6f 6e 79 2f 79 61 6d 6c 27 29 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c ony/yaml'),.'Symfony\\Component\
cc660 5c 50 72 6f 63 65 73 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 \Process\\'.=>.array($vendorDir.
cc680 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 27 29 2c 0a 27 53 79 6d 66 6f 6e 79 5c ..'/symfony/process'),.'Symfony\
cc6a0 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 46 69 6e 64 65 72 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 \Component\\Finder\\'.=>.array($
cc6c0 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 27 29 2c 0a vendorDir...'/symfony/finder'),.
cc6e0 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\\'.
cc700 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 79 2f =>.array($vendorDir...'/symfony/
cc720 63 6f 6e 73 6f 6c 65 27 29 2c 0a 27 53 65 6c 64 5c 5c 4a 73 6f 6e 4c 69 6e 74 27 20 3d 3e 20 61 console'),.'Seld\\JsonLint'.=>.a
cc740 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 65 6c 64 2f 6a 73 6f 6e 6c 69 6e rray($vendorDir...'/seld/jsonlin
cc760 74 2f 73 72 63 27 29 2c 0a 27 4a 73 6f 6e 53 63 68 65 6d 61 27 20 3d 3e 20 61 72 72 61 79 28 24 t/src'),.'JsonSchema'.=>.array($
cc780 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e vendorDir...'/justinrainbow/json
cc7a0 2d 73 63 68 65 6d 61 2f 73 72 63 27 29 2c 0a 27 43 6f 6d 70 6f 73 65 72 27 20 3d 3e 20 61 72 72 -schema/src'),.'Composer'.=>.arr
cc7c0 61 79 28 24 62 61 73 65 44 69 72 20 2e 20 27 2f 73 72 63 27 29 2c 0a 29 3b 0a 3c 3f 70 68 70 0a ay($baseDir...'/src'),.);.<?php.
cc7e0 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(
cc800 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($
cc820 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 46 69 6c 65 vendorDir);..return.array(.'File
cc840 5f 49 74 65 72 61 74 6f 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 _Iterator'.=>.$vendorDir...'/php
cc860 75 6e 69 74 2f 70 68 70 2d 66 69 6c 65 2d 69 74 65 72 61 74 6f 72 2f 46 69 6c 65 2f 49 74 65 72 unit/php-file-iterator/File/Iter
cc880 61 74 6f 72 2e 70 68 70 27 2c 0a 27 46 69 6c 65 5f 49 74 65 72 61 74 6f 72 5f 46 61 63 61 64 65 ator.php',.'File_Iterator_Facade
cc8a0 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d '.=>.$vendorDir...'/phpunit/php-
cc8c0 66 69 6c 65 2d 69 74 65 72 61 74 6f 72 2f 46 69 6c 65 2f 49 74 65 72 61 74 6f 72 2f 46 61 63 61 file-iterator/File/Iterator/Faca
cc8e0 64 65 2e 70 68 70 27 2c 0a 27 46 69 6c 65 5f 49 74 65 72 61 74 6f 72 5f 46 61 63 74 6f 72 79 27 de.php',.'File_Iterator_Factory'
cc900 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 66 .=>.$vendorDir...'/phpunit/php-f
cc920 69 6c 65 2d 69 74 65 72 61 74 6f 72 2f 46 69 6c 65 2f 49 74 65 72 61 74 6f 72 2f 46 61 63 74 6f ile-iterator/File/Iterator/Facto
cc940 72 79 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 45 78 74 65 6e 73 69 6f 6e 73 5f 47 72 6f ry.php',.'PHPUnit_Extensions_Gro
cc960 75 70 54 65 73 74 53 75 69 74 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 upTestSuite'.=>.$vendorDir...'/p
cc980 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 45 78 74 65 6e 73 69 6f 6e hpunit/phpunit/PHPUnit/Extension
cc9a0 73 2f 47 72 6f 75 70 54 65 73 74 53 75 69 74 65 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f s/GroupTestSuite.php',.'PHPUnit_
cc9c0 45 78 74 65 6e 73 69 6f 6e 73 5f 50 68 70 74 54 65 73 74 43 61 73 65 27 20 3d 3e 20 24 76 65 6e Extensions_PhptTestCase'.=>.$ven
cc9e0 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e dorDir...'/phpunit/phpunit/PHPUn
cca00 69 74 2f 45 78 74 65 6e 73 69 6f 6e 73 2f 50 68 70 74 54 65 73 74 43 61 73 65 2e 70 68 70 27 2c it/Extensions/PhptTestCase.php',
cca20 0a 27 50 48 50 55 6e 69 74 5f 45 78 74 65 6e 73 69 6f 6e 73 5f 50 68 70 74 54 65 73 74 43 61 73 .'PHPUnit_Extensions_PhptTestCas
cca40 65 5f 4c 6f 67 67 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 e_Logger'.=>.$vendorDir...'/phpu
cca60 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 45 78 74 65 6e 73 69 6f 6e 73 2f 50 nit/phpunit/PHPUnit/Extensions/P
cca80 68 70 74 54 65 73 74 43 61 73 65 2f 4c 6f 67 67 65 72 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 hptTestCase/Logger.php',.'PHPUni
ccaa0 74 5f 45 78 74 65 6e 73 69 6f 6e 73 5f 50 68 70 74 54 65 73 74 53 75 69 74 65 27 20 3d 3e 20 24 t_Extensions_PhptTestSuite'.=>.$
ccac0 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 vendorDir...'/phpunit/phpunit/PH
ccae0 50 55 6e 69 74 2f 45 78 74 65 6e 73 69 6f 6e 73 2f 50 68 70 74 54 65 73 74 53 75 69 74 65 2e 70 PUnit/Extensions/PhptTestSuite.p
ccb00 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 45 78 74 65 6e 73 69 6f 6e 73 5f 52 65 70 65 61 74 65 hp',.'PHPUnit_Extensions_Repeate
ccb20 64 54 65 73 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 dTest'.=>.$vendorDir...'/phpunit
ccb40 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 45 78 74 65 6e 73 69 6f 6e 73 2f 52 65 70 65 /phpunit/PHPUnit/Extensions/Repe
ccb60 61 74 65 64 54 65 73 74 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 45 78 74 65 6e 73 69 6f atedTest.php',.'PHPUnit_Extensio
ccb80 6e 73 5f 54 65 73 74 44 65 63 6f 72 61 74 6f 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 ns_TestDecorator'.=>.$vendorDir.
ccba0 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 45 78 74 65 ..'/phpunit/phpunit/PHPUnit/Exte
ccbc0 6e 73 69 6f 6e 73 2f 54 65 73 74 44 65 63 6f 72 61 74 6f 72 2e 70 68 70 27 2c 0a 27 50 48 50 55 nsions/TestDecorator.php',.'PHPU
ccbe0 6e 69 74 5f 45 78 74 65 6e 73 69 6f 6e 73 5f 54 69 63 6b 65 74 4c 69 73 74 65 6e 65 72 27 20 3d nit_Extensions_TicketListener'.=
ccc00 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 >.$vendorDir...'/phpunit/phpunit
ccc20 2f 50 48 50 55 6e 69 74 2f 45 78 74 65 6e 73 69 6f 6e 73 2f 54 69 63 6b 65 74 4c 69 73 74 65 6e /PHPUnit/Extensions/TicketListen
ccc40 65 72 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 41 73 73 65 er.php',.'PHPUnit_Framework_Asse
ccc60 72 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 rt'.=>.$vendorDir...'/phpunit/ph
ccc80 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 41 73 73 65 72 74 2e 70 punit/PHPUnit/Framework/Assert.p
ccca0 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 41 73 73 65 72 74 69 6f hp',.'PHPUnit_Framework_Assertio
cccc0 6e 46 61 69 6c 65 64 45 72 72 6f 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f nFailedError'.=>.$vendorDir...'/
ccce0 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 phpunit/phpunit/PHPUnit/Framewor
ccd00 6b 2f 41 73 73 65 72 74 69 6f 6e 46 61 69 6c 65 64 45 72 72 6f 72 2e 70 68 70 27 2c 0a 27 50 48 k/AssertionFailedError.php',.'PH
ccd20 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6d 70 61 72 61 74 6f 72 27 20 3d 3e 20 24 PUnit_Framework_Comparator'.=>.$
ccd40 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 vendorDir...'/phpunit/phpunit/PH
ccd60 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6d 70 61 72 61 74 6f 72 2e 70 68 70 27 2c PUnit/Framework/Comparator.php',
ccd80 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6d 70 61 72 61 74 6f 72 46 61 .'PHPUnit_Framework_ComparatorFa
ccda0 63 74 6f 72 79 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 ctory'.=>.$vendorDir...'/phpunit
ccdc0 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6d 70 61 /phpunit/PHPUnit/Framework/Compa
ccde0 72 61 74 6f 72 46 61 63 74 6f 72 79 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d ratorFactory.php',.'PHPUnit_Fram
cce00 65 77 6f 72 6b 5f 43 6f 6d 70 61 72 61 74 6f 72 5f 41 72 72 61 79 27 20 3d 3e 20 24 76 65 6e 64 ework_Comparator_Array'.=>.$vend
cce20 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 orDir...'/phpunit/phpunit/PHPUni
cce40 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6d 70 61 72 61 74 6f 72 2f 41 72 72 61 79 2e 70 68 70 t/Framework/Comparator/Array.php
cce60 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6d 70 61 72 61 74 6f 72 ',.'PHPUnit_Framework_Comparator
cce80 5f 44 4f 4d 44 6f 63 75 6d 65 6e 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f _DOMDocument'.=>.$vendorDir...'/
ccea0 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 phpunit/phpunit/PHPUnit/Framewor
ccec0 6b 2f 43 6f 6d 70 61 72 61 74 6f 72 2f 44 4f 4d 44 6f 63 75 6d 65 6e 74 2e 70 68 70 27 2c 0a 27 k/Comparator/DOMDocument.php',.'
ccee0 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6d 70 61 72 61 74 6f 72 5f 44 6f 75 PHPUnit_Framework_Comparator_Dou
ccf00 62 6c 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 ble'.=>.$vendorDir...'/phpunit/p
ccf20 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6d 70 61 72 61 hpunit/PHPUnit/Framework/Compara
ccf40 74 6f 72 2f 44 6f 75 62 6c 65 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 tor/Double.php',.'PHPUnit_Framew
ccf60 6f 72 6b 5f 43 6f 6d 70 61 72 61 74 6f 72 5f 45 78 63 65 70 74 69 6f 6e 27 20 3d 3e 20 24 76 65 ork_Comparator_Exception'.=>.$ve
ccf80 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 ndorDir...'/phpunit/phpunit/PHPU
ccfa0 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6d 70 61 72 61 74 6f 72 2f 45 78 63 65 70 74 69 nit/Framework/Comparator/Excepti
ccfc0 6f 6e 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6d 70 on.php',.'PHPUnit_Framework_Comp
ccfe0 61 72 61 74 6f 72 5f 4d 6f 63 6b 4f 62 6a 65 63 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 arator_MockObject'.=>.$vendorDir
cd000 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 ...'/phpunit/phpunit/PHPUnit/Fra
cd020 6d 65 77 6f 72 6b 2f 43 6f 6d 70 61 72 61 74 6f 72 2f 4d 6f 63 6b 4f 62 6a 65 63 74 2e 70 68 70 mework/Comparator/MockObject.php
cd040 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6d 70 61 72 61 74 6f 72 ',.'PHPUnit_Framework_Comparator
cd060 5f 4e 75 6d 65 72 69 63 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 _Numeric'.=>.$vendorDir...'/phpu
cd080 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f nit/phpunit/PHPUnit/Framework/Co
cd0a0 6d 70 61 72 61 74 6f 72 2f 4e 75 6d 65 72 69 63 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f mparator/Numeric.php',.'PHPUnit_
cd0c0 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6d 70 61 72 61 74 6f 72 5f 4f 62 6a 65 63 74 27 20 3d 3e 20 Framework_Comparator_Object'.=>.
cd0e0 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 $vendorDir...'/phpunit/phpunit/P
cd100 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6d 70 61 72 61 74 6f 72 2f 4f 62 6a 65 HPUnit/Framework/Comparator/Obje
cd120 63 74 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6d 70 ct.php',.'PHPUnit_Framework_Comp
cd140 61 72 61 74 6f 72 5f 52 65 73 6f 75 72 63 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e arator_Resource'.=>.$vendorDir..
cd160 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 .'/phpunit/phpunit/PHPUnit/Frame
cd180 77 6f 72 6b 2f 43 6f 6d 70 61 72 61 74 6f 72 2f 52 65 73 6f 75 72 63 65 2e 70 68 70 27 2c 0a 27 work/Comparator/Resource.php',.'
cd1a0 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6d 70 61 72 61 74 6f 72 5f 53 63 61 PHPUnit_Framework_Comparator_Sca
cd1c0 6c 61 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 lar'.=>.$vendorDir...'/phpunit/p
cd1e0 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6d 70 61 72 61 hpunit/PHPUnit/Framework/Compara
cd200 74 6f 72 2f 53 63 61 6c 61 72 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 tor/Scalar.php',.'PHPUnit_Framew
cd220 6f 72 6b 5f 43 6f 6d 70 61 72 61 74 6f 72 5f 53 70 6c 4f 62 6a 65 63 74 53 74 6f 72 61 67 65 27 ork_Comparator_SplObjectStorage'
cd240 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e .=>.$vendorDir...'/phpunit/phpun
cd260 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6d 70 61 72 61 74 6f 72 2f it/PHPUnit/Framework/Comparator/
cd280 53 70 6c 4f 62 6a 65 63 74 53 74 6f 72 61 67 65 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f SplObjectStorage.php',.'PHPUnit_
cd2a0 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6d 70 61 72 61 74 6f 72 5f 54 79 70 65 27 20 3d 3e 20 24 76 Framework_Comparator_Type'.=>.$v
cd2c0 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 endorDir...'/phpunit/phpunit/PHP
cd2e0 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6d 70 61 72 61 74 6f 72 2f 54 79 70 65 2e 70 Unit/Framework/Comparator/Type.p
cd300 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6d 70 61 72 69 73 hp',.'PHPUnit_Framework_Comparis
cd320 6f 6e 46 61 69 6c 75 72 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 onFailure'.=>.$vendorDir...'/php
cd340 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 unit/phpunit/PHPUnit/Framework/C
cd360 6f 6d 70 61 72 69 73 6f 6e 46 61 69 6c 75 72 65 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f omparisonFailure.php',.'PHPUnit_
cd380 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6e 73 74 72 61 69 6e 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 Framework_Constraint'.=>.$vendor
cd3a0 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f Dir...'/phpunit/phpunit/PHPUnit/
cd3c0 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 27 2c 0a 27 50 48 50 55 Framework/Constraint.php',.'PHPU
cd3e0 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6e 73 74 72 61 69 6e 74 5f 41 6e 64 27 20 3d 3e nit_Framework_Constraint_And'.=>
cd400 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f .$vendorDir...'/phpunit/phpunit/
cd420 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6e 73 74 72 61 69 6e 74 2f 41 6e 64 PHPUnit/Framework/Constraint/And
cd440 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6e 73 74 72 .php',.'PHPUnit_Framework_Constr
cd460 61 69 6e 74 5f 41 72 72 61 79 48 61 73 4b 65 79 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 aint_ArrayHasKey'.=>.$vendorDir.
cd480 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d ..'/phpunit/phpunit/PHPUnit/Fram
cd4a0 65 77 6f 72 6b 2f 43 6f 6e 73 74 72 61 69 6e 74 2f 41 72 72 61 79 48 61 73 4b 65 79 2e 70 68 70 ework/Constraint/ArrayHasKey.php
cd4c0 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6e 73 74 72 61 69 6e 74 ',.'PHPUnit_Framework_Constraint
cd4e0 5f 41 74 74 72 69 62 75 74 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 _Attribute'.=>.$vendorDir...'/ph
cd500 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f punit/phpunit/PHPUnit/Framework/
cd520 43 6f 6e 73 74 72 61 69 6e 74 2f 41 74 74 72 69 62 75 74 65 2e 70 68 70 27 2c 0a 27 50 48 50 55 Constraint/Attribute.php',.'PHPU
cd540 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6e 73 74 72 61 69 6e 74 5f 43 61 6c 6c 62 61 63 nit_Framework_Constraint_Callbac
cd560 6b 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 k'.=>.$vendorDir...'/phpunit/php
cd580 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6e 73 74 72 61 69 6e unit/PHPUnit/Framework/Constrain
cd5a0 74 2f 43 61 6c 6c 62 61 63 6b 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 t/Callback.php',.'PHPUnit_Framew
cd5c0 6f 72 6b 5f 43 6f 6e 73 74 72 61 69 6e 74 5f 43 6c 61 73 73 48 61 73 41 74 74 72 69 62 75 74 65 ork_Constraint_ClassHasAttribute
cd5e0 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 '.=>.$vendorDir...'/phpunit/phpu
cd600 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6e 73 74 72 61 69 6e 74 nit/PHPUnit/Framework/Constraint
cd620 2f 43 6c 61 73 73 48 61 73 41 74 74 72 69 62 75 74 65 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 /ClassHasAttribute.php',.'PHPUni
cd640 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6e 73 74 72 61 69 6e 74 5f 43 6c 61 73 73 48 61 73 53 t_Framework_Constraint_ClassHasS
cd660 74 61 74 69 63 41 74 74 72 69 62 75 74 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 taticAttribute'.=>.$vendorDir...
cd680 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 '/phpunit/phpunit/PHPUnit/Framew
cd6a0 6f 72 6b 2f 43 6f 6e 73 74 72 61 69 6e 74 2f 43 6c 61 73 73 48 61 73 53 74 61 74 69 63 41 74 74 ork/Constraint/ClassHasStaticAtt
cd6c0 72 69 62 75 74 65 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f ribute.php',.'PHPUnit_Framework_
cd6e0 43 6f 6e 73 74 72 61 69 6e 74 5f 43 6f 6d 70 6f 73 69 74 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 Constraint_Composite'.=>.$vendor
cd700 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f Dir...'/phpunit/phpunit/PHPUnit/
cd720 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6e 73 74 72 61 69 6e 74 2f 43 6f 6d 70 6f 73 69 74 65 2e 70 Framework/Constraint/Composite.p
cd740 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6e 73 74 72 61 69 hp',.'PHPUnit_Framework_Constrai
cd760 6e 74 5f 43 6f 75 6e 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 nt_Count'.=>.$vendorDir...'/phpu
cd780 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f nit/phpunit/PHPUnit/Framework/Co
cd7a0 6e 73 74 72 61 69 6e 74 2f 43 6f 75 6e 74 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 nstraint/Count.php',.'PHPUnit_Fr
cd7c0 61 6d 65 77 6f 72 6b 5f 43 6f 6e 73 74 72 61 69 6e 74 5f 45 78 63 65 70 74 69 6f 6e 27 20 3d 3e amework_Constraint_Exception'.=>
cd7e0 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f .$vendorDir...'/phpunit/phpunit/
cd800 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6e 73 74 72 61 69 6e 74 2f 45 78 63 PHPUnit/Framework/Constraint/Exc
cd820 65 70 74 69 6f 6e 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f eption.php',.'PHPUnit_Framework_
cd840 43 6f 6e 73 74 72 61 69 6e 74 5f 45 78 63 65 70 74 69 6f 6e 43 6f 64 65 27 20 3d 3e 20 24 76 65 Constraint_ExceptionCode'.=>.$ve
cd860 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 ndorDir...'/phpunit/phpunit/PHPU
cd880 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6e 73 74 72 61 69 6e 74 2f 45 78 63 65 70 74 69 nit/Framework/Constraint/Excepti
cd8a0 6f 6e 43 6f 64 65 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f onCode.php',.'PHPUnit_Framework_
cd8c0 43 6f 6e 73 74 72 61 69 6e 74 5f 45 78 63 65 70 74 69 6f 6e 4d 65 73 73 61 67 65 27 20 3d 3e 20 Constraint_ExceptionMessage'.=>.
cd8e0 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 $vendorDir...'/phpunit/phpunit/P
cd900 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6e 73 74 72 61 69 6e 74 2f 45 78 63 65 HPUnit/Framework/Constraint/Exce
cd920 70 74 69 6f 6e 4d 65 73 73 61 67 65 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d ptionMessage.php',.'PHPUnit_Fram
cd940 65 77 6f 72 6b 5f 43 6f 6e 73 74 72 61 69 6e 74 5f 46 69 6c 65 45 78 69 73 74 73 27 20 3d 3e 20 ework_Constraint_FileExists'.=>.
cd960 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 $vendorDir...'/phpunit/phpunit/P
cd980 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6e 73 74 72 61 69 6e 74 2f 46 69 6c 65 HPUnit/Framework/Constraint/File
cd9a0 45 78 69 73 74 73 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f Exists.php',.'PHPUnit_Framework_
cd9c0 43 6f 6e 73 74 72 61 69 6e 74 5f 47 72 65 61 74 65 72 54 68 61 6e 27 20 3d 3e 20 24 76 65 6e 64 Constraint_GreaterThan'.=>.$vend
cd9e0 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 orDir...'/phpunit/phpunit/PHPUni
cda00 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6e 73 74 72 61 69 6e 74 2f 47 72 65 61 74 65 72 54 68 t/Framework/Constraint/GreaterTh
cda20 61 6e 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6e 73 an.php',.'PHPUnit_Framework_Cons
cda40 74 72 61 69 6e 74 5f 49 73 41 6e 79 74 68 69 6e 67 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 traint_IsAnything'.=>.$vendorDir
cda60 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 ...'/phpunit/phpunit/PHPUnit/Fra
cda80 6d 65 77 6f 72 6b 2f 43 6f 6e 73 74 72 61 69 6e 74 2f 49 73 41 6e 79 74 68 69 6e 67 2e 70 68 70 mework/Constraint/IsAnything.php
cdaa0 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6e 73 74 72 61 69 6e 74 ',.'PHPUnit_Framework_Constraint
cdac0 5f 49 73 45 6d 70 74 79 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 _IsEmpty'.=>.$vendorDir...'/phpu
cdae0 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f nit/phpunit/PHPUnit/Framework/Co
cdb00 6e 73 74 72 61 69 6e 74 2f 49 73 45 6d 70 74 79 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f nstraint/IsEmpty.php',.'PHPUnit_
cdb20 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6e 73 74 72 61 69 6e 74 5f 49 73 45 71 75 61 6c 27 20 3d 3e Framework_Constraint_IsEqual'.=>
cdb40 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f .$vendorDir...'/phpunit/phpunit/
cdb60 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6e 73 74 72 61 69 6e 74 2f 49 73 45 PHPUnit/Framework/Constraint/IsE
cdb80 71 75 61 6c 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f qual.php',.'PHPUnit_Framework_Co
cdba0 6e 73 74 72 61 69 6e 74 5f 49 73 46 61 6c 73 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 nstraint_IsFalse'.=>.$vendorDir.
cdbc0 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d ..'/phpunit/phpunit/PHPUnit/Fram
cdbe0 65 77 6f 72 6b 2f 43 6f 6e 73 74 72 61 69 6e 74 2f 49 73 46 61 6c 73 65 2e 70 68 70 27 2c 0a 27 ework/Constraint/IsFalse.php',.'
cdc00 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6e 73 74 72 61 69 6e 74 5f 49 73 49 PHPUnit_Framework_Constraint_IsI
cdc20 64 65 6e 74 69 63 61 6c 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 dentical'.=>.$vendorDir...'/phpu
cdc40 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f nit/phpunit/PHPUnit/Framework/Co
cdc60 6e 73 74 72 61 69 6e 74 2f 49 73 49 64 65 6e 74 69 63 61 6c 2e 70 68 70 27 2c 0a 27 50 48 50 55 nstraint/IsIdentical.php',.'PHPU
cdc80 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6e 73 74 72 61 69 6e 74 5f 49 73 49 6e 73 74 61 nit_Framework_Constraint_IsInsta
cdca0 6e 63 65 4f 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 nceOf'.=>.$vendorDir...'/phpunit
cdcc0 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6e 73 74 /phpunit/PHPUnit/Framework/Const
cdce0 72 61 69 6e 74 2f 49 73 49 6e 73 74 61 6e 63 65 4f 66 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 raint/IsInstanceOf.php',.'PHPUni
cdd00 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6e 73 74 72 61 69 6e 74 5f 49 73 4e 75 6c 6c 27 20 3d t_Framework_Constraint_IsNull'.=
cdd20 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 >.$vendorDir...'/phpunit/phpunit
cdd40 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6e 73 74 72 61 69 6e 74 2f 49 73 /PHPUnit/Framework/Constraint/Is
cdd60 4e 75 6c 6c 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f Null.php',.'PHPUnit_Framework_Co
cdd80 6e 73 74 72 61 69 6e 74 5f 49 73 54 72 75 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e nstraint_IsTrue'.=>.$vendorDir..
cdda0 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 .'/phpunit/phpunit/PHPUnit/Frame
cddc0 77 6f 72 6b 2f 43 6f 6e 73 74 72 61 69 6e 74 2f 49 73 54 72 75 65 2e 70 68 70 27 2c 0a 27 50 48 work/Constraint/IsTrue.php',.'PH
cdde0 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6e 73 74 72 61 69 6e 74 5f 49 73 54 79 70 PUnit_Framework_Constraint_IsTyp
cde00 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 e'.=>.$vendorDir...'/phpunit/php
cde20 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6e 73 74 72 61 69 6e unit/PHPUnit/Framework/Constrain
cde40 74 2f 49 73 54 79 70 65 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 t/IsType.php',.'PHPUnit_Framewor
cde60 6b 5f 43 6f 6e 73 74 72 61 69 6e 74 5f 4a 73 6f 6e 4d 61 74 63 68 65 73 27 20 3d 3e 20 24 76 65 k_Constraint_JsonMatches'.=>.$ve
cde80 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 ndorDir...'/phpunit/phpunit/PHPU
cdea0 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6e 73 74 72 61 69 6e 74 2f 4a 73 6f 6e 4d 61 74 nit/Framework/Constraint/JsonMat
cdec0 63 68 65 73 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f ches.php',.'PHPUnit_Framework_Co
cdee0 6e 73 74 72 61 69 6e 74 5f 4a 73 6f 6e 4d 61 74 63 68 65 73 5f 45 72 72 6f 72 4d 65 73 73 61 67 nstraint_JsonMatches_ErrorMessag
cdf00 65 50 72 6f 76 69 64 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 eProvider'.=>.$vendorDir...'/php
cdf20 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 unit/phpunit/PHPUnit/Framework/C
cdf40 6f 6e 73 74 72 61 69 6e 74 2f 4a 73 6f 6e 4d 61 74 63 68 65 73 2f 45 72 72 6f 72 4d 65 73 73 61 onstraint/JsonMatches/ErrorMessa
cdf60 67 65 50 72 6f 76 69 64 65 72 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 geProvider.php',.'PHPUnit_Framew
cdf80 6f 72 6b 5f 43 6f 6e 73 74 72 61 69 6e 74 5f 4c 65 73 73 54 68 61 6e 27 20 3d 3e 20 24 76 65 6e ork_Constraint_LessThan'.=>.$ven
cdfa0 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e dorDir...'/phpunit/phpunit/PHPUn
cdfc0 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6e 73 74 72 61 69 6e 74 2f 4c 65 73 73 54 68 61 6e it/Framework/Constraint/LessThan
cdfe0 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6e 73 74 72 .php',.'PHPUnit_Framework_Constr
ce000 61 69 6e 74 5f 4e 6f 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 aint_Not'.=>.$vendorDir...'/phpu
ce020 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f nit/phpunit/PHPUnit/Framework/Co
ce040 6e 73 74 72 61 69 6e 74 2f 4e 6f 74 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d nstraint/Not.php',.'PHPUnit_Fram
ce060 65 77 6f 72 6b 5f 43 6f 6e 73 74 72 61 69 6e 74 5f 4f 62 6a 65 63 74 48 61 73 41 74 74 72 69 62 ework_Constraint_ObjectHasAttrib
ce080 75 74 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 ute'.=>.$vendorDir...'/phpunit/p
ce0a0 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6e 73 74 72 61 hpunit/PHPUnit/Framework/Constra
ce0c0 69 6e 74 2f 4f 62 6a 65 63 74 48 61 73 41 74 74 72 69 62 75 74 65 2e 70 68 70 27 2c 0a 27 50 48 int/ObjectHasAttribute.php',.'PH
ce0e0 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6e 73 74 72 61 69 6e 74 5f 4f 72 27 20 3d PUnit_Framework_Constraint_Or'.=
ce100 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 >.$vendorDir...'/phpunit/phpunit
ce120 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6e 73 74 72 61 69 6e 74 2f 4f 72 /PHPUnit/Framework/Constraint/Or
ce140 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6e 73 74 72 .php',.'PHPUnit_Framework_Constr
ce160 61 69 6e 74 5f 50 43 52 45 4d 61 74 63 68 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 aint_PCREMatch'.=>.$vendorDir...
ce180 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 '/phpunit/phpunit/PHPUnit/Framew
ce1a0 6f 72 6b 2f 43 6f 6e 73 74 72 61 69 6e 74 2f 50 43 52 45 4d 61 74 63 68 2e 70 68 70 27 2c 0a 27 ork/Constraint/PCREMatch.php',.'
ce1c0 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6e 73 74 72 61 69 6e 74 5f 53 61 6d PHPUnit_Framework_Constraint_Sam
ce1e0 65 53 69 7a 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 eSize'.=>.$vendorDir...'/phpunit
ce200 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6e 73 74 /phpunit/PHPUnit/Framework/Const
ce220 72 61 69 6e 74 2f 53 61 6d 65 53 69 7a 65 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 raint/SameSize.php',.'PHPUnit_Fr
ce240 61 6d 65 77 6f 72 6b 5f 43 6f 6e 73 74 72 61 69 6e 74 5f 53 74 72 69 6e 67 43 6f 6e 74 61 69 6e amework_Constraint_StringContain
ce260 73 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 s'.=>.$vendorDir...'/phpunit/php
ce280 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6e 73 74 72 61 69 6e unit/PHPUnit/Framework/Constrain
ce2a0 74 2f 53 74 72 69 6e 67 43 6f 6e 74 61 69 6e 73 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f t/StringContains.php',.'PHPUnit_
ce2c0 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6e 73 74 72 61 69 6e 74 5f 53 74 72 69 6e 67 45 6e 64 73 57 Framework_Constraint_StringEndsW
ce2e0 69 74 68 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 ith'.=>.$vendorDir...'/phpunit/p
ce300 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6e 73 74 72 61 hpunit/PHPUnit/Framework/Constra
ce320 69 6e 74 2f 53 74 72 69 6e 67 45 6e 64 73 57 69 74 68 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 int/StringEndsWith.php',.'PHPUni
ce340 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6e 73 74 72 61 69 6e 74 5f 53 74 72 69 6e 67 4d 61 74 t_Framework_Constraint_StringMat
ce360 63 68 65 73 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f ches'.=>.$vendorDir...'/phpunit/
ce380 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6e 73 74 72 phpunit/PHPUnit/Framework/Constr
ce3a0 61 69 6e 74 2f 53 74 72 69 6e 67 4d 61 74 63 68 65 73 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 aint/StringMatches.php',.'PHPUni
ce3c0 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6e 73 74 72 61 69 6e 74 5f 53 74 72 69 6e 67 53 74 61 t_Framework_Constraint_StringSta
ce3e0 72 74 73 57 69 74 68 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e rtsWith'.=>.$vendorDir...'/phpun
ce400 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6e it/phpunit/PHPUnit/Framework/Con
ce420 73 74 72 61 69 6e 74 2f 53 74 72 69 6e 67 53 74 61 72 74 73 57 69 74 68 2e 70 68 70 27 2c 0a 27 straint/StringStartsWith.php',.'
ce440 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6e 73 74 72 61 69 6e 74 5f 54 72 61 PHPUnit_Framework_Constraint_Tra
ce460 76 65 72 73 61 62 6c 65 43 6f 6e 74 61 69 6e 73 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 versableContains'.=>.$vendorDir.
ce480 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d ..'/phpunit/phpunit/PHPUnit/Fram
ce4a0 65 77 6f 72 6b 2f 43 6f 6e 73 74 72 61 69 6e 74 2f 54 72 61 76 65 72 73 61 62 6c 65 43 6f 6e 74 ework/Constraint/TraversableCont
ce4c0 61 69 6e 73 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f ains.php',.'PHPUnit_Framework_Co
ce4e0 6e 73 74 72 61 69 6e 74 5f 54 72 61 76 65 72 73 61 62 6c 65 43 6f 6e 74 61 69 6e 73 4f 6e 6c 79 nstraint_TraversableContainsOnly
ce500 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 '.=>.$vendorDir...'/phpunit/phpu
ce520 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6e 73 74 72 61 69 6e 74 nit/PHPUnit/Framework/Constraint
ce540 2f 54 72 61 76 65 72 73 61 62 6c 65 43 6f 6e 74 61 69 6e 73 4f 6e 6c 79 2e 70 68 70 27 2c 0a 27 /TraversableContainsOnly.php',.'
ce560 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 43 6f 6e 73 74 72 61 69 6e 74 5f 58 6f 72 PHPUnit_Framework_Constraint_Xor
ce580 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 '.=>.$vendorDir...'/phpunit/phpu
ce5a0 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 43 6f 6e 73 74 72 61 69 6e 74 nit/PHPUnit/Framework/Constraint
ce5c0 2f 58 6f 72 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 45 72 /Xor.php',.'PHPUnit_Framework_Er
ce5e0 72 6f 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 ror'.=>.$vendorDir...'/phpunit/p
ce600 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 45 72 72 6f 72 2e 70 hpunit/PHPUnit/Framework/Error.p
ce620 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 45 72 72 6f 72 5f 44 65 hp',.'PHPUnit_Framework_Error_De
ce640 70 72 65 63 61 74 65 64 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 precated'.=>.$vendorDir...'/phpu
ce660 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 45 72 nit/phpunit/PHPUnit/Framework/Er
ce680 72 6f 72 2f 44 65 70 72 65 63 61 74 65 64 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 ror/Deprecated.php',.'PHPUnit_Fr
ce6a0 61 6d 65 77 6f 72 6b 5f 45 72 72 6f 72 5f 4e 6f 74 69 63 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 amework_Error_Notice'.=>.$vendor
ce6c0 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f Dir...'/phpunit/phpunit/PHPUnit/
ce6e0 46 72 61 6d 65 77 6f 72 6b 2f 45 72 72 6f 72 2f 4e 6f 74 69 63 65 2e 70 68 70 27 2c 0a 27 50 48 Framework/Error/Notice.php',.'PH
ce700 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 45 72 72 6f 72 5f 57 61 72 6e 69 6e 67 27 20 3d PUnit_Framework_Error_Warning'.=
ce720 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 >.$vendorDir...'/phpunit/phpunit
ce740 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 45 72 72 6f 72 2f 57 61 72 6e 69 6e 67 /PHPUnit/Framework/Error/Warning
ce760 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 45 78 63 65 70 74 .php',.'PHPUnit_Framework_Except
ce780 69 6f 6e 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 ion'.=>.$vendorDir...'/phpunit/p
ce7a0 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 45 78 63 65 70 74 69 hpunit/PHPUnit/Framework/Excepti
ce7c0 6f 6e 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 45 78 70 65 on.php',.'PHPUnit_Framework_Expe
ce7e0 63 74 61 74 69 6f 6e 46 61 69 6c 65 64 45 78 63 65 70 74 69 6f 6e 27 20 3d 3e 20 24 76 65 6e 64 ctationFailedException'.=>.$vend
ce800 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 orDir...'/phpunit/phpunit/PHPUni
ce820 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 45 78 70 65 63 74 61 74 69 6f 6e 46 61 69 6c 65 64 45 78 63 t/Framework/ExpectationFailedExc
ce840 65 70 74 69 6f 6e 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f eption.php',.'PHPUnit_Framework_
ce860 49 6e 63 6f 6d 70 6c 65 74 65 54 65 73 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 IncompleteTest'.=>.$vendorDir...
ce880 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 '/phpunit/phpunit/PHPUnit/Framew
ce8a0 6f 72 6b 2f 49 6e 63 6f 6d 70 6c 65 74 65 54 65 73 74 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 ork/IncompleteTest.php',.'PHPUni
ce8c0 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 49 6e 63 6f 6d 70 6c 65 74 65 54 65 73 74 45 72 72 6f 72 27 t_Framework_IncompleteTestError'
ce8e0 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e .=>.$vendorDir...'/phpunit/phpun
ce900 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 49 6e 63 6f 6d 70 6c 65 74 65 54 it/PHPUnit/Framework/IncompleteT
ce920 65 73 74 45 72 72 6f 72 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 estError.php',.'PHPUnit_Framewor
ce940 6b 5f 4d 6f 63 6b 4f 62 6a 65 63 74 5f 42 75 69 6c 64 65 72 5f 49 64 65 6e 74 69 74 79 27 20 3d k_MockObject_Builder_Identity'.=
ce960 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 >.$vendorDir...'/phpunit/phpunit
ce980 2d 6d 6f 63 6b 2d 6f 62 6a 65 63 74 73 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f -mock-objects/PHPUnit/Framework/
ce9a0 4d 6f 63 6b 4f 62 6a 65 63 74 2f 42 75 69 6c 64 65 72 2f 49 64 65 6e 74 69 74 79 2e 70 68 70 27 MockObject/Builder/Identity.php'
ce9c0 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 4d 6f 63 6b 4f 62 6a 65 63 74 5f ,.'PHPUnit_Framework_MockObject_
ce9e0 42 75 69 6c 64 65 72 5f 49 6e 76 6f 63 61 74 69 6f 6e 4d 6f 63 6b 65 72 27 20 3d 3e 20 24 76 65 Builder_InvocationMocker'.=>.$ve
cea00 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2d 6d 6f 63 6b ndorDir...'/phpunit/phpunit-mock
cea20 2d 6f 62 6a 65 63 74 73 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 4d 6f 63 6b 4f -objects/PHPUnit/Framework/MockO
cea40 62 6a 65 63 74 2f 42 75 69 6c 64 65 72 2f 49 6e 76 6f 63 61 74 69 6f 6e 4d 6f 63 6b 65 72 2e 70 bject/Builder/InvocationMocker.p
cea60 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 4d 6f 63 6b 4f 62 6a 65 hp',.'PHPUnit_Framework_MockObje
cea80 63 74 5f 42 75 69 6c 64 65 72 5f 4d 61 74 63 68 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 ct_Builder_Match'.=>.$vendorDir.
ceaa0 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2d 6d 6f 63 6b 2d 6f 62 6a 65 63 74 73 ..'/phpunit/phpunit-mock-objects
ceac0 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 4d 6f 63 6b 4f 62 6a 65 63 74 2f 42 75 /PHPUnit/Framework/MockObject/Bu
ceae0 69 6c 64 65 72 2f 4d 61 74 63 68 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 ilder/Match.php',.'PHPUnit_Frame
ceb00 77 6f 72 6b 5f 4d 6f 63 6b 4f 62 6a 65 63 74 5f 42 75 69 6c 64 65 72 5f 4d 65 74 68 6f 64 4e 61 work_MockObject_Builder_MethodNa
ceb20 6d 65 4d 61 74 63 68 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e meMatch'.=>.$vendorDir...'/phpun
ceb40 69 74 2f 70 68 70 75 6e 69 74 2d 6d 6f 63 6b 2d 6f 62 6a 65 63 74 73 2f 50 48 50 55 6e 69 74 2f it/phpunit-mock-objects/PHPUnit/
ceb60 46 72 61 6d 65 77 6f 72 6b 2f 4d 6f 63 6b 4f 62 6a 65 63 74 2f 42 75 69 6c 64 65 72 2f 4d 65 74 Framework/MockObject/Builder/Met
ceb80 68 6f 64 4e 61 6d 65 4d 61 74 63 68 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d hodNameMatch.php',.'PHPUnit_Fram
ceba0 65 77 6f 72 6b 5f 4d 6f 63 6b 4f 62 6a 65 63 74 5f 42 75 69 6c 64 65 72 5f 4e 61 6d 65 73 70 61 ework_MockObject_Builder_Namespa
cebc0 63 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 ce'.=>.$vendorDir...'/phpunit/ph
cebe0 70 75 6e 69 74 2d 6d 6f 63 6b 2d 6f 62 6a 65 63 74 73 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 punit-mock-objects/PHPUnit/Frame
cec00 77 6f 72 6b 2f 4d 6f 63 6b 4f 62 6a 65 63 74 2f 42 75 69 6c 64 65 72 2f 4e 61 6d 65 73 70 61 63 work/MockObject/Builder/Namespac
cec20 65 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 4d 6f 63 6b 4f e.php',.'PHPUnit_Framework_MockO
cec40 62 6a 65 63 74 5f 42 75 69 6c 64 65 72 5f 50 61 72 61 6d 65 74 65 72 73 4d 61 74 63 68 27 20 3d bject_Builder_ParametersMatch'.=
cec60 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 >.$vendorDir...'/phpunit/phpunit
cec80 2d 6d 6f 63 6b 2d 6f 62 6a 65 63 74 73 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f -mock-objects/PHPUnit/Framework/
ceca0 4d 6f 63 6b 4f 62 6a 65 63 74 2f 42 75 69 6c 64 65 72 2f 50 61 72 61 6d 65 74 65 72 73 4d 61 74 MockObject/Builder/ParametersMat
cecc0 63 68 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 4d 6f 63 6b ch.php',.'PHPUnit_Framework_Mock
cece0 4f 62 6a 65 63 74 5f 42 75 69 6c 64 65 72 5f 53 74 75 62 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 Object_Builder_Stub'.=>.$vendorD
ced00 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2d 6d 6f 63 6b 2d 6f 62 6a 65 ir...'/phpunit/phpunit-mock-obje
ced20 63 74 73 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 4d 6f 63 6b 4f 62 6a 65 63 74 cts/PHPUnit/Framework/MockObject
ced40 2f 42 75 69 6c 64 65 72 2f 53 74 75 62 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 /Builder/Stub.php',.'PHPUnit_Fra
ced60 6d 65 77 6f 72 6b 5f 4d 6f 63 6b 4f 62 6a 65 63 74 5f 47 65 6e 65 72 61 74 6f 72 27 20 3d 3e 20 mework_MockObject_Generator'.=>.
ced80 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2d 6d $vendorDir...'/phpunit/phpunit-m
ceda0 6f 63 6b 2d 6f 62 6a 65 63 74 73 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 4d 6f ock-objects/PHPUnit/Framework/Mo
cedc0 63 6b 4f 62 6a 65 63 74 2f 47 65 6e 65 72 61 74 6f 72 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 ckObject/Generator.php',.'PHPUni
cede0 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 4d 6f 63 6b 4f 62 6a 65 63 74 5f 49 6e 76 6f 63 61 74 69 6f t_Framework_MockObject_Invocatio
cee00 6e 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 n'.=>.$vendorDir...'/phpunit/php
cee20 75 6e 69 74 2d 6d 6f 63 6b 2d 6f 62 6a 65 63 74 73 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 unit-mock-objects/PHPUnit/Framew
cee40 6f 72 6b 2f 4d 6f 63 6b 4f 62 6a 65 63 74 2f 49 6e 76 6f 63 61 74 69 6f 6e 2e 70 68 70 27 2c 0a ork/MockObject/Invocation.php',.
cee60 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 4d 6f 63 6b 4f 62 6a 65 63 74 5f 49 6e 'PHPUnit_Framework_MockObject_In
cee80 76 6f 63 61 74 69 6f 6e 4d 6f 63 6b 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 vocationMocker'.=>.$vendorDir...
ceea0 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2d 6d 6f 63 6b 2d 6f 62 6a 65 63 74 73 2f 50 '/phpunit/phpunit-mock-objects/P
ceec0 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 4d 6f 63 6b 4f 62 6a 65 63 74 2f 49 6e 76 6f HPUnit/Framework/MockObject/Invo
ceee0 63 61 74 69 6f 6e 4d 6f 63 6b 65 72 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d cationMocker.php',.'PHPUnit_Fram
cef00 65 77 6f 72 6b 5f 4d 6f 63 6b 4f 62 6a 65 63 74 5f 49 6e 76 6f 63 61 74 69 6f 6e 5f 4f 62 6a 65 ework_MockObject_Invocation_Obje
cef20 63 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 ct'.=>.$vendorDir...'/phpunit/ph
cef40 70 75 6e 69 74 2d 6d 6f 63 6b 2d 6f 62 6a 65 63 74 73 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 punit-mock-objects/PHPUnit/Frame
cef60 77 6f 72 6b 2f 4d 6f 63 6b 4f 62 6a 65 63 74 2f 49 6e 76 6f 63 61 74 69 6f 6e 2f 4f 62 6a 65 63 work/MockObject/Invocation/Objec
cef80 74 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 4d 6f 63 6b 4f t.php',.'PHPUnit_Framework_MockO
cefa0 62 6a 65 63 74 5f 49 6e 76 6f 63 61 74 69 6f 6e 5f 53 74 61 74 69 63 27 20 3d 3e 20 24 76 65 6e bject_Invocation_Static'.=>.$ven
cefc0 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2d 6d 6f 63 6b 2d dorDir...'/phpunit/phpunit-mock-
cefe0 6f 62 6a 65 63 74 73 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 4d 6f 63 6b 4f 62 objects/PHPUnit/Framework/MockOb
cf000 6a 65 63 74 2f 49 6e 76 6f 63 61 74 69 6f 6e 2f 53 74 61 74 69 63 2e 70 68 70 27 2c 0a 27 50 48 ject/Invocation/Static.php',.'PH
cf020 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 4d 6f 63 6b 4f 62 6a 65 63 74 5f 49 6e 76 6f 6b PUnit_Framework_MockObject_Invok
cf040 61 62 6c 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f able'.=>.$vendorDir...'/phpunit/
cf060 70 68 70 75 6e 69 74 2d 6d 6f 63 6b 2d 6f 62 6a 65 63 74 73 2f 50 48 50 55 6e 69 74 2f 46 72 61 phpunit-mock-objects/PHPUnit/Fra
cf080 6d 65 77 6f 72 6b 2f 4d 6f 63 6b 4f 62 6a 65 63 74 2f 49 6e 76 6f 6b 61 62 6c 65 2e 70 68 70 27 mework/MockObject/Invokable.php'
cf0a0 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 4d 6f 63 6b 4f 62 6a 65 63 74 5f ,.'PHPUnit_Framework_MockObject_
cf0c0 4d 61 74 63 68 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e Matcher'.=>.$vendorDir...'/phpun
cf0e0 69 74 2f 70 68 70 75 6e 69 74 2d 6d 6f 63 6b 2d 6f 62 6a 65 63 74 73 2f 50 48 50 55 6e 69 74 2f it/phpunit-mock-objects/PHPUnit/
cf100 46 72 61 6d 65 77 6f 72 6b 2f 4d 6f 63 6b 4f 62 6a 65 63 74 2f 4d 61 74 63 68 65 72 2e 70 68 70 Framework/MockObject/Matcher.php
cf120 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 4d 6f 63 6b 4f 62 6a 65 63 74 ',.'PHPUnit_Framework_MockObject
cf140 5f 4d 61 74 63 68 65 72 5f 41 6e 79 49 6e 76 6f 6b 65 64 43 6f 75 6e 74 27 20 3d 3e 20 24 76 65 _Matcher_AnyInvokedCount'.=>.$ve
cf160 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2d 6d 6f 63 6b ndorDir...'/phpunit/phpunit-mock
cf180 2d 6f 62 6a 65 63 74 73 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 4d 6f 63 6b 4f -objects/PHPUnit/Framework/MockO
cf1a0 62 6a 65 63 74 2f 4d 61 74 63 68 65 72 2f 41 6e 79 49 6e 76 6f 6b 65 64 43 6f 75 6e 74 2e 70 68 bject/Matcher/AnyInvokedCount.ph
cf1c0 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 4d 6f 63 6b 4f 62 6a 65 63 p',.'PHPUnit_Framework_MockObjec
cf1e0 74 5f 4d 61 74 63 68 65 72 5f 41 6e 79 50 61 72 61 6d 65 74 65 72 73 27 20 3d 3e 20 24 76 65 6e t_Matcher_AnyParameters'.=>.$ven
cf200 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2d 6d 6f 63 6b 2d dorDir...'/phpunit/phpunit-mock-
cf220 6f 62 6a 65 63 74 73 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 4d 6f 63 6b 4f 62 objects/PHPUnit/Framework/MockOb
cf240 6a 65 63 74 2f 4d 61 74 63 68 65 72 2f 41 6e 79 50 61 72 61 6d 65 74 65 72 73 2e 70 68 70 27 2c ject/Matcher/AnyParameters.php',
cf260 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 4d 6f 63 6b 4f 62 6a 65 63 74 5f 4d .'PHPUnit_Framework_MockObject_M
cf280 61 74 63 68 65 72 5f 49 6e 76 6f 63 61 74 69 6f 6e 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 atcher_Invocation'.=>.$vendorDir
cf2a0 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2d 6d 6f 63 6b 2d 6f 62 6a 65 63 74 ...'/phpunit/phpunit-mock-object
cf2c0 73 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 4d 6f 63 6b 4f 62 6a 65 63 74 2f 4d s/PHPUnit/Framework/MockObject/M
cf2e0 61 74 63 68 65 72 2f 49 6e 76 6f 63 61 74 69 6f 6e 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 atcher/Invocation.php',.'PHPUnit
cf300 5f 46 72 61 6d 65 77 6f 72 6b 5f 4d 6f 63 6b 4f 62 6a 65 63 74 5f 4d 61 74 63 68 65 72 5f 49 6e _Framework_MockObject_Matcher_In
cf320 76 6f 6b 65 64 41 74 49 6e 64 65 78 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f vokedAtIndex'.=>.$vendorDir...'/
cf340 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2d 6d 6f 63 6b 2d 6f 62 6a 65 63 74 73 2f 50 48 50 phpunit/phpunit-mock-objects/PHP
cf360 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 4d 6f 63 6b 4f 62 6a 65 63 74 2f 4d 61 74 63 68 65 Unit/Framework/MockObject/Matche
cf380 72 2f 49 6e 76 6f 6b 65 64 41 74 49 6e 64 65 78 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f r/InvokedAtIndex.php',.'PHPUnit_
cf3a0 46 72 61 6d 65 77 6f 72 6b 5f 4d 6f 63 6b 4f 62 6a 65 63 74 5f 4d 61 74 63 68 65 72 5f 49 6e 76 Framework_MockObject_Matcher_Inv
cf3c0 6f 6b 65 64 41 74 4c 65 61 73 74 4f 6e 63 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e okedAtLeastOnce'.=>.$vendorDir..
cf3e0 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2d 6d 6f 63 6b 2d 6f 62 6a 65 63 74 73 2f .'/phpunit/phpunit-mock-objects/
cf400 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 4d 6f 63 6b 4f 62 6a 65 63 74 2f 4d 61 74 PHPUnit/Framework/MockObject/Mat
cf420 63 68 65 72 2f 49 6e 76 6f 6b 65 64 41 74 4c 65 61 73 74 4f 6e 63 65 2e 70 68 70 27 2c 0a 27 50 cher/InvokedAtLeastOnce.php',.'P
cf440 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 4d 6f 63 6b 4f 62 6a 65 63 74 5f 4d 61 74 63 HPUnit_Framework_MockObject_Matc
cf460 68 65 72 5f 49 6e 76 6f 6b 65 64 43 6f 75 6e 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 her_InvokedCount'.=>.$vendorDir.
cf480 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2d 6d 6f 63 6b 2d 6f 62 6a 65 63 74 73 ..'/phpunit/phpunit-mock-objects
cf4a0 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 4d 6f 63 6b 4f 62 6a 65 63 74 2f 4d 61 /PHPUnit/Framework/MockObject/Ma
cf4c0 74 63 68 65 72 2f 49 6e 76 6f 6b 65 64 43 6f 75 6e 74 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 tcher/InvokedCount.php',.'PHPUni
cf4e0 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 4d 6f 63 6b 4f 62 6a 65 63 74 5f 4d 61 74 63 68 65 72 5f 49 t_Framework_MockObject_Matcher_I
cf500 6e 76 6f 6b 65 64 52 65 63 6f 72 64 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 nvokedRecorder'.=>.$vendorDir...
cf520 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2d 6d 6f 63 6b 2d 6f 62 6a 65 63 74 73 2f 50 '/phpunit/phpunit-mock-objects/P
cf540 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 4d 6f 63 6b 4f 62 6a 65 63 74 2f 4d 61 74 63 HPUnit/Framework/MockObject/Matc
cf560 68 65 72 2f 49 6e 76 6f 6b 65 64 52 65 63 6f 72 64 65 72 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e her/InvokedRecorder.php',.'PHPUn
cf580 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 4d 6f 63 6b 4f 62 6a 65 63 74 5f 4d 61 74 63 68 65 72 5f it_Framework_MockObject_Matcher_
cf5a0 4d 65 74 68 6f 64 4e 61 6d 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 MethodName'.=>.$vendorDir...'/ph
cf5c0 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2d 6d 6f 63 6b 2d 6f 62 6a 65 63 74 73 2f 50 48 50 55 6e punit/phpunit-mock-objects/PHPUn
cf5e0 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 4d 6f 63 6b 4f 62 6a 65 63 74 2f 4d 61 74 63 68 65 72 2f it/Framework/MockObject/Matcher/
cf600 4d 65 74 68 6f 64 4e 61 6d 65 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 MethodName.php',.'PHPUnit_Framew
cf620 6f 72 6b 5f 4d 6f 63 6b 4f 62 6a 65 63 74 5f 4d 61 74 63 68 65 72 5f 50 61 72 61 6d 65 74 65 72 ork_MockObject_Matcher_Parameter
cf640 73 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 s'.=>.$vendorDir...'/phpunit/php
cf660 75 6e 69 74 2d 6d 6f 63 6b 2d 6f 62 6a 65 63 74 73 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 unit-mock-objects/PHPUnit/Framew
cf680 6f 72 6b 2f 4d 6f 63 6b 4f 62 6a 65 63 74 2f 4d 61 74 63 68 65 72 2f 50 61 72 61 6d 65 74 65 72 ork/MockObject/Matcher/Parameter
cf6a0 73 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 4d 6f 63 6b 4f s.php',.'PHPUnit_Framework_MockO
cf6c0 62 6a 65 63 74 5f 4d 61 74 63 68 65 72 5f 53 74 61 74 65 6c 65 73 73 49 6e 76 6f 63 61 74 69 6f bject_Matcher_StatelessInvocatio
cf6e0 6e 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 n'.=>.$vendorDir...'/phpunit/php
cf700 75 6e 69 74 2d 6d 6f 63 6b 2d 6f 62 6a 65 63 74 73 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 unit-mock-objects/PHPUnit/Framew
cf720 6f 72 6b 2f 4d 6f 63 6b 4f 62 6a 65 63 74 2f 4d 61 74 63 68 65 72 2f 53 74 61 74 65 6c 65 73 73 ork/MockObject/Matcher/Stateless
cf740 49 6e 76 6f 63 61 74 69 6f 6e 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 Invocation.php',.'PHPUnit_Framew
cf760 6f 72 6b 5f 4d 6f 63 6b 4f 62 6a 65 63 74 5f 4d 6f 63 6b 42 75 69 6c 64 65 72 27 20 3d 3e 20 24 ork_MockObject_MockBuilder'.=>.$
cf780 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2d 6d 6f vendorDir...'/phpunit/phpunit-mo
cf7a0 63 6b 2d 6f 62 6a 65 63 74 73 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 4d 6f 63 ck-objects/PHPUnit/Framework/Moc
cf7c0 6b 4f 62 6a 65 63 74 2f 4d 6f 63 6b 42 75 69 6c 64 65 72 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e kObject/MockBuilder.php',.'PHPUn
cf7e0 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 4d 6f 63 6b 4f 62 6a 65 63 74 5f 4d 6f 63 6b 4f 62 6a 65 it_Framework_MockObject_MockObje
cf800 63 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 ct'.=>.$vendorDir...'/phpunit/ph
cf820 70 75 6e 69 74 2d 6d 6f 63 6b 2d 6f 62 6a 65 63 74 73 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 punit-mock-objects/PHPUnit/Frame
cf840 77 6f 72 6b 2f 4d 6f 63 6b 4f 62 6a 65 63 74 2f 4d 6f 63 6b 4f 62 6a 65 63 74 2e 70 68 70 27 2c work/MockObject/MockObject.php',
cf860 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 4d 6f 63 6b 4f 62 6a 65 63 74 5f 53 .'PHPUnit_Framework_MockObject_S
cf880 74 75 62 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 tub'.=>.$vendorDir...'/phpunit/p
cf8a0 68 70 75 6e 69 74 2d 6d 6f 63 6b 2d 6f 62 6a 65 63 74 73 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d hpunit-mock-objects/PHPUnit/Fram
cf8c0 65 77 6f 72 6b 2f 4d 6f 63 6b 4f 62 6a 65 63 74 2f 53 74 75 62 2e 70 68 70 27 2c 0a 27 50 48 50 ework/MockObject/Stub.php',.'PHP
cf8e0 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 4d 6f 63 6b 4f 62 6a 65 63 74 5f 53 74 75 62 5f 43 Unit_Framework_MockObject_Stub_C
cf900 6f 6e 73 65 63 75 74 69 76 65 43 61 6c 6c 73 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e onsecutiveCalls'.=>.$vendorDir..
cf920 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2d 6d 6f 63 6b 2d 6f 62 6a 65 63 74 73 2f .'/phpunit/phpunit-mock-objects/
cf940 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 4d 6f 63 6b 4f 62 6a 65 63 74 2f 53 74 75 PHPUnit/Framework/MockObject/Stu
cf960 62 2f 43 6f 6e 73 65 63 75 74 69 76 65 43 61 6c 6c 73 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 b/ConsecutiveCalls.php',.'PHPUni
cf980 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 4d 6f 63 6b 4f 62 6a 65 63 74 5f 53 74 75 62 5f 45 78 63 65 t_Framework_MockObject_Stub_Exce
cf9a0 70 74 69 6f 6e 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 ption'.=>.$vendorDir...'/phpunit
cf9c0 2f 70 68 70 75 6e 69 74 2d 6d 6f 63 6b 2d 6f 62 6a 65 63 74 73 2f 50 48 50 55 6e 69 74 2f 46 72 /phpunit-mock-objects/PHPUnit/Fr
cf9e0 61 6d 65 77 6f 72 6b 2f 4d 6f 63 6b 4f 62 6a 65 63 74 2f 53 74 75 62 2f 45 78 63 65 70 74 69 6f amework/MockObject/Stub/Exceptio
cfa00 6e 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 4d 6f 63 6b 4f n.php',.'PHPUnit_Framework_MockO
cfa20 62 6a 65 63 74 5f 53 74 75 62 5f 4d 61 74 63 68 65 72 43 6f 6c 6c 65 63 74 69 6f 6e 27 20 3d 3e bject_Stub_MatcherCollection'.=>
cfa40 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2d .$vendorDir...'/phpunit/phpunit-
cfa60 6d 6f 63 6b 2d 6f 62 6a 65 63 74 73 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 4d mock-objects/PHPUnit/Framework/M
cfa80 6f 63 6b 4f 62 6a 65 63 74 2f 53 74 75 62 2f 4d 61 74 63 68 65 72 43 6f 6c 6c 65 63 74 69 6f 6e ockObject/Stub/MatcherCollection
cfaa0 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 4d 6f 63 6b 4f 62 .php',.'PHPUnit_Framework_MockOb
cfac0 6a 65 63 74 5f 53 74 75 62 5f 52 65 74 75 72 6e 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 ject_Stub_Return'.=>.$vendorDir.
cfae0 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2d 6d 6f 63 6b 2d 6f 62 6a 65 63 74 73 ..'/phpunit/phpunit-mock-objects
cfb00 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 4d 6f 63 6b 4f 62 6a 65 63 74 2f 53 74 /PHPUnit/Framework/MockObject/St
cfb20 75 62 2f 52 65 74 75 72 6e 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f ub/Return.php',.'PHPUnit_Framewo
cfb40 72 6b 5f 4d 6f 63 6b 4f 62 6a 65 63 74 5f 53 74 75 62 5f 52 65 74 75 72 6e 41 72 67 75 6d 65 6e rk_MockObject_Stub_ReturnArgumen
cfb60 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 t'.=>.$vendorDir...'/phpunit/php
cfb80 75 6e 69 74 2d 6d 6f 63 6b 2d 6f 62 6a 65 63 74 73 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 unit-mock-objects/PHPUnit/Framew
cfba0 6f 72 6b 2f 4d 6f 63 6b 4f 62 6a 65 63 74 2f 53 74 75 62 2f 52 65 74 75 72 6e 41 72 67 75 6d 65 ork/MockObject/Stub/ReturnArgume
cfbc0 6e 74 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 4d 6f 63 6b nt.php',.'PHPUnit_Framework_Mock
cfbe0 4f 62 6a 65 63 74 5f 53 74 75 62 5f 52 65 74 75 72 6e 43 61 6c 6c 62 61 63 6b 27 20 3d 3e 20 24 Object_Stub_ReturnCallback'.=>.$
cfc00 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2d 6d 6f vendorDir...'/phpunit/phpunit-mo
cfc20 63 6b 2d 6f 62 6a 65 63 74 73 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 4d 6f 63 ck-objects/PHPUnit/Framework/Moc
cfc40 6b 4f 62 6a 65 63 74 2f 53 74 75 62 2f 52 65 74 75 72 6e 43 61 6c 6c 62 61 63 6b 2e 70 68 70 27 kObject/Stub/ReturnCallback.php'
cfc60 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 4d 6f 63 6b 4f 62 6a 65 63 74 5f ,.'PHPUnit_Framework_MockObject_
cfc80 53 74 75 62 5f 52 65 74 75 72 6e 53 65 6c 66 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e Stub_ReturnSelf'.=>.$vendorDir..
cfca0 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2d 6d 6f 63 6b 2d 6f 62 6a 65 63 74 73 2f .'/phpunit/phpunit-mock-objects/
cfcc0 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 4d 6f 63 6b 4f 62 6a 65 63 74 2f 53 74 75 PHPUnit/Framework/MockObject/Stu
cfce0 62 2f 52 65 74 75 72 6e 53 65 6c 66 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d b/ReturnSelf.php',.'PHPUnit_Fram
cfd00 65 77 6f 72 6b 5f 4d 6f 63 6b 4f 62 6a 65 63 74 5f 53 74 75 62 5f 52 65 74 75 72 6e 56 61 6c 75 ework_MockObject_Stub_ReturnValu
cfd20 65 4d 61 70 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f eMap'.=>.$vendorDir...'/phpunit/
cfd40 70 68 70 75 6e 69 74 2d 6d 6f 63 6b 2d 6f 62 6a 65 63 74 73 2f 50 48 50 55 6e 69 74 2f 46 72 61 phpunit-mock-objects/PHPUnit/Fra
cfd60 6d 65 77 6f 72 6b 2f 4d 6f 63 6b 4f 62 6a 65 63 74 2f 53 74 75 62 2f 52 65 74 75 72 6e 56 61 6c mework/MockObject/Stub/ReturnVal
cfd80 75 65 4d 61 70 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 4d ueMap.php',.'PHPUnit_Framework_M
cfda0 6f 63 6b 4f 62 6a 65 63 74 5f 56 65 72 69 66 69 61 62 6c 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 ockObject_Verifiable'.=>.$vendor
cfdc0 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2d 6d 6f 63 6b 2d 6f 62 6a Dir...'/phpunit/phpunit-mock-obj
cfde0 65 63 74 73 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 4d 6f 63 6b 4f 62 6a 65 63 ects/PHPUnit/Framework/MockObjec
cfe00 74 2f 56 65 72 69 66 69 61 62 6c 65 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d t/Verifiable.php',.'PHPUnit_Fram
cfe20 65 77 6f 72 6b 5f 4f 75 74 70 75 74 45 72 72 6f 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 ework_OutputError'.=>.$vendorDir
cfe40 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 ...'/phpunit/phpunit/PHPUnit/Fra
cfe60 6d 65 77 6f 72 6b 2f 4f 75 74 70 75 74 45 72 72 6f 72 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 mework/OutputError.php',.'PHPUni
cfe80 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 53 65 6c 66 44 65 73 63 72 69 62 69 6e 67 27 20 3d 3e 20 24 t_Framework_SelfDescribing'.=>.$
cfea0 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 vendorDir...'/phpunit/phpunit/PH
cfec0 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 53 65 6c 66 44 65 73 63 72 69 62 69 6e 67 2e 70 PUnit/Framework/SelfDescribing.p
cfee0 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 53 6b 69 70 70 65 64 54 hp',.'PHPUnit_Framework_SkippedT
cff00 65 73 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 est'.=>.$vendorDir...'/phpunit/p
cff20 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 53 6b 69 70 70 65 64 hpunit/PHPUnit/Framework/Skipped
cff40 54 65 73 74 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 53 6b Test.php',.'PHPUnit_Framework_Sk
cff60 69 70 70 65 64 54 65 73 74 45 72 72 6f 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 ippedTestError'.=>.$vendorDir...
cff80 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 '/phpunit/phpunit/PHPUnit/Framew
cffa0 6f 72 6b 2f 53 6b 69 70 70 65 64 54 65 73 74 45 72 72 6f 72 2e 70 68 70 27 2c 0a 27 50 48 50 55 ork/SkippedTestError.php',.'PHPU
cffc0 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 53 6b 69 70 70 65 64 54 65 73 74 53 75 69 74 65 45 72 nit_Framework_SkippedTestSuiteEr
cffe0 72 6f 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 ror'.=>.$vendorDir...'/phpunit/p
d0000 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 53 6b 69 70 70 65 64 hpunit/PHPUnit/Framework/Skipped
d0020 54 65 73 74 53 75 69 74 65 45 72 72 6f 72 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 TestSuiteError.php',.'PHPUnit_Fr
d0040 61 6d 65 77 6f 72 6b 5f 53 79 6e 74 68 65 74 69 63 45 72 72 6f 72 27 20 3d 3e 20 24 76 65 6e 64 amework_SyntheticError'.=>.$vend
d0060 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 orDir...'/phpunit/phpunit/PHPUni
d0080 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 53 79 6e 74 68 65 74 69 63 45 72 72 6f 72 2e 70 68 70 27 2c t/Framework/SyntheticError.php',
d00a0 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 54 65 73 74 27 20 3d 3e 20 24 76 65 .'PHPUnit_Framework_Test'.=>.$ve
d00c0 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 ndorDir...'/phpunit/phpunit/PHPU
d00e0 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 54 65 73 74 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 nit/Framework/Test.php',.'PHPUni
d0100 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 54 65 73 74 43 61 73 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 t_Framework_TestCase'.=>.$vendor
d0120 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f Dir...'/phpunit/phpunit/PHPUnit/
d0140 46 72 61 6d 65 77 6f 72 6b 2f 54 65 73 74 43 61 73 65 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 Framework/TestCase.php',.'PHPUni
d0160 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 54 65 73 74 46 61 69 6c 75 72 65 27 20 3d 3e 20 24 76 65 6e t_Framework_TestFailure'.=>.$ven
d0180 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e dorDir...'/phpunit/phpunit/PHPUn
d01a0 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 54 65 73 74 46 61 69 6c 75 72 65 2e 70 68 70 27 2c 0a 27 it/Framework/TestFailure.php',.'
d01c0 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 54 65 73 74 4c 69 73 74 65 6e 65 72 27 20 PHPUnit_Framework_TestListener'.
d01e0 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 =>.$vendorDir...'/phpunit/phpuni
d0200 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 54 65 73 74 4c 69 73 74 65 6e 65 72 t/PHPUnit/Framework/TestListener
d0220 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 54 65 73 74 52 65 .php',.'PHPUnit_Framework_TestRe
d0240 73 75 6c 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f sult'.=>.$vendorDir...'/phpunit/
d0260 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 54 65 73 74 52 65 phpunit/PHPUnit/Framework/TestRe
d0280 73 75 6c 74 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 54 65 sult.php',.'PHPUnit_Framework_Te
d02a0 73 74 53 75 69 74 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e stSuite'.=>.$vendorDir...'/phpun
d02c0 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 54 65 73 it/phpunit/PHPUnit/Framework/Tes
d02e0 74 53 75 69 74 65 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f tSuite.php',.'PHPUnit_Framework_
d0300 54 65 73 74 53 75 69 74 65 5f 44 61 74 61 50 72 6f 76 69 64 65 72 27 20 3d 3e 20 24 76 65 6e 64 TestSuite_DataProvider'.=>.$vend
d0320 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 orDir...'/phpunit/phpunit/PHPUni
d0340 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 54 65 73 74 53 75 69 74 65 2f 44 61 74 61 50 72 6f 76 69 64 t/Framework/TestSuite/DataProvid
d0360 65 72 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 57 61 72 6e er.php',.'PHPUnit_Framework_Warn
d0380 69 6e 67 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 ing'.=>.$vendorDir...'/phpunit/p
d03a0 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 46 72 61 6d 65 77 6f 72 6b 2f 57 61 72 6e 69 6e 67 hpunit/PHPUnit/Framework/Warning
d03c0 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 52 75 6e 6e 65 72 5f 42 61 73 65 54 65 73 74 52 .php',.'PHPUnit_Runner_BaseTestR
d03e0 75 6e 6e 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 unner'.=>.$vendorDir...'/phpunit
d0400 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 52 75 6e 6e 65 72 2f 42 61 73 65 54 65 73 74 /phpunit/PHPUnit/Runner/BaseTest
d0420 52 75 6e 6e 65 72 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 52 75 6e 6e 65 72 5f 53 74 61 Runner.php',.'PHPUnit_Runner_Sta
d0440 6e 64 61 72 64 54 65 73 74 53 75 69 74 65 4c 6f 61 64 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 ndardTestSuiteLoader'.=>.$vendor
d0460 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f Dir...'/phpunit/phpunit/PHPUnit/
d0480 52 75 6e 6e 65 72 2f 53 74 61 6e 64 61 72 64 54 65 73 74 53 75 69 74 65 4c 6f 61 64 65 72 2e 70 Runner/StandardTestSuiteLoader.p
d04a0 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 52 75 6e 6e 65 72 5f 54 65 73 74 53 75 69 74 65 4c 6f hp',.'PHPUnit_Runner_TestSuiteLo
d04c0 61 64 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f ader'.=>.$vendorDir...'/phpunit/
d04e0 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 52 75 6e 6e 65 72 2f 54 65 73 74 53 75 69 74 65 phpunit/PHPUnit/Runner/TestSuite
d0500 4c 6f 61 64 65 72 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 52 75 6e 6e 65 72 5f 56 65 72 Loader.php',.'PHPUnit_Runner_Ver
d0520 73 69 6f 6e 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f sion'.=>.$vendorDir...'/phpunit/
d0540 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 52 75 6e 6e 65 72 2f 56 65 72 73 69 6f 6e 2e 70 phpunit/PHPUnit/Runner/Version.p
d0560 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 54 65 78 74 55 49 5f 43 6f 6d 6d 61 6e 64 27 20 3d 3e hp',.'PHPUnit_TextUI_Command'.=>
d0580 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f .$vendorDir...'/phpunit/phpunit/
d05a0 50 48 50 55 6e 69 74 2f 54 65 78 74 55 49 2f 43 6f 6d 6d 61 6e 64 2e 70 68 70 27 2c 0a 27 50 48 PHPUnit/TextUI/Command.php',.'PH
d05c0 50 55 6e 69 74 5f 54 65 78 74 55 49 5f 52 65 73 75 6c 74 50 72 69 6e 74 65 72 27 20 3d 3e 20 24 PUnit_TextUI_ResultPrinter'.=>.$
d05e0 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 vendorDir...'/phpunit/phpunit/PH
d0600 50 55 6e 69 74 2f 54 65 78 74 55 49 2f 52 65 73 75 6c 74 50 72 69 6e 74 65 72 2e 70 68 70 27 2c PUnit/TextUI/ResultPrinter.php',
d0620 0a 27 50 48 50 55 6e 69 74 5f 54 65 78 74 55 49 5f 54 65 73 74 52 75 6e 6e 65 72 27 20 3d 3e 20 .'PHPUnit_TextUI_TestRunner'.=>.
d0640 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 $vendorDir...'/phpunit/phpunit/P
d0660 48 50 55 6e 69 74 2f 54 65 78 74 55 49 2f 54 65 73 74 52 75 6e 6e 65 72 2e 70 68 70 27 2c 0a 27 HPUnit/TextUI/TestRunner.php',.'
d0680 50 48 50 55 6e 69 74 5f 55 74 69 6c 5f 43 6c 61 73 73 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 PHPUnit_Util_Class'.=>.$vendorDi
d06a0 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 55 74 r...'/phpunit/phpunit/PHPUnit/Ut
d06c0 69 6c 2f 43 6c 61 73 73 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 55 74 69 6c 5f 43 6f 6e il/Class.php',.'PHPUnit_Util_Con
d06e0 66 69 67 75 72 61 74 69 6f 6e 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 figuration'.=>.$vendorDir...'/ph
d0700 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 55 74 69 6c 2f 43 6f 6e 66 69 punit/phpunit/PHPUnit/Util/Confi
d0720 67 75 72 61 74 69 6f 6e 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 55 74 69 6c 5f 44 65 70 guration.php',.'PHPUnit_Util_Dep
d0740 72 65 63 61 74 65 64 46 65 61 74 75 72 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 recatedFeature'.=>.$vendorDir...
d0760 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 55 74 69 6c 2f 44 '/phpunit/phpunit/PHPUnit/Util/D
d0780 65 70 72 65 63 61 74 65 64 46 65 61 74 75 72 65 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f eprecatedFeature.php',.'PHPUnit_
d07a0 55 74 69 6c 5f 44 65 70 72 65 63 61 74 65 64 46 65 61 74 75 72 65 5f 4c 6f 67 67 65 72 27 20 3d Util_DeprecatedFeature_Logger'.=
d07c0 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 >.$vendorDir...'/phpunit/phpunit
d07e0 2f 50 48 50 55 6e 69 74 2f 55 74 69 6c 2f 44 65 70 72 65 63 61 74 65 64 46 65 61 74 75 72 65 2f /PHPUnit/Util/DeprecatedFeature/
d0800 4c 6f 67 67 65 72 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 55 74 69 6c 5f 44 69 66 66 27 Logger.php',.'PHPUnit_Util_Diff'
d0820 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e .=>.$vendorDir...'/phpunit/phpun
d0840 69 74 2f 50 48 50 55 6e 69 74 2f 55 74 69 6c 2f 44 69 66 66 2e 70 68 70 27 2c 0a 27 50 48 50 55 it/PHPUnit/Util/Diff.php',.'PHPU
d0860 6e 69 74 5f 55 74 69 6c 5f 45 72 72 6f 72 48 61 6e 64 6c 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f nit_Util_ErrorHandler'.=>.$vendo
d0880 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 rDir...'/phpunit/phpunit/PHPUnit
d08a0 2f 55 74 69 6c 2f 45 72 72 6f 72 48 61 6e 64 6c 65 72 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 /Util/ErrorHandler.php',.'PHPUni
d08c0 74 5f 55 74 69 6c 5f 46 69 6c 65 6c 6f 61 64 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 t_Util_Fileloader'.=>.$vendorDir
d08e0 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 55 74 69 ...'/phpunit/phpunit/PHPUnit/Uti
d0900 6c 2f 46 69 6c 65 6c 6f 61 64 65 72 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 55 74 69 6c l/Fileloader.php',.'PHPUnit_Util
d0920 5f 46 69 6c 65 73 79 73 74 65 6d 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 _Filesystem'.=>.$vendorDir...'/p
d0940 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 55 74 69 6c 2f 46 69 6c 65 hpunit/phpunit/PHPUnit/Util/File
d0960 73 79 73 74 65 6d 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 55 74 69 6c 5f 46 69 6c 74 65 system.php',.'PHPUnit_Util_Filte
d0980 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 r'.=>.$vendorDir...'/phpunit/php
d09a0 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 55 74 69 6c 2f 46 69 6c 74 65 72 2e 70 68 70 27 2c 0a 27 unit/PHPUnit/Util/Filter.php',.'
d09c0 50 48 50 55 6e 69 74 5f 55 74 69 6c 5f 47 65 74 6f 70 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 PHPUnit_Util_Getopt'.=>.$vendorD
d09e0 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 55 ir...'/phpunit/phpunit/PHPUnit/U
d0a00 74 69 6c 2f 47 65 74 6f 70 74 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 55 74 69 6c 5f 47 til/Getopt.php',.'PHPUnit_Util_G
d0a20 6c 6f 62 61 6c 53 74 61 74 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 lobalState'.=>.$vendorDir...'/ph
d0a40 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 55 74 69 6c 2f 47 6c 6f 62 61 punit/phpunit/PHPUnit/Util/Globa
d0a60 6c 53 74 61 74 65 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 55 74 69 6c 5f 49 6e 76 61 6c lState.php',.'PHPUnit_Util_Inval
d0a80 69 64 41 72 67 75 6d 65 6e 74 48 65 6c 70 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 idArgumentHelper'.=>.$vendorDir.
d0aa0 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 55 74 69 6c ..'/phpunit/phpunit/PHPUnit/Util
d0ac0 2f 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 48 65 6c 70 65 72 2e 70 68 70 27 2c 0a 27 50 48 /InvalidArgumentHelper.php',.'PH
d0ae0 50 55 6e 69 74 5f 55 74 69 6c 5f 4c 6f 67 5f 4a 53 4f 4e 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 PUnit_Util_Log_JSON'.=>.$vendorD
d0b00 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 55 ir...'/phpunit/phpunit/PHPUnit/U
d0b20 74 69 6c 2f 4c 6f 67 2f 4a 53 4f 4e 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 55 74 69 6c til/Log/JSON.php',.'PHPUnit_Util
d0b40 5f 4c 6f 67 5f 4a 55 6e 69 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 _Log_JUnit'.=>.$vendorDir...'/ph
d0b60 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 55 74 69 6c 2f 4c 6f 67 2f 4a punit/phpunit/PHPUnit/Util/Log/J
d0b80 55 6e 69 74 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 55 74 69 6c 5f 4c 6f 67 5f 54 41 50 Unit.php',.'PHPUnit_Util_Log_TAP
d0ba0 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 '.=>.$vendorDir...'/phpunit/phpu
d0bc0 6e 69 74 2f 50 48 50 55 6e 69 74 2f 55 74 69 6c 2f 4c 6f 67 2f 54 41 50 2e 70 68 70 27 2c 0a 27 nit/PHPUnit/Util/Log/TAP.php',.'
d0be0 50 48 50 55 6e 69 74 5f 55 74 69 6c 5f 50 48 50 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 PHPUnit_Util_PHP'.=>.$vendorDir.
d0c00 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 55 74 69 6c ..'/phpunit/phpunit/PHPUnit/Util
d0c20 2f 50 48 50 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 55 74 69 6c 5f 50 48 50 5f 44 65 66 /PHP.php',.'PHPUnit_Util_PHP_Def
d0c40 61 75 6c 74 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f ault'.=>.$vendorDir...'/phpunit/
d0c60 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 55 74 69 6c 2f 50 48 50 2f 44 65 66 61 75 6c 74 phpunit/PHPUnit/Util/PHP/Default
d0c80 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 55 74 69 6c 5f 50 48 50 5f 57 69 6e 64 6f 77 73 .php',.'PHPUnit_Util_PHP_Windows
d0ca0 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 '.=>.$vendorDir...'/phpunit/phpu
d0cc0 6e 69 74 2f 50 48 50 55 6e 69 74 2f 55 74 69 6c 2f 50 48 50 2f 57 69 6e 64 6f 77 73 2e 70 68 70 nit/PHPUnit/Util/PHP/Windows.php
d0ce0 27 2c 0a 27 50 48 50 55 6e 69 74 5f 55 74 69 6c 5f 50 72 69 6e 74 65 72 27 20 3d 3e 20 24 76 65 ',.'PHPUnit_Util_Printer'.=>.$ve
d0d00 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 ndorDir...'/phpunit/phpunit/PHPU
d0d20 6e 69 74 2f 55 74 69 6c 2f 50 72 69 6e 74 65 72 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f nit/Util/Printer.php',.'PHPUnit_
d0d40 55 74 69 6c 5f 53 74 72 69 6e 67 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 Util_String'.=>.$vendorDir...'/p
d0d60 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 55 74 69 6c 2f 53 74 72 69 hpunit/phpunit/PHPUnit/Util/Stri
d0d80 6e 67 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 55 74 69 6c 5f 54 65 73 74 27 20 3d 3e 20 ng.php',.'PHPUnit_Util_Test'.=>.
d0da0 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 $vendorDir...'/phpunit/phpunit/P
d0dc0 48 50 55 6e 69 74 2f 55 74 69 6c 2f 54 65 73 74 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f HPUnit/Util/Test.php',.'PHPUnit_
d0de0 55 74 69 6c 5f 54 65 73 74 44 6f 78 5f 4e 61 6d 65 50 72 65 74 74 69 66 69 65 72 27 20 3d 3e 20 Util_TestDox_NamePrettifier'.=>.
d0e00 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 $vendorDir...'/phpunit/phpunit/P
d0e20 48 50 55 6e 69 74 2f 55 74 69 6c 2f 54 65 73 74 44 6f 78 2f 4e 61 6d 65 50 72 65 74 74 69 66 69 HPUnit/Util/TestDox/NamePrettifi
d0e40 65 72 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 55 74 69 6c 5f 54 65 73 74 44 6f 78 5f 52 er.php',.'PHPUnit_Util_TestDox_R
d0e60 65 73 75 6c 74 50 72 69 6e 74 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f esultPrinter'.=>.$vendorDir...'/
d0e80 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 55 74 69 6c 2f 54 65 73 phpunit/phpunit/PHPUnit/Util/Tes
d0ea0 74 44 6f 78 2f 52 65 73 75 6c 74 50 72 69 6e 74 65 72 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 tDox/ResultPrinter.php',.'PHPUni
d0ec0 74 5f 55 74 69 6c 5f 54 65 73 74 44 6f 78 5f 52 65 73 75 6c 74 50 72 69 6e 74 65 72 5f 48 54 4d t_Util_TestDox_ResultPrinter_HTM
d0ee0 4c 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 L'.=>.$vendorDir...'/phpunit/php
d0f00 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 55 74 69 6c 2f 54 65 73 74 44 6f 78 2f 52 65 73 75 6c 74 unit/PHPUnit/Util/TestDox/Result
d0f20 50 72 69 6e 74 65 72 2f 48 54 4d 4c 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 55 74 69 6c Printer/HTML.php',.'PHPUnit_Util
d0f40 5f 54 65 73 74 44 6f 78 5f 52 65 73 75 6c 74 50 72 69 6e 74 65 72 5f 54 65 78 74 27 20 3d 3e 20 _TestDox_ResultPrinter_Text'.=>.
d0f60 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 $vendorDir...'/phpunit/phpunit/P
d0f80 48 50 55 6e 69 74 2f 55 74 69 6c 2f 54 65 73 74 44 6f 78 2f 52 65 73 75 6c 74 50 72 69 6e 74 65 HPUnit/Util/TestDox/ResultPrinte
d0fa0 72 2f 54 65 78 74 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 55 74 69 6c 5f 54 65 73 74 53 r/Text.php',.'PHPUnit_Util_TestS
d0fc0 75 69 74 65 49 74 65 72 61 74 6f 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f uiteIterator'.=>.$vendorDir...'/
d0fe0 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 55 74 69 6c 2f 54 65 73 phpunit/phpunit/PHPUnit/Util/Tes
d1000 74 53 75 69 74 65 49 74 65 72 61 74 6f 72 2e 70 68 70 27 2c 0a 27 50 48 50 55 6e 69 74 5f 55 74 tSuiteIterator.php',.'PHPUnit_Ut
d1020 69 6c 5f 54 79 70 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e il_Type'.=>.$vendorDir...'/phpun
d1040 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f 55 74 69 6c 2f 54 79 70 65 2e 70 68 70 it/phpunit/PHPUnit/Util/Type.php
d1060 27 2c 0a 27 50 48 50 55 6e 69 74 5f 55 74 69 6c 5f 58 4d 4c 27 20 3d 3e 20 24 76 65 6e 64 6f 72 ',.'PHPUnit_Util_XML'.=>.$vendor
d1080 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2f 50 48 50 55 6e 69 74 2f Dir...'/phpunit/phpunit/PHPUnit/
d10a0 55 74 69 6c 2f 58 4d 4c 2e 70 68 70 27 2c 0a 27 50 48 50 5f 43 6f 64 65 43 6f 76 65 72 61 67 65 Util/XML.php',.'PHP_CodeCoverage
d10c0 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d '.=>.$vendorDir...'/phpunit/php-
d10e0 63 6f 64 65 2d 63 6f 76 65 72 61 67 65 2f 50 48 50 2f 43 6f 64 65 43 6f 76 65 72 61 67 65 2e 70 code-coverage/PHP/CodeCoverage.p
d1100 68 70 27 2c 0a 27 50 48 50 5f 43 6f 64 65 43 6f 76 65 72 61 67 65 5f 44 72 69 76 65 72 27 20 3d hp',.'PHP_CodeCoverage_Driver'.=
d1120 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 63 6f 64 >.$vendorDir...'/phpunit/php-cod
d1140 65 2d 63 6f 76 65 72 61 67 65 2f 50 48 50 2f 43 6f 64 65 43 6f 76 65 72 61 67 65 2f 44 72 69 76 e-coverage/PHP/CodeCoverage/Driv
d1160 65 72 2e 70 68 70 27 2c 0a 27 50 48 50 5f 43 6f 64 65 43 6f 76 65 72 61 67 65 5f 44 72 69 76 65 er.php',.'PHP_CodeCoverage_Drive
d1180 72 5f 58 64 65 62 75 67 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 r_Xdebug'.=>.$vendorDir...'/phpu
d11a0 6e 69 74 2f 70 68 70 2d 63 6f 64 65 2d 63 6f 76 65 72 61 67 65 2f 50 48 50 2f 43 6f 64 65 43 6f nit/php-code-coverage/PHP/CodeCo
d11c0 76 65 72 61 67 65 2f 44 72 69 76 65 72 2f 58 64 65 62 75 67 2e 70 68 70 27 2c 0a 27 50 48 50 5f verage/Driver/Xdebug.php',.'PHP_
d11e0 43 6f 64 65 43 6f 76 65 72 61 67 65 5f 45 78 63 65 70 74 69 6f 6e 27 20 3d 3e 20 24 76 65 6e 64 CodeCoverage_Exception'.=>.$vend
d1200 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 63 6f 64 65 2d 63 6f 76 65 72 orDir...'/phpunit/php-code-cover
d1220 61 67 65 2f 50 48 50 2f 43 6f 64 65 43 6f 76 65 72 61 67 65 2f 45 78 63 65 70 74 69 6f 6e 2e 70 age/PHP/CodeCoverage/Exception.p
d1240 68 70 27 2c 0a 27 50 48 50 5f 43 6f 64 65 43 6f 76 65 72 61 67 65 5f 46 69 6c 74 65 72 27 20 3d hp',.'PHP_CodeCoverage_Filter'.=
d1260 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 63 6f 64 >.$vendorDir...'/phpunit/php-cod
d1280 65 2d 63 6f 76 65 72 61 67 65 2f 50 48 50 2f 43 6f 64 65 43 6f 76 65 72 61 67 65 2f 46 69 6c 74 e-coverage/PHP/CodeCoverage/Filt
d12a0 65 72 2e 70 68 70 27 2c 0a 27 50 48 50 5f 43 6f 64 65 43 6f 76 65 72 61 67 65 5f 52 65 70 6f 72 er.php',.'PHP_CodeCoverage_Repor
d12c0 74 5f 43 6c 6f 76 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 t_Clover'.=>.$vendorDir...'/phpu
d12e0 6e 69 74 2f 70 68 70 2d 63 6f 64 65 2d 63 6f 76 65 72 61 67 65 2f 50 48 50 2f 43 6f 64 65 43 6f nit/php-code-coverage/PHP/CodeCo
d1300 76 65 72 61 67 65 2f 52 65 70 6f 72 74 2f 43 6c 6f 76 65 72 2e 70 68 70 27 2c 0a 27 50 48 50 5f verage/Report/Clover.php',.'PHP_
d1320 43 6f 64 65 43 6f 76 65 72 61 67 65 5f 52 65 70 6f 72 74 5f 46 61 63 74 6f 72 79 27 20 3d 3e 20 CodeCoverage_Report_Factory'.=>.
d1340 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 63 6f 64 65 2d $vendorDir...'/phpunit/php-code-
d1360 63 6f 76 65 72 61 67 65 2f 50 48 50 2f 43 6f 64 65 43 6f 76 65 72 61 67 65 2f 52 65 70 6f 72 74 coverage/PHP/CodeCoverage/Report
d1380 2f 46 61 63 74 6f 72 79 2e 70 68 70 27 2c 0a 27 50 48 50 5f 43 6f 64 65 43 6f 76 65 72 61 67 65 /Factory.php',.'PHP_CodeCoverage
d13a0 5f 52 65 70 6f 72 74 5f 48 54 4d 4c 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f _Report_HTML'.=>.$vendorDir...'/
d13c0 70 68 70 75 6e 69 74 2f 70 68 70 2d 63 6f 64 65 2d 63 6f 76 65 72 61 67 65 2f 50 48 50 2f 43 6f phpunit/php-code-coverage/PHP/Co
d13e0 64 65 43 6f 76 65 72 61 67 65 2f 52 65 70 6f 72 74 2f 48 54 4d 4c 2e 70 68 70 27 2c 0a 27 50 48 deCoverage/Report/HTML.php',.'PH
d1400 50 5f 43 6f 64 65 43 6f 76 65 72 61 67 65 5f 52 65 70 6f 72 74 5f 48 54 4d 4c 5f 52 65 6e 64 65 P_CodeCoverage_Report_HTML_Rende
d1420 72 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 rer'.=>.$vendorDir...'/phpunit/p
d1440 68 70 2d 63 6f 64 65 2d 63 6f 76 65 72 61 67 65 2f 50 48 50 2f 43 6f 64 65 43 6f 76 65 72 61 67 hp-code-coverage/PHP/CodeCoverag
d1460 65 2f 52 65 70 6f 72 74 2f 48 54 4d 4c 2f 52 65 6e 64 65 72 65 72 2e 70 68 70 27 2c 0a 27 50 48 e/Report/HTML/Renderer.php',.'PH
d1480 50 5f 43 6f 64 65 43 6f 76 65 72 61 67 65 5f 52 65 70 6f 72 74 5f 48 54 4d 4c 5f 52 65 6e 64 65 P_CodeCoverage_Report_HTML_Rende
d14a0 72 65 72 5f 44 61 73 68 62 6f 61 72 64 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 rer_Dashboard'.=>.$vendorDir...'
d14c0 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 63 6f 64 65 2d 63 6f 76 65 72 61 67 65 2f 50 48 50 2f 43 /phpunit/php-code-coverage/PHP/C
d14e0 6f 64 65 43 6f 76 65 72 61 67 65 2f 52 65 70 6f 72 74 2f 48 54 4d 4c 2f 52 65 6e 64 65 72 65 72 odeCoverage/Report/HTML/Renderer
d1500 2f 44 61 73 68 62 6f 61 72 64 2e 70 68 70 27 2c 0a 27 50 48 50 5f 43 6f 64 65 43 6f 76 65 72 61 /Dashboard.php',.'PHP_CodeCovera
d1520 67 65 5f 52 65 70 6f 72 74 5f 48 54 4d 4c 5f 52 65 6e 64 65 72 65 72 5f 44 69 72 65 63 74 6f 72 ge_Report_HTML_Renderer_Director
d1540 79 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 y'.=>.$vendorDir...'/phpunit/php
d1560 2d 63 6f 64 65 2d 63 6f 76 65 72 61 67 65 2f 50 48 50 2f 43 6f 64 65 43 6f 76 65 72 61 67 65 2f -code-coverage/PHP/CodeCoverage/
d1580 52 65 70 6f 72 74 2f 48 54 4d 4c 2f 52 65 6e 64 65 72 65 72 2f 44 69 72 65 63 74 6f 72 79 2e 70 Report/HTML/Renderer/Directory.p
d15a0 68 70 27 2c 0a 27 50 48 50 5f 43 6f 64 65 43 6f 76 65 72 61 67 65 5f 52 65 70 6f 72 74 5f 48 54 hp',.'PHP_CodeCoverage_Report_HT
d15c0 4d 4c 5f 52 65 6e 64 65 72 65 72 5f 46 69 6c 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 ML_Renderer_File'.=>.$vendorDir.
d15e0 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 63 6f 64 65 2d 63 6f 76 65 72 61 67 65 2f 50 48 ..'/phpunit/php-code-coverage/PH
d1600 50 2f 43 6f 64 65 43 6f 76 65 72 61 67 65 2f 52 65 70 6f 72 74 2f 48 54 4d 4c 2f 52 65 6e 64 65 P/CodeCoverage/Report/HTML/Rende
d1620 72 65 72 2f 46 69 6c 65 2e 70 68 70 27 2c 0a 27 50 48 50 5f 43 6f 64 65 43 6f 76 65 72 61 67 65 rer/File.php',.'PHP_CodeCoverage
d1640 5f 52 65 70 6f 72 74 5f 4e 6f 64 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f _Report_Node'.=>.$vendorDir...'/
d1660 70 68 70 75 6e 69 74 2f 70 68 70 2d 63 6f 64 65 2d 63 6f 76 65 72 61 67 65 2f 50 48 50 2f 43 6f phpunit/php-code-coverage/PHP/Co
d1680 64 65 43 6f 76 65 72 61 67 65 2f 52 65 70 6f 72 74 2f 4e 6f 64 65 2e 70 68 70 27 2c 0a 27 50 48 deCoverage/Report/Node.php',.'PH
d16a0 50 5f 43 6f 64 65 43 6f 76 65 72 61 67 65 5f 52 65 70 6f 72 74 5f 4e 6f 64 65 5f 44 69 72 65 63 P_CodeCoverage_Report_Node_Direc
d16c0 74 6f 72 79 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f tory'.=>.$vendorDir...'/phpunit/
d16e0 70 68 70 2d 63 6f 64 65 2d 63 6f 76 65 72 61 67 65 2f 50 48 50 2f 43 6f 64 65 43 6f 76 65 72 61 php-code-coverage/PHP/CodeCovera
d1700 67 65 2f 52 65 70 6f 72 74 2f 4e 6f 64 65 2f 44 69 72 65 63 74 6f 72 79 2e 70 68 70 27 2c 0a 27 ge/Report/Node/Directory.php',.'
d1720 50 48 50 5f 43 6f 64 65 43 6f 76 65 72 61 67 65 5f 52 65 70 6f 72 74 5f 4e 6f 64 65 5f 46 69 6c PHP_CodeCoverage_Report_Node_Fil
d1740 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 e'.=>.$vendorDir...'/phpunit/php
d1760 2d 63 6f 64 65 2d 63 6f 76 65 72 61 67 65 2f 50 48 50 2f 43 6f 64 65 43 6f 76 65 72 61 67 65 2f -code-coverage/PHP/CodeCoverage/
d1780 52 65 70 6f 72 74 2f 4e 6f 64 65 2f 46 69 6c 65 2e 70 68 70 27 2c 0a 27 50 48 50 5f 43 6f 64 65 Report/Node/File.php',.'PHP_Code
d17a0 43 6f 76 65 72 61 67 65 5f 52 65 70 6f 72 74 5f 4e 6f 64 65 5f 49 74 65 72 61 74 6f 72 27 20 3d Coverage_Report_Node_Iterator'.=
d17c0 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 63 6f 64 >.$vendorDir...'/phpunit/php-cod
d17e0 65 2d 63 6f 76 65 72 61 67 65 2f 50 48 50 2f 43 6f 64 65 43 6f 76 65 72 61 67 65 2f 52 65 70 6f e-coverage/PHP/CodeCoverage/Repo
d1800 72 74 2f 4e 6f 64 65 2f 49 74 65 72 61 74 6f 72 2e 70 68 70 27 2c 0a 27 50 48 50 5f 43 6f 64 65 rt/Node/Iterator.php',.'PHP_Code
d1820 43 6f 76 65 72 61 67 65 5f 52 65 70 6f 72 74 5f 50 48 50 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 Coverage_Report_PHP'.=>.$vendorD
d1840 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 63 6f 64 65 2d 63 6f 76 65 72 61 67 65 ir...'/phpunit/php-code-coverage
d1860 2f 50 48 50 2f 43 6f 64 65 43 6f 76 65 72 61 67 65 2f 52 65 70 6f 72 74 2f 50 48 50 2e 70 68 70 /PHP/CodeCoverage/Report/PHP.php
d1880 27 2c 0a 27 50 48 50 5f 43 6f 64 65 43 6f 76 65 72 61 67 65 5f 52 65 70 6f 72 74 5f 54 65 78 74 ',.'PHP_CodeCoverage_Report_Text
d18a0 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d '.=>.$vendorDir...'/phpunit/php-
d18c0 63 6f 64 65 2d 63 6f 76 65 72 61 67 65 2f 50 48 50 2f 43 6f 64 65 43 6f 76 65 72 61 67 65 2f 52 code-coverage/PHP/CodeCoverage/R
d18e0 65 70 6f 72 74 2f 54 65 78 74 2e 70 68 70 27 2c 0a 27 50 48 50 5f 43 6f 64 65 43 6f 76 65 72 61 eport/Text.php',.'PHP_CodeCovera
d1900 67 65 5f 55 74 69 6c 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e ge_Util'.=>.$vendorDir...'/phpun
d1920 69 74 2f 70 68 70 2d 63 6f 64 65 2d 63 6f 76 65 72 61 67 65 2f 50 48 50 2f 43 6f 64 65 43 6f 76 it/php-code-coverage/PHP/CodeCov
d1940 65 72 61 67 65 2f 55 74 69 6c 2e 70 68 70 27 2c 0a 27 50 48 50 5f 43 6f 64 65 43 6f 76 65 72 61 erage/Util.php',.'PHP_CodeCovera
d1960 67 65 5f 55 74 69 6c 5f 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 48 65 6c 70 65 72 27 20 3d ge_Util_InvalidArgumentHelper'.=
d1980 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 63 6f 64 >.$vendorDir...'/phpunit/php-cod
d19a0 65 2d 63 6f 76 65 72 61 67 65 2f 50 48 50 2f 43 6f 64 65 43 6f 76 65 72 61 67 65 2f 55 74 69 6c e-coverage/PHP/CodeCoverage/Util
d19c0 2f 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 48 65 6c 70 65 72 2e 70 68 70 27 2c 0a 27 50 48 /InvalidArgumentHelper.php',.'PH
d19e0 50 5f 43 6f 64 65 43 6f 76 65 72 61 67 65 5f 56 65 72 73 69 6f 6e 27 20 3d 3e 20 24 76 65 6e 64 P_CodeCoverage_Version'.=>.$vend
d1a00 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 63 6f 64 65 2d 63 6f 76 65 72 orDir...'/phpunit/php-code-cover
d1a20 61 67 65 2f 50 48 50 2f 43 6f 64 65 43 6f 76 65 72 61 67 65 2f 56 65 72 73 69 6f 6e 2e 70 68 70 age/PHP/CodeCoverage/Version.php
d1a40 27 2c 0a 27 50 48 50 5f 54 69 6d 65 72 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 ',.'PHP_Timer'.=>.$vendorDir...'
d1a60 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 69 6d 65 72 2f 50 48 50 2f 54 69 6d 65 72 2e 70 68 70 /phpunit/php-timer/PHP/Timer.php
d1a80 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 ',.'PHP_Token'.=>.$vendorDir...'
d1aa0 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f /phpunit/php-token-stream/PHP/To
d1ac0 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 57 69 74 68 53 63 6f 70 65 27 20 3d ken.php',.'PHP_TokenWithScope'.=
d1ae0 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b >.$vendorDir...'/phpunit/php-tok
d1b00 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 en-stream/PHP/Token.php',.'PHP_T
d1b20 6f 6b 65 6e 57 69 74 68 53 63 6f 70 65 41 6e 64 56 69 73 69 62 69 6c 69 74 79 27 20 3d 3e 20 24 okenWithScopeAndVisibility'.=>.$
d1b40 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d vendorDir...'/phpunit/php-token-
d1b60 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 stream/PHP/Token.php',.'PHP_Toke
d1b80 6e 5f 41 42 53 54 52 41 43 54 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 n_ABSTRACT'.=>.$vendorDir...'/ph
d1ba0 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e punit/php-token-stream/PHP/Token
d1bc0 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 41 4d 50 45 52 53 41 4e 44 27 20 3d 3e 20 .php',.'PHP_Token_AMPERSAND'.=>.
d1be0 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e $vendorDir...'/phpunit/php-token
d1c00 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b -stream/PHP/Token.php',.'PHP_Tok
d1c20 65 6e 5f 41 4e 44 5f 45 51 55 41 4c 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f en_AND_EQUAL'.=>.$vendorDir...'/
d1c40 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b phpunit/php-token-stream/PHP/Tok
d1c60 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 41 52 52 41 59 27 20 3d 3e 20 24 76 en.php',.'PHP_Token_ARRAY'.=>.$v
d1c80 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 endorDir...'/phpunit/php-token-s
d1ca0 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e tream/PHP/Token.php',.'PHP_Token
d1cc0 5f 41 52 52 41 59 5f 43 41 53 54 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 _ARRAY_CAST'.=>.$vendorDir...'/p
d1ce0 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 hpunit/php-token-stream/PHP/Toke
d1d00 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 41 53 27 20 3d 3e 20 24 76 65 6e 64 6f n.php',.'PHP_Token_AS'.=>.$vendo
d1d20 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 rDir...'/phpunit/php-token-strea
d1d40 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 41 54 27 m/PHP/Token.php',.'PHP_Token_AT'
d1d60 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 .=>.$vendorDir...'/phpunit/php-t
d1d80 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 oken-stream/PHP/Token.php',.'PHP
d1da0 5f 54 6f 6b 65 6e 5f 42 41 43 4b 54 49 43 4b 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e _Token_BACKTICK'.=>.$vendorDir..
d1dc0 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f .'/phpunit/php-token-stream/PHP/
d1de0 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 42 41 44 5f 43 48 41 52 41 Token.php',.'PHP_Token_BAD_CHARA
d1e00 43 54 45 52 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f CTER'.=>.$vendorDir...'/phpunit/
d1e20 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c php-token-stream/PHP/Token.php',
d1e40 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 42 4f 4f 4c 45 41 4e 5f 41 4e 44 27 20 3d 3e 20 24 76 65 6e .'PHP_Token_BOOLEAN_AND'.=>.$ven
d1e60 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 dorDir...'/phpunit/php-token-str
d1e80 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 42 eam/PHP/Token.php',.'PHP_Token_B
d1ea0 4f 4f 4c 45 41 4e 5f 4f 52 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 OOLEAN_OR'.=>.$vendorDir...'/php
d1ec0 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e unit/php-token-stream/PHP/Token.
d1ee0 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 42 4f 4f 4c 5f 43 41 53 54 27 20 3d 3e 20 24 php',.'PHP_Token_BOOL_CAST'.=>.$
d1f00 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d vendorDir...'/phpunit/php-token-
d1f20 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 stream/PHP/Token.php',.'PHP_Toke
d1f40 6e 5f 42 52 45 41 4b 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e n_BREAK'.=>.$vendorDir...'/phpun
d1f60 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 it/php-token-stream/PHP/Token.ph
d1f80 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 43 41 4c 4c 41 42 4c 45 27 20 3d 3e 20 24 76 65 6e p',.'PHP_Token_CALLABLE'.=>.$ven
d1fa0 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 dorDir...'/phpunit/php-token-str
d1fc0 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 43 eam/PHP/Token.php',.'PHP_Token_C
d1fe0 41 52 45 54 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f ARET'.=>.$vendorDir...'/phpunit/
d2000 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c php-token-stream/PHP/Token.php',
d2020 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 43 41 53 45 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 .'PHP_Token_CASE'.=>.$vendorDir.
d2040 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 ..'/phpunit/php-token-stream/PHP
d2060 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 43 41 54 43 48 27 20 3d /Token.php',.'PHP_Token_CATCH'.=
d2080 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b >.$vendorDir...'/phpunit/php-tok
d20a0 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 en-stream/PHP/Token.php',.'PHP_T
d20c0 6f 6b 65 6e 5f 43 48 41 52 41 43 54 45 52 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 oken_CHARACTER'.=>.$vendorDir...
d20e0 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 '/phpunit/php-token-stream/PHP/T
d2100 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 43 4c 41 53 53 27 20 3d 3e 20 oken.php',.'PHP_Token_CLASS'.=>.
d2120 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e $vendorDir...'/phpunit/php-token
d2140 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b -stream/PHP/Token.php',.'PHP_Tok
d2160 65 6e 5f 43 4c 41 53 53 5f 43 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 en_CLASS_C'.=>.$vendorDir...'/ph
d2180 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e punit/php-token-stream/PHP/Token
d21a0 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 43 4c 4f 4e 45 27 20 3d 3e 20 24 76 65 6e .php',.'PHP_Token_CLONE'.=>.$ven
d21c0 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 dorDir...'/phpunit/php-token-str
d21e0 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 43 eam/PHP/Token.php',.'PHP_Token_C
d2200 4c 4f 53 45 5f 42 52 41 43 4b 45 54 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f LOSE_BRACKET'.=>.$vendorDir...'/
d2220 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b phpunit/php-token-stream/PHP/Tok
d2240 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 43 4c 4f 53 45 5f 43 55 52 4c 59 27 en.php',.'PHP_Token_CLOSE_CURLY'
d2260 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 .=>.$vendorDir...'/phpunit/php-t
d2280 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 oken-stream/PHP/Token.php',.'PHP
d22a0 5f 54 6f 6b 65 6e 5f 43 4c 4f 53 45 5f 53 51 55 41 52 45 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 _Token_CLOSE_SQUARE'.=>.$vendorD
d22c0 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f ir...'/phpunit/php-token-stream/
d22e0 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 43 4c 4f 53 45 PHP/Token.php',.'PHP_Token_CLOSE
d2300 5f 54 41 47 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f _TAG'.=>.$vendorDir...'/phpunit/
d2320 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c php-token-stream/PHP/Token.php',
d2340 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 43 4f 4c 4f 4e 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 .'PHP_Token_COLON'.=>.$vendorDir
d2360 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 ...'/phpunit/php-token-stream/PH
d2380 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 43 4f 4d 4d 41 27 20 P/Token.php',.'PHP_Token_COMMA'.
d23a0 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f =>.$vendorDir...'/phpunit/php-to
d23c0 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f ken-stream/PHP/Token.php',.'PHP_
d23e0 54 6f 6b 65 6e 5f 43 4f 4d 4d 45 4e 54 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 Token_COMMENT'.=>.$vendorDir...'
d2400 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f /phpunit/php-token-stream/PHP/To
d2420 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 43 4f 4e 43 41 54 5f 45 51 55 41 ken.php',.'PHP_Token_CONCAT_EQUA
d2440 4c 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 L'.=>.$vendorDir...'/phpunit/php
d2460 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 -token-stream/PHP/Token.php',.'P
d2480 48 50 5f 54 6f 6b 65 6e 5f 43 4f 4e 53 54 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 HP_Token_CONST'.=>.$vendorDir...
d24a0 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 '/phpunit/php-token-stream/PHP/T
d24c0 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 43 4f 4e 53 54 41 4e 54 5f 45 oken.php',.'PHP_Token_CONSTANT_E
d24e0 4e 43 41 50 53 45 44 5f 53 54 52 49 4e 47 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 NCAPSED_STRING'.=>.$vendorDir...
d2500 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 '/phpunit/php-token-stream/PHP/T
d2520 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 43 4f 4e 54 49 4e 55 45 27 20 oken.php',.'PHP_Token_CONTINUE'.
d2540 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f =>.$vendorDir...'/phpunit/php-to
d2560 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f ken-stream/PHP/Token.php',.'PHP_
d2580 54 6f 6b 65 6e 5f 43 55 52 4c 59 5f 4f 50 45 4e 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 Token_CURLY_OPEN'.=>.$vendorDir.
d25a0 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 ..'/phpunit/php-token-stream/PHP
d25c0 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 44 45 43 27 20 3d 3e 20 /Token.php',.'PHP_Token_DEC'.=>.
d25e0 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e $vendorDir...'/phpunit/php-token
d2600 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b -stream/PHP/Token.php',.'PHP_Tok
d2620 65 6e 5f 44 45 43 4c 41 52 45 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 en_DECLARE'.=>.$vendorDir...'/ph
d2640 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e punit/php-token-stream/PHP/Token
d2660 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 44 45 46 41 55 4c 54 27 20 3d 3e 20 24 76 .php',.'PHP_Token_DEFAULT'.=>.$v
d2680 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 endorDir...'/phpunit/php-token-s
d26a0 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e tream/PHP/Token.php',.'PHP_Token
d26c0 5f 44 49 52 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f _DIR'.=>.$vendorDir...'/phpunit/
d26e0 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c php-token-stream/PHP/Token.php',
d2700 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 44 49 56 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e .'PHP_Token_DIV'.=>.$vendorDir..
d2720 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f .'/phpunit/php-token-stream/PHP/
d2740 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 44 49 56 5f 45 51 55 41 4c Token.php',.'PHP_Token_DIV_EQUAL
d2760 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d '.=>.$vendorDir...'/phpunit/php-
d2780 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 token-stream/PHP/Token.php',.'PH
d27a0 50 5f 54 6f 6b 65 6e 5f 44 4e 55 4d 42 45 52 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e P_Token_DNUMBER'.=>.$vendorDir..
d27c0 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f .'/phpunit/php-token-stream/PHP/
d27e0 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 44 4f 27 20 3d 3e 20 24 76 Token.php',.'PHP_Token_DO'.=>.$v
d2800 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 endorDir...'/phpunit/php-token-s
d2820 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e tream/PHP/Token.php',.'PHP_Token
d2840 5f 44 4f 43 5f 43 4f 4d 4d 45 4e 54 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f _DOC_COMMENT'.=>.$vendorDir...'/
d2860 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b phpunit/php-token-stream/PHP/Tok
d2880 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 44 4f 4c 4c 41 52 27 20 3d 3e 20 24 en.php',.'PHP_Token_DOLLAR'.=>.$
d28a0 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d vendorDir...'/phpunit/php-token-
d28c0 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 stream/PHP/Token.php',.'PHP_Toke
d28e0 6e 5f 44 4f 4c 4c 41 52 5f 4f 50 45 4e 5f 43 55 52 4c 59 5f 42 52 41 43 45 53 27 20 3d 3e 20 24 n_DOLLAR_OPEN_CURLY_BRACES'.=>.$
d2900 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d vendorDir...'/phpunit/php-token-
d2920 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 stream/PHP/Token.php',.'PHP_Toke
d2940 6e 5f 44 4f 54 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 n_DOT'.=>.$vendorDir...'/phpunit
d2960 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 /php-token-stream/PHP/Token.php'
d2980 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 44 4f 55 42 4c 45 5f 41 52 52 4f 57 27 20 3d 3e 20 24 76 ,.'PHP_Token_DOUBLE_ARROW'.=>.$v
d29a0 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 endorDir...'/phpunit/php-token-s
d29c0 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e tream/PHP/Token.php',.'PHP_Token
d29e0 5f 44 4f 55 42 4c 45 5f 43 41 53 54 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f _DOUBLE_CAST'.=>.$vendorDir...'/
d2a00 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b phpunit/php-token-stream/PHP/Tok
d2a20 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 44 4f 55 42 4c 45 5f 43 4f 4c 4f 4e en.php',.'PHP_Token_DOUBLE_COLON
d2a40 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d '.=>.$vendorDir...'/phpunit/php-
d2a60 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 token-stream/PHP/Token.php',.'PH
d2a80 50 5f 54 6f 6b 65 6e 5f 44 4f 55 42 4c 45 5f 51 55 4f 54 45 53 27 20 3d 3e 20 24 76 65 6e 64 6f P_Token_DOUBLE_QUOTES'.=>.$vendo
d2aa0 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 rDir...'/phpunit/php-token-strea
d2ac0 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 45 43 48 m/PHP/Token.php',.'PHP_Token_ECH
d2ae0 4f 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 O'.=>.$vendorDir...'/phpunit/php
d2b00 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 -token-stream/PHP/Token.php',.'P
d2b20 48 50 5f 54 6f 6b 65 6e 5f 45 4c 53 45 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 HP_Token_ELSE'.=>.$vendorDir...'
d2b40 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f /phpunit/php-token-stream/PHP/To
d2b60 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 45 4c 53 45 49 46 27 20 3d 3e 20 ken.php',.'PHP_Token_ELSEIF'.=>.
d2b80 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e $vendorDir...'/phpunit/php-token
d2ba0 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b -stream/PHP/Token.php',.'PHP_Tok
d2bc0 65 6e 5f 45 4d 50 54 59 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 en_EMPTY'.=>.$vendorDir...'/phpu
d2be0 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 nit/php-token-stream/PHP/Token.p
d2c00 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 45 4e 43 41 50 53 45 44 5f 41 4e 44 5f 57 48 49 hp',.'PHP_Token_ENCAPSED_AND_WHI
d2c20 54 45 53 50 41 43 45 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e TESPACE'.=>.$vendorDir...'/phpun
d2c40 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 it/php-token-stream/PHP/Token.ph
d2c60 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 45 4e 44 44 45 43 4c 41 52 45 27 20 3d 3e 20 24 76 p',.'PHP_Token_ENDDECLARE'.=>.$v
d2c80 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 endorDir...'/phpunit/php-token-s
d2ca0 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e tream/PHP/Token.php',.'PHP_Token
d2cc0 5f 45 4e 44 46 4f 52 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e _ENDFOR'.=>.$vendorDir...'/phpun
d2ce0 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 it/php-token-stream/PHP/Token.ph
d2d00 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 45 4e 44 46 4f 52 45 41 43 48 27 20 3d 3e 20 24 76 p',.'PHP_Token_ENDFOREACH'.=>.$v
d2d20 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 endorDir...'/phpunit/php-token-s
d2d40 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e tream/PHP/Token.php',.'PHP_Token
d2d60 5f 45 4e 44 49 46 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 _ENDIF'.=>.$vendorDir...'/phpuni
d2d80 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 t/php-token-stream/PHP/Token.php
d2da0 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 45 4e 44 53 57 49 54 43 48 27 20 3d 3e 20 24 76 65 6e ',.'PHP_Token_ENDSWITCH'.=>.$ven
d2dc0 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 dorDir...'/phpunit/php-token-str
d2de0 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 45 eam/PHP/Token.php',.'PHP_Token_E
d2e00 4e 44 57 48 49 4c 45 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e NDWHILE'.=>.$vendorDir...'/phpun
d2e20 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 it/php-token-stream/PHP/Token.ph
d2e40 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 45 4e 44 5f 48 45 52 45 44 4f 43 27 20 3d 3e 20 24 p',.'PHP_Token_END_HEREDOC'.=>.$
d2e60 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d vendorDir...'/phpunit/php-token-
d2e80 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 stream/PHP/Token.php',.'PHP_Toke
d2ea0 6e 5f 45 51 55 41 4c 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e n_EQUAL'.=>.$vendorDir...'/phpun
d2ec0 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 it/php-token-stream/PHP/Token.ph
d2ee0 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 45 56 41 4c 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 p',.'PHP_Token_EVAL'.=>.$vendorD
d2f00 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f ir...'/phpunit/php-token-stream/
d2f20 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 45 58 43 4c 41 PHP/Token.php',.'PHP_Token_EXCLA
d2f40 4d 41 54 49 4f 4e 5f 4d 41 52 4b 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 MATION_MARK'.=>.$vendorDir...'/p
d2f60 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 hpunit/php-token-stream/PHP/Toke
d2f80 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 45 58 49 54 27 20 3d 3e 20 24 76 65 6e n.php',.'PHP_Token_EXIT'.=>.$ven
d2fa0 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 dorDir...'/phpunit/php-token-str
d2fc0 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 45 eam/PHP/Token.php',.'PHP_Token_E
d2fe0 58 54 45 4e 44 53 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 XTENDS'.=>.$vendorDir...'/phpuni
d3000 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 t/php-token-stream/PHP/Token.php
d3020 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 46 49 4c 45 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 ',.'PHP_Token_FILE'.=>.$vendorDi
d3040 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 r...'/phpunit/php-token-stream/P
d3060 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 46 49 4e 41 4c 27 HP/Token.php',.'PHP_Token_FINAL'
d3080 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 .=>.$vendorDir...'/phpunit/php-t
d30a0 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 oken-stream/PHP/Token.php',.'PHP
d30c0 5f 54 6f 6b 65 6e 5f 46 4f 52 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 _Token_FOR'.=>.$vendorDir...'/ph
d30e0 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e punit/php-token-stream/PHP/Token
d3100 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 46 4f 52 45 41 43 48 27 20 3d 3e 20 24 76 .php',.'PHP_Token_FOREACH'.=>.$v
d3120 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 endorDir...'/phpunit/php-token-s
d3140 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e tream/PHP/Token.php',.'PHP_Token
d3160 5f 46 55 4e 43 54 49 4f 4e 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 _FUNCTION'.=>.$vendorDir...'/php
d3180 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e unit/php-token-stream/PHP/Token.
d31a0 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 46 55 4e 43 5f 43 27 20 3d 3e 20 24 76 65 6e php',.'PHP_Token_FUNC_C'.=>.$ven
d31c0 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 dorDir...'/phpunit/php-token-str
d31e0 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 47 eam/PHP/Token.php',.'PHP_Token_G
d3200 4c 4f 42 41 4c 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 LOBAL'.=>.$vendorDir...'/phpunit
d3220 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 /php-token-stream/PHP/Token.php'
d3240 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 47 4f 54 4f 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 ,.'PHP_Token_GOTO'.=>.$vendorDir
d3260 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 ...'/phpunit/php-token-stream/PH
d3280 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 47 54 27 20 3d 3e 20 P/Token.php',.'PHP_Token_GT'.=>.
d32a0 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e $vendorDir...'/phpunit/php-token
d32c0 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b -stream/PHP/Token.php',.'PHP_Tok
d32e0 65 6e 5f 48 41 4c 54 5f 43 4f 4d 50 49 4c 45 52 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 en_HALT_COMPILER'.=>.$vendorDir.
d3300 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 ..'/phpunit/php-token-stream/PHP
d3320 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 49 46 27 20 3d 3e 20 24 /Token.php',.'PHP_Token_IF'.=>.$
d3340 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d vendorDir...'/phpunit/php-token-
d3360 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 stream/PHP/Token.php',.'PHP_Toke
d3380 6e 5f 49 4d 50 4c 45 4d 45 4e 54 53 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f n_IMPLEMENTS'.=>.$vendorDir...'/
d33a0 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b phpunit/php-token-stream/PHP/Tok
d33c0 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 49 4e 43 27 20 3d 3e 20 24 76 65 6e en.php',.'PHP_Token_INC'.=>.$ven
d33e0 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 dorDir...'/phpunit/php-token-str
d3400 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 49 eam/PHP/Token.php',.'PHP_Token_I
d3420 4e 43 4c 55 44 45 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 NCLUDE'.=>.$vendorDir...'/phpuni
d3440 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 t/php-token-stream/PHP/Token.php
d3460 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 49 4e 43 4c 55 44 45 5f 4f 4e 43 45 27 20 3d 3e 20 24 ',.'PHP_Token_INCLUDE_ONCE'.=>.$
d3480 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d vendorDir...'/phpunit/php-token-
d34a0 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 stream/PHP/Token.php',.'PHP_Toke
d34c0 6e 5f 49 4e 4c 49 4e 45 5f 48 54 4d 4c 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 n_INLINE_HTML'.=>.$vendorDir...'
d34e0 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f /phpunit/php-token-stream/PHP/To
d3500 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 49 4e 53 54 41 4e 43 45 4f 46 27 ken.php',.'PHP_Token_INSTANCEOF'
d3520 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 .=>.$vendorDir...'/phpunit/php-t
d3540 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 oken-stream/PHP/Token.php',.'PHP
d3560 5f 54 6f 6b 65 6e 5f 49 4e 53 54 45 41 44 4f 46 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 _Token_INSTEADOF'.=>.$vendorDir.
d3580 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 ..'/phpunit/php-token-stream/PHP
d35a0 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 49 4e 54 45 52 46 41 43 /Token.php',.'PHP_Token_INTERFAC
d35c0 45 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 E'.=>.$vendorDir...'/phpunit/php
d35e0 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 -token-stream/PHP/Token.php',.'P
d3600 48 50 5f 54 6f 6b 65 6e 5f 49 4e 54 5f 43 41 53 54 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 HP_Token_INT_CAST'.=>.$vendorDir
d3620 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 ...'/phpunit/php-token-stream/PH
d3640 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 49 53 53 45 54 27 20 P/Token.php',.'PHP_Token_ISSET'.
d3660 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f =>.$vendorDir...'/phpunit/php-to
d3680 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f ken-stream/PHP/Token.php',.'PHP_
d36a0 54 6f 6b 65 6e 5f 49 53 5f 45 51 55 41 4c 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 Token_IS_EQUAL'.=>.$vendorDir...
d36c0 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 '/phpunit/php-token-stream/PHP/T
d36e0 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 49 53 5f 47 52 45 41 54 45 52 oken.php',.'PHP_Token_IS_GREATER
d3700 5f 4f 52 5f 45 51 55 41 4c 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 _OR_EQUAL'.=>.$vendorDir...'/php
d3720 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e unit/php-token-stream/PHP/Token.
d3740 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 49 53 5f 49 44 45 4e 54 49 43 41 4c 27 20 3d php',.'PHP_Token_IS_IDENTICAL'.=
d3760 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b >.$vendorDir...'/phpunit/php-tok
d3780 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 en-stream/PHP/Token.php',.'PHP_T
d37a0 6f 6b 65 6e 5f 49 53 5f 4e 4f 54 5f 45 51 55 41 4c 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 oken_IS_NOT_EQUAL'.=>.$vendorDir
d37c0 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 ...'/phpunit/php-token-stream/PH
d37e0 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 49 53 5f 4e 4f 54 5f P/Token.php',.'PHP_Token_IS_NOT_
d3800 49 44 45 4e 54 49 43 41 4c 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 IDENTICAL'.=>.$vendorDir...'/php
d3820 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e unit/php-token-stream/PHP/Token.
d3840 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 49 53 5f 53 4d 41 4c 4c 45 52 5f 4f 52 5f 45 php',.'PHP_Token_IS_SMALLER_OR_E
d3860 51 55 41 4c 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f QUAL'.=>.$vendorDir...'/phpunit/
d3880 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c php-token-stream/PHP/Token.php',
d38a0 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 49 6e 63 6c 75 64 65 73 27 20 3d 3e 20 24 76 65 6e 64 6f 72 .'PHP_Token_Includes'.=>.$vendor
d38c0 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d Dir...'/phpunit/php-token-stream
d38e0 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 4c 49 4e 45 /PHP/Token.php',.'PHP_Token_LINE
d3900 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d '.=>.$vendorDir...'/phpunit/php-
d3920 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 token-stream/PHP/Token.php',.'PH
d3940 50 5f 54 6f 6b 65 6e 5f 4c 49 53 54 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f P_Token_LIST'.=>.$vendorDir...'/
d3960 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b phpunit/php-token-stream/PHP/Tok
d3980 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 4c 4e 55 4d 42 45 52 27 20 3d 3e 20 en.php',.'PHP_Token_LNUMBER'.=>.
d39a0 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e $vendorDir...'/phpunit/php-token
d39c0 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b -stream/PHP/Token.php',.'PHP_Tok
d39e0 65 6e 5f 4c 4f 47 49 43 41 4c 5f 41 4e 44 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 en_LOGICAL_AND'.=>.$vendorDir...
d3a00 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 '/phpunit/php-token-stream/PHP/T
d3a20 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 4c 4f 47 49 43 41 4c 5f 4f 52 oken.php',.'PHP_Token_LOGICAL_OR
d3a40 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d '.=>.$vendorDir...'/phpunit/php-
d3a60 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 token-stream/PHP/Token.php',.'PH
d3a80 50 5f 54 6f 6b 65 6e 5f 4c 4f 47 49 43 41 4c 5f 58 4f 52 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 P_Token_LOGICAL_XOR'.=>.$vendorD
d3aa0 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f ir...'/phpunit/php-token-stream/
d3ac0 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 4c 54 27 20 3d PHP/Token.php',.'PHP_Token_LT'.=
d3ae0 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b >.$vendorDir...'/phpunit/php-tok
d3b00 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 en-stream/PHP/Token.php',.'PHP_T
d3b20 6f 6b 65 6e 5f 4d 45 54 48 4f 44 5f 43 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 oken_METHOD_C'.=>.$vendorDir...'
d3b40 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f /phpunit/php-token-stream/PHP/To
d3b60 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 4d 49 4e 55 53 27 20 3d 3e 20 24 ken.php',.'PHP_Token_MINUS'.=>.$
d3b80 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d vendorDir...'/phpunit/php-token-
d3ba0 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 stream/PHP/Token.php',.'PHP_Toke
d3bc0 6e 5f 4d 49 4e 55 53 5f 45 51 55 41 4c 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 n_MINUS_EQUAL'.=>.$vendorDir...'
d3be0 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f /phpunit/php-token-stream/PHP/To
d3c00 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 4d 4f 44 5f 45 51 55 41 4c 27 20 ken.php',.'PHP_Token_MOD_EQUAL'.
d3c20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f =>.$vendorDir...'/phpunit/php-to
d3c40 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f ken-stream/PHP/Token.php',.'PHP_
d3c60 54 6f 6b 65 6e 5f 4d 55 4c 54 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 Token_MULT'.=>.$vendorDir...'/ph
d3c80 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e punit/php-token-stream/PHP/Token
d3ca0 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 4d 55 4c 5f 45 51 55 41 4c 27 20 3d 3e 20 .php',.'PHP_Token_MUL_EQUAL'.=>.
d3cc0 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e $vendorDir...'/phpunit/php-token
d3ce0 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b -stream/PHP/Token.php',.'PHP_Tok
d3d00 65 6e 5f 4e 41 4d 45 53 50 41 43 45 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f en_NAMESPACE'.=>.$vendorDir...'/
d3d20 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b phpunit/php-token-stream/PHP/Tok
d3d40 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 4e 45 57 27 20 3d 3e 20 24 76 65 6e en.php',.'PHP_Token_NEW'.=>.$ven
d3d60 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 dorDir...'/phpunit/php-token-str
d3d80 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 4e eam/PHP/Token.php',.'PHP_Token_N
d3da0 53 5f 43 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 S_C'.=>.$vendorDir...'/phpunit/p
d3dc0 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a hp-token-stream/PHP/Token.php',.
d3de0 27 50 48 50 5f 54 6f 6b 65 6e 5f 4e 53 5f 53 45 50 41 52 41 54 4f 52 27 20 3d 3e 20 24 76 65 6e 'PHP_Token_NS_SEPARATOR'.=>.$ven
d3e00 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 dorDir...'/phpunit/php-token-str
d3e20 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 4e eam/PHP/Token.php',.'PHP_Token_N
d3e40 55 4d 5f 53 54 52 49 4e 47 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 UM_STRING'.=>.$vendorDir...'/php
d3e60 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e unit/php-token-stream/PHP/Token.
d3e80 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 4f 42 4a 45 43 54 5f 43 41 53 54 27 20 3d 3e php',.'PHP_Token_OBJECT_CAST'.=>
d3ea0 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 .$vendorDir...'/phpunit/php-toke
d3ec0 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f n-stream/PHP/Token.php',.'PHP_To
d3ee0 6b 65 6e 5f 4f 42 4a 45 43 54 5f 4f 50 45 52 41 54 4f 52 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 ken_OBJECT_OPERATOR'.=>.$vendorD
d3f00 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f ir...'/phpunit/php-token-stream/
d3f20 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 4f 50 45 4e 5f PHP/Token.php',.'PHP_Token_OPEN_
d3f40 42 52 41 43 4b 45 54 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e BRACKET'.=>.$vendorDir...'/phpun
d3f60 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 it/php-token-stream/PHP/Token.ph
d3f80 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 4f 50 45 4e 5f 43 55 52 4c 59 27 20 3d 3e 20 24 76 p',.'PHP_Token_OPEN_CURLY'.=>.$v
d3fa0 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 endorDir...'/phpunit/php-token-s
d3fc0 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e tream/PHP/Token.php',.'PHP_Token
d3fe0 5f 4f 50 45 4e 5f 53 51 55 41 52 45 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f _OPEN_SQUARE'.=>.$vendorDir...'/
d4000 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b phpunit/php-token-stream/PHP/Tok
d4020 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 4f 50 45 4e 5f 54 41 47 27 20 3d 3e en.php',.'PHP_Token_OPEN_TAG'.=>
d4040 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 .$vendorDir...'/phpunit/php-toke
d4060 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f n-stream/PHP/Token.php',.'PHP_To
d4080 6b 65 6e 5f 4f 50 45 4e 5f 54 41 47 5f 57 49 54 48 5f 45 43 48 4f 27 20 3d 3e 20 24 76 65 6e 64 ken_OPEN_TAG_WITH_ECHO'.=>.$vend
d40a0 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 orDir...'/phpunit/php-token-stre
d40c0 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 4f 52 am/PHP/Token.php',.'PHP_Token_OR
d40e0 5f 45 51 55 41 4c 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 _EQUAL'.=>.$vendorDir...'/phpuni
d4100 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 t/php-token-stream/PHP/Token.php
d4120 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 50 41 41 4d 41 59 49 4d 5f 4e 45 4b 55 44 4f 54 41 59 ',.'PHP_Token_PAAMAYIM_NEKUDOTAY
d4140 49 4d 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 IM'.=>.$vendorDir...'/phpunit/ph
d4160 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 p-token-stream/PHP/Token.php',.'
d4180 50 48 50 5f 54 6f 6b 65 6e 5f 50 45 52 43 45 4e 54 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 PHP_Token_PERCENT'.=>.$vendorDir
d41a0 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 ...'/phpunit/php-token-stream/PH
d41c0 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 50 49 50 45 27 20 3d P/Token.php',.'PHP_Token_PIPE'.=
d41e0 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b >.$vendorDir...'/phpunit/php-tok
d4200 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 en-stream/PHP/Token.php',.'PHP_T
d4220 6f 6b 65 6e 5f 50 4c 55 53 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 oken_PLUS'.=>.$vendorDir...'/php
d4240 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e unit/php-token-stream/PHP/Token.
d4260 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 50 4c 55 53 5f 45 51 55 41 4c 27 20 3d 3e 20 php',.'PHP_Token_PLUS_EQUAL'.=>.
d4280 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e $vendorDir...'/phpunit/php-token
d42a0 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b -stream/PHP/Token.php',.'PHP_Tok
d42c0 65 6e 5f 50 52 49 4e 54 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 en_PRINT'.=>.$vendorDir...'/phpu
d42e0 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 nit/php-token-stream/PHP/Token.p
d4300 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 50 52 49 56 41 54 45 27 20 3d 3e 20 24 76 65 6e hp',.'PHP_Token_PRIVATE'.=>.$ven
d4320 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 dorDir...'/phpunit/php-token-str
d4340 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 50 eam/PHP/Token.php',.'PHP_Token_P
d4360 52 4f 54 45 43 54 45 44 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 ROTECTED'.=>.$vendorDir...'/phpu
d4380 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 nit/php-token-stream/PHP/Token.p
d43a0 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 50 55 42 4c 49 43 27 20 3d 3e 20 24 76 65 6e 64 hp',.'PHP_Token_PUBLIC'.=>.$vend
d43c0 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 orDir...'/phpunit/php-token-stre
d43e0 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 51 55 am/PHP/Token.php',.'PHP_Token_QU
d4400 45 53 54 49 4f 4e 5f 4d 41 52 4b 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 ESTION_MARK'.=>.$vendorDir...'/p
d4420 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 hpunit/php-token-stream/PHP/Toke
d4440 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 52 45 51 55 49 52 45 27 20 3d 3e 20 24 n.php',.'PHP_Token_REQUIRE'.=>.$
d4460 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d vendorDir...'/phpunit/php-token-
d4480 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 stream/PHP/Token.php',.'PHP_Toke
d44a0 6e 5f 52 45 51 55 49 52 45 5f 4f 4e 43 45 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 n_REQUIRE_ONCE'.=>.$vendorDir...
d44c0 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 '/phpunit/php-token-stream/PHP/T
d44e0 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 52 45 54 55 52 4e 27 20 3d 3e oken.php',.'PHP_Token_RETURN'.=>
d4500 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 .$vendorDir...'/phpunit/php-toke
d4520 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f n-stream/PHP/Token.php',.'PHP_To
d4540 6b 65 6e 5f 53 45 4d 49 43 4f 4c 4f 4e 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 ken_SEMICOLON'.=>.$vendorDir...'
d4560 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f /phpunit/php-token-stream/PHP/To
d4580 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 53 4c 27 20 3d 3e 20 24 76 65 6e ken.php',.'PHP_Token_SL'.=>.$ven
d45a0 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 dorDir...'/phpunit/php-token-str
d45c0 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 53 eam/PHP/Token.php',.'PHP_Token_S
d45e0 4c 5f 45 51 55 41 4c 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e L_EQUAL'.=>.$vendorDir...'/phpun
d4600 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 it/php-token-stream/PHP/Token.ph
d4620 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 53 52 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 p',.'PHP_Token_SR'.=>.$vendorDir
d4640 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 ...'/phpunit/php-token-stream/PH
d4660 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 53 52 5f 45 51 55 41 P/Token.php',.'PHP_Token_SR_EQUA
d4680 4c 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 L'.=>.$vendorDir...'/phpunit/php
d46a0 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 -token-stream/PHP/Token.php',.'P
d46c0 48 50 5f 54 6f 6b 65 6e 5f 53 54 41 52 54 5f 48 45 52 45 44 4f 43 27 20 3d 3e 20 24 76 65 6e 64 HP_Token_START_HEREDOC'.=>.$vend
d46e0 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 orDir...'/phpunit/php-token-stre
d4700 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 53 54 am/PHP/Token.php',.'PHP_Token_ST
d4720 41 54 49 43 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f ATIC'.=>.$vendorDir...'/phpunit/
d4740 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c php-token-stream/PHP/Token.php',
d4760 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 53 54 52 49 4e 47 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 .'PHP_Token_STRING'.=>.$vendorDi
d4780 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 r...'/phpunit/php-token-stream/P
d47a0 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 53 54 52 49 4e 47 HP/Token.php',.'PHP_Token_STRING
d47c0 5f 43 41 53 54 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 _CAST'.=>.$vendorDir...'/phpunit
d47e0 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 /php-token-stream/PHP/Token.php'
d4800 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 53 54 52 49 4e 47 5f 56 41 52 4e 41 4d 45 27 20 3d 3e 20 ,.'PHP_Token_STRING_VARNAME'.=>.
d4820 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e $vendorDir...'/phpunit/php-token
d4840 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b -stream/PHP/Token.php',.'PHP_Tok
d4860 65 6e 5f 53 57 49 54 43 48 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 en_SWITCH'.=>.$vendorDir...'/php
d4880 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e unit/php-token-stream/PHP/Token.
d48a0 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 53 74 72 65 61 6d 27 20 3d 3e 20 24 76 65 6e php',.'PHP_Token_Stream'.=>.$ven
d48c0 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 dorDir...'/phpunit/php-token-str
d48e0 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2f 53 74 72 65 61 6d 2e 70 68 70 27 2c 0a 27 50 48 50 5f eam/PHP/Token/Stream.php',.'PHP_
d4900 54 6f 6b 65 6e 5f 53 74 72 65 61 6d 5f 43 61 63 68 69 6e 67 46 61 63 74 6f 72 79 27 20 3d 3e 20 Token_Stream_CachingFactory'.=>.
d4920 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e $vendorDir...'/phpunit/php-token
d4940 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2f 53 74 72 65 61 6d 2f 43 61 63 68 69 6e 67 -stream/PHP/Token/Stream/Caching
d4960 46 61 63 74 6f 72 79 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 54 48 52 4f 57 27 20 Factory.php',.'PHP_Token_THROW'.
d4980 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f =>.$vendorDir...'/phpunit/php-to
d49a0 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f ken-stream/PHP/Token.php',.'PHP_
d49c0 54 6f 6b 65 6e 5f 54 49 4c 44 45 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 Token_TILDE'.=>.$vendorDir...'/p
d49e0 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 hpunit/php-token-stream/PHP/Toke
d4a00 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 54 52 41 49 54 27 20 3d 3e 20 24 76 65 n.php',.'PHP_Token_TRAIT'.=>.$ve
d4a20 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 ndorDir...'/phpunit/php-token-st
d4a40 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f ream/PHP/Token.php',.'PHP_Token_
d4a60 54 52 41 49 54 5f 43 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e TRAIT_C'.=>.$vendorDir...'/phpun
d4a80 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 it/php-token-stream/PHP/Token.ph
d4aa0 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 54 52 59 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 p',.'PHP_Token_TRY'.=>.$vendorDi
d4ac0 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 r...'/phpunit/php-token-stream/P
d4ae0 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 55 4e 53 45 54 27 HP/Token.php',.'PHP_Token_UNSET'
d4b00 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 .=>.$vendorDir...'/phpunit/php-t
d4b20 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 oken-stream/PHP/Token.php',.'PHP
d4b40 5f 54 6f 6b 65 6e 5f 55 4e 53 45 54 5f 43 41 53 54 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 _Token_UNSET_CAST'.=>.$vendorDir
d4b60 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 ...'/phpunit/php-token-stream/PH
d4b80 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 55 53 45 27 20 3d 3e P/Token.php',.'PHP_Token_USE'.=>
d4ba0 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 .$vendorDir...'/phpunit/php-toke
d4bc0 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f n-stream/PHP/Token.php',.'PHP_To
d4be0 6b 65 6e 5f 56 41 52 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e ken_VAR'.=>.$vendorDir...'/phpun
d4c00 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 it/php-token-stream/PHP/Token.ph
d4c20 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 56 41 52 49 41 42 4c 45 27 20 3d 3e 20 24 76 65 6e p',.'PHP_Token_VARIABLE'.=>.$ven
d4c40 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 dorDir...'/phpunit/php-token-str
d4c60 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 57 eam/PHP/Token.php',.'PHP_Token_W
d4c80 48 49 4c 45 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f HILE'.=>.$vendorDir...'/phpunit/
d4ca0 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c php-token-stream/PHP/Token.php',
d4cc0 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 57 48 49 54 45 53 50 41 43 45 27 20 3d 3e 20 24 76 65 6e 64 .'PHP_Token_WHITESPACE'.=>.$vend
d4ce0 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 orDir...'/phpunit/php-token-stre
d4d00 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 70 27 2c 0a 27 50 48 50 5f 54 6f 6b 65 6e 5f 58 4f am/PHP/Token.php',.'PHP_Token_XO
d4d20 52 5f 45 51 55 41 4c 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e R_EQUAL'.=>.$vendorDir...'/phpun
d4d40 69 74 2f 70 68 70 2d 74 6f 6b 65 6e 2d 73 74 72 65 61 6d 2f 50 48 50 2f 54 6f 6b 65 6e 2e 70 68 it/php-token-stream/PHP/Token.ph
d4d60 70 27 2c 0a 27 54 65 78 74 5f 54 65 6d 70 6c 61 74 65 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 69 p',.'Text_Template'.=>.$vendorDi
d4d80 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 65 78 74 2d 74 65 6d 70 6c 61 74 65 2f r...'/phpunit/php-text-template/
d4da0 54 65 78 74 2f 54 65 6d 70 6c 61 74 65 2e 70 68 70 27 2c 0a 29 3b 0a 3c 3f 70 68 70 0a 0a 0a 0a Text/Template.php',.);.<?php....
d4dc0 63 6c 61 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 30 38 62 39 class.ComposerAutoloaderInit08b9
d4de0 31 39 30 31 35 61 64 31 62 30 38 37 38 30 38 64 63 31 32 65 64 33 63 34 64 39 31 39 0a 7b 0a 70 19015ad1b087808dc12ed3c4d919.{.p
d4e00 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 6c 6f 61 64 65 72 3b 0a 0a 70 75 62 6c 69 63 20 73 rivate.static.$loader;..public.s
d4e20 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 43 6c 61 73 73 4c 6f 61 64 65 72 28 24 tatic.function.loadClassLoader($
d4e40 63 6c 61 73 73 29 0a 7b 0a 69 66 20 28 27 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 5c class).{.if.('Composer\Autoload\
d4e60 43 6c 61 73 73 4c 6f 61 64 65 72 27 20 3d 3d 3d 20 24 63 6c 61 73 73 29 20 7b 0a 72 65 71 75 69 ClassLoader'.===.$class).{.requi
d4e80 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 72 2e 70 68 70 27 3b re.__DIR__...'/ClassLoader.php';
d4ea0 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 67 65 74 .}.}..public.static.function.get
d4ec0 4c 6f 61 64 65 72 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 6c Loader().{.if.(null.!==.self::$l
d4ee0 6f 61 64 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 6c 6f 61 64 65 72 3b 0a 7d oader).{.return.self::$loader;.}
d4f00 0a 0a 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 43 ..spl_autoload_register(array('C
d4f20 6f 6d 70 6f 73 65 72 41 75 74 6f 6c 6f 61 64 65 72 49 6e 69 74 30 38 62 39 31 39 30 31 35 61 64 omposerAutoloaderInit08b919015ad
d4f40 31 62 30 38 37 38 30 38 64 63 31 32 65 64 33 63 34 64 39 31 39 27 2c 20 27 6c 6f 61 64 43 6c 61 1b087808dc12ed3c4d919',.'loadCla
d4f60 73 73 4c 6f 61 64 65 72 27 29 2c 20 74 72 75 65 2c 20 74 72 75 65 29 3b 0a 73 65 6c 66 3a 3a 24 ssLoader'),.true,.true);.self::$
d4f80 6c 6f 61 64 65 72 20 3d 20 24 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 5c 43 6f 6d 70 6f 73 65 72 loader.=.$loader.=.new.\Composer
d4fa0 5c 41 75 74 6f 6c 6f 61 64 5c 43 6c 61 73 73 4c 6f 61 64 65 72 28 29 3b 0a 73 70 6c 5f 61 75 74 \Autoload\ClassLoader();.spl_aut
d4fc0 6f 6c 6f 61 64 5f 75 6e 72 65 67 69 73 74 65 72 28 61 72 72 61 79 28 27 43 6f 6d 70 6f 73 65 72 oload_unregister(array('Composer
d4fe0 41 75 74 6f 6c 6f 61 64 65 72 49 6e 69 74 30 38 62 39 31 39 30 31 35 61 64 31 62 30 38 37 38 30 AutoloaderInit08b919015ad1b08780
d5000 38 64 63 31 32 65 64 33 63 34 64 39 31 39 27 2c 20 27 6c 6f 61 64 43 6c 61 73 73 4c 6f 61 64 65 8dc12ed3c4d919',.'loadClassLoade
d5020 72 27 29 29 3b 0a 0a 24 76 65 6e 64 6f 72 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 5f 5f 44 49 r'));..$vendorDir.=.dirname(__DI
d5040 52 5f 5f 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 R__);.$baseDir.=.dirname($vendor
d5060 44 69 72 29 3b 0a 0a 24 69 6e 63 6c 75 64 65 50 61 74 68 73 20 3d 20 72 65 71 75 69 72 65 20 5f Dir);..$includePaths.=.require._
d5080 5f 44 49 52 5f 5f 20 2e 20 27 2f 69 6e 63 6c 75 64 65 5f 70 61 74 68 73 2e 70 68 70 27 3b 0a 61 _DIR__...'/include_paths.php';.a
d50a0 72 72 61 79 5f 70 75 73 68 28 24 69 6e 63 6c 75 64 65 50 61 74 68 73 2c 20 67 65 74 5f 69 6e 63 rray_push($includePaths,.get_inc
d50c0 6c 75 64 65 5f 70 61 74 68 28 29 29 3b 0a 73 65 74 5f 69 6e 63 6c 75 64 65 5f 70 61 74 68 28 6a lude_path());.set_include_path(j
d50e0 6f 69 6e 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 oin(PATH_SEPARATOR,.$includePath
d5100 73 29 29 3b 0a 0a 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 s));..$map.=.require.__DIR__...'
d5120 2f 61 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 /autoload_namespaces.php';.forea
d5140 63 68 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 ch.($map.as.$namespace.=>.$path)
d5160 20 7b 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 .{.$loader->set($namespace,.$pat
d5180 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 5f 5f 44 49 52 h);.}..$classMap.=.require.__DIR
d51a0 5f 5f 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 3b 0a 69 __...'/autoload_classmap.php';.i
d51c0 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 6c 61 73 f.($classMap).{.$loader->addClas
d51e0 73 4d 61 70 28 24 63 6c 61 73 73 4d 61 70 29 3b 0a 7d 0a 0a 24 6c 6f 61 64 65 72 2d 3e 72 65 67 sMap($classMap);.}..$loader->reg
d5200 69 73 74 65 72 28 74 72 75 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 6c 6f 61 64 65 72 3b 0a 7d 0a ister(true);..return.$loader;.}.
d5220 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 24 76 65 6e 64 6f 72 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 }.<?php....$vendorDir.=.dirname(
d5240 64 69 72 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 29 3b 0a 24 62 61 73 65 44 69 72 20 3d 20 64 dirname(__FILE__));.$baseDir.=.d
d5260 69 72 6e 61 6d 65 28 24 76 65 6e 64 6f 72 44 69 72 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 irname($vendorDir);..return.arra
d5280 79 28 0a 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 74 6f y(.$vendorDir...'/phpunit/php-to
d52a0 6b 65 6e 2d 73 74 72 65 61 6d 27 2c 0a 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 ken-stream',.$vendorDir...'/phpu
d52c0 6e 69 74 2f 70 68 70 2d 74 65 78 74 2d 74 65 6d 70 6c 61 74 65 27 2c 0a 24 76 65 6e 64 6f 72 44 nit/php-text-template',.$vendorD
d52e0 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 2d 6d 6f 63 6b 2d 6f 62 6a 65 ir...'/phpunit/phpunit-mock-obje
d5300 63 74 73 27 2c 0a 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 cts',.$vendorDir...'/phpunit/php
d5320 2d 74 69 6d 65 72 27 2c 0a 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f -timer',.$vendorDir...'/phpunit/
d5340 70 68 70 2d 66 69 6c 65 2d 69 74 65 72 61 74 6f 72 27 2c 0a 24 76 65 6e 64 6f 72 44 69 72 20 2e php-file-iterator',.$vendorDir..
d5360 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 2d 63 6f 64 65 2d 63 6f 76 65 72 61 67 65 27 2c 0a 24 .'/phpunit/php-code-coverage',.$
d5380 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 68 70 75 6e 69 74 2f 70 68 70 75 6e 69 74 27 2c 0a vendorDir...'/phpunit/phpunit',.
d53a0 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 79 61 6d 6c 27 2c 0a 29 3b $vendorDir...'/symfony/yaml',.);
d53c0 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
d53e0 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 0a 0a 0a oser\Autoload;..................
d5400 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 0a 7b 0a ............class.ClassLoader.{.
d5420 70 72 69 76 61 74 65 20 24 70 72 65 66 69 78 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 private.$prefixes.=.array();.pri
d5440 76 61 74 65 20 24 66 61 6c 6c 62 61 63 6b 44 69 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 vate.$fallbackDirs.=.array();.pr
d5460 69 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 ivate.$useIncludePath.=.false;.p
d5480 72 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 0a 70 75 62 rivate.$classMap.=.array();..pub
d54a0 6c 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 72 65 74 lic.function.getPrefixes().{.ret
d54c0 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 79 5f urn.call_user_func_array('array_
d54e0 6d 65 72 67 65 27 2c 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 29 3b 0a 7d 0a 0a 70 75 62 merge',.$this->prefixes);.}..pub
d5500 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 73 28 29 0a 7b lic.function.getFallbackDirs().{
d5520 0a 72 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 3b 0a 7d 0a 0a .return.$this->fallbackDirs;.}..
d5540 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 0a 7b 0a public.function.getClassMap().{.
d5560 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 3b 0a 7d 0a 0a 0a 0a 0a 70 75 return.$this->classMap;.}.....pu
d5580 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 43 6c 61 73 73 4d 61 70 28 61 72 72 61 79 20 blic.function.addClassMap(array.
d55a0 24 63 6c 61 73 73 4d 61 70 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 $classMap).{.if.($this->classMap
d55c0 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 ).{.$this->classMap.=.array_merg
d55e0 65 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 2c 20 24 63 6c 61 73 73 4d 61 70 29 3b 0a 7d e($this->classMap,.$classMap);.}
d5600 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 20 3d 20 24 63 6c 61 73 73 .else.{.$this->classMap.=.$class
d5620 4d 61 70 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 69 6f 6e Map;.}.}.........public.function
d5640 20 61 64 64 28 24 70 72 65 66 69 78 2c 20 24 70 61 74 68 73 2c 20 24 70 72 65 70 65 6e 64 20 3d .add($prefix,.$paths,.$prepend.=
d5660 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 24 70 72 65 66 69 78 29 20 7b 0a 69 66 20 28 24 70 .false).{.if.(!$prefix).{.if.($p
d5680 72 65 70 65 6e 64 29 20 7b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 20 3d 20 repend).{.$this->fallbackDirs.=.
d56a0 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 28 61 72 72 61 79 29 20 24 70 61 74 68 73 2c 0a 24 74 68 array_merge(.(array).$paths,.$th
d56c0 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 0a 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 is->fallbackDirs.);.}.else.{.$th
d56e0 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a is->fallbackDirs.=.array_merge(.
d5700 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 2c 0a 28 61 72 72 61 79 29 20 24 70 61 $this->fallbackDirs,.(array).$pa
d5720 74 68 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 ths.);.}..return;.}..$first.=.$p
d5740 72 65 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 refix[0];.if.(!isset($this->pref
d5760 69 78 65 73 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 73 2d ixes[$first][$prefix])).{.$this-
d5780 3e 70 72 65 66 69 78 65 73 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 28 61 72 >prefixes[$first][$prefix].=.(ar
d57a0 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 20 28 24 70 72 65 ray).$paths;..return;.}.if.($pre
d57c0 70 65 6e 64 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 5b 24 66 69 72 73 74 5d 5b pend).{.$this->prefixes[$first][
d57e0 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 29 20 $prefix].=.array_merge(.(array).
d5800 24 70 61 74 68 73 2c 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 5b 24 66 69 72 73 74 5d 5b $paths,.$this->prefixes[$first][
d5820 24 70 72 65 66 69 78 5d 0a 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 70 72 65 66 $prefix].);.}.else.{.$this->pref
d5840 69 78 65 73 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 ixes[$first][$prefix].=.array_me
d5860 72 67 65 28 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 5b 24 66 69 72 73 74 5d 5b 24 70 72 rge(.$this->prefixes[$first][$pr
d5880 65 66 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 efix],.(array).$paths.);.}.}....
d58a0 0a 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 ....public.function.set($prefix,
d58c0 20 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 .$paths).{.if.(!$prefix).{.$this
d58e0 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 20 3d 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 3b ->fallbackDirs.=.(array).$paths;
d5900 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 5b 73 75 62 73 ..return;.}.$this->prefixes[subs
d5920 74 72 28 24 70 72 65 66 69 78 2c 20 30 2c 20 31 29 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 28 61 tr($prefix,.0,.1)][$prefix].=.(a
d5940 72 72 61 79 29 20 24 70 61 74 68 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e rray).$paths;.}.......public.fun
d5960 63 74 69 6f 6e 20 73 65 74 55 73 65 49 6e 63 6c 75 64 65 50 61 74 68 28 24 75 73 65 49 6e 63 6c ction.setUseIncludePath($useIncl
d5980 75 64 65 50 61 74 68 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 udePath).{.$this->useIncludePath
d59a0 20 3d 20 24 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 .=.$useIncludePath;.}........pub
d59c0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 73 65 49 6e 63 6c 75 64 65 50 61 74 68 28 29 lic.function.getUseIncludePath()
d59e0 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 3b .{.return.$this->useIncludePath;
d5a00 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 67 69 73 74 65 .}.......public.function.registe
d5a20 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 61 75 74 6f 6c 6f r($prepend.=.false).{.spl_autolo
d5a40 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 6c 6f 61 64 43 6c ad_register(array($this,.'loadCl
d5a60 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 0a 0a 0a 0a 70 75 ass'),.true,.$prepend);.}.....pu
d5a80 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 0a 7b 0a 73 70 6c blic.function.unregister().{.spl
d5aa0 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 73 _autoload_unregister(array($this
d5ac0 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 70 75 62 6c 69 63 ,.'loadClass'));.}........public
d5ae0 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 29 0a 7b 0a 69 66 .function.loadClass($class).{.if
d5b00 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 24 63 6c 61 73 73 .($file.=.$this->findFile($class
d5b20 29 29 20 7b 0a 69 6e 63 6c 75 64 65 20 24 66 69 6c 65 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 )).{.include.$file;..return.true
d5b40 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 69 6f 6e 20 66 69 ;.}.}.........public.function.fi
d5b60 6e 64 46 69 6c 65 28 24 63 6c 61 73 73 29 0a 7b 0a 0a 20 69 66 20 28 27 5c 5c 27 20 3d 3d 20 24 ndFile($class).{...if.('\\'.==.$
d5b80 63 6c 61 73 73 5b 30 5d 29 20 7b 0a 24 63 6c 61 73 73 20 3d 20 73 75 62 73 74 72 28 24 63 6c 61 class[0]).{.$class.=.substr($cla
d5ba0 73 73 2c 20 31 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6c 61 73 ss,.1);.}..if.(isset($this->clas
d5bc0 73 4d 61 70 5b 24 63 6c 61 73 73 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 sMap[$class])).{.return.$this->c
d5be0 6c 61 73 73 4d 61 70 5b 24 63 6c 61 73 73 5d 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d lassMap[$class];.}..if.(false.!=
d5c00 3d 20 24 70 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 29 20 =.$pos.=.strrpos($class,.'\\')).
d5c20 7b 0a 0a 20 24 63 6c 61 73 73 50 61 74 68 20 3d 20 73 74 72 74 72 28 73 75 62 73 74 72 28 24 63 {...$classPath.=.strtr(substr($c
d5c40 6c 61 73 73 2c 20 30 2c 20 24 70 6f 73 29 2c 20 27 5c 5c 27 2c 20 44 49 52 45 43 54 4f 52 59 5f lass,.0,.$pos),.'\\',.DIRECTORY_
d5c60 53 45 50 41 52 41 54 4f 52 29 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 SEPARATOR)...DIRECTORY_SEPARATOR
d5c80 3b 0a 24 63 6c 61 73 73 4e 61 6d 65 20 3d 20 73 75 62 73 74 72 28 24 63 6c 61 73 73 2c 20 24 70 ;.$className.=.substr($class,.$p
d5ca0 6f 73 20 2b 20 31 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 63 6c 61 73 73 50 61 74 68 20 3d os.+.1);.}.else.{...$classPath.=
d5cc0 20 6e 75 6c 6c 3b 0a 24 63 6c 61 73 73 4e 61 6d 65 20 3d 20 24 63 6c 61 73 73 3b 0a 7d 0a 0a 24 .null;.$className.=.$class;.}..$
d5ce0 63 6c 61 73 73 50 61 74 68 20 2e 3d 20 73 74 72 74 72 28 24 63 6c 61 73 73 4e 61 6d 65 2c 20 27 classPath..=.strtr($className,.'
d5d00 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 27 2e 70 68 70 _',.DIRECTORY_SEPARATOR)...'.php
d5d20 27 3b 0a 0a 24 66 69 72 73 74 20 3d 20 24 63 6c 61 73 73 5b 30 5d 3b 0a 69 66 20 28 69 73 73 65 ';..$first.=.$class[0];.if.(isse
d5d40 74 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 5b 24 66 69 72 73 74 5d 29 29 20 7b 0a 66 6f t($this->prefixes[$first])).{.fo
d5d60 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 5b 24 66 69 72 73 74 5d 20 61 reach.($this->prefixes[$first].a
d5d80 73 20 24 70 72 65 66 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 s.$prefix.=>.$dirs).{.if.(0.===.
d5da0 73 74 72 70 6f 73 28 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 strpos($class,.$prefix)).{.forea
d5dc0 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 66 69 6c 65 5f 65 78 ch.($dirs.as.$dir).{.if.(file_ex
d5de0 69 73 74 73 28 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 ists($dir...DIRECTORY_SEPARATOR.
d5e00 2e 20 24 63 6c 61 73 73 50 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 64 69 72 20 2e 20 44 ..$classPath)).{.return.$dir...D
d5e20 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 24 63 6c 61 73 73 50 61 74 68 3b IRECTORY_SEPARATOR...$classPath;
d5e40 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c .}.}.}.}.}..foreach.($this->fall
d5e60 62 61 63 6b 44 69 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 backDirs.as.$dir).{.if.(file_exi
d5e80 73 74 73 28 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 sts($dir...DIRECTORY_SEPARATOR..
d5ea0 20 24 63 6c 61 73 73 50 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 64 69 72 20 2e 20 44 49 .$classPath)).{.return.$dir...DI
d5ec0 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 24 63 6c 61 73 73 50 61 74 68 3b 0a RECTORY_SEPARATOR...$classPath;.
d5ee0 7d 0a 7d 0a 0a 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 20 26 }.}..if.($this->useIncludePath.&
d5f00 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 64 65 &.$file.=.stream_resolve_include
d5f20 5f 70 61 74 68 28 24 63 6c 61 73 73 50 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 66 69 6c _path($classPath)).{.return.$fil
d5f40 65 3b 0a 7d 0a 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 e;.}..return.$this->classMap[$cl
d5f60 61 73 73 5d 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 69 66 20 28 50 48 50 ass].=.false;.}.}.<?php..if.(PHP
d5f80 5f 53 41 50 49 20 21 3d 3d 20 27 63 6c 69 27 29 20 7b 0a 20 20 20 20 65 63 68 6f 20 27 57 61 72 _SAPI.!==.'cli').{.....echo.'War
d5fa0 6e 69 6e 67 3a 20 43 6f 6d 70 6f 73 65 72 20 73 68 6f 75 6c 64 20 62 65 20 69 6e 76 6f 6b 65 64 ning:.Composer.should.be.invoked
d5fc0 20 76 69 61 20 74 68 65 20 43 4c 49 20 76 65 72 73 69 6f 6e 20 6f 66 20 50 48 50 2c 20 6e 6f 74 .via.the.CLI.version.of.PHP,.not
d5fe0 20 74 68 65 20 27 2e 50 48 50 5f 53 41 50 49 2e 27 20 53 41 50 49 27 2e 50 48 50 5f 45 4f 4c 3b .the.'.PHP_SAPI.'.SAPI'.PHP_EOL;
d6000 0a 7d 0a 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
d6020 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
d6040 6c 65 5c 41 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 0a 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 le\Application;..error_reporting
d6060 28 2d 31 29 3b 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 (-1);..if.(function_exists('ini_
d6080 73 65 74 27 29 29 20 7b 0a 20 20 20 20 40 69 6e 69 5f 73 65 74 28 27 64 69 73 70 6c 61 79 5f 65 set')).{.....@ini_set('display_e
d60a0 72 72 6f 72 73 27 2c 20 31 29 3b 0a 0a 20 20 20 20 24 6d 65 6d 6f 72 79 49 6e 42 79 74 65 73 20 rrors',.1);......$memoryInBytes.
d60c0 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 75 65 29 20 7b 0a 20 20 20 20 20 20 20 20 24 75 =.function.($value).{.........$u
d60e0 6e 69 74 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 73 75 62 73 74 72 28 24 76 61 6c 75 65 2c 20 nit.=.strtolower(substr($value,.
d6100 2d 31 2c 20 31 29 29 3b 0a 20 20 20 20 20 20 20 20 24 76 61 6c 75 65 20 3d 20 28 69 6e 74 29 20 -1,.1));.........$value.=.(int).
d6120 24 76 61 6c 75 65 3b 0a 20 20 20 20 20 20 20 20 73 77 69 74 63 68 28 24 75 6e 69 74 29 20 7b 0a $value;.........switch($unit).{.
d6140 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 67 27 3a 0a 20 20 20 20 20 20 20 20 20 20 ............case.'g':...........
d6160 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 20 20 ......$value.*=.1024;...........
d6180 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 6d 75 ......//.no.break.(cumulative.mu
d61a0 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 6d 27 3a 0a ltiplier).............case.'m':.
d61c0 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 3b 0a ................$value.*=.1024;.
d61e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 6e 6f 20 62 72 65 61 6b 20 28 63 75 6d ................//.no.break.(cum
d6200 75 6c 61 74 69 76 65 20 6d 75 6c 74 69 70 6c 69 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ulative.multiplier).............
d6220 63 61 73 65 20 27 6b 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 76 61 6c 75 65 case.'k':.................$value
d6240 20 2a 3d 20 31 30 32 34 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 .*=.1024;.........}..........ret
d6260 75 72 6e 20 24 76 61 6c 75 65 3b 0a 20 20 20 20 7d 3b 0a 0a 20 20 20 20 24 6d 65 6d 6f 72 79 4c urn.$value;.....};......$memoryL
d6280 69 6d 69 74 20 3d 20 74 72 69 6d 28 69 6e 69 5f 67 65 74 28 27 6d 65 6d 6f 72 79 5f 6c 69 6d 69 imit.=.trim(ini_get('memory_limi
d62a0 74 27 29 29 3b 0a 20 20 20 20 2f 2f 20 49 6e 63 72 65 61 73 65 20 6d 65 6d 6f 72 79 5f 6c 69 6d t'));.....//.Increase.memory_lim
d62c0 69 74 20 69 66 20 69 74 20 69 73 20 6c 6f 77 65 72 20 74 68 61 6e 20 35 31 32 4d 0a 20 20 20 20 it.if.it.is.lower.than.512M.....
d62e0 69 66 20 28 24 6d 65 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 if.($memoryLimit.!=.-1.&&.$memor
d6300 79 49 6e 42 79 74 65 73 28 24 6d 65 6d 6f 72 79 4c 69 6d 69 74 29 20 3c 20 35 31 32 20 2a 20 31 yInBytes($memoryLimit).<.512.*.1
d6320 30 32 34 20 2a 20 31 30 32 34 29 20 7b 0a 20 20 20 20 20 20 20 20 40 69 6e 69 5f 73 65 74 28 27 024.*.1024).{.........@ini_set('
d6340 6d 65 6d 6f 72 79 5f 6c 69 6d 69 74 27 2c 20 27 35 31 32 4d 27 29 3b 0a 20 20 20 20 7d 0a 20 20 memory_limit',.'512M');.....}...
d6360 20 20 75 6e 73 65 74 28 24 6d 65 6d 6f 72 79 49 6e 42 79 74 65 73 2c 20 24 6d 65 6d 6f 72 79 4c ..unset($memoryInBytes,.$memoryL
d6380 69 6d 69 74 29 3b 0a 7d 0a 0a 2f 2f 20 72 75 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 61 70 70 imit);.}..//.run.the.command.app
d63a0 6c 69 63 61 74 69 6f 6e 0a 24 61 70 70 6c 69 63 61 74 69 6f 6e 20 3d 20 6e 65 77 20 41 70 70 6c lication.$application.=.new.Appl
d63c0 69 63 61 74 69 6f 6e 28 29 3b 0a 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 72 75 6e 28 29 3b 0a ication();.$application->run();.
d63e0 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 31 20 4e 69 6c 73 20 41 64 65 72 6d 61 6e .Copyright.(c).2011.Nils.Aderman
d6400 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 69 6f 6e 20 69 73 n,.Jordi.Boggiano..Permission.is
d6420 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 2c .hereby.granted,.free.of.charge,
d6440 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 0a .to.any.person.obtaining.a.copy.
d6460 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 74 65 64 20 of.this.software.and.associated.
d6480 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 61 documentation.files.(the."Softwa
d64a0 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 65 20 77 69 re"),.to.deal.in.the.Software.wi
d64c0 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 74 thout.restriction,.including.wit
d64e0 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 6f 20 75 73 hout.limitation.the.rights.to.us
d6500 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 2c e,.copy,.modify,.merge,.publish,
d6520 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 20 .distribute,.sublicense,.and/or.
d6540 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 20 61 6e 64 sell.copies.of.the.Software,.and
d6560 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 53 .to.permit.persons.to.whom.the.S
d6580 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 6f 2c 20 73 oftware.is.furnished.to.do.so,.s
d65a0 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 6f ubject.to.the.following.conditio
d65c0 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 20 ns:..The.above.copyright.notice.
d65e0 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 6c and.this.permission.notice.shall
d6600 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 75 .be.included.in.all.copies.or.su
d6620 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 61 bstantial.portions.of.the.Softwa
d6640 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 41 re...THE.SOFTWARE.IS.PROVIDED."A
d6660 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 4b S.IS",.WITHOUT.WARRANTY.OF.ANY.K
d6680 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 49 IND,.EXPRESS.OR.IMPLIED,.INCLUDI
d66a0 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 4e NG.BUT.NOT.LIMITED.TO.THE.WARRAN
d66c0 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 53 TIES.OF.MERCHANTABILITY,.FITNESS
d66e0 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 4f .FOR.A.PARTICULAR.PURPOSE.AND.NO
d6700 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 4c NINFRINGEMENT..IN.NO.EVENT.SHALL
d6720 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 52 .THE.AUTHORS.OR.COPYRIGHT.HOLDER
d6740 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 47 S.BE.LIABLE.FOR.ANY.CLAIM,.DAMAG
d6760 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 49 ES.OR.OTHER.LIABILITY,.WHETHER.I
d6780 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 52 N.AN.ACTION.OF.CONTRACT,.TORT.OR
d67a0 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 46 .OTHERWISE,.ARISING.FROM,.OUT.OF
d67c0 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 57 .OR.IN.CONNECTION.WITH.THE.SOFTW
d67e0 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 53 ARE.OR.THE.USE.OR.OTHER.DEALINGS
d6800 20 49 4e 0a 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 0a 7c 3e 39 a4 b2 81 f1 d8 b7 39 15 11 5c .IN.THE.SOFTWARE...|>9......9..\
d6820 4e 74 19 50 ae dd ed 02 00 00 00 47 42 4d 42 Nt.P.......GBMB