From ca5402fd285f36e7859b2f9e0c74c7067d396257 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Fri, 25 Feb 2022 11:30:10 +0100 Subject: [PATCH] wip #5074 --- LVMH-SSO/_secure.php | 13 +- LVMH-SSO/composer.json | 2 +- VacheronSSO/.htaccess | 4 + VacheronSSO/_mime.php | 7300 +++++++++++++++++++++++++++++++++++++ VacheronSSO/_secure.php | 268 ++ VacheronSSO/composer.json | 12 + VacheronSSO/composer.lock | 1168 ++++++ 7 files changed, 8764 insertions(+), 3 deletions(-) create mode 100644 VacheronSSO/.htaccess create mode 100644 VacheronSSO/_mime.php create mode 100644 VacheronSSO/_secure.php create mode 100644 VacheronSSO/composer.json create mode 100644 VacheronSSO/composer.lock diff --git a/LVMH-SSO/_secure.php b/LVMH-SSO/_secure.php index 945a6c0..843774b 100644 --- a/LVMH-SSO/_secure.php +++ b/LVMH-SSO/_secure.php @@ -238,11 +238,20 @@ function xmlToArray($xml, $options = array()) function getMetadata() { - $limit = time() - 3600; + $limit = time() - 14400; $cachefile = __DIR__ . '/_metadata'; if (!file_exists($cachefile) || filesize($cachefile) <= 20 || filemtime($cachefile) < $limit) { - $xml = simplexml_load_string(file_get_contents('https://okta.lvmh.com/app/exkde2eh6L55wyfcE416/sso/saml/metadata')); + $ctx = stream_context_create(array('http' => + array( + 'timeout' => 15, //1200 Seconds is 20 Minutes + ) + )); + $c = file_get_contents('https://okta.lvmh.com/app/exkde2eh6L55wyfcE416/sso/saml/metadata', $ctx); + if(!$c){ + return json_decode(file_get_contents($cachefile), true); + } + $xml = simplexml_load_string($c); $metadata = xmlToArray($xml); file_put_contents($cachefile, json_encode($metadata)); return $metadata; diff --git a/LVMH-SSO/composer.json b/LVMH-SSO/composer.json index 815b998..9fe4703 100644 --- a/LVMH-SSO/composer.json +++ b/LVMH-SSO/composer.json @@ -1,7 +1,7 @@ { "require": { "php": ">=7.0", - "onelogin/php-saml": "^3.5" + "onelogin/php-saml": "^3.5", }, "require-dev": { "roave/security-advisories": "dev-master" diff --git a/VacheronSSO/.htaccess b/VacheronSSO/.htaccess new file mode 100644 index 0000000..0c1e92a --- /dev/null +++ b/VacheronSSO/.htaccess @@ -0,0 +1,4 @@ +RewriteEngine on +RewriteBase /test/Vacheron-Constantin/ +RewriteRule ^_secure.php$ - [L] +RewriteRule ^.*$ _secure.php [L,QSA] \ No newline at end of file diff --git a/VacheronSSO/_mime.php b/VacheronSSO/_mime.php new file mode 100644 index 0000000..68b5575 --- /dev/null +++ b/VacheronSSO/_mime.php @@ -0,0 +1,7300 @@ + + array( + 'wof' => + array( + 0 => 'application/font-woff', + ), + 'php' => + array( + 0 => 'application/php', + 1 => 'application/x-httpd-php', + 2 => 'application/x-httpd-php-source', + 3 => 'application/x-php', + 4 => 'text/php', + 5 => 'text/x-php', + ), + 'otf' => + array( + 0 => 'application/x-font-otf', + 1 => 'font/otf', + ), + 'ttf' => + array( + 0 => 'application/x-font-ttf', + 1 => 'font/ttf', + ), + 'ttc' => + array( + 0 => 'application/x-font-ttf', + 1 => 'font/collection', + ), + 'zip' => + array( + 0 => 'application/x-gzip', + 1 => 'application/zip', + ), + 'amr' => + array( + 0 => 'audio/amr', + ), + 'mp3' => + array( + 0 => 'audio/mpeg', + ), + 'mpga' => + array( + 0 => 'audio/mpeg', + ), + 'mp2' => + array( + 0 => 'audio/mpeg', + ), + 'mp2a' => + array( + 0 => 'audio/mpeg', + ), + 'm2a' => + array( + 0 => 'audio/mpeg', + ), + 'm3a' => + array( + 0 => 'audio/mpeg', + ), + 'jpg' => + array( + 0 => 'image/jpeg', + ), + 'jpeg' => + array( + 0 => 'image/jpeg', + ), + 'jpe' => + array( + 0 => 'image/jpeg', + ), + 'bmp' => + array( + 0 => 'image/x-ms-bmp', + 1 => 'image/bmp', + ), + 'ez' => + array( + 0 => 'application/andrew-inset', + ), + 'aw' => + array( + 0 => 'application/applixware', + ), + 'atom' => + array( + 0 => 'application/atom+xml', + ), + 'atomcat' => + array( + 0 => 'application/atomcat+xml', + ), + 'atomsvc' => + array( + 0 => 'application/atomsvc+xml', + ), + 'ccxml' => + array( + 0 => 'application/ccxml+xml', + ), + 'cdmia' => + array( + 0 => 'application/cdmi-capability', + ), + 'cdmic' => + array( + 0 => 'application/cdmi-container', + ), + 'cdmid' => + array( + 0 => 'application/cdmi-domain', + ), + 'cdmio' => + array( + 0 => 'application/cdmi-object', + ), + 'cdmiq' => + array( + 0 => 'application/cdmi-queue', + ), + 'cu' => + array( + 0 => 'application/cu-seeme', + ), + 'davmount' => + array( + 0 => 'application/davmount+xml', + ), + 'dbk' => + array( + 0 => 'application/docbook+xml', + ), + 'dssc' => + array( + 0 => 'application/dssc+der', + ), + 'xdssc' => + array( + 0 => 'application/dssc+xml', + ), + 'ecma' => + array( + 0 => 'application/ecmascript', + ), + 'emma' => + array( + 0 => 'application/emma+xml', + ), + 'epub' => + array( + 0 => 'application/epub+zip', + ), + 'exi' => + array( + 0 => 'application/exi', + ), + 'pfr' => + array( + 0 => 'application/font-tdpfr', + ), + 'gml' => + array( + 0 => 'application/gml+xml', + ), + 'gpx' => + array( + 0 => 'application/gpx+xml', + ), + 'gxf' => + array( + 0 => 'application/gxf', + ), + 'stk' => + array( + 0 => 'application/hyperstudio', + ), + 'ink' => + array( + 0 => 'application/inkml+xml', + ), + 'inkml' => + array( + 0 => 'application/inkml+xml', + ), + 'ipfix' => + array( + 0 => 'application/ipfix', + ), + 'jar' => + array( + 0 => 'application/java-archive', + ), + 'ser' => + array( + 0 => 'application/java-serialized-object', + ), + 'class' => + array( + 0 => 'application/java-vm', + ), + 'js' => + array( + 0 => 'application/javascript', + ), + 'json' => + array( + 0 => 'application/json', + ), + 'jsonml' => + array( + 0 => 'application/jsonml+json', + ), + 'lostxml' => + array( + 0 => 'application/lost+xml', + ), + 'hqx' => + array( + 0 => 'application/mac-binhex40', + ), + 'cpt' => + array( + 0 => 'application/mac-compactpro', + ), + 'mads' => + array( + 0 => 'application/mads+xml', + ), + 'mrc' => + array( + 0 => 'application/marc', + ), + 'mrcx' => + array( + 0 => 'application/marcxml+xml', + ), + 'ma' => + array( + 0 => 'application/mathematica', + ), + 'nb' => + array( + 0 => 'application/mathematica', + ), + 'mb' => + array( + 0 => 'application/mathematica', + ), + 'mathml' => + array( + 0 => 'application/mathml+xml', + ), + 'mbox' => + array( + 0 => 'application/mbox', + ), + 'mscml' => + array( + 0 => 'application/mediaservercontrol+xml', + ), + 'metalink' => + array( + 0 => 'application/metalink+xml', + ), + 'meta4' => + array( + 0 => 'application/metalink4+xml', + ), + 'mets' => + array( + 0 => 'application/mets+xml', + ), + 'mods' => + array( + 0 => 'application/mods+xml', + ), + 'm21' => + array( + 0 => 'application/mp21', + ), + 'mp21' => + array( + 0 => 'application/mp21', + ), + 'mp4s' => + array( + 0 => 'application/mp4', + ), + 'doc' => + array( + 0 => 'application/msword', + ), + 'dot' => + array( + 0 => 'application/msword', + ), + 'mxf' => + array( + 0 => 'application/mxf', + ), + 'bin' => + array( + 0 => 'application/octet-stream', + ), + 'dms' => + array( + 0 => 'application/octet-stream', + ), + 'lrf' => + array( + 0 => 'application/octet-stream', + ), + 'mar' => + array( + 0 => 'application/octet-stream', + ), + 'so' => + array( + 0 => 'application/octet-stream', + ), + 'dist' => + array( + 0 => 'application/octet-stream', + ), + 'distz' => + array( + 0 => 'application/octet-stream', + ), + 'pkg' => + array( + 0 => 'application/octet-stream', + ), + 'bpk' => + array( + 0 => 'application/octet-stream', + ), + 'dump' => + array( + 0 => 'application/octet-stream', + ), + 'elc' => + array( + 0 => 'application/octet-stream', + ), + 'deploy' => + array( + 0 => 'application/octet-stream', + ), + 'oda' => + array( + 0 => 'application/oda', + ), + 'opf' => + array( + 0 => 'application/oebps-package+xml', + ), + 'ogx' => + array( + 0 => 'application/ogg', + ), + 'omdoc' => + array( + 0 => 'application/omdoc+xml', + ), + 'onetoc' => + array( + 0 => 'application/onenote', + ), + 'onetoc2' => + array( + 0 => 'application/onenote', + ), + 'onetmp' => + array( + 0 => 'application/onenote', + ), + 'onepkg' => + array( + 0 => 'application/onenote', + ), + 'oxps' => + array( + 0 => 'application/oxps', + ), + 'xer' => + array( + 0 => 'application/patch-ops-error+xml', + ), + 'pdf' => + array( + 0 => 'application/pdf', + ), + 'pgp' => + array( + 0 => 'application/pgp-encrypted', + ), + 'asc' => + array( + 0 => 'application/pgp-signature', + ), + 'sig' => + array( + 0 => 'application/pgp-signature', + ), + 'prf' => + array( + 0 => 'application/pics-rules', + ), + 'p10' => + array( + 0 => 'application/pkcs10', + ), + 'p7m' => + array( + 0 => 'application/pkcs7-mime', + ), + 'p7c' => + array( + 0 => 'application/pkcs7-mime', + ), + 'p7s' => + array( + 0 => 'application/pkcs7-signature', + ), + 'p8' => + array( + 0 => 'application/pkcs8', + ), + 'ac' => + array( + 0 => 'application/pkix-attr-cert', + ), + 'cer' => + array( + 0 => 'application/pkix-cert', + ), + 'crl' => + array( + 0 => 'application/pkix-crl', + ), + 'pkipath' => + array( + 0 => 'application/pkix-pkipath', + ), + 'pki' => + array( + 0 => 'application/pkixcmp', + ), + 'pls' => + array( + 0 => 'application/pls+xml', + ), + 'ai' => + array( + 0 => 'application/postscript', + ), + 'eps' => + array( + 0 => 'application/postscript', + ), + 'ps' => + array( + 0 => 'application/postscript', + ), + 'cww' => + array( + 0 => 'application/prs.cww', + ), + 'pskcxml' => + array( + 0 => 'application/pskc+xml', + ), + 'rdf' => + array( + 0 => 'application/rdf+xml', + ), + 'rif' => + array( + 0 => 'application/reginfo+xml', + ), + 'rnc' => + array( + 0 => 'application/relax-ng-compact-syntax', + ), + 'rl' => + array( + 0 => 'application/resource-lists+xml', + ), + 'rld' => + array( + 0 => 'application/resource-lists-diff+xml', + ), + 'rs' => + array( + 0 => 'application/rls-services+xml', + ), + 'gbr' => + array( + 0 => 'application/rpki-ghostbusters', + ), + 'mft' => + array( + 0 => 'application/rpki-manifest', + ), + 'roa' => + array( + 0 => 'application/rpki-roa', + ), + 'rsd' => + array( + 0 => 'application/rsd+xml', + ), + 'rss' => + array( + 0 => 'application/rss+xml', + ), + 'rtf' => + array( + 0 => 'application/rtf', + ), + 'sbml' => + array( + 0 => 'application/sbml+xml', + ), + 'scq' => + array( + 0 => 'application/scvp-cv-request', + ), + 'scs' => + array( + 0 => 'application/scvp-cv-response', + ), + 'spq' => + array( + 0 => 'application/scvp-vp-request', + ), + 'spp' => + array( + 0 => 'application/scvp-vp-response', + ), + 'sdp' => + array( + 0 => 'application/sdp', + ), + 'setpay' => + array( + 0 => 'application/set-payment-initiation', + ), + 'setreg' => + array( + 0 => 'application/set-registration-initiation', + ), + 'shf' => + array( + 0 => 'application/shf+xml', + ), + 'smi' => + array( + 0 => 'application/smil+xml', + ), + 'smil' => + array( + 0 => 'application/smil+xml', + ), + 'rq' => + array( + 0 => 'application/sparql-query', + ), + 'srx' => + array( + 0 => 'application/sparql-results+xml', + ), + 'gram' => + array( + 0 => 'application/srgs', + ), + 'grxml' => + array( + 0 => 'application/srgs+xml', + ), + 'sru' => + array( + 0 => 'application/sru+xml', + ), + 'ssdl' => + array( + 0 => 'application/ssdl+xml', + ), + 'ssml' => + array( + 0 => 'application/ssml+xml', + ), + 'tei' => + array( + 0 => 'application/tei+xml', + ), + 'teicorpus' => + array( + 0 => 'application/tei+xml', + ), + 'tfi' => + array( + 0 => 'application/thraud+xml', + ), + 'tsd' => + array( + 0 => 'application/timestamped-data', + ), + 'plb' => + array( + 0 => 'application/vnd.3gpp.pic-bw-large', + ), + 'psb' => + array( + 0 => 'application/vnd.3gpp.pic-bw-small', + ), + 'pvb' => + array( + 0 => 'application/vnd.3gpp.pic-bw-var', + ), + 'tcap' => + array( + 0 => 'application/vnd.3gpp2.tcap', + ), + 'pwn' => + array( + 0 => 'application/vnd.3m.post-it-notes', + ), + 'aso' => + array( + 0 => 'application/vnd.accpac.simply.aso', + ), + 'imp' => + array( + 0 => 'application/vnd.accpac.simply.imp', + ), + 'acu' => + array( + 0 => 'application/vnd.acucobol', + ), + 'atc' => + array( + 0 => 'application/vnd.acucorp', + ), + 'acutc' => + array( + 0 => 'application/vnd.acucorp', + ), + 'air' => + array( + 0 => 'application/vnd.adobe.air-application-installer-package+zip', + ), + 'fcdt' => + array( + 0 => 'application/vnd.adobe.formscentral.fcdt', + ), + 'fxp' => + array( + 0 => 'application/vnd.adobe.fxp', + ), + 'fxpl' => + array( + 0 => 'application/vnd.adobe.fxp', + ), + 'xdp' => + array( + 0 => 'application/vnd.adobe.xdp+xml', + ), + 'xfdf' => + array( + 0 => 'application/vnd.adobe.xfdf', + ), + 'ahead' => + array( + 0 => 'application/vnd.ahead.space', + ), + 'azf' => + array( + 0 => 'application/vnd.airzip.filesecure.azf', + ), + 'azs' => + array( + 0 => 'application/vnd.airzip.filesecure.azs', + ), + 'azw' => + array( + 0 => 'application/vnd.amazon.ebook', + ), + 'acc' => + array( + 0 => 'application/vnd.americandynamics.acc', + ), + 'ami' => + array( + 0 => 'application/vnd.amiga.ami', + ), + 'apk' => + array( + 0 => 'application/vnd.android.package-archive', + ), + 'cii' => + array( + 0 => 'application/vnd.anser-web-certificate-issue-initiation', + ), + 'fti' => + array( + 0 => 'application/vnd.anser-web-funds-transfer-initiation', + ), + 'atx' => + array( + 0 => 'application/vnd.antix.game-component', + ), + 'mpkg' => + array( + 0 => 'application/vnd.apple.installer+xml', + ), + 'm3u8' => + array( + 0 => 'application/vnd.apple.mpegurl', + ), + 'swi' => + array( + 0 => 'application/vnd.aristanetworks.swi', + ), + 'iota' => + array( + 0 => 'application/vnd.astraea-software.iota', + ), + 'aep' => + array( + 0 => 'application/vnd.audiograph', + ), + 'mpm' => + array( + 0 => 'application/vnd.blueice.multipass', + ), + 'bmi' => + array( + 0 => 'application/vnd.bmi', + ), + 'rep' => + array( + 0 => 'application/vnd.businessobjects', + ), + 'cdxml' => + array( + 0 => 'application/vnd.chemdraw+xml', + ), + 'mmd' => + array( + 0 => 'application/vnd.chipnuts.karaoke-mmd', + ), + 'cdy' => + array( + 0 => 'application/vnd.cinderella', + ), + 'cla' => + array( + 0 => 'application/vnd.claymore', + ), + 'rp9' => + array( + 0 => 'application/vnd.cloanto.rp9', + ), + 'c4g' => + array( + 0 => 'application/vnd.clonk.c4group', + ), + 'c4d' => + array( + 0 => 'application/vnd.clonk.c4group', + ), + 'c4f' => + array( + 0 => 'application/vnd.clonk.c4group', + ), + 'c4p' => + array( + 0 => 'application/vnd.clonk.c4group', + ), + 'c4u' => + array( + 0 => 'application/vnd.clonk.c4group', + ), + 'c11amc' => + array( + 0 => 'application/vnd.cluetrust.cartomobile-config', + ), + 'c11amz' => + array( + 0 => 'application/vnd.cluetrust.cartomobile-config-pkg', + ), + 'csp' => + array( + 0 => 'application/vnd.commonspace', + ), + 'cdbcmsg' => + array( + 0 => 'application/vnd.contact.cmsg', + ), + 'cmc' => + array( + 0 => 'application/vnd.cosmocaller', + ), + 'clkx' => + array( + 0 => 'application/vnd.crick.clicker', + ), + 'clkk' => + array( + 0 => 'application/vnd.crick.clicker.keyboard', + ), + 'clkp' => + array( + 0 => 'application/vnd.crick.clicker.palette', + ), + 'clkt' => + array( + 0 => 'application/vnd.crick.clicker.template', + ), + 'clkw' => + array( + 0 => 'application/vnd.crick.clicker.wordbank', + ), + 'wbs' => + array( + 0 => 'application/vnd.criticaltools.wbs+xml', + ), + 'pml' => + array( + 0 => 'application/vnd.ctc-posml', + ), + 'ppd' => + array( + 0 => 'application/vnd.cups-ppd', + ), + 'car' => + array( + 0 => 'application/vnd.curl.car', + ), + 'pcurl' => + array( + 0 => 'application/vnd.curl.pcurl', + ), + 'dart' => + array( + 0 => 'application/vnd.dart', + ), + 'rdz' => + array( + 0 => 'application/vnd.data-vision.rdz', + ), + 'uvf' => + array( + 0 => 'application/vnd.dece.data', + ), + 'uvvf' => + array( + 0 => 'application/vnd.dece.data', + ), + 'uvd' => + array( + 0 => 'application/vnd.dece.data', + ), + 'uvvd' => + array( + 0 => 'application/vnd.dece.data', + ), + 'uvt' => + array( + 0 => 'application/vnd.dece.ttml+xml', + ), + 'uvvt' => + array( + 0 => 'application/vnd.dece.ttml+xml', + ), + 'uvx' => + array( + 0 => 'application/vnd.dece.unspecified', + ), + 'uvvx' => + array( + 0 => 'application/vnd.dece.unspecified', + ), + 'uvz' => + array( + 0 => 'application/vnd.dece.zip', + ), + 'uvvz' => + array( + 0 => 'application/vnd.dece.zip', + ), + 'fe_launch' => + array( + 0 => 'application/vnd.denovo.fcselayout-link', + ), + 'dna' => + array( + 0 => 'application/vnd.dna', + ), + 'mlp' => + array( + 0 => 'application/vnd.dolby.mlp', + ), + 'dpg' => + array( + 0 => 'application/vnd.dpgraph', + ), + 'dfac' => + array( + 0 => 'application/vnd.dreamfactory', + ), + 'kpxx' => + array( + 0 => 'application/vnd.ds-keypoint', + ), + 'ait' => + array( + 0 => 'application/vnd.dvb.ait', + ), + 'svc' => + array( + 0 => 'application/vnd.dvb.service', + ), + 'geo' => + array( + 0 => 'application/vnd.dynageo', + ), + 'mag' => + array( + 0 => 'application/vnd.ecowin.chart', + ), + 'nml' => + array( + 0 => 'application/vnd.enliven', + ), + 'esf' => + array( + 0 => 'application/vnd.epson.esf', + ), + 'msf' => + array( + 0 => 'application/vnd.epson.msf', + ), + 'qam' => + array( + 0 => 'application/vnd.epson.quickanime', + ), + 'slt' => + array( + 0 => 'application/vnd.epson.salt', + ), + 'ssf' => + array( + 0 => 'application/vnd.epson.ssf', + ), + 'es3' => + array( + 0 => 'application/vnd.eszigno3+xml', + ), + 'et3' => + array( + 0 => 'application/vnd.eszigno3+xml', + ), + 'ez2' => + array( + 0 => 'application/vnd.ezpix-album', + ), + 'ez3' => + array( + 0 => 'application/vnd.ezpix-package', + ), + 'fdf' => + array( + 0 => 'application/vnd.fdf', + ), + 'mseed' => + array( + 0 => 'application/vnd.fdsn.mseed', + ), + 'seed' => + array( + 0 => 'application/vnd.fdsn.seed', + ), + 'dataless' => + array( + 0 => 'application/vnd.fdsn.seed', + ), + 'gph' => + array( + 0 => 'application/vnd.flographit', + ), + 'ftc' => + array( + 0 => 'application/vnd.fluxtime.clip', + ), + 'fm' => + array( + 0 => 'application/vnd.framemaker', + ), + 'frame' => + array( + 0 => 'application/vnd.framemaker', + ), + 'maker' => + array( + 0 => 'application/vnd.framemaker', + ), + 'book' => + array( + 0 => 'application/vnd.framemaker', + ), + 'fnc' => + array( + 0 => 'application/vnd.frogans.fnc', + ), + 'ltf' => + array( + 0 => 'application/vnd.frogans.ltf', + ), + 'fsc' => + array( + 0 => 'application/vnd.fsc.weblaunch', + ), + 'oas' => + array( + 0 => 'application/vnd.fujitsu.oasys', + ), + 'oa2' => + array( + 0 => 'application/vnd.fujitsu.oasys2', + ), + 'oa3' => + array( + 0 => 'application/vnd.fujitsu.oasys3', + ), + 'fg5' => + array( + 0 => 'application/vnd.fujitsu.oasysgp', + ), + 'bh2' => + array( + 0 => 'application/vnd.fujitsu.oasysprs', + ), + 'ddd' => + array( + 0 => 'application/vnd.fujixerox.ddd', + ), + 'xdw' => + array( + 0 => 'application/vnd.fujixerox.docuworks', + ), + 'xbd' => + array( + 0 => 'application/vnd.fujixerox.docuworks.binder', + ), + 'fzs' => + array( + 0 => 'application/vnd.fuzzysheet', + ), + 'txd' => + array( + 0 => 'application/vnd.genomatix.tuxedo', + ), + 'ggb' => + array( + 0 => 'application/vnd.geogebra.file', + ), + 'ggt' => + array( + 0 => 'application/vnd.geogebra.tool', + ), + 'gex' => + array( + 0 => 'application/vnd.geometry-explorer', + ), + 'gre' => + array( + 0 => 'application/vnd.geometry-explorer', + ), + 'gxt' => + array( + 0 => 'application/vnd.geonext', + ), + 'g2w' => + array( + 0 => 'application/vnd.geoplan', + ), + 'g3w' => + array( + 0 => 'application/vnd.geospace', + ), + 'gmx' => + array( + 0 => 'application/vnd.gmx', + ), + 'kml' => + array( + 0 => 'application/vnd.google-earth.kml+xml', + ), + 'kmz' => + array( + 0 => 'application/vnd.google-earth.kmz', + ), + 'gqf' => + array( + 0 => 'application/vnd.grafeq', + ), + 'gqs' => + array( + 0 => 'application/vnd.grafeq', + ), + 'gac' => + array( + 0 => 'application/vnd.groove-account', + ), + 'ghf' => + array( + 0 => 'application/vnd.groove-help', + ), + 'gim' => + array( + 0 => 'application/vnd.groove-identity-message', + ), + 'grv' => + array( + 0 => 'application/vnd.groove-injector', + ), + 'gtm' => + array( + 0 => 'application/vnd.groove-tool-message', + ), + 'tpl' => + array( + 0 => 'application/vnd.groove-tool-template', + ), + 'vcg' => + array( + 0 => 'application/vnd.groove-vcard', + ), + 'hal' => + array( + 0 => 'application/vnd.hal+xml', + ), + 'zmm' => + array( + 0 => 'application/vnd.handheld-entertainment+xml', + ), + 'hbci' => + array( + 0 => 'application/vnd.hbci', + ), + 'les' => + array( + 0 => 'application/vnd.hhe.lesson-player', + ), + 'hpgl' => + array( + 0 => 'application/vnd.hp-hpgl', + ), + 'hpid' => + array( + 0 => 'application/vnd.hp-hpid', + ), + 'hps' => + array( + 0 => 'application/vnd.hp-hps', + ), + 'jlt' => + array( + 0 => 'application/vnd.hp-jlyt', + ), + 'pcl' => + array( + 0 => 'application/vnd.hp-pcl', + ), + 'pclxl' => + array( + 0 => 'application/vnd.hp-pclxl', + ), + 'sfd-hdstx' => + array( + 0 => 'application/vnd.hydrostatix.sof-data', + ), + 'mpy' => + array( + 0 => 'application/vnd.ibm.minipay', + ), + 'afp' => + array( + 0 => 'application/vnd.ibm.modcap', + ), + 'listafp' => + array( + 0 => 'application/vnd.ibm.modcap', + ), + 'list3820' => + array( + 0 => 'application/vnd.ibm.modcap', + ), + 'irm' => + array( + 0 => 'application/vnd.ibm.rights-management', + ), + 'sc' => + array( + 0 => 'application/vnd.ibm.secure-container', + ), + 'icc' => + array( + 0 => 'application/vnd.iccprofile', + ), + 'icm' => + array( + 0 => 'application/vnd.iccprofile', + ), + 'igl' => + array( + 0 => 'application/vnd.igloader', + ), + 'ivp' => + array( + 0 => 'application/vnd.immervision-ivp', + ), + 'ivu' => + array( + 0 => 'application/vnd.immervision-ivu', + ), + 'igm' => + array( + 0 => 'application/vnd.insors.igm', + ), + 'xpw' => + array( + 0 => 'application/vnd.intercon.formnet', + ), + 'xpx' => + array( + 0 => 'application/vnd.intercon.formnet', + ), + 'i2g' => + array( + 0 => 'application/vnd.intergeo', + ), + 'qbo' => + array( + 0 => 'application/vnd.intu.qbo', + ), + 'qfx' => + array( + 0 => 'application/vnd.intu.qfx', + ), + 'rcprofile' => + array( + 0 => 'application/vnd.ipunplugged.rcprofile', + ), + 'irp' => + array( + 0 => 'application/vnd.irepository.package+xml', + ), + 'xpr' => + array( + 0 => 'application/vnd.is-xpr', + ), + 'fcs' => + array( + 0 => 'application/vnd.isac.fcs', + ), + 'jam' => + array( + 0 => 'application/vnd.jam', + ), + 'rms' => + array( + 0 => 'application/vnd.jcp.javame.midlet-rms', + ), + 'jisp' => + array( + 0 => 'application/vnd.jisp', + ), + 'joda' => + array( + 0 => 'application/vnd.joost.joda-archive', + ), + 'ktz' => + array( + 0 => 'application/vnd.kahootz', + ), + 'ktr' => + array( + 0 => 'application/vnd.kahootz', + ), + 'karbon' => + array( + 0 => 'application/vnd.kde.karbon', + ), + 'chrt' => + array( + 0 => 'application/vnd.kde.kchart', + ), + 'kfo' => + array( + 0 => 'application/vnd.kde.kformula', + ), + 'flw' => + array( + 0 => 'application/vnd.kde.kivio', + ), + 'kon' => + array( + 0 => 'application/vnd.kde.kontour', + ), + 'kpr' => + array( + 0 => 'application/vnd.kde.kpresenter', + ), + 'kpt' => + array( + 0 => 'application/vnd.kde.kpresenter', + ), + 'ksp' => + array( + 0 => 'application/vnd.kde.kspread', + ), + 'kwd' => + array( + 0 => 'application/vnd.kde.kword', + ), + 'kwt' => + array( + 0 => 'application/vnd.kde.kword', + ), + 'htke' => + array( + 0 => 'application/vnd.kenameaapp', + ), + 'kia' => + array( + 0 => 'application/vnd.kidspiration', + ), + 'kne' => + array( + 0 => 'application/vnd.kinar', + ), + 'knp' => + array( + 0 => 'application/vnd.kinar', + ), + 'skp' => + array( + 0 => 'application/vnd.koan', + ), + 'skd' => + array( + 0 => 'application/vnd.koan', + ), + 'skt' => + array( + 0 => 'application/vnd.koan', + ), + 'skm' => + array( + 0 => 'application/vnd.koan', + ), + 'sse' => + array( + 0 => 'application/vnd.kodak-descriptor', + ), + 'lasxml' => + array( + 0 => 'application/vnd.las.las+xml', + ), + 'lbd' => + array( + 0 => 'application/vnd.llamagraphics.life-balance.desktop', + ), + 'lbe' => + array( + 0 => 'application/vnd.llamagraphics.life-balance.exchange+xml', + ), + 123 => + array( + 0 => 'application/vnd.lotus-1-2-3', + ), + 'apr' => + array( + 0 => 'application/vnd.lotus-approach', + ), + 'pre' => + array( + 0 => 'application/vnd.lotus-freelance', + ), + 'nsf' => + array( + 0 => 'application/vnd.lotus-notes', + ), + 'org' => + array( + 0 => 'application/vnd.lotus-organizer', + ), + 'scm' => + array( + 0 => 'application/vnd.lotus-screencam', + ), + 'lwp' => + array( + 0 => 'application/vnd.lotus-wordpro', + ), + 'portpkg' => + array( + 0 => 'application/vnd.macports.portpkg', + ), + 'mcd' => + array( + 0 => 'application/vnd.mcd', + ), + 'mc1' => + array( + 0 => 'application/vnd.medcalcdata', + ), + 'cdkey' => + array( + 0 => 'application/vnd.mediastation.cdkey', + ), + 'mwf' => + array( + 0 => 'application/vnd.mfer', + ), + 'mfm' => + array( + 0 => 'application/vnd.mfmp', + ), + 'flo' => + array( + 0 => 'application/vnd.micrografx.flo', + ), + 'igx' => + array( + 0 => 'application/vnd.micrografx.igx', + ), + 'mif' => + array( + 0 => 'application/vnd.mif', + ), + 'daf' => + array( + 0 => 'application/vnd.mobius.daf', + ), + 'dis' => + array( + 0 => 'application/vnd.mobius.dis', + ), + 'mbk' => + array( + 0 => 'application/vnd.mobius.mbk', + ), + 'mqy' => + array( + 0 => 'application/vnd.mobius.mqy', + ), + 'msl' => + array( + 0 => 'application/vnd.mobius.msl', + ), + 'plc' => + array( + 0 => 'application/vnd.mobius.plc', + ), + 'txf' => + array( + 0 => 'application/vnd.mobius.txf', + ), + 'mpn' => + array( + 0 => 'application/vnd.mophun.application', + ), + 'mpc' => + array( + 0 => 'application/vnd.mophun.certificate', + ), + 'xul' => + array( + 0 => 'application/vnd.mozilla.xul+xml', + ), + 'cil' => + array( + 0 => 'application/vnd.ms-artgalry', + ), + 'cab' => + array( + 0 => 'application/vnd.ms-cab-compressed', + ), + 'xls' => + array( + 0 => 'application/vnd.ms-excel', + ), + 'xlm' => + array( + 0 => 'application/vnd.ms-excel', + ), + 'xla' => + array( + 0 => 'application/vnd.ms-excel', + ), + 'xlc' => + array( + 0 => 'application/vnd.ms-excel', + ), + 'xlt' => + array( + 0 => 'application/vnd.ms-excel', + ), + 'xlw' => + array( + 0 => 'application/vnd.ms-excel', + ), + 'xlam' => + array( + 0 => 'application/vnd.ms-excel.addin.macroenabled.12', + ), + 'xlsb' => + array( + 0 => 'application/vnd.ms-excel.sheet.binary.macroenabled.12', + ), + 'xlsm' => + array( + 0 => 'application/vnd.ms-excel.sheet.macroenabled.12', + ), + 'xltm' => + array( + 0 => 'application/vnd.ms-excel.template.macroenabled.12', + ), + 'eot' => + array( + 0 => 'application/vnd.ms-fontobject', + ), + 'chm' => + array( + 0 => 'application/vnd.ms-htmlhelp', + ), + 'ims' => + array( + 0 => 'application/vnd.ms-ims', + ), + 'lrm' => + array( + 0 => 'application/vnd.ms-lrm', + ), + 'thmx' => + array( + 0 => 'application/vnd.ms-officetheme', + ), + 'cat' => + array( + 0 => 'application/vnd.ms-pki.seccat', + ), + 'stl' => + array( + 0 => 'application/vnd.ms-pki.stl', + ), + 'ppt' => + array( + 0 => 'application/vnd.ms-powerpoint', + ), + 'pps' => + array( + 0 => 'application/vnd.ms-powerpoint', + ), + 'pot' => + array( + 0 => 'application/vnd.ms-powerpoint', + ), + 'ppam' => + array( + 0 => 'application/vnd.ms-powerpoint.addin.macroenabled.12', + ), + 'pptm' => + array( + 0 => 'application/vnd.ms-powerpoint.presentation.macroenabled.12', + ), + 'sldm' => + array( + 0 => 'application/vnd.ms-powerpoint.slide.macroenabled.12', + ), + 'ppsm' => + array( + 0 => 'application/vnd.ms-powerpoint.slideshow.macroenabled.12', + ), + 'potm' => + array( + 0 => 'application/vnd.ms-powerpoint.template.macroenabled.12', + ), + 'mpp' => + array( + 0 => 'application/vnd.ms-project', + ), + 'mpt' => + array( + 0 => 'application/vnd.ms-project', + ), + 'docm' => + array( + 0 => 'application/vnd.ms-word.document.macroenabled.12', + ), + 'dotm' => + array( + 0 => 'application/vnd.ms-word.template.macroenabled.12', + ), + 'wps' => + array( + 0 => 'application/vnd.ms-works', + ), + 'wks' => + array( + 0 => 'application/vnd.ms-works', + ), + 'wcm' => + array( + 0 => 'application/vnd.ms-works', + ), + 'wdb' => + array( + 0 => 'application/vnd.ms-works', + ), + 'wpl' => + array( + 0 => 'application/vnd.ms-wpl', + ), + 'xps' => + array( + 0 => 'application/vnd.ms-xpsdocument', + ), + 'mseq' => + array( + 0 => 'application/vnd.mseq', + ), + 'mus' => + array( + 0 => 'application/vnd.musician', + ), + 'msty' => + array( + 0 => 'application/vnd.muvee.style', + ), + 'taglet' => + array( + 0 => 'application/vnd.mynfc', + ), + 'nlu' => + array( + 0 => 'application/vnd.neurolanguage.nlu', + ), + 'ntf' => + array( + 0 => 'application/vnd.nitf', + ), + 'nitf' => + array( + 0 => 'application/vnd.nitf', + ), + 'nnd' => + array( + 0 => 'application/vnd.noblenet-directory', + ), + 'nns' => + array( + 0 => 'application/vnd.noblenet-sealer', + ), + 'nnw' => + array( + 0 => 'application/vnd.noblenet-web', + ), + 'ngdat' => + array( + 0 => 'application/vnd.nokia.n-gage.data', + ), + 'n-gage' => + array( + 0 => 'application/vnd.nokia.n-gage.symbian.install', + ), + 'rpst' => + array( + 0 => 'application/vnd.nokia.radio-preset', + ), + 'rpss' => + array( + 0 => 'application/vnd.nokia.radio-presets', + ), + 'edm' => + array( + 0 => 'application/vnd.novadigm.edm', + ), + 'edx' => + array( + 0 => 'application/vnd.novadigm.edx', + ), + 'ext' => + array( + 0 => 'application/vnd.novadigm.ext', + ), + 'odc' => + array( + 0 => 'application/vnd.oasis.opendocument.chart', + ), + 'otc' => + array( + 0 => 'application/vnd.oasis.opendocument.chart-template', + ), + 'odb' => + array( + 0 => 'application/vnd.oasis.opendocument.database', + ), + 'odf' => + array( + 0 => 'application/vnd.oasis.opendocument.formula', + ), + 'odft' => + array( + 0 => 'application/vnd.oasis.opendocument.formula-template', + ), + 'odg' => + array( + 0 => 'application/vnd.oasis.opendocument.graphics', + ), + 'otg' => + array( + 0 => 'application/vnd.oasis.opendocument.graphics-template', + ), + 'odi' => + array( + 0 => 'application/vnd.oasis.opendocument.image', + ), + 'oti' => + array( + 0 => 'application/vnd.oasis.opendocument.image-template', + ), + 'odp' => + array( + 0 => 'application/vnd.oasis.opendocument.presentation', + ), + 'otp' => + array( + 0 => 'application/vnd.oasis.opendocument.presentation-template', + ), + 'ods' => + array( + 0 => 'application/vnd.oasis.opendocument.spreadsheet', + ), + 'ots' => + array( + 0 => 'application/vnd.oasis.opendocument.spreadsheet-template', + ), + 'odt' => + array( + 0 => 'application/vnd.oasis.opendocument.text', + ), + 'odm' => + array( + 0 => 'application/vnd.oasis.opendocument.text-master', + ), + 'ott' => + array( + 0 => 'application/vnd.oasis.opendocument.text-template', + ), + 'oth' => + array( + 0 => 'application/vnd.oasis.opendocument.text-web', + ), + 'xo' => + array( + 0 => 'application/vnd.olpc-sugar', + ), + 'dd2' => + array( + 0 => 'application/vnd.oma.dd2+xml', + ), + 'oxt' => + array( + 0 => 'application/vnd.openofficeorg.extension', + ), + 'pptx' => + array( + 0 => 'application/vnd.openxmlformats-officedocument.presentationml.presentation', + ), + 'sldx' => + array( + 0 => 'application/vnd.openxmlformats-officedocument.presentationml.slide', + ), + 'ppsx' => + array( + 0 => 'application/vnd.openxmlformats-officedocument.presentationml.slideshow', + ), + 'potx' => + array( + 0 => 'application/vnd.openxmlformats-officedocument.presentationml.template', + ), + 'xlsx' => + array( + 0 => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', + ), + 'xltx' => + array( + 0 => 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', + ), + 'docx' => + array( + 0 => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', + ), + 'dotx' => + array( + 0 => 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', + ), + 'mgp' => + array( + 0 => 'application/vnd.osgeo.mapguide.package', + ), + 'dp' => + array( + 0 => 'application/vnd.osgi.dp', + ), + 'esa' => + array( + 0 => 'application/vnd.osgi.subsystem', + ), + 'pdb' => + array( + 0 => 'application/vnd.palm', + ), + 'pqa' => + array( + 0 => 'application/vnd.palm', + ), + 'oprc' => + array( + 0 => 'application/vnd.palm', + ), + 'paw' => + array( + 0 => 'application/vnd.pawaafile', + ), + 'str' => + array( + 0 => 'application/vnd.pg.format', + ), + 'ei6' => + array( + 0 => 'application/vnd.pg.osasli', + ), + 'efif' => + array( + 0 => 'application/vnd.picsel', + ), + 'wg' => + array( + 0 => 'application/vnd.pmi.widget', + ), + 'plf' => + array( + 0 => 'application/vnd.pocketlearn', + ), + 'pbd' => + array( + 0 => 'application/vnd.powerbuilder6', + ), + 'box' => + array( + 0 => 'application/vnd.previewsystems.box', + ), + 'mgz' => + array( + 0 => 'application/vnd.proteus.magazine', + ), + 'qps' => + array( + 0 => 'application/vnd.publishare-delta-tree', + ), + 'ptid' => + array( + 0 => 'application/vnd.pvi.ptid1', + ), + 'qxd' => + array( + 0 => 'application/vnd.quark.quarkxpress', + ), + 'qxt' => + array( + 0 => 'application/vnd.quark.quarkxpress', + ), + 'qwd' => + array( + 0 => 'application/vnd.quark.quarkxpress', + ), + 'qwt' => + array( + 0 => 'application/vnd.quark.quarkxpress', + ), + 'qxl' => + array( + 0 => 'application/vnd.quark.quarkxpress', + ), + 'qxb' => + array( + 0 => 'application/vnd.quark.quarkxpress', + ), + 'bed' => + array( + 0 => 'application/vnd.realvnc.bed', + ), + 'mxl' => + array( + 0 => 'application/vnd.recordare.musicxml', + ), + 'musicxml' => + array( + 0 => 'application/vnd.recordare.musicxml+xml', + ), + 'cryptonote' => + array( + 0 => 'application/vnd.rig.cryptonote', + ), + 'cod' => + array( + 0 => 'application/vnd.rim.cod', + ), + 'rm' => + array( + 0 => 'application/vnd.rn-realmedia', + ), + 'rmvb' => + array( + 0 => 'application/vnd.rn-realmedia-vbr', + ), + 'link66' => + array( + 0 => 'application/vnd.route66.link66+xml', + ), + 'st' => + array( + 0 => 'application/vnd.sailingtracker.track', + ), + 'see' => + array( + 0 => 'application/vnd.seemail', + ), + 'sema' => + array( + 0 => 'application/vnd.sema', + ), + 'semd' => + array( + 0 => 'application/vnd.semd', + ), + 'semf' => + array( + 0 => 'application/vnd.semf', + ), + 'ifm' => + array( + 0 => 'application/vnd.shana.informed.formdata', + ), + 'itp' => + array( + 0 => 'application/vnd.shana.informed.formtemplate', + ), + 'iif' => + array( + 0 => 'application/vnd.shana.informed.interchange', + ), + 'ipk' => + array( + 0 => 'application/vnd.shana.informed.package', + ), + 'twd' => + array( + 0 => 'application/vnd.simtech-mindmapper', + ), + 'twds' => + array( + 0 => 'application/vnd.simtech-mindmapper', + ), + 'mmf' => + array( + 0 => 'application/vnd.smaf', + ), + 'teacher' => + array( + 0 => 'application/vnd.smart.teacher', + ), + 'sdkm' => + array( + 0 => 'application/vnd.solent.sdkm+xml', + ), + 'sdkd' => + array( + 0 => 'application/vnd.solent.sdkm+xml', + ), + 'dxp' => + array( + 0 => 'application/vnd.spotfire.dxp', + ), + 'sfs' => + array( + 0 => 'application/vnd.spotfire.sfs', + ), + 'sdc' => + array( + 0 => 'application/vnd.stardivision.calc', + ), + 'sda' => + array( + 0 => 'application/vnd.stardivision.draw', + ), + 'sdd' => + array( + 0 => 'application/vnd.stardivision.impress', + ), + 'smf' => + array( + 0 => 'application/vnd.stardivision.math', + ), + 'sdw' => + array( + 0 => 'application/vnd.stardivision.writer', + ), + 'vor' => + array( + 0 => 'application/vnd.stardivision.writer', + ), + 'sgl' => + array( + 0 => 'application/vnd.stardivision.writer-global', + ), + 'smzip' => + array( + 0 => 'application/vnd.stepmania.package', + ), + 'sm' => + array( + 0 => 'application/vnd.stepmania.stepchart', + ), + 'sxc' => + array( + 0 => 'application/vnd.sun.xml.calc', + ), + 'stc' => + array( + 0 => 'application/vnd.sun.xml.calc.template', + ), + 'sxd' => + array( + 0 => 'application/vnd.sun.xml.draw', + ), + 'std' => + array( + 0 => 'application/vnd.sun.xml.draw.template', + ), + 'sxi' => + array( + 0 => 'application/vnd.sun.xml.impress', + ), + 'sti' => + array( + 0 => 'application/vnd.sun.xml.impress.template', + ), + 'sxm' => + array( + 0 => 'application/vnd.sun.xml.math', + ), + 'sxw' => + array( + 0 => 'application/vnd.sun.xml.writer', + ), + 'sxg' => + array( + 0 => 'application/vnd.sun.xml.writer.global', + ), + 'stw' => + array( + 0 => 'application/vnd.sun.xml.writer.template', + ), + 'sus' => + array( + 0 => 'application/vnd.sus-calendar', + ), + 'susp' => + array( + 0 => 'application/vnd.sus-calendar', + ), + 'svd' => + array( + 0 => 'application/vnd.svd', + ), + 'sis' => + array( + 0 => 'application/vnd.symbian.install', + ), + 'sisx' => + array( + 0 => 'application/vnd.symbian.install', + ), + 'xsm' => + array( + 0 => 'application/vnd.syncml+xml', + ), + 'bdm' => + array( + 0 => 'application/vnd.syncml.dm+wbxml', + ), + 'xdm' => + array( + 0 => 'application/vnd.syncml.dm+xml', + ), + 'tao' => + array( + 0 => 'application/vnd.tao.intent-module-archive', + ), + 'pcap' => + array( + 0 => 'application/vnd.tcpdump.pcap', + ), + 'cap' => + array( + 0 => 'application/vnd.tcpdump.pcap', + ), + 'dmp' => + array( + 0 => 'application/vnd.tcpdump.pcap', + ), + 'tmo' => + array( + 0 => 'application/vnd.tmobile-livetv', + ), + 'tpt' => + array( + 0 => 'application/vnd.trid.tpt', + ), + 'mxs' => + array( + 0 => 'application/vnd.triscape.mxs', + ), + 'tra' => + array( + 0 => 'application/vnd.trueapp', + ), + 'ufd' => + array( + 0 => 'application/vnd.ufdl', + ), + 'ufdl' => + array( + 0 => 'application/vnd.ufdl', + ), + 'utz' => + array( + 0 => 'application/vnd.uiq.theme', + ), + 'umj' => + array( + 0 => 'application/vnd.umajin', + ), + 'unityweb' => + array( + 0 => 'application/vnd.unity', + ), + 'uoml' => + array( + 0 => 'application/vnd.uoml+xml', + ), + 'vcx' => + array( + 0 => 'application/vnd.vcx', + ), + 'vsd' => + array( + 0 => 'application/vnd.visio', + ), + 'vst' => + array( + 0 => 'application/vnd.visio', + ), + 'vss' => + array( + 0 => 'application/vnd.visio', + ), + 'vsw' => + array( + 0 => 'application/vnd.visio', + ), + 'vis' => + array( + 0 => 'application/vnd.visionary', + ), + 'vsf' => + array( + 0 => 'application/vnd.vsf', + ), + 'wbxml' => + array( + 0 => 'application/vnd.wap.wbxml', + ), + 'wmlc' => + array( + 0 => 'application/vnd.wap.wmlc', + ), + 'wmlsc' => + array( + 0 => 'application/vnd.wap.wmlscriptc', + ), + 'wtb' => + array( + 0 => 'application/vnd.webturbo', + ), + 'nbp' => + array( + 0 => 'application/vnd.wolfram.player', + ), + 'wpd' => + array( + 0 => 'application/vnd.wordperfect', + ), + 'wqd' => + array( + 0 => 'application/vnd.wqd', + ), + 'stf' => + array( + 0 => 'application/vnd.wt.stf', + ), + 'xar' => + array( + 0 => 'application/vnd.xara', + ), + 'xfdl' => + array( + 0 => 'application/vnd.xfdl', + ), + 'hvd' => + array( + 0 => 'application/vnd.yamaha.hv-dic', + ), + 'hvs' => + array( + 0 => 'application/vnd.yamaha.hv-script', + ), + 'hvp' => + array( + 0 => 'application/vnd.yamaha.hv-voice', + ), + 'osf' => + array( + 0 => 'application/vnd.yamaha.openscoreformat', + ), + 'osfpvg' => + array( + 0 => 'application/vnd.yamaha.openscoreformat.osfpvg+xml', + ), + 'saf' => + array( + 0 => 'application/vnd.yamaha.smaf-audio', + ), + 'spf' => + array( + 0 => 'application/vnd.yamaha.smaf-phrase', + ), + 'cmp' => + array( + 0 => 'application/vnd.yellowriver-custom-menu', + ), + 'zir' => + array( + 0 => 'application/vnd.zul', + ), + 'zirz' => + array( + 0 => 'application/vnd.zul', + ), + 'zaz' => + array( + 0 => 'application/vnd.zzazz.deck+xml', + ), + 'vxml' => + array( + 0 => 'application/voicexml+xml', + ), + 'wgt' => + array( + 0 => 'application/widget', + ), + 'hlp' => + array( + 0 => 'application/winhlp', + ), + 'wsdl' => + array( + 0 => 'application/wsdl+xml', + ), + 'wspolicy' => + array( + 0 => 'application/wspolicy+xml', + ), + '7z' => + array( + 0 => 'application/x-7z-compressed', + ), + 'abw' => + array( + 0 => 'application/x-abiword', + ), + 'ace' => + array( + 0 => 'application/x-ace-compressed', + ), + 'dmg' => + array( + 0 => 'application/x-apple-diskimage', + ), + 'aab' => + array( + 0 => 'application/x-authorware-bin', + ), + 'x32' => + array( + 0 => 'application/x-authorware-bin', + ), + 'u32' => + array( + 0 => 'application/x-authorware-bin', + ), + 'vox' => + array( + 0 => 'application/x-authorware-bin', + ), + 'aam' => + array( + 0 => 'application/x-authorware-map', + ), + 'aas' => + array( + 0 => 'application/x-authorware-seg', + ), + 'bcpio' => + array( + 0 => 'application/x-bcpio', + ), + 'torrent' => + array( + 0 => 'application/x-bittorrent', + ), + 'blb' => + array( + 0 => 'application/x-blorb', + ), + 'blorb' => + array( + 0 => 'application/x-blorb', + ), + 'bz' => + array( + 0 => 'application/x-bzip', + ), + 'bz2' => + array( + 0 => 'application/x-bzip2', + ), + 'boz' => + array( + 0 => 'application/x-bzip2', + ), + 'cbr' => + array( + 0 => 'application/x-cbr', + ), + 'cba' => + array( + 0 => 'application/x-cbr', + ), + 'cbt' => + array( + 0 => 'application/x-cbr', + ), + 'cbz' => + array( + 0 => 'application/x-cbr', + ), + 'cb7' => + array( + 0 => 'application/x-cbr', + ), + 'vcd' => + array( + 0 => 'application/x-cdlink', + ), + 'cfs' => + array( + 0 => 'application/x-cfs-compressed', + ), + 'chat' => + array( + 0 => 'application/x-chat', + ), + 'pgn' => + array( + 0 => 'application/x-chess-pgn', + ), + 'nsc' => + array( + 0 => 'application/x-conference', + ), + 'cpio' => + array( + 0 => 'application/x-cpio', + ), + 'csh' => + array( + 0 => 'application/x-csh', + ), + 'deb' => + array( + 0 => 'application/x-debian-package', + ), + 'udeb' => + array( + 0 => 'application/x-debian-package', + ), + 'dgc' => + array( + 0 => 'application/x-dgc-compressed', + ), + 'dir' => + array( + 0 => 'application/x-director', + ), + 'dcr' => + array( + 0 => 'application/x-director', + ), + 'dxr' => + array( + 0 => 'application/x-director', + ), + 'cst' => + array( + 0 => 'application/x-director', + ), + 'cct' => + array( + 0 => 'application/x-director', + ), + 'cxt' => + array( + 0 => 'application/x-director', + ), + 'w3d' => + array( + 0 => 'application/x-director', + ), + 'fgd' => + array( + 0 => 'application/x-director', + ), + 'swa' => + array( + 0 => 'application/x-director', + ), + 'wad' => + array( + 0 => 'application/x-doom', + ), + 'ncx' => + array( + 0 => 'application/x-dtbncx+xml', + ), + 'dtb' => + array( + 0 => 'application/x-dtbook+xml', + ), + 'res' => + array( + 0 => 'application/x-dtbresource+xml', + ), + 'dvi' => + array( + 0 => 'application/x-dvi', + ), + 'evy' => + array( + 0 => 'application/x-envoy', + ), + 'eva' => + array( + 0 => 'application/x-eva', + ), + 'bdf' => + array( + 0 => 'application/x-font-bdf', + ), + 'gsf' => + array( + 0 => 'application/x-font-ghostscript', + ), + 'psf' => + array( + 0 => 'application/x-font-linux-psf', + ), + 'pcf' => + array( + 0 => 'application/x-font-pcf', + ), + 'snf' => + array( + 0 => 'application/x-font-snf', + ), + 'pfa' => + array( + 0 => 'application/x-font-type1', + ), + 'pfb' => + array( + 0 => 'application/x-font-type1', + ), + 'pfm' => + array( + 0 => 'application/x-font-type1', + ), + 'afm' => + array( + 0 => 'application/x-font-type1', + ), + 'arc' => + array( + 0 => 'application/x-freearc', + ), + 'spl' => + array( + 0 => 'application/x-futuresplash', + ), + 'gca' => + array( + 0 => 'application/x-gca-compressed', + ), + 'ulx' => + array( + 0 => 'application/x-glulx', + ), + 'gnumeric' => + array( + 0 => 'application/x-gnumeric', + ), + 'gramps' => + array( + 0 => 'application/x-gramps-xml', + ), + 'gtar' => + array( + 0 => 'application/x-gtar', + ), + 'hdf' => + array( + 0 => 'application/x-hdf', + ), + 'install' => + array( + 0 => 'application/x-install-instructions', + ), + 'iso' => + array( + 0 => 'application/x-iso9660-image', + ), + 'jnlp' => + array( + 0 => 'application/x-java-jnlp-file', + ), + 'latex' => + array( + 0 => 'application/x-latex', + ), + 'lzh' => + array( + 0 => 'application/x-lzh-compressed', + ), + 'lha' => + array( + 0 => 'application/x-lzh-compressed', + ), + 'mie' => + array( + 0 => 'application/x-mie', + ), + 'prc' => + array( + 0 => 'application/x-mobipocket-ebook', + ), + 'mobi' => + array( + 0 => 'application/x-mobipocket-ebook', + ), + 'application' => + array( + 0 => 'application/x-ms-application', + ), + 'lnk' => + array( + 0 => 'application/x-ms-shortcut', + ), + 'wmd' => + array( + 0 => 'application/x-ms-wmd', + ), + 'wmz' => + array( + 0 => 'application/x-ms-wmz', + 1 => 'application/x-msmetafile', + ), + 'xbap' => + array( + 0 => 'application/x-ms-xbap', + ), + 'mdb' => + array( + 0 => 'application/x-msaccess', + ), + 'obd' => + array( + 0 => 'application/x-msbinder', + ), + 'crd' => + array( + 0 => 'application/x-mscardfile', + ), + 'clp' => + array( + 0 => 'application/x-msclip', + ), + 'exe' => + array( + 0 => 'application/x-msdownload', + ), + 'dll' => + array( + 0 => 'application/x-msdownload', + ), + 'com' => + array( + 0 => 'application/x-msdownload', + ), + 'bat' => + array( + 0 => 'application/x-msdownload', + ), + 'msi' => + array( + 0 => 'application/x-msdownload', + ), + 'mvb' => + array( + 0 => 'application/x-msmediaview', + ), + 'm13' => + array( + 0 => 'application/x-msmediaview', + ), + 'm14' => + array( + 0 => 'application/x-msmediaview', + ), + 'wmf' => + array( + 0 => 'application/x-msmetafile', + ), + 'emf' => + array( + 0 => 'application/x-msmetafile', + ), + 'emz' => + array( + 0 => 'application/x-msmetafile', + ), + 'mny' => + array( + 0 => 'application/x-msmoney', + ), + 'pub' => + array( + 0 => 'application/x-mspublisher', + ), + 'scd' => + array( + 0 => 'application/x-msschedule', + ), + 'trm' => + array( + 0 => 'application/x-msterminal', + ), + 'wri' => + array( + 0 => 'application/x-mswrite', + ), + 'nc' => + array( + 0 => 'application/x-netcdf', + ), + 'cdf' => + array( + 0 => 'application/x-netcdf', + ), + 'nzb' => + array( + 0 => 'application/x-nzb', + ), + 'p12' => + array( + 0 => 'application/x-pkcs12', + ), + 'pfx' => + array( + 0 => 'application/x-pkcs12', + ), + 'p7b' => + array( + 0 => 'application/x-pkcs7-certificates', + ), + 'spc' => + array( + 0 => 'application/x-pkcs7-certificates', + ), + 'p7r' => + array( + 0 => 'application/x-pkcs7-certreqresp', + ), + 'rar' => + array( + 0 => 'application/x-rar-compressed', + ), + 'ris' => + array( + 0 => 'application/x-research-info-systems', + ), + 'sh' => + array( + 0 => 'application/x-sh', + ), + 'shar' => + array( + 0 => 'application/x-shar', + ), + 'swf' => + array( + 0 => 'application/x-shockwave-flash', + ), + 'xap' => + array( + 0 => 'application/x-silverlight-app', + ), + 'sql' => + array( + 0 => 'application/x-sql', + ), + 'sit' => + array( + 0 => 'application/x-stuffit', + ), + 'sitx' => + array( + 0 => 'application/x-stuffitx', + ), + 'srt' => + array( + 0 => 'application/x-subrip', + ), + 'sv4cpio' => + array( + 0 => 'application/x-sv4cpio', + ), + 'sv4crc' => + array( + 0 => 'application/x-sv4crc', + ), + 't3' => + array( + 0 => 'application/x-t3vm-image', + ), + 'gam' => + array( + 0 => 'application/x-tads', + ), + 'tar' => + array( + 0 => 'application/x-tar', + ), + 'tcl' => + array( + 0 => 'application/x-tcl', + ), + 'tex' => + array( + 0 => 'application/x-tex', + ), + 'tfm' => + array( + 0 => 'application/x-tex-tfm', + ), + 'texinfo' => + array( + 0 => 'application/x-texinfo', + ), + 'texi' => + array( + 0 => 'application/x-texinfo', + ), + 'obj' => + array( + 0 => 'application/x-tgif', + ), + 'ustar' => + array( + 0 => 'application/x-ustar', + ), + 'src' => + array( + 0 => 'application/x-wais-source', + ), + 'der' => + array( + 0 => 'application/x-x509-ca-cert', + ), + 'crt' => + array( + 0 => 'application/x-x509-ca-cert', + ), + 'fig' => + array( + 0 => 'application/x-xfig', + ), + 'xlf' => + array( + 0 => 'application/x-xliff+xml', + ), + 'xpi' => + array( + 0 => 'application/x-xpinstall', + ), + 'xz' => + array( + 0 => 'application/x-xz', + ), + 'z1' => + array( + 0 => 'application/x-zmachine', + ), + 'z2' => + array( + 0 => 'application/x-zmachine', + ), + 'z3' => + array( + 0 => 'application/x-zmachine', + ), + 'z4' => + array( + 0 => 'application/x-zmachine', + ), + 'z5' => + array( + 0 => 'application/x-zmachine', + ), + 'z6' => + array( + 0 => 'application/x-zmachine', + ), + 'z7' => + array( + 0 => 'application/x-zmachine', + ), + 'z8' => + array( + 0 => 'application/x-zmachine', + ), + 'xaml' => + array( + 0 => 'application/xaml+xml', + ), + 'xdf' => + array( + 0 => 'application/xcap-diff+xml', + ), + 'xenc' => + array( + 0 => 'application/xenc+xml', + ), + 'xhtml' => + array( + 0 => 'application/xhtml+xml', + ), + 'xht' => + array( + 0 => 'application/xhtml+xml', + ), + 'xml' => + array( + 0 => 'application/xml', + ), + 'xsl' => + array( + 0 => 'application/xml', + ), + 'dtd' => + array( + 0 => 'application/xml-dtd', + ), + 'xop' => + array( + 0 => 'application/xop+xml', + ), + 'xpl' => + array( + 0 => 'application/xproc+xml', + ), + 'xslt' => + array( + 0 => 'application/xslt+xml', + ), + 'xspf' => + array( + 0 => 'application/xspf+xml', + ), + 'mxml' => + array( + 0 => 'application/xv+xml', + ), + 'xhvml' => + array( + 0 => 'application/xv+xml', + ), + 'xvml' => + array( + 0 => 'application/xv+xml', + ), + 'xvm' => + array( + 0 => 'application/xv+xml', + ), + 'yang' => + array( + 0 => 'application/yang', + ), + 'yin' => + array( + 0 => 'application/yin+xml', + ), + 'adp' => + array( + 0 => 'audio/adpcm', + ), + 'au' => + array( + 0 => 'audio/basic', + ), + 'snd' => + array( + 0 => 'audio/basic', + ), + 'mid' => + array( + 0 => 'audio/midi', + ), + 'midi' => + array( + 0 => 'audio/midi', + ), + 'kar' => + array( + 0 => 'audio/midi', + ), + 'rmi' => + array( + 0 => 'audio/midi', + ), + 'm4a' => + array( + 0 => 'audio/mp4', + ), + 'mp4a' => + array( + 0 => 'audio/mp4', + ), + 'oga' => + array( + 0 => 'audio/ogg', + ), + 'ogg' => + array( + 0 => 'audio/ogg', + ), + 'spx' => + array( + 0 => 'audio/ogg', + ), + 's3m' => + array( + 0 => 'audio/s3m', + ), + 'sil' => + array( + 0 => 'audio/silk', + ), + 'uva' => + array( + 0 => 'audio/vnd.dece.audio', + ), + 'uvva' => + array( + 0 => 'audio/vnd.dece.audio', + ), + 'eol' => + array( + 0 => 'audio/vnd.digital-winds', + ), + 'dra' => + array( + 0 => 'audio/vnd.dra', + ), + 'dts' => + array( + 0 => 'audio/vnd.dts', + ), + 'dtshd' => + array( + 0 => 'audio/vnd.dts.hd', + ), + 'lvp' => + array( + 0 => 'audio/vnd.lucent.voice', + ), + 'pya' => + array( + 0 => 'audio/vnd.ms-playready.media.pya', + ), + 'ecelp4800' => + array( + 0 => 'audio/vnd.nuera.ecelp4800', + ), + 'ecelp7470' => + array( + 0 => 'audio/vnd.nuera.ecelp7470', + ), + 'ecelp9600' => + array( + 0 => 'audio/vnd.nuera.ecelp9600', + ), + 'rip' => + array( + 0 => 'audio/vnd.rip', + ), + 'weba' => + array( + 0 => 'audio/webm', + ), + 'aac' => + array( + 0 => 'audio/x-aac', + ), + 'aif' => + array( + 0 => 'audio/x-aiff', + ), + 'aiff' => + array( + 0 => 'audio/x-aiff', + ), + 'aifc' => + array( + 0 => 'audio/x-aiff', + ), + 'caf' => + array( + 0 => 'audio/x-caf', + ), + 'flac' => + array( + 0 => 'audio/x-flac', + ), + 'mka' => + array( + 0 => 'audio/x-matroska', + ), + 'm3u' => + array( + 0 => 'audio/x-mpegurl', + ), + 'wax' => + array( + 0 => 'audio/x-ms-wax', + ), + 'wma' => + array( + 0 => 'audio/x-ms-wma', + ), + 'ram' => + array( + 0 => 'audio/x-pn-realaudio', + ), + 'ra' => + array( + 0 => 'audio/x-pn-realaudio', + ), + 'rmp' => + array( + 0 => 'audio/x-pn-realaudio-plugin', + ), + 'wav' => + array( + 0 => 'audio/x-wav', + ), + 'xm' => + array( + 0 => 'audio/xm', + ), + 'cdx' => + array( + 0 => 'chemical/x-cdx', + ), + 'cif' => + array( + 0 => 'chemical/x-cif', + ), + 'cmdf' => + array( + 0 => 'chemical/x-cmdf', + ), + 'cml' => + array( + 0 => 'chemical/x-cml', + ), + 'csml' => + array( + 0 => 'chemical/x-csml', + ), + 'xyz' => + array( + 0 => 'chemical/x-xyz', + ), + 'woff' => + array( + 0 => 'font/woff', + ), + 'woff2' => + array( + 0 => 'font/woff2', + ), + 'cgm' => + array( + 0 => 'image/cgm', + ), + 'g3' => + array( + 0 => 'image/g3fax', + ), + 'gif' => + array( + 0 => 'image/gif', + ), + 'ief' => + array( + 0 => 'image/ief', + ), + 'ktx' => + array( + 0 => 'image/ktx', + ), + 'png' => + array( + 0 => 'image/png', + ), + 'btif' => + array( + 0 => 'image/prs.btif', + ), + 'sgi' => + array( + 0 => 'image/sgi', + ), + 'svg' => + array( + 0 => 'image/svg+xml', + ), + 'svgz' => + array( + 0 => 'image/svg+xml', + ), + 'tiff' => + array( + 0 => 'image/tiff', + ), + 'tif' => + array( + 0 => 'image/tiff', + ), + 'psd' => + array( + 0 => 'image/vnd.adobe.photoshop', + ), + 'uvi' => + array( + 0 => 'image/vnd.dece.graphic', + ), + 'uvvi' => + array( + 0 => 'image/vnd.dece.graphic', + ), + 'uvg' => + array( + 0 => 'image/vnd.dece.graphic', + ), + 'uvvg' => + array( + 0 => 'image/vnd.dece.graphic', + ), + 'djvu' => + array( + 0 => 'image/vnd.djvu', + ), + 'djv' => + array( + 0 => 'image/vnd.djvu', + ), + 'sub' => + array( + 0 => 'image/vnd.dvb.subtitle', + 1 => 'text/vnd.dvb.subtitle', + ), + 'dwg' => + array( + 0 => 'image/vnd.dwg', + ), + 'dxf' => + array( + 0 => 'image/vnd.dxf', + ), + 'fbs' => + array( + 0 => 'image/vnd.fastbidsheet', + ), + 'fpx' => + array( + 0 => 'image/vnd.fpx', + ), + 'fst' => + array( + 0 => 'image/vnd.fst', + ), + 'mmr' => + array( + 0 => 'image/vnd.fujixerox.edmics-mmr', + ), + 'rlc' => + array( + 0 => 'image/vnd.fujixerox.edmics-rlc', + ), + 'mdi' => + array( + 0 => 'image/vnd.ms-modi', + ), + 'wdp' => + array( + 0 => 'image/vnd.ms-photo', + ), + 'npx' => + array( + 0 => 'image/vnd.net-fpx', + ), + 'wbmp' => + array( + 0 => 'image/vnd.wap.wbmp', + ), + 'xif' => + array( + 0 => 'image/vnd.xiff', + ), + 'webp' => + array( + 0 => 'image/webp', + ), + '3ds' => + array( + 0 => 'image/x-3ds', + ), + 'ras' => + array( + 0 => 'image/x-cmu-raster', + ), + 'cmx' => + array( + 0 => 'image/x-cmx', + ), + 'fh' => + array( + 0 => 'image/x-freehand', + ), + 'fhc' => + array( + 0 => 'image/x-freehand', + ), + 'fh4' => + array( + 0 => 'image/x-freehand', + ), + 'fh5' => + array( + 0 => 'image/x-freehand', + ), + 'fh7' => + array( + 0 => 'image/x-freehand', + ), + 'ico' => + array( + 0 => 'image/x-icon', + ), + 'sid' => + array( + 0 => 'image/x-mrsid-image', + ), + 'pcx' => + array( + 0 => 'image/x-pcx', + ), + 'pic' => + array( + 0 => 'image/x-pict', + ), + 'pct' => + array( + 0 => 'image/x-pict', + ), + 'pnm' => + array( + 0 => 'image/x-portable-anymap', + ), + 'pbm' => + array( + 0 => 'image/x-portable-bitmap', + ), + 'pgm' => + array( + 0 => 'image/x-portable-graymap', + ), + 'ppm' => + array( + 0 => 'image/x-portable-pixmap', + ), + 'rgb' => + array( + 0 => 'image/x-rgb', + ), + 'tga' => + array( + 0 => 'image/x-tga', + ), + 'xbm' => + array( + 0 => 'image/x-xbitmap', + ), + 'xpm' => + array( + 0 => 'image/x-xpixmap', + ), + 'xwd' => + array( + 0 => 'image/x-xwindowdump', + ), + 'eml' => + array( + 0 => 'message/rfc822', + ), + 'mime' => + array( + 0 => 'message/rfc822', + ), + 'igs' => + array( + 0 => 'model/iges', + ), + 'iges' => + array( + 0 => 'model/iges', + ), + 'msh' => + array( + 0 => 'model/mesh', + ), + 'mesh' => + array( + 0 => 'model/mesh', + ), + 'silo' => + array( + 0 => 'model/mesh', + ), + 'dae' => + array( + 0 => 'model/vnd.collada+xml', + ), + 'dwf' => + array( + 0 => 'model/vnd.dwf', + ), + 'gdl' => + array( + 0 => 'model/vnd.gdl', + ), + 'gtw' => + array( + 0 => 'model/vnd.gtw', + ), + 'mts' => + array( + 0 => 'model/vnd.mts', + ), + 'vtu' => + array( + 0 => 'model/vnd.vtu', + ), + 'wrl' => + array( + 0 => 'model/vrml', + ), + 'vrml' => + array( + 0 => 'model/vrml', + ), + 'x3db' => + array( + 0 => 'model/x3d+binary', + ), + 'x3dbz' => + array( + 0 => 'model/x3d+binary', + ), + 'x3dv' => + array( + 0 => 'model/x3d+vrml', + ), + 'x3dvz' => + array( + 0 => 'model/x3d+vrml', + ), + 'x3d' => + array( + 0 => 'model/x3d+xml', + ), + 'x3dz' => + array( + 0 => 'model/x3d+xml', + ), + 'appcache' => + array( + 0 => 'text/cache-manifest', + ), + 'ics' => + array( + 0 => 'text/calendar', + ), + 'ifb' => + array( + 0 => 'text/calendar', + ), + 'css' => + array( + 0 => 'text/css', + ), + 'csv' => + array( + 0 => 'text/csv', + ), + 'html' => + array( + 0 => 'text/html', + ), + 'htm' => + array( + 0 => 'text/html', + ), + 'n3' => + array( + 0 => 'text/n3', + ), + 'txt' => + array( + 0 => 'text/plain', + ), + 'text' => + array( + 0 => 'text/plain', + ), + 'conf' => + array( + 0 => 'text/plain', + ), + 'def' => + array( + 0 => 'text/plain', + ), + 'list' => + array( + 0 => 'text/plain', + ), + 'log' => + array( + 0 => 'text/plain', + ), + 'in' => + array( + 0 => 'text/plain', + ), + 'dsc' => + array( + 0 => 'text/prs.lines.tag', + ), + 'rtx' => + array( + 0 => 'text/richtext', + ), + 'sgml' => + array( + 0 => 'text/sgml', + ), + 'sgm' => + array( + 0 => 'text/sgml', + ), + 'tsv' => + array( + 0 => 'text/tab-separated-values', + ), + 't' => + array( + 0 => 'text/troff', + ), + 'tr' => + array( + 0 => 'text/troff', + ), + 'roff' => + array( + 0 => 'text/troff', + ), + 'man' => + array( + 0 => 'text/troff', + ), + 'me' => + array( + 0 => 'text/troff', + ), + 'ms' => + array( + 0 => 'text/troff', + ), + 'ttl' => + array( + 0 => 'text/turtle', + ), + 'uri' => + array( + 0 => 'text/uri-list', + ), + 'uris' => + array( + 0 => 'text/uri-list', + ), + 'urls' => + array( + 0 => 'text/uri-list', + ), + 'vcard' => + array( + 0 => 'text/vcard', + ), + 'curl' => + array( + 0 => 'text/vnd.curl', + ), + 'dcurl' => + array( + 0 => 'text/vnd.curl.dcurl', + ), + 'mcurl' => + array( + 0 => 'text/vnd.curl.mcurl', + ), + 'scurl' => + array( + 0 => 'text/vnd.curl.scurl', + ), + 'fly' => + array( + 0 => 'text/vnd.fly', + ), + 'flx' => + array( + 0 => 'text/vnd.fmi.flexstor', + ), + 'gv' => + array( + 0 => 'text/vnd.graphviz', + ), + '3dml' => + array( + 0 => 'text/vnd.in3d.3dml', + ), + 'spot' => + array( + 0 => 'text/vnd.in3d.spot', + ), + 'jad' => + array( + 0 => 'text/vnd.sun.j2me.app-descriptor', + ), + 'wml' => + array( + 0 => 'text/vnd.wap.wml', + ), + 'wmls' => + array( + 0 => 'text/vnd.wap.wmlscript', + ), + 's' => + array( + 0 => 'text/x-asm', + ), + 'asm' => + array( + 0 => 'text/x-asm', + ), + 'c' => + array( + 0 => 'text/x-c', + ), + 'cc' => + array( + 0 => 'text/x-c', + ), + 'cxx' => + array( + 0 => 'text/x-c', + ), + 'cpp' => + array( + 0 => 'text/x-c', + ), + 'h' => + array( + 0 => 'text/x-c', + ), + 'hh' => + array( + 0 => 'text/x-c', + ), + 'dic' => + array( + 0 => 'text/x-c', + ), + 'f' => + array( + 0 => 'text/x-fortran', + ), + 'for' => + array( + 0 => 'text/x-fortran', + ), + 'f77' => + array( + 0 => 'text/x-fortran', + ), + 'f90' => + array( + 0 => 'text/x-fortran', + ), + 'java' => + array( + 0 => 'text/x-java-source', + ), + 'nfo' => + array( + 0 => 'text/x-nfo', + ), + 'opml' => + array( + 0 => 'text/x-opml', + ), + 'p' => + array( + 0 => 'text/x-pascal', + ), + 'pas' => + array( + 0 => 'text/x-pascal', + ), + 'etx' => + array( + 0 => 'text/x-setext', + ), + 'sfv' => + array( + 0 => 'text/x-sfv', + ), + 'uu' => + array( + 0 => 'text/x-uuencode', + ), + 'vcs' => + array( + 0 => 'text/x-vcalendar', + ), + 'vcf' => + array( + 0 => 'text/x-vcard', + ), + '3gp' => + array( + 0 => 'video/3gpp', + ), + '3g2' => + array( + 0 => 'video/3gpp2', + ), + 'h261' => + array( + 0 => 'video/h261', + ), + 'h263' => + array( + 0 => 'video/h263', + ), + 'h264' => + array( + 0 => 'video/h264', + ), + 'jpgv' => + array( + 0 => 'video/jpeg', + ), + 'jpm' => + array( + 0 => 'video/jpm', + ), + 'jpgm' => + array( + 0 => 'video/jpm', + ), + 'mj2' => + array( + 0 => 'video/mj2', + ), + 'mjp2' => + array( + 0 => 'video/mj2', + ), + 'mp4' => + array( + 0 => 'video/mp4', + ), + 'mp4v' => + array( + 0 => 'video/mp4', + ), + 'mpg4' => + array( + 0 => 'video/mp4', + ), + 'mpeg' => + array( + 0 => 'video/mpeg', + ), + 'mpg' => + array( + 0 => 'video/mpeg', + ), + 'mpe' => + array( + 0 => 'video/mpeg', + ), + 'm1v' => + array( + 0 => 'video/mpeg', + ), + 'm2v' => + array( + 0 => 'video/mpeg', + ), + 'ogv' => + array( + 0 => 'video/ogg', + ), + 'qt' => + array( + 0 => 'video/quicktime', + ), + 'mov' => + array( + 0 => 'video/quicktime', + ), + 'uvh' => + array( + 0 => 'video/vnd.dece.hd', + ), + 'uvvh' => + array( + 0 => 'video/vnd.dece.hd', + ), + 'uvm' => + array( + 0 => 'video/vnd.dece.mobile', + ), + 'uvvm' => + array( + 0 => 'video/vnd.dece.mobile', + ), + 'uvp' => + array( + 0 => 'video/vnd.dece.pd', + ), + 'uvvp' => + array( + 0 => 'video/vnd.dece.pd', + ), + 'uvs' => + array( + 0 => 'video/vnd.dece.sd', + ), + 'uvvs' => + array( + 0 => 'video/vnd.dece.sd', + ), + 'uvv' => + array( + 0 => 'video/vnd.dece.video', + ), + 'uvvv' => + array( + 0 => 'video/vnd.dece.video', + ), + 'dvb' => + array( + 0 => 'video/vnd.dvb.file', + ), + 'fvt' => + array( + 0 => 'video/vnd.fvt', + ), + 'mxu' => + array( + 0 => 'video/vnd.mpegurl', + ), + 'm4u' => + array( + 0 => 'video/vnd.mpegurl', + ), + 'pyv' => + array( + 0 => 'video/vnd.ms-playready.media.pyv', + ), + 'uvu' => + array( + 0 => 'video/vnd.uvvu.mp4', + ), + 'uvvu' => + array( + 0 => 'video/vnd.uvvu.mp4', + ), + 'viv' => + array( + 0 => 'video/vnd.vivo', + ), + 'webm' => + array( + 0 => 'video/webm', + ), + 'f4v' => + array( + 0 => 'video/x-f4v', + ), + 'fli' => + array( + 0 => 'video/x-fli', + ), + 'flv' => + array( + 0 => 'video/x-flv', + ), + 'm4v' => + array( + 0 => 'video/x-m4v', + ), + 'mkv' => + array( + 0 => 'video/x-matroska', + ), + 'mk3d' => + array( + 0 => 'video/x-matroska', + ), + 'mks' => + array( + 0 => 'video/x-matroska', + ), + 'mng' => + array( + 0 => 'video/x-mng', + ), + 'asf' => + array( + 0 => 'video/x-ms-asf', + ), + 'asx' => + array( + 0 => 'video/x-ms-asf', + ), + 'vob' => + array( + 0 => 'video/x-ms-vob', + ), + 'wm' => + array( + 0 => 'video/x-ms-wm', + ), + 'wmv' => + array( + 0 => 'video/x-ms-wmv', + ), + 'wmx' => + array( + 0 => 'video/x-ms-wmx', + ), + 'wvx' => + array( + 0 => 'video/x-ms-wvx', + ), + 'avi' => + array( + 0 => 'video/x-msvideo', + ), + 'movie' => + array( + 0 => 'video/x-sgi-movie', + ), + 'smv' => + array( + 0 => 'video/x-smv', + ), + 'ice' => + array( + 0 => 'x-conference/x-cooltalk', + ), + ), + 'extensions' => + array( + 'application/font-woff' => + array( + 0 => 'wof', + ), + 'application/php' => + array( + 0 => 'php', + ), + 'application/x-font-otf' => + array( + 0 => 'otf', + ), + 'application/x-font-ttf' => + array( + 0 => 'ttf', + 1 => 'ttc', + ), + 'application/x-gzip' => + array( + 0 => 'zip', + ), + 'application/x-httpd-php' => + array( + 0 => 'php', + ), + 'application/x-httpd-php-source' => + array( + 0 => 'php', + ), + 'application/x-php' => + array( + 0 => 'php', + ), + 'audio/amr' => + array( + 0 => 'amr', + ), + 'audio/mpeg' => + array( + 0 => 'mp3', + 1 => 'mpga', + 2 => 'mp2', + 3 => 'mp2a', + 4 => 'm2a', + 5 => 'm3a', + ), + 'image/jpeg' => + array( + 0 => 'jpg', + 1 => 'jpeg', + 2 => 'jpe', + ), + 'image/x-ms-bmp' => + array( + 0 => 'bmp', + ), + 'text/php' => + array( + 0 => 'php', + ), + 'text/x-php' => + array( + 0 => 'php', + ), + 'application/andrew-inset' => + array( + 0 => 'ez', + ), + 'application/applixware' => + array( + 0 => 'aw', + ), + 'application/atom+xml' => + array( + 0 => 'atom', + ), + 'application/atomcat+xml' => + array( + 0 => 'atomcat', + ), + 'application/atomsvc+xml' => + array( + 0 => 'atomsvc', + ), + 'application/ccxml+xml' => + array( + 0 => 'ccxml', + ), + 'application/cdmi-capability' => + array( + 0 => 'cdmia', + ), + 'application/cdmi-container' => + array( + 0 => 'cdmic', + ), + 'application/cdmi-domain' => + array( + 0 => 'cdmid', + ), + 'application/cdmi-object' => + array( + 0 => 'cdmio', + ), + 'application/cdmi-queue' => + array( + 0 => 'cdmiq', + ), + 'application/cu-seeme' => + array( + 0 => 'cu', + ), + 'application/davmount+xml' => + array( + 0 => 'davmount', + ), + 'application/docbook+xml' => + array( + 0 => 'dbk', + ), + 'application/dssc+der' => + array( + 0 => 'dssc', + ), + 'application/dssc+xml' => + array( + 0 => 'xdssc', + ), + 'application/ecmascript' => + array( + 0 => 'ecma', + ), + 'application/emma+xml' => + array( + 0 => 'emma', + ), + 'application/epub+zip' => + array( + 0 => 'epub', + ), + 'application/exi' => + array( + 0 => 'exi', + ), + 'application/font-tdpfr' => + array( + 0 => 'pfr', + ), + 'application/gml+xml' => + array( + 0 => 'gml', + ), + 'application/gpx+xml' => + array( + 0 => 'gpx', + ), + 'application/gxf' => + array( + 0 => 'gxf', + ), + 'application/hyperstudio' => + array( + 0 => 'stk', + ), + 'application/inkml+xml' => + array( + 0 => 'ink', + 1 => 'inkml', + ), + 'application/ipfix' => + array( + 0 => 'ipfix', + ), + 'application/java-archive' => + array( + 0 => 'jar', + ), + 'application/java-serialized-object' => + array( + 0 => 'ser', + ), + 'application/java-vm' => + array( + 0 => 'class', + ), + 'application/javascript' => + array( + 0 => 'js', + ), + 'application/json' => + array( + 0 => 'json', + ), + 'application/jsonml+json' => + array( + 0 => 'jsonml', + ), + 'application/lost+xml' => + array( + 0 => 'lostxml', + ), + 'application/mac-binhex40' => + array( + 0 => 'hqx', + ), + 'application/mac-compactpro' => + array( + 0 => 'cpt', + ), + 'application/mads+xml' => + array( + 0 => 'mads', + ), + 'application/marc' => + array( + 0 => 'mrc', + ), + 'application/marcxml+xml' => + array( + 0 => 'mrcx', + ), + 'application/mathematica' => + array( + 0 => 'ma', + 1 => 'nb', + 2 => 'mb', + ), + 'application/mathml+xml' => + array( + 0 => 'mathml', + ), + 'application/mbox' => + array( + 0 => 'mbox', + ), + 'application/mediaservercontrol+xml' => + array( + 0 => 'mscml', + ), + 'application/metalink+xml' => + array( + 0 => 'metalink', + ), + 'application/metalink4+xml' => + array( + 0 => 'meta4', + ), + 'application/mets+xml' => + array( + 0 => 'mets', + ), + 'application/mods+xml' => + array( + 0 => 'mods', + ), + 'application/mp21' => + array( + 0 => 'm21', + 1 => 'mp21', + ), + 'application/mp4' => + array( + 0 => 'mp4s', + ), + 'application/msword' => + array( + 0 => 'doc', + 1 => 'dot', + ), + 'application/mxf' => + array( + 0 => 'mxf', + ), + 'application/octet-stream' => + array( + 0 => 'bin', + 1 => 'dms', + 2 => 'lrf', + 3 => 'mar', + 4 => 'so', + 5 => 'dist', + 6 => 'distz', + 7 => 'pkg', + 8 => 'bpk', + 9 => 'dump', + 10 => 'elc', + 11 => 'deploy', + ), + 'application/oda' => + array( + 0 => 'oda', + ), + 'application/oebps-package+xml' => + array( + 0 => 'opf', + ), + 'application/ogg' => + array( + 0 => 'ogx', + ), + 'application/omdoc+xml' => + array( + 0 => 'omdoc', + ), + 'application/onenote' => + array( + 0 => 'onetoc', + 1 => 'onetoc2', + 2 => 'onetmp', + 3 => 'onepkg', + ), + 'application/oxps' => + array( + 0 => 'oxps', + ), + 'application/patch-ops-error+xml' => + array( + 0 => 'xer', + ), + 'application/pdf' => + array( + 0 => 'pdf', + ), + 'application/pgp-encrypted' => + array( + 0 => 'pgp', + ), + 'application/pgp-signature' => + array( + 0 => 'asc', + 1 => 'sig', + ), + 'application/pics-rules' => + array( + 0 => 'prf', + ), + 'application/pkcs10' => + array( + 0 => 'p10', + ), + 'application/pkcs7-mime' => + array( + 0 => 'p7m', + 1 => 'p7c', + ), + 'application/pkcs7-signature' => + array( + 0 => 'p7s', + ), + 'application/pkcs8' => + array( + 0 => 'p8', + ), + 'application/pkix-attr-cert' => + array( + 0 => 'ac', + ), + 'application/pkix-cert' => + array( + 0 => 'cer', + ), + 'application/pkix-crl' => + array( + 0 => 'crl', + ), + 'application/pkix-pkipath' => + array( + 0 => 'pkipath', + ), + 'application/pkixcmp' => + array( + 0 => 'pki', + ), + 'application/pls+xml' => + array( + 0 => 'pls', + ), + 'application/postscript' => + array( + 0 => 'ai', + 1 => 'eps', + 2 => 'ps', + ), + 'application/prs.cww' => + array( + 0 => 'cww', + ), + 'application/pskc+xml' => + array( + 0 => 'pskcxml', + ), + 'application/rdf+xml' => + array( + 0 => 'rdf', + ), + 'application/reginfo+xml' => + array( + 0 => 'rif', + ), + 'application/relax-ng-compact-syntax' => + array( + 0 => 'rnc', + ), + 'application/resource-lists+xml' => + array( + 0 => 'rl', + ), + 'application/resource-lists-diff+xml' => + array( + 0 => 'rld', + ), + 'application/rls-services+xml' => + array( + 0 => 'rs', + ), + 'application/rpki-ghostbusters' => + array( + 0 => 'gbr', + ), + 'application/rpki-manifest' => + array( + 0 => 'mft', + ), + 'application/rpki-roa' => + array( + 0 => 'roa', + ), + 'application/rsd+xml' => + array( + 0 => 'rsd', + ), + 'application/rss+xml' => + array( + 0 => 'rss', + ), + 'application/rtf' => + array( + 0 => 'rtf', + ), + 'application/sbml+xml' => + array( + 0 => 'sbml', + ), + 'application/scvp-cv-request' => + array( + 0 => 'scq', + ), + 'application/scvp-cv-response' => + array( + 0 => 'scs', + ), + 'application/scvp-vp-request' => + array( + 0 => 'spq', + ), + 'application/scvp-vp-response' => + array( + 0 => 'spp', + ), + 'application/sdp' => + array( + 0 => 'sdp', + ), + 'application/set-payment-initiation' => + array( + 0 => 'setpay', + ), + 'application/set-registration-initiation' => + array( + 0 => 'setreg', + ), + 'application/shf+xml' => + array( + 0 => 'shf', + ), + 'application/smil+xml' => + array( + 0 => 'smi', + 1 => 'smil', + ), + 'application/sparql-query' => + array( + 0 => 'rq', + ), + 'application/sparql-results+xml' => + array( + 0 => 'srx', + ), + 'application/srgs' => + array( + 0 => 'gram', + ), + 'application/srgs+xml' => + array( + 0 => 'grxml', + ), + 'application/sru+xml' => + array( + 0 => 'sru', + ), + 'application/ssdl+xml' => + array( + 0 => 'ssdl', + ), + 'application/ssml+xml' => + array( + 0 => 'ssml', + ), + 'application/tei+xml' => + array( + 0 => 'tei', + 1 => 'teicorpus', + ), + 'application/thraud+xml' => + array( + 0 => 'tfi', + ), + 'application/timestamped-data' => + array( + 0 => 'tsd', + ), + 'application/vnd.3gpp.pic-bw-large' => + array( + 0 => 'plb', + ), + 'application/vnd.3gpp.pic-bw-small' => + array( + 0 => 'psb', + ), + 'application/vnd.3gpp.pic-bw-var' => + array( + 0 => 'pvb', + ), + 'application/vnd.3gpp2.tcap' => + array( + 0 => 'tcap', + ), + 'application/vnd.3m.post-it-notes' => + array( + 0 => 'pwn', + ), + 'application/vnd.accpac.simply.aso' => + array( + 0 => 'aso', + ), + 'application/vnd.accpac.simply.imp' => + array( + 0 => 'imp', + ), + 'application/vnd.acucobol' => + array( + 0 => 'acu', + ), + 'application/vnd.acucorp' => + array( + 0 => 'atc', + 1 => 'acutc', + ), + 'application/vnd.adobe.air-application-installer-package+zip' => + array( + 0 => 'air', + ), + 'application/vnd.adobe.formscentral.fcdt' => + array( + 0 => 'fcdt', + ), + 'application/vnd.adobe.fxp' => + array( + 0 => 'fxp', + 1 => 'fxpl', + ), + 'application/vnd.adobe.xdp+xml' => + array( + 0 => 'xdp', + ), + 'application/vnd.adobe.xfdf' => + array( + 0 => 'xfdf', + ), + 'application/vnd.ahead.space' => + array( + 0 => 'ahead', + ), + 'application/vnd.airzip.filesecure.azf' => + array( + 0 => 'azf', + ), + 'application/vnd.airzip.filesecure.azs' => + array( + 0 => 'azs', + ), + 'application/vnd.amazon.ebook' => + array( + 0 => 'azw', + ), + 'application/vnd.americandynamics.acc' => + array( + 0 => 'acc', + ), + 'application/vnd.amiga.ami' => + array( + 0 => 'ami', + ), + 'application/vnd.android.package-archive' => + array( + 0 => 'apk', + ), + 'application/vnd.anser-web-certificate-issue-initiation' => + array( + 0 => 'cii', + ), + 'application/vnd.anser-web-funds-transfer-initiation' => + array( + 0 => 'fti', + ), + 'application/vnd.antix.game-component' => + array( + 0 => 'atx', + ), + 'application/vnd.apple.installer+xml' => + array( + 0 => 'mpkg', + ), + 'application/vnd.apple.mpegurl' => + array( + 0 => 'm3u8', + ), + 'application/vnd.aristanetworks.swi' => + array( + 0 => 'swi', + ), + 'application/vnd.astraea-software.iota' => + array( + 0 => 'iota', + ), + 'application/vnd.audiograph' => + array( + 0 => 'aep', + ), + 'application/vnd.blueice.multipass' => + array( + 0 => 'mpm', + ), + 'application/vnd.bmi' => + array( + 0 => 'bmi', + ), + 'application/vnd.businessobjects' => + array( + 0 => 'rep', + ), + 'application/vnd.chemdraw+xml' => + array( + 0 => 'cdxml', + ), + 'application/vnd.chipnuts.karaoke-mmd' => + array( + 0 => 'mmd', + ), + 'application/vnd.cinderella' => + array( + 0 => 'cdy', + ), + 'application/vnd.claymore' => + array( + 0 => 'cla', + ), + 'application/vnd.cloanto.rp9' => + array( + 0 => 'rp9', + ), + 'application/vnd.clonk.c4group' => + array( + 0 => 'c4g', + 1 => 'c4d', + 2 => 'c4f', + 3 => 'c4p', + 4 => 'c4u', + ), + 'application/vnd.cluetrust.cartomobile-config' => + array( + 0 => 'c11amc', + ), + 'application/vnd.cluetrust.cartomobile-config-pkg' => + array( + 0 => 'c11amz', + ), + 'application/vnd.commonspace' => + array( + 0 => 'csp', + ), + 'application/vnd.contact.cmsg' => + array( + 0 => 'cdbcmsg', + ), + 'application/vnd.cosmocaller' => + array( + 0 => 'cmc', + ), + 'application/vnd.crick.clicker' => + array( + 0 => 'clkx', + ), + 'application/vnd.crick.clicker.keyboard' => + array( + 0 => 'clkk', + ), + 'application/vnd.crick.clicker.palette' => + array( + 0 => 'clkp', + ), + 'application/vnd.crick.clicker.template' => + array( + 0 => 'clkt', + ), + 'application/vnd.crick.clicker.wordbank' => + array( + 0 => 'clkw', + ), + 'application/vnd.criticaltools.wbs+xml' => + array( + 0 => 'wbs', + ), + 'application/vnd.ctc-posml' => + array( + 0 => 'pml', + ), + 'application/vnd.cups-ppd' => + array( + 0 => 'ppd', + ), + 'application/vnd.curl.car' => + array( + 0 => 'car', + ), + 'application/vnd.curl.pcurl' => + array( + 0 => 'pcurl', + ), + 'application/vnd.dart' => + array( + 0 => 'dart', + ), + 'application/vnd.data-vision.rdz' => + array( + 0 => 'rdz', + ), + 'application/vnd.dece.data' => + array( + 0 => 'uvf', + 1 => 'uvvf', + 2 => 'uvd', + 3 => 'uvvd', + ), + 'application/vnd.dece.ttml+xml' => + array( + 0 => 'uvt', + 1 => 'uvvt', + ), + 'application/vnd.dece.unspecified' => + array( + 0 => 'uvx', + 1 => 'uvvx', + ), + 'application/vnd.dece.zip' => + array( + 0 => 'uvz', + 1 => 'uvvz', + ), + 'application/vnd.denovo.fcselayout-link' => + array( + 0 => 'fe_launch', + ), + 'application/vnd.dna' => + array( + 0 => 'dna', + ), + 'application/vnd.dolby.mlp' => + array( + 0 => 'mlp', + ), + 'application/vnd.dpgraph' => + array( + 0 => 'dpg', + ), + 'application/vnd.dreamfactory' => + array( + 0 => 'dfac', + ), + 'application/vnd.ds-keypoint' => + array( + 0 => 'kpxx', + ), + 'application/vnd.dvb.ait' => + array( + 0 => 'ait', + ), + 'application/vnd.dvb.service' => + array( + 0 => 'svc', + ), + 'application/vnd.dynageo' => + array( + 0 => 'geo', + ), + 'application/vnd.ecowin.chart' => + array( + 0 => 'mag', + ), + 'application/vnd.enliven' => + array( + 0 => 'nml', + ), + 'application/vnd.epson.esf' => + array( + 0 => 'esf', + ), + 'application/vnd.epson.msf' => + array( + 0 => 'msf', + ), + 'application/vnd.epson.quickanime' => + array( + 0 => 'qam', + ), + 'application/vnd.epson.salt' => + array( + 0 => 'slt', + ), + 'application/vnd.epson.ssf' => + array( + 0 => 'ssf', + ), + 'application/vnd.eszigno3+xml' => + array( + 0 => 'es3', + 1 => 'et3', + ), + 'application/vnd.ezpix-album' => + array( + 0 => 'ez2', + ), + 'application/vnd.ezpix-package' => + array( + 0 => 'ez3', + ), + 'application/vnd.fdf' => + array( + 0 => 'fdf', + ), + 'application/vnd.fdsn.mseed' => + array( + 0 => 'mseed', + ), + 'application/vnd.fdsn.seed' => + array( + 0 => 'seed', + 1 => 'dataless', + ), + 'application/vnd.flographit' => + array( + 0 => 'gph', + ), + 'application/vnd.fluxtime.clip' => + array( + 0 => 'ftc', + ), + 'application/vnd.framemaker' => + array( + 0 => 'fm', + 1 => 'frame', + 2 => 'maker', + 3 => 'book', + ), + 'application/vnd.frogans.fnc' => + array( + 0 => 'fnc', + ), + 'application/vnd.frogans.ltf' => + array( + 0 => 'ltf', + ), + 'application/vnd.fsc.weblaunch' => + array( + 0 => 'fsc', + ), + 'application/vnd.fujitsu.oasys' => + array( + 0 => 'oas', + ), + 'application/vnd.fujitsu.oasys2' => + array( + 0 => 'oa2', + ), + 'application/vnd.fujitsu.oasys3' => + array( + 0 => 'oa3', + ), + 'application/vnd.fujitsu.oasysgp' => + array( + 0 => 'fg5', + ), + 'application/vnd.fujitsu.oasysprs' => + array( + 0 => 'bh2', + ), + 'application/vnd.fujixerox.ddd' => + array( + 0 => 'ddd', + ), + 'application/vnd.fujixerox.docuworks' => + array( + 0 => 'xdw', + ), + 'application/vnd.fujixerox.docuworks.binder' => + array( + 0 => 'xbd', + ), + 'application/vnd.fuzzysheet' => + array( + 0 => 'fzs', + ), + 'application/vnd.genomatix.tuxedo' => + array( + 0 => 'txd', + ), + 'application/vnd.geogebra.file' => + array( + 0 => 'ggb', + ), + 'application/vnd.geogebra.tool' => + array( + 0 => 'ggt', + ), + 'application/vnd.geometry-explorer' => + array( + 0 => 'gex', + 1 => 'gre', + ), + 'application/vnd.geonext' => + array( + 0 => 'gxt', + ), + 'application/vnd.geoplan' => + array( + 0 => 'g2w', + ), + 'application/vnd.geospace' => + array( + 0 => 'g3w', + ), + 'application/vnd.gmx' => + array( + 0 => 'gmx', + ), + 'application/vnd.google-earth.kml+xml' => + array( + 0 => 'kml', + ), + 'application/vnd.google-earth.kmz' => + array( + 0 => 'kmz', + ), + 'application/vnd.grafeq' => + array( + 0 => 'gqf', + 1 => 'gqs', + ), + 'application/vnd.groove-account' => + array( + 0 => 'gac', + ), + 'application/vnd.groove-help' => + array( + 0 => 'ghf', + ), + 'application/vnd.groove-identity-message' => + array( + 0 => 'gim', + ), + 'application/vnd.groove-injector' => + array( + 0 => 'grv', + ), + 'application/vnd.groove-tool-message' => + array( + 0 => 'gtm', + ), + 'application/vnd.groove-tool-template' => + array( + 0 => 'tpl', + ), + 'application/vnd.groove-vcard' => + array( + 0 => 'vcg', + ), + 'application/vnd.hal+xml' => + array( + 0 => 'hal', + ), + 'application/vnd.handheld-entertainment+xml' => + array( + 0 => 'zmm', + ), + 'application/vnd.hbci' => + array( + 0 => 'hbci', + ), + 'application/vnd.hhe.lesson-player' => + array( + 0 => 'les', + ), + 'application/vnd.hp-hpgl' => + array( + 0 => 'hpgl', + ), + 'application/vnd.hp-hpid' => + array( + 0 => 'hpid', + ), + 'application/vnd.hp-hps' => + array( + 0 => 'hps', + ), + 'application/vnd.hp-jlyt' => + array( + 0 => 'jlt', + ), + 'application/vnd.hp-pcl' => + array( + 0 => 'pcl', + ), + 'application/vnd.hp-pclxl' => + array( + 0 => 'pclxl', + ), + 'application/vnd.hydrostatix.sof-data' => + array( + 0 => 'sfd-hdstx', + ), + 'application/vnd.ibm.minipay' => + array( + 0 => 'mpy', + ), + 'application/vnd.ibm.modcap' => + array( + 0 => 'afp', + 1 => 'listafp', + 2 => 'list3820', + ), + 'application/vnd.ibm.rights-management' => + array( + 0 => 'irm', + ), + 'application/vnd.ibm.secure-container' => + array( + 0 => 'sc', + ), + 'application/vnd.iccprofile' => + array( + 0 => 'icc', + 1 => 'icm', + ), + 'application/vnd.igloader' => + array( + 0 => 'igl', + ), + 'application/vnd.immervision-ivp' => + array( + 0 => 'ivp', + ), + 'application/vnd.immervision-ivu' => + array( + 0 => 'ivu', + ), + 'application/vnd.insors.igm' => + array( + 0 => 'igm', + ), + 'application/vnd.intercon.formnet' => + array( + 0 => 'xpw', + 1 => 'xpx', + ), + 'application/vnd.intergeo' => + array( + 0 => 'i2g', + ), + 'application/vnd.intu.qbo' => + array( + 0 => 'qbo', + ), + 'application/vnd.intu.qfx' => + array( + 0 => 'qfx', + ), + 'application/vnd.ipunplugged.rcprofile' => + array( + 0 => 'rcprofile', + ), + 'application/vnd.irepository.package+xml' => + array( + 0 => 'irp', + ), + 'application/vnd.is-xpr' => + array( + 0 => 'xpr', + ), + 'application/vnd.isac.fcs' => + array( + 0 => 'fcs', + ), + 'application/vnd.jam' => + array( + 0 => 'jam', + ), + 'application/vnd.jcp.javame.midlet-rms' => + array( + 0 => 'rms', + ), + 'application/vnd.jisp' => + array( + 0 => 'jisp', + ), + 'application/vnd.joost.joda-archive' => + array( + 0 => 'joda', + ), + 'application/vnd.kahootz' => + array( + 0 => 'ktz', + 1 => 'ktr', + ), + 'application/vnd.kde.karbon' => + array( + 0 => 'karbon', + ), + 'application/vnd.kde.kchart' => + array( + 0 => 'chrt', + ), + 'application/vnd.kde.kformula' => + array( + 0 => 'kfo', + ), + 'application/vnd.kde.kivio' => + array( + 0 => 'flw', + ), + 'application/vnd.kde.kontour' => + array( + 0 => 'kon', + ), + 'application/vnd.kde.kpresenter' => + array( + 0 => 'kpr', + 1 => 'kpt', + ), + 'application/vnd.kde.kspread' => + array( + 0 => 'ksp', + ), + 'application/vnd.kde.kword' => + array( + 0 => 'kwd', + 1 => 'kwt', + ), + 'application/vnd.kenameaapp' => + array( + 0 => 'htke', + ), + 'application/vnd.kidspiration' => + array( + 0 => 'kia', + ), + 'application/vnd.kinar' => + array( + 0 => 'kne', + 1 => 'knp', + ), + 'application/vnd.koan' => + array( + 0 => 'skp', + 1 => 'skd', + 2 => 'skt', + 3 => 'skm', + ), + 'application/vnd.kodak-descriptor' => + array( + 0 => 'sse', + ), + 'application/vnd.las.las+xml' => + array( + 0 => 'lasxml', + ), + 'application/vnd.llamagraphics.life-balance.desktop' => + array( + 0 => 'lbd', + ), + 'application/vnd.llamagraphics.life-balance.exchange+xml' => + array( + 0 => 'lbe', + ), + 'application/vnd.lotus-1-2-3' => + array( + 0 => '123', + ), + 'application/vnd.lotus-approach' => + array( + 0 => 'apr', + ), + 'application/vnd.lotus-freelance' => + array( + 0 => 'pre', + ), + 'application/vnd.lotus-notes' => + array( + 0 => 'nsf', + ), + 'application/vnd.lotus-organizer' => + array( + 0 => 'org', + ), + 'application/vnd.lotus-screencam' => + array( + 0 => 'scm', + ), + 'application/vnd.lotus-wordpro' => + array( + 0 => 'lwp', + ), + 'application/vnd.macports.portpkg' => + array( + 0 => 'portpkg', + ), + 'application/vnd.mcd' => + array( + 0 => 'mcd', + ), + 'application/vnd.medcalcdata' => + array( + 0 => 'mc1', + ), + 'application/vnd.mediastation.cdkey' => + array( + 0 => 'cdkey', + ), + 'application/vnd.mfer' => + array( + 0 => 'mwf', + ), + 'application/vnd.mfmp' => + array( + 0 => 'mfm', + ), + 'application/vnd.micrografx.flo' => + array( + 0 => 'flo', + ), + 'application/vnd.micrografx.igx' => + array( + 0 => 'igx', + ), + 'application/vnd.mif' => + array( + 0 => 'mif', + ), + 'application/vnd.mobius.daf' => + array( + 0 => 'daf', + ), + 'application/vnd.mobius.dis' => + array( + 0 => 'dis', + ), + 'application/vnd.mobius.mbk' => + array( + 0 => 'mbk', + ), + 'application/vnd.mobius.mqy' => + array( + 0 => 'mqy', + ), + 'application/vnd.mobius.msl' => + array( + 0 => 'msl', + ), + 'application/vnd.mobius.plc' => + array( + 0 => 'plc', + ), + 'application/vnd.mobius.txf' => + array( + 0 => 'txf', + ), + 'application/vnd.mophun.application' => + array( + 0 => 'mpn', + ), + 'application/vnd.mophun.certificate' => + array( + 0 => 'mpc', + ), + 'application/vnd.mozilla.xul+xml' => + array( + 0 => 'xul', + ), + 'application/vnd.ms-artgalry' => + array( + 0 => 'cil', + ), + 'application/vnd.ms-cab-compressed' => + array( + 0 => 'cab', + ), + 'application/vnd.ms-excel' => + array( + 0 => 'xls', + 1 => 'xlm', + 2 => 'xla', + 3 => 'xlc', + 4 => 'xlt', + 5 => 'xlw', + ), + 'application/vnd.ms-excel.addin.macroenabled.12' => + array( + 0 => 'xlam', + ), + 'application/vnd.ms-excel.sheet.binary.macroenabled.12' => + array( + 0 => 'xlsb', + ), + 'application/vnd.ms-excel.sheet.macroenabled.12' => + array( + 0 => 'xlsm', + ), + 'application/vnd.ms-excel.template.macroenabled.12' => + array( + 0 => 'xltm', + ), + 'application/vnd.ms-fontobject' => + array( + 0 => 'eot', + ), + 'application/vnd.ms-htmlhelp' => + array( + 0 => 'chm', + ), + 'application/vnd.ms-ims' => + array( + 0 => 'ims', + ), + 'application/vnd.ms-lrm' => + array( + 0 => 'lrm', + ), + 'application/vnd.ms-officetheme' => + array( + 0 => 'thmx', + ), + 'application/vnd.ms-pki.seccat' => + array( + 0 => 'cat', + ), + 'application/vnd.ms-pki.stl' => + array( + 0 => 'stl', + ), + 'application/vnd.ms-powerpoint' => + array( + 0 => 'ppt', + 1 => 'pps', + 2 => 'pot', + ), + 'application/vnd.ms-powerpoint.addin.macroenabled.12' => + array( + 0 => 'ppam', + ), + 'application/vnd.ms-powerpoint.presentation.macroenabled.12' => + array( + 0 => 'pptm', + ), + 'application/vnd.ms-powerpoint.slide.macroenabled.12' => + array( + 0 => 'sldm', + ), + 'application/vnd.ms-powerpoint.slideshow.macroenabled.12' => + array( + 0 => 'ppsm', + ), + 'application/vnd.ms-powerpoint.template.macroenabled.12' => + array( + 0 => 'potm', + ), + 'application/vnd.ms-project' => + array( + 0 => 'mpp', + 1 => 'mpt', + ), + 'application/vnd.ms-word.document.macroenabled.12' => + array( + 0 => 'docm', + ), + 'application/vnd.ms-word.template.macroenabled.12' => + array( + 0 => 'dotm', + ), + 'application/vnd.ms-works' => + array( + 0 => 'wps', + 1 => 'wks', + 2 => 'wcm', + 3 => 'wdb', + ), + 'application/vnd.ms-wpl' => + array( + 0 => 'wpl', + ), + 'application/vnd.ms-xpsdocument' => + array( + 0 => 'xps', + ), + 'application/vnd.mseq' => + array( + 0 => 'mseq', + ), + 'application/vnd.musician' => + array( + 0 => 'mus', + ), + 'application/vnd.muvee.style' => + array( + 0 => 'msty', + ), + 'application/vnd.mynfc' => + array( + 0 => 'taglet', + ), + 'application/vnd.neurolanguage.nlu' => + array( + 0 => 'nlu', + ), + 'application/vnd.nitf' => + array( + 0 => 'ntf', + 1 => 'nitf', + ), + 'application/vnd.noblenet-directory' => + array( + 0 => 'nnd', + ), + 'application/vnd.noblenet-sealer' => + array( + 0 => 'nns', + ), + 'application/vnd.noblenet-web' => + array( + 0 => 'nnw', + ), + 'application/vnd.nokia.n-gage.data' => + array( + 0 => 'ngdat', + ), + 'application/vnd.nokia.n-gage.symbian.install' => + array( + 0 => 'n-gage', + ), + 'application/vnd.nokia.radio-preset' => + array( + 0 => 'rpst', + ), + 'application/vnd.nokia.radio-presets' => + array( + 0 => 'rpss', + ), + 'application/vnd.novadigm.edm' => + array( + 0 => 'edm', + ), + 'application/vnd.novadigm.edx' => + array( + 0 => 'edx', + ), + 'application/vnd.novadigm.ext' => + array( + 0 => 'ext', + ), + 'application/vnd.oasis.opendocument.chart' => + array( + 0 => 'odc', + ), + 'application/vnd.oasis.opendocument.chart-template' => + array( + 0 => 'otc', + ), + 'application/vnd.oasis.opendocument.database' => + array( + 0 => 'odb', + ), + 'application/vnd.oasis.opendocument.formula' => + array( + 0 => 'odf', + ), + 'application/vnd.oasis.opendocument.formula-template' => + array( + 0 => 'odft', + ), + 'application/vnd.oasis.opendocument.graphics' => + array( + 0 => 'odg', + ), + 'application/vnd.oasis.opendocument.graphics-template' => + array( + 0 => 'otg', + ), + 'application/vnd.oasis.opendocument.image' => + array( + 0 => 'odi', + ), + 'application/vnd.oasis.opendocument.image-template' => + array( + 0 => 'oti', + ), + 'application/vnd.oasis.opendocument.presentation' => + array( + 0 => 'odp', + ), + 'application/vnd.oasis.opendocument.presentation-template' => + array( + 0 => 'otp', + ), + 'application/vnd.oasis.opendocument.spreadsheet' => + array( + 0 => 'ods', + ), + 'application/vnd.oasis.opendocument.spreadsheet-template' => + array( + 0 => 'ots', + ), + 'application/vnd.oasis.opendocument.text' => + array( + 0 => 'odt', + ), + 'application/vnd.oasis.opendocument.text-master' => + array( + 0 => 'odm', + ), + 'application/vnd.oasis.opendocument.text-template' => + array( + 0 => 'ott', + ), + 'application/vnd.oasis.opendocument.text-web' => + array( + 0 => 'oth', + ), + 'application/vnd.olpc-sugar' => + array( + 0 => 'xo', + ), + 'application/vnd.oma.dd2+xml' => + array( + 0 => 'dd2', + ), + 'application/vnd.openofficeorg.extension' => + array( + 0 => 'oxt', + ), + 'application/vnd.openxmlformats-officedocument.presentationml.presentation' => + array( + 0 => 'pptx', + ), + 'application/vnd.openxmlformats-officedocument.presentationml.slide' => + array( + 0 => 'sldx', + ), + 'application/vnd.openxmlformats-officedocument.presentationml.slideshow' => + array( + 0 => 'ppsx', + ), + 'application/vnd.openxmlformats-officedocument.presentationml.template' => + array( + 0 => 'potx', + ), + 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' => + array( + 0 => 'xlsx', + ), + 'application/vnd.openxmlformats-officedocument.spreadsheetml.template' => + array( + 0 => 'xltx', + ), + 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' => + array( + 0 => 'docx', + ), + 'application/vnd.openxmlformats-officedocument.wordprocessingml.template' => + array( + 0 => 'dotx', + ), + 'application/vnd.osgeo.mapguide.package' => + array( + 0 => 'mgp', + ), + 'application/vnd.osgi.dp' => + array( + 0 => 'dp', + ), + 'application/vnd.osgi.subsystem' => + array( + 0 => 'esa', + ), + 'application/vnd.palm' => + array( + 0 => 'pdb', + 1 => 'pqa', + 2 => 'oprc', + ), + 'application/vnd.pawaafile' => + array( + 0 => 'paw', + ), + 'application/vnd.pg.format' => + array( + 0 => 'str', + ), + 'application/vnd.pg.osasli' => + array( + 0 => 'ei6', + ), + 'application/vnd.picsel' => + array( + 0 => 'efif', + ), + 'application/vnd.pmi.widget' => + array( + 0 => 'wg', + ), + 'application/vnd.pocketlearn' => + array( + 0 => 'plf', + ), + 'application/vnd.powerbuilder6' => + array( + 0 => 'pbd', + ), + 'application/vnd.previewsystems.box' => + array( + 0 => 'box', + ), + 'application/vnd.proteus.magazine' => + array( + 0 => 'mgz', + ), + 'application/vnd.publishare-delta-tree' => + array( + 0 => 'qps', + ), + 'application/vnd.pvi.ptid1' => + array( + 0 => 'ptid', + ), + 'application/vnd.quark.quarkxpress' => + array( + 0 => 'qxd', + 1 => 'qxt', + 2 => 'qwd', + 3 => 'qwt', + 4 => 'qxl', + 5 => 'qxb', + ), + 'application/vnd.realvnc.bed' => + array( + 0 => 'bed', + ), + 'application/vnd.recordare.musicxml' => + array( + 0 => 'mxl', + ), + 'application/vnd.recordare.musicxml+xml' => + array( + 0 => 'musicxml', + ), + 'application/vnd.rig.cryptonote' => + array( + 0 => 'cryptonote', + ), + 'application/vnd.rim.cod' => + array( + 0 => 'cod', + ), + 'application/vnd.rn-realmedia' => + array( + 0 => 'rm', + ), + 'application/vnd.rn-realmedia-vbr' => + array( + 0 => 'rmvb', + ), + 'application/vnd.route66.link66+xml' => + array( + 0 => 'link66', + ), + 'application/vnd.sailingtracker.track' => + array( + 0 => 'st', + ), + 'application/vnd.seemail' => + array( + 0 => 'see', + ), + 'application/vnd.sema' => + array( + 0 => 'sema', + ), + 'application/vnd.semd' => + array( + 0 => 'semd', + ), + 'application/vnd.semf' => + array( + 0 => 'semf', + ), + 'application/vnd.shana.informed.formdata' => + array( + 0 => 'ifm', + ), + 'application/vnd.shana.informed.formtemplate' => + array( + 0 => 'itp', + ), + 'application/vnd.shana.informed.interchange' => + array( + 0 => 'iif', + ), + 'application/vnd.shana.informed.package' => + array( + 0 => 'ipk', + ), + 'application/vnd.simtech-mindmapper' => + array( + 0 => 'twd', + 1 => 'twds', + ), + 'application/vnd.smaf' => + array( + 0 => 'mmf', + ), + 'application/vnd.smart.teacher' => + array( + 0 => 'teacher', + ), + 'application/vnd.solent.sdkm+xml' => + array( + 0 => 'sdkm', + 1 => 'sdkd', + ), + 'application/vnd.spotfire.dxp' => + array( + 0 => 'dxp', + ), + 'application/vnd.spotfire.sfs' => + array( + 0 => 'sfs', + ), + 'application/vnd.stardivision.calc' => + array( + 0 => 'sdc', + ), + 'application/vnd.stardivision.draw' => + array( + 0 => 'sda', + ), + 'application/vnd.stardivision.impress' => + array( + 0 => 'sdd', + ), + 'application/vnd.stardivision.math' => + array( + 0 => 'smf', + ), + 'application/vnd.stardivision.writer' => + array( + 0 => 'sdw', + 1 => 'vor', + ), + 'application/vnd.stardivision.writer-global' => + array( + 0 => 'sgl', + ), + 'application/vnd.stepmania.package' => + array( + 0 => 'smzip', + ), + 'application/vnd.stepmania.stepchart' => + array( + 0 => 'sm', + ), + 'application/vnd.sun.xml.calc' => + array( + 0 => 'sxc', + ), + 'application/vnd.sun.xml.calc.template' => + array( + 0 => 'stc', + ), + 'application/vnd.sun.xml.draw' => + array( + 0 => 'sxd', + ), + 'application/vnd.sun.xml.draw.template' => + array( + 0 => 'std', + ), + 'application/vnd.sun.xml.impress' => + array( + 0 => 'sxi', + ), + 'application/vnd.sun.xml.impress.template' => + array( + 0 => 'sti', + ), + 'application/vnd.sun.xml.math' => + array( + 0 => 'sxm', + ), + 'application/vnd.sun.xml.writer' => + array( + 0 => 'sxw', + ), + 'application/vnd.sun.xml.writer.global' => + array( + 0 => 'sxg', + ), + 'application/vnd.sun.xml.writer.template' => + array( + 0 => 'stw', + ), + 'application/vnd.sus-calendar' => + array( + 0 => 'sus', + 1 => 'susp', + ), + 'application/vnd.svd' => + array( + 0 => 'svd', + ), + 'application/vnd.symbian.install' => + array( + 0 => 'sis', + 1 => 'sisx', + ), + 'application/vnd.syncml+xml' => + array( + 0 => 'xsm', + ), + 'application/vnd.syncml.dm+wbxml' => + array( + 0 => 'bdm', + ), + 'application/vnd.syncml.dm+xml' => + array( + 0 => 'xdm', + ), + 'application/vnd.tao.intent-module-archive' => + array( + 0 => 'tao', + ), + 'application/vnd.tcpdump.pcap' => + array( + 0 => 'pcap', + 1 => 'cap', + 2 => 'dmp', + ), + 'application/vnd.tmobile-livetv' => + array( + 0 => 'tmo', + ), + 'application/vnd.trid.tpt' => + array( + 0 => 'tpt', + ), + 'application/vnd.triscape.mxs' => + array( + 0 => 'mxs', + ), + 'application/vnd.trueapp' => + array( + 0 => 'tra', + ), + 'application/vnd.ufdl' => + array( + 0 => 'ufd', + 1 => 'ufdl', + ), + 'application/vnd.uiq.theme' => + array( + 0 => 'utz', + ), + 'application/vnd.umajin' => + array( + 0 => 'umj', + ), + 'application/vnd.unity' => + array( + 0 => 'unityweb', + ), + 'application/vnd.uoml+xml' => + array( + 0 => 'uoml', + ), + 'application/vnd.vcx' => + array( + 0 => 'vcx', + ), + 'application/vnd.visio' => + array( + 0 => 'vsd', + 1 => 'vst', + 2 => 'vss', + 3 => 'vsw', + ), + 'application/vnd.visionary' => + array( + 0 => 'vis', + ), + 'application/vnd.vsf' => + array( + 0 => 'vsf', + ), + 'application/vnd.wap.wbxml' => + array( + 0 => 'wbxml', + ), + 'application/vnd.wap.wmlc' => + array( + 0 => 'wmlc', + ), + 'application/vnd.wap.wmlscriptc' => + array( + 0 => 'wmlsc', + ), + 'application/vnd.webturbo' => + array( + 0 => 'wtb', + ), + 'application/vnd.wolfram.player' => + array( + 0 => 'nbp', + ), + 'application/vnd.wordperfect' => + array( + 0 => 'wpd', + ), + 'application/vnd.wqd' => + array( + 0 => 'wqd', + ), + 'application/vnd.wt.stf' => + array( + 0 => 'stf', + ), + 'application/vnd.xara' => + array( + 0 => 'xar', + ), + 'application/vnd.xfdl' => + array( + 0 => 'xfdl', + ), + 'application/vnd.yamaha.hv-dic' => + array( + 0 => 'hvd', + ), + 'application/vnd.yamaha.hv-script' => + array( + 0 => 'hvs', + ), + 'application/vnd.yamaha.hv-voice' => + array( + 0 => 'hvp', + ), + 'application/vnd.yamaha.openscoreformat' => + array( + 0 => 'osf', + ), + 'application/vnd.yamaha.openscoreformat.osfpvg+xml' => + array( + 0 => 'osfpvg', + ), + 'application/vnd.yamaha.smaf-audio' => + array( + 0 => 'saf', + ), + 'application/vnd.yamaha.smaf-phrase' => + array( + 0 => 'spf', + ), + 'application/vnd.yellowriver-custom-menu' => + array( + 0 => 'cmp', + ), + 'application/vnd.zul' => + array( + 0 => 'zir', + 1 => 'zirz', + ), + 'application/vnd.zzazz.deck+xml' => + array( + 0 => 'zaz', + ), + 'application/voicexml+xml' => + array( + 0 => 'vxml', + ), + 'application/widget' => + array( + 0 => 'wgt', + ), + 'application/winhlp' => + array( + 0 => 'hlp', + ), + 'application/wsdl+xml' => + array( + 0 => 'wsdl', + ), + 'application/wspolicy+xml' => + array( + 0 => 'wspolicy', + ), + 'application/x-7z-compressed' => + array( + 0 => '7z', + ), + 'application/x-abiword' => + array( + 0 => 'abw', + ), + 'application/x-ace-compressed' => + array( + 0 => 'ace', + ), + 'application/x-apple-diskimage' => + array( + 0 => 'dmg', + ), + 'application/x-authorware-bin' => + array( + 0 => 'aab', + 1 => 'x32', + 2 => 'u32', + 3 => 'vox', + ), + 'application/x-authorware-map' => + array( + 0 => 'aam', + ), + 'application/x-authorware-seg' => + array( + 0 => 'aas', + ), + 'application/x-bcpio' => + array( + 0 => 'bcpio', + ), + 'application/x-bittorrent' => + array( + 0 => 'torrent', + ), + 'application/x-blorb' => + array( + 0 => 'blb', + 1 => 'blorb', + ), + 'application/x-bzip' => + array( + 0 => 'bz', + ), + 'application/x-bzip2' => + array( + 0 => 'bz2', + 1 => 'boz', + ), + 'application/x-cbr' => + array( + 0 => 'cbr', + 1 => 'cba', + 2 => 'cbt', + 3 => 'cbz', + 4 => 'cb7', + ), + 'application/x-cdlink' => + array( + 0 => 'vcd', + ), + 'application/x-cfs-compressed' => + array( + 0 => 'cfs', + ), + 'application/x-chat' => + array( + 0 => 'chat', + ), + 'application/x-chess-pgn' => + array( + 0 => 'pgn', + ), + 'application/x-conference' => + array( + 0 => 'nsc', + ), + 'application/x-cpio' => + array( + 0 => 'cpio', + ), + 'application/x-csh' => + array( + 0 => 'csh', + ), + 'application/x-debian-package' => + array( + 0 => 'deb', + 1 => 'udeb', + ), + 'application/x-dgc-compressed' => + array( + 0 => 'dgc', + ), + 'application/x-director' => + array( + 0 => 'dir', + 1 => 'dcr', + 2 => 'dxr', + 3 => 'cst', + 4 => 'cct', + 5 => 'cxt', + 6 => 'w3d', + 7 => 'fgd', + 8 => 'swa', + ), + 'application/x-doom' => + array( + 0 => 'wad', + ), + 'application/x-dtbncx+xml' => + array( + 0 => 'ncx', + ), + 'application/x-dtbook+xml' => + array( + 0 => 'dtb', + ), + 'application/x-dtbresource+xml' => + array( + 0 => 'res', + ), + 'application/x-dvi' => + array( + 0 => 'dvi', + ), + 'application/x-envoy' => + array( + 0 => 'evy', + ), + 'application/x-eva' => + array( + 0 => 'eva', + ), + 'application/x-font-bdf' => + array( + 0 => 'bdf', + ), + 'application/x-font-ghostscript' => + array( + 0 => 'gsf', + ), + 'application/x-font-linux-psf' => + array( + 0 => 'psf', + ), + 'application/x-font-pcf' => + array( + 0 => 'pcf', + ), + 'application/x-font-snf' => + array( + 0 => 'snf', + ), + 'application/x-font-type1' => + array( + 0 => 'pfa', + 1 => 'pfb', + 2 => 'pfm', + 3 => 'afm', + ), + 'application/x-freearc' => + array( + 0 => 'arc', + ), + 'application/x-futuresplash' => + array( + 0 => 'spl', + ), + 'application/x-gca-compressed' => + array( + 0 => 'gca', + ), + 'application/x-glulx' => + array( + 0 => 'ulx', + ), + 'application/x-gnumeric' => + array( + 0 => 'gnumeric', + ), + 'application/x-gramps-xml' => + array( + 0 => 'gramps', + ), + 'application/x-gtar' => + array( + 0 => 'gtar', + ), + 'application/x-hdf' => + array( + 0 => 'hdf', + ), + 'application/x-install-instructions' => + array( + 0 => 'install', + ), + 'application/x-iso9660-image' => + array( + 0 => 'iso', + ), + 'application/x-java-jnlp-file' => + array( + 0 => 'jnlp', + ), + 'application/x-latex' => + array( + 0 => 'latex', + ), + 'application/x-lzh-compressed' => + array( + 0 => 'lzh', + 1 => 'lha', + ), + 'application/x-mie' => + array( + 0 => 'mie', + ), + 'application/x-mobipocket-ebook' => + array( + 0 => 'prc', + 1 => 'mobi', + ), + 'application/x-ms-application' => + array( + 0 => 'application', + ), + 'application/x-ms-shortcut' => + array( + 0 => 'lnk', + ), + 'application/x-ms-wmd' => + array( + 0 => 'wmd', + ), + 'application/x-ms-wmz' => + array( + 0 => 'wmz', + ), + 'application/x-ms-xbap' => + array( + 0 => 'xbap', + ), + 'application/x-msaccess' => + array( + 0 => 'mdb', + ), + 'application/x-msbinder' => + array( + 0 => 'obd', + ), + 'application/x-mscardfile' => + array( + 0 => 'crd', + ), + 'application/x-msclip' => + array( + 0 => 'clp', + ), + 'application/x-msdownload' => + array( + 0 => 'exe', + 1 => 'dll', + 2 => 'com', + 3 => 'bat', + 4 => 'msi', + ), + 'application/x-msmediaview' => + array( + 0 => 'mvb', + 1 => 'm13', + 2 => 'm14', + ), + 'application/x-msmetafile' => + array( + 0 => 'wmf', + 1 => 'wmz', + 2 => 'emf', + 3 => 'emz', + ), + 'application/x-msmoney' => + array( + 0 => 'mny', + ), + 'application/x-mspublisher' => + array( + 0 => 'pub', + ), + 'application/x-msschedule' => + array( + 0 => 'scd', + ), + 'application/x-msterminal' => + array( + 0 => 'trm', + ), + 'application/x-mswrite' => + array( + 0 => 'wri', + ), + 'application/x-netcdf' => + array( + 0 => 'nc', + 1 => 'cdf', + ), + 'application/x-nzb' => + array( + 0 => 'nzb', + ), + 'application/x-pkcs12' => + array( + 0 => 'p12', + 1 => 'pfx', + ), + 'application/x-pkcs7-certificates' => + array( + 0 => 'p7b', + 1 => 'spc', + ), + 'application/x-pkcs7-certreqresp' => + array( + 0 => 'p7r', + ), + 'application/x-rar-compressed' => + array( + 0 => 'rar', + ), + 'application/x-research-info-systems' => + array( + 0 => 'ris', + ), + 'application/x-sh' => + array( + 0 => 'sh', + ), + 'application/x-shar' => + array( + 0 => 'shar', + ), + 'application/x-shockwave-flash' => + array( + 0 => 'swf', + ), + 'application/x-silverlight-app' => + array( + 0 => 'xap', + ), + 'application/x-sql' => + array( + 0 => 'sql', + ), + 'application/x-stuffit' => + array( + 0 => 'sit', + ), + 'application/x-stuffitx' => + array( + 0 => 'sitx', + ), + 'application/x-subrip' => + array( + 0 => 'srt', + ), + 'application/x-sv4cpio' => + array( + 0 => 'sv4cpio', + ), + 'application/x-sv4crc' => + array( + 0 => 'sv4crc', + ), + 'application/x-t3vm-image' => + array( + 0 => 't3', + ), + 'application/x-tads' => + array( + 0 => 'gam', + ), + 'application/x-tar' => + array( + 0 => 'tar', + ), + 'application/x-tcl' => + array( + 0 => 'tcl', + ), + 'application/x-tex' => + array( + 0 => 'tex', + ), + 'application/x-tex-tfm' => + array( + 0 => 'tfm', + ), + 'application/x-texinfo' => + array( + 0 => 'texinfo', + 1 => 'texi', + ), + 'application/x-tgif' => + array( + 0 => 'obj', + ), + 'application/x-ustar' => + array( + 0 => 'ustar', + ), + 'application/x-wais-source' => + array( + 0 => 'src', + ), + 'application/x-x509-ca-cert' => + array( + 0 => 'der', + 1 => 'crt', + ), + 'application/x-xfig' => + array( + 0 => 'fig', + ), + 'application/x-xliff+xml' => + array( + 0 => 'xlf', + ), + 'application/x-xpinstall' => + array( + 0 => 'xpi', + ), + 'application/x-xz' => + array( + 0 => 'xz', + ), + 'application/x-zmachine' => + array( + 0 => 'z1', + 1 => 'z2', + 2 => 'z3', + 3 => 'z4', + 4 => 'z5', + 5 => 'z6', + 6 => 'z7', + 7 => 'z8', + ), + 'application/xaml+xml' => + array( + 0 => 'xaml', + ), + 'application/xcap-diff+xml' => + array( + 0 => 'xdf', + ), + 'application/xenc+xml' => + array( + 0 => 'xenc', + ), + 'application/xhtml+xml' => + array( + 0 => 'xhtml', + 1 => 'xht', + ), + 'application/xml' => + array( + 0 => 'xml', + 1 => 'xsl', + ), + 'application/xml-dtd' => + array( + 0 => 'dtd', + ), + 'application/xop+xml' => + array( + 0 => 'xop', + ), + 'application/xproc+xml' => + array( + 0 => 'xpl', + ), + 'application/xslt+xml' => + array( + 0 => 'xslt', + ), + 'application/xspf+xml' => + array( + 0 => 'xspf', + ), + 'application/xv+xml' => + array( + 0 => 'mxml', + 1 => 'xhvml', + 2 => 'xvml', + 3 => 'xvm', + ), + 'application/yang' => + array( + 0 => 'yang', + ), + 'application/yin+xml' => + array( + 0 => 'yin', + ), + 'application/zip' => + array( + 0 => 'zip', + ), + 'audio/adpcm' => + array( + 0 => 'adp', + ), + 'audio/basic' => + array( + 0 => 'au', + 1 => 'snd', + ), + 'audio/midi' => + array( + 0 => 'mid', + 1 => 'midi', + 2 => 'kar', + 3 => 'rmi', + ), + 'audio/mp4' => + array( + 0 => 'm4a', + 1 => 'mp4a', + ), + 'audio/ogg' => + array( + 0 => 'oga', + 1 => 'ogg', + 2 => 'spx', + ), + 'audio/s3m' => + array( + 0 => 's3m', + ), + 'audio/silk' => + array( + 0 => 'sil', + ), + 'audio/vnd.dece.audio' => + array( + 0 => 'uva', + 1 => 'uvva', + ), + 'audio/vnd.digital-winds' => + array( + 0 => 'eol', + ), + 'audio/vnd.dra' => + array( + 0 => 'dra', + ), + 'audio/vnd.dts' => + array( + 0 => 'dts', + ), + 'audio/vnd.dts.hd' => + array( + 0 => 'dtshd', + ), + 'audio/vnd.lucent.voice' => + array( + 0 => 'lvp', + ), + 'audio/vnd.ms-playready.media.pya' => + array( + 0 => 'pya', + ), + 'audio/vnd.nuera.ecelp4800' => + array( + 0 => 'ecelp4800', + ), + 'audio/vnd.nuera.ecelp7470' => + array( + 0 => 'ecelp7470', + ), + 'audio/vnd.nuera.ecelp9600' => + array( + 0 => 'ecelp9600', + ), + 'audio/vnd.rip' => + array( + 0 => 'rip', + ), + 'audio/webm' => + array( + 0 => 'weba', + ), + 'audio/x-aac' => + array( + 0 => 'aac', + ), + 'audio/x-aiff' => + array( + 0 => 'aif', + 1 => 'aiff', + 2 => 'aifc', + ), + 'audio/x-caf' => + array( + 0 => 'caf', + ), + 'audio/x-flac' => + array( + 0 => 'flac', + ), + 'audio/x-matroska' => + array( + 0 => 'mka', + ), + 'audio/x-mpegurl' => + array( + 0 => 'm3u', + ), + 'audio/x-ms-wax' => + array( + 0 => 'wax', + ), + 'audio/x-ms-wma' => + array( + 0 => 'wma', + ), + 'audio/x-pn-realaudio' => + array( + 0 => 'ram', + 1 => 'ra', + ), + 'audio/x-pn-realaudio-plugin' => + array( + 0 => 'rmp', + ), + 'audio/x-wav' => + array( + 0 => 'wav', + ), + 'audio/xm' => + array( + 0 => 'xm', + ), + 'chemical/x-cdx' => + array( + 0 => 'cdx', + ), + 'chemical/x-cif' => + array( + 0 => 'cif', + ), + 'chemical/x-cmdf' => + array( + 0 => 'cmdf', + ), + 'chemical/x-cml' => + array( + 0 => 'cml', + ), + 'chemical/x-csml' => + array( + 0 => 'csml', + ), + 'chemical/x-xyz' => + array( + 0 => 'xyz', + ), + 'font/collection' => + array( + 0 => 'ttc', + ), + 'font/otf' => + array( + 0 => 'otf', + ), + 'font/ttf' => + array( + 0 => 'ttf', + ), + 'font/woff' => + array( + 0 => 'woff', + ), + 'font/woff2' => + array( + 0 => 'woff2', + ), + 'image/bmp' => + array( + 0 => 'bmp', + ), + 'image/cgm' => + array( + 0 => 'cgm', + ), + 'image/g3fax' => + array( + 0 => 'g3', + ), + 'image/gif' => + array( + 0 => 'gif', + ), + 'image/ief' => + array( + 0 => 'ief', + ), + 'image/ktx' => + array( + 0 => 'ktx', + ), + 'image/png' => + array( + 0 => 'png', + ), + 'image/prs.btif' => + array( + 0 => 'btif', + ), + 'image/sgi' => + array( + 0 => 'sgi', + ), + 'image/svg+xml' => + array( + 0 => 'svg', + 1 => 'svgz', + ), + 'image/tiff' => + array( + 0 => 'tiff', + 1 => 'tif', + ), + 'image/vnd.adobe.photoshop' => + array( + 0 => 'psd', + ), + 'image/vnd.dece.graphic' => + array( + 0 => 'uvi', + 1 => 'uvvi', + 2 => 'uvg', + 3 => 'uvvg', + ), + 'image/vnd.djvu' => + array( + 0 => 'djvu', + 1 => 'djv', + ), + 'image/vnd.dvb.subtitle' => + array( + 0 => 'sub', + ), + 'image/vnd.dwg' => + array( + 0 => 'dwg', + ), + 'image/vnd.dxf' => + array( + 0 => 'dxf', + ), + 'image/vnd.fastbidsheet' => + array( + 0 => 'fbs', + ), + 'image/vnd.fpx' => + array( + 0 => 'fpx', + ), + 'image/vnd.fst' => + array( + 0 => 'fst', + ), + 'image/vnd.fujixerox.edmics-mmr' => + array( + 0 => 'mmr', + ), + 'image/vnd.fujixerox.edmics-rlc' => + array( + 0 => 'rlc', + ), + 'image/vnd.ms-modi' => + array( + 0 => 'mdi', + ), + 'image/vnd.ms-photo' => + array( + 0 => 'wdp', + ), + 'image/vnd.net-fpx' => + array( + 0 => 'npx', + ), + 'image/vnd.wap.wbmp' => + array( + 0 => 'wbmp', + ), + 'image/vnd.xiff' => + array( + 0 => 'xif', + ), + 'image/webp' => + array( + 0 => 'webp', + ), + 'image/x-3ds' => + array( + 0 => '3ds', + ), + 'image/x-cmu-raster' => + array( + 0 => 'ras', + ), + 'image/x-cmx' => + array( + 0 => 'cmx', + ), + 'image/x-freehand' => + array( + 0 => 'fh', + 1 => 'fhc', + 2 => 'fh4', + 3 => 'fh5', + 4 => 'fh7', + ), + 'image/x-icon' => + array( + 0 => 'ico', + ), + 'image/x-mrsid-image' => + array( + 0 => 'sid', + ), + 'image/x-pcx' => + array( + 0 => 'pcx', + ), + 'image/x-pict' => + array( + 0 => 'pic', + 1 => 'pct', + ), + 'image/x-portable-anymap' => + array( + 0 => 'pnm', + ), + 'image/x-portable-bitmap' => + array( + 0 => 'pbm', + ), + 'image/x-portable-graymap' => + array( + 0 => 'pgm', + ), + 'image/x-portable-pixmap' => + array( + 0 => 'ppm', + ), + 'image/x-rgb' => + array( + 0 => 'rgb', + ), + 'image/x-tga' => + array( + 0 => 'tga', + ), + 'image/x-xbitmap' => + array( + 0 => 'xbm', + ), + 'image/x-xpixmap' => + array( + 0 => 'xpm', + ), + 'image/x-xwindowdump' => + array( + 0 => 'xwd', + ), + 'message/rfc822' => + array( + 0 => 'eml', + 1 => 'mime', + ), + 'model/iges' => + array( + 0 => 'igs', + 1 => 'iges', + ), + 'model/mesh' => + array( + 0 => 'msh', + 1 => 'mesh', + 2 => 'silo', + ), + 'model/vnd.collada+xml' => + array( + 0 => 'dae', + ), + 'model/vnd.dwf' => + array( + 0 => 'dwf', + ), + 'model/vnd.gdl' => + array( + 0 => 'gdl', + ), + 'model/vnd.gtw' => + array( + 0 => 'gtw', + ), + 'model/vnd.mts' => + array( + 0 => 'mts', + ), + 'model/vnd.vtu' => + array( + 0 => 'vtu', + ), + 'model/vrml' => + array( + 0 => 'wrl', + 1 => 'vrml', + ), + 'model/x3d+binary' => + array( + 0 => 'x3db', + 1 => 'x3dbz', + ), + 'model/x3d+vrml' => + array( + 0 => 'x3dv', + 1 => 'x3dvz', + ), + 'model/x3d+xml' => + array( + 0 => 'x3d', + 1 => 'x3dz', + ), + 'text/cache-manifest' => + array( + 0 => 'appcache', + ), + 'text/calendar' => + array( + 0 => 'ics', + 1 => 'ifb', + ), + 'text/css' => + array( + 0 => 'css', + ), + 'text/csv' => + array( + 0 => 'csv', + ), + 'text/html' => + array( + 0 => 'html', + 1 => 'htm', + ), + 'text/n3' => + array( + 0 => 'n3', + ), + 'text/plain' => + array( + 0 => 'txt', + 1 => 'text', + 2 => 'conf', + 3 => 'def', + 4 => 'list', + 5 => 'log', + 6 => 'in', + ), + 'text/prs.lines.tag' => + array( + 0 => 'dsc', + ), + 'text/richtext' => + array( + 0 => 'rtx', + ), + 'text/sgml' => + array( + 0 => 'sgml', + 1 => 'sgm', + ), + 'text/tab-separated-values' => + array( + 0 => 'tsv', + ), + 'text/troff' => + array( + 0 => 't', + 1 => 'tr', + 2 => 'roff', + 3 => 'man', + 4 => 'me', + 5 => 'ms', + ), + 'text/turtle' => + array( + 0 => 'ttl', + ), + 'text/uri-list' => + array( + 0 => 'uri', + 1 => 'uris', + 2 => 'urls', + ), + 'text/vcard' => + array( + 0 => 'vcard', + ), + 'text/vnd.curl' => + array( + 0 => 'curl', + ), + 'text/vnd.curl.dcurl' => + array( + 0 => 'dcurl', + ), + 'text/vnd.curl.mcurl' => + array( + 0 => 'mcurl', + ), + 'text/vnd.curl.scurl' => + array( + 0 => 'scurl', + ), + 'text/vnd.dvb.subtitle' => + array( + 0 => 'sub', + ), + 'text/vnd.fly' => + array( + 0 => 'fly', + ), + 'text/vnd.fmi.flexstor' => + array( + 0 => 'flx', + ), + 'text/vnd.graphviz' => + array( + 0 => 'gv', + ), + 'text/vnd.in3d.3dml' => + array( + 0 => '3dml', + ), + 'text/vnd.in3d.spot' => + array( + 0 => 'spot', + ), + 'text/vnd.sun.j2me.app-descriptor' => + array( + 0 => 'jad', + ), + 'text/vnd.wap.wml' => + array( + 0 => 'wml', + ), + 'text/vnd.wap.wmlscript' => + array( + 0 => 'wmls', + ), + 'text/x-asm' => + array( + 0 => 's', + 1 => 'asm', + ), + 'text/x-c' => + array( + 0 => 'c', + 1 => 'cc', + 2 => 'cxx', + 3 => 'cpp', + 4 => 'h', + 5 => 'hh', + 6 => 'dic', + ), + 'text/x-fortran' => + array( + 0 => 'f', + 1 => 'for', + 2 => 'f77', + 3 => 'f90', + ), + 'text/x-java-source' => + array( + 0 => 'java', + ), + 'text/x-nfo' => + array( + 0 => 'nfo', + ), + 'text/x-opml' => + array( + 0 => 'opml', + ), + 'text/x-pascal' => + array( + 0 => 'p', + 1 => 'pas', + ), + 'text/x-setext' => + array( + 0 => 'etx', + ), + 'text/x-sfv' => + array( + 0 => 'sfv', + ), + 'text/x-uuencode' => + array( + 0 => 'uu', + ), + 'text/x-vcalendar' => + array( + 0 => 'vcs', + ), + 'text/x-vcard' => + array( + 0 => 'vcf', + ), + 'video/3gpp' => + array( + 0 => '3gp', + ), + 'video/3gpp2' => + array( + 0 => '3g2', + ), + 'video/h261' => + array( + 0 => 'h261', + ), + 'video/h263' => + array( + 0 => 'h263', + ), + 'video/h264' => + array( + 0 => 'h264', + ), + 'video/jpeg' => + array( + 0 => 'jpgv', + ), + 'video/jpm' => + array( + 0 => 'jpm', + 1 => 'jpgm', + ), + 'video/mj2' => + array( + 0 => 'mj2', + 1 => 'mjp2', + ), + 'video/mp4' => + array( + 0 => 'mp4', + 1 => 'mp4v', + 2 => 'mpg4', + ), + 'video/mpeg' => + array( + 0 => 'mpeg', + 1 => 'mpg', + 2 => 'mpe', + 3 => 'm1v', + 4 => 'm2v', + ), + 'video/ogg' => + array( + 0 => 'ogv', + ), + 'video/quicktime' => + array( + 0 => 'qt', + 1 => 'mov', + ), + 'video/vnd.dece.hd' => + array( + 0 => 'uvh', + 1 => 'uvvh', + ), + 'video/vnd.dece.mobile' => + array( + 0 => 'uvm', + 1 => 'uvvm', + ), + 'video/vnd.dece.pd' => + array( + 0 => 'uvp', + 1 => 'uvvp', + ), + 'video/vnd.dece.sd' => + array( + 0 => 'uvs', + 1 => 'uvvs', + ), + 'video/vnd.dece.video' => + array( + 0 => 'uvv', + 1 => 'uvvv', + ), + 'video/vnd.dvb.file' => + array( + 0 => 'dvb', + ), + 'video/vnd.fvt' => + array( + 0 => 'fvt', + ), + 'video/vnd.mpegurl' => + array( + 0 => 'mxu', + 1 => 'm4u', + ), + 'video/vnd.ms-playready.media.pyv' => + array( + 0 => 'pyv', + ), + 'video/vnd.uvvu.mp4' => + array( + 0 => 'uvu', + 1 => 'uvvu', + ), + 'video/vnd.vivo' => + array( + 0 => 'viv', + ), + 'video/webm' => + array( + 0 => 'webm', + ), + 'video/x-f4v' => + array( + 0 => 'f4v', + ), + 'video/x-fli' => + array( + 0 => 'fli', + ), + 'video/x-flv' => + array( + 0 => 'flv', + ), + 'video/x-m4v' => + array( + 0 => 'm4v', + ), + 'video/x-matroska' => + array( + 0 => 'mkv', + 1 => 'mk3d', + 2 => 'mks', + ), + 'video/x-mng' => + array( + 0 => 'mng', + ), + 'video/x-ms-asf' => + array( + 0 => 'asf', + 1 => 'asx', + ), + 'video/x-ms-vob' => + array( + 0 => 'vob', + ), + 'video/x-ms-wm' => + array( + 0 => 'wm', + ), + 'video/x-ms-wmv' => + array( + 0 => 'wmv', + ), + 'video/x-ms-wmx' => + array( + 0 => 'wmx', + ), + 'video/x-ms-wvx' => + array( + 0 => 'wvx', + ), + 'video/x-msvideo' => + array( + 0 => 'avi', + ), + 'video/x-sgi-movie' => + array( + 0 => 'movie', + ), + 'video/x-smv' => + array( + 0 => 'smv', + ), + 'x-conference/x-cooltalk' => + array( + 0 => 'ice', + ), + ), +); \ No newline at end of file diff --git a/VacheronSSO/_secure.php b/VacheronSSO/_secure.php new file mode 100644 index 0000000..8253dff --- /dev/null +++ b/VacheronSSO/_secure.php @@ -0,0 +1,268 @@ + [ + // Identifier of the SP entity (must be a URI) + 'entityId' => $base, + // Specifies info about where and how the message MUST be + // returned to the requester, in this case our SP. + 'assertionConsumerService' => array( + // URL Location where the from the IdP will be returned + 'url' => $url, + // SAML protocol binding to be used when returning the + // message. Onelogin Toolkit supports for this endpoint the + // HTTP-POST binding only + 'binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST', + ), +// // If you need to specify requested attributes, set a +// // attributeConsumingService. nameFormat, attributeValue and +// // friendlyName can be omitted. Otherwise remove this section. +// "attributeConsumingService" => array( +// "serviceName" => "SP test", +// "serviceDescription" => "Test Service", +// "requestedAttributes" => array( +// array( +// "name" => "", +// "isRequired" => false, +// "nameFormat" => "", +// "friendlyName" => "", +// "attributeValue" => "" +// ) +// ) +// ), +// // Specifies info about where and how the message MUST be +// // returned to the requester, in this case our SP. +// 'singleLogoutService' => array( +// // URL Location where the from the IdP will be returned +// 'url' => '', +// // SAML protocol binding to be used when returning the +// // message. Onelogin Toolkit supports for this endpoint the +// // HTTP-Redirect binding only +// 'binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect', +// ), +// // Specifies constraints on the name identifier to be used to +// // represent the requested subject. +// // Take a look on lib/Saml2/Constants.php to see the NameIdFormat supported +// 'NameIDFormat' => 'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified', +// +// // Usually x509cert and privateKey of the SP are provided by files placed at +// // the certs folder. But we can also provide them with the following parameters +// 'x509cert' => '', +// 'privateKey' => '', +// +// /* +// * Key rollover +// * If you plan to update the SP x509cert and privateKey +// * you can define here the new x509cert and it will be +// * published on the SP metadata so Identity Providers can +// * read them and get ready for rollover. +// */ +// // 'x509certNew' => '', + ], + 'idp' => [ + 'entityId' => $metadata['EntityDescriptor']['@entityID'], + 'singleSignOnService' => [ + 'url' => $metadata['EntityDescriptor']['IDPSSODescriptor']['SingleSignOnService'][0]['@Location'], + ], + 'x509cert' => $metadata['EntityDescriptor']['IDPSSODescriptor']['KeyDescriptor']['KeyInfo']['X509Data']['X509Certificate'], + ]]; + + try { + $auth = new \OneLogin\Saml2\Auth($samlsettings); + } catch (Exception $e) { + http_response_code(500); + print_r($e); + die('an error occured'); + } + + if (!empty($_POST['SAMLResponse']) && !empty($_POST['RelayState'])) { + $auth->processResponse(null); + + $errors = $auth->getErrors(); + if (empty($errors)) { + // user has authenticated successfully + $needsAuth = false; + $_SESSION['samlUserdata'] = $auth->getAttributes(); + $_SESSION['samlOK'] = true; + session_write_close(); + file_put_contents(__DIR__ . '/log/ok.' . $t . '.log', print_r($_SESSION, true)); + file_put_contents(__DIR__ . '/log/xml.' . $t . '.log', $auth->getLastResponseXML()); + + if ($_POST['RelayState'] !== $base) { + header('Location: ' . $_POST['RelayState'], true); + exit; + } + + } else { + file_put_contents(__DIR__ . '/log/err.' . $t . '.log', print_r($errors, true) . "\n\n--\n\n" . print_r($auth->getLastErrorReason(), true) . "\n\n--\n\n" . print_r($auth->getLastErrorException(), true)); + } + } + + if ($needsAuth) { + if ($index) { + $auth->login(); + } else { + http_response_code(403); + } + exit; + } +} + + +if (!file_exists($file)) { + http_response_code(404); + exit; +} + +$e = explode('.', $file); +$ext = mb_strtolower(array_pop($e)); +require_once "_mime.php"; +if (isset($mimes['mimes'][$ext])) { + $mime = $mimes['mimes'][$ext][0]; +} else { + $mime = mime_content_type($file); +} + +header('Content-Type: ' . $mime); +header('Content-Length: ' . filesize($file)); +header("X-Sendfile: $file"); + +function xmlToArray($xml, $options = array()) +{ + $defaults = array( + 'namespaceSeparator' => ':',//you may want this to be something other than a colon + 'attributePrefix' => '@', //to distinguish between attributes and nodes with the same name + 'alwaysArray' => array(), //array of xml tag names which should always become arrays + 'autoArray' => true, //only create arrays for tags which appear more than once + 'textContent' => '$', //key used for the text content of elements + 'autoText' => true, //skip textContent key if node has no attributes or child nodes + 'keySearch' => false, //optional search and replace on tag and attribute names + 'keyReplace' => false //replace values for above search values (as passed to str_replace()) + ); + $options = array_merge($defaults, $options); + $namespaces = $xml->getDocNamespaces(true); + $namespaces[''] = null; //add base (empty) namespace + + //get attributes from all namespaces + $attributesArray = array(); + foreach ($namespaces as $prefix => $namespace) { + foreach ($xml->attributes($namespace) as $attributeName => $attribute) { + //replace characters in attribute name + if ($options['keySearch']) $attributeName = + str_replace($options['keySearch'], $options['keyReplace'], $attributeName); + $attributeKey = $options['attributePrefix'] + . ($prefix ? $prefix . $options['namespaceSeparator'] : '') + . $attributeName; + $attributesArray[$attributeKey] = (string)$attribute; + } + } + + //get child nodes from all namespaces + $tagsArray = array(); + foreach ($namespaces as $prefix => $namespace) { + foreach ($xml->children($namespace) as $childXml) { + //recurse into child nodes + $childArray = xmlToArray($childXml, $options); + list($childTagName, $childProperties) = each($childArray); + + //replace characters in tag name + if ($options['keySearch']) $childTagName = + str_replace($options['keySearch'], $options['keyReplace'], $childTagName); + //add namespace prefix, if any + if ($prefix) $childTagName = $prefix . $options['namespaceSeparator'] . $childTagName; + + if (!isset($tagsArray[$childTagName])) { + //only entry with this key + //test if tags of this type should always be arrays, no matter the element count + $tagsArray[$childTagName] = + in_array($childTagName, $options['alwaysArray']) || !$options['autoArray'] + ? array($childProperties) : $childProperties; + } elseif ( + is_array($tagsArray[$childTagName]) && array_keys($tagsArray[$childTagName]) + === range(0, count($tagsArray[$childTagName]) - 1) + ) { + //key already exists and is integer indexed array + $tagsArray[$childTagName][] = $childProperties; + } else { + //key exists so convert to integer indexed array with previous value in position 0 + $tagsArray[$childTagName] = array($tagsArray[$childTagName], $childProperties); + } + } + } + + //get text content of node + $textContentArray = array(); + $plainText = trim((string)$xml); + if ($plainText !== '') $textContentArray[$options['textContent']] = $plainText; + + //stick it all together + $propertiesArray = !$options['autoText'] || $attributesArray || $tagsArray || ($plainText === '') + ? array_merge($attributesArray, $tagsArray, $textContentArray) : $plainText; + + //return node as array + return array( + $xml->getName() => $propertiesArray + ); +} + +function getMetadata() +{ + global $metadata; + $limit = time() - 14400; + $cachefile = __DIR__ . '/_metadata'; + + if (!file_exists($cachefile) || filesize($cachefile) <= 20 || filemtime($cachefile) < $limit) { + $client = new Client(); + $response = $client->get($metadata, ['timeout' => 30]); + $c = $response->getBody()->getContents(); + + if (!$c) { + return json_decode(file_get_contents($cachefile), true); + } + + $xml = simplexml_load_string($c); + + $metadata = xmlToArray($xml); + file_put_contents($cachefile, json_encode($metadata)); + return $metadata; + } else { + return json_decode(file_get_contents($cachefile), true); + } + +} \ No newline at end of file diff --git a/VacheronSSO/composer.json b/VacheronSSO/composer.json new file mode 100644 index 0000000..277fb90 --- /dev/null +++ b/VacheronSSO/composer.json @@ -0,0 +1,12 @@ +{ + "require": { + "php": ">=7.0", + "ext-json": "*", + "ext-xml": "*", + "guzzlehttp/guzzle": "^7.0", + "onelogin/php-saml": "^3.5" + }, + "require-dev": { + "roave/security-advisories": "dev-master" + } +} diff --git a/VacheronSSO/composer.lock b/VacheronSSO/composer.lock new file mode 100644 index 0000000..b0eedc1 --- /dev/null +++ b/VacheronSSO/composer.lock @@ -0,0 +1,1168 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "e5f095aa237a08c51ea243dc0256bae8", + "packages": [ + { + "name": "guzzlehttp/guzzle", + "version": "7.4.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "ee0a041b1760e6a53d2a39c8c34115adc2af2c79" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/ee0a041b1760e6a53d2a39c8c34115adc2af2c79", + "reference": "ee0a041b1760e6a53d2a39c8c34115adc2af2c79", + "shasum": "" + }, + "require": { + "ext-json": "*", + "guzzlehttp/promises": "^1.5", + "guzzlehttp/psr7": "^1.8.3 || ^2.1", + "php": "^7.2.5 || ^8.0", + "psr/http-client": "^1.0", + "symfony/deprecation-contracts": "^2.2 || ^3.0" + }, + "provide": { + "psr/http-client-implementation": "1.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", + "ext-curl": "*", + "php-http/client-integration-tests": "^3.0", + "phpunit/phpunit": "^8.5.5 || ^9.3.5", + "psr/log": "^1.1 || ^2.0 || ^3.0" + }, + "suggest": { + "ext-curl": "Required for CURL handler support", + "ext-intl": "Required for Internationalized Domain Name (IDN) support", + "psr/log": "Required for using the Log middleware" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.4-dev" + } + }, + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Jeremy Lindblom", + "email": "jeremeamia@gmail.com", + "homepage": "https://github.com/jeremeamia" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "psr-18", + "psr-7", + "rest", + "web service" + ], + "support": { + "issues": "https://github.com/guzzle/guzzle/issues", + "source": "https://github.com/guzzle/guzzle/tree/7.4.1" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", + "type": "tidelift" + } + ], + "time": "2021-12-06T18:43:05+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "1.5.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/fe752aedc9fd8fcca3fe7ad05d419d32998a06da", + "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "symfony/phpunit-bridge": "^4.4 || ^5.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.5-dev" + } + }, + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "support": { + "issues": "https://github.com/guzzle/promises/issues", + "source": "https://github.com/guzzle/promises/tree/1.5.1" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises", + "type": "tidelift" + } + ], + "time": "2021-10-22T20:56:57+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "089edd38f5b8abba6cb01567c2a8aaa47cec4c72" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/089edd38f5b8abba6cb01567c2a8aaa47cec4c72", + "reference": "089edd38f5b8abba6cb01567c2a8aaa47cec4c72", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.0", + "ralouphie/getallheaders": "^3.0" + }, + "provide": { + "psr/http-factory-implementation": "1.0", + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", + "http-interop/http-factory-tests": "^0.9", + "phpunit/phpunit": "^8.5.8 || ^9.3.10" + }, + "suggest": { + "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://sagikazarmark.hu" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "psr-7", + "request", + "response", + "stream", + "uri", + "url" + ], + "support": { + "issues": "https://github.com/guzzle/psr7/issues", + "source": "https://github.com/guzzle/psr7/tree/2.1.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", + "type": "tidelift" + } + ], + "time": "2021-10-06T17:43:30+00:00" + }, + { + "name": "onelogin/php-saml", + "version": "3.6.1", + "source": { + "type": "git", + "url": "https://github.com/onelogin/php-saml.git", + "reference": "a7328b11887660ad248ea10952dd67a5aa73ba3b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/onelogin/php-saml/zipball/a7328b11887660ad248ea10952dd67a5aa73ba3b", + "reference": "a7328b11887660ad248ea10952dd67a5aa73ba3b", + "shasum": "" + }, + "require": { + "php": ">=5.4", + "robrichards/xmlseclibs": ">=3.1.1" + }, + "require-dev": { + "pdepend/pdepend": "^2.5.0", + "php-coveralls/php-coveralls": "^1.0.2 || ^2.0", + "phploc/phploc": "^2.1 || ^3.0 || ^4.0", + "phpunit/phpunit": "<7.5.18", + "sebastian/phpcpd": "^2.0 || ^3.0 || ^4.0", + "squizlabs/php_codesniffer": "^3.1.1" + }, + "suggest": { + "ext-curl": "Install curl lib to be able to use the IdPMetadataParser for parsing remote XMLs", + "ext-gettext": "Install gettext and php5-gettext libs to handle translations", + "ext-openssl": "Install openssl lib in order to handle with x509 certs (require to support sign and encryption)" + }, + "type": "library", + "autoload": { + "psr-4": { + "OneLogin\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "OneLogin PHP SAML Toolkit", + "homepage": "https://developers.onelogin.com/saml/php", + "keywords": [ + "SAML2", + "onelogin", + "saml" + ], + "support": { + "email": "sixto.garcia@onelogin.com", + "issues": "https://github.com/onelogin/php-saml/issues", + "source": "https://github.com/onelogin/php-saml/" + }, + "time": "2021-03-02T10:13:07+00:00" + }, + { + "name": "psr/http-client", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-client.git", + "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", + "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Client\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP clients", + "homepage": "https://github.com/php-fig/http-client", + "keywords": [ + "http", + "http-client", + "psr", + "psr-18" + ], + "support": { + "source": "https://github.com/php-fig/http-client/tree/master" + }, + "time": "2020-06-29T06:28:15+00:00" + }, + { + "name": "psr/http-factory", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be", + "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be", + "shasum": "" + }, + "require": { + "php": ">=7.0.0", + "psr/http-message": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for PSR-7 HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-factory/tree/master" + }, + "time": "2019-04-30T12:38:16+00:00" + }, + { + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/master" + }, + "time": "2016-08-06T14:39:51+00:00" + }, + { + "name": "ralouphie/getallheaders", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "120b605dfeb996808c31b6477290a714d356e822" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders.", + "support": { + "issues": "https://github.com/ralouphie/getallheaders/issues", + "source": "https://github.com/ralouphie/getallheaders/tree/develop" + }, + "time": "2019-03-08T08:55:37+00:00" + }, + { + "name": "robrichards/xmlseclibs", + "version": "3.1.1", + "source": { + "type": "git", + "url": "https://github.com/robrichards/xmlseclibs.git", + "reference": "f8f19e58f26cdb42c54b214ff8a820760292f8df" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/robrichards/xmlseclibs/zipball/f8f19e58f26cdb42c54b214ff8a820760292f8df", + "reference": "f8f19e58f26cdb42c54b214ff8a820760292f8df", + "shasum": "" + }, + "require": { + "ext-openssl": "*", + "php": ">= 5.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "RobRichards\\XMLSecLibs\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "A PHP library for XML Security", + "homepage": "https://github.com/robrichards/xmlseclibs", + "keywords": [ + "security", + "signature", + "xml", + "xmldsig" + ], + "support": { + "issues": "https://github.com/robrichards/xmlseclibs/issues", + "source": "https://github.com/robrichards/xmlseclibs/tree/3.1.1" + }, + "time": "2020-09-05T13:00:25+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.0.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "c726b64c1ccfe2896cb7df2e1331c357ad1c8ced" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/c726b64c1ccfe2896cb7df2e1331c357ad1c8ced", + "reference": "c726b64c1ccfe2896cb7df2e1331c357ad1c8ced", + "shasum": "" + }, + "require": { + "php": ">=8.0.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.0.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-11-01T23:48:49+00:00" + } + ], + "packages-dev": [ + { + "name": "roave/security-advisories", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/Roave/SecurityAdvisories.git", + "reference": "a9377ea39143741495fcbebecb2fcd1b45e5bc1a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/a9377ea39143741495fcbebecb2fcd1b45e5bc1a", + "reference": "a9377ea39143741495fcbebecb2fcd1b45e5bc1a", + "shasum": "" + }, + "conflict": { + "3f/pygmentize": "<1.2", + "adodb/adodb-php": "<=5.20.20|>=5.21,<=5.21.3", + "akaunting/akaunting": "<2.1.13", + "alterphp/easyadmin-extension-bundle": ">=1.2,<1.2.11|>=1.3,<1.3.1", + "amazing/media2click": ">=1,<1.3.3", + "amphp/artax": "<1.0.6|>=2,<2.0.6", + "amphp/http": "<1.0.1", + "amphp/http-client": ">=4,<4.4", + "anchorcms/anchor-cms": "<=0.12.7", + "api-platform/core": ">=2.2,<2.2.10|>=2.3,<2.3.6", + "area17/twill": "<1.2.5|>=2,<2.5.3", + "asymmetricrypt/asymmetricrypt": ">=0,<9.9.99", + "aws/aws-sdk-php": ">=3,<3.2.1", + "bagisto/bagisto": "<0.1.5", + "barrelstrength/sprout-base-email": "<1.2.7", + "barrelstrength/sprout-forms": "<3.9", + "baserproject/basercms": "<4.5.4", + "billz/raspap-webgui": "<=2.6.6", + "bk2k/bootstrap-package": ">=7.1,<7.1.2|>=8,<8.0.8|>=9,<9.0.4|>=9.1,<9.1.3|>=10,<10.0.10|>=11,<11.0.3", + "bolt/bolt": "<3.7.2", + "bolt/core": "<4.1.13", + "bottelet/flarepoint": "<2.2.1", + "brightlocal/phpwhois": "<=4.2.5", + "buddypress/buddypress": "<7.2.1", + "bugsnag/bugsnag-laravel": ">=2,<2.0.2", + "bytefury/crater": "<6.0.2", + "cachethq/cachet": "<2.5.1", + "cakephp/cakephp": "<4.0.6", + "cardgate/magento2": "<2.0.33", + "cart2quote/module-quotation": ">=4.1.6,<=4.4.5|>=5,<5.4.4", + "cartalyst/sentry": "<=2.1.6", + "catfan/medoo": "<1.7.5", + "centreon/centreon": "<20.10.7", + "cesnet/simplesamlphp-module-proxystatistics": "<3.1", + "codeception/codeception": "<3.1.3|>=4,<4.1.22", + "codeigniter/framework": "<=3.0.6", + "codeigniter4/framework": "<4.1.8", + "codiad/codiad": "<=2.8.4", + "composer/composer": "<1.10.23|>=2-alpha.1,<2.1.9", + "concrete5/concrete5": "<9", + "concrete5/core": "<8.5.7", + "contao-components/mediaelement": ">=2.14.2,<2.21.1", + "contao/core": ">=2,<3.5.39", + "contao/core-bundle": "<4.9.18|>=4.10,<4.11.7|= 4.10.0", + "contao/listing-bundle": ">=4,<4.4.8", + "craftcms/cms": "<3.7.14", + "croogo/croogo": "<3.0.7", + "datadog/dd-trace": ">=0.30,<0.30.2", + "david-garcia/phpwhois": "<=4.3.1", + "derhansen/sf_event_mgt": "<4.3.1|>=5,<5.1.1", + "directmailteam/direct-mail": "<5.2.4", + "doctrine/annotations": ">=1,<1.2.7", + "doctrine/cache": ">=1,<1.3.2|>=1.4,<1.4.2", + "doctrine/common": ">=2,<2.4.3|>=2.5,<2.5.1", + "doctrine/dbal": ">=2,<2.0.8|>=2.1,<2.1.2|>=3,<3.1.4", + "doctrine/doctrine-bundle": "<1.5.2", + "doctrine/doctrine-module": "<=0.7.1", + "doctrine/mongodb-odm": ">=1,<1.0.2", + "doctrine/mongodb-odm-bundle": ">=2,<3.0.1", + "doctrine/orm": ">=2,<2.4.8|>=2.5,<2.5.1|>=2.8.3,<2.8.4", + "dolibarr/dolibarr": "<=14.0.5|>= 3.3.beta1, < 13.0.2", + "dompdf/dompdf": ">=0.6,<0.6.2", + "drupal/core": ">=7,<7.80|>=8,<8.9.16|>=9,<9.1.12|>=9.2,<9.2.4", + "drupal/drupal": ">=7,<7.80|>=8,<8.9.16|>=9,<9.1.12|>=9.2,<9.2.4", + "dweeves/magmi": "<=0.7.24", + "ecodev/newsletter": "<=4", + "elgg/elgg": "<3.3.24|>=4,<4.0.5", + "endroid/qr-code-bundle": "<3.4.2", + "enshrined/svg-sanitize": "<0.15", + "erusev/parsedown": "<1.7.2", + "ether/logs": "<3.0.4", + "ezsystems/demobundle": ">=5.4,<5.4.6.1", + "ezsystems/ez-support-tools": ">=2.2,<2.2.3", + "ezsystems/ezdemo-ls-extension": ">=5.4,<5.4.2.1", + "ezsystems/ezfind-ls": ">=5.3,<5.3.6.1|>=5.4,<5.4.11.1|>=2017.12,<2017.12.0.1", + "ezsystems/ezplatform": "<=1.13.6|>=2,<=2.5.24", + "ezsystems/ezplatform-admin-ui": ">=1.3,<1.3.5|>=1.4,<1.4.6|>=1.5,<=1.5.25", + "ezsystems/ezplatform-admin-ui-assets": ">=4,<4.2.1|>=5,<5.0.1|>=5.1,<5.1.1", + "ezsystems/ezplatform-kernel": "<=1.2.5|>=1.3,<=1.3.1", + "ezsystems/ezplatform-rest": ">=1.2,<=1.2.2|>=1.3,<1.3.8", + "ezsystems/ezplatform-richtext": ">=2.3,<=2.3.7", + "ezsystems/ezplatform-user": ">=1,<1.0.1", + "ezsystems/ezpublish-kernel": "<=6.13.8.1|>=7,<7.5.26", + "ezsystems/ezpublish-legacy": "<=2017.12.7.3|>=2018.6,<=2019.3.5.1", + "ezsystems/platform-ui-assets-bundle": ">=4.2,<4.2.3", + "ezsystems/repository-forms": ">=2.3,<2.3.2.1", + "ezyang/htmlpurifier": "<4.1.1", + "facade/ignition": "<1.16.15|>=2,<2.4.2|>=2.5,<2.5.2", + "feehi/cms": "<=2.1.1", + "feehi/feehicms": "<=0.1.3", + "firebase/php-jwt": "<2", + "flarum/core": ">=1,<=1.0.1", + "flarum/sticky": ">=0.1-beta.14,<=0.1-beta.15", + "flarum/tags": "<=0.1-beta.13", + "fluidtypo3/vhs": "<5.1.1", + "fooman/tcpdf": "<6.2.22", + "forkcms/forkcms": "<=5.9.2", + "fossar/tcpdf-parser": "<6.2.22", + "francoisjacquet/rosariosis": "<8.1.1", + "friendsofsymfony/oauth2-php": "<1.3", + "friendsofsymfony/rest-bundle": ">=1.2,<1.2.2", + "friendsofsymfony/user-bundle": ">=1.2,<1.3.5", + "friendsoftypo3/mediace": ">=7.6.2,<7.6.5", + "froala/wysiwyg-editor": "<3.2.7", + "fuel/core": "<1.8.1", + "gaoming13/wechat-php-sdk": "<=1.10.2", + "getgrav/grav": "<1.7.28", + "getkirby/cms": "<3.5.8", + "getkirby/panel": "<2.5.14", + "gilacms/gila": "<=1.11.4", + "globalpayments/php-sdk": "<2", + "google/protobuf": "<3.15", + "gos/web-socket-bundle": "<1.10.4|>=2,<2.6.1|>=3,<3.3", + "gree/jose": "<=2.2", + "gregwar/rst": "<1.0.3", + "grumpydictator/firefly-iii": "<5.6.5", + "guzzlehttp/guzzle": ">=4-rc.2,<4.2.4|>=5,<5.3.1|>=6,<6.2.1", + "helloxz/imgurl": "<=2.31", + "hillelcoren/invoice-ninja": "<5.3.35", + "hjue/justwriting": "<=1", + "hov/jobfair": "<1.0.13|>=2,<2.0.2", + "ibexa/post-install": "<=1.0.4", + "icecoder/icecoder": "<=8.1", + "illuminate/auth": ">=4,<4.0.99|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.10", + "illuminate/cookie": ">=4,<=4.0.11|>=4.1,<=4.1.99999|>=4.2,<=4.2.99999|>=5,<=5.0.99999|>=5.1,<=5.1.99999|>=5.2,<=5.2.99999|>=5.3,<=5.3.99999|>=5.4,<=5.4.99999|>=5.5,<=5.5.49|>=5.6,<=5.6.99999|>=5.7,<=5.7.99999|>=5.8,<=5.8.99999|>=6,<6.18.31|>=7,<7.22.4", + "illuminate/database": "<6.20.26|>=7,<7.30.5|>=8,<8.40", + "illuminate/encryption": ">=4,<=4.0.11|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.40|>=5.6,<5.6.15", + "illuminate/view": "<6.20.42|>=7,<7.30.6|>=8,<8.75", + "impresscms/impresscms": "<=1.4.2", + "in2code/femanager": "<5.5.1|>=6,<6.3.1", + "intelliants/subrion": "<=4.2.1", + "ivankristianto/phpwhois": "<=4.3", + "jackalope/jackalope-doctrine-dbal": "<1.7.4", + "james-heinrich/getid3": "<1.9.21", + "joomla/archive": "<1.1.10", + "joomla/session": "<1.3.1", + "jsdecena/laracom": "<2.0.9", + "jsmitty12/phpwhois": "<5.1", + "kazist/phpwhois": "<=4.2.6", + "kevinpapst/kimai2": "<1.16.7", + "kitodo/presentation": "<3.1.2", + "klaviyo/magento2-extension": ">=1,<3", + "kreait/firebase-php": ">=3.2,<3.8.1", + "la-haute-societe/tcpdf": "<6.2.22", + "laminas/laminas-form": "<2.17.1|>=3,<3.0.2|>=3.1,<3.1.1", + "laminas/laminas-http": "<2.14.2", + "laravel/framework": "<6.20.42|>=7,<7.30.6|>=8,<8.75", + "laravel/socialite": ">=1,<1.0.99|>=2,<2.0.10", + "latte/latte": "<2.10.8", + "lavalite/cms": "<=5.8", + "lcobucci/jwt": ">=3.4,<3.4.6|>=4,<4.0.4|>=4.1,<4.1.5", + "league/commonmark": "<0.18.3", + "league/flysystem": "<1.1.4|>=2,<2.1.1", + "lexik/jwt-authentication-bundle": "<2.10.7|>=2.11,<2.11.3", + "librenms/librenms": "<22.2", + "limesurvey/limesurvey": "<3.27.19", + "livehelperchat/livehelperchat": "<=3.91", + "livewire/livewire": ">2.2.4,<2.2.6", + "lms/routes": "<2.1.1", + "localizationteam/l10nmgr": "<7.4|>=8,<8.7|>=9,<9.2", + "magento/community-edition": ">=2,<2.2.10|>=2.3,<2.3.3", + "magento/magento1ce": "<1.9.4.3", + "magento/magento1ee": ">=1,<1.14.4.3", + "magento/product-community-edition": ">=2,<2.2.10|>=2.3,<2.3.2-p.2", + "marcwillmann/turn": "<0.3.3", + "mautic/core": "<4|= 2.13.1", + "mediawiki/core": ">=1.27,<1.27.6|>=1.29,<1.29.3|>=1.30,<1.30.2|>=1.31,<1.31.9|>=1.32,<1.32.6|>=1.32.99,<1.33.3|>=1.33.99,<1.34.3|>=1.34.99,<1.35", + "microweber/microweber": "<1.2.11", + "miniorange/miniorange-saml": "<1.4.3", + "mittwald/typo3_forum": "<1.2.1", + "modx/revolution": "<2.8", + "monolog/monolog": ">=1.8,<1.12", + "moodle/moodle": "<3.9.11|>=3.10-beta,<3.10.8|>=3.11,<3.11.5", + "mustache/mustache": ">=2,<2.14.1", + "namshi/jose": "<2.2", + "neoan3-apps/template": "<1.1.1", + "neos/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.12|>=3.1,<3.1.10|>=3.2,<3.2.13|>=3.3,<3.3.13|>=4,<4.0.6", + "neos/form": ">=1.2,<4.3.3|>=5,<5.0.9|>=5.1,<5.1.3", + "neos/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4|>=2.3,<2.9.99|>=3,<3.0.20|>=3.1,<3.1.18|>=3.2,<3.2.14|>=3.3,<3.3.23|>=4,<4.0.17|>=4.1,<4.1.16|>=4.2,<4.2.12|>=4.3,<4.3.3", + "neos/swiftmailer": ">=4.1,<4.1.99|>=5.4,<5.4.5", + "netgen/tagsbundle": ">=3.4,<3.4.11|>=4,<4.0.15", + "nette/application": ">=2,<2.0.19|>=2.1,<2.1.13|>=2.2,<2.2.10|>=2.3,<2.3.14|>=2.4,<2.4.16|>=3,<3.0.6", + "nette/nette": ">=2,<2.0.19|>=2.1,<2.1.13", + "nilsteampassnet/teampass": "<=2.1.27.36", + "nukeviet/nukeviet": "<4.3.4", + "nystudio107/craft-seomatic": "<3.3", + "nzo/url-encryptor-bundle": ">=4,<4.3.2|>=5,<5.0.1", + "october/backend": "<1.1.2", + "october/cms": "= 1.1.1|= 1.0.471|= 1.0.469|>=1.0.319,<1.0.469", + "october/october": ">=1.0.319,<1.0.466|>=2.1,<2.1.12", + "october/rain": "<1.0.472|>=1.1,<1.1.2", + "october/system": "<1.0.473|>=1.1,<1.1.6|>=2.1,<2.1.12", + "onelogin/php-saml": "<2.10.4", + "oneup/uploader-bundle": "<1.9.3|>=2,<2.1.5", + "opencart/opencart": "<=3.0.3.2", + "openid/php-openid": "<2.3", + "openmage/magento-lts": "<19.4.15|>=20,<20.0.13", + "orchid/platform": ">=9,<9.4.4", + "oro/crm": ">=1.7,<1.7.4|>=3.1,<4.1.17|>=4.2,<4.2.7", + "oro/platform": ">=1.7,<1.7.4|>=3.1,<3.1.29|>=4.1,<4.1.17|>=4.2,<4.2.8", + "padraic/humbug_get_contents": "<1.1.2", + "pagarme/pagarme-php": ">=0,<3", + "pagekit/pagekit": "<=1.0.18", + "paragonie/random_compat": "<2", + "passbolt/passbolt_api": "<2.11", + "paypal/merchant-sdk-php": "<3.12", + "pear/archive_tar": "<1.4.14", + "pegasus/google-for-jobs": "<1.5.1|>=2,<2.1.1", + "personnummer/personnummer": "<3.0.2", + "phanan/koel": "<5.1.4", + "phpfastcache/phpfastcache": "<6.1.5|>=7,<7.1.2|>=8,<8.0.7", + "phpmailer/phpmailer": "<6.5", + "phpmussel/phpmussel": ">=1,<1.6", + "phpmyadmin/phpmyadmin": "<4.9.8|>=5,<5.0.3|>=5.1,<5.1.2", + "phpoffice/phpexcel": "<1.8.2", + "phpoffice/phpspreadsheet": "<1.16", + "phpseclib/phpseclib": "<2.0.31|>=3,<3.0.7", + "phpservermon/phpservermon": "<=3.5.2", + "phpunit/phpunit": ">=4.8.19,<4.8.28|>=5.0.10,<5.6.3", + "phpwhois/phpwhois": "<=4.2.5", + "phpxmlrpc/extras": "<0.6.1", + "pimcore/pimcore": "<10.3.1", + "pocketmine/pocketmine-mp": "<4.0.7", + "pressbooks/pressbooks": "<5.18", + "prestashop/autoupgrade": ">=4,<4.10.1", + "prestashop/contactform": ">1.0.1,<4.3", + "prestashop/gamification": "<2.3.2", + "prestashop/prestashop": ">=1.7,<=1.7.8.2", + "prestashop/productcomments": ">=4,<4.2.1", + "prestashop/ps_emailsubscription": "<2.6.1", + "prestashop/ps_facetedsearch": "<3.4.1", + "prestashop/ps_linklist": "<3.1", + "privatebin/privatebin": "<1.2.2|>=1.3,<1.3.2", + "propel/propel": ">=2-alpha.1,<=2-alpha.7", + "propel/propel1": ">=1,<=1.7.1", + "pterodactyl/panel": "<1.7", + "ptrofimov/beanstalk_console": "<1.7.14", + "pusher/pusher-php-server": "<2.2.1", + "pwweb/laravel-core": "<=0.3.6-beta", + "rainlab/debugbar-plugin": "<3.1", + "remdex/livehelperchat": "<3.93", + "rmccue/requests": ">=1.6,<1.8", + "robrichards/xmlseclibs": "<3.0.4", + "rudloff/alltube": "<3.0.1", + "sabberworm/php-css-parser": ">=1,<1.0.1|>=2,<2.0.1|>=3,<3.0.1|>=4,<4.0.1|>=5,<5.0.9|>=5.1,<5.1.3|>=5.2,<5.2.1|>=6,<6.0.2|>=7,<7.0.4|>=8,<8.0.1|>=8.1,<8.1.1|>=8.2,<8.2.1|>=8.3,<8.3.1", + "sabre/dav": ">=1.6,<1.6.99|>=1.7,<1.7.11|>=1.8,<1.8.9", + "scheb/two-factor-bundle": ">=0,<3.26|>=4,<4.11", + "sensiolabs/connect": "<4.2.3", + "serluck/phpwhois": "<=4.2.6", + "shopware/core": "<=6.4.6", + "shopware/platform": "<=6.4.6", + "shopware/production": "<=6.3.5.2", + "shopware/shopware": "<5.7.7", + "showdoc/showdoc": "<=2.10.2", + "silverstripe/admin": ">=1,<1.8.1", + "silverstripe/assets": ">=1,<1.4.7|>=1.5,<1.5.2", + "silverstripe/cms": "<4.3.6|>=4.4,<4.4.4", + "silverstripe/comments": ">=1.3,<1.9.99|>=2,<2.9.99|>=3,<3.1.1", + "silverstripe/forum": "<=0.6.1|>=0.7,<=0.7.3", + "silverstripe/framework": "<4.10.1", + "silverstripe/graphql": "<3.5.2|>=4-alpha.1,<4-alpha.2", + "silverstripe/registry": ">=2.1,<2.1.2|>=2.2,<2.2.1", + "silverstripe/restfulserver": ">=1,<1.0.9|>=2,<2.0.4", + "silverstripe/subsites": ">=2,<2.1.1", + "silverstripe/taxonomy": ">=1.3,<1.3.1|>=2,<2.0.1", + "silverstripe/userforms": "<3", + "simple-updates/phpwhois": "<=1", + "simplesamlphp/saml2": "<1.10.6|>=2,<2.3.8|>=3,<3.1.4", + "simplesamlphp/simplesamlphp": "<1.18.6", + "simplesamlphp/simplesamlphp-module-infocard": "<1.0.1", + "simplito/elliptic-php": "<1.0.6", + "slim/slim": "<2.6", + "smarty/smarty": "<3.1.43|>=4,<4.0.3", + "snipe/snipe-it": "<5.3.10", + "socalnick/scn-social-auth": "<1.15.2", + "socialiteproviders/steam": "<1.1", + "spipu/html2pdf": "<5.2.4", + "spoonity/tcpdf": "<6.2.22", + "squizlabs/php_codesniffer": ">=1,<2.8.1|>=3,<3.0.1", + "ssddanbrown/bookstack": "<21.12.1", + "stormpath/sdk": ">=0,<9.9.99", + "studio-42/elfinder": "<2.1.59", + "subrion/cms": "<=4.2.1", + "sulu/sulu": "= 2.4.0-RC1|<1.6.44|>=2,<2.2.18|>=2.3,<2.3.8", + "swiftmailer/swiftmailer": ">=4,<5.4.5", + "sylius/admin-bundle": ">=1,<1.0.17|>=1.1,<1.1.9|>=1.2,<1.2.2", + "sylius/grid": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1", + "sylius/grid-bundle": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1", + "sylius/paypal-plugin": ">=1,<1.2.4|>=1.3,<1.3.1", + "sylius/resource-bundle": "<1.3.14|>=1.4,<1.4.7|>=1.5,<1.5.2|>=1.6,<1.6.4", + "sylius/sylius": "<1.6.9|>=1.7,<1.7.9|>=1.8,<1.8.3|>=1.9,<1.9.5", + "symbiote/silverstripe-multivaluefield": ">=3,<3.0.99", + "symbiote/silverstripe-queuedjobs": ">=3,<3.0.2|>=3.1,<3.1.4|>=4,<4.0.7|>=4.1,<4.1.2|>=4.2,<4.2.4|>=4.3,<4.3.3|>=4.4,<4.4.3|>=4.5,<4.5.1|>=4.6,<4.6.4", + "symbiote/silverstripe-versionedfiles": "<=2.0.3", + "symfont/process": ">=0,<4", + "symfony/cache": ">=3.1,<3.4.35|>=4,<4.2.12|>=4.3,<4.3.8", + "symfony/dependency-injection": ">=2,<2.0.17|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", + "symfony/error-handler": ">=4.4,<4.4.4|>=5,<5.0.4", + "symfony/form": ">=2.3,<2.3.35|>=2.4,<2.6.12|>=2.7,<2.7.50|>=2.8,<2.8.49|>=3,<3.4.20|>=4,<4.0.15|>=4.1,<4.1.9|>=4.2,<4.2.1", + "symfony/framework-bundle": ">=2,<2.3.18|>=2.4,<2.4.8|>=2.5,<2.5.2|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7|>=5.3.14,<=5.3.14|>=5.4.3,<=5.4.3|>=6.0.3,<=6.0.3|= 6.0.3|= 5.4.3|= 5.3.14", + "symfony/http-foundation": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7", + "symfony/http-kernel": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.4.13|>=5,<5.1.5|>=5.2,<5.3.12", + "symfony/intl": ">=2.7,<2.7.38|>=2.8,<2.8.31|>=3,<3.2.14|>=3.3,<3.3.13", + "symfony/maker-bundle": ">=1.27,<1.29.2|>=1.30,<1.31.1", + "symfony/mime": ">=4.3,<4.3.8", + "symfony/phpunit-bridge": ">=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", + "symfony/polyfill": ">=1,<1.10", + "symfony/polyfill-php55": ">=1,<1.10", + "symfony/proxy-manager-bridge": ">=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", + "symfony/routing": ">=2,<2.0.19", + "symfony/security": ">=2,<2.7.51|>=2.8,<3.4.49|>=4,<4.4.24|>=5,<5.2.8", + "symfony/security-bundle": ">=2,<2.7.48|>=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11|>=5.3,<5.3.12", + "symfony/security-core": ">=2.4,<2.6.13|>=2.7,<2.7.9|>=2.7.30,<2.7.32|>=2.8,<3.4.49|>=4,<4.4.24|>=5,<5.2.9", + "symfony/security-csrf": ">=2.4,<2.7.48|>=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11", + "symfony/security-guard": ">=2.8,<3.4.48|>=4,<4.4.23|>=5,<5.2.8", + "symfony/security-http": ">=2.3,<2.3.41|>=2.4,<2.7.51|>=2.8,<3.4.48|>=4,<4.4.23|>=5,<5.2.8|>=5.3,<5.3.2", + "symfony/serializer": ">=2,<2.0.11|>=4.1,<4.4.35|>=5,<5.3.12", + "symfony/symfony": ">=2,<3.4.49|>=4,<4.4.35|>=5,<5.3.12|>=5.3.14,<=5.3.14|>=5.4.3,<=5.4.3|>=6.0.3,<=6.0.3", + "symfony/translation": ">=2,<2.0.17", + "symfony/validator": ">=2,<2.0.24|>=2.1,<2.1.12|>=2.2,<2.2.5|>=2.3,<2.3.3", + "symfony/var-exporter": ">=4.2,<4.2.12|>=4.3,<4.3.8", + "symfony/web-profiler-bundle": ">=2,<2.3.19|>=2.4,<2.4.9|>=2.5,<2.5.4", + "symfony/yaml": ">=2,<2.0.22|>=2.1,<2.1.7", + "t3/dce": ">=2.2,<2.6.2", + "t3g/svg-sanitizer": "<1.0.3", + "tecnickcom/tcpdf": "<6.2.22", + "terminal42/contao-tablelookupwizard": "<3.3.5", + "thelia/backoffice-default-template": ">=2.1,<2.1.2", + "thelia/thelia": ">=2.1-beta.1,<2.1.3", + "theonedemon/phpwhois": "<=4.2.5", + "tinymce/tinymce": "<5.10", + "titon/framework": ">=0,<9.9.99", + "topthink/framework": "<6.0.9", + "topthink/think": "<=6.0.9", + "topthink/thinkphp": "<=3.2.3", + "tribalsystems/zenario": "<8.8.53370", + "truckersmp/phpwhois": "<=4.3.1", + "twig/twig": "<1.38|>=2,<2.14.11|>=3,<3.3.8", + "typo3/cms": ">=6.2,<6.2.30|>=7,<7.6.32|>=8,<8.7.38|>=9,<9.5.29|>=10,<10.4.19|>=11,<11.5", + "typo3/cms-backend": ">=7,<=7.6.50|>=8,<=8.7.39|>=9,<=9.5.24|>=10,<=10.4.13|>=11,<=11.1", + "typo3/cms-core": ">=6.2,<=6.2.56|>=7,<=7.6.52|>=8,<=8.7.41|>=9,<9.5.29|>=10,<10.4.19|>=11,<11.5", + "typo3/cms-form": ">=8,<=8.7.39|>=9,<=9.5.24|>=10,<=10.4.13|>=11,<=11.1", + "typo3/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.12|>=3.1,<3.1.10|>=3.2,<3.2.13|>=3.3,<3.3.13|>=4,<4.0.6", + "typo3/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4|>=2.3,<2.3.99|>=3,<3.0.20|>=3.1,<3.1.18|>=3.2,<3.2.14|>=3.3,<3.3.23|>=4,<4.0.17|>=4.1,<4.1.16|>=4.2,<4.2.12|>=4.3,<4.3.3", + "typo3/phar-stream-wrapper": ">=1,<2.1.1|>=3,<3.1.1", + "typo3/swiftmailer": ">=4.1,<4.1.99|>=5.4,<5.4.5", + "typo3fluid/fluid": ">=2,<2.0.8|>=2.1,<2.1.7|>=2.2,<2.2.4|>=2.3,<2.3.7|>=2.4,<2.4.4|>=2.5,<2.5.11|>=2.6,<2.6.10", + "ua-parser/uap-php": "<3.8", + "unisharp/laravel-filemanager": "<=2.3", + "userfrosting/userfrosting": ">=0.3.1,<4.6.3", + "usmanhalalit/pixie": "<1.0.3|>=2,<2.0.2", + "vanilla/safecurl": "<0.9.2", + "verot/class.upload.php": "<=1.0.3|>=2,<=2.0.4", + "vrana/adminer": "<4.7.9", + "wallabag/tcpdf": "<6.2.22", + "wanglelecc/laracms": "<=1.0.3", + "web-auth/webauthn-framework": ">=3.3,<3.3.4", + "webcoast/deferred-image-processing": "<1.0.2", + "wikimedia/parsoid": "<0.12.2", + "willdurand/js-translation-bundle": "<2.1.1", + "wp-cli/wp-cli": "<2.5", + "yetiforce/yetiforce-crm": "<=6.3", + "yidashi/yii2cmf": "<=2", + "yii2mod/yii2-cms": "<1.9.2", + "yiisoft/yii": ">=1.1.14,<1.1.15", + "yiisoft/yii2": "<2.0.38", + "yiisoft/yii2-bootstrap": "<2.0.4", + "yiisoft/yii2-dev": "<2.0.43", + "yiisoft/yii2-elasticsearch": "<2.0.5", + "yiisoft/yii2-gii": "<2.0.4", + "yiisoft/yii2-jui": "<2.0.4", + "yiisoft/yii2-redis": "<2.0.8", + "yoast-seo-for-typo3/yoast_seo": "<7.2.3", + "yourls/yourls": "<=1.8.2", + "zendesk/zendesk_api_client_php": "<2.2.11", + "zendframework/zend-cache": ">=2.4,<2.4.8|>=2.5,<2.5.3", + "zendframework/zend-captcha": ">=2,<2.4.9|>=2.5,<2.5.2", + "zendframework/zend-crypt": ">=2,<2.4.9|>=2.5,<2.5.2", + "zendframework/zend-db": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.10|>=2.3,<2.3.5", + "zendframework/zend-developer-tools": ">=1.2.2,<1.2.3", + "zendframework/zend-diactoros": ">=1,<1.8.4", + "zendframework/zend-feed": ">=1,<2.10.3", + "zendframework/zend-form": ">=2,<2.2.7|>=2.3,<2.3.1", + "zendframework/zend-http": ">=1,<2.8.1", + "zendframework/zend-json": ">=2.1,<2.1.6|>=2.2,<2.2.6", + "zendframework/zend-ldap": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.8|>=2.3,<2.3.3", + "zendframework/zend-mail": ">=2,<2.4.11|>=2.5,<2.7.2", + "zendframework/zend-navigation": ">=2,<2.2.7|>=2.3,<2.3.1", + "zendframework/zend-session": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.9|>=2.3,<2.3.4", + "zendframework/zend-validator": ">=2.3,<2.3.6", + "zendframework/zend-view": ">=2,<2.2.7|>=2.3,<2.3.1", + "zendframework/zend-xmlrpc": ">=2.1,<2.1.6|>=2.2,<2.2.6", + "zendframework/zendframework": "<=3", + "zendframework/zendframework1": "<1.12.20", + "zendframework/zendopenid": ">=2,<2.0.2", + "zendframework/zendxml": ">=1,<1.0.1", + "zetacomponents/mail": "<1.8.2", + "zf-commons/zfc-user": "<1.2.2", + "zfcampus/zf-apigility-doctrine": ">=1,<1.0.3", + "zfr/zfr-oauth2-server-module": "<0.1.2", + "zoujingli/thinkadmin": "<6.0.22" + }, + "type": "metapackage", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "role": "maintainer" + }, + { + "name": "Ilya Tribusean", + "email": "slash3b@gmail.com", + "role": "maintainer" + } + ], + "description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it", + "support": { + "issues": "https://github.com/Roave/SecurityAdvisories/issues", + "source": "https://github.com/Roave/SecurityAdvisories/tree/latest" + }, + "funding": [ + { + "url": "https://github.com/Ocramius", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/roave/security-advisories", + "type": "tidelift" + } + ], + "time": "2022-02-23T11:04:10+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": { + "roave/security-advisories": 20 + }, + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": ">=7.0", + "ext-json": "*", + "ext-xml": "*" + }, + "platform-dev": [], + "plugin-api-version": "2.1.0" +} -- 2.39.5