From fdfcfbd2a64006e5c90747efe15fcc207b861134 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Tessier?= Date: Wed, 11 Apr 2018 17:57:57 +0200 Subject: [PATCH] first commit --- .gitignore | 3 + .htaccess | 75 + CHANGELOG.md | 1917 ++ CODE_OF_CONDUCT.md | 46 + CONTRIBUTING.md | 137 + LICENSE.txt | 21 + README.md | 189 + assets/.gitkeep | 0 backup/.gitkeep | 0 bin/composer.phar | Bin 0 -> 1815925 bytes bin/gpm | 73 + bin/grav | 45 + bin/plugin | 137 + cache/.gitkeep | 0 .../master-dev.static-ethica.net.php | 4090 +++ .../config/master-dev.static-ethica.net.php | 977 + .../003c09ca9196d5ce54fa85ef82873653.yaml.php | 70 + .../00702565af2823609c3fb74ba1e2b075.yaml.php | 341 + .../016d05303b7ccdfb0f74c68297e892c7.yaml.php | 45 + .../01771f4b914de27ded70569422ee1fa6.yaml.php | 56 + .../020c23150f026436f86f4733fed931d8.yaml.php | 100 + .../025fb46bc9e2ddf8a694f3149f1c1ffe.yaml.php | 155 + .../03c2f6a8de05b653385e0f7a6911ed8c.yaml.php | 16 + .../040b99bca38148c658d7d0a16ee2a135.yaml.php | 59 + .../05fc4e4504f8d902f8f60f4985007852.yaml.php | 11 + .../062249916a5cedbb1957c8c4556718f0.yaml.php | 22 + .../08d196675c3fa3f9b1afa9faf9a76fb7.yaml.php | 16 + .../0a255ab0f85b61063e1491070e1a33de.yaml.php | 425 + .../0b2892d97d16b0943ef51d809002ac5e.yaml.php | 179 + .../0b4749abd38fcdb6b72ea5f5c7044c50.yaml.php | 115 + .../0c9d9b9fd9a1b850d7cfc5f5ec7d5432.yaml.php | 12 + .../0d7899e4a37503e41e8265b7e260aa1a.yaml.php | 13 + .../0d9d16b8cdc536c6074d448e30104953.yaml.php | 179 + .../0dd1f9914abffc486a120cad34d359a7.yaml.php | 11 + .../0f2a7a81155c939e99a6a07e5e5bd52f.yaml.php | 64 + .../0fe03556681731ce606b1c3449055a0e.yaml.php | 383 + .../134c34317c324ba9efcc6002c5bcc574.yaml.php | 68 + .../15ffef0a5a24e122f199855033b6b627.yaml.php | 641 + .../18378bab0d5cc99b10506eb362fcc718.yaml.php | 116 + .../18503131921c5a97d34235cf304dc734.yaml.php | 92 + .../195439f17fbee20a2684dc7d4fcc41bb.yaml.php | 18 + .../1c12d2a3969361ee209fefe510844ab9.yaml.php | 354 + .../1c87618e4f16b42b4735ba4d7ddcab4b.yaml.php | 74 + .../1d23f4be09249fdace3d4706211cdb98.yaml.php | 682 + .../1f331742f4270dc0dee543655951ab91.yaml.php | 115 + .../2212a4830ea221ebef8c0d511791ef33.yaml.php | 73 + .../2260deaf3ae01ca9adbbeaf48d659cc8.yaml.php | 30 + .../226659b03c5b576b13848d0e08cd50a1.yaml.php | 52 + .../226edd2915754fd30f2829a487767482.yaml.php | 208 + .../23650d9669790f0a0cb3e42fb2f4a264.yaml.php | 696 + .../23880dd72e80a52cb629289a966cad71.yaml.php | 124 + .../2481459187863f6ff5d7485b0da23db4.yaml.php | 81 + .../24b9edad4901d92ea1d407b75b59e182.yaml.php | 30 + .../251d0fd1c1246db83ef14f71cefa01ab.yaml.php | 44 + .../25e4053f7dd6b0d25a54e325de9b5f34.yaml.php | 144 + .../263d77756815ded34cb5b18140fa0f91.yaml.php | 92 + .../2688be467e60248f4cd18f627ec70d1f.yaml.php | 98 + .../27fe11448d270901fe9cdc2cc71146d7.yaml.php | 270 + .../289f3485133eb18d24dc2f2a48ed6c3b.yaml.php | 684 + .../290dc417894b8e7ec721ec52891a0266.yaml.php | 53 + .../29232a6cfc708dc37dbe416ff6f7552e.yaml.php | 176 + .../2dbe85ff420d9535c76c92428e3cfb7f.yaml.php | 702 + .../2e6bd713e2470e933bb992aa0bba2a95.yaml.php | 683 + .../2e86a726090a861e911cb9f57837d486.yaml.php | 13 + .../2f3978fcf4f4823214b8ccfa4a39872a.yaml.php | 11 + .../302615a825af2eb0676e067ebbe70616.yaml.php | 45 + .../31f43ffdcba58d09eb2be9ff6a9d194d.yaml.php | 104 + .../32b5aff1b30bd329255cfa25fd7633a1.yaml.php | 272 + .../36556c62dc2808c529f6cf95ac0e722e.yaml.php | 272 + .../37168984e7bb294e9f4aaad9c845353d.yaml.php | 154 + .../375a4b738c9dbcf643eac3af877dd7f5.yaml.php | 190 + .../3765156ab713c60aa13b0c9fbbe09a91.yaml.php | 63 + .../37af4eee10da5230798e96ed754db15d.yaml.php | 508 + .../393625c8b52685105839c6242a847459.yaml.php | 425 + .../3acc72559887374b8f3e97bed822bea7.yaml.php | 682 + .../3b294b971446fa45a07f7d53fc2a6d8e.yaml.php | 98 + .../3b748763844bb1aa0a2d8399cbf8618a.yaml.php | 107 + .../3bc5117bb9fdcfec694bde54e4ef3069.yaml.php | 50 + .../3c97b9daa2775caa57fce4dd2d44793c.yaml.php | 40 + .../3dfbe7938a3290ecb4df0b70520598a8.yaml.php | 396 + .../3e8a92a930a440750fa71aaddbdfc2c2.yaml.php | 16 + .../3fc8ce5da94a3703e9ad3c7db6cd931e.yaml.php | 629 + .../3fd4110d5dbb90a39cb9f1110ae34ed8.yaml.php | 702 + .../400edd3a4d4fc71bdab1e9ab0eab9406.yaml.php | 52 + .../41208fd393ea6060099dae13f89d3142.yaml.php | 28 + .../4121d983339551c29509b365f0fb8f47.yaml.php | 14 + .../41ee9492733f693223681a6117985bb0.yaml.php | 154 + .../42d447881b41b69a467a02c3f98eacaf.yaml.php | 38 + .../445d4c0048bc36e108d9ba4fa6c18334.yaml.php | 216 + .../4461e4af822b6589b7e3d6dd699d98bf.yaml.php | 521 + .../449e7b708958e9b73e7f5c5ebe92fe5e.yaml.php | 64 + .../44af4ba961f46d871705a9fa6c4c8daa.yaml.php | 8319 ++++++ .../467008ada6506c4cb82f86aa33c6c5f9.yaml.php | 702 + .../468169a87721a5d8cfd29d49c03965aa.yaml.php | 74 + .../475a1d33d0d34c6d3b9fc00d6dbbd685.yaml.php | 62 + .../47e7a9af9e4e50592b05c191b6ec0d0e.yaml.php | 696 + .../48cc0d400c19630df510c8a8ff180ab9.yaml.php | 95 + .../49af3fa5e7d7f70fec162d76c9a58d1c.yaml.php | 10 + .../4bc55560212229d6115bb0da67a57c44.yaml.php | 10 + .../4c27d7d20212b58631c40a77777236ba.yaml.php | 71 + .../4c2c53d2b074d5b90cccbd31e5fe8b22.yaml.php | 176 + .../4c65af5cbb410a9e5b08ecd2d4afa960.yaml.php | 371 + .../4dacec617d80789259b51abba7425d1c.yaml.php | 100 + .../4e8783bcff38e440670cfae4e1fc4cf2.yaml.php | 76 + .../50b705684a3520f1d88a241f04a33203.yaml.php | 45 + .../53d97d6a8fd86a525c6692b74e2ef870.yaml.php | 657 + .../53fc171b308742d2523d51213e2b36aa.yaml.php | 473 + .../5419f1192fa49c073a562818f7ebaacd.yaml.php | 63 + .../566ddf298a34d5ed0223b7b9b52c4d42.yaml.php | 88 + .../572d7eb0347b2766bdb20311c89e1fef.yaml.php | 585 + .../57dc65fdb5d760502813293393268146.yaml.php | 93 + .../58d7033b999ddb1ec7b2f309f7aa9117.yaml.php | 684 + .../5ba9bdb797d4b431f6ed2d282e71fe07.yaml.php | 9 + .../5d5fdfec6a21e126b2d39f0cefec3041.yaml.php | 104 + .../5dc4526b3d92f8ba4019a6124dc5dd0f.yaml.php | 31 + .../5e358f322a169edabc1cdc37822b5c7a.yaml.php | 10 + .../5e43598ea9fe2d116569b4c46ebb132a.yaml.php | 473 + .../5fbc650176b520a9027df0e7cfcbd7b7.yaml.php | 673 + .../5ffdf1729726f225d8c01f72676d8961.yaml.php | 98 + .../60132f4de5378d8638f22d63c7445a90.yaml.php | 508 + .../60b1a9ca3d0b84f4a1c3b4bd93362e46.yaml.php | 11 + .../61069ee724518b70af55b32fd87cb9c0.yaml.php | 104 + .../617a5f3c819631ff684728538b3fa9d7.yaml.php | 9 + .../6182bfcb1dfe4c6b5fae3783f1025b8a.yaml.php | 76 + .../6234c401bbaf722c49f07769ea4e13bc.yaml.php | 702 + .../6367fad409a3374f6e234e757ef88e0f.yaml.php | 190 + .../65d0bbd5e456d35e9fd7f21a99e3ebf2.yaml.php | 28 + .../65d9359a9236e64865caf1e5d0f5224f.yaml.php | 154 + .../68b290ecab4a6d49bd2ba592cf9953f4.yaml.php | 300 + .../68d9899361ef18c42c23d2c9c70eac98.yaml.php | 12 + .../6e4fc29ca31b40d7c70176ce3c14dd9f.yaml.php | 179 + .../6e8673e70cb78eac0e0bb028756fd9d9.yaml.php | 354 + .../6f3f50e92f67a84c58a943cf5ec5c675.yaml.php | 73 + .../70358928b65e899da54711f26439f828.yaml.php | 702 + .../705a07d0ab0210f6cb3363c19ad582dd.yaml.php | 30 + .../71252a10432376ec93a486f0056c915c.yaml.php | 383 + .../71b7bb2c4e022e7df61409aa2ef399be.yaml.php | 18 + .../71fe740bcb5616feb93d32aa707184e2.yaml.php | 657 + .../723a641074a35f69efb08ef5c87d257d.yaml.php | 88 + .../7271c7186f583bf75aadc53e17cd5d16.yaml.php | 79 + .../73342af5e46456395f8bb0b8f21e8476.yaml.php | 696 + .../75f210686c2fabd575a6b18a28362348.yaml.php | 480 + .../7618a4a10a891d8679d55257da4ef2a9.yaml.php | 144 + .../7774d7e4709ccbcb1388ec0fedac9116.yaml.php | 31 + .../778e6b157f8dd731b6ac27c13442fbbe.yaml.php | 86 + .../7862fe29f5cc76c41e752e4a71f096da.yaml.php | 40 + .../7afd1eb433049e6b80e2e9805fea1d76.yaml.php | 18 + .../7bbf2c745263883e7031816236543d22.yaml.php | 86 + .../7e02cb98b0826f40c301cf136d939ee1.yaml.php | 275 + .../7e3242e880be54a2815d3b0d33434928.yaml.php | 9 + .../7f1119ce4da7b89ad69bf610055bb062.yaml.php | 704 + .../7f586164df47e50506957ddfa273158b.yaml.php | 702 + .../7f608e677637420824e127f6ef3d9f83.yaml.php | 86 + .../802d699858a4034e595231230ffea6e1.yaml.php | 702 + .../81999c6175dd6ecd47228af852ace709.yaml.php | 71 + .../83adeab8b23a4f1e64e6929fe8fdf4bf.yaml.php | 86 + .../83ef2dcf9fc72c2be7b9c5bfd19b6e7c.yaml.php | 16 + .../851172399ae4a00213d2adb5e407746b.yaml.php | 60 + .../851654a757ee08417a64fff2742281b7.yaml.php | 32 + .../857dba1105f374f4e62dff812cc6348f.yaml.php | 673 + .../85caa355f048dfa59ea11383707ab1fd.yaml.php | 8319 ++++++ .../872e82b35823c5b31f5245fa4a352308.yaml.php | 124 + .../8a397302df97d59abe914c5b3cb6a6e3.yaml.php | 86 + .../8a52e0a187c5af74e7d1d2c7e23971e9.yaml.php | 11 + .../8aa6d9812ac8557ce58d1d4082bd1409.yaml.php | 371 + .../8beeba812c9be6f53d6b35f7c4894c7e.yaml.php | 86 + .../8c8b61a60d44632cb20a6093d145b14a.yaml.php | 82 + .../8dc3c3ad9328fcd19de77d25eb535518.yaml.php | 16 + .../8dd7e17ca38aad6d70c8c7ac42bc355f.yaml.php | 154 + .../8f9389d2219c01a0efe4f7d3ba4b6a4b.yaml.php | 81 + .../92599ff5fe55f69364f7e1550db118b2.yaml.php | 79 + .../93391f0b926accb178f71b29bb45e41c.yaml.php | 59 + .../9465f213cfb9f5b4d3d8e9c0470c719a.yaml.php | 702 + .../94efecd1ef906619533a45ee56a511b9.yaml.php | 275 + .../95572f2d4b5e67059cf3a91f9a4b634d.yaml.php | 11 + .../95a11364350b5b6611566135f1553a3d.yaml.php | 10 + .../9617e44b38e79e976760cfd298108682.yaml.php | 31 + .../961cb60a5733501a683612c429432a4a.yaml.php | 702 + .../97668c1b2975c0dd593d061a4651b1fc.yaml.php | 86 + .../98ee0a708b4c2aa5a434428385167da5.yaml.php | 300 + .../997f1e24c2844be60c207ed4d6ce3f8d.yaml.php | 117 + .../99bb0c755669a3eddbc8fa08d3724878.yaml.php | 28 + .../99f5cf9083d2f74baa41e08a3bab3316.yaml.php | 98 + .../9a4893149f2a7d434867f76c420416cc.yaml.php | 116 + .../9a8f5e48a60b012fce3086c58c7a6987.yaml.php | 190 + .../9b58e84fcbc4e8b31f583a7223f75cee.yaml.php | 29 + .../9c27f9fbcebd92e5c91546ba76b32cd2.yaml.php | 521 + .../9f05564acc082e26fc7eb715276d3e46.yaml.php | 396 + .../9faca57ddf1bbc25e0ded0c18af0053e.yaml.php | 30 + .../a1ffba6ccfa71c95bf4964de75fc29a3.yaml.php | 86 + .../a71a8b8c7b60bc42f2601e88f772d253.yaml.php | 40 + .../a7f2f65d73f076f2723f5e8606d86691.yaml.php | 270 + .../a93d8c1bea61b0a30f8dfb1fa5ab79e3.yaml.php | 1394 + .../a9a47bd10cb73cad2d7646d3097343bb.yaml.php | 12 + .../aaa74a8bfd64011d5811aa1fb474595d.yaml.php | 82 + .../ac70f83f7e69d49e4ddb1b10e4af6690.yaml.php | 107 + .../add8eab579afa5b03d8afa3db5fdd3c7.yaml.php | 52 + .../ae9a59f2e0a21e2d2a5ad528409a2d7b.yaml.php | 138 + .../b4808a64204c9c569c951f7d46cc7dd6.yaml.php | 126 + .../b4b481c47d243a40e16c3180d21a3739.yaml.php | 11 + .../b4e913fd12dbc991b3f27f94ff90191b.yaml.php | 11 + .../b63f506f884fb1031a155db9a9c2bab9.yaml.php | 59 + .../b84f2b5ad1d0bc0304acbddb2a5b98f3.yaml.php | 186 + .../b8bb48bef976b20b3051ba600e166b23.yaml.php | 86 + .../b92a08417b0ccf1eaa7d317bbdfe5d1d.yaml.php | 86 + .../b9deb92197521d171749c864fc8b5689.yaml.php | 373 + .../bb3f01a7e545b0c55423ca7d4d914284.yaml.php | 138 + .../bb9f52652c6f09ce70e10de3916f5cd0.yaml.php | 341 + .../bbe4e8e0ae529bde4c08299f8d18f0c5.yaml.php | 28 + .../bc513cbe72e7d040212d4ee74b5c0852.yaml.php | 28 + .../bcf89b26323cbc904f2054c87de427ec.yaml.php | 186 + .../be563f49cca98e129226fb3abb416d1e.yaml.php | 104 + .../be78fc0d64e4d3d807045922e29f8156.yaml.php | 702 + .../bedd6db04ef5e3e7e460da14152b6824.yaml.php | 53 + .../bf45b0c97981a7c1e125c1f7610b7d7a.yaml.php | 12 + .../c02acea42f10fe0ab029395ab0386d3a.yaml.php | 702 + .../c0cfc44a30c7d418e4994f8187956e79.yaml.php | 73 + .../c14a3b8b02a6556584295c297a887fd2.yaml.php | 651 + .../c38cdfd12048e6ef2e2bf76818984cae.yaml.php | 155 + .../c39bfac71bb05c7855b77a49d5e7744d.yaml.php | 44 + .../c4787e5810851bba07644f5097a3f01b.yaml.php | 32 + .../c526ee89eabcbc31853d8fbd3e316ffc.yaml.php | 702 + .../c80ee046d048bff26502426096c28e1f.yaml.php | 70 + .../c8cecaa4c3fa2b5bd2c7d294d36c4661.yaml.php | 95 + .../c94ffb4b8184ebbd3a60bb4442ea6ebd.yaml.php | 651 + .../cad065429bfafef1e2376181ff49e3db.yaml.php | 436 + .../cb5a253b12bc78501962e1f2584eccca.yaml.php | 176 + .../cb5ecc61997c50dd72b9530db4efbc38.yaml.php | 95 + .../cc252c076744d99f7e9d1539d6288b76.yaml.php | 103 + .../cd75c7039645a9941aa28ff5aaac7d2c.yaml.php | 86 + .../cf0928fb63b3ddd69eb44d8fa5ab0277.yaml.php | 22 + .../d0e3ebf76e4a5dbf9d58bd772f6b1604.yaml.php | 629 + .../d0f18c01a01941aee2561f24d9a790b8.yaml.php | 1394 + .../d13667ce0112cc615fcff392068b1a99.yaml.php | 73 + .../d1740def41980ac2e2227dad2dc6217d.yaml.php | 60 + .../d178b4a1aec83b3273cdd4994a6d0cf9.yaml.php | 577 + .../d4b728132f48eeacd4e01bc380192d66.yaml.php | 700 + .../d4c0ff23d7de80aef36d9832e301e65c.yaml.php | 9 + .../d53d1dfc6e78da620a341c9c5dd96759.yaml.php | 11 + .../d5aa9b41768d7b74a0b3e7cf16951edb.yaml.php | 50 + .../d66991781f1598c8416144f6705a9892.yaml.php | 585 + .../d6ba079153cdd55ab436e9074ce01c03.yaml.php | 117 + .../d7ee1ce3341f0ec3ed13c8fdd147870e.yaml.php | 68 + .../d89c65a8e8bc377392cb04d47a01fb03.yaml.php | 16 + .../d99d30c119bb05a1571dc0a9f5593cdf.yaml.php | 373 + .../d9a0a87ed4b0a5f61de42eba552fe480.yaml.php | 56 + .../da10cc9ab7f09bf9f0053f7349cd62a8.yaml.php | 62 + .../da62e17bc66c87bb1258bcdc215589f0.yaml.php | 40 + .../daba033ea62ac7017cc6093a831fe05a.yaml.php | 86 + .../dc268ee6494de895299689ddea59669a.yaml.php | 9 + .../dd77866078dbd4bbf4a431d539b21609.yaml.php | 86 + .../ddefee8cd984cc59b63aec387a71de37.yaml.php | 179 + .../de3f2854d119de83274ce1f90180ee38.yaml.php | 22 + .../debaacf71b0d4d39c6ec8c80cb86c629.yaml.php | 52 + .../e136ec36ce4abaf78d1a7599e50768ab.yaml.php | 702 + .../e222ba9787672587d4b5769f125a89dd.yaml.php | 683 + .../e315f40bbd7d3d7b69b9361620ad705e.yaml.php | 216 + .../e609d44eb9f885a403d27e764e97993a.yaml.php | 18 + .../e76c2ea6a0266332e4f43dfd0ec884f4.yaml.php | 706 + .../eaaf63cff7c26293e26395e2a54fadaf.yaml.php | 12 + .../eba4791b8b146d04a3c52603b0bde471.yaml.php | 480 + .../ed30373bea7233aac00bd94e8338df76.yaml.php | 93 + .../ef531b40bb341f593204aee8c8598afa.yaml.php | 64 + .../ef964fa7856edbdd10e4fae422dea6fe.yaml.php | 700 + .../efd3d5f646decdb93f5b8c947ab545d0.yaml.php | 436 + .../f02b5fc39e19c6a4cecc6ccff6ea6398.yaml.php | 103 + .../f11a91fa13dbe8e8047bbd1261d27355.yaml.php | 31 + .../f1d8f4ffe160dadc62eb58c2beb97d28.yaml.php | 190 + .../f1e28ef1922290a1082c9306d7195685.yaml.php | 95 + .../f1f00c945e8988357426cb9b980f9b2d.yaml.php | 641 + .../f2638c650c72fb310305fcf4f96f74b4.yaml.php | 10 + .../f5daf734e35f96089b97d985ed76c00a.yaml.php | 14 + .../f61d78ce56c40e7af1b455c9353ad85b.yaml.php | 86 + .../f7193f1946028f0fbe0b2d8220876f47.yaml.php | 29 + .../f71b4fd95320a68fd58ccccac160086d.yaml.php | 702 + .../f8bfcbd9eb3c7aee782d3c8f06c64d13.yaml.php | 208 + .../f8ec87cb6d5856346865d87bf1f43587.yaml.php | 706 + .../f9d634f4001ade0c7060f728151797a4.yaml.php | 45 + .../fac113475dc910d20983d7ac0202978a.yaml.php | 704 + .../fbf0e55f8d92350a5ef41324e758477c.yaml.php | 577 + .../fce2879cfd20275add0209dd577f9555.yaml.php | 16 + .../ffa5c7e791e527209bb098110b5c3932.yaml.php | 696 + .../master-dev.static-ethica.net.php | 22609 ++++++++++++++++ ...1653530386363395d5b315d.doctrinecache.data | 3 + ...7373734323836365d5b315d.doctrinecache.data | 3 + ...2326561346433385d5b315d.doctrinecache.data | 3 + cache/problem-check-g-bdf45030 | 0 ...0da7e268fde064d8262c738d660889c8aa6704.php | 71 + ...8fc53699d35a3a37b49dae7cbcd7c3ee52d700.php | 266 + ...5ba3ad27d5884c3b152201a9921e47a1a573be.php | 109 + ...949cd728a7e6fa513c6913a83ae0e94afea90d.php | 209 + ...9853b3b099d3478a7c095c0e3bc91d88f7ecc2.php | 49 + ...3d8eee9f3cc3d0bf72b44a1769678811205e38.php | 121 + ...df21d522ceaee0b82bc5424bc85fc5e63b79d7.php | 185 + ...6bb7b7281950c37dd86d7bfc29309432147627.php | 164 + ...1d741bee9581f4a7662c4d98c36e1bcb97bc83.php | 156 + ...1c707263e172795bd86c5d9aeedb08c2c3db98.php | 42 + ...9c642d0ec876390d460ab66bd8aca68306844d.php | 337 + ...a5d1cc23bb446792abf7269fa0fd2cf16f5e8e.php | 235 + ...5b9114de0179d7f3d238506b3c3cb9b27db17f.php | 55 + ...4d1726001728cb865d1750f0ce78e0c6fd39c7.php | 119 + ...d69fb5da6eac4588fcb17dac6ef668425ade46.php | 277 + ...29fe8c2254a0e5f5105146d6725657f0f53a9b.php | 89 + ...40abec9af39f70a826230f9d601e12216e3a63.php | 86 + ...18b55a97075d0f2e30662dfdb5c9eccafafc9c.php | 151 + ...3704d917a377f3327e783f3e0db6aa11b4e7fc.php | 165 + ...e239728a8c1dfa3f3a99f4a67dae3c389e4c5c.php | 92 + ...166dd92cb8d43e5be0aba0eb8ef4e2bdd9edab.php | 286 + ...c1c78ce1788b071932fc020257888c188d2bbe.php | 131 + ...d3dcab5c32d5d37edb27b2584ea8119f847c79.php | 50 + ...6aa0e900a3bb52eac7d59554bd22a582eac49a.php | 99 + ...8de63bef49bdad2bad0967770a2814fd06e149.php | 74 + ...d2ffb5355ff13b8e22ab7543592527527d54e2.php | 247 + ...e00ac50ee64aa52088073c7eb404c85bfce83f.php | 396 + ...cebd1b732df5de6cea09669fff6096f730ea88.php | 162 + ...31a3fe94b1fc728ae90a2cc7abb3067ef2114b.php | 360 + ...e1f966bad06bcd6e142f0fdd7e958983966cab.php | 166 + ...e1d2bb86c775443f1df2c79809c205ab6635ed.php | 83 + ...6b8821ea99e66a7b0bf01b43c526170a6e5a19.php | 512 + ...689341313601125c8862e7f07edd7d6f2c4d49.php | 77 + ...7f07daba7d039cd929b3fdb16ad94a8d9a713f.php | 137 + ...c95bc26b0e689e724d372c7490bf9b7be6caae.php | 53 + ...a848c16a2831e5a9d0ac1aed2ce44f886ee0e7.php | 263 + ...3a8c8d1569a70cc89fd44ff94debb91f0ff279.php | 54 + ...e62f624cc9510839295bfce8606a877f0e83a2.php | 87 + ...ef5bfed04c72e87641aea13b8a91bae4715858.php | 178 + ...a57fc8a2dae97b31aa96841531e2324baa735c.php | 61 + ...548a1b00db4ea04bcb128a6a5a947530291c76.php | 167 + ...4957db0f6bdb695d7633a6c9aa508503b2ecff.php | 132 + ...cfa3df3957dd315894fd4d76d7fe152216b3dc.php | 507 + ...7cd17631eeeeb935b913c995f482043c31c0af.php | 211 + ...e2801ebcc5ceb7190f1d999a2e7007da65b5c4.php | 128 + ...f2c4e36532e88e2189d5aed3dc55ea40fc61f2.php | 146 + ...d85dc7d7a8ea03b9c2473ceffe49bd98a749d0.php | 375 + ...5ec4773f604b47a66bc351394460ffec625d4a.php | 147 + ...f811ea6fc8e966735807b7f684cbfb1b42e76c.php | 364 + ...b524a5fe062ff7f7e734b4b98b6a5037390e62.php | 65 + ...a94dd2804f33e40520412dcd1cf01f340ed146.php | 270 + ...068b332dffe5edcdcc94aae7697bcb8d046b2a.php | 86 + ...38529a9ec030ca57790790173c0f0c5c8814c5.php | 193 + ...b171020d128f4e1a1acea76f6a386bb6d68cfd.php | 54 + ...7ff2d378f30cff13593f188eefa7bf5cfab52b.php | 277 + ...304553df3e8dea2db3430b8f424d2fef0804f3.php | 338 + ...13b3f8aa577a010cdff5b0a848ebee1c4fb777.php | 309 + ...5d4ef62ebd3763b0bf2ef2b32adba37b7510db.php | 223 + ...6909875d946cfb47c99afa4a10f4286bb69ce8.php | 54 + ...bd5bfb10d814b80fdf216567ca2fa5ccd9f90f.php | 356 + ...e74dc76562004ca3ba8cbf17675b9e15bb3c32.php | 89 + ...d5c917b4ec0aa1c5e1bd2b043791fd1ad330a1.php | 108 + ...1a280129befc59c135accab1661b56ee376e04.php | 496 + ...9d0b0cace27f8f2d4a521a703f5a68530b51dc.php | 147 + ...2f378aa015920bc09f1e816cf537ea4d8d1173.php | 216 + ...b07212b4f3dda9ac5dd2f02aa9fe3ff5a4a867.php | 149 + ...57c295a3ded88da8fb884d127da8003f42e7e4.php | 100 + ...87ac2dd6c0a881d21868ecc062b757db714249.php | 167 + ...c0808961d66cdf768f72887eebafed9b001e18.php | 171 + ...d5dec8656ef13e9b9c660e76a460829e79a7b9.php | 150 + ...8691e416318cf45eb59e62793eba12e4cccf00.php | 122 + ...b2155059144c780aa355f72f5915c89cf2f2de.php | 111 + ...e5a1a9b796c507d0aa1caeef0542163787fd12.php | 131 + ...fc81ed169a3b7d67555113b4ac3ac9351c8f75.php | 123 + ...40ff52d839d41c2d4fcd5f18390df015a92ece.php | 516 + ...83f2ff586e746cff671318483068ba76476085.php | 80 + ...647e59957d6c5c45a1e3b092d26b4775437031.php | 353 + ...01c61d46ea0cf8277373e8bc3f5a518315406a.php | 430 + ...c934034addda62f9fbf8c28b1a309a7e7cb349.php | 104 + ...e4d522873986cef82f12af0589efb1ed69d40b.php | 101 + ...a0d41030afc550f238cea774a510f840ea833d.php | 309 + ...66359ea8e95b09fdc42c3096e7daf3e253b4c8.php | 811 + ...f279876ed2a9bb5a0550f92dbb1441b2134074.php | 75 + ...623bfe07ea1ac0c971020e27be33916124f114.php | 171 + ...1f45188fec02a6ab1419fc50159bb44d88e469.php | 93 + ...4ef7bc6d23c7b4b250837b1fc67ad4ea09bcd7.php | 356 + ...740ef130aae36eb0e56a844ac649aedc09a776.php | 85 + ...2644bee39971ef14fc2417888368101fc8bfea.php | 1567 ++ ...4794de775422c501c926062b22055f4f06fea7.php | 366 + ...5e53120b3099207f72ec026047ab2f0c2bda9b.php | 283 + ...b48fa38aba2f51a955aa9065cc713c7c0b1e7c.php | 76 + ...c40988926e185cd6b9e6d071ebb0f180407d39.php | 146 + ...3d513899132edcd675cfd4ddb7fdd45329a6bd.php | 128 + ...29183a378d4d5f95bc0b5eef4a5d54b8a1a79a.php | 113 + ...68b235c585141acc962245fc06dd4cfafd30b4.php | 242 + ...c92f28726484aba26b23c90d383419feaf962c.php | 272 + composer.json | 68 + composer.lock | 3536 +++ images/.gitkeep | 0 ...30f67dd9180150be56cb6c53-spinozapp006.jpeg | Bin 0 -> 21971 bytes ...ee99c70fc6ea56d7db379-a2010connexions.jpeg | Bin 0 -> 59064 bytes ...b6-d2013marse12345alllinksethicamodif.jpeg | Bin 0 -> 29068 bytes ...2013marse12345alllinksethicamodif.jpeg.xmp | 50 + ...d4219f88596c71da239b3c327-e1p17-cor2a.jpeg | Bin 0 -> 19816 bytes ...216fd1f3ddc9746ac3bb0c5d1-01-logoscam.jpeg | Bin 0 -> 10382 bytes ...8a30644ac5566400bd136dd-notedessinehd.jpeg | Bin 0 -> 17067 bytes ...ee31fc057680c3aa810d229eb-11-logo2015.jpeg | Bin 0 -> 24664 bytes ...c7379d32b2a01d2db-alibertedepenser003.jpeg | Bin 0 -> 34817 bytes ...bf4ddb00253f86dcb56106866a1-spinoza10.jpeg | Bin 0 -> 14137 bytes ...992242e475b3ffcf3ca60b824b3fa8-nuit03.jpeg | Bin 0 -> 7748 bytes ...6eb65752eb3151937aa3165cea0c2-dalli01.jpeg | Bin 0 -> 30822 bytes ...0c19951c964f601e92e9bdeb9e2a62-e1def1.jpeg | Bin 0 -> 10655 bytes ...6d82384d91c1d048f0ddc838a-e1p17-cor2a.jpeg | Bin 0 -> 19816 bytes ...ce7e24c3569233a4d501c86abe48f1-f1e1d1.jpeg | Bin 0 -> 11961 bytes ...ed-d2013marse12345alllinksethicamodif.jpeg | Bin 0 -> 29068 bytes ...4f85d6987703b281dd6b86-00-matrice-logo.png | Bin 0 -> 50246 bytes ...896f6cc2636747703a2e241bcb8fde-e1d103.jpeg | Bin 0 -> 8130 bytes ...e4fd09ad1f052672be3bd98fbb1-spinoza08.jpeg | Bin 0 -> 31139 bytes ...b5cd2562b97e566-commentairephilosophe.jpeg | Bin 0 -> 19509 bytes ...2ad7a0bd88cceece08f6cb-10-tygryzemail.jpeg | Bin 0 -> 17186 bytes ...0a99d6197caf0774fa372c382b0-spinoza01.jpeg | Bin 0 -> 34934 bytes ...3663287c0ddb0fe99f-libertedepenser003.jpeg | Bin 0 -> 34515 bytes ...647fb792266429fe6f05c651ab680-mga4415.jpeg | Bin 0 -> 14815 bytes ...ce512e8cec4467b7a5e33b17b3f-spinoza05.jpeg | Bin 0 -> 28929 bytes ...2c10d510060d5e657e59ede4ac13d8-f1e1d1.jpeg | Bin 0 -> 11961 bytes ...2c1366196edb177ab0a3f95d4a3-spinoza06.jpeg | Bin 0 -> 28900 bytes ...ce16babf9bb93812a2092ff3127d-thumb-mp4.png | Bin 0 -> 6512 bytes ...f19f9ee9084516aa899325e5b300ab5-logoeu.png | Bin 0 -> 88634 bytes ...084acf186280b71f1f2193c8-spinozapp007.jpeg | Bin 0 -> 32256 bytes ...4764f6c40bfa596fa6e-2013trajectoire02.jpeg | Bin 0 -> 17387 bytes ...0894c3b86f609a1e9c052dc2a06-2011proj5.jpeg | Bin 0 -> 18737 bytes ...577450fd0f4912782520fcefddffc-mga4241.jpeg | Bin 0 -> 33159 bytes ...c62e21eded8c9dec0-e2015ethique01modif.jpeg | Bin 0 -> 4914 bytes ...38092d0b04c8e9a5a5fbc79966b-spinoza04.jpeg | Bin 0 -> 15574 bytes ...03f473b694210988cf7df4-00-matrice-logo.png | Bin 0 -> 50246 bytes ...f62fa783774438dbacc53948cdc-spinoza01.jpeg | Bin 0 -> 35157 bytes ...7f8356b425b99ccf7f3f34175a46-thumb-mp3.png | Bin 0 -> 9310 bytes ...8392a84b1251011dd928f8f101d-spinoza03.jpeg | Bin 0 -> 9049 bytes ...87d77dfb3cbef38a08-libertedepenser004.jpeg | Bin 0 -> 32281 bytes ...d146191c05cb74886517c777aec-spinoza04.jpeg | Bin 0 -> 15808 bytes ...bbdf26ef1fd5b2c5b330d9982-11-logo2015.jpeg | Bin 0 -> 24664 bytes ...6f112b7b5e56e6f7d37aae57-logoupjv-bleu.png | Bin 0 -> 42335 bytes ...9097160c028a145bdd-libertedepenser002.jpeg | Bin 0 -> 34927 bytes ...9e1cbdaccb0ac0338decebe7d-e1p17-cor2b.jpeg | Bin 0 -> 11100 bytes ...d5f5f36f7785a45ee8a05cc0-nuittrouble2.jpeg | Bin 0 -> 12573 bytes ...2a54385b8d515e607ac9e267de7-spinoza07.jpeg | Bin 0 -> 29144 bytes ...8050ce80c354151f969e50ccb7c-cordoba01.jpeg | Bin 0 -> 46616 bytes ...7098632af42598f9b5e2d8d-003pourphoto2.jpeg | Bin 0 -> 17731 bytes ...f44853f1cacfa529ed4d0d04b1e-hoteleden.jpeg | Bin 0 -> 6940 bytes ...e379adf-e2014cprpyfavepfontana01modif.jpeg | Bin 0 -> 20286 bytes ...b9740ee2d8ea9a9b1a1f67044d6b30-nuit03.jpeg | Bin 0 -> 7748 bytes ...68907a06a806f2ba6d001174539ead-e1d103.jpeg | Bin 0 -> 8130 bytes ...274ec64a53d05a18-ethique01-1detailweb.jpeg | Bin 0 -> 24364 bytes ...0a37a4d8f0a3-e2014cprpyfavepfontana01.jpeg | Bin 0 -> 20144 bytes ...563ea65845c1e050d08-2013trajectoire01.jpeg | Bin 0 -> 22149 bytes ...e8721886a4750c1ae2c5138e-spinozapp009.jpeg | Bin 0 -> 27635 bytes ...fe03910417fe8438db8a6537-affectslight.jpeg | Bin 0 -> 14199 bytes ...412ae6f16ac2bd3472fd7212379-spinoza08.jpeg | Bin 0 -> 30883 bytes ...d8a00b7ed883174-commentairephilosophe.jpeg | Bin 0 -> 19509 bytes ...559bc299ac45f6658688bad81cf69-dalli01.jpeg | Bin 0 -> 30822 bytes ...b5d90e40100db77e2c18b44b-spinozapp001.jpeg | Bin 0 -> 11232 bytes ...6034a6b6e0efa58725fa12fbf57477-e1def7.jpeg | Bin 0 -> 19211 bytes ...6baf3c8aee0a82d-bptitephysiquehdmodif.jpeg | Bin 0 -> 33856 bytes ...f5f93abe09df2691-a2010connexionsmodif.jpeg | Bin 0 -> 57395 bytes ...62cdcac0bbbd3558cc6-2013trajectoire01.jpeg | Bin 0 -> 22149 bytes ...f25763c55270-commentairephilosopheweb.jpeg | Bin 0 -> 18361 bytes ...a2e7d2fd9ba17c7a1e-libertedepenser001.jpeg | Bin 0 -> 33660 bytes ...773bba18b89c013e010dc001e06-2011proj6.jpeg | Bin 0 -> 21740 bytes ...8e257a15979de0ddd53619c54c2c-projhist.jpeg | Bin 0 -> 20700 bytes ...98ef780bfff1c4e935caf3ccaf2-spinoza07.jpeg | Bin 0 -> 29360 bytes ...11f38c6fd352e7c7b552d7d5-bcahiermodif.jpeg | Bin 0 -> 17585 bytes ...5b18bf1d95348e161fd51bb4-spinozapp008.jpeg | Bin 0 -> 17895 bytes ...3706002ae34bf87c949-2013trajectoire02.jpeg | Bin 0 -> 17387 bytes ...ca738339a40921d5a3a7ba274c0a7f-e1def1.jpeg | Bin 0 -> 10655 bytes ...6924ca4de133-commentairephilosopheweb.jpeg | Bin 0 -> 18361 bytes ...9c751db85393d576c85702cb-spinozapp005.jpeg | Bin 0 -> 26644 bytes ...4f332c4c1e1038448034aedf2bd-cordoba01.jpeg | Bin 0 -> 45681 bytes ...96984511c61ec581c8b6c4089f3-2011proj6.jpeg | Bin 0 -> 21740 bytes ...29493f9805daa859da9f66587-01-logoscam.jpeg | Bin 0 -> 10382 bytes ...03a698d47808c786cd0fe613c342-logo-hdf.jpeg | Bin 0 -> 14391 bytes ...fac4036cd97e3740009cf504125-spinoza12.jpeg | Bin 0 -> 31230 bytes ...b004c048f0819b86c31ad8d3b4ba641-logoeu.png | Bin 0 -> 88634 bytes ...daf815cea7869e05b6fb1c13df86-projhist.jpeg | Bin 0 -> 20700 bytes ...ac7169fab574b6a2762ff34400b-spinoza03.jpeg | Bin 0 -> 8705 bytes ...ecebbc68a99de4dde9e92b-10-tygryzemail.jpeg | Bin 0 -> 17186 bytes ...f9440744ac3b0568d31f54ab885-hoteleden.jpeg | Bin 0 -> 6940 bytes ...cc7e2e00a26249dfdb813153-affectslight.jpeg | Bin 0 -> 14199 bytes ...1aac3fd7f27b4be595af51a27-ethique01-1.jpeg | Bin 0 -> 6064 bytes ...12a028f89ba4ab07e79715d-003pourphoto2.jpeg | Bin 0 -> 17731 bytes ...25785a02c5a741371b15e724908-2011proj5.jpeg | Bin 0 -> 18737 bytes ...6e145ef1b543703f66a5c4fd2c03-thumb-pdf.png | Bin 0 -> 5776 bytes ...2799443816ed0600119be900d-e1p17-cor2b.jpeg | Bin 0 -> 11100 bytes ...94d44c5bb5837cd964c-04--logo-fmshblanc.png | Bin 0 -> 67199 bytes ...32c8d9dde16f4b14c2ad89c19b4486-e1def7.jpeg | Bin 0 -> 19211 bytes ...354930bfa9b7619fa116bfe3-nuittrouble2.jpeg | Bin 0 -> 12573 bytes ...2d32fb11f24a20da77ec2b6d4cf-spinoza06.jpeg | Bin 0 -> 28707 bytes ...34832e713953e0b8ef2ddd36990-spinoza12.jpeg | Bin 0 -> 30972 bytes ...58568c336eb36f3fa366a4a331a1e-dalli03.jpeg | Bin 0 -> 18738 bytes ...89352f5edd5bd64f5506de709d6f01-e1p17a.jpeg | Bin 0 -> 12044 bytes ...4b579f8585fd512fc85-04--logo-fmshblanc.png | Bin 0 -> 67199 bytes ...05fe8ed619ba4c50e0881d39-spinozapp002.jpeg | Bin 0 -> 12786 bytes ...d4f801277a38886176aa9-ptitephysique4b.jpeg | Bin 0 -> 33243 bytes ...565703a08d74792a0cbce60da381-thumb-pdf.png | Bin 0 -> 5776 bytes ...322e5018885429fba2ede4a36d53-logo-hdf.jpeg | Bin 0 -> 14391 bytes ...1d9f9f5e6827b55d4b2cd0bd4d1-spinoza10.jpeg | Bin 0 -> 14423 bytes ...b3752a131c6df6002e0aa9c-notedessinehd.jpeg | Bin 0 -> 17067 bytes ...b1d260281b0440173ebce193173-spinoza05.jpeg | Bin 0 -> 29111 bytes ...b1cb9c4bdd968d5c547d0971-spinozapp003.jpeg | Bin 0 -> 11583 bytes ...4e8aedebf83070ea582256b4-logoupjv-bleu.png | Bin 0 -> 42335 bytes ...d2b9aa3262e08872c530cc2fc1cc39-e1p17a.jpeg | Bin 0 -> 12044 bytes ...cb43318a1be2b9b290cde372-spinozapp004.jpeg | Bin 0 -> 70411 bytes index.php | 56 + logs/.gitkeep | 0 logs/popularity/daily.json | 1 + logs/popularity/monthly.json | 1 + logs/popularity/totals.json | 1 + logs/popularity/visitors.json | 1 + robots.txt | 11 + system/assets/debugger.css | 54 + system/assets/grav.png | Bin 0 -> 548 bytes system/assets/jquery/jquery-2.1.4.min.js | 4 + system/assets/jquery/jquery-2.x.min.js | 4 + system/assets/jquery/jquery-3.x.min.js | 4 + system/assets/responsive-overlays/1x.png | Bin 0 -> 3238 bytes system/assets/responsive-overlays/2x.png | Bin 0 -> 7593 bytes system/assets/responsive-overlays/3x.png | Bin 0 -> 13002 bytes system/assets/responsive-overlays/4x.png | Bin 0 -> 15545 bytes system/assets/responsive-overlays/unknown.png | Bin 0 -> 5241 bytes system/assets/whoops.css | 19 + system/blueprints/config/media.yaml | 5 + system/blueprints/config/site.yaml | 124 + system/blueprints/config/streams.yaml | 8 + system/blueprints/config/system.yaml | 1206 + system/blueprints/pages/default.yaml | 341 + system/blueprints/pages/external.yaml | 52 + system/blueprints/pages/modular.yaml | 47 + system/blueprints/user/account.yaml | 123 + system/blueprints/user/account_new.yaml | 16 + system/blueprints/user/group.yaml | 37 + system/blueprints/user/group_new.yaml | 16 + system/config/media.yaml | 210 + system/config/site.yaml | 35 + system/config/streams.yaml | 16 + system/config/system.yaml | 147 + system/defines.php | 53 + system/images/media/thumb-3dm.png | Bin 0 -> 3013 bytes system/images/media/thumb-3ds.png | Bin 0 -> 3116 bytes system/images/media/thumb-3g2.png | Bin 0 -> 3006 bytes system/images/media/thumb-3gp.png | Bin 0 -> 2853 bytes system/images/media/thumb-7z.png | Bin 0 -> 1648 bytes system/images/media/thumb-aac.png | Bin 0 -> 3218 bytes system/images/media/thumb-ai.png | Bin 0 -> 1595 bytes system/images/media/thumb-aif.png | Bin 0 -> 1691 bytes system/images/media/thumb-apk.png | Bin 0 -> 2557 bytes system/images/media/thumb-app.png | Bin 0 -> 2360 bytes system/images/media/thumb-asf.png | Bin 0 -> 2635 bytes system/images/media/thumb-asp.png | Bin 0 -> 2913 bytes system/images/media/thumb-aspx.png | Bin 0 -> 3726 bytes system/images/media/thumb-asx.png | Bin 0 -> 3287 bytes system/images/media/thumb-avi.png | Bin 0 -> 2448 bytes system/images/media/thumb-bak.png | Bin 0 -> 2814 bytes system/images/media/thumb-bat.png | Bin 0 -> 2182 bytes system/images/media/thumb-bin.png | Bin 0 -> 1841 bytes system/images/media/thumb-bmp.png | Bin 0 -> 2573 bytes system/images/media/thumb-cab.png | Bin 0 -> 3056 bytes system/images/media/thumb-cad.png | Bin 0 -> 3021 bytes system/images/media/thumb-cdr.png | Bin 0 -> 2713 bytes system/images/media/thumb-cer.png | Bin 0 -> 2367 bytes system/images/media/thumb-cfg.png | Bin 0 -> 2764 bytes system/images/media/thumb-cfm.png | Bin 0 -> 2589 bytes system/images/media/thumb-cgi.png | Bin 0 -> 2626 bytes system/images/media/thumb-com.png | Bin 0 -> 3292 bytes system/images/media/thumb-cpl.png | Bin 0 -> 2174 bytes system/images/media/thumb-cpp.png | Bin 0 -> 2425 bytes system/images/media/thumb-crx.png | Bin 0 -> 2965 bytes system/images/media/thumb-csr.png | Bin 0 -> 3158 bytes system/images/media/thumb-css.png | Bin 0 -> 3235 bytes system/images/media/thumb-csv.png | Bin 0 -> 3317 bytes system/images/media/thumb-cue.png | Bin 0 -> 2271 bytes system/images/media/thumb-cur.png | Bin 0 -> 2716 bytes system/images/media/thumb-dat.png | Bin 0 -> 2188 bytes system/images/media/thumb-db.png | Bin 0 -> 1964 bytes system/images/media/thumb-dbf.png | Bin 0 -> 1947 bytes system/images/media/thumb-dds.png | Bin 0 -> 2815 bytes system/images/media/thumb-dem.png | Bin 0 -> 2215 bytes system/images/media/thumb-dll.png | Bin 0 -> 1352 bytes system/images/media/thumb-dmg.png | Bin 0 -> 3064 bytes system/images/media/thumb-dmp.png | Bin 0 -> 2527 bytes system/images/media/thumb-doc.png | Bin 0 -> 3051 bytes system/images/media/thumb-docx.png | Bin 0 -> 3865 bytes system/images/media/thumb-drv.png | Bin 0 -> 2728 bytes system/images/media/thumb-dtd.png | Bin 0 -> 1949 bytes system/images/media/thumb-dwg.png | Bin 0 -> 3530 bytes system/images/media/thumb-dxf.png | Bin 0 -> 2392 bytes system/images/media/thumb-elf.png | Bin 0 -> 663 bytes system/images/media/thumb-eot.png | Bin 0 -> 2002 bytes system/images/media/thumb-eps.png | Bin 0 -> 2276 bytes system/images/media/thumb-exe.png | Bin 0 -> 1813 bytes system/images/media/thumb-fla.png | Bin 0 -> 1724 bytes system/images/media/thumb-flv.png | Bin 0 -> 1720 bytes system/images/media/thumb-fnt.png | Bin 0 -> 1254 bytes system/images/media/thumb-fon.png | Bin 0 -> 2402 bytes system/images/media/thumb-gam.png | Bin 0 -> 3203 bytes system/images/media/thumb-gbr.png | Bin 0 -> 2849 bytes system/images/media/thumb-ged.png | Bin 0 -> 2269 bytes system/images/media/thumb-gif.png | Bin 0 -> 1751 bytes system/images/media/thumb-gpx.png | Bin 0 -> 2972 bytes system/images/media/thumb-gz.png | Bin 0 -> 2134 bytes system/images/media/thumb-gzip.png | Bin 0 -> 2451 bytes system/images/media/thumb-hqz.png | Bin 0 -> 2604 bytes system/images/media/thumb-html.png | Bin 0 -> 1740 bytes system/images/media/thumb-icns.png | Bin 0 -> 3212 bytes system/images/media/thumb-ico.png | Bin 0 -> 2769 bytes system/images/media/thumb-ics.png | Bin 0 -> 2787 bytes system/images/media/thumb-iff.png | Bin 0 -> 601 bytes system/images/media/thumb-indd.png | Bin 0 -> 2475 bytes system/images/media/thumb-iso.png | Bin 0 -> 2864 bytes system/images/media/thumb-jar.png | Bin 0 -> 2583 bytes system/images/media/thumb-jpg.png | Bin 0 -> 2435 bytes system/images/media/thumb-js.png | Bin 0 -> 2046 bytes system/images/media/thumb-json.png | Bin 0 -> 7818 bytes system/images/media/thumb-jsp.png | Bin 0 -> 2498 bytes system/images/media/thumb-key.png | Bin 0 -> 2130 bytes system/images/media/thumb-kml.png | Bin 0 -> 2346 bytes system/images/media/thumb-kmz.png | Bin 0 -> 2701 bytes system/images/media/thumb-lnk.png | Bin 0 -> 1971 bytes system/images/media/thumb-log.png | Bin 0 -> 2762 bytes system/images/media/thumb-lua.png | Bin 0 -> 2117 bytes system/images/media/thumb-m3u.png | Bin 0 -> 2909 bytes system/images/media/thumb-m4a.png | Bin 0 -> 2754 bytes system/images/media/thumb-m4v.png | Bin 0 -> 2738 bytes system/images/media/thumb-max.png | Bin 0 -> 3213 bytes system/images/media/thumb-mdb.png | Bin 0 -> 2691 bytes system/images/media/thumb-mdf.png | Bin 0 -> 2243 bytes system/images/media/thumb-mid.png | Bin 0 -> 2199 bytes system/images/media/thumb-mim.png | Bin 0 -> 2284 bytes system/images/media/thumb-mov.png | Bin 0 -> 3221 bytes system/images/media/thumb-mp3.png | Bin 0 -> 2801 bytes system/images/media/thumb-mp4.png | Bin 0 -> 2221 bytes system/images/media/thumb-mpa.png | Bin 0 -> 2734 bytes system/images/media/thumb-mpe.png | Bin 0 -> 1971 bytes system/images/media/thumb-mpg.png | Bin 0 -> 2811 bytes system/images/media/thumb-msg.png | Bin 0 -> 3319 bytes system/images/media/thumb-msi.png | Bin 0 -> 2594 bytes system/images/media/thumb-nes.png | Bin 0 -> 2320 bytes system/images/media/thumb-obj.png | Bin 0 -> 2716 bytes system/images/media/thumb-odb.png | Bin 0 -> 2912 bytes system/images/media/thumb-odc.png | Bin 0 -> 3239 bytes system/images/media/thumb-odf.png | Bin 0 -> 2496 bytes system/images/media/thumb-odg.png | Bin 0 -> 3069 bytes system/images/media/thumb-odi.png | Bin 0 -> 2453 bytes system/images/media/thumb-odp.png | Bin 0 -> 2871 bytes system/images/media/thumb-ods.png | Bin 0 -> 3257 bytes system/images/media/thumb-odt.png | Bin 0 -> 2414 bytes system/images/media/thumb-odx.png | Bin 0 -> 3133 bytes system/images/media/thumb-ogg.png | Bin 0 -> 3577 bytes system/images/media/thumb-pct.png | Bin 0 -> 2248 bytes system/images/media/thumb-pdb.png | Bin 0 -> 2354 bytes system/images/media/thumb-pdf.png | Bin 0 -> 1823 bytes system/images/media/thumb-pif.png | Bin 0 -> 1103 bytes system/images/media/thumb-pkg.png | Bin 0 -> 2660 bytes system/images/media/thumb-pl.png | Bin 0 -> 1066 bytes system/images/media/thumb-png.png | Bin 0 -> 2530 bytes system/images/media/thumb-pps.png | Bin 0 -> 2497 bytes system/images/media/thumb-ppt.png | Bin 0 -> 1573 bytes system/images/media/thumb-pptx.png | Bin 0 -> 2560 bytes system/images/media/thumb-ps.png | Bin 0 -> 2285 bytes system/images/media/thumb-psd.png | Bin 0 -> 2613 bytes system/images/media/thumb-pub.png | Bin 0 -> 2137 bytes system/images/media/thumb-py.png | Bin 0 -> 1776 bytes system/images/media/thumb-ra.png | Bin 0 -> 2223 bytes system/images/media/thumb-rar.png | Bin 0 -> 2695 bytes system/images/media/thumb-raw.png | Bin 0 -> 3433 bytes system/images/media/thumb-rm.png | Bin 0 -> 2181 bytes system/images/media/thumb-rom.png | Bin 0 -> 3088 bytes system/images/media/thumb-rpm.png | Bin 0 -> 2566 bytes system/images/media/thumb-rss.png | Bin 0 -> 3091 bytes system/images/media/thumb-rtf.png | Bin 0 -> 1364 bytes system/images/media/thumb-sav.png | Bin 0 -> 3204 bytes system/images/media/thumb-sdf.png | Bin 0 -> 2444 bytes system/images/media/thumb-sql.png | Bin 0 -> 2929 bytes system/images/media/thumb-srt.png | Bin 0 -> 2366 bytes system/images/media/thumb-svg.png | Bin 0 -> 3359 bytes system/images/media/thumb-swf.png | Bin 0 -> 3181 bytes system/images/media/thumb-sys.png | Bin 0 -> 3128 bytes system/images/media/thumb-tar.png | Bin 0 -> 2165 bytes system/images/media/thumb-tex.png | Bin 0 -> 1716 bytes system/images/media/thumb-tga.png | Bin 0 -> 2655 bytes system/images/media/thumb-thm.png | Bin 0 -> 1666 bytes system/images/media/thumb-tiff.png | Bin 0 -> 690 bytes system/images/media/thumb-tmp.png | Bin 0 -> 2040 bytes system/images/media/thumb-ttf.png | Bin 0 -> 615 bytes system/images/media/thumb-txt.png | Bin 0 -> 1853 bytes system/images/media/thumb-uue.png | Bin 0 -> 1632 bytes system/images/media/thumb-vb.png | Bin 0 -> 2074 bytes system/images/media/thumb-vcd.png | Bin 0 -> 3040 bytes system/images/media/thumb-vcf.png | Bin 0 -> 2581 bytes system/images/media/thumb-wav.png | Bin 0 -> 3601 bytes system/images/media/thumb-webm.png | Bin 0 -> 3843 bytes system/images/media/thumb-wma.png | Bin 0 -> 3552 bytes system/images/media/thumb-wmv.png | Bin 0 -> 3789 bytes system/images/media/thumb-woff.png | Bin 0 -> 3421 bytes system/images/media/thumb-woff2.png | Bin 0 -> 3927 bytes system/images/media/thumb-wpd.png | Bin 0 -> 3127 bytes system/images/media/thumb-wps.png | Bin 0 -> 3368 bytes system/images/media/thumb-wsf.png | Bin 0 -> 3028 bytes system/images/media/thumb-xls.png | Bin 0 -> 2562 bytes system/images/media/thumb-xlsx.png | Bin 0 -> 3481 bytes system/images/media/thumb-xml.png | Bin 0 -> 2557 bytes system/images/media/thumb-yuv.png | Bin 0 -> 2741 bytes system/images/media/thumb-zip.png | Bin 0 -> 1628 bytes system/images/media/thumb.png | Bin 0 -> 1200 bytes system/languages/ar.yaml | 75 + system/languages/ca.yaml | 75 + system/languages/cs.yaml | 81 + system/languages/da.yaml | 75 + system/languages/de.yaml | 89 + system/languages/el.yaml | 22 + system/languages/en.yaml | 101 + system/languages/es.yaml | 90 + system/languages/fi.yaml | 60 + system/languages/fr.yaml | 138 + system/languages/hr.yaml | 75 + system/languages/hu.yaml | 138 + system/languages/it.yaml | 62 + system/languages/ja.yaml | 59 + system/languages/lt.yaml | 69 + system/languages/nb.yaml | 2 + system/languages/nl.yaml | 64 + system/languages/no.yaml | 93 + system/languages/pl.yaml | 75 + system/languages/pt.yaml | 79 + system/languages/ro.yaml | 101 + system/languages/ru.yaml | 81 + system/languages/sk.yaml | 42 + system/languages/sv.yaml | 62 + system/languages/th.yaml | 75 + system/languages/tr.yaml | 59 + system/languages/uk.yaml | 75 + system/languages/vi.yaml | 75 + system/pages/notfound.md | 5 + system/router.php | 26 + system/src/Grav/Common/Assets.php | 1444 + system/src/Grav/Common/Backup/ZipBackup.php | 143 + system/src/Grav/Common/Browser.php | 137 + system/src/Grav/Common/Cache.php | 502 + system/src/Grav/Common/Composer.php | 60 + .../src/Grav/Common/Config/CompiledBase.php | 264 + .../Grav/Common/Config/CompiledBlueprints.php | 115 + .../src/Grav/Common/Config/CompiledConfig.php | 103 + .../Grav/Common/Config/CompiledLanguages.php | 69 + system/src/Grav/Common/Config/Config.php | 113 + .../Grav/Common/Config/ConfigFileFinder.php | 262 + system/src/Grav/Common/Config/Languages.php | 55 + system/src/Grav/Common/Config/Setup.php | 273 + system/src/Grav/Common/Data/Blueprint.php | 254 + .../src/Grav/Common/Data/BlueprintSchema.php | 171 + system/src/Grav/Common/Data/Blueprints.php | 100 + system/src/Grav/Common/Data/Data.php | 286 + system/src/Grav/Common/Data/DataInterface.php | 69 + system/src/Grav/Common/Data/Validation.php | 771 + .../Grav/Common/Data/ValidationException.php | 37 + system/src/Grav/Common/Debugger.php | 250 + system/src/Grav/Common/Errors/BareHandler.php | 24 + system/src/Grav/Common/Errors/Errors.php | 78 + .../Grav/Common/Errors/Resources/error.css | 52 + .../Common/Errors/Resources/layout.html.php | 30 + .../Grav/Common/Errors/SimplePageHandler.php | 103 + .../src/Grav/Common/Errors/SystemFacade.php | 39 + system/src/Grav/Common/File/CompiledFile.php | 88 + .../src/Grav/Common/File/CompiledJsonFile.php | 28 + .../Grav/Common/File/CompiledMarkdownFile.php | 16 + .../src/Grav/Common/File/CompiledYamlFile.php | 16 + system/src/Grav/Common/Filesystem/Folder.php | 490 + .../RecursiveFolderFilterIterator.php | 45 + .../Grav/Common/GPM/AbstractCollection.php | 36 + .../GPM/Common/AbstractPackageCollection.php | 38 + .../Common/GPM/Common/CachedCollection.php | 28 + system/src/Grav/Common/GPM/Common/Package.php | 49 + system/src/Grav/Common/GPM/GPM.php | 1134 + system/src/Grav/Common/GPM/Installer.php | 493 + system/src/Grav/Common/GPM/Licenses.php | 126 + .../GPM/Local/AbstractPackageCollection.php | 22 + system/src/Grav/Common/GPM/Local/Package.php | 39 + system/src/Grav/Common/GPM/Local/Packages.php | 24 + system/src/Grav/Common/GPM/Local/Plugins.php | 29 + system/src/Grav/Common/GPM/Local/Themes.php | 27 + .../GPM/Remote/AbstractPackageCollection.php | 75 + .../src/Grav/Common/GPM/Remote/GravCore.php | 113 + system/src/Grav/Common/GPM/Remote/Package.php | 19 + .../src/Grav/Common/GPM/Remote/Packages.php | 24 + system/src/Grav/Common/GPM/Remote/Plugins.php | 29 + system/src/Grav/Common/GPM/Remote/Themes.php | 29 + system/src/Grav/Common/GPM/Response.php | 432 + system/src/Grav/Common/GPM/Upgrader.php | 122 + system/src/Grav/Common/Getters.php | 160 + system/src/Grav/Common/Grav.php | 509 + system/src/Grav/Common/GravTrait.php | 27 + system/src/Grav/Common/Helpers/Base32.php | 103 + system/src/Grav/Common/Helpers/Excerpts.php | 353 + system/src/Grav/Common/Helpers/Exif.php | 36 + system/src/Grav/Common/Helpers/Truncator.php | 218 + system/src/Grav/Common/Inflector.php | 332 + system/src/Grav/Common/Iterator.php | 263 + system/src/Grav/Common/Language/Language.php | 507 + .../Grav/Common/Language/LanguageCodes.php | 208 + system/src/Grav/Common/Markdown/Parsedown.php | 26 + .../Grav/Common/Markdown/ParsedownExtra.php | 26 + .../Common/Markdown/ParsedownGravTrait.php | 254 + system/src/Grav/Common/Page/Collection.php | 613 + system/src/Grav/Common/Page/Header.php | 17 + system/src/Grav/Common/Page/Media.php | 211 + .../Grav/Common/Page/Medium/AbstractMedia.php | 186 + .../Grav/Common/Page/Medium/AudioMedium.php | 153 + .../Grav/Common/Page/Medium/GlobalMedia.php | 117 + .../src/Grav/Common/Page/Medium/ImageFile.php | 101 + .../Grav/Common/Page/Medium/ImageMedium.php | 631 + system/src/Grav/Common/Page/Medium/Link.php | 70 + system/src/Grav/Common/Page/Medium/Medium.php | 545 + .../Grav/Common/Page/Medium/MediumFactory.php | 146 + .../Common/Page/Medium/ParsedownHtmlTrait.php | 40 + .../Page/Medium/RenderableInterface.php | 35 + .../Common/Page/Medium/StaticImageMedium.php | 28 + .../Common/Page/Medium/StaticResizeTrait.php | 27 + .../Page/Medium/ThumbnailImageMedium.php | 130 + .../Grav/Common/Page/Medium/VideoMedium.php | 114 + system/src/Grav/Common/Page/Page.php | 2910 ++ system/src/Grav/Common/Page/Pages.php | 1343 + system/src/Grav/Common/Page/Types.php | 140 + system/src/Grav/Common/Plugin.php | 359 + system/src/Grav/Common/Plugins.php | 207 + .../Common/Processors/AssetsProcessor.php | 21 + .../Processors/ConfigurationProcessor.php | 21 + .../Processors/DebuggerAssetsProcessor.php | 20 + .../Processors/DebuggerInitProcessor.php | 20 + .../Common/Processors/ErrorsProcessor.php | 20 + .../Common/Processors/InitializeProcessor.php | 40 + .../Grav/Common/Processors/PagesProcessor.php | 44 + .../Common/Processors/PluginsProcessor.php | 21 + .../Grav/Common/Processors/ProcessorBase.php | 25 + .../Common/Processors/ProcessorInterface.php | 14 + .../Common/Processors/RenderProcessor.php | 39 + .../Common/Processors/SiteSetupProcessor.php | 21 + .../Grav/Common/Processors/TasksProcessor.php | 23 + .../Common/Processors/ThemesProcessor.php | 20 + .../Grav/Common/Processors/TwigProcessor.php | 21 + .../Common/Service/AssetsServiceProvider.php | 21 + .../Common/Service/ConfigServiceProvider.php | 153 + .../Common/Service/ErrorServiceProvider.php | 22 + .../Common/Service/LoggerServiceProvider.php | 34 + .../Service/MessagesServiceProvider.php | 30 + .../Common/Service/OutputServiceProvider.php | 30 + .../Common/Service/PageServiceProvider.php | 102 + .../Common/Service/StreamsServiceProvider.php | 47 + .../Common/Service/TaskServiceProvider.php | 24 + system/src/Grav/Common/Session.php | 124 + system/src/Grav/Common/Taxonomy.php | 149 + system/src/Grav/Common/Theme.php | 94 + system/src/Grav/Common/Themes.php | 359 + system/src/Grav/Common/Twig/Twig.php | 413 + .../src/Grav/Common/Twig/TwigEnvironment.php | 14 + system/src/Grav/Common/Twig/TwigExtension.php | 1098 + .../Grav/Common/Twig/WriteCacheFileTrait.php | 46 + system/src/Grav/Common/Uri.php | 1250 + .../src/Grav/Common/User/Authentication.php | 54 + system/src/Grav/Common/User/Group.php | 152 + system/src/Grav/Common/User/User.php | 258 + system/src/Grav/Common/Utils.php | 1032 + system/src/Grav/Console/Cli/BackupCommand.php | 90 + system/src/Grav/Console/Cli/CleanCommand.php | 275 + .../Grav/Console/Cli/ClearCacheCommand.php | 70 + .../src/Grav/Console/Cli/ComposerCommand.php | 72 + .../src/Grav/Console/Cli/InstallCommand.php | 175 + .../Grav/Console/Cli/NewProjectCommand.php | 65 + .../src/Grav/Console/Cli/SandboxCommand.php | 304 + system/src/Grav/Console/ConsoleCommand.php | 47 + system/src/Grav/Console/ConsoleTrait.php | 132 + .../Grav/Console/Gpm/DirectInstallCommand.php | 267 + system/src/Grav/Console/Gpm/IndexCommand.php | 272 + system/src/Grav/Console/Gpm/InfoCommand.php | 181 + .../src/Grav/Console/Gpm/InstallCommand.php | 693 + .../Grav/Console/Gpm/SelfupgradeCommand.php | 262 + .../src/Grav/Console/Gpm/UninstallCommand.php | 302 + system/src/Grav/Console/Gpm/UpdateCommand.php | 285 + .../src/Grav/Console/Gpm/VersionCommand.php | 113 + .../Grav/Console/TerminalObjects/Table.php | 29 + .../Collection/AbstractLazyCollection.php | 53 + .../Framework/Collection/ArrayCollection.php | 62 + .../Collection/CollectionInterface.php | 33 + .../Framework/Collection/FileCollection.php | 278 + system/templates/partials/messages.html.twig | 14 + system/templates/partials/metadata.html.twig | 3 + tmp/.gitkeep | 0 user/accounts/.gitkeep | 0 user/accounts/admin.yaml | 15 + user/accounts/moderator.yaml | 26 + user/config/media.yaml | 0 user/config/plugins/langswitcher.yaml | 3 + user/config/plugins/markdown-notices.yaml | 7 + user/config/plugins/mediaembed.yaml | 141 + user/config/plugins/photoswipe.yaml | 2 + user/config/plugins/unitegallery.yaml | 6 + user/config/security.yaml | 1 + user/config/site.yaml | 17 + user/config/streams.yaml | 0 user/config/system.yaml | 142 + user/data/.gitkeep | 0 user/data/licenses.yaml | 0 user/languages/en.yaml | 2 + user/languages/fr.yaml | 2 + user/plugins/.gitkeep | 0 user/plugins/admin/.editorconfig | 18 + user/plugins/admin/.gitattributes | 8 + user/plugins/admin/.gitignore | 14 + user/plugins/admin/CHANGELOG.md | 1224 + user/plugins/admin/CONTRIBUTING.md | 1 + user/plugins/admin/LICENSE | 21 + user/plugins/admin/README.md | 111 + user/plugins/admin/admin.php | 892 + user/plugins/admin/admin.yaml | 44 + user/plugins/admin/assets/admin-dashboard.png | Bin 0 -> 180920 bytes user/plugins/admin/blueprints.yaml | 404 + .../blueprints/admin/pages/modular_new.yaml | 52 + .../blueprints/admin/pages/modular_raw.yaml | 101 + .../admin/blueprints/admin/pages/move.yaml | 7 + .../admin/blueprints/admin/pages/new.yaml | 62 + .../blueprints/admin/pages/new_folder.yaml | 31 + .../admin/blueprints/admin/pages/raw.yaml | 103 + .../admin/blueprints/config/media.yaml | 36 + user/plugins/admin/classes/admin.php | 1793 ++ .../admin/classes/adminbasecontroller.php | 1005 + .../plugins/admin/classes/admincontroller.php | 2251 ++ .../plugins/admin/classes/baconqrprovider.php | 25 + user/plugins/admin/classes/gpm.php | 385 + user/plugins/admin/classes/popularity.php | 295 + user/plugins/admin/classes/themes.php | 21 + user/plugins/admin/classes/utils.php | 60 + user/plugins/admin/codeception.yml | 18 + user/plugins/admin/composer.json | 20 + user/plugins/admin/composer.lock | 2852 ++ user/plugins/admin/hebe.json | 15 + user/plugins/admin/languages/ar.yaml | 92 + user/plugins/admin/languages/bg.yaml | 262 + user/plugins/admin/languages/br.yaml | 577 + user/plugins/admin/languages/ca.yaml | 633 + user/plugins/admin/languages/cs.yaml | 693 + user/plugins/admin/languages/cy.yaml | 90 + user/plugins/admin/languages/da.yaml | 691 + user/plugins/admin/languages/de.yaml | 674 + user/plugins/admin/languages/el.yaml | 693 + user/plugins/admin/languages/en.yaml | 698 + user/plugins/admin/languages/es.yaml | 693 + user/plugins/admin/languages/et.yaml | 333 + user/plugins/admin/languages/eu.yaml | 182 + user/plugins/admin/languages/fa.yaml | 638 + user/plugins/admin/languages/fi.yaml | 208 + user/plugins/admin/languages/fr.yaml | 693 + user/plugins/admin/languages/he.yaml | 363 + user/plugins/admin/languages/hr.yaml | 569 + user/plugins/admin/languages/hu.yaml | 693 + user/plugins/admin/languages/id.yaml | 346 + user/plugins/admin/languages/it.yaml | 693 + user/plugins/admin/languages/ja.yaml | 643 + user/plugins/admin/languages/ko.yaml | 108 + user/plugins/admin/languages/lt.yaml | 363 + user/plugins/admin/languages/nl.yaml | 676 + user/plugins/admin/languages/no.yaml | 687 + user/plugins/admin/languages/pl.yaml | 664 + user/plugins/admin/languages/pt.yaml | 472 + user/plugins/admin/languages/ro.yaml | 693 + user/plugins/admin/languages/ru.yaml | 687 + user/plugins/admin/languages/sk.yaml | 500 + user/plugins/admin/languages/sl.yaml | 37 + user/plugins/admin/languages/sv.yaml | 513 + user/plugins/admin/languages/th.yaml | 674 + user/plugins/admin/languages/tlh.yaml | 8 + user/plugins/admin/languages/tr.yaml | 693 + user/plugins/admin/languages/uk.yaml | 267 + user/plugins/admin/languages/vi.yaml | 73 + user/plugins/admin/languages/zh.yaml | 621 + user/plugins/admin/pages/admin/ajax.md | 7 + user/plugins/admin/pages/admin/backup.md | 8 + user/plugins/admin/pages/admin/cache.md | 9 + user/plugins/admin/pages/admin/config.md | 7 + user/plugins/admin/pages/admin/dashboard.md | 7 + user/plugins/admin/pages/admin/denied.md | 4 + user/plugins/admin/pages/admin/feed.md | 7 + user/plugins/admin/pages/admin/forgot.md | 12 + user/plugins/admin/pages/admin/info.md | 7 + user/plugins/admin/pages/admin/installer.md | 7 + user/plugins/admin/pages/admin/login.md | 22 + user/plugins/admin/pages/admin/media.md | 8 + .../admin/pages/admin/notifications.md | 7 + .../plugins/admin/pages/admin/pages-filter.md | 8 + user/plugins/admin/pages/admin/pages.md | 7 + user/plugins/admin/pages/admin/plugins.md | 7 + user/plugins/admin/pages/admin/register.md | 56 + user/plugins/admin/pages/admin/reset.md | 16 + user/plugins/admin/pages/admin/site.md | 7 + user/plugins/admin/pages/admin/statistics.md | 7 + user/plugins/admin/pages/admin/system.md | 7 + user/plugins/admin/pages/admin/themes.md | 7 + user/plugins/admin/pages/admin/tools.md | 7 + user/plugins/admin/pages/admin/twofa.md | 14 + user/plugins/admin/pages/admin/update.md | 8 + user/plugins/admin/pages/admin/user.md | 8 + user/plugins/admin/tests/_bootstrap.php | 11 + .../admin/tests/_support/Helper/Unit.php | 80 + .../admin/tests/_support/UnitTester.php | 26 + user/plugins/admin/tests/unit.suite.yml | 9 + user/plugins/admin/tests/unit/_bootstrap.php | 3 + .../tests/unit/classes/controllerTest.php | 42 + user/plugins/admin/themes/grav/.eslintrc | 165 + .../admin/themes/grav/app/dashboard/backup.js | 24 + .../admin/themes/grav/app/dashboard/cache.js | 49 + .../admin/themes/grav/app/dashboard/chart.js | 138 + .../admin/themes/grav/app/dashboard/index.js | 12 + .../admin/themes/grav/app/dashboard/update.js | 1 + .../themes/grav/app/forms/fields/array.js | 187 + .../grav/app/forms/fields/collections.js | 246 + .../grav/app/forms/fields/colorpicker.js | 581 + .../themes/grav/app/forms/fields/datetime.js | 63 + .../themes/grav/app/forms/fields/editor.js | 236 + .../grav/app/forms/fields/editor/buttons.js | 415 + .../grav/app/forms/fields/filepicker.js | 141 + .../themes/grav/app/forms/fields/files.js | 304 + .../grav/app/forms/fields/iconpicker.js | 288 + .../themes/grav/app/forms/fields/index.js | 64 + .../grav/app/forms/fields/mediapicker.js | 57 + .../grav/app/forms/fields/multilevel.js | 279 + .../themes/grav/app/forms/fields/selectize.js | 38 + .../grav/app/forms/fields/selectunique.js | 160 + .../admin/themes/grav/app/forms/form.js | 139 + .../admin/themes/grav/app/forms/index.js | 16 + .../admin/themes/grav/app/forms/state.js | 150 + user/plugins/admin/themes/grav/app/main.js | 78 + .../admin/themes/grav/app/media/index.js | 219 + .../admin/themes/grav/app/pages/filter.js | 148 + .../admin/themes/grav/app/pages/index.js | 53 + .../admin/themes/grav/app/pages/page/add.js | 67 + .../themes/grav/app/pages/page/delete.js | 15 + .../grav/app/pages/page/disable-buttons.js | 5 + .../admin/themes/grav/app/pages/page/index.js | 46 + .../admin/themes/grav/app/pages/page/media.js | 197 + .../admin/themes/grav/app/pages/page/move.js | 13 + .../themes/grav/app/pages/page/multilang.js | 22 + .../admin/themes/grav/app/pages/tree.js | 117 + .../admin/themes/grav/app/plugins/index.js | 92 + .../admin/themes/grav/app/themes/index.js | 46 + .../grav/app/updates/channel-switcher.js | 24 + .../admin/themes/grav/app/updates/check.js | 26 + .../admin/themes/grav/app/updates/feed.js | 70 + .../admin/themes/grav/app/updates/index.js | 186 + .../themes/grav/app/updates/notifications.js | 285 + .../admin/themes/grav/app/updates/update.js | 19 + .../admin/themes/grav/app/utils/2fa.js | 31 + .../admin/themes/grav/app/utils/colors.js | 152 + .../themes/grav/app/utils/formatbytes.js | 11 + .../admin/themes/grav/app/utils/gpm.js | 57 + .../themes/grav/app/utils/jquery-utils.js | 50 + .../admin/themes/grav/app/utils/keepalive.js | 32 + .../admin/themes/grav/app/utils/offline.js | 21 + .../admin/themes/grav/app/utils/packages.js | 458 + .../admin/themes/grav/app/utils/request.js | 38 + .../admin/themes/grav/app/utils/response.js | 101 + .../admin/themes/grav/app/utils/scrollbar.js | 40 + .../grav/app/utils/selectize-required-fix.js | 28 + .../admin/themes/grav/app/utils/sidebar.js | 161 + .../admin/themes/grav/app/utils/storage.js | 41 + .../themes/grav/app/utils/tabs-memory.js | 29 + .../admin/themes/grav/app/utils/toastr.js | 6 + .../admin/themes/grav/css-compiled/fonts.css | 3 + .../themes/grav/css-compiled/fonts.css.map | 1 + .../themes/grav/css-compiled/nucleus.css | 3 + .../themes/grav/css-compiled/nucleus.css.map | 1 + .../admin/themes/grav/css-compiled/preset.css | 3 + .../themes/grav/css-compiled/preset.css.map | 1 + .../themes/grav/css-compiled/simple-fonts.css | 3 + .../grav/css-compiled/simple-fonts.css.map | 1 + .../themes/grav/css-compiled/template.css | 7 + .../themes/grav/css-compiled/template.css.map | 1 + .../admin/themes/grav/css/chartist.min.css | 1 + .../grav/css/codemirror/base16-light.css | 36 + .../themes/grav/css/codemirror/codemirror.css | 332 + .../themes/grav/css/codemirror/paper.css | 39 + .../themes/grav/css/featherlight.min.css | 8 + .../themes/grav/css/font-awesome.min.css | 4 + .../admin/themes/grav/css/hint.base.min.css | 5 + .../admin/themes/grav/css/iconpicker.css | 221 + .../admin/themes/grav/css/nucleus-ie10.css | 24 + .../admin/themes/grav/css/nucleus-ie9.css | 62 + user/plugins/admin/themes/grav/css/prism.css | 121 + .../themes/grav/css/pure-0.5.0/grids-min.css | 15 + .../admin/themes/grav/css/selectize.min.css | 1 + user/plugins/admin/themes/grav/css/uikit.css | 6986 +++++ .../themes/grav/fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes .../themes/grav/fonts/fontawesome-webfont.svg | 2671 ++ .../themes/grav/fonts/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes .../grav/fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes .../grav/fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes .../rockettheme-apps/rockettheme-apps.eot | Bin 0 -> 4838 bytes .../rockettheme-apps/rockettheme-apps.svg | 16 + .../rockettheme-apps/rockettheme-apps.ttf | Bin 0 -> 4644 bytes .../rockettheme-apps/rockettheme-apps.woff | Bin 0 -> 3348 bytes user/plugins/admin/themes/grav/gulpfile.js | 110 + .../admin/themes/grav/images/favicon.png | Bin 0 -> 1270 bytes .../plugins/admin/themes/grav/images/logo.png | Bin 0 -> 6732 bytes .../plugins/admin/themes/grav/js/admin.min.js | 29 + .../themes/grav/js/form-attr.polyfill.js | 80 + .../admin/themes/grav/js/vendor.min.js | 50 + .../admin/themes/grav/package-lock.json | 8097 ++++++ user/plugins/admin/themes/grav/package.json | 60 + user/plugins/admin/themes/grav/scss.sh | 2 + .../scss/configuration/fonts/_support.scss | 75 + .../scss/configuration/nucleus/_base.scss | 14 + .../configuration/nucleus/_breakpoints.scss | 16 + .../scss/configuration/nucleus/_core.scss | 2 + .../scss/configuration/nucleus/_layout.scss | 8 + .../grav/scss/configuration/nucleus/_nav.scss | 3 + .../configuration/nucleus/_typography.scss | 14 + .../scss/configuration/template/_base.scss | 5 + .../scss/configuration/template/_colors.scss | 15 + .../configuration/template/_variables.scss | 22 + .../plugins/admin/themes/grav/scss/fonts.scss | 15 + .../admin/themes/grav/scss/nucleus.scss | 27 + .../admin/themes/grav/scss/nucleus/_core.scss | 217 + .../admin/themes/grav/scss/nucleus/_flex.scss | 195 + .../themes/grav/scss/nucleus/_forms.scss | 62 + .../themes/grav/scss/nucleus/_typography.scss | 86 + .../grav/scss/nucleus/functions/_base.scss | 2 + .../scss/nucleus/functions/_direction.scss | 37 + .../grav/scss/nucleus/functions/_range.scss | 13 + .../grav/scss/nucleus/mixins/_base.scss | 2 + .../scss/nucleus/mixins/_breakpoints.scss | 44 + .../grav/scss/nucleus/mixins/_utilities.scss | 30 + .../scss/nucleus/particles/_align-text.scss | 46 + .../scss/nucleus/particles/_visibility.scss | 0 .../admin/themes/grav/scss/preset.scss | 1561 ++ .../admin/themes/grav/scss/simple-fonts.scss | 11 + .../admin/themes/grav/scss/template.scss | 94 + .../themes/grav/scss/template/_admin.scss | 1179 + .../themes/grav/scss/template/_buttons.scss | 118 + .../themes/grav/scss/template/_core.scss | 50 + .../themes/grav/scss/template/_custom.scss | 2 + .../themes/grav/scss/template/_dropzone.scss | 299 + .../themes/grav/scss/template/_editor.scss | 268 + .../themes/grav/scss/template/_errors.scss | 17 + .../grav/scss/template/_extensions.scss | 33 + .../themes/grav/scss/template/_fonts.scss | 40 + .../themes/grav/scss/template/_forms.scss | 654 + .../admin/themes/grav/scss/template/_gpm.scss | 207 + .../themes/grav/scss/template/_header.scss | 3 + .../themes/grav/scss/template/_login.scss | 161 + .../themes/grav/scss/template/_media.scss | 331 + .../grav/scss/template/_nav-toggle.scss | 71 + .../grav/scss/template/_notifications.scss | 112 + .../themes/grav/scss/template/_pages.scss | 332 + .../themes/grav/scss/template/_phpinfo.scss | 35 + .../themes/grav/scss/template/_remodal.scss | 329 + .../themes/grav/scss/template/_tables.scss | 129 + .../themes/grav/scss/template/_tabs.scss | 94 + .../themes/grav/scss/template/_toastr.scss | 183 + .../grav/scss/template/_typography.scss | 95 + .../themes/grav/scss/template/_utilities.scss | 5 + .../grav/scss/template/modules/_base.scss | 5 + .../template/modules/_bourbon_essentials.scss | 120 + .../grav/scss/template/modules/_buttons.scss | 56 + .../scss/template/modules/_colorpicker.scss | 253 + .../template/modules/_datetimepicker.scss | 466 + .../scss/template/modules/_input-range.scss | 87 + .../scss/template/modules/_scrollbars.scss | 98 + .../scss/template/modules/_toggle-switch.scss | 22 + .../bourbon/_bourbon-deprecated-upcoming.scss | 8 + .../grav/scss/vendor/bourbon/_bourbon.scss | 77 + .../scss/vendor/bourbon/addons/_button.scss | 374 + .../scss/vendor/bourbon/addons/_clearfix.scss | 23 + .../bourbon/addons/_directional-values.scss | 111 + .../scss/vendor/bourbon/addons/_ellipsis.scss | 7 + .../vendor/bourbon/addons/_font-family.scss | 5 + .../vendor/bourbon/addons/_hide-text.scss | 10 + .../bourbon/addons/_html5-input-types.scss | 86 + .../scss/vendor/bourbon/addons/_position.scss | 32 + .../scss/vendor/bourbon/addons/_prefixer.scss | 45 + .../grav/scss/vendor/bourbon/addons/_rem.scss | 33 + .../vendor/bourbon/addons/_retina-image.scss | 31 + .../scss/vendor/bourbon/addons/_size.scss | 16 + .../bourbon/addons/_timing-functions.scss | 32 + .../scss/vendor/bourbon/addons/_triangle.scss | 83 + .../vendor/bourbon/addons/_word-wrap.scss | 8 + .../scss/vendor/bourbon/css3/_animation.scss | 52 + .../scss/vendor/bourbon/css3/_appearance.scss | 3 + .../bourbon/css3/_backface-visibility.scss | 6 + .../bourbon/css3/_background-image.scss | 42 + .../scss/vendor/bourbon/css3/_background.scss | 55 + .../vendor/bourbon/css3/_border-image.scss | 59 + .../vendor/bourbon/css3/_border-radius.scss | 22 + .../scss/vendor/bourbon/css3/_box-sizing.scss | 4 + .../grav/scss/vendor/bourbon/css3/_calc.scss | 4 + .../scss/vendor/bourbon/css3/_columns.scss | 47 + .../scss/vendor/bourbon/css3/_filter.scss | 5 + .../scss/vendor/bourbon/css3/_flex-box.scss | 321 + .../scss/vendor/bourbon/css3/_font-face.scss | 23 + .../bourbon/css3/_font-feature-settings.scss | 10 + .../bourbon/css3/_hidpi-media-query.scss | 10 + .../scss/vendor/bourbon/css3/_hyphens.scss | 4 + .../vendor/bourbon/css3/_image-rendering.scss | 14 + .../scss/vendor/bourbon/css3/_keyframes.scss | 35 + .../vendor/bourbon/css3/_linear-gradient.scss | 38 + .../vendor/bourbon/css3/_perspective.scss | 8 + .../vendor/bourbon/css3/_placeholder.scss | 8 + .../vendor/bourbon/css3/_radial-gradient.scss | 39 + .../scss/vendor/bourbon/css3/_transform.scss | 15 + .../scss/vendor/bourbon/css3/_transition.scss | 77 + .../vendor/bourbon/css3/_user-select.scss | 3 + .../vendor/bourbon/functions/_assign.scss | 11 + .../bourbon/functions/_color-lightness.scss | 13 + .../vendor/bourbon/functions/_flex-grid.scss | 39 + .../bourbon/functions/_golden-ratio.scss | 3 + .../vendor/bourbon/functions/_grid-width.scss | 13 + .../bourbon/functions/_modular-scale.scss | 66 + .../vendor/bourbon/functions/_px-to-em.scss | 13 + .../vendor/bourbon/functions/_px-to-rem.scss | 15 + .../bourbon/functions/_strip-units.scss | 5 + .../vendor/bourbon/functions/_tint-shade.scss | 9 + .../functions/_transition-property-name.scss | 22 + .../vendor/bourbon/functions/_unpack.scss | 17 + .../bourbon/helpers/_convert-units.scss | 15 + .../helpers/_gradient-positions-parser.scss | 13 + .../scss/vendor/bourbon/helpers/_is-num.scss | 8 + .../bourbon/helpers/_linear-angle-parser.scss | 25 + .../helpers/_linear-gradient-parser.scss | 41 + .../helpers/_linear-positions-parser.scss | 61 + .../helpers/_linear-side-corner-parser.scss | 31 + .../bourbon/helpers/_radial-arg-parser.scss | 69 + .../helpers/_radial-gradient-parser.scss | 50 + .../helpers/_radial-positions-parser.scss | 18 + .../bourbon/helpers/_render-gradients.scss | 26 + .../bourbon/helpers/_shape-size-stripper.scss | 10 + .../vendor/bourbon/helpers/_str-to-num.scss | 50 + .../vendor/bourbon/settings/_prefixer.scss | 6 + .../vendor/bourbon/settings/_px-to-em.scss | 1 + .../vendor/color-schemer/_color-schemer.scss | 31 + .../color-schemer/color-schemer/_cmyk.scss | 14 + .../color-schemer/_color-adjustments.scss | 30 + .../color-schemer/_color-schemer.scss | 208 + .../color-schemer/_colorblind.scss | 29 + .../color-schemer/_comparison.scss | 15 + .../color-schemer/_equalize.scss | 5 + .../color-schemer/_harmonize.scss | 59 + .../color-schemer/_interpolation.scss | 34 + .../color-schemer/color-schemer/_mix.scss | 40 + .../color-schemer/color-schemer/_mixins.scss | 29 + .../color-schemer/color-schemer/_ryb.scss | 76 + .../color-schemer/_tint-shade.scss | 9 + .../themes/grav/templates/config.html.twig | 86 + .../themes/grav/templates/dashboard.html.twig | 69 + .../themes/grav/templates/default.json.twig | 5 + .../themes/grav/templates/denied.html.twig | 18 + .../grav/templates/email/base.html.twig | 194 + .../themes/grav/templates/empty.html.twig | 0 .../themes/grav/templates/error.html.twig | 20 + .../themes/grav/templates/error.json.twig | 1 + .../themes/grav/templates/forgot.html.twig | 17 + .../grav/templates/forms/field.html.twig | 90 + .../fields/2fa_secret/2fa_secret.html.twig | 24 + .../forms/fields/array/array.html.twig | 78 + .../fields/blueprint/blueprint.html.twig | 8 + .../fields/colorpicker/colorpicker.html.twig | 38 + .../forms/fields/column/column.html.twig | 10 + .../forms/fields/columns/columns.html.twig | 9 + .../fields/dateformat/dateformat.html.twig | 24 + .../forms/fields/datetime/datetime.html.twig | 26 + .../forms/fields/editor/editor.html.twig | 35 + .../forms/fields/fieldset/fieldset.html.twig | 79 + .../forms/fields/file/file.html.twig | 86 + .../fields/filepicker/filepicker.html.twig | 17 + .../fields/frontmatter/frontmatter.html.twig | 10 + .../fields/iconpicker/iconpicker.html.twig | 45 + .../forms/fields/iconpicker/icons.yaml | 6570 +++++ .../forms/fields/ignore/ignore.html.twig | 0 .../templates/forms/fields/key/key.html.twig | 26 + .../forms/fields/list/list.html.twig | 184 + .../forms/fields/markdown/markdown.html.twig | 10 + .../fields/mediapicker/mediapicker.html.twig | 20 + .../fields/multilevel/multilevel.html.twig | 116 + .../forms/fields/order/order.html.twig | 51 + .../fields/pagemedia/pagemedia.html.twig | 32 + .../pagemediaselect/pagemediaselect.html.twig | 2 + .../forms/fields/pages/pages.html.twig | 50 + .../forms/fields/parents/parents.html.twig | 18 + .../fields/permissions/permissions.html.twig | 68 + .../forms/fields/range/range.html.twig | 42 + .../forms/fields/section/section.html.twig | 22 + .../fields/selectize/selectize.html.twig | 11 + .../selectunique/selectunique.html.twig | 42 + .../templates/forms/fields/tab/tab.html.twig | 10 + .../forms/fields/tabs/tabs.html.twig | 44 + .../forms/fields/taxonomy/taxonomy.html.twig | 24 + .../fields/themeselect/themeselect.html.twig | 31 + .../forms/fields/toggle/toggle.html.twig | 60 + .../forms/fields/userinfo/userinfo.html.twig | 15 + .../themes/grav/templates/installer.html.twig | 13 + .../themes/grav/templates/login.html.twig | 44 + .../templates/media-list-content.html.twig | 18 + .../themes/grav/templates/pages.html.twig | 405 + .../templates/partials/base-root.html.twig | 116 + .../grav/templates/partials/base.html.twig | 1 + .../partials/blueprints-new-folder.html.twig | 21 + .../partials/blueprints-new.html.twig | 21 + .../partials/blueprints-raw.html.twig | 17 + .../templates/partials/blueprints.html.twig | 29 + .../partials/dashboard-feed.html.twig | 14 + .../partials/dashboard-maintenance.html.twig | 33 + .../dashboard-notifications.html.twig | 12 + .../partials/dashboard-pages.html.twig | 19 + .../partials/dashboard-statistics.html.twig | 24 + .../grav/templates/partials/header.html.twig | 11 + .../partials/javascript-config.html.twig | 30 + .../templates/partials/javascripts.html.twig | 11 + .../templates/partials/list-sort.html.twig | 12 + .../grav/templates/partials/login.html.twig | 27 + .../grav/templates/partials/logo.html.twig | 22 + .../partials/media-list-wrapper.html.twig | 32 + .../media-list-wrapper__list.html.twig | 23 + ...edia-list-wrapper__list__filters.html.twig | 28 + .../media-list-wrapper__sidebar.html.twig | 46 + .../templates/partials/messages.html.twig | 14 + .../partials/modal-add-package.html.twig | 89 + .../partials/modal-changes-detected.html.twig | 13 + .../modal-reinstall-package.html.twig | 38 + .../partials/modal-remove-package.html.twig | 44 + .../partials/modal-update-packages.html.twig | 89 + .../partials/nav-quick-tray.html.twig | 23 + .../templates/partials/nav-toggle.html.twig | 3 + .../partials/nav-user-avatar.html.twig | 1 + .../partials/nav-user-details.html.twig | 13 + .../grav/templates/partials/nav.html.twig | 95 + .../partials/page-children.html.twig | 11 + .../templates/partials/page-legend.html.twig | 11 + .../templates/partials/page-move.html.twig | 20 + .../templates/partials/plugin-data.html.twig | 63 + .../partials/plugins-details.html.twig | 62 + .../templates/partials/plugins-list.html.twig | 74 + .../templates/partials/register.html.twig | 22 + .../partials/release-toggle.html.twig | 9 + .../partials/spinning-wheel.html.twig | 3 + .../templates/partials/stylesheets.html.twig | 17 + .../grav/templates/partials/theme.html.twig | 13 + .../partials/themes-details.html.twig | 120 + .../templates/partials/themes-list.html.twig | 82 + .../partials/tools-direct-install.html.twig | 30 + .../partials/userinfo-avatar-credit.html.twig | 1 + .../partials/userinfo-avatar.html.twig | 5 + .../themes/grav/templates/plugins.html.twig | 88 + .../themes/grav/templates/register.html.twig | 28 + .../themes/grav/templates/reset.html.twig | 19 + .../grav/templates/statistics.html.twig | 15 + .../themes/grav/templates/themes.html.twig | 83 + .../themes/grav/templates/tools.html.twig | 28 + .../themes/grav/templates/twofa.html.twig | 17 + .../themes/grav/templates/user.html.twig | 64 + user/plugins/admin/themes/grav/theme.yaml | 0 user/plugins/admin/themes/grav/watch.sh | 27 + .../plugins/admin/themes/grav/webpack.conf.js | 41 + user/plugins/admin/themes/grav/yarn.lock | 5037 ++++ .../plugins/admin/twig/AdminTwigExtension.php | 184 + user/plugins/admin/vendor/autoload.php | 7 + .../admin/vendor/bacon/bacon-qr-code/LICENSE | 22 + .../vendor/bacon/bacon-qr-code/Module.php | 37 + .../vendor/bacon/bacon-qr-code/README.md | 24 + .../bacon/bacon-qr-code/autoload_classmap.php | 43 + .../bacon/bacon-qr-code/autoload_function.php | 12 + .../bacon/bacon-qr-code/autoload_register.php | 2 + .../src/BaconQrCode/Common/AbstractEnum.php | 115 + .../src/BaconQrCode/Common/BitArray.php | 435 + .../src/BaconQrCode/Common/BitMatrix.php | 350 + .../src/BaconQrCode/Common/BitUtils.php | 51 + .../BaconQrCode/Common/CharacterSetEci.php | 134 + .../src/BaconQrCode/Common/EcBlock.php | 65 + .../src/BaconQrCode/Common/EcBlocks.php | 101 + .../Common/ErrorCorrectionLevel.php | 62 + .../BaconQrCode/Common/FormatInformation.php | 236 + .../src/BaconQrCode/Common/Mode.php | 70 + .../BaconQrCode/Common/ReedSolomonCodec.php | 476 + .../src/BaconQrCode/Common/Version.php | 687 + .../src/BaconQrCode/Encoder/BlockPair.php | 64 + .../src/BaconQrCode/Encoder/ByteMatrix.php | 158 + .../src/BaconQrCode/Encoder/Encoder.php | 687 + .../src/BaconQrCode/Encoder/MaskUtil.php | 291 + .../src/BaconQrCode/Encoder/MatrixUtil.php | 580 + .../src/BaconQrCode/Encoder/QrCode.php | 201 + .../Exception/ExceptionInterface.php | 14 + .../Exception/InvalidArgumentException.php | 14 + .../Exception/OutOfBoundsException.php | 14 + .../Exception/RuntimeException.php | 14 + .../Exception/UnexpectedValueException.php | 14 + .../BaconQrCode/Exception/WriterException.php | 14 + .../src/BaconQrCode/Renderer/Color/Cmyk.php | 160 + .../Renderer/Color/ColorInterface.php | 37 + .../src/BaconQrCode/Renderer/Color/Gray.php | 84 + .../src/BaconQrCode/Renderer/Color/Rgb.php | 148 + .../Renderer/Image/AbstractRenderer.php | 338 + .../Image/Decorator/DecoratorInterface.php | 63 + .../Image/Decorator/FinderPattern.php | 210 + .../src/BaconQrCode/Renderer/Image/Eps.php | 152 + .../src/BaconQrCode/Renderer/Image/Png.php | 115 + .../Renderer/Image/RendererInterface.php | 61 + .../src/BaconQrCode/Renderer/Image/Svg.php | 146 + .../Renderer/RendererInterface.php | 26 + .../src/BaconQrCode/Renderer/Text/Html.php | 91 + .../src/BaconQrCode/Renderer/Text/Plain.php | 150 + .../bacon-qr-code/src/BaconQrCode/Writer.php | 105 + user/plugins/admin/vendor/bin/picofeed | 1 + .../admin/vendor/composer/ClassLoader.php | 445 + user/plugins/admin/vendor/composer/LICENSE | 21 + .../vendor/composer/autoload_classmap.php | 9 + .../vendor/composer/autoload_namespaces.php | 12 + .../admin/vendor/composer/autoload_psr4.php | 11 + .../admin/vendor/composer/autoload_real.php | 52 + .../admin/vendor/composer/autoload_static.php | 64 + .../admin/vendor/composer/installed.json | 265 + .../admin/vendor/composer/semver/CHANGELOG.md | 66 + .../admin/vendor/composer/semver/LICENSE | 19 + .../admin/vendor/composer/semver/README.md | 70 + .../vendor/composer/semver/composer.json | 58 + .../vendor/composer/semver/src/Comparator.php | 111 + .../src/Constraint/AbstractConstraint.php | 63 + .../semver/src/Constraint/Constraint.php | 219 + .../src/Constraint/ConstraintInterface.php | 32 + .../semver/src/Constraint/EmptyConstraint.php | 59 + .../semver/src/Constraint/MultiConstraint.php | 120 + .../vendor/composer/semver/src/Semver.php | 127 + .../composer/semver/src/VersionParser.php | 548 + .../admin/vendor/fguillot/picofeed/LICENSE | 21 + .../fguillot/picofeed/lib/PicoFeed/Base.php | 38 + .../picofeed/lib/PicoFeed/Client/Client.php | 712 + .../lib/PicoFeed/Client/ClientException.php | 14 + .../picofeed/lib/PicoFeed/Client/Curl.php | 412 + .../PicoFeed/Client/ForbiddenException.php | 10 + .../lib/PicoFeed/Client/HttpHeaders.php | 79 + .../Client/InvalidCertificateException.php | 12 + .../PicoFeed/Client/InvalidUrlException.php | 12 + .../PicoFeed/Client/MaxRedirectException.php | 12 + .../lib/PicoFeed/Client/MaxSizeException.php | 12 + .../picofeed/lib/PicoFeed/Client/Stream.php | 205 + .../lib/PicoFeed/Client/TimeoutException.php | 12 + .../PicoFeed/Client/UnauthorizedException.php | 10 + .../picofeed/lib/PicoFeed/Client/Url.php | 283 + .../picofeed/lib/PicoFeed/Config/Config.php | 102 + .../lib/PicoFeed/Encoding/Encoding.php | 33 + .../lib/PicoFeed/Filter/Attribute.php | 700 + .../picofeed/lib/PicoFeed/Filter/Filter.php | 144 + .../picofeed/lib/PicoFeed/Filter/Html.php | 243 + .../picofeed/lib/PicoFeed/Filter/Tag.php | 208 + .../Generator/ContentGeneratorInterface.php | 23 + .../Generator/FileContentGenerator.php | 36 + .../Generator/YoutubeContentGenerator.php | 67 + .../picofeed/lib/PicoFeed/Logging/Logger.php | 114 + .../picofeed/lib/PicoFeed/Parser/Atom.php | 378 + .../lib/PicoFeed/Parser/DateParser.php | 128 + .../picofeed/lib/PicoFeed/Parser/Feed.php | 315 + .../picofeed/lib/PicoFeed/Parser/Item.php | 533 + .../PicoFeed/Parser/MalformedXmlException.php | 13 + .../picofeed/lib/PicoFeed/Parser/Parser.php | 396 + .../lib/PicoFeed/Parser/ParserException.php | 15 + .../lib/PicoFeed/Parser/ParserInterface.php | 182 + .../picofeed/lib/PicoFeed/Parser/Rss10.php | 305 + .../picofeed/lib/PicoFeed/Parser/Rss20.php | 317 + .../picofeed/lib/PicoFeed/Parser/Rss91.php | 13 + .../picofeed/lib/PicoFeed/Parser/Rss92.php | 13 + .../PicoFeed/Parser/XmlEntityException.php | 13 + .../lib/PicoFeed/Parser/XmlParser.php | 246 + .../lib/PicoFeed/PicoFeedException.php | 14 + .../Processor/ContentFilterProcessor.php | 39 + .../Processor/ContentGeneratorProcessor.php | 49 + .../PicoFeed/Processor/ItemPostProcessor.php | 106 + .../Processor/ItemProcessorInterface.php | 25 + .../PicoFeed/Processor/ScraperProcessor.php | 96 + .../picofeed/lib/PicoFeed/Reader/Favicon.php | 186 + .../picofeed/lib/PicoFeed/Reader/Reader.php | 189 + .../lib/PicoFeed/Reader/ReaderException.php | 14 + .../Reader/SubscriptionNotFoundException.php | 12 + .../Reader/UnsupportedFeedFormatException.php | 12 + .../lib/PicoFeed/Rules/.blog.lemonde.fr.php | 14 + .../lib/PicoFeed/Rules/.blogs.nytimes.com.php | 15 + .../picofeed/lib/PicoFeed/Rules/.igen.fr.php | 13 + .../lib/PicoFeed/Rules/.nytimes.com.php | 11 + .../lib/PicoFeed/Rules/.over-blog.com.php | 11 + .../lib/PicoFeed/Rules/.phoronix.com.php | 12 + .../lib/PicoFeed/Rules/.slate.com.php | 20 + .../lib/PicoFeed/Rules/.theguardian.com.php | 14 + .../lib/PicoFeed/Rules/.wikipedia.org.php | 29 + .../lib/PicoFeed/Rules/.wired.com.php | 44 + .../picofeed/lib/PicoFeed/Rules/.wsj.com.php | 15 + .../picofeed/lib/PicoFeed/Rules/01net.com.php | 18 + .../lib/PicoFeed/Rules/abstrusegoose.com.php | 8 + .../PicoFeed/Rules/adventuregamers.com.php | 23 + .../lib/PicoFeed/Rules/alainonline.net.php | 14 + .../lib/PicoFeed/Rules/aljazeera.com.php | 25 + .../lib/PicoFeed/Rules/allafrica.com.php | 20 + .../PicoFeed/Rules/allgemeine-zeitung.de.php | 23 + .../PicoFeed/Rules/amazingsuperpowers.com.php | 8 + .../lib/PicoFeed/Rules/anythingcomic.com.php | 13 + .../picofeed/lib/PicoFeed/Rules/ap.org.php | 13 + .../lib/PicoFeed/Rules/areadvd.de.php | 10 + .../lib/PicoFeed/Rules/arstechnica.com.php | 25 + .../lib/PicoFeed/Rules/awkwardzombie.com.php | 10 + .../lib/PicoFeed/Rules/backchannel.com.php | 18 + .../lib/PicoFeed/Rules/bangkokpost.com.php | 19 + .../picofeed/lib/PicoFeed/Rules/bgr.com.php | 15 + .../lib/PicoFeed/Rules/bigfootjustice.com.php | 8 + .../lib/PicoFeed/Rules/bigpicture.ru.php | 31 + .../lib/PicoFeed/Rules/bizjournals.com.php | 12 + .../lib/PicoFeed/Rules/biztimes.com.php | 22 + .../PicoFeed/Rules/bleepingcomputer.com.php | 15 + .../lib/PicoFeed/Rules/blog.fefe.de.php | 13 + .../lib/PicoFeed/Rules/blog.mapillary.com.php | 11 + .../lib/PicoFeed/Rules/brewers.mlb.com.php | 22 + .../PicoFeed/Rules/buenosairesherald.com.php | 17 + .../lib/PicoFeed/Rules/bunicomic.com.php | 13 + .../lib/PicoFeed/Rules/buttersafe.com.php | 13 + .../lib/PicoFeed/Rules/cad-comic.com.php | 12 + .../Rules/chaoslife.findchaos.com.php | 10 + .../lib/PicoFeed/Rules/chinafile.com.php | 18 + .../lib/PicoFeed/Rules/cliquerefresh.com.php | 10 + .../picofeed/lib/PicoFeed/Rules/cnet.com.php | 37 + .../lib/PicoFeed/Rules/consomac.fr.php | 13 + .../lib/PicoFeed/Rules/cowbirdsinlove.com.php | 8 + .../picofeed/lib/PicoFeed/Rules/crash.net.php | 28 + .../lib/PicoFeed/Rules/csmonitor.com.php | 19 + .../lib/PicoFeed/Rules/dailyjs.com.php | 19 + .../lib/PicoFeed/Rules/dailyreporter.com.php | 15 + .../lib/PicoFeed/Rules/dailytech.com.php | 13 + .../lib/PicoFeed/Rules/degroupnews.com.php | 14 + .../lib/PicoFeed/Rules/derstandard.at.php | 14 + .../lib/PicoFeed/Rules/dilbert.com.php | 11 + .../PicoFeed/Rules/discovermagazine.com.php | 26 + .../lib/PicoFeed/Rules/distrowatch.com.php | 13 + .../lib/PicoFeed/Rules/dozodomo.com.php | 15 + .../PicoFeed/Rules/drawingboardcomic.com.php | 15 + .../picofeed/lib/PicoFeed/Rules/e-w-e.ru.php | 22 + .../lib/PicoFeed/Rules/economist.com.php | 25 + .../Rules/encyclopedie.naheulbeuk.com.php | 13 + .../lib/PicoFeed/Rules/endlessorigami.com.php | 8 + .../lib/PicoFeed/Rules/engadget.com.php | 10 + .../PicoFeed/Rules/escapistmagazine.com.php | 45 + .../lib/PicoFeed/Rules/espn.go.com.php | 11 + .../lib/PicoFeed/Rules/exocomics.com.php | 15 + .../lib/PicoFeed/Rules/explosm.net.php | 13 + .../Rules/extrafabulouscomics.com.php | 8 + .../lib/PicoFeed/Rules/factroom.ru.php | 27 + .../lib/PicoFeed/Rules/fastcodesign.com.php | 13 + .../lib/PicoFeed/Rules/fastcoexist.com.php | 13 + .../lib/PicoFeed/Rules/fastcompany.com.php | 13 + .../lib/PicoFeed/Rules/ffworld.com.php | 13 + .../lib/PicoFeed/Rules/foreignpolicy.com.php | 21 + .../lib/PicoFeed/Rules/fossbytes.com.php | 18 + .../lib/PicoFeed/Rules/fototelegraf.ru.php | 19 + .../PicoFeed/Rules/fowllanguagecomics.com.php | 10 + .../picofeed/lib/PicoFeed/Rules/geek.com.php | 17 + .../lib/PicoFeed/Rules/geektimes.ru.php | 12 + .../PicoFeed/Rules/gerbilwithajetpack.com.php | 12 + .../lib/PicoFeed/Rules/giantitp.com.php | 12 + .../lib/PicoFeed/Rules/github.com.php | 14 + .../lib/PicoFeed/Rules/gocomics.com.php | 12 + .../picofeed/lib/PicoFeed/Rules/golem.de.php | 20 + .../lib/PicoFeed/Rules/gorabbit.ru.php | 19 + .../lib/PicoFeed/Rules/habrahabr.ru.php | 12 + .../lib/PicoFeed/Rules/happletea.com.php | 18 + .../lib/PicoFeed/Rules/hardware.fr.php | 11 + .../picofeed/lib/PicoFeed/Rules/heise.de.php | 12 + .../lib/PicoFeed/Rules/hotshowlife.com.php | 23 + .../lib/PicoFeed/Rules/huffingtonpost.com.php | 13 + .../lib/PicoFeed/Rules/imogenquest.net.php | 8 + .../lib/PicoFeed/Rules/indiehaven.com.php | 11 + .../picofeed/lib/PicoFeed/Rules/ing.dk.php | 12 + .../lib/PicoFeed/Rules/invisiblebread.com.php | 8 + .../lib/PicoFeed/Rules/ir.amd.com.php | 10 + .../lib/PicoFeed/Rules/japantimes.co.jp.php | 21 + .../lib/PicoFeed/Rules/japantoday.com.php | 15 + .../lib/PicoFeed/Rules/journaldugeek.com.php | 11 + .../lib/PicoFeed/Rules/jsonline.com.php | 37 + .../lib/PicoFeed/Rules/justcoolidea.ru.php | 19 + .../picofeed/lib/PicoFeed/Rules/kanpai.fr.php | 13 + .../PicoFeed/Rules/karriere.jobfinder.dk.php | 12 + .../picofeed/lib/PicoFeed/Rules/kodi.tv.php | 11 + .../lib/PicoFeed/Rules/koreaherald.com.php | 11 + .../lib/PicoFeed/Rules/koreatimes.php | 14 + .../PicoFeed/Rules/lastplacecomics.com.php | 8 + .../lib/PicoFeed/Rules/legorafi.fr.php | 22 + .../lib/PicoFeed/Rules/lejapon.fr.php | 17 + .../lib/PicoFeed/Rules/lesjoiesducode.fr.php | 13 + .../picofeed/lib/PicoFeed/Rules/lfg.co.php | 12 + .../lib/PicoFeed/Rules/lifehacker.com.php | 18 + .../lib/PicoFeed/Rules/lifehacker.ru.php | 22 + .../picofeed/lib/PicoFeed/Rules/linux.org.php | 14 + .../lib/PicoFeed/Rules/linux.org.ru.php | 13 + .../lib/PicoFeed/Rules/linuxinsider.com.php | 20 + .../picofeed/lib/PicoFeed/Rules/lists.php | 13 + .../lib/PicoFeed/Rules/loadingartist.com.php | 8 + .../lib/PicoFeed/Rules/loldwell.com.php | 10 + .../lib/PicoFeed/Rules/lukesurl.com.php | 15 + .../picofeed/lib/PicoFeed/Rules/macg.co.php | 13 + .../picofeed/lib/PicoFeed/Rules/marc.info.php | 13 + .../PicoFeed/Rules/marriedtothesea.com.php | 12 + .../lib/PicoFeed/Rules/marycagle.com.php | 13 + .../Rules/maximumble.thebookofbiff.com.php | 10 + .../lib/PicoFeed/Rules/medium.com.php | 19 + .../lib/PicoFeed/Rules/mercworks.net.php | 17 + .../lib/PicoFeed/Rules/metronieuws.nl.php | 10 + .../lib/PicoFeed/Rules/milwaukeenns.php | 14 + .../Rules/mokepon.smackjeeves.com.php | 10 + .../lib/PicoFeed/Rules/monandroid.com.php | 13 + .../lib/PicoFeed/Rules/monwindows.com.php | 13 + .../lib/PicoFeed/Rules/moya-planeta.ru.php | 21 + .../lib/PicoFeed/Rules/mrlovenstein.com.php | 9 + .../lib/PicoFeed/Rules/muckrock.com.php | 20 + .../PicoFeed/Rules/mynorthshorenow.com.php | 27 + .../lib/PicoFeed/Rules/nakedCapitalism.php | 11 + .../picofeed/lib/PicoFeed/Rules/nasa.gov.php | 14 + .../lib/PicoFeed/Rules/nat-geo.ru.php | 11 + .../PicoFeed/Rules/nationaljournal.com.php | 15 + .../lib/PicoFeed/Rules/nature.com.php | 13 + .../picofeed/lib/PicoFeed/Rules/nba.com.php | 15 + .../lib/PicoFeed/Rules/nedroid.com.php | 8 + .../lib/PicoFeed/Rules/networkworld.com.php | 20 + .../lib/PicoFeed/Rules/neustadt-ticker.de.php | 15 + .../lib/PicoFeed/Rules/nextinpact.com.php | 18 + .../lib/PicoFeed/Rules/niceteethcomic.com.php | 10 + .../lib/PicoFeed/Rules/nichtlustig.de.php | 8 + .../picofeed/lib/PicoFeed/Rules/oglaf.com.php | 19 + .../picofeed/lib/PicoFeed/Rules/onhax.net.php | 15 + .../lib/PicoFeed/Rules/onmilwaukee.php | 24 + .../lib/PicoFeed/Rules/openculture.com.php | 11 + .../lib/PicoFeed/Rules/opennet.ru.php | 13 + .../PicoFeed/Rules/openrightsgroup.org.php | 20 + .../lib/PicoFeed/Rules/opensource.com.php | 22 + .../lib/PicoFeed/Rules/optipess.com.php | 8 + .../lib/PicoFeed/Rules/osnews.com.php | 11 + .../lib/PicoFeed/Rules/pastebin.com.php | 13 + .../lib/PicoFeed/Rules/peebleslab.com.php | 9 + .../lib/PicoFeed/Rules/penny-arcade.com.php | 21 + .../lib/PicoFeed/Rules/pixelbeat.org.php | 12 + .../lib/PicoFeed/Rules/plus.google.com.php | 11 + .../lib/PicoFeed/Rules/popstrip.com.php | 8 + .../PicoFeed/Rules/publicpolicyforum.org.php | 15 + .../picofeed/lib/PicoFeed/Rules/publy.ru.php | 24 + .../lib/PicoFeed/Rules/putaindecode.fr.php | 16 + .../lib/PicoFeed/Rules/recode.net.php | 20 + .../PicoFeed/Rules/retractionwatch.com.php | 18 + .../PicoFeed/Rules/rockpapershotgun.com.php | 11 + .../PicoFeed/Rules/rue89.nouvelobs.com.php | 13 + .../lib/PicoFeed/Rules/rugbyrama.fr.php | 20 + .../lib/PicoFeed/Rules/satwcomic.com.php | 13 + .../lib/PicoFeed/Rules/scrumalliance.org.php | 12 + .../lib/PicoFeed/Rules/securityfocus.com.php | 17 + .../PicoFeed/Rules/sentfromthemoon.com.php | 18 + .../lib/PicoFeed/Rules/sitepoint.com.php | 13 + .../lib/PicoFeed/Rules/slashdot.org.php | 11 + .../PicoFeed/Rules/smallhousebliss.com.php | 19 + .../lib/PicoFeed/Rules/smarthomewelt.de.php | 10 + .../PicoFeed/Rules/smashingmagazine.com.php | 10 + .../lib/PicoFeed/Rules/smbc-comics.com.php | 14 + .../lib/PicoFeed/Rules/snopes.com.php | 22 + .../lib/PicoFeed/Rules/soundandvision.com.php | 21 + .../lib/PicoFeed/Rules/spiegel.de.php | 11 + .../lib/PicoFeed/Rules/stereophile.com.php | 11 + .../lib/PicoFeed/Rules/stupidfox.net.php | 13 + .../lib/PicoFeed/Rules/subtraction.com.php | 15 + .../picofeed/lib/PicoFeed/Rules/sz.de.php | 10 + .../lib/PicoFeed/Rules/takprosto.cc.php | 21 + .../lib/PicoFeed/Rules/techcrunch.com.php | 15 + .../PicoFeed/Rules/the-ebook-reader.com.php | 15 + .../lib/PicoFeed/Rules/theatlantic.com.php | 23 + .../lib/PicoFeed/Rules/theawkwardyeti.com.php | 12 + .../lib/PicoFeed/Rules/thecodinglove.com.php | 10 + .../PicoFeed/Rules/thedoghousediaries.com.php | 18 + .../lib/PicoFeed/Rules/thegamercat.com.php | 10 + .../lib/PicoFeed/Rules/thehindu.com.php | 19 + .../lib/PicoFeed/Rules/thelocal.se.php | 17 + .../lib/PicoFeed/Rules/themerepublic.net.php | 10 + .../lib/PicoFeed/Rules/themoscowtimes.com.php | 18 + .../lib/PicoFeed/Rules/thenewslens.com.php | 21 + .../lib/PicoFeed/Rules/theodd1sout.com.php | 8 + .../lib/PicoFeed/Rules/theonion.com.php | 12 + .../lib/PicoFeed/Rules/thestandard.com.hk.php | 22 + .../lib/PicoFeed/Rules/threepanelsoul.com.php | 11 + .../Rules/timesofindia.indiatimes.com.php | 14 + .../lib/PicoFeed/Rules/travel-dealz.de.php | 15 + .../lib/PicoFeed/Rules/treehugger.com.php | 14 + .../lib/PicoFeed/Rules/treelobsters.com.php | 8 + .../lib/PicoFeed/Rules/twogag.com.php | 8 + .../PicoFeed/Rules/twokinds.keenspot.com.php | 10 + .../lib/PicoFeed/Rules/undeadly.org.php | 14 + .../picofeed/lib/PicoFeed/Rules/upi.com.php | 15 + .../lib/PicoFeed/Rules/usatoday.com.php | 27 + .../lib/PicoFeed/Rules/version2.dk.php | 12 + .../lib/PicoFeed/Rules/vgcats.com.php | 15 + .../picofeed/lib/PicoFeed/Rules/vuxml.org.php | 17 + .../PicoFeed/Rules/wausaudailyherald.com.php | 27 + .../lib/PicoFeed/Rules/www.bbc.co.uk.php | 33 + .../lib/PicoFeed/Rules/www.bdgest.com.php | 15 + .../lib/PicoFeed/Rules/www.bgr.in.php | 23 + .../PicoFeed/Rules/www.businessweek.com.php | 15 + .../lib/PicoFeed/Rules/www.cnn.com.php | 24 + .../lib/PicoFeed/Rules/www.developpez.com.php | 21 + .../lib/PicoFeed/Rules/www.egscomics.com.php | 12 + .../Rules/www.fakingnews.firstpost.com.php | 17 + .../lib/PicoFeed/Rules/www.forbes.com.php | 20 + .../PicoFeed/Rules/www.franceculture.fr.php | 14 + .../Rules/www.futura-sciences.com.php | 19 + .../PicoFeed/Rules/www.geekculture.com.php | 13 + .../lib/PicoFeed/Rules/www.howtogeek.com.php | 14 + .../lib/PicoFeed/Rules/www.lepoint.fr.php | 18 + .../PicoFeed/Rules/www.lesnumeriques.com.php | 25 + .../lib/PicoFeed/Rules/www.mac4ever.com.php | 13 + .../lib/PicoFeed/Rules/www.makeuseof.com.php | 18 + .../Rules/www.monsieur-le-chien.fr.php | 11 + .../lib/PicoFeed/Rules/www.npr.org.php | 28 + .../lib/PicoFeed/Rules/www.numerama.com.php | 15 + .../lib/PicoFeed/Rules/www.oneindia.com.php | 14 + .../Rules/www.pseudo-sciences.org.php | 16 + .../lib/PicoFeed/Rules/www.sciencemag.org.php | 16 + .../lib/PicoFeed/Rules/www.slate.fr.php | 19 + .../PicoFeed/Rules/www.universfreebox.com.php | 15 + .../lib/PicoFeed/Rules/www.zeit.de.php | 41 + .../picofeed/lib/PicoFeed/Rules/xkcd.com.php | 8 + .../lib/PicoFeed/Rules/ymatuhin.ru.php | 21 + .../picofeed/lib/PicoFeed/Rules/zdnet.com.php | 23 + .../lib/PicoFeed/Scraper/CandidateParser.php | 281 + .../lib/PicoFeed/Scraper/ParserInterface.php | 20 + .../lib/PicoFeed/Scraper/RuleLoader.php | 104 + .../lib/PicoFeed/Scraper/RuleParser.php | 102 + .../picofeed/lib/PicoFeed/Scraper/Scraper.php | 282 + .../PicoFeed/Serialization/Subscription.php | 175 + .../Serialization/SubscriptionList.php | 75 + .../Serialization/SubscriptionListBuilder.php | 204 + .../Serialization/SubscriptionListParser.php | 100 + .../Serialization/SubscriptionParser.php | 142 + .../PicoFeed/Syndication/AtomFeedBuilder.php | 65 + .../lib/PicoFeed/Syndication/AtomHelper.php | 139 + .../PicoFeed/Syndication/AtomItemBuilder.php | 63 + .../lib/PicoFeed/Syndication/FeedBuilder.php | 185 + .../lib/PicoFeed/Syndication/ItemBuilder.php | 209 + .../PicoFeed/Syndication/Rss20FeedBuilder.php | 76 + .../lib/PicoFeed/Syndication/Rss20Helper.php | 115 + .../PicoFeed/Syndication/Rss20ItemBuilder.php | 67 + .../admin/vendor/fguillot/picofeed/picofeed | 135 + .../vendor/robthree/twofactorauth/LICENSE | 22 + .../vendor/robthree/twofactorauth/README.md | 197 + .../robthree/twofactorauth/TwoFactorAuth.sln | 22 + .../Providers/Qr/BaseHTTPQRCodeProvider.php | 27 + .../lib/Providers/Qr/GoogleQRCodeProvider.php | 39 + .../lib/Providers/Qr/IQRCodeProvider.php | 9 + .../lib/Providers/Qr/QRException.php | 5 + .../lib/Providers/Qr/QRServerProvider.php | 71 + .../lib/Providers/Qr/QRicketProvider.php | 54 + .../lib/Providers/Rng/CSRNGProvider.php | 14 + .../lib/Providers/Rng/HashRNGProvider.php | 28 + .../lib/Providers/Rng/IRNGProvider.php | 9 + .../lib/Providers/Rng/MCryptRNGProvider.php | 23 + .../lib/Providers/Rng/OpenSSLRNGProvider.php | 25 + .../lib/Providers/Rng/RNGException.php | 5 + .../ConvertUnixTimeDotComTimeProvider.php | 15 + .../lib/Providers/Time/HttpTimeProvider.php | 53 + .../lib/Providers/Time/ITimeProvider.php | 8 + .../Time/LocalMachineTimeProvider.php | 9 + .../lib/Providers/Time/TimeException.php | 5 + .../twofactorauth/lib/TwoFactorAuth.php | 249 + .../lib/TwoFactorAuthException.php | 7 + .../vendor/zendframework/zendxml/CHANGELOG.md | 24 + .../vendor/zendframework/zendxml/LICENSE.md | 12 + .../vendor/zendframework/zendxml/README.md | 50 + .../ZendXml/Exception/ExceptionInterface.php | 14 + .../Exception/InvalidArgumentException.php | 17 + .../ZendXml/Exception/RuntimeException.php | 17 + .../zendxml/library/ZendXml/Security.php | 374 + user/plugins/config/media.yaml | 0 user/plugins/config/plugins/langswitcher.yaml | 3 + .../config/plugins/markdown-notices.yaml | 7 + user/plugins/config/plugins/mediaembed.yaml | 141 + user/plugins/config/plugins/photoswipe.yaml | 2 + user/plugins/config/plugins/unitegallery.yaml | 6 + user/plugins/config/security.yaml | 1 + user/plugins/config/site.yaml | 17 + user/plugins/config/streams.yaml | 0 user/plugins/config/system.yaml | 142 + user/plugins/email/CHANGELOG.md | 170 + user/plugins/email/LICENSE | 21 + user/plugins/email/README.md | 373 + user/plugins/email/blueprints.yaml | 181 + user/plugins/email/classes/Email.php | 191 + user/plugins/email/classes/Utils.php | 57 + user/plugins/email/cli/TestEmailCommand.php | 98 + user/plugins/email/composer.json | 10 + user/plugins/email/composer.lock | 72 + user/plugins/email/email.php | 323 + user/plugins/email/email.yaml | 17 + user/plugins/email/hebe.json | 15 + user/plugins/email/languages.yaml | 56 + .../email/templates/email/base.html.twig | 210 + user/plugins/email/vendor/autoload.php | 7 + .../email/vendor/composer/ClassLoader.php | 445 + user/plugins/email/vendor/composer/LICENSE | 56 + .../vendor/composer/autoload_classmap.php | 9 + .../email/vendor/composer/autoload_files.php | 10 + .../vendor/composer/autoload_namespaces.php | 9 + .../email/vendor/composer/autoload_psr4.php | 10 + .../email/vendor/composer/autoload_real.php | 70 + .../email/vendor/composer/autoload_static.php | 35 + .../email/vendor/composer/installed.json | 58 + .../vendor/swiftmailer/swiftmailer/CHANGES | 267 + .../vendor/swiftmailer/swiftmailer/LICENSE | 19 + .../vendor/swiftmailer/swiftmailer/README | 15 + .../vendor/swiftmailer/swiftmailer/VERSION | 1 + .../swiftmailer/swiftmailer/composer.json | 37 + .../swiftmailer/lib/classes/Swift.php | 80 + .../lib/classes/Swift/Attachment.php | 71 + .../AbstractFilterableInputStream.php | 181 + .../Swift/ByteStream/ArrayByteStream.php | 182 + .../Swift/ByteStream/FileByteStream.php | 231 + .../ByteStream/TemporaryFileByteStream.php | 42 + .../lib/classes/Swift/CharacterReader.php | 67 + .../GenericFixedWidthReader.php | 97 + .../Swift/CharacterReader/UsAsciiReader.php | 84 + .../Swift/CharacterReader/Utf8Reader.php | 176 + .../classes/Swift/CharacterReaderFactory.php | 26 + .../SimpleCharacterReaderFactory.php | 124 + .../lib/classes/Swift/CharacterStream.php | 89 + .../CharacterStream/ArrayCharacterStream.php | 293 + .../CharacterStream/NgCharacterStream.php | 267 + .../lib/classes/Swift/ConfigurableSpool.php | 63 + .../lib/classes/Swift/DependencyContainer.php | 373 + .../lib/classes/Swift/DependencyException.php | 27 + .../lib/classes/Swift/EmbeddedFile.php | 69 + .../swiftmailer/lib/classes/Swift/Encoder.php | 28 + .../classes/Swift/Encoder/Base64Encoder.php | 58 + .../lib/classes/Swift/Encoder/QpEncoder.php | 300 + .../classes/Swift/Encoder/Rfc2231Encoder.php | 92 + .../lib/classes/Swift/Encoding.php | 62 + .../lib/classes/Swift/Events/CommandEvent.php | 65 + .../classes/Swift/Events/CommandListener.php | 24 + .../lib/classes/Swift/Events/Event.php | 38 + .../classes/Swift/Events/EventDispatcher.php | 83 + .../classes/Swift/Events/EventListener.php | 18 + .../lib/classes/Swift/Events/EventObject.php | 63 + .../classes/Swift/Events/ResponseEvent.php | 65 + .../classes/Swift/Events/ResponseListener.php | 24 + .../lib/classes/Swift/Events/SendEvent.php | 129 + .../lib/classes/Swift/Events/SendListener.php | 31 + .../Swift/Events/SimpleEventDispatcher.php | 156 + .../Swift/Events/TransportChangeEvent.php | 27 + .../Swift/Events/TransportChangeListener.php | 45 + .../Swift/Events/TransportExceptionEvent.php | 46 + .../Events/TransportExceptionListener.php | 24 + .../lib/classes/Swift/FailoverTransport.php | 45 + .../lib/classes/Swift/FileSpool.php | 208 + .../lib/classes/Swift/FileStream.php | 24 + .../lib/classes/Swift/Filterable.php | 32 + .../swiftmailer/lib/classes/Swift/Image.php | 57 + .../lib/classes/Swift/InputByteStream.php | 75 + .../lib/classes/Swift/IoException.php | 29 + .../lib/classes/Swift/KeyCache.php | 105 + .../classes/Swift/KeyCache/ArrayKeyCache.php | 206 + .../classes/Swift/KeyCache/DiskKeyCache.php | 321 + .../Swift/KeyCache/KeyCacheInputStream.php | 51 + .../classes/Swift/KeyCache/NullKeyCache.php | 115 + .../KeyCache/SimpleKeyCacheInputStream.php | 127 + .../classes/Swift/LoadBalancedTransport.php | 45 + .../lib/classes/Swift/MailTransport.php | 47 + .../swiftmailer/lib/classes/Swift/Mailer.php | 114 + .../Swift/Mailer/ArrayRecipientIterator.php | 55 + .../Swift/Mailer/RecipientIterator.php | 32 + .../lib/classes/Swift/MemorySpool.php | 110 + .../swiftmailer/lib/classes/Swift/Message.php | 289 + .../lib/classes/Swift/Mime/Attachment.php | 149 + .../classes/Swift/Mime/CharsetObserver.php | 24 + .../lib/classes/Swift/Mime/ContentEncoder.php | 34 + .../ContentEncoder/Base64ContentEncoder.php | 104 + .../ContentEncoder/NativeQpContentEncoder.php | 123 + .../ContentEncoder/PlainContentEncoder.php | 162 + .../Mime/ContentEncoder/QpContentEncoder.php | 134 + .../ContentEncoder/QpContentEncoderProxy.php | 98 + .../Mime/ContentEncoder/RawContentEncoder.php | 64 + .../lib/classes/Swift/Mime/EmbeddedFile.php | 45 + .../classes/Swift/Mime/EncodingObserver.php | 24 + .../lib/classes/Swift/Mime/Grammar.php | 176 + .../lib/classes/Swift/Mime/Header.php | 93 + .../lib/classes/Swift/Mime/HeaderEncoder.php | 24 + .../HeaderEncoder/Base64HeaderEncoder.php | 55 + .../Mime/HeaderEncoder/QpHeaderEncoder.php | 65 + .../lib/classes/Swift/Mime/HeaderFactory.php | 78 + .../lib/classes/Swift/Mime/HeaderSet.php | 169 + .../Swift/Mime/Headers/AbstractHeader.php | 501 + .../classes/Swift/Mime/Headers/DateHeader.php | 125 + .../Mime/Headers/IdentificationHeader.php | 180 + .../Swift/Mime/Headers/MailboxHeader.php | 351 + .../Swift/Mime/Headers/OpenDKIMHeader.php | 133 + .../Mime/Headers/ParameterizedHeader.php | 258 + .../classes/Swift/Mime/Headers/PathHeader.php | 143 + .../Swift/Mime/Headers/UnstructuredHeader.php | 112 + .../lib/classes/Swift/Mime/Message.php | 223 + .../lib/classes/Swift/Mime/MimeEntity.php | 117 + .../lib/classes/Swift/Mime/MimePart.php | 212 + .../Swift/Mime/ParameterizedHeader.php | 34 + .../Swift/Mime/SimpleHeaderFactory.php | 193 + .../classes/Swift/Mime/SimpleHeaderSet.php | 414 + .../lib/classes/Swift/Mime/SimpleMessage.php | 655 + .../classes/Swift/Mime/SimpleMimeEntity.php | 846 + .../lib/classes/Swift/MimePart.php | 59 + .../lib/classes/Swift/NullTransport.php | 36 + .../lib/classes/Swift/OutputByteStream.php | 46 + .../classes/Swift/Plugins/AntiFloodPlugin.php | 141 + .../Swift/Plugins/BandwidthMonitorPlugin.php | 164 + .../Swift/Plugins/Decorator/Replacements.php | 31 + .../classes/Swift/Plugins/DecoratorPlugin.php | 204 + .../Swift/Plugins/ImpersonatePlugin.php | 69 + .../lib/classes/Swift/Plugins/Logger.php | 36 + .../classes/Swift/Plugins/LoggerPlugin.php | 142 + .../Swift/Plugins/Loggers/ArrayLogger.php | 72 + .../Swift/Plugins/Loggers/EchoLogger.php | 58 + .../classes/Swift/Plugins/MessageLogger.php | 74 + .../Swift/Plugins/Pop/Pop3Connection.php | 31 + .../Swift/Plugins/Pop/Pop3Exception.php | 27 + .../Swift/Plugins/PopBeforeSmtpPlugin.php | 273 + .../Swift/Plugins/RedirectingPlugin.php | 213 + .../lib/classes/Swift/Plugins/Reporter.php | 32 + .../classes/Swift/Plugins/ReporterPlugin.php | 61 + .../Swift/Plugins/Reporters/HitReporter.php | 59 + .../Swift/Plugins/Reporters/HtmlReporter.php | 39 + .../lib/classes/Swift/Plugins/Sleeper.php | 24 + .../classes/Swift/Plugins/ThrottlerPlugin.php | 200 + .../lib/classes/Swift/Plugins/Timer.php | 24 + .../lib/classes/Swift/Preferences.php | 100 + .../Swift/ReplacementFilterFactory.php | 27 + .../classes/Swift/RfcComplianceException.php | 27 + .../lib/classes/Swift/SendmailTransport.php | 45 + .../lib/classes/Swift/SignedMessage.php | 23 + .../swiftmailer/lib/classes/Swift/Signer.php | 20 + .../lib/classes/Swift/Signers/BodySigner.php | 33 + .../lib/classes/Swift/Signers/DKIMSigner.php | 712 + .../classes/Swift/Signers/DomainKeySigner.php | 524 + .../classes/Swift/Signers/HeaderSigner.php | 65 + .../classes/Swift/Signers/OpenDKIMSigner.php | 190 + .../lib/classes/Swift/Signers/SMimeSigner.php | 436 + .../lib/classes/Swift/SmtpTransport.php | 58 + .../swiftmailer/lib/classes/Swift/Spool.php | 53 + .../lib/classes/Swift/SpoolTransport.php | 47 + .../lib/classes/Swift/StreamFilter.php | 35 + .../ByteArrayReplacementFilter.php | 170 + .../StreamFilters/StringReplacementFilter.php | 70 + .../StringReplacementFilterFactory.php | 45 + .../lib/classes/Swift/SwiftException.php | 29 + .../lib/classes/Swift/Transport.php | 54 + .../Swift/Transport/AbstractSmtpTransport.php | 499 + .../Esmtp/Auth/CramMd5Authenticator.php | 81 + .../Esmtp/Auth/LoginAuthenticator.php | 51 + .../Esmtp/Auth/NTLMAuthenticator.php | 725 + .../Esmtp/Auth/PlainAuthenticator.php | 50 + .../Esmtp/Auth/XOAuth2Authenticator.php | 70 + .../Swift/Transport/Esmtp/AuthHandler.php | 263 + .../Swift/Transport/Esmtp/Authenticator.php | 35 + .../classes/Swift/Transport/EsmtpHandler.php | 86 + .../Swift/Transport/EsmtpTransport.php | 411 + .../Swift/Transport/FailoverTransport.php | 88 + .../lib/classes/Swift/Transport/IoBuffer.php | 67 + .../Swift/Transport/LoadBalancedTransport.php | 183 + .../classes/Swift/Transport/MailInvoker.php | 32 + .../classes/Swift/Transport/MailTransport.php | 297 + .../classes/Swift/Transport/NullTransport.php | 93 + .../Swift/Transport/SendmailTransport.php | 160 + .../Swift/Transport/SimpleMailInvoker.php | 39 + .../lib/classes/Swift/Transport/SmtpAgent.php | 36 + .../Swift/Transport/SpoolTransport.php | 117 + .../classes/Swift/Transport/StreamBuffer.php | 325 + .../lib/classes/Swift/TransportException.php | 29 + .../lib/classes/Swift/Validate.php | 43 + .../lib/dependency_maps/cache_deps.php | 23 + .../lib/dependency_maps/message_deps.php | 9 + .../lib/dependency_maps/mime_deps.php | 123 + .../lib/dependency_maps/transport_deps.php | 76 + .../swiftmailer/lib/mime_types.php | 1007 + .../swiftmailer/lib/preferences.php | 25 + .../swiftmailer/lib/swift_init.php | 28 + .../swiftmailer/lib/swift_required.php | 30 + .../swiftmailer/lib/swift_required_pear.php | 30 + .../lib/swiftmailer_generate_mimes_config.php | 193 + user/plugins/error/CHANGELOG.md | 54 + user/plugins/error/LICENSE | 21 + user/plugins/error/README.md | 89 + user/plugins/error/assets/readme_1.png | Bin 0 -> 41685 bytes user/plugins/error/blueprints.yaml | 32 + user/plugins/error/cli/LogCommand.php | 130 + user/plugins/error/error.php | 65 + user/plugins/error/error.yaml | 3 + user/plugins/error/languages.yaml | 37 + user/plugins/error/pages/error.md | 13 + user/plugins/error/templates/error.html.twig | 3 + user/plugins/error/templates/error.json.twig | 1 + user/plugins/form/.eslintrc | 165 + user/plugins/form/.gitignore | 5 + user/plugins/form/CHANGELOG.md | 559 + user/plugins/form/LICENSE | 21 + user/plugins/form/README.md | 29 + user/plugins/form/app/main.js | 289 + user/plugins/form/assets/dropzone.min.css | 1 + user/plugins/form/assets/form-styles.css | 69 + user/plugins/form/assets/form.min.js | 3 + user/plugins/form/blueprints.yaml | 145 + user/plugins/form/classes/form.php | 720 + user/plugins/form/form.php | 728 + user/plugins/form/form.yaml | 12 + user/plugins/form/gulpfile.js | 53 + user/plugins/form/hebe.json | 15 + user/plugins/form/languages.yaml | 374 + user/plugins/form/package.json | 35 + .../form/templates/form-messages.html.twig | 2 + .../form/templates/form-messages.json.twig | 2 + user/plugins/form/templates/form.html.twig | 8 + user/plugins/form/templates/form.json.twig | 1 + .../plugins/form/templates/formdata.html.twig | 20 + .../form/templates/forms/ajax.json.twig | 5 + .../form/templates/forms/data.html.twig | 1 + .../form/templates/forms/data.txt.twig | 1 + .../templates/forms/default/data.html.twig | 39 + .../templates/forms/default/data.txt.twig | 16 + .../templates/forms/default/field.html.twig | 98 + .../templates/forms/default/form.html.twig | 83 + .../form/templates/forms/field.html.twig | 1 + .../forms/fields/avatar/avatar.html.twig | 5 + .../forms/fields/captcha/captcha.html.twig | 32 + .../forms/fields/checkbox/checkbox.html.twig | 29 + .../fields/checkboxes/checkboxes.html.twig | 43 + .../forms/fields/color/color.html.twig | 6 + .../forms/fields/column/column.html.twig | 10 + .../forms/fields/columns/columns.html.twig | 10 + .../fields/conditional/conditional.html.twig | 22 + .../forms/fields/date/date.html.twig | 8 + .../forms/fields/datetime/datetime.html.twig | 2 + .../forms/fields/display/display.html.twig | 19 + .../forms/fields/email/email.html.twig | 7 + .../forms/fields/fieldset/fieldset.html.twig | 14 + .../forms/fields/file/file.html.twig | 106 + .../forms/fields/formname/formname.html.twig | 1 + .../forms/fields/hidden/hidden.html.twig | 3 + .../forms/fields/honeypot/honeypot.html.twig | 1 + .../forms/fields/month/month.html.twig | 6 + .../forms/fields/number/number.html.twig | 9 + .../forms/fields/password/password.html.twig | 7 + .../forms/fields/radio/radio.html.twig | 23 + .../forms/fields/range/range.html.twig | 9 + .../forms/fields/select/select.html.twig | 34 + .../select_optgroup/select_optgroup.html.twig | 44 + .../forms/fields/spacer/spacer.html.twig | 33 + .../forms/fields/switch/switch.html.twig | 1 + .../templates/forms/fields/tel/tel.html.twig | 6 + .../forms/fields/text/text.html.twig | 37 + .../forms/fields/textarea/textarea.html.twig | 27 + .../forms/fields/time/time.html.twig | 6 + .../forms/fields/uniqueid/uniqueid.html.twig | 1 + .../templates/forms/fields/url/url.html.twig | 6 + .../forms/fields/week/week.html.twig | 6 + .../form/templates/forms/form.html.twig | 1 + .../form/templates/modular/form.html.twig | 4 + .../partials/form-messages.html.twig | 5 + .../partials/form-messages.json.twig | 2 + user/plugins/form/webpack.conf.js | 23 + user/plugins/form/yarn.lock | 3243 +++ user/plugins/langswitcher/CHANGELOG.md | 50 + user/plugins/langswitcher/LICENSE | 21 + user/plugins/langswitcher/README.md | 92 + user/plugins/langswitcher/assets/readme_1.png | Bin 0 -> 38637 bytes user/plugins/langswitcher/blueprints.yaml | 47 + .../plugins/langswitcher/css/langswitcher.css | 22 + user/plugins/langswitcher/langswitcher.php | 98 + user/plugins/langswitcher/langswitcher.yaml | 3 + .../partials/langswitcher.hreflang.html.twig | 9 + .../templates/partials/langswitcher.html.twig | 30 + user/plugins/login/.gitignore | 2 + user/plugins/login/CHANGELOG.md | 475 + user/plugins/login/LICENSE | 21 + user/plugins/login/README.md | 479 + user/plugins/login/blueprints.yaml | 380 + user/plugins/login/classes/Controller.php | 452 + .../login/classes/Events/UserLoginEvent.php | 256 + user/plugins/login/classes/Login.php | 499 + user/plugins/login/classes/LoginCache.php | 103 + user/plugins/login/classes/RateLimiter.php | 108 + .../login/classes/RememberMe/RememberMe.php | 41 + .../login/classes/RememberMe/TokenStorage.php | 198 + .../login/cli/ChangePasswordCommand.php | 202 + .../login/cli/ChangeUserStateCommand.php | 175 + user/plugins/login/cli/NewUserCommand.php | 333 + user/plugins/login/composer.json | 37 + user/plugins/login/composer.lock | 113 + user/plugins/login/css/login.css | 86 + user/plugins/login/hebe.json | 15 + user/plugins/login/languages/de.yaml | 47 + user/plugins/login/languages/en.yaml | 115 + user/plugins/login/languages/fr.yaml | 89 + user/plugins/login/languages/hr.yaml | 41 + user/plugins/login/languages/hu.yaml | 21 + user/plugins/login/languages/ro.yaml | 86 + user/plugins/login/languages/ru.yaml | 108 + user/plugins/login/login.php | 936 + user/plugins/login/login.yaml | 53 + user/plugins/login/pages/forgot.md | 21 + user/plugins/login/pages/login.md | 27 + user/plugins/login/pages/profile.md | 50 + user/plugins/login/pages/register.md | 58 + user/plugins/login/pages/reset.md | 35 + user/plugins/login/pages/unauthorized.md | 5 + user/plugins/login/templates/forgot.html.twig | 6 + user/plugins/login/templates/login.html.twig | 6 + user/plugins/login/templates/login.json.twig | 5 + .../templates/partials/forgot-form.html.twig | 18 + .../templates/partials/login-form.html.twig | 51 + .../templates/partials/login-status.html.twig | 5 + .../templates/partials/reset-form.html.twig | 24 + .../plugins/login/templates/profile.html.twig | 9 + .../plugins/login/templates/profile.json.twig | 1 + user/plugins/login/templates/reset.html.twig | 8 + user/plugins/login/vendor/autoload.php | 7 + .../login/vendor/birke/rememberme/.gitignore | 4 + .../login/vendor/birke/rememberme/LICENSE | 21 + .../login/vendor/birke/rememberme/README.md | 40 + .../vendor/birke/rememberme/composer.json | 24 + .../birke/rememberme/example/action.php | 119 + .../birke/rememberme/example/css/style.css | 157 + .../vendor/birke/rememberme/example/index.php | 42 + .../example/templates/cookie_was_stolen.php | 4 + .../rememberme/example/templates/login.php | 14 + .../example/templates/user_is_logged_in.php | 31 + .../login/vendor/birke/rememberme/phpunit.xml | 7 + .../src/Rememberme/Authenticator.php | 293 + .../rememberme/src/Rememberme/Cookie.php | 104 + .../rememberme/src/Rememberme/Storage/DB.php | 145 + .../src/Rememberme/Storage/File.php | 119 + .../rememberme/src/Rememberme/Storage/PDO.php | 121 + .../Rememberme/Storage/StorageInterface.php | 66 + .../birke/rememberme/test/CookieTest.php | 31 + .../birke/rememberme/test/RemembermeTest.php | 352 + .../birke/rememberme/test/Storage/PDO.php | 98 + .../birke/rememberme/test/Storage/tokens.xml | 8 + .../birke/rememberme/test/bootstrap.php | 3 + .../login/vendor/composer/ClassLoader.php | 445 + user/plugins/login/vendor/composer/LICENSE | 21 + .../vendor/composer/autoload_classmap.php | 9 + .../login/vendor/composer/autoload_files.php | 10 + .../vendor/composer/autoload_namespaces.php | 9 + .../login/vendor/composer/autoload_psr4.php | 11 + .../login/vendor/composer/autoload_real.php | 70 + .../login/vendor/composer/autoload_static.php | 43 + .../login/vendor/composer/installed.json | 99 + .../paragonie/random_compat/CHANGELOG.md | 282 + .../vendor/paragonie/random_compat/LICENSE | 22 + .../paragonie/random_compat/RATIONALE.md | 42 + .../vendor/paragonie/random_compat/README.md | 176 + .../paragonie/random_compat/SECURITY.md | 108 + .../paragonie/random_compat/build-phar.sh | 5 + .../paragonie/random_compat/composer.json | 35 + .../dist/random_compat.phar.pubkey | 5 + .../dist/random_compat.phar.pubkey.asc | 11 + .../random_compat/lib/byte_safe_strings.php | 181 + .../random_compat/lib/cast_to_int.php | 74 + .../random_compat/lib/error_polyfill.php | 49 + .../paragonie/random_compat/lib/random.php | 247 + .../lib/random_bytes_com_dotnet.php | 88 + .../lib/random_bytes_dev_urandom.php | 150 + .../lib/random_bytes_libsodium.php | 88 + .../lib/random_bytes_libsodium_legacy.php | 92 + .../random_compat/lib/random_bytes_mcrypt.php | 77 + .../lib/random_bytes_openssl.php | 86 + .../random_compat/lib/random_int.php | 190 + .../random_compat/other/build_phar.php | 57 + .../random_compat/other/ide_stubs/COM.php | 20 + .../random_compat/other/ide_stubs/README.md | 7 + .../other/ide_stubs/com_exception.php | 11 + .../other/ide_stubs/libsodium.php | 90 + .../random_compat/psalm-autoload.php | 9 + .../vendor/paragonie/random_compat/psalm.xml | 15 + user/plugins/markdown-notices/CHANGELOG.md | 5 + user/plugins/markdown-notices/LICENSE | 21 + user/plugins/markdown-notices/README.md | 61 + .../markdown-notices/assets/notices.css | 32 + .../markdown-notices/assets/screenshot.png | Bin 0 -> 86632 bytes user/plugins/markdown-notices/blueprints.yaml | 44 + .../markdown-notices/markdown-notices.php | 84 + .../markdown-notices/markdown-notices.yaml | 3 + user/plugins/mediaembed/.gitignore | 3 + user/plugins/mediaembed/CHANGELOG.md | 50 + user/plugins/mediaembed/LICENSE | 727 + user/plugins/mediaembed/README.md | 144 + .../mediaembed/assets/css/mediaembed.css | 330 + .../mediaembed/assets/js/mediaembed.js | 18 + user/plugins/mediaembed/assets/logo.png | Bin 0 -> 23406 bytes user/plugins/mediaembed/assets/screenshot.png | Bin 0 -> 648316 bytes user/plugins/mediaembed/blueprints.yaml | 242 + .../plugins/mediaembed/classes/Autoloader.php | 103 + .../plugins/mediaembed/classes/MediaEmbed.php | 497 + .../mediaembed/classes/OEmbed/OEmbed.php | 494 + .../classes/OEmbed/OEmbedInterface.php | 156 + .../mediaembed/classes/OEmbed/OEmbedLink.php | 25 + .../mediaembed/classes/OEmbed/OEmbedPhoto.php | 48 + .../mediaembed/classes/OEmbed/OEmbedRich.php | 62 + .../mediaembed/classes/OEmbed/OEmbedVideo.php | 61 + .../mediaembed/classes/ProviderInterface.php | 115 + user/plugins/mediaembed/classes/Service.php | 318 + .../mediaembed/classes/ServiceProvider.php | 234 + .../mediaembed/classes/Services/Github.php | 56 + .../mediaembed/classes/Services/Slides.php | 72 + .../mediaembed/classes/Services/Twitter.php | 51 + user/plugins/mediaembed/docs/CONTRIBUTING.md | 125 + user/plugins/mediaembed/docs/INSTALL.md | 47 + user/plugins/mediaembed/hebe.json | 15 + user/plugins/mediaembed/mediaembed.php | 212 + user/plugins/mediaembed/mediaembed.yaml | 241 + .../templates/partials/mediaembed.html.twig | 124 + .../mediaembed/vendor/Requests/.coveralls.yml | 4 + .../mediaembed/vendor/Requests/.travis.yml | 27 + .../mediaembed/vendor/Requests/CHANGELOG.md | 48 + .../mediaembed/vendor/Requests/LICENSE | 49 + .../mediaembed/vendor/Requests/README.md | 145 + .../Requests/bin/create_pear_package.php | 55 + .../mediaembed/vendor/Requests/composer.json | 24 + .../mediaembed/vendor/Requests/docs/README.md | 28 + .../Requests/docs/authentication-custom.md | 44 + .../vendor/Requests/docs/authentication.md | 31 + .../mediaembed/vendor/Requests/docs/goals.md | 29 + .../mediaembed/vendor/Requests/docs/hooks.md | 92 + .../mediaembed/vendor/Requests/docs/proxy.md | 23 + .../vendor/Requests/docs/usage-advanced.md | 74 + .../mediaembed/vendor/Requests/docs/usage.md | 154 + .../vendor/Requests/docs/why-requests.md | 192 + .../vendor/Requests/examples/basic-auth.php | 16 + .../vendor/Requests/examples/get.php | 13 + .../vendor/Requests/examples/multiple.php | 45 + .../vendor/Requests/examples/post.php | 13 + .../vendor/Requests/examples/proxy.php | 18 + .../vendor/Requests/examples/session.php | 24 + .../vendor/Requests/examples/timeout.php | 17 + .../vendor/Requests/library/Requests.php | 869 + .../vendor/Requests/library/Requests/Auth.php | 33 + .../Requests/library/Requests/Auth/Basic.php | 88 + .../Requests/library/Requests/Cookie.php | 374 + .../Requests/library/Requests/Cookie/Jar.php | 158 + .../Requests/library/Requests/Exception.php | 62 + .../library/Requests/Exception/HTTP.php | 67 + .../library/Requests/Exception/HTTP/400.php | 27 + .../library/Requests/Exception/HTTP/401.php | 27 + .../library/Requests/Exception/HTTP/402.php | 27 + .../library/Requests/Exception/HTTP/403.php | 27 + .../library/Requests/Exception/HTTP/404.php | 27 + .../library/Requests/Exception/HTTP/405.php | 27 + .../library/Requests/Exception/HTTP/406.php | 27 + .../library/Requests/Exception/HTTP/407.php | 27 + .../library/Requests/Exception/HTTP/408.php | 27 + .../library/Requests/Exception/HTTP/409.php | 27 + .../library/Requests/Exception/HTTP/410.php | 27 + .../library/Requests/Exception/HTTP/411.php | 27 + .../library/Requests/Exception/HTTP/412.php | 27 + .../library/Requests/Exception/HTTP/413.php | 27 + .../library/Requests/Exception/HTTP/414.php | 27 + .../library/Requests/Exception/HTTP/415.php | 27 + .../library/Requests/Exception/HTTP/416.php | 27 + .../library/Requests/Exception/HTTP/417.php | 27 + .../library/Requests/Exception/HTTP/418.php | 29 + .../library/Requests/Exception/HTTP/428.php | 29 + .../library/Requests/Exception/HTTP/429.php | 29 + .../library/Requests/Exception/HTTP/431.php | 29 + .../library/Requests/Exception/HTTP/500.php | 27 + .../library/Requests/Exception/HTTP/501.php | 27 + .../library/Requests/Exception/HTTP/502.php | 27 + .../library/Requests/Exception/HTTP/503.php | 27 + .../library/Requests/Exception/HTTP/504.php | 27 + .../library/Requests/Exception/HTTP/505.php | 27 + .../library/Requests/Exception/HTTP/511.php | 29 + .../Requests/Exception/HTTP/Unknown.php | 44 + .../Requests/library/Requests/Hooker.php | 33 + .../Requests/library/Requests/Hooks.php | 61 + .../Requests/library/Requests/IDNAEncoder.php | 390 + .../vendor/Requests/library/Requests/IPv6.php | 221 + .../vendor/Requests/library/Requests/IRI.php | 1221 + .../Requests/library/Requests/Proxy.php | 35 + .../Requests/library/Requests/Proxy/HTTP.php | 150 + .../Requests/library/Requests/Response.php | 95 + .../library/Requests/Response/Headers.php | 95 + .../vendor/Requests/library/Requests/SSL.php | 151 + .../Requests/library/Requests/Session.php | 258 + .../Requests/library/Requests/Transport.php | 41 + .../library/Requests/Transport/cURL.php | 372 + .../library/Requests/Transport/cacert.pem | 3554 +++ .../library/Requests/Transport/fsockopen.php | 404 + .../Utility/CaseInsensitiveDictionary.php | 91 + .../Requests/Utility/FilteredIterator.php | 38 + .../vendor/Requests/package.xml.tpl | 60 + .../vendor/Requests/tests/Auth/Basic.php | 87 + .../vendor/Requests/tests/ChunkedEncoding.php | 68 + .../vendor/Requests/tests/Cookies.php | 349 + .../vendor/Requests/tests/Encoding.php | 94 + .../vendor/Requests/tests/IDNAEncoder.php | 102 + .../mediaembed/vendor/Requests/tests/IRI.php | 418 + .../vendor/Requests/tests/Requests.php | 148 + .../Requests/tests/Response/Headers.php | 55 + .../mediaembed/vendor/Requests/tests/SSL.php | 108 + .../vendor/Requests/tests/Session.php | 86 + .../vendor/Requests/tests/Transport/Base.php | 683 + .../vendor/Requests/tests/Transport/cURL.php | 5 + .../Requests/tests/Transport/fsockopen.php | 5 + .../vendor/Requests/tests/bootstrap.php | 139 + .../vendor/Requests/tests/phpunit.xml.dist | 35 + user/plugins/problems/CHANGELOG.md | 105 + user/plugins/problems/LICENSE | 21 + user/plugins/problems/README.md | 89 + user/plugins/problems/assets/readme_1.png | Bin 0 -> 72908 bytes user/plugins/problems/blueprints.yaml | 37 + user/plugins/problems/css/problems.css | 71 + user/plugins/problems/css/template.css | 762 + user/plugins/problems/html/problems.html | 28 + user/plugins/problems/problems.php | 332 + user/plugins/problems/problems.yaml | 2 + user/themes/.gitkeep | 0 .../_base.scssc | Bin 0 -> 884 bytes .../_breakpoints.scssc | Bin 0 -> 18654 bytes .../_utilities.scssc | Bin 0 -> 8102 bytes .../_core.scssc | Bin 0 -> 36999 bytes .../_flex.scssc | Bin 0 -> 40595 bytes .../_forms.scssc | Bin 0 -> 13789 bytes .../_typography.scssc | Bin 0 -> 16961 bytes .../_assign.scssc | Bin 0 -> 3640 bytes .../_color-lightness.scssc | Bin 0 -> 4778 bytes .../_flex-grid.scssc | Bin 0 -> 8097 bytes .../_golden-ratio.scssc | Bin 0 -> 1659 bytes .../_grid-width.scssc | Bin 0 -> 2668 bytes .../_modular-scale.scssc | Bin 0 -> 18305 bytes .../_px-to-em.scssc | Bin 0 -> 4845 bytes .../_px-to-rem.scssc | Bin 0 -> 4821 bytes .../_strip-units.scssc | Bin 0 -> 1924 bytes .../_tint-shade.scssc | Bin 0 -> 2845 bytes .../_transition-property-name.scssc | Bin 0 -> 6745 bytes .../_unpack.scssc | Bin 0 -> 9667 bytes .../_base.scssc | Bin 0 -> 875 bytes .../_direction.scssc | Bin 0 -> 13045 bytes .../_range.scssc | Bin 0 -> 4758 bytes .../_button.scssc | Bin 0 -> 148578 bytes .../_clearfix.scssc | Bin 0 -> 3284 bytes .../_directional-values.scssc | Bin 0 -> 50966 bytes .../_ellipsis.scssc | Bin 0 -> 2596 bytes .../_font-family.scssc | Bin 0 -> 3849 bytes .../_hide-text.scssc | Bin 0 -> 2755 bytes .../_html5-input-types.scssc | Bin 0 -> 11683 bytes .../_position.scssc | Bin 0 -> 13510 bytes .../_prefixer.scssc | Bin 0 -> 15782 bytes .../_retina-image.scssc | Bin 0 -> 14679 bytes .../_size.scssc | Bin 0 -> 7633 bytes .../_timing-functions.scssc | Bin 0 -> 16845 bytes .../_triangle.scssc | Bin 0 -> 39475 bytes .../_word-wrap.scssc | Bin 0 -> 3038 bytes .../_base.scssc | Bin 0 -> 1726 bytes .../_breakpoints.scssc | Bin 0 -> 9615 bytes .../_core.scssc | Bin 0 -> 1347 bytes .../_layout.scssc | Bin 0 -> 3167 bytes .../_nav.scssc | Bin 0 -> 1363 bytes .../_typography.scssc | Bin 0 -> 4476 bytes .../_blog.scssc | Bin 0 -> 32996 bytes .../_bullets.scssc | Bin 0 -> 12833 bytes .../_buttons.scssc | Bin 0 -> 2305 bytes .../_core.scssc | Bin 0 -> 12287 bytes .../_custom.scssc | Bin 0 -> 3653 bytes .../_errors.scssc | Bin 0 -> 4369 bytes .../_extensions.scssc | Bin 0 -> 6138 bytes .../_fonts.scssc | Bin 0 -> 1303 bytes .../_footer.scssc | Bin 0 -> 9771 bytes .../_forms.scssc | Bin 0 -> 9726 bytes .../_header.scssc | Bin 0 -> 61020 bytes .../_panel.scssc | Bin 0 -> 16966 bytes .../_simplesearch.scssc | Bin 0 -> 11193 bytes .../_tables.scssc | Bin 0 -> 5025 bytes .../_typography.scssc | Bin 0 -> 52103 bytes .../_bourbon-deprecated-upcoming.scssc | Bin 0 -> 2217 bytes .../_bourbon.scssc | Bin 0 -> 9801 bytes .../_convert-units.scssc | Bin 0 -> 8852 bytes .../_gradient-positions-parser.scssc | Bin 0 -> 5766 bytes .../_is-num.scssc | Bin 0 -> 4525 bytes .../_linear-angle-parser.scssc | Bin 0 -> 10973 bytes .../_linear-gradient-parser.scssc | Bin 0 -> 13991 bytes .../_linear-positions-parser.scssc | Bin 0 -> 33787 bytes .../_linear-side-corner-parser.scssc | Bin 0 -> 11915 bytes .../_radial-arg-parser.scssc | Bin 0 -> 23559 bytes .../_radial-gradient-parser.scssc | Bin 0 -> 16638 bytes .../_radial-positions-parser.scssc | Bin 0 -> 7490 bytes .../_render-gradients.scssc | Bin 0 -> 12016 bytes .../_shape-size-stripper.scssc | Bin 0 -> 4046 bytes .../_str-to-num.scssc | Bin 0 -> 16246 bytes .../_base.scssc | Bin 0 -> 1551 bytes .../_bullets.scssc | Bin 0 -> 2281 bytes .../_colors.scssc | Bin 0 -> 15133 bytes .../_typography.scssc | Bin 0 -> 3699 bytes .../_variables.scssc | Bin 0 -> 2825 bytes .../_align-text.scssc | Bin 0 -> 10727 bytes .../_visibility.scssc | Bin 0 -> 608 bytes .../_base.scssc | Bin 0 -> 912 bytes .../_buttons.scssc | Bin 0 -> 6736 bytes .../_animation.scssc | Bin 0 -> 10946 bytes .../_appearance.scssc | Bin 0 -> 1999 bytes .../_backface-visibility.scssc | Bin 0 -> 2294 bytes .../_background-image.scssc | Bin 0 -> 13053 bytes .../_background.scssc | Bin 0 -> 17187 bytes .../_border-image.scssc | Bin 0 -> 17452 bytes .../_border-radius.scssc | Bin 0 -> 5790 bytes .../_box-sizing.scssc | Bin 0 -> 2005 bytes .../_calc.scssc | Bin 0 -> 2701 bytes .../_columns.scssc | Bin 0 -> 11597 bytes .../_filter.scssc | Bin 0 -> 2037 bytes .../_flex-box.scssc | Bin 0 -> 76057 bytes .../_font-face.scssc | Bin 0 -> 13395 bytes .../_hidpi-media-query.scssc | Bin 0 -> 4544 bytes .../_hyphens.scssc | Bin 0 -> 2180 bytes .../_image-rendering.scssc | Bin 0 -> 4693 bytes .../_keyframes.scssc | Bin 0 -> 9002 bytes .../_linear-gradient.scssc | Bin 0 -> 15493 bytes .../_perspective.scssc | Bin 0 -> 3311 bytes .../_placeholder.scssc | Bin 0 -> 2540 bytes .../_radial-gradient.scssc | Bin 0 -> 16177 bytes .../_transform.scssc | Bin 0 -> 5002 bytes .../_transition.scssc | Bin 0 -> 22146 bytes .../_user-select.scssc | Bin 0 -> 1997 bytes .../_all.scssc | Bin 0 -> 2268 bytes .../_features.scssc | Bin 0 -> 18254 bytes .../_showcase.scssc | Bin 0 -> 14110 bytes .../_text.scssc | Bin 0 -> 7608 bytes .../_prefixer.scssc | Bin 0 -> 2048 bytes .../_px-to-em.scssc | Bin 0 -> 988 bytes .../nucleus.scssc | Bin 0 -> 2979 bytes .../particles.scssc | Bin 0 -> 2963 bytes .../template.scssc | Bin 0 -> 6093 bytes user/themes/antimatter/CHANGELOG.md | 285 + user/themes/antimatter/LICENSE | 21 + user/themes/antimatter/README.md | 136 + user/themes/antimatter/antimatter.php | 9 + user/themes/antimatter/antimatter.yaml | 3 + user/themes/antimatter/assets/readme_1.png | Bin 0 -> 424075 bytes user/themes/antimatter/blueprints.yaml | 27 + .../antimatter/blueprints/asset/file.yaml | 70 + user/themes/antimatter/blueprints/blog.yaml | 89 + user/themes/antimatter/blueprints/form.yaml | 2 + user/themes/antimatter/blueprints/item.yaml | 103 + .../blueprints/modular/features.yaml | 40 + .../blueprints/modular/showcase.yaml | 46 + .../antimatter/blueprints/modular/text.yaml | 34 + .../antimatter/css-compiled/nucleus.css | 3 + .../antimatter/css-compiled/nucleus.css.map | 92 + .../antimatter/css-compiled/particles.css | 3 + .../antimatter/css-compiled/particles.css.map | 95 + .../antimatter/css-compiled/template.css | 923 + .../antimatter/css-compiled/template.css.map | 7 + .../antimatter/css/font-awesome.min.css | 4 + user/themes/antimatter/css/nucleus-ie10.css | 24 + user/themes/antimatter/css/nucleus-ie9.css | 62 + user/themes/antimatter/css/prism.css | 121 + .../antimatter/css/pure-0.5.0/grids-min.css | 15 + user/themes/antimatter/css/slidebars.min.css | 2 + .../antimatter/fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes .../antimatter/fonts/fontawesome-webfont.svg | 2671 ++ .../antimatter/fonts/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes .../antimatter/fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes .../fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes user/themes/antimatter/images/favicon.png | Bin 0 -> 1177 bytes user/themes/antimatter/images/logo.png | Bin 0 -> 8714 bytes user/themes/antimatter/js/antimatter.js | 37 + .../antimatter/js/html5shiv-printshiv.min.js | 4 + .../antimatter/js/modernizr.custom.71422.js | 4 + .../themes/antimatter/js/singlePageNav.min.js | 8 + user/themes/antimatter/js/slidebars.min.js | 2 + user/themes/antimatter/languages.yaml | 295 + user/themes/antimatter/screenshot.jpg | Bin 0 -> 162937 bytes user/themes/antimatter/scss.sh | 2 + .../scss/configuration/nucleus/_base.scss | 14 + .../configuration/nucleus/_breakpoints.scss | 16 + .../scss/configuration/nucleus/_core.scss | 2 + .../scss/configuration/nucleus/_layout.scss | 8 + .../scss/configuration/nucleus/_nav.scss | 3 + .../configuration/nucleus/_typography.scss | 14 + .../scss/configuration/template/_base.scss | 11 + .../scss/configuration/template/_bullets.scss | 5 + .../scss/configuration/template/_colors.scss | 75 + .../configuration/template/_typography.scss | 7 + .../configuration/template/_variables.scss | 13 + user/themes/antimatter/scss/nucleus.scss | 27 + .../themes/antimatter/scss/nucleus/_core.scss | 217 + .../themes/antimatter/scss/nucleus/_flex.scss | 197 + .../antimatter/scss/nucleus/_forms.scss | 63 + .../antimatter/scss/nucleus/_typography.scss | 86 + .../scss/nucleus/functions/_base.scss | 2 + .../scss/nucleus/functions/_direction.scss | 37 + .../scss/nucleus/functions/_range.scss | 13 + .../antimatter/scss/nucleus/mixins/_base.scss | 2 + .../scss/nucleus/mixins/_breakpoints.scss | 30 + .../scss/nucleus/mixins/_utilities.scss | 30 + .../scss/nucleus/particles/_align-text.scss | 46 + .../scss/nucleus/particles/_visibility.scss | 0 user/themes/antimatter/scss/particles.scss | 24 + user/themes/antimatter/scss/template.scss | 67 + .../antimatter/scss/template/_blog.scss | 171 + .../antimatter/scss/template/_bullets.scss | 61 + .../antimatter/scss/template/_buttons.scss | 9 + .../antimatter/scss/template/_core.scss | 58 + .../antimatter/scss/template/_custom.scss | 15 + .../antimatter/scss/template/_errors.scss | 17 + .../antimatter/scss/template/_extensions.scss | 22 + .../antimatter/scss/template/_fonts.scss | 3 + .../antimatter/scss/template/_footer.scss | 42 + .../antimatter/scss/template/_forms.scss | 43 + .../antimatter/scss/template/_header.scss | 280 + .../antimatter/scss/template/_panel.scss | 74 + .../scss/template/_simplesearch.scss | 64 + .../antimatter/scss/template/_tables.scss | 15 + .../antimatter/scss/template/_typography.scss | 236 + .../scss/template/modular/_all.scss | 9 + .../scss/template/modular/_features.scss | 99 + .../scss/template/modular/_showcase.scss | 60 + .../scss/template/modular/_text.scss | 35 + .../scss/template/modules/_base.scss | 2 + .../scss/template/modules/_buttons.scss | 24 + .../bourbon/_bourbon-deprecated-upcoming.scss | 8 + .../scss/vendor/bourbon/_bourbon.scss | 77 + .../scss/vendor/bourbon/addons/_button.scss | 374 + .../scss/vendor/bourbon/addons/_clearfix.scss | 23 + .../bourbon/addons/_directional-values.scss | 111 + .../scss/vendor/bourbon/addons/_ellipsis.scss | 7 + .../vendor/bourbon/addons/_font-family.scss | 5 + .../vendor/bourbon/addons/_hide-text.scss | 10 + .../bourbon/addons/_html5-input-types.scss | 86 + .../scss/vendor/bourbon/addons/_position.scss | 32 + .../scss/vendor/bourbon/addons/_prefixer.scss | 45 + .../scss/vendor/bourbon/addons/_rem.scss | 33 + .../vendor/bourbon/addons/_retina-image.scss | 31 + .../scss/vendor/bourbon/addons/_size.scss | 16 + .../bourbon/addons/_timing-functions.scss | 32 + .../scss/vendor/bourbon/addons/_triangle.scss | 83 + .../vendor/bourbon/addons/_word-wrap.scss | 8 + .../scss/vendor/bourbon/css3/_animation.scss | 52 + .../scss/vendor/bourbon/css3/_appearance.scss | 3 + .../bourbon/css3/_backface-visibility.scss | 6 + .../bourbon/css3/_background-image.scss | 42 + .../scss/vendor/bourbon/css3/_background.scss | 55 + .../vendor/bourbon/css3/_border-image.scss | 59 + .../vendor/bourbon/css3/_border-radius.scss | 22 + .../scss/vendor/bourbon/css3/_box-sizing.scss | 4 + .../scss/vendor/bourbon/css3/_calc.scss | 4 + .../scss/vendor/bourbon/css3/_columns.scss | 47 + .../scss/vendor/bourbon/css3/_filter.scss | 5 + .../scss/vendor/bourbon/css3/_flex-box.scss | 321 + .../scss/vendor/bourbon/css3/_font-face.scss | 23 + .../bourbon/css3/_font-feature-settings.scss | 10 + .../bourbon/css3/_hidpi-media-query.scss | 10 + .../scss/vendor/bourbon/css3/_hyphens.scss | 4 + .../vendor/bourbon/css3/_image-rendering.scss | 14 + .../scss/vendor/bourbon/css3/_keyframes.scss | 35 + .../vendor/bourbon/css3/_linear-gradient.scss | 38 + .../vendor/bourbon/css3/_perspective.scss | 8 + .../vendor/bourbon/css3/_placeholder.scss | 8 + .../vendor/bourbon/css3/_radial-gradient.scss | 39 + .../scss/vendor/bourbon/css3/_transform.scss | 15 + .../scss/vendor/bourbon/css3/_transition.scss | 77 + .../vendor/bourbon/css3/_user-select.scss | 3 + .../vendor/bourbon/functions/_assign.scss | 11 + .../bourbon/functions/_color-lightness.scss | 13 + .../vendor/bourbon/functions/_flex-grid.scss | 39 + .../bourbon/functions/_golden-ratio.scss | 3 + .../vendor/bourbon/functions/_grid-width.scss | 13 + .../bourbon/functions/_modular-scale.scss | 66 + .../vendor/bourbon/functions/_px-to-em.scss | 13 + .../vendor/bourbon/functions/_px-to-rem.scss | 15 + .../bourbon/functions/_strip-units.scss | 5 + .../vendor/bourbon/functions/_tint-shade.scss | 9 + .../functions/_transition-property-name.scss | 22 + .../vendor/bourbon/functions/_unpack.scss | 17 + .../bourbon/helpers/_convert-units.scss | 15 + .../helpers/_gradient-positions-parser.scss | 13 + .../scss/vendor/bourbon/helpers/_is-num.scss | 8 + .../bourbon/helpers/_linear-angle-parser.scss | 25 + .../helpers/_linear-gradient-parser.scss | 41 + .../helpers/_linear-positions-parser.scss | 61 + .../helpers/_linear-side-corner-parser.scss | 31 + .../bourbon/helpers/_radial-arg-parser.scss | 69 + .../helpers/_radial-gradient-parser.scss | 50 + .../helpers/_radial-positions-parser.scss | 18 + .../bourbon/helpers/_render-gradients.scss | 26 + .../bourbon/helpers/_shape-size-stripper.scss | 10 + .../vendor/bourbon/helpers/_str-to-num.scss | 50 + .../vendor/bourbon/settings/_prefixer.scss | 6 + .../vendor/bourbon/settings/_px-to-em.scss | 1 + .../vendor/color-schemer/_color-schemer.scss | 31 + .../color-schemer/color-schemer/_cmyk.scss | 14 + .../color-schemer/_color-adjustments.scss | 30 + .../color-schemer/_color-schemer.scss | 208 + .../color-schemer/_colorblind.scss | 29 + .../color-schemer/_comparison.scss | 15 + .../color-schemer/_equalize.scss | 5 + .../color-schemer/_harmonize.scss | 59 + .../color-schemer/_interpolation.scss | 34 + .../color-schemer/color-schemer/_mix.scss | 40 + .../color-schemer/color-schemer/_mixins.scss | 29 + .../color-schemer/color-schemer/_ryb.scss | 76 + .../color-schemer/_tint-shade.scss | 9 + .../antimatter/templates/blog.html.twig | 38 + .../antimatter/templates/default.html.twig | 5 + .../antimatter/templates/error.html.twig | 12 + .../antimatter/templates/form.html.twig | 8 + .../antimatter/templates/item.html.twig | 18 + .../templates/macros/macros.html.twig | 3 + .../antimatter/templates/modular.html.twig | 56 + .../templates/modular/features.html.twig | 22 + .../templates/modular/showcase.html.twig | 13 + .../templates/modular/text.html.twig | 7 + .../templates/partials/base.html.twig | 99 + .../templates/partials/blog_item.html.twig | 89 + .../templates/partials/metadata.html.twig | 3 + .../templates/partials/navigation.html.twig | 51 + .../templates/partials/sidebar.html.twig | 42 + user/themes/antimatter/thumbnail.jpg | Bin 0 -> 24301 bytes user/themes/ethica/.gitkeep | 0 .../_base.scssc | Bin 0 -> 1714 bytes .../_breakpoints.scssc | Bin 0 -> 9548 bytes .../_core.scssc | Bin 0 -> 1280 bytes .../_layout.scssc | Bin 0 -> 3100 bytes .../_nav.scssc | Bin 0 -> 1296 bytes .../_typography.scssc | Bin 0 -> 4409 bytes .../_core.scssc | Bin 0 -> 36987 bytes .../_flex.scssc | Bin 0 -> 40583 bytes .../_forms.scssc | Bin 0 -> 13777 bytes .../_typography.scssc | Bin 0 -> 16949 bytes .../_prefixer.scssc | Bin 0 -> 1981 bytes .../_px-to-em.scssc | Bin 0 -> 921 bytes .../_base.scssc | Bin 0 -> 863 bytes .../_direction.scssc | Bin 0 -> 12308 bytes .../_range.scssc | Bin 0 -> 4557 bytes .../_align-text.scssc | Bin 0 -> 10715 bytes .../_visibility.scssc | Bin 0 -> 596 bytes .../_bourbon-deprecated-upcoming.scssc | Bin 0 -> 2150 bytes .../_bourbon.scssc | Bin 0 -> 9789 bytes .../_assign.scssc | Bin 0 -> 3573 bytes .../_color-lightness.scssc | Bin 0 -> 4711 bytes .../_flex-grid.scssc | Bin 0 -> 8030 bytes .../_golden-ratio.scssc | Bin 0 -> 1592 bytes .../_grid-width.scssc | Bin 0 -> 2601 bytes .../_modular-scale.scssc | Bin 0 -> 17769 bytes .../_px-to-em.scssc | Bin 0 -> 4644 bytes .../_px-to-rem.scssc | Bin 0 -> 4620 bytes .../_strip-units.scssc | Bin 0 -> 1857 bytes .../_tint-shade.scssc | Bin 0 -> 2779 bytes .../_transition-property-name.scssc | Bin 0 -> 6544 bytes .../_unpack.scssc | Bin 0 -> 9332 bytes .../_button.scssc | Bin 0 -> 147784 bytes .../_clearfix.scssc | Bin 0 -> 3217 bytes .../_directional-values.scssc | Bin 0 -> 49381 bytes .../_ellipsis.scssc | Bin 0 -> 2529 bytes .../_font-family.scssc | Bin 0 -> 3782 bytes .../_hide-text.scssc | Bin 0 -> 2688 bytes .../_html5-input-types.scssc | Bin 0 -> 11616 bytes .../_position.scssc | Bin 0 -> 13197 bytes .../_prefixer.scssc | Bin 0 -> 14978 bytes .../_retina-image.scssc | Bin 0 -> 14232 bytes .../_size.scssc | Bin 0 -> 7365 bytes .../_timing-functions.scssc | Bin 0 -> 16778 bytes .../_triangle.scssc | Bin 0 -> 38404 bytes .../_word-wrap.scssc | Bin 0 -> 2904 bytes .../_all.scssc | Bin 0 -> 2201 bytes .../_features.scssc | Bin 0 -> 18187 bytes .../_showcase.scssc | Bin 0 -> 14043 bytes .../_text.scssc | Bin 0 -> 7540 bytes .../_convert-units.scssc | Bin 0 -> 8718 bytes .../_gradient-positions-parser.scssc | Bin 0 -> 5565 bytes .../_is-num.scssc | Bin 0 -> 4548 bytes .../_linear-angle-parser.scssc | Bin 0 -> 10715 bytes .../_linear-gradient-parser.scssc | Bin 0 -> 13676 bytes .../_linear-positions-parser.scssc | Bin 0 -> 32916 bytes .../_linear-side-corner-parser.scssc | Bin 0 -> 11667 bytes .../_radial-arg-parser.scssc | Bin 0 -> 22822 bytes .../_radial-gradient-parser.scssc | Bin 0 -> 16341 bytes .../_radial-positions-parser.scssc | Bin 0 -> 7356 bytes .../_render-gradients.scssc | Bin 0 -> 11614 bytes .../_shape-size-stripper.scssc | Bin 0 -> 3912 bytes .../_str-to-num.scssc | Bin 0 -> 15867 bytes .../_base.scssc | Bin 0 -> 872 bytes .../_breakpoints.scssc | Bin 0 -> 18051 bytes .../_utilities.scssc | Bin 0 -> 8035 bytes .../_base.scssc | Bin 0 -> 845 bytes .../_buttons.scssc | Bin 0 -> 6669 bytes .../_base.scssc | Bin 0 -> 1468 bytes .../_bullets.scssc | Bin 0 -> 2214 bytes .../_colors.scssc | Bin 0 -> 15066 bytes .../_reset.scssc | Bin 0 -> 6572 bytes .../_typography.scssc | Bin 0 -> 49320 bytes .../_variables.scssc | Bin 0 -> 23152 bytes .../nucleus.scssc | Bin 0 -> 2967 bytes .../particles.scssc | Bin 0 -> 2951 bytes .../template.scssc | Bin 0 -> 1767 bytes .../_animation.scssc | Bin 0 -> 10879 bytes .../_appearance.scssc | Bin 0 -> 1932 bytes .../_backface-visibility.scssc | Bin 0 -> 2227 bytes .../_background-image.scssc | Bin 0 -> 12718 bytes .../_background.scssc | Bin 0 -> 16718 bytes .../_border-image.scssc | Bin 0 -> 16983 bytes .../_border-radius.scssc | Bin 0 -> 5723 bytes .../_box-sizing.scssc | Bin 0 -> 1938 bytes .../_calc.scssc | Bin 0 -> 2634 bytes .../_columns.scssc | Bin 0 -> 11530 bytes .../_filter.scssc | Bin 0 -> 1970 bytes .../_flex-box.scssc | Bin 0 -> 74449 bytes .../_font-face.scssc | Bin 0 -> 13284 bytes .../_hidpi-media-query.scssc | Bin 0 -> 4477 bytes .../_hyphens.scssc | Bin 0 -> 2113 bytes .../_image-rendering.scssc | Bin 0 -> 4492 bytes .../_keyframes.scssc | Bin 0 -> 8914 bytes .../_linear-gradient.scssc | Bin 0 -> 15225 bytes .../_perspective.scssc | Bin 0 -> 3244 bytes .../_placeholder.scssc | Bin 0 -> 2473 bytes .../_radial-gradient.scssc | Bin 0 -> 16043 bytes .../_transform.scssc | Bin 0 -> 4935 bytes .../_transition.scssc | Bin 0 -> 21767 bytes .../_user-select.scssc | Bin 0 -> 1930 bytes .../_blog.scssc | Bin 0 -> 32929 bytes .../_bullets.scssc | Bin 0 -> 12821 bytes .../_buttons.scssc | Bin 0 -> 2238 bytes .../_core.scssc | Bin 0 -> 12220 bytes .../_custom.scssc | Bin 0 -> 3586 bytes .../_errors.scssc | Bin 0 -> 4302 bytes .../_extensions.scssc | Bin 0 -> 5823 bytes .../_font.scssc | Bin 0 -> 14317 bytes .../_fonts.scssc | Bin 0 -> 1236 bytes .../_footer.scssc | Bin 0 -> 9704 bytes .../_forms.scssc | Bin 0 -> 9659 bytes .../_header.scssc | Bin 0 -> 21049 bytes .../_images.scssc | Bin 0 -> 7592 bytes .../_panel.scssc | Bin 0 -> 16899 bytes .../_section.scssc | Bin 0 -> 34398 bytes .../_simplesearch.scssc | Bin 0 -> 11126 bytes .../_tables.scssc | Bin 0 -> 4958 bytes .../_typography.scssc | Bin 0 -> 51967 bytes user/themes/ethica/CHANGELOG.md | 285 + user/themes/ethica/LICENSE | 21 + user/themes/ethica/README.md | 136 + user/themes/ethica/assets/readme_1.png | Bin 0 -> 424075 bytes user/themes/ethica/blueprints.yaml | 27 + user/themes/ethica/blueprints/asset/file.yaml | 70 + user/themes/ethica/blueprints/blog.yaml | 89 + user/themes/ethica/blueprints/form.yaml | 2 + user/themes/ethica/blueprints/item.yaml | 103 + .../ethica/blueprints/modular/features.yaml | 40 + .../ethica/blueprints/modular/showcase.yaml | 46 + .../ethica/blueprints/modular/text.yaml | 34 + user/themes/ethica/css-compiled/nucleus.css | 629 + .../ethica/css-compiled/nucleus.css.map | 7 + user/themes/ethica/css-compiled/particles.css | 136 + .../ethica/css-compiled/particles.css.map | 7 + user/themes/ethica/css-compiled/template.css | 401 + .../ethica/css-compiled/template.css.map | 7 + user/themes/ethica/css/font-awesome.min.css | 4 + user/themes/ethica/css/jquery.bxslider.css | 190 + .../ethica/css/jquery.mCustomScrollbar.css | 1265 + user/themes/ethica/css/media-queries.css | 123 + user/themes/ethica/css/style.css | 132 + user/themes/ethica/ethica.php | 9 + user/themes/ethica/ethica.yaml | 3 + .../ethica/fonts/amiri/amiri-bold-webfont.svg | 1413 + .../ethica/fonts/amiri/amiri-bold-webfont.ttf | Bin 0 -> 89756 bytes .../fonts/amiri/amiri-bold-webfont.woff | Bin 0 -> 39196 bytes .../fonts/amiri/amiri-bold-webfont.woff2 | Bin 0 -> 31596 bytes .../fonts/amiri/amiri-boldslanted-webfont.svg | 1124 + .../fonts/amiri/amiri-boldslanted-webfont.ttf | Bin 0 -> 98464 bytes .../amiri/amiri-boldslanted-webfont.woff | Bin 0 -> 43928 bytes .../amiri/amiri-boldslanted-webfont.woff2 | Bin 0 -> 33672 bytes .../fonts/amiri/amiri-regular-webfont.svg | 1224 + .../fonts/amiri/amiri-regular-webfont.ttf | Bin 0 -> 85260 bytes .../fonts/amiri/amiri-regular-webfont.woff | Bin 0 -> 38896 bytes .../fonts/amiri/amiri-regular-webfont.woff2 | Bin 0 -> 31384 bytes .../fonts/amiri/amiri-slanted-webfont.svg | 1124 + .../fonts/amiri/amiri-slanted-webfont.woff | Bin 0 -> 41200 bytes .../fonts/amiri/amiri-slanted-webfont.woff2 | Bin 0 -> 32992 bytes user/themes/ethica/fonts/amiri/stylesheet.css | 51 + .../ethica/fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes .../ethica/fonts/fontawesome-webfont.svg | 2671 ++ .../ethica/fonts/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes .../ethica/fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes .../ethica/fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes user/themes/ethica/images/croix.svg | 63 + user/themes/ethica/images/favicon.png | Bin 0 -> 1177 bytes user/themes/ethica/images/fleche.svg | 67 + user/themes/ethica/images/fleche_g.svg | 68 + user/themes/ethica/images/logo.png | Bin 0 -> 8714 bytes user/themes/ethica/images/logo.svg | 104 + user/themes/ethica/images/menu-ui.svg | 90 + user/themes/ethica/images/point.svg | 64 + user/themes/ethica/images/point_b.svg | 64 + user/themes/ethica/images/trait.svg | 63 + user/themes/ethica/js/hammer.min.js | 7 + user/themes/ethica/js/jquery.bxslider.min.js | 7 + .../js/jquery.mCustomScrollbar.concat.min.js | 5 + .../ethica/js/jquery.mobile.custom.min.js | 10 + .../themes/ethica/js/jquery.touchSwipe.min.js | 14 + user/themes/ethica/js/main-swipe.js | 240 + user/themes/ethica/js/script-fullpage.js | 0 user/themes/ethica/js/script.js | 176 + user/themes/ethica/languages.yaml | 295 + user/themes/ethica/screenshot.jpg | Bin 0 -> 162937 bytes user/themes/ethica/scss.sh | 2 + .../scss/configuration/nucleus/_base.scss | 14 + .../configuration/nucleus/_breakpoints.scss | 16 + .../scss/configuration/nucleus/_core.scss | 2 + .../scss/configuration/nucleus/_layout.scss | 8 + .../scss/configuration/nucleus/_nav.scss | 3 + .../configuration/nucleus/_typography.scss | 14 + .../scss/configuration/template/_base.scss | 11 + .../scss/configuration/template/_colors.scss | 75 + .../scss/configuration/template/_reset.scss | 26 + .../configuration/template/_typography.scss | 129 + .../configuration/template/_variables.scss | 103 + user/themes/ethica/scss/nucleus.scss | 27 + user/themes/ethica/scss/nucleus/_core.scss | 217 + user/themes/ethica/scss/nucleus/_flex.scss | 197 + user/themes/ethica/scss/nucleus/_forms.scss | 63 + .../ethica/scss/nucleus/_typography.scss | 86 + .../ethica/scss/nucleus/functions/_base.scss | 2 + .../scss/nucleus/functions/_direction.scss | 37 + .../ethica/scss/nucleus/functions/_range.scss | 13 + .../ethica/scss/nucleus/mixins/_base.scss | 2 + .../scss/nucleus/mixins/_breakpoints.scss | 30 + .../scss/nucleus/mixins/_utilities.scss | 30 + .../scss/nucleus/particles/_align-text.scss | 46 + .../scss/nucleus/particles/_visibility.scss | 0 user/themes/ethica/scss/particles.scss | 24 + user/themes/ethica/scss/template.scss | 14 + user/themes/ethica/scss/template/_blog.scss | 171 + .../themes/ethica/scss/template/_bullets.scss | 60 + .../themes/ethica/scss/template/_buttons.scss | 9 + user/themes/ethica/scss/template/_core.scss | 58 + user/themes/ethica/scss/template/_custom.scss | 15 + user/themes/ethica/scss/template/_errors.scss | 17 + .../ethica/scss/template/_extensions.scss | 22 + user/themes/ethica/scss/template/_font.scss | 65 + user/themes/ethica/scss/template/_fonts.scss | 3 + user/themes/ethica/scss/template/_footer.scss | 42 + user/themes/ethica/scss/template/_forms.scss | 43 + user/themes/ethica/scss/template/_header.scss | 102 + user/themes/ethica/scss/template/_images.scss | 33 + user/themes/ethica/scss/template/_panel.scss | 74 + .../themes/ethica/scss/template/_section.scss | 158 + .../ethica/scss/template/_simplesearch.scss | 64 + user/themes/ethica/scss/template/_tables.scss | 15 + .../ethica/scss/template/_typography.scss | 235 + .../ethica/scss/template/modular/_all.scss | 9 + .../scss/template/modular/_features.scss | 99 + .../scss/template/modular/_showcase.scss | 60 + .../ethica/scss/template/modular/_text.scss | 34 + .../ethica/scss/template/modules/_base.scss | 2 + .../scss/template/modules/_buttons.scss | 24 + .../bourbon/_bourbon-deprecated-upcoming.scss | 8 + .../ethica/scss/vendor/bourbon/_bourbon.scss | 77 + .../scss/vendor/bourbon/addons/_button.scss | 374 + .../scss/vendor/bourbon/addons/_clearfix.scss | 23 + .../bourbon/addons/_directional-values.scss | 111 + .../scss/vendor/bourbon/addons/_ellipsis.scss | 7 + .../vendor/bourbon/addons/_font-family.scss | 5 + .../vendor/bourbon/addons/_hide-text.scss | 10 + .../bourbon/addons/_html5-input-types.scss | 86 + .../scss/vendor/bourbon/addons/_position.scss | 32 + .../scss/vendor/bourbon/addons/_prefixer.scss | 45 + .../scss/vendor/bourbon/addons/_rem.scss | 33 + .../vendor/bourbon/addons/_retina-image.scss | 31 + .../scss/vendor/bourbon/addons/_size.scss | 16 + .../bourbon/addons/_timing-functions.scss | 32 + .../scss/vendor/bourbon/addons/_triangle.scss | 83 + .../vendor/bourbon/addons/_word-wrap.scss | 8 + .../scss/vendor/bourbon/css3/_animation.scss | 52 + .../scss/vendor/bourbon/css3/_appearance.scss | 3 + .../bourbon/css3/_backface-visibility.scss | 6 + .../bourbon/css3/_background-image.scss | 42 + .../scss/vendor/bourbon/css3/_background.scss | 55 + .../vendor/bourbon/css3/_border-image.scss | 59 + .../vendor/bourbon/css3/_border-radius.scss | 22 + .../scss/vendor/bourbon/css3/_box-sizing.scss | 4 + .../scss/vendor/bourbon/css3/_calc.scss | 4 + .../scss/vendor/bourbon/css3/_columns.scss | 47 + .../scss/vendor/bourbon/css3/_filter.scss | 5 + .../scss/vendor/bourbon/css3/_flex-box.scss | 321 + .../scss/vendor/bourbon/css3/_font-face.scss | 23 + .../bourbon/css3/_font-feature-settings.scss | 10 + .../bourbon/css3/_hidpi-media-query.scss | 10 + .../scss/vendor/bourbon/css3/_hyphens.scss | 4 + .../vendor/bourbon/css3/_image-rendering.scss | 14 + .../scss/vendor/bourbon/css3/_keyframes.scss | 35 + .../vendor/bourbon/css3/_linear-gradient.scss | 38 + .../vendor/bourbon/css3/_perspective.scss | 8 + .../vendor/bourbon/css3/_placeholder.scss | 8 + .../vendor/bourbon/css3/_radial-gradient.scss | 39 + .../scss/vendor/bourbon/css3/_transform.scss | 15 + .../scss/vendor/bourbon/css3/_transition.scss | 77 + .../vendor/bourbon/css3/_user-select.scss | 3 + .../vendor/bourbon/functions/_assign.scss | 11 + .../bourbon/functions/_color-lightness.scss | 13 + .../vendor/bourbon/functions/_flex-grid.scss | 39 + .../bourbon/functions/_golden-ratio.scss | 3 + .../vendor/bourbon/functions/_grid-width.scss | 13 + .../bourbon/functions/_modular-scale.scss | 66 + .../vendor/bourbon/functions/_px-to-em.scss | 13 + .../vendor/bourbon/functions/_px-to-rem.scss | 15 + .../bourbon/functions/_strip-units.scss | 5 + .../vendor/bourbon/functions/_tint-shade.scss | 9 + .../functions/_transition-property-name.scss | 22 + .../vendor/bourbon/functions/_unpack.scss | 17 + .../bourbon/helpers/_convert-units.scss | 15 + .../helpers/_gradient-positions-parser.scss | 13 + .../scss/vendor/bourbon/helpers/_is-num.scss | 8 + .../bourbon/helpers/_linear-angle-parser.scss | 25 + .../helpers/_linear-gradient-parser.scss | 41 + .../helpers/_linear-positions-parser.scss | 61 + .../helpers/_linear-side-corner-parser.scss | 31 + .../bourbon/helpers/_radial-arg-parser.scss | 69 + .../helpers/_radial-gradient-parser.scss | 50 + .../helpers/_radial-positions-parser.scss | 18 + .../bourbon/helpers/_render-gradients.scss | 26 + .../bourbon/helpers/_shape-size-stripper.scss | 10 + .../vendor/bourbon/helpers/_str-to-num.scss | 50 + .../vendor/bourbon/settings/_prefixer.scss | 6 + .../vendor/bourbon/settings/_px-to-em.scss | 1 + .../vendor/color-schemer/_color-schemer.scss | 31 + .../color-schemer/color-schemer/_cmyk.scss | 14 + .../color-schemer/_color-adjustments.scss | 30 + .../color-schemer/_color-schemer.scss | 208 + .../color-schemer/_colorblind.scss | 29 + .../color-schemer/_comparison.scss | 15 + .../color-schemer/_equalize.scss | 5 + .../color-schemer/_harmonize.scss | 59 + .../color-schemer/_interpolation.scss | 34 + .../color-schemer/color-schemer/_mix.scss | 40 + .../color-schemer/color-schemer/_mixins.scss | 29 + .../color-schemer/color-schemer/_ryb.scss | 76 + .../color-schemer/_tint-shade.scss | 9 + user/themes/ethica/templates/blog.html.twig | 36 + .../themes/ethica/templates/default.html.twig | 5 + user/themes/ethica/templates/error.html.twig | 12 + user/themes/ethica/templates/form.html.twig | 8 + user/themes/ethica/templates/home.html.twig | 43 + user/themes/ethica/templates/item.html.twig | 18 + .../ethica/templates/macros/macros.html.twig | 3 + .../templates/modular/accueil.html.twig | 11 + .../templates/modular/article.html.twig | 11 + .../modular/contenu-accueil.html.twig | 11 + .../modular/contenu-actualite.html.twig | 6 + .../templates/modular/contenu-multi.html.twig | 13 + .../modular/contenu-recherche.html.twig | 6 + .../templates/modular/contenu.html.twig | 14 + .../templates/modular/features.html.twig | 22 + .../templates/modular/gallery.html.twig | 3 + .../modular/page-actuatlites.html.twig | 11 + .../templates/modular/showcase.html.twig | 13 + .../ethica/templates/partials/base.html.twig | 85 + .../templates/partials/blog_item.html.twig | 88 + .../templates/partials/langswitcher.html.twig | 30 + .../templates/partials/metadata.html.twig | 3 + .../templates/partials/navigation.html.twig | 51 + .../templates/partials/sidebar.html.twig | 42 + user/themes/ethica/thumbnail.jpg | Bin 0 -> 24301 bytes .../antoligy/dom-string-iterators/README.md | 5 + .../src/DOMLettersIterator.php | 114 + .../src/DOMWordsIterator.php | 117 + vendor/autoload.php | 7 + vendor/composer/ClassLoader.php | 445 + vendor/composer/LICENSE | 21 + vendor/composer/autoload_classmap.php | 1057 + vendor/composer/autoload_files.php | 14 + vendor/composer/autoload_namespaces.php | 17 + vendor/composer/autoload_psr4.php | 38 + vendor/composer/autoload_real.php | 70 + vendor/composer/autoload_static.php | 1306 + vendor/composer/ca-bundle/LICENSE | 19 + vendor/composer/ca-bundle/README.md | 77 + vendor/composer/ca-bundle/composer.json | 57 + vendor/composer/ca-bundle/res/cacert.pem | 3955 +++ vendor/composer/ca-bundle/src/CaBundle.php | 291 + vendor/composer/installed.json | 1666 ++ vendor/doctrine/cache/LICENSE | 19 + vendor/doctrine/cache/README.md | 14 + vendor/doctrine/cache/UPGRADE.md | 16 + .../lib/Doctrine/Common/Cache/ApcCache.php | 118 + .../lib/Doctrine/Common/Cache/ApcuCache.php | 106 + .../lib/Doctrine/Common/Cache/ArrayCache.php | 142 + .../cache/lib/Doctrine/Common/Cache/Cache.php | 116 + .../Doctrine/Common/Cache/CacheProvider.php | 312 + .../lib/Doctrine/Common/Cache/ChainCache.php | 147 + .../Doctrine/Common/Cache/ClearableCache.php | 40 + .../Doctrine/Common/Cache/CouchbaseCache.php | 121 + .../lib/Doctrine/Common/Cache/FileCache.php | 286 + .../Doctrine/Common/Cache/FilesystemCache.php | 111 + .../Doctrine/Common/Cache/FlushableCache.php | 37 + .../Doctrine/Common/Cache/MemcacheCache.php | 126 + .../Doctrine/Common/Cache/MemcachedCache.php | 147 + .../Doctrine/Common/Cache/MongoDBCache.php | 197 + .../Doctrine/Common/Cache/MultiGetCache.php | 39 + .../Doctrine/Common/Cache/MultiPutCache.php | 41 + .../Doctrine/Common/Cache/PhpFileCache.php | 120 + .../lib/Doctrine/Common/Cache/PredisCache.php | 136 + .../lib/Doctrine/Common/Cache/RedisCache.php | 180 + .../lib/Doctrine/Common/Cache/RiakCache.php | 250 + .../Doctrine/Common/Cache/SQLite3Cache.php | 220 + .../lib/Doctrine/Common/Cache/Version.php | 25 + .../lib/Doctrine/Common/Cache/VoidCache.php | 78 + .../Doctrine/Common/Cache/WinCacheCache.php | 109 + .../lib/Doctrine/Common/Cache/XcacheCache.php | 112 + .../Doctrine/Common/Cache/ZendDataCache.php | 83 + vendor/doctrine/collections/LICENSE | 19 + vendor/doctrine/collections/README.md | 25 + .../Collections/AbstractLazyCollection.php | 343 + .../Common/Collections/ArrayCollection.php | 387 + .../Common/Collections/Collection.php | 263 + .../Doctrine/Common/Collections/Criteria.php | 259 + .../Expr/ClosureExpressionVisitor.php | 227 + .../Common/Collections/Expr/Comparison.php | 103 + .../Collections/Expr/CompositeExpression.php | 90 + .../Common/Collections/Expr/Expression.php | 35 + .../Collections/Expr/ExpressionVisitor.php | 82 + .../Common/Collections/Expr/Value.php | 52 + .../Common/Collections/ExpressionBuilder.php | 166 + .../Common/Collections/Selectable.php | 48 + .../donatj/phpuseragentparser/CONTRIBUTING.md | 18 + vendor/donatj/phpuseragentparser/LICENSE.md | 22 + vendor/donatj/phpuseragentparser/README.md | 117 + .../Source/UserAgentParser.php | 169 + vendor/erusev/parsedown-extra/LICENSE.txt | 20 + .../erusev/parsedown-extra/ParsedownExtra.php | 526 + vendor/erusev/parsedown-extra/README.md | 31 + vendor/erusev/parsedown/LICENSE.txt | 20 + vendor/erusev/parsedown/Parsedown.php | 1548 ++ vendor/erusev/parsedown/README.md | 56 + vendor/filp/whoops/CHANGELOG.md | 13 + vendor/filp/whoops/LICENSE.md | 19 + .../src/Whoops/Exception/ErrorException.php | 17 + .../whoops/src/Whoops/Exception/Formatter.php | 74 + .../whoops/src/Whoops/Exception/Frame.php | 296 + .../src/Whoops/Exception/FrameCollection.php | 203 + .../whoops/src/Whoops/Exception/Inspector.php | 277 + .../src/Whoops/Handler/CallbackHandler.php | 52 + .../whoops/src/Whoops/Handler/Handler.php | 88 + .../src/Whoops/Handler/HandlerInterface.php | 36 + .../Whoops/Handler/JsonResponseHandler.php | 88 + .../src/Whoops/Handler/PlainTextHandler.php | 312 + .../src/Whoops/Handler/PrettyPageHandler.php | 702 + .../src/Whoops/Handler/XmlResponseHandler.php | 107 + .../src/Whoops/Resources/css/whoops.base.css | 550 + .../src/Whoops/Resources/js/clipboard.min.js | 7 + .../src/Whoops/Resources/js/whoops.base.js | 218 + .../src/Whoops/Resources/js/zepto.min.js | 2 + .../Resources/views/env_details.html.php | 42 + .../Resources/views/frame_code.html.php | 63 + .../Resources/views/frame_list.html.php | 17 + .../Resources/views/frames_container.html.php | 3 + .../views/frames_description.html.php | 20 + .../Whoops/Resources/views/header.html.php | 74 + .../Resources/views/header_outer.html.php | 3 + .../Whoops/Resources/views/layout.html.php | 30 + .../Resources/views/panel_details.html.php | 2 + .../views/panel_details_outer.html.php | 3 + .../Resources/views/panel_left.html.php | 3 + .../Resources/views/panel_left_outer.html.php | 3 + vendor/filp/whoops/src/Whoops/Run.php | 410 + .../filp/whoops/src/Whoops/RunInterface.php | 131 + .../src/Whoops/Util/HtmlDumperOutput.php | 37 + vendor/filp/whoops/src/Whoops/Util/Misc.php | 77 + .../whoops/src/Whoops/Util/SystemFacade.php | 137 + .../whoops/src/Whoops/Util/TemplateHelper.php | 351 + vendor/gregwar/cache/Gregwar/Cache/Cache.php | 365 + .../cache/Gregwar/Cache/CacheInterface.php | 131 + .../cache/Gregwar/Cache/GarbageCollect.php | 86 + vendor/gregwar/cache/Gregwar/Cache/LICENSE | 19 + vendor/gregwar/cache/Gregwar/Cache/README.md | 165 + .../gregwar/cache/Gregwar/Cache/autoload.php | 16 + vendor/gregwar/image/Gregwar/Image/.php_cs | 9 + .../gregwar/image/Gregwar/Image/.styleci.yml | 13 + .../image/Gregwar/Image/Adapter/Adapter.php | 58 + .../Image/Adapter/AdapterInterface.php | 392 + .../image/Gregwar/Image/Adapter/Common.php | 368 + .../image/Gregwar/Image/Adapter/GD.php | 630 + .../image/Gregwar/Image/Adapter/Imagick.php | 427 + .../Image/Exceptions/GenerationError.php | 16 + .../image/Gregwar/Image/GarbageCollect.php | 82 + vendor/gregwar/image/Gregwar/Image/Image.php | 783 + .../image/Gregwar/Image/ImageColor.php | 98 + vendor/gregwar/image/Gregwar/Image/LICENSE | 19 + vendor/gregwar/image/Gregwar/Image/Makefile | 5 + vendor/gregwar/image/Gregwar/Image/README.md | 276 + .../image/Gregwar/Image/Source/Create.php | 38 + .../image/Gregwar/Image/Source/Data.php | 26 + .../image/Gregwar/Image/Source/File.php | 63 + .../image/Gregwar/Image/Source/Resource.php | 21 + .../image/Gregwar/Image/Source/Source.php | 34 + .../gregwar/image/Gregwar/Image/autoload.php | 21 + .../image/Gregwar/Image/images/error.jpg | Bin 0 -> 1108 bytes .../image/Gregwar/Image/phpunit.xml.dist | 20 + vendor/league/climate/CHANGELOG.md | 64 + vendor/league/climate/CONDUCT.md | 22 + vendor/league/climate/CONTRIBUTING.md | 32 + vendor/league/climate/LICENSE.md | 21 + vendor/league/climate/README.md | 46 + vendor/league/climate/src/ASCII/404.txt | 6 + vendor/league/climate/src/ASCII/bender.txt | 17 + vendor/league/climate/src/ASCII/failed.txt | 6 + .../league/climate/src/ASCII/fancy-bender.txt | 17 + vendor/league/climate/src/ASCII/passed.txt | 6 + .../league/climate/src/Argument/Argument.php | 384 + vendor/league/climate/src/Argument/Filter.php | 183 + .../league/climate/src/Argument/Manager.php | 238 + vendor/league/climate/src/Argument/Parser.php | 278 + .../league/climate/src/Argument/Summary.php | 211 + vendor/league/climate/src/CLImate.php | 442 + .../Decorator/Component/BackgroundColor.php | 72 + .../src/Decorator/Component/BaseDecorator.php | 53 + .../climate/src/Decorator/Component/Color.php | 100 + .../src/Decorator/Component/Command.php | 77 + .../Component/DecoratorInterface.php | 28 + .../src/Decorator/Component/Format.php | 89 + .../climate/src/Decorator/Parser/Ansi.php | 174 + .../climate/src/Decorator/Parser/NonAnsi.php | 19 + .../climate/src/Decorator/Parser/Parser.php | 38 + .../src/Decorator/Parser/ParserFactory.php | 26 + .../src/Decorator/Parser/ParserImporter.php | 23 + vendor/league/climate/src/Decorator/Style.php | 295 + vendor/league/climate/src/Decorator/Tags.php | 76 + vendor/league/climate/src/Settings/Art.php | 22 + .../league/climate/src/Settings/Manager.php | 84 + .../climate/src/Settings/SettingsImporter.php | 32 + .../src/Settings/SettingsInterface.php | 11 + .../Basic/BasicTerminalObject.php | 45 + .../Basic/BasicTerminalObjectInterface.php | 34 + .../src/TerminalObject/Basic/Border.php | 67 + .../climate/src/TerminalObject/Basic/Br.php | 16 + .../src/TerminalObject/Basic/Clear.php | 21 + .../src/TerminalObject/Basic/Columns.php | 207 + .../climate/src/TerminalObject/Basic/Draw.php | 30 + .../climate/src/TerminalObject/Basic/Dump.php | 36 + .../src/TerminalObject/Basic/Flank.php | 74 + .../src/TerminalObject/Basic/Inline.php | 16 + .../climate/src/TerminalObject/Basic/Json.php | 28 + .../climate/src/TerminalObject/Basic/Out.php | 28 + .../src/TerminalObject/Basic/Repeatable.php | 18 + .../climate/src/TerminalObject/Basic/Tab.php | 29 + .../src/TerminalObject/Basic/Table.php | 225 + .../src/TerminalObject/Dynamic/Animation.php | 213 + .../Dynamic/Animation/Keyframe.php | 265 + .../Dynamic/Checkbox/Checkbox.php | 219 + .../Dynamic/Checkbox/CheckboxGroup.php | 191 + .../Dynamic/Checkbox/RadioGroup.php | 38 + .../src/TerminalObject/Dynamic/Checkboxes.php | 159 + .../src/TerminalObject/Dynamic/Confirm.php | 19 + .../Dynamic/DynamicTerminalObject.php | 18 + .../DynamicTerminalObjectInterface.php | 27 + .../src/TerminalObject/Dynamic/Input.php | 283 + .../TerminalObject/Dynamic/InputAbstract.php | 37 + .../src/TerminalObject/Dynamic/Padding.php | 136 + .../src/TerminalObject/Dynamic/Password.php | 13 + .../src/TerminalObject/Dynamic/Progress.php | 264 + .../src/TerminalObject/Dynamic/Radio.php | 18 + .../climate/src/TerminalObject/Helper/Art.php | 132 + .../src/TerminalObject/Helper/Sleeper.php | 37 + .../Helper/SleeperInterface.php | 13 + .../TerminalObject/Helper/StringLength.php | 112 + .../src/TerminalObject/Router/BaseRouter.php | 89 + .../src/TerminalObject/Router/BasicRouter.php | 42 + .../TerminalObject/Router/DynamicRouter.php | 32 + .../Router/ExtensionCollection.php | 145 + .../src/TerminalObject/Router/Router.php | 157 + .../TerminalObject/Router/RouterInterface.php | 29 + vendor/league/climate/src/Util/Cursor.php | 70 + vendor/league/climate/src/Util/Helper.php | 50 + vendor/league/climate/src/Util/Output.php | 313 + .../climate/src/Util/OutputImporter.php | 23 + .../src/Util/Reader/ReaderInterface.php | 16 + .../league/climate/src/Util/Reader/Stdin.php | 93 + .../league/climate/src/Util/System/Linux.php | 74 + .../league/climate/src/Util/System/System.php | 68 + .../climate/src/Util/System/SystemFactory.php | 44 + .../climate/src/Util/System/Windows.php | 74 + .../league/climate/src/Util/UtilFactory.php | 66 + .../league/climate/src/Util/UtilImporter.php | 23 + .../league/climate/src/Util/Writer/Buffer.php | 44 + .../league/climate/src/Util/Writer/File.php | 99 + .../league/climate/src/Util/Writer/StdErr.php | 16 + .../league/climate/src/Util/Writer/StdOut.php | 16 + .../src/Util/Writer/WriterInterface.php | 13 + vendor/matthiasmullie/minify/LICENSE | 18 + .../minify/data/js/keywords_after.txt | 7 + .../minify/data/js/keywords_before.txt | 26 + .../minify/data/js/keywords_reserved.txt | 63 + .../minify/data/js/operators.txt | 46 + .../minify/data/js/operators_after.txt | 43 + .../minify/data/js/operators_before.txt | 43 + vendor/matthiasmullie/minify/src/CSS.php | 694 + .../matthiasmullie/minify/src/Exception.php | 12 + .../minify/src/Exceptions/BasicException.php | 12 + .../src/Exceptions/FileImportException.php | 10 + .../minify/src/Exceptions/IOException.php | 10 + vendor/matthiasmullie/minify/src/JS.php | 607 + vendor/matthiasmullie/minify/src/Minify.php | 435 + vendor/matthiasmullie/path-converter/LICENSE | 18 + .../path-converter/src/Converter.php | 195 + .../path-converter/src/ConverterInterface.php | 24 + .../path-converter/src/NoConverter.php | 23 + vendor/maximebf/debugbar/LICENSE | 19 + .../DebugBar/Bridge/CacheCacheCollector.php | 75 + .../src/DebugBar/Bridge/DoctrineCollector.php | 115 + .../src/DebugBar/Bridge/MonologCollector.php | 118 + .../src/DebugBar/Bridge/Propel2Collector.php | 307 + .../src/DebugBar/Bridge/PropelCollector.php | 253 + .../src/DebugBar/Bridge/SlimCollector.php | 66 + .../Bridge/SwiftMailer/SwiftLogCollector.php | 44 + .../Bridge/SwiftMailer/SwiftMailCollector.php | 92 + .../Bridge/Twig/TraceableTwigEnvironment.php | 417 + .../Bridge/Twig/TraceableTwigTemplate.php | 136 + .../DebugBar/Bridge/Twig/TwigCollector.php | 87 + .../DataCollector/AggregatedCollector.php | 189 + .../DebugBar/DataCollector/AssetProvider.php | 43 + .../DataCollector/ConfigCollector.php | 120 + .../DebugBar/DataCollector/DataCollector.php | 158 + .../DataCollector/DataCollectorInterface.php | 31 + .../DataCollector/ExceptionsCollector.php | 141 + .../DataCollector/LocalizationCollector.php | 73 + .../DataCollector/MemoryCollector.php | 96 + .../MessagesAggregateInterface.php | 21 + .../DataCollector/MessagesCollector.php | 245 + .../DataCollector/PDO/PDOCollector.php | 206 + .../DataCollector/PDO/TraceablePDO.php | 311 + .../PDO/TraceablePDOStatement.php | 129 + .../DataCollector/PDO/TracedStatement.php | 257 + .../DataCollector/PhpInfoCollector.php | 52 + .../src/DebugBar/DataCollector/Renderable.php | 25 + .../DataCollector/RequestDataCollector.php | 100 + .../DataCollector/TimeDataCollector.php | 245 + .../DebugBar/DataFormatter/DataFormatter.php | 81 + .../DataFormatter/DataFormatterInterface.php | 42 + .../DataFormatter/DebugBarVarDumper.php | 315 + .../VarDumper/DebugBarHtmlDumper.php | 17 + .../DataFormatter/VarDumper/SeekingData.php | 103 + .../debugbar/src/DebugBar/DebugBar.php | 493 + .../src/DebugBar/DebugBarException.php | 16 + .../src/DebugBar/HttpDriverInterface.php | 64 + .../src/DebugBar/JavascriptRenderer.php | 1126 + .../debugbar/src/DebugBar/OpenHandler.php | 117 + .../debugbar/src/DebugBar/PhpHttpDriver.php | 70 + .../src/DebugBar/RequestIdGenerator.php | 43 + .../DebugBar/RequestIdGeneratorInterface.php | 25 + .../src/DebugBar/Resources/debugbar.css | 314 + .../src/DebugBar/Resources/debugbar.js | 1164 + .../src/DebugBar/Resources/openhandler.css | 69 + .../src/DebugBar/Resources/openhandler.js | 202 + .../src/DebugBar/Resources/widgets.css | 249 + .../src/DebugBar/Resources/widgets.js | 523 + .../Resources/widgets/mails/widget.css | 12 + .../Resources/widgets/mails/widget.js | 40 + .../Resources/widgets/sqlqueries/widget.css | 118 + .../Resources/widgets/sqlqueries/widget.js | 171 + .../Resources/widgets/templates/widget.css | 66 + .../Resources/widgets/templates/widget.js | 73 + .../src/DebugBar/StandardDebugBar.php | 34 + .../src/DebugBar/Storage/FileStorage.php | 128 + .../src/DebugBar/Storage/MemcachedStorage.php | 158 + .../src/DebugBar/Storage/PdoStorage.php | 137 + .../src/DebugBar/Storage/RedisStorage.php | 85 + .../src/DebugBar/Storage/StorageInterface.php | 45 + vendor/miljar/php-exif/CHANGELOG.rst | 27 + vendor/miljar/php-exif/LICENSE | 18 + vendor/miljar/php-exif/README.md | 50 + .../lib/PHPExif/Adapter/AdapterAbstract.php | 132 + .../lib/PHPExif/Adapter/AdapterInterface.php | 33 + .../php-exif/lib/PHPExif/Adapter/Exiftool.php | 202 + .../php-exif/lib/PHPExif/Adapter/Native.php | 236 + .../PHPExif/Adapter/NoAdapterException.php | 28 + vendor/miljar/php-exif/lib/PHPExif/Exif.php | 843 + .../PHPExif/Hydrator/HydratorInterface.php | 33 + .../php-exif/lib/PHPExif/Hydrator/Mutator.php | 56 + .../php-exif/lib/PHPExif/Mapper/Exiftool.php | 210 + .../lib/PHPExif/Mapper/MapperInterface.php | 33 + .../php-exif/lib/PHPExif/Mapper/Native.php | 286 + .../php-exif/lib/PHPExif/Reader/Reader.php | 111 + .../lib/PHPExif/Reader/ReaderInterface.php | 33 + vendor/monolog/monolog/CHANGELOG.md | 342 + vendor/monolog/monolog/LICENSE | 19 + vendor/monolog/monolog/README.md | 95 + .../monolog/src/Monolog/ErrorHandler.php | 230 + .../Monolog/Formatter/ChromePHPFormatter.php | 78 + .../Monolog/Formatter/ElasticaFormatter.php | 89 + .../Monolog/Formatter/FlowdockFormatter.php | 116 + .../Monolog/Formatter/FluentdFormatter.php | 85 + .../Monolog/Formatter/FormatterInterface.php | 36 + .../Formatter/GelfMessageFormatter.php | 138 + .../src/Monolog/Formatter/HtmlFormatter.php | 141 + .../src/Monolog/Formatter/JsonFormatter.php | 208 + .../src/Monolog/Formatter/LineFormatter.php | 179 + .../src/Monolog/Formatter/LogglyFormatter.php | 47 + .../Monolog/Formatter/LogstashFormatter.php | 166 + .../Monolog/Formatter/MongoDBFormatter.php | 105 + .../Monolog/Formatter/NormalizerFormatter.php | 297 + .../src/Monolog/Formatter/ScalarFormatter.php | 48 + .../Monolog/Formatter/WildfireFormatter.php | 113 + .../src/Monolog/Handler/AbstractHandler.php | 186 + .../Handler/AbstractProcessingHandler.php | 66 + .../Monolog/Handler/AbstractSyslogHandler.php | 101 + .../src/Monolog/Handler/AmqpHandler.php | 148 + .../Monolog/Handler/BrowserConsoleHandler.php | 230 + .../src/Monolog/Handler/BufferHandler.php | 117 + .../src/Monolog/Handler/ChromePHPHandler.php | 211 + .../src/Monolog/Handler/CouchDBHandler.php | 72 + .../src/Monolog/Handler/CubeHandler.php | 151 + .../monolog/src/Monolog/Handler/Curl/Util.php | 57 + .../Monolog/Handler/DeduplicationHandler.php | 169 + .../Handler/DoctrineCouchDBHandler.php | 45 + .../src/Monolog/Handler/DynamoDbHandler.php | 107 + .../Monolog/Handler/ElasticSearchHandler.php | 128 + .../src/Monolog/Handler/ErrorLogHandler.php | 82 + .../src/Monolog/Handler/FilterHandler.php | 140 + .../ActivationStrategyInterface.php | 28 + .../ChannelLevelActivationStrategy.php | 59 + .../ErrorLevelActivationStrategy.php | 34 + .../Monolog/Handler/FingersCrossedHandler.php | 163 + .../src/Monolog/Handler/FirePHPHandler.php | 195 + .../src/Monolog/Handler/FleepHookHandler.php | 126 + .../src/Monolog/Handler/FlowdockHandler.php | 127 + .../src/Monolog/Handler/GelfHandler.php | 73 + .../src/Monolog/Handler/GroupHandler.php | 104 + .../src/Monolog/Handler/HandlerInterface.php | 90 + .../src/Monolog/Handler/HandlerWrapper.php | 108 + .../src/Monolog/Handler/HipChatHandler.php | 350 + .../src/Monolog/Handler/IFTTTHandler.php | 69 + .../src/Monolog/Handler/LogEntriesHandler.php | 55 + .../src/Monolog/Handler/LogglyHandler.php | 102 + .../src/Monolog/Handler/MailHandler.php | 67 + .../src/Monolog/Handler/MandrillHandler.php | 68 + .../Handler/MissingExtensionException.php | 21 + .../src/Monolog/Handler/MongoDBHandler.php | 59 + .../Monolog/Handler/NativeMailerHandler.php | 185 + .../src/Monolog/Handler/NewRelicHandler.php | 202 + .../src/Monolog/Handler/NullHandler.php | 45 + .../src/Monolog/Handler/PHPConsoleHandler.php | 242 + .../src/Monolog/Handler/PsrHandler.php | 56 + .../src/Monolog/Handler/PushoverHandler.php | 185 + .../src/Monolog/Handler/RavenHandler.php | 232 + .../src/Monolog/Handler/RedisHandler.php | 97 + .../src/Monolog/Handler/RollbarHandler.php | 132 + .../Monolog/Handler/RotatingFileHandler.php | 178 + .../src/Monolog/Handler/SamplingHandler.php | 82 + .../src/Monolog/Handler/Slack/SlackRecord.php | 294 + .../src/Monolog/Handler/SlackHandler.php | 215 + .../Monolog/Handler/SlackWebhookHandler.php | 115 + .../src/Monolog/Handler/SlackbotHandler.php | 80 + .../src/Monolog/Handler/SocketHandler.php | 346 + .../src/Monolog/Handler/StreamHandler.php | 176 + .../Monolog/Handler/SwiftMailerHandler.php | 99 + .../src/Monolog/Handler/SyslogHandler.php | 67 + .../Monolog/Handler/SyslogUdp/UdpSocket.php | 56 + .../src/Monolog/Handler/SyslogUdpHandler.php | 103 + .../src/Monolog/Handler/TestHandler.php | 154 + .../Handler/WhatFailureGroupHandler.php | 61 + .../Monolog/Handler/ZendMonitorHandler.php | 95 + vendor/monolog/monolog/src/Monolog/Logger.php | 700 + .../src/Monolog/Processor/GitProcessor.php | 64 + .../Processor/IntrospectionProcessor.php | 112 + .../Processor/MemoryPeakUsageProcessor.php | 35 + .../src/Monolog/Processor/MemoryProcessor.php | 63 + .../Processor/MemoryUsageProcessor.php | 35 + .../Monolog/Processor/MercurialProcessor.php | 63 + .../Monolog/Processor/ProcessIdProcessor.php | 31 + .../Processor/PsrLogMessageProcessor.php | 48 + .../src/Monolog/Processor/TagProcessor.php | 44 + .../src/Monolog/Processor/UidProcessor.php | 46 + .../src/Monolog/Processor/WebProcessor.php | 113 + .../monolog/monolog/src/Monolog/Registry.php | 134 + vendor/pimple/pimple/CHANGELOG | 55 + vendor/pimple/pimple/LICENSE | 19 + vendor/pimple/pimple/README.rst | 326 + vendor/pimple/pimple/src/Pimple/Container.php | 298 + .../Exception/ExpectedInvokableException.php | 38 + .../Exception/FrozenServiceException.php | 45 + .../InvalidServiceIdentifierException.php | 45 + .../Exception/UnknownIdentifierException.php | 45 + .../pimple/src/Pimple/Psr11/Container.php | 55 + .../src/Pimple/Psr11/ServiceLocator.php | 75 + .../pimple/src/Pimple/ServiceIterator.php | 69 + .../src/Pimple/ServiceProviderInterface.php | 46 + vendor/psr/container/LICENSE | 21 + vendor/psr/container/README.md | 5 + .../src/ContainerExceptionInterface.php | 13 + .../psr/container/src/ContainerInterface.php | 37 + .../src/NotFoundExceptionInterface.php | 13 + vendor/psr/log/LICENSE | 19 + vendor/psr/log/Psr/Log/AbstractLogger.php | 128 + .../log/Psr/Log/InvalidArgumentException.php | 7 + vendor/psr/log/Psr/Log/LogLevel.php | 18 + .../psr/log/Psr/Log/LoggerAwareInterface.php | 18 + vendor/psr/log/Psr/Log/LoggerAwareTrait.php | 26 + vendor/psr/log/Psr/Log/LoggerInterface.php | 123 + vendor/psr/log/Psr/Log/LoggerTrait.php | 140 + vendor/psr/log/Psr/Log/NullLogger.php | 28 + .../log/Psr/Log/Test/LoggerInterfaceTest.php | 140 + vendor/psr/log/README.md | 45 + .../toolbox/ArrayTraits/src/ArrayAccess.php | 66 + .../src/ArrayAccessWithGetters.php | 57 + .../toolbox/ArrayTraits/src/Constructor.php | 24 + .../toolbox/ArrayTraits/src/Countable.php | 24 + .../toolbox/ArrayTraits/src/Export.php | 51 + .../ArrayTraits/src/ExportInterface.php | 35 + .../toolbox/ArrayTraits/src/Iterator.php | 77 + .../ArrayTraits/src/NestedArrayAccess.php | 190 + .../src/NestedArrayAccessWithGetters.php | 57 + .../toolbox/ArrayTraits/src/Serializable.php | 34 + .../toolbox/Blueprints/src/BlueprintForm.php | 562 + .../Blueprints/src/BlueprintSchema.php | 720 + .../toolbox/Blueprints/src/Blueprints.php | 12 + .../Blueprints/tests/BlueprintFormTest.php | 96 + .../Blueprints/tests/BlueprintSchemaTest.php | 90 + .../tests/data/blueprint/basic.yaml | 41 + .../tests/data/blueprint/empty.yaml | 0 .../tests/data/blueprint/extends.yaml | 17 + .../tests/data/blueprint/import.yaml | 4 + .../data/blueprint/partials/address.yaml | 17 + .../tests/data/form/items/basic.yaml | 40 + .../tests/data/form/items/empty.yaml | 1 + .../tests/data/form/items/extends.yaml | 34 + .../tests/data/form/items/import.yaml | 8 + .../Blueprints/tests/data/input/basic.yaml | 12 + .../Blueprints/tests/data/input/empty.yaml | 7 + .../tests/data/schema/defaults/basic.yaml | 4 + .../tests/data/schema/defaults/empty.yaml | 0 .../tests/data/schema/extra/basic.yaml | 8 + .../tests/data/schema/extra/empty.yaml | 7 + .../tests/data/schema/init/basic.yaml | 88 + .../tests/data/schema/init/empty.yaml | 11 + .../tests/data/schema/merge/basic.yaml | 14 + .../tests/data/schema/merge/empty.yaml | 7 + .../tests/data/schema/state/basic.yaml | 81 + .../tests/data/schema/state/empty.yaml | 11 + .../toolbox/Blueprints/tests/helper.php | 9 + vendor/rockettheme/toolbox/CHANGELOG.md | 116 + .../rockettheme/toolbox/DI/src/Container.php | 15 + .../DI/src/ServiceProviderInterface.php | 15 + .../rockettheme/toolbox/Event/src/Event.php | 24 + .../toolbox/Event/src/EventDispatcher.php | 25 + .../Event/src/EventSubscriberInterface.php | 15 + vendor/rockettheme/toolbox/File/src/File.php | 444 + .../toolbox/File/src/FileInterface.php | 106 + .../rockettheme/toolbox/File/src/IniFile.php | 76 + .../rockettheme/toolbox/File/src/JsonFile.php | 57 + .../rockettheme/toolbox/File/src/LogFile.php | 71 + .../toolbox/File/src/MarkdownFile.php | 168 + .../rockettheme/toolbox/File/src/MoFile.php | 160 + .../rockettheme/toolbox/File/src/PhpFile.php | 106 + .../rockettheme/toolbox/File/src/YamlFile.php | 84 + vendor/rockettheme/toolbox/LICENSE | 21 + vendor/rockettheme/toolbox/README.md | 56 + .../src/RecursiveUniformResourceIterator.php | 50 + .../src/ResourceLocatorInterface.php | 45 + .../src/UniformResourceIterator.php | 250 + .../src/UniformResourceLocator.php | 447 + .../tests/UniformResourceLocatorTest.php | 258 + .../tests/data/base/all/base.txt | 0 .../tests/data/base/all/base_all.txt | 0 .../tests/data/base/all/base_local.txt | 0 .../tests/data/base/all/base_override.txt | 0 .../tests/data/local/all/base_all.txt | 0 .../tests/data/local/all/base_local.txt | 0 .../tests/data/local/all/local.txt | 0 .../tests/data/local/all/local_override.txt | 0 .../tests/data/override/all/base_all.txt | 0 .../tests/data/override/all/base_override.txt | 0 .../data/override/all/local_override.txt | 0 .../tests/data/override/all/override.txt | 0 .../toolbox/Session/src/Message.php | 94 + .../toolbox/Session/src/Session.php | 272 + .../toolbox/Session/tests/MessageTest.php | 13 + .../StreamWrapper/src/ReadOnlyStream.php | 78 + .../toolbox/StreamWrapper/src/Stream.php | 239 + .../StreamWrapper/src/StreamBuilder.php | 89 + .../StreamWrapper/src/StreamInterface.php | 255 + vendor/seld/cli-prompt/LICENSE | 19 + vendor/seld/cli-prompt/README.md | 61 + vendor/seld/cli-prompt/res/example.php | 15 + vendor/seld/cli-prompt/src/CliPrompt.php | 113 + vendor/symfony/console/Application.php | 1186 + vendor/symfony/console/CHANGELOG.md | 73 + vendor/symfony/console/Command/Command.php | 698 + .../symfony/console/Command/HelpCommand.php | 93 + .../symfony/console/Command/ListCommand.php | 97 + vendor/symfony/console/ConsoleEvents.php | 61 + .../Descriptor/ApplicationDescription.php | 160 + .../symfony/console/Descriptor/Descriptor.php | 122 + .../Descriptor/DescriptorInterface.php | 31 + .../console/Descriptor/JsonDescriptor.php | 166 + .../console/Descriptor/MarkdownDescriptor.php | 144 + .../console/Descriptor/TextDescriptor.php | 303 + .../console/Descriptor/XmlDescriptor.php | 263 + .../console/Event/ConsoleCommandEvent.php | 62 + vendor/symfony/console/Event/ConsoleEvent.php | 67 + .../console/Event/ConsoleExceptionEvent.php | 67 + .../console/Event/ConsoleTerminateEvent.php | 58 + .../Exception/CommandNotFoundException.php | 43 + .../console/Exception/ExceptionInterface.php | 21 + .../Exception/InvalidArgumentException.php | 19 + .../Exception/InvalidOptionException.php | 21 + .../console/Exception/LogicException.php | 19 + .../console/Exception/RuntimeException.php | 19 + .../console/Formatter/OutputFormatter.php | 233 + .../Formatter/OutputFormatterInterface.php | 71 + .../Formatter/OutputFormatterStyle.php | 221 + .../OutputFormatterStyleInterface.php | 64 + .../Formatter/OutputFormatterStyleStack.php | 123 + .../console/Helper/DebugFormatterHelper.php | 127 + .../console/Helper/DescriptorHelper.php | 97 + .../symfony/console/Helper/DialogHelper.php | 502 + .../console/Helper/FormatterHelper.php | 82 + vendor/symfony/console/Helper/Helper.php | 124 + .../console/Helper/HelperInterface.php | 41 + vendor/symfony/console/Helper/HelperSet.php | 123 + .../console/Helper/InputAwareHelper.php | 33 + .../symfony/console/Helper/ProcessHelper.php | 151 + vendor/symfony/console/Helper/ProgressBar.php | 636 + .../symfony/console/Helper/ProgressHelper.php | 469 + .../console/Helper/ProgressIndicator.php | 307 + .../symfony/console/Helper/QuestionHelper.php | 452 + .../console/Helper/SymfonyQuestionHelper.php | 120 + vendor/symfony/console/Helper/Table.php | 668 + vendor/symfony/console/Helper/TableCell.php | 83 + vendor/symfony/console/Helper/TableHelper.php | 269 + .../symfony/console/Helper/TableSeparator.php | 28 + vendor/symfony/console/Helper/TableStyle.php | 258 + vendor/symfony/console/Input/ArgvInput.php | 342 + vendor/symfony/console/Input/ArrayInput.php | 193 + vendor/symfony/console/Input/Input.php | 194 + .../symfony/console/Input/InputArgument.php | 131 + .../console/Input/InputAwareInterface.php | 28 + .../symfony/console/Input/InputDefinition.php | 460 + .../symfony/console/Input/InputInterface.php | 157 + vendor/symfony/console/Input/InputOption.php | 212 + vendor/symfony/console/Input/StringInput.php | 85 + vendor/symfony/console/LICENSE | 19 + .../symfony/console/Logger/ConsoleLogger.php | 119 + .../symfony/console/Output/BufferedOutput.php | 48 + .../symfony/console/Output/ConsoleOutput.php | 156 + .../console/Output/ConsoleOutputInterface.php | 35 + vendor/symfony/console/Output/NullOutput.php | 123 + vendor/symfony/console/Output/Output.php | 177 + .../console/Output/OutputInterface.php | 91 + .../symfony/console/Output/StreamOutput.php | 105 + .../console/Question/ChoiceQuestion.php | 191 + .../console/Question/ConfirmationQuestion.php | 61 + vendor/symfony/console/Question/Question.php | 250 + vendor/symfony/console/README.md | 20 + vendor/symfony/console/Shell.php | 233 + vendor/symfony/console/Style/OutputStyle.php | 116 + .../symfony/console/Style/StyleInterface.php | 159 + vendor/symfony/console/Style/SymfonyStyle.php | 435 + vendor/symfony/debug/BufferingLogger.php | 37 + vendor/symfony/debug/CHANGELOG.md | 47 + vendor/symfony/debug/Debug.php | 63 + vendor/symfony/debug/DebugClassLoader.php | 314 + vendor/symfony/debug/ErrorHandler.php | 664 + .../Exception/ClassNotFoundException.php | 33 + .../debug/Exception/ContextErrorException.php | 36 + .../debug/Exception/FatalErrorException.php | 82 + .../debug/Exception/FatalThrowableError.php | 44 + .../debug/Exception/FlattenException.php | 256 + .../debug/Exception/OutOfMemoryException.php | 21 + .../Exception/UndefinedFunctionException.php | 33 + .../Exception/UndefinedMethodException.php | 33 + vendor/symfony/debug/ExceptionHandler.php | 414 + .../ClassNotFoundFatalErrorHandler.php | 206 + .../FatalErrorHandlerInterface.php | 32 + .../UndefinedFunctionFatalErrorHandler.php | 84 + .../UndefinedMethodFatalErrorHandler.php | 60 + vendor/symfony/debug/LICENSE | 19 + vendor/symfony/debug/README.md | 13 + vendor/symfony/event-dispatcher/CHANGELOG.md | 23 + .../ContainerAwareEventDispatcher.php | 197 + .../Debug/TraceableEventDispatcher.php | 382 + .../TraceableEventDispatcherInterface.php | 34 + .../Debug/WrappedListener.php | 71 + .../RegisterListenersPass.php | 113 + vendor/symfony/event-dispatcher/Event.php | 120 + .../event-dispatcher/EventDispatcher.php | 198 + .../EventDispatcherInterface.php | 88 + .../EventSubscriberInterface.php | 46 + .../symfony/event-dispatcher/GenericEvent.php | 186 + .../ImmutableEventDispatcher.php | 101 + vendor/symfony/event-dispatcher/LICENSE | 19 + vendor/symfony/event-dispatcher/README.md | 15 + vendor/symfony/polyfill-iconv/Iconv.php | 725 + vendor/symfony/polyfill-iconv/LICENSE | 19 + vendor/symfony/polyfill-iconv/README.md | 14 + .../Resources/charset/from.big5.php | 13719 ++++++++++ .../Resources/charset/from.cp037.php | Bin 0 -> 3779 bytes .../Resources/charset/from.cp1006.php | Bin 0 -> 3860 bytes .../Resources/charset/from.cp1026.php | Bin 0 -> 3779 bytes .../Resources/charset/from.cp424.php | Bin 0 -> 3210 bytes .../Resources/charset/from.cp437.php | Bin 0 -> 3841 bytes .../Resources/charset/from.cp500.php | Bin 0 -> 3779 bytes .../Resources/charset/from.cp737.php | Bin 0 -> 3834 bytes .../Resources/charset/from.cp775.php | Bin 0 -> 3815 bytes .../Resources/charset/from.cp850.php | Bin 0 -> 3809 bytes .../Resources/charset/from.cp852.php | Bin 0 -> 3808 bytes .../Resources/charset/from.cp855.php | Bin 0 -> 3809 bytes .../Resources/charset/from.cp856.php | Bin 0 -> 3194 bytes .../Resources/charset/from.cp857.php | Bin 0 -> 3763 bytes .../Resources/charset/from.cp860.php | Bin 0 -> 3840 bytes .../Resources/charset/from.cp861.php | Bin 0 -> 3841 bytes .../Resources/charset/from.cp862.php | Bin 0 -> 3841 bytes .../Resources/charset/from.cp863.php | Bin 0 -> 3841 bytes .../Resources/charset/from.cp864.php | Bin 0 -> 3779 bytes .../Resources/charset/from.cp865.php | Bin 0 -> 3841 bytes .../Resources/charset/from.cp866.php | Bin 0 -> 3831 bytes .../Resources/charset/from.cp869.php | Bin 0 -> 3676 bytes .../Resources/charset/from.cp874.php | Bin 0 -> 3410 bytes .../Resources/charset/from.cp875.php | Bin 0 -> 3776 bytes .../Resources/charset/from.cp932.php | Bin 0 -> 134095 bytes .../Resources/charset/from.cp936.php | Bin 0 -> 372283 bytes .../Resources/charset/from.cp949.php | Bin 0 -> 291504 bytes .../Resources/charset/from.cp950.php | Bin 0 -> 231436 bytes .../Resources/charset/from.iso-8859-1.php | Bin 0 -> 3779 bytes .../Resources/charset/from.iso-8859-10.php | Bin 0 -> 3780 bytes .../Resources/charset/from.iso-8859-11.php | Bin 0 -> 3746 bytes .../Resources/charset/from.iso-8859-13.php | Bin 0 -> 3783 bytes .../Resources/charset/from.iso-8859-14.php | Bin 0 -> 3801 bytes .../Resources/charset/from.iso-8859-15.php | Bin 0 -> 3780 bytes .../Resources/charset/from.iso-8859-16.php | Bin 0 -> 3782 bytes .../Resources/charset/from.iso-8859-2.php | Bin 0 -> 3779 bytes .../Resources/charset/from.iso-8859-3.php | Bin 0 -> 3674 bytes .../Resources/charset/from.iso-8859-4.php | Bin 0 -> 3779 bytes .../Resources/charset/from.iso-8859-5.php | Bin 0 -> 3780 bytes .../Resources/charset/from.iso-8859-6.php | Bin 0 -> 3104 bytes .../Resources/charset/from.iso-8859-7.php | Bin 0 -> 3692 bytes .../Resources/charset/from.iso-8859-8.php | Bin 0 -> 3242 bytes .../Resources/charset/from.iso-8859-9.php | Bin 0 -> 3779 bytes .../Resources/charset/from.koi8-r.php | Bin 0 -> 3835 bytes .../Resources/charset/from.koi8-u.php | Bin 0 -> 3827 bytes .../Resources/charset/from.us-ascii.php | Bin 0 -> 1859 bytes .../Resources/charset/from.windows-1250.php | Bin 0 -> 3721 bytes .../Resources/charset/from.windows-1251.php | Bin 0 -> 3782 bytes .../Resources/charset/from.windows-1252.php | Bin 0 -> 3721 bytes .../Resources/charset/from.windows-1253.php | Bin 0 -> 3542 bytes .../Resources/charset/from.windows-1254.php | Bin 0 -> 3691 bytes .../Resources/charset/from.windows-1255.php | Bin 0 -> 3454 bytes .../Resources/charset/from.windows-1256.php | Bin 0 -> 3800 bytes .../Resources/charset/from.windows-1257.php | Bin 0 -> 3616 bytes .../Resources/charset/from.windows-1258.php | Bin 0 -> 3662 bytes .../Resources/charset/translit.php | 3969 +++ vendor/symfony/polyfill-iconv/bootstrap.php | 44 + vendor/symfony/polyfill-mbstring/LICENSE | 19 + vendor/symfony/polyfill-mbstring/Mbstring.php | 664 + vendor/symfony/polyfill-mbstring/README.md | 13 + .../Resources/unidata/lowerCase.php | 1101 + .../Resources/unidata/upperCase.php | 1109 + .../symfony/polyfill-mbstring/bootstrap.php | 56 + vendor/symfony/var-dumper/CHANGELOG.md | 7 + .../symfony/var-dumper/Caster/AmqpCaster.php | 210 + vendor/symfony/var-dumper/Caster/Caster.php | 118 + .../symfony/var-dumper/Caster/ConstStub.php | 28 + .../var-dumper/Caster/CutArrayStub.php | 30 + vendor/symfony/var-dumper/Caster/CutStub.php | 59 + .../symfony/var-dumper/Caster/DOMCaster.php | 302 + .../var-dumper/Caster/DoctrineCaster.php | 60 + vendor/symfony/var-dumper/Caster/EnumStub.php | 27 + .../var-dumper/Caster/ExceptionCaster.php | 286 + .../symfony/var-dumper/Caster/FrameStub.php | 30 + .../symfony/var-dumper/Caster/MongoCaster.php | 34 + .../symfony/var-dumper/Caster/PdoCaster.php | 114 + .../symfony/var-dumper/Caster/PgSqlCaster.php | 154 + .../var-dumper/Caster/ReflectionCaster.php | 336 + .../var-dumper/Caster/ResourceCaster.php | 67 + .../symfony/var-dumper/Caster/SplCaster.php | 203 + .../symfony/var-dumper/Caster/StubCaster.php | 74 + .../symfony/var-dumper/Caster/TraceStub.php | 36 + .../var-dumper/Caster/XmlResourceCaster.php | 61 + .../var-dumper/Cloner/AbstractCloner.php | 321 + .../var-dumper/Cloner/ClonerInterface.php | 27 + vendor/symfony/var-dumper/Cloner/Cursor.php | 41 + vendor/symfony/var-dumper/Cloner/Data.php | 241 + .../var-dumper/Cloner/DumperInterface.php | 60 + vendor/symfony/var-dumper/Cloner/Stub.php | 40 + .../symfony/var-dumper/Cloner/VarCloner.php | 326 + .../var-dumper/Dumper/AbstractDumper.php | 186 + .../symfony/var-dumper/Dumper/CliDumper.php | 476 + .../var-dumper/Dumper/DataDumperInterface.php | 29 + .../symfony/var-dumper/Dumper/HtmlDumper.php | 444 + .../Exception/ThrowingCasterException.php | 31 + vendor/symfony/var-dumper/LICENSE | 19 + vendor/symfony/var-dumper/README.md | 15 + .../var-dumper/Resources/functions/dump.php | 24 + vendor/symfony/var-dumper/VarDumper.php | 52 + vendor/symfony/yaml/CHANGELOG.md | 28 + vendor/symfony/yaml/Dumper.php | 77 + vendor/symfony/yaml/Escaper.php | 101 + .../symfony/yaml/Exception/DumpException.php | 21 + .../yaml/Exception/ExceptionInterface.php | 21 + .../symfony/yaml/Exception/ParseException.php | 146 + .../yaml/Exception/RuntimeException.php | 21 + vendor/symfony/yaml/Inline.php | 589 + vendor/symfony/yaml/LICENSE | 19 + vendor/symfony/yaml/Parser.php | 850 + vendor/symfony/yaml/README.md | 13 + vendor/symfony/yaml/Unescaper.php | 156 + vendor/symfony/yaml/Yaml.php | 100 + vendor/twig/twig/CHANGELOG | 984 + vendor/twig/twig/LICENSE | 31 + vendor/twig/twig/README.rst | 15 + vendor/twig/twig/lib/Twig/Autoloader.php | 54 + vendor/twig/twig/lib/Twig/BaseNodeVisitor.php | 54 + .../twig/twig/lib/Twig/Cache/Filesystem.php | 93 + vendor/twig/twig/lib/Twig/Cache/Null.php | 40 + vendor/twig/twig/lib/Twig/CacheInterface.php | 58 + vendor/twig/twig/lib/Twig/Compiler.php | 284 + .../twig/twig/lib/Twig/CompilerInterface.php | 34 + .../twig/lib/Twig/ContainerRuntimeLoader.php | 39 + vendor/twig/twig/lib/Twig/Environment.php | 1600 ++ vendor/twig/twig/lib/Twig/Error.php | 363 + vendor/twig/twig/lib/Twig/Error/Loader.php | 40 + vendor/twig/twig/lib/Twig/Error/Runtime.php | 22 + vendor/twig/twig/lib/Twig/Error/Syntax.php | 55 + .../twig/lib/Twig/ExistsLoaderInterface.php | 31 + .../twig/twig/lib/Twig/ExpressionParser.php | 741 + vendor/twig/twig/lib/Twig/Extension.php | 69 + vendor/twig/twig/lib/Twig/Extension/Core.php | 1612 ++ vendor/twig/twig/lib/Twig/Extension/Debug.php | 67 + .../twig/twig/lib/Twig/Extension/Escaper.php | 112 + .../lib/Twig/Extension/GlobalsInterface.php | 24 + .../Twig/Extension/InitRuntimeInterface.php | 24 + .../twig/lib/Twig/Extension/Optimizer.php | 35 + .../twig/twig/lib/Twig/Extension/Profiler.php | 49 + .../twig/twig/lib/Twig/Extension/Sandbox.php | 103 + .../twig/twig/lib/Twig/Extension/Staging.php | 112 + .../twig/lib/Twig/Extension/StringLoader.php | 47 + .../twig/twig/lib/Twig/ExtensionInterface.php | 90 + .../twig/lib/Twig/FactoryRuntimeLoader.php | 39 + .../Twig/FileExtensionEscapingStrategy.php | 60 + vendor/twig/twig/lib/Twig/Filter.php | 84 + vendor/twig/twig/lib/Twig/Filter/Function.php | 40 + vendor/twig/twig/lib/Twig/Filter/Method.php | 42 + vendor/twig/twig/lib/Twig/Filter/Node.php | 42 + .../twig/lib/Twig/FilterCallableInterface.php | 24 + vendor/twig/twig/lib/Twig/FilterInterface.php | 43 + vendor/twig/twig/lib/Twig/Function.php | 74 + .../twig/twig/lib/Twig/Function/Function.php | 41 + vendor/twig/twig/lib/Twig/Function/Method.php | 43 + vendor/twig/twig/lib/Twig/Function/Node.php | 42 + .../lib/Twig/FunctionCallableInterface.php | 24 + .../twig/twig/lib/Twig/FunctionInterface.php | 40 + vendor/twig/twig/lib/Twig/Lexer.php | 424 + vendor/twig/twig/lib/Twig/LexerInterface.php | 32 + vendor/twig/twig/lib/Twig/Loader/Array.php | 97 + vendor/twig/twig/lib/Twig/Loader/Chain.php | 151 + .../twig/twig/lib/Twig/Loader/Filesystem.php | 290 + vendor/twig/twig/lib/Twig/Loader/String.php | 58 + vendor/twig/twig/lib/Twig/LoaderInterface.php | 57 + vendor/twig/twig/lib/Twig/Markup.php | 39 + vendor/twig/twig/lib/Twig/Node.php | 256 + vendor/twig/twig/lib/Twig/Node/AutoEscape.php | 36 + vendor/twig/twig/lib/Twig/Node/Block.php | 41 + .../twig/lib/Twig/Node/BlockReference.php | 34 + vendor/twig/twig/lib/Twig/Node/Body.php | 21 + .../twig/twig/lib/Twig/Node/CheckSecurity.php | 80 + vendor/twig/twig/lib/Twig/Node/Do.php | 35 + vendor/twig/twig/lib/Twig/Node/Embed.php | 46 + vendor/twig/twig/lib/Twig/Node/Expression.php | 22 + .../twig/lib/Twig/Node/Expression/Array.php | 83 + .../lib/Twig/Node/Expression/AssignName.php | 25 + .../twig/lib/Twig/Node/Expression/Binary.php | 37 + .../lib/Twig/Node/Expression/Binary/Add.php | 20 + .../lib/Twig/Node/Expression/Binary/And.php | 20 + .../Node/Expression/Binary/BitwiseAnd.php | 20 + .../Twig/Node/Expression/Binary/BitwiseOr.php | 20 + .../Node/Expression/Binary/BitwiseXor.php | 20 + .../Twig/Node/Expression/Binary/Concat.php | 20 + .../lib/Twig/Node/Expression/Binary/Div.php | 20 + .../Twig/Node/Expression/Binary/EndsWith.php | 32 + .../lib/Twig/Node/Expression/Binary/Equal.php | 19 + .../Twig/Node/Expression/Binary/FloorDiv.php | 26 + .../Twig/Node/Expression/Binary/Greater.php | 19 + .../Node/Expression/Binary/GreaterEqual.php | 19 + .../lib/Twig/Node/Expression/Binary/In.php | 30 + .../lib/Twig/Node/Expression/Binary/Less.php | 19 + .../Twig/Node/Expression/Binary/LessEqual.php | 19 + .../Twig/Node/Expression/Binary/Matches.php | 30 + .../lib/Twig/Node/Expression/Binary/Mod.php | 20 + .../lib/Twig/Node/Expression/Binary/Mul.php | 20 + .../Twig/Node/Expression/Binary/NotEqual.php | 19 + .../lib/Twig/Node/Expression/Binary/NotIn.php | 30 + .../lib/Twig/Node/Expression/Binary/Or.php | 20 + .../lib/Twig/Node/Expression/Binary/Power.php | 34 + .../lib/Twig/Node/Expression/Binary/Range.php | 30 + .../Node/Expression/Binary/StartsWith.php | 32 + .../lib/Twig/Node/Expression/Binary/Sub.php | 20 + .../Twig/Node/Expression/BlockReference.php | 93 + .../twig/lib/Twig/Node/Expression/Call.php | 291 + .../lib/Twig/Node/Expression/Conditional.php | 33 + .../lib/Twig/Node/Expression/Constant.php | 25 + .../Node/Expression/ExtensionReference.php | 32 + .../twig/lib/Twig/Node/Expression/Filter.php | 41 + .../Twig/Node/Expression/Filter/Default.php | 45 + .../lib/Twig/Node/Expression/Function.php | 45 + .../twig/lib/Twig/Node/Expression/GetAttr.php | 74 + .../lib/Twig/Node/Expression/MethodCall.php | 43 + .../twig/lib/Twig/Node/Expression/Name.php | 102 + .../lib/Twig/Node/Expression/NullCoalesce.php | 48 + .../twig/lib/Twig/Node/Expression/Parent.php | 44 + .../lib/Twig/Node/Expression/TempName.php | 28 + .../twig/lib/Twig/Node/Expression/Test.php | 42 + .../Twig/Node/Expression/Test/Constant.php | 48 + .../lib/Twig/Node/Expression/Test/Defined.php | 61 + .../Twig/Node/Expression/Test/Divisibleby.php | 35 + .../lib/Twig/Node/Expression/Test/Even.php | 34 + .../lib/Twig/Node/Expression/Test/Null.php | 33 + .../lib/Twig/Node/Expression/Test/Odd.php | 34 + .../lib/Twig/Node/Expression/Test/Sameas.php | 31 + .../twig/lib/Twig/Node/Expression/Unary.php | 29 + .../lib/Twig/Node/Expression/Unary/Neg.php | 20 + .../lib/Twig/Node/Expression/Unary/Not.php | 20 + .../lib/Twig/Node/Expression/Unary/Pos.php | 20 + vendor/twig/twig/lib/Twig/Node/Flush.php | 33 + vendor/twig/twig/lib/Twig/Node/For.php | 113 + vendor/twig/twig/lib/Twig/Node/ForLoop.php | 52 + vendor/twig/twig/lib/Twig/Node/If.php | 68 + vendor/twig/twig/lib/Twig/Node/Import.php | 51 + vendor/twig/twig/lib/Twig/Node/Include.php | 90 + vendor/twig/twig/lib/Twig/Node/Macro.php | 125 + vendor/twig/twig/lib/Twig/Node/Module.php | 461 + vendor/twig/twig/lib/Twig/Node/Print.php | 36 + vendor/twig/twig/lib/Twig/Node/Sandbox.php | 44 + .../twig/lib/Twig/Node/SandboxedPrint.php | 51 + vendor/twig/twig/lib/Twig/Node/Set.php | 98 + vendor/twig/twig/lib/Twig/Node/SetTemp.php | 40 + vendor/twig/twig/lib/Twig/Node/Spaceless.php | 37 + vendor/twig/twig/lib/Twig/Node/Text.php | 36 + vendor/twig/twig/lib/Twig/Node/With.php | 64 + .../twig/lib/Twig/NodeCaptureInterface.php | 21 + vendor/twig/twig/lib/Twig/NodeInterface.php | 32 + .../twig/lib/Twig/NodeOutputInterface.php | 21 + vendor/twig/twig/lib/Twig/NodeTraverser.php | 84 + .../twig/lib/Twig/NodeVisitor/Escaper.php | 154 + .../twig/lib/Twig/NodeVisitor/Optimizer.php | 253 + .../lib/Twig/NodeVisitor/SafeAnalysis.php | 150 + .../twig/lib/Twig/NodeVisitor/Sandbox.php | 77 + .../twig/lib/Twig/NodeVisitorInterface.php | 45 + vendor/twig/twig/lib/Twig/Parser.php | 410 + vendor/twig/twig/lib/Twig/ParserInterface.php | 29 + .../twig/lib/Twig/Profiler/Dumper/Base.php | 62 + .../lib/Twig/Profiler/Dumper/Blackfire.php | 72 + .../twig/lib/Twig/Profiler/Dumper/Html.php | 47 + .../twig/lib/Twig/Profiler/Dumper/Text.php | 35 + .../lib/Twig/Profiler/Node/EnterProfile.php | 39 + .../lib/Twig/Profiler/Node/LeaveProfile.php | 33 + .../Twig/Profiler/NodeVisitor/Profiler.php | 67 + .../twig/twig/lib/Twig/Profiler/Profile.php | 170 + .../twig/lib/Twig/RuntimeLoaderInterface.php | 29 + .../twig/lib/Twig/Sandbox/SecurityError.php | 21 + .../Sandbox/SecurityNotAllowedFilterError.php | 33 + .../SecurityNotAllowedFunctionError.php | 33 + .../Sandbox/SecurityNotAllowedMethodError.php | 40 + .../SecurityNotAllowedPropertyError.php | 40 + .../Sandbox/SecurityNotAllowedTagError.php | 33 + .../twig/lib/Twig/Sandbox/SecurityPolicy.php | 125 + .../Twig/Sandbox/SecurityPolicyInterface.php | 26 + vendor/twig/twig/lib/Twig/SimpleFilter.php | 121 + vendor/twig/twig/lib/Twig/SimpleFunction.php | 111 + vendor/twig/twig/lib/Twig/SimpleTest.php | 73 + vendor/twig/twig/lib/Twig/Source.php | 53 + .../lib/Twig/SourceContextLoaderInterface.php | 33 + vendor/twig/twig/lib/Twig/Template.php | 706 + .../twig/twig/lib/Twig/TemplateInterface.php | 48 + vendor/twig/twig/lib/Twig/TemplateWrapper.php | 133 + vendor/twig/twig/lib/Twig/Test.php | 37 + vendor/twig/twig/lib/Twig/Test/Function.php | 38 + .../lib/Twig/Test/IntegrationTestCase.php | 249 + vendor/twig/twig/lib/Twig/Test/Method.php | 40 + vendor/twig/twig/lib/Twig/Test/Node.php | 40 + .../twig/twig/lib/Twig/Test/NodeTestCase.php | 75 + .../twig/lib/Twig/TestCallableInterface.php | 22 + vendor/twig/twig/lib/Twig/TestInterface.php | 27 + vendor/twig/twig/lib/Twig/Token.php | 207 + vendor/twig/twig/lib/Twig/TokenParser.php | 33 + .../twig/lib/Twig/TokenParser/AutoEscape.php | 83 + .../twig/twig/lib/Twig/TokenParser/Block.php | 73 + vendor/twig/twig/lib/Twig/TokenParser/Do.php | 34 + .../twig/twig/lib/Twig/TokenParser/Embed.php | 67 + .../twig/lib/Twig/TokenParser/Extends.php | 46 + .../twig/twig/lib/Twig/TokenParser/Filter.php | 53 + .../twig/twig/lib/Twig/TokenParser/Flush.php | 34 + vendor/twig/twig/lib/Twig/TokenParser/For.php | 127 + .../twig/twig/lib/Twig/TokenParser/From.php | 66 + vendor/twig/twig/lib/Twig/TokenParser/If.php | 86 + .../twig/twig/lib/Twig/TokenParser/Import.php | 41 + .../twig/lib/Twig/TokenParser/Include.php | 65 + .../twig/twig/lib/Twig/TokenParser/Macro.php | 60 + .../twig/lib/Twig/TokenParser/Sandbox.php | 61 + vendor/twig/twig/lib/Twig/TokenParser/Set.php | 75 + .../twig/lib/Twig/TokenParser/Spaceless.php | 51 + vendor/twig/twig/lib/Twig/TokenParser/Use.php | 70 + .../twig/twig/lib/Twig/TokenParser/With.php | 52 + .../twig/twig/lib/Twig/TokenParserBroker.php | 120 + .../lib/Twig/TokenParserBrokerInterface.php | 44 + .../twig/lib/Twig/TokenParserInterface.php | 43 + vendor/twig/twig/lib/Twig/TokenStream.php | 196 + .../lib/Twig/Util/DeprecationCollector.php | 86 + .../lib/Twig/Util/TemplateDirIterator.php | 28 + vendor/twig/twig/src/Cache/CacheInterface.php | 11 + .../twig/twig/src/Cache/FilesystemCache.php | 11 + vendor/twig/twig/src/Cache/NullCache.php | 11 + vendor/twig/twig/src/Compiler.php | 11 + vendor/twig/twig/src/Environment.php | 11 + vendor/twig/twig/src/Error/Error.php | 11 + vendor/twig/twig/src/Error/LoaderError.php | 11 + vendor/twig/twig/src/Error/RuntimeError.php | 11 + vendor/twig/twig/src/Error/SyntaxError.php | 11 + vendor/twig/twig/src/ExpressionParser.php | 11 + .../twig/src/Extension/AbstractExtension.php | 11 + .../twig/twig/src/Extension/CoreExtension.php | 11 + .../twig/src/Extension/DebugExtension.php | 11 + .../twig/src/Extension/EscaperExtension.php | 11 + .../twig/src/Extension/ExtensionInterface.php | 11 + .../twig/src/Extension/GlobalsInterface.php | 11 + .../src/Extension/InitRuntimeInterface.php | 11 + .../twig/src/Extension/OptimizerExtension.php | 11 + .../twig/src/Extension/ProfilerExtension.php | 11 + .../Extension/RuntimeExtensionInterface.php | 19 + .../twig/src/Extension/SandboxExtension.php | 11 + .../twig/src/Extension/StagingExtension.php | 11 + .../src/Extension/StringLoaderExtension.php | 11 + .../src/FileExtensionEscapingStrategy.php | 11 + vendor/twig/twig/src/Lexer.php | 11 + vendor/twig/twig/src/Loader/ArrayLoader.php | 11 + vendor/twig/twig/src/Loader/ChainLoader.php | 11 + .../twig/src/Loader/ExistsLoaderInterface.php | 11 + .../twig/twig/src/Loader/FilesystemLoader.php | 11 + .../twig/twig/src/Loader/LoaderInterface.php | 11 + .../Loader/SourceContextLoaderInterface.php | 11 + vendor/twig/twig/src/Markup.php | 11 + vendor/twig/twig/src/Node/AutoEscapeNode.php | 11 + vendor/twig/twig/src/Node/BlockNode.php | 11 + .../twig/twig/src/Node/BlockReferenceNode.php | 11 + vendor/twig/twig/src/Node/BodyNode.php | 11 + .../twig/twig/src/Node/CheckSecurityNode.php | 11 + vendor/twig/twig/src/Node/DoNode.php | 11 + vendor/twig/twig/src/Node/EmbedNode.php | 11 + .../Node/Expression/AbstractExpression.php | 11 + .../src/Node/Expression/ArrayExpression.php | 11 + .../Node/Expression/AssignNameExpression.php | 11 + .../Node/Expression/Binary/AbstractBinary.php | 11 + .../src/Node/Expression/Binary/AddBinary.php | 11 + .../src/Node/Expression/Binary/AndBinary.php | 11 + .../Expression/Binary/BitwiseAndBinary.php | 11 + .../Expression/Binary/BitwiseOrBinary.php | 11 + .../Expression/Binary/BitwiseXorBinary.php | 11 + .../Node/Expression/Binary/ConcatBinary.php | 11 + .../src/Node/Expression/Binary/DivBinary.php | 11 + .../Node/Expression/Binary/EndsWithBinary.php | 11 + .../Node/Expression/Binary/EqualBinary.php | 11 + .../Node/Expression/Binary/FloorDivBinary.php | 11 + .../Node/Expression/Binary/GreaterBinary.php | 11 + .../Expression/Binary/GreaterEqualBinary.php | 11 + .../src/Node/Expression/Binary/InBinary.php | 11 + .../src/Node/Expression/Binary/LessBinary.php | 11 + .../Expression/Binary/LessEqualBinary.php | 11 + .../Node/Expression/Binary/MatchesBinary.php | 11 + .../src/Node/Expression/Binary/ModBinary.php | 11 + .../src/Node/Expression/Binary/MulBinary.php | 11 + .../Node/Expression/Binary/NotEqualBinary.php | 11 + .../Node/Expression/Binary/NotInBinary.php | 11 + .../src/Node/Expression/Binary/OrBinary.php | 11 + .../Node/Expression/Binary/PowerBinary.php | 11 + .../Node/Expression/Binary/RangeBinary.php | 11 + .../Expression/Binary/StartsWithBinary.php | 11 + .../src/Node/Expression/Binary/SubBinary.php | 11 + .../Expression/BlockReferenceExpression.php | 11 + .../src/Node/Expression/CallExpression.php | 11 + .../Node/Expression/ConditionalExpression.php | 11 + .../Node/Expression/ConstantExpression.php | 11 + .../Node/Expression/Filter/DefaultFilter.php | 11 + .../src/Node/Expression/FilterExpression.php | 11 + .../Node/Expression/FunctionExpression.php | 11 + .../src/Node/Expression/GetAttrExpression.php | 11 + .../Node/Expression/MethodCallExpression.php | 11 + .../src/Node/Expression/NameExpression.php | 11 + .../Expression/NullCoalesceExpression.php | 11 + .../src/Node/Expression/ParentExpression.php | 11 + .../Node/Expression/TempNameExpression.php | 11 + .../src/Node/Expression/Test/ConstantTest.php | 11 + .../src/Node/Expression/Test/DefinedTest.php | 11 + .../Node/Expression/Test/DivisiblebyTest.php | 11 + .../src/Node/Expression/Test/EvenTest.php | 11 + .../src/Node/Expression/Test/NullTest.php | 11 + .../twig/src/Node/Expression/Test/OddTest.php | 11 + .../src/Node/Expression/Test/SameasTest.php | 11 + .../src/Node/Expression/TestExpression.php | 11 + .../Node/Expression/Unary/AbstractUnary.php | 11 + .../src/Node/Expression/Unary/NegUnary.php | 11 + .../src/Node/Expression/Unary/NotUnary.php | 11 + .../src/Node/Expression/Unary/PosUnary.php | 11 + vendor/twig/twig/src/Node/FlushNode.php | 11 + vendor/twig/twig/src/Node/ForLoopNode.php | 11 + vendor/twig/twig/src/Node/ForNode.php | 11 + vendor/twig/twig/src/Node/IfNode.php | 11 + vendor/twig/twig/src/Node/ImportNode.php | 11 + vendor/twig/twig/src/Node/IncludeNode.php | 11 + vendor/twig/twig/src/Node/MacroNode.php | 11 + vendor/twig/twig/src/Node/ModuleNode.php | 11 + vendor/twig/twig/src/Node/Node.php | 11 + .../twig/src/Node/NodeCaptureInterface.php | 11 + .../twig/src/Node/NodeOutputInterface.php | 11 + vendor/twig/twig/src/Node/PrintNode.php | 11 + vendor/twig/twig/src/Node/SandboxNode.php | 11 + .../twig/twig/src/Node/SandboxedPrintNode.php | 11 + vendor/twig/twig/src/Node/SetNode.php | 11 + vendor/twig/twig/src/Node/SetTempNode.php | 11 + vendor/twig/twig/src/Node/SpacelessNode.php | 11 + vendor/twig/twig/src/Node/TextNode.php | 11 + vendor/twig/twig/src/Node/WithNode.php | 11 + vendor/twig/twig/src/NodeTraverser.php | 11 + .../src/NodeVisitor/AbstractNodeVisitor.php | 11 + .../src/NodeVisitor/EscaperNodeVisitor.php | 11 + .../src/NodeVisitor/NodeVisitorInterface.php | 11 + .../src/NodeVisitor/OptimizerNodeVisitor.php | 11 + .../NodeVisitor/SafeAnalysisNodeVisitor.php | 11 + .../src/NodeVisitor/SandboxNodeVisitor.php | 11 + vendor/twig/twig/src/Parser.php | 11 + .../twig/src/Profiler/Dumper/BaseDumper.php | 11 + .../src/Profiler/Dumper/BlackfireDumper.php | 11 + .../twig/src/Profiler/Dumper/HtmlDumper.php | 11 + .../twig/src/Profiler/Dumper/TextDumper.php | 11 + .../src/Profiler/Node/EnterProfileNode.php | 11 + .../src/Profiler/Node/LeaveProfileNode.php | 11 + .../NodeVisitor/ProfilerNodeVisitor.php | 11 + vendor/twig/twig/src/Profiler/Profile.php | 11 + .../RuntimeLoader/ContainerRuntimeLoader.php | 11 + .../RuntimeLoader/FactoryRuntimeLoader.php | 11 + .../RuntimeLoader/RuntimeLoaderInterface.php | 11 + .../twig/twig/src/Sandbox/SecurityError.php | 11 + .../Sandbox/SecurityNotAllowedFilterError.php | 11 + .../SecurityNotAllowedFunctionError.php | 11 + .../Sandbox/SecurityNotAllowedMethodError.php | 11 + .../SecurityNotAllowedPropertyError.php | 11 + .../Sandbox/SecurityNotAllowedTagError.php | 11 + .../twig/twig/src/Sandbox/SecurityPolicy.php | 11 + .../src/Sandbox/SecurityPolicyInterface.php | 11 + vendor/twig/twig/src/Source.php | 11 + vendor/twig/twig/src/Template.php | 11 + vendor/twig/twig/src/TemplateWrapper.php | 11 + .../twig/src/Test/IntegrationTestCase.php | 11 + vendor/twig/twig/src/Test/NodeTestCase.php | 11 + vendor/twig/twig/src/Token.php | 11 + .../src/TokenParser/AbstractTokenParser.php | 11 + .../src/TokenParser/AutoEscapeTokenParser.php | 11 + .../twig/src/TokenParser/BlockTokenParser.php | 11 + .../twig/src/TokenParser/DoTokenParser.php | 11 + .../twig/src/TokenParser/EmbedTokenParser.php | 11 + .../src/TokenParser/ExtendsTokenParser.php | 11 + .../src/TokenParser/FilterTokenParser.php | 11 + .../twig/src/TokenParser/FlushTokenParser.php | 11 + .../twig/src/TokenParser/ForTokenParser.php | 11 + .../twig/src/TokenParser/FromTokenParser.php | 11 + .../twig/src/TokenParser/IfTokenParser.php | 11 + .../src/TokenParser/ImportTokenParser.php | 11 + .../src/TokenParser/IncludeTokenParser.php | 11 + .../twig/src/TokenParser/MacroTokenParser.php | 11 + .../src/TokenParser/SandboxTokenParser.php | 11 + .../twig/src/TokenParser/SetTokenParser.php | 11 + .../src/TokenParser/SpacelessTokenParser.php | 11 + .../src/TokenParser/TokenParserInterface.php | 11 + .../twig/src/TokenParser/UseTokenParser.php | 11 + .../twig/src/TokenParser/WithTokenParser.php | 11 + vendor/twig/twig/src/TokenStream.php | 11 + vendor/twig/twig/src/TwigFilter.php | 11 + vendor/twig/twig/src/TwigFunction.php | 11 + vendor/twig/twig/src/TwigTest.php | 11 + .../twig/src/Util/DeprecationCollector.php | 11 + .../twig/src/Util/TemplateDirIterator.php | 11 + webserver-configs/Caddyfile | 33 + webserver-configs/Caddyfile-0.8.x | 33 + webserver-configs/htaccess.txt | 75 + webserver-configs/lighttpd.conf | 48 + webserver-configs/nginx.conf | 43 + webserver-configs/web.config | 42 + 4073 files changed, 501866 insertions(+) create mode 100644 .gitignore create mode 100644 .htaccess create mode 100644 CHANGELOG.md create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE.txt create mode 100644 README.md create mode 100644 assets/.gitkeep create mode 100644 backup/.gitkeep create mode 100755 bin/composer.phar create mode 100755 bin/gpm create mode 100755 bin/grav create mode 100755 bin/plugin create mode 100644 cache/.gitkeep create mode 100644 cache/compiled/blueprints/master-dev.static-ethica.net.php create mode 100644 cache/compiled/config/master-dev.static-ethica.net.php create mode 100644 cache/compiled/files/003c09ca9196d5ce54fa85ef82873653.yaml.php create mode 100644 cache/compiled/files/00702565af2823609c3fb74ba1e2b075.yaml.php create mode 100644 cache/compiled/files/016d05303b7ccdfb0f74c68297e892c7.yaml.php create mode 100644 cache/compiled/files/01771f4b914de27ded70569422ee1fa6.yaml.php create mode 100644 cache/compiled/files/020c23150f026436f86f4733fed931d8.yaml.php create mode 100644 cache/compiled/files/025fb46bc9e2ddf8a694f3149f1c1ffe.yaml.php create mode 100644 cache/compiled/files/03c2f6a8de05b653385e0f7a6911ed8c.yaml.php create mode 100644 cache/compiled/files/040b99bca38148c658d7d0a16ee2a135.yaml.php create mode 100644 cache/compiled/files/05fc4e4504f8d902f8f60f4985007852.yaml.php create mode 100644 cache/compiled/files/062249916a5cedbb1957c8c4556718f0.yaml.php create mode 100644 cache/compiled/files/08d196675c3fa3f9b1afa9faf9a76fb7.yaml.php create mode 100644 cache/compiled/files/0a255ab0f85b61063e1491070e1a33de.yaml.php create mode 100644 cache/compiled/files/0b2892d97d16b0943ef51d809002ac5e.yaml.php create mode 100644 cache/compiled/files/0b4749abd38fcdb6b72ea5f5c7044c50.yaml.php create mode 100644 cache/compiled/files/0c9d9b9fd9a1b850d7cfc5f5ec7d5432.yaml.php create mode 100644 cache/compiled/files/0d7899e4a37503e41e8265b7e260aa1a.yaml.php create mode 100644 cache/compiled/files/0d9d16b8cdc536c6074d448e30104953.yaml.php create mode 100644 cache/compiled/files/0dd1f9914abffc486a120cad34d359a7.yaml.php create mode 100644 cache/compiled/files/0f2a7a81155c939e99a6a07e5e5bd52f.yaml.php create mode 100644 cache/compiled/files/0fe03556681731ce606b1c3449055a0e.yaml.php create mode 100644 cache/compiled/files/134c34317c324ba9efcc6002c5bcc574.yaml.php create mode 100644 cache/compiled/files/15ffef0a5a24e122f199855033b6b627.yaml.php create mode 100644 cache/compiled/files/18378bab0d5cc99b10506eb362fcc718.yaml.php create mode 100644 cache/compiled/files/18503131921c5a97d34235cf304dc734.yaml.php create mode 100644 cache/compiled/files/195439f17fbee20a2684dc7d4fcc41bb.yaml.php create mode 100644 cache/compiled/files/1c12d2a3969361ee209fefe510844ab9.yaml.php create mode 100644 cache/compiled/files/1c87618e4f16b42b4735ba4d7ddcab4b.yaml.php create mode 100644 cache/compiled/files/1d23f4be09249fdace3d4706211cdb98.yaml.php create mode 100644 cache/compiled/files/1f331742f4270dc0dee543655951ab91.yaml.php create mode 100644 cache/compiled/files/2212a4830ea221ebef8c0d511791ef33.yaml.php create mode 100644 cache/compiled/files/2260deaf3ae01ca9adbbeaf48d659cc8.yaml.php create mode 100644 cache/compiled/files/226659b03c5b576b13848d0e08cd50a1.yaml.php create mode 100644 cache/compiled/files/226edd2915754fd30f2829a487767482.yaml.php create mode 100644 cache/compiled/files/23650d9669790f0a0cb3e42fb2f4a264.yaml.php create mode 100644 cache/compiled/files/23880dd72e80a52cb629289a966cad71.yaml.php create mode 100644 cache/compiled/files/2481459187863f6ff5d7485b0da23db4.yaml.php create mode 100644 cache/compiled/files/24b9edad4901d92ea1d407b75b59e182.yaml.php create mode 100644 cache/compiled/files/251d0fd1c1246db83ef14f71cefa01ab.yaml.php create mode 100644 cache/compiled/files/25e4053f7dd6b0d25a54e325de9b5f34.yaml.php create mode 100644 cache/compiled/files/263d77756815ded34cb5b18140fa0f91.yaml.php create mode 100644 cache/compiled/files/2688be467e60248f4cd18f627ec70d1f.yaml.php create mode 100644 cache/compiled/files/27fe11448d270901fe9cdc2cc71146d7.yaml.php create mode 100644 cache/compiled/files/289f3485133eb18d24dc2f2a48ed6c3b.yaml.php create mode 100644 cache/compiled/files/290dc417894b8e7ec721ec52891a0266.yaml.php create mode 100644 cache/compiled/files/29232a6cfc708dc37dbe416ff6f7552e.yaml.php create mode 100644 cache/compiled/files/2dbe85ff420d9535c76c92428e3cfb7f.yaml.php create mode 100644 cache/compiled/files/2e6bd713e2470e933bb992aa0bba2a95.yaml.php create mode 100644 cache/compiled/files/2e86a726090a861e911cb9f57837d486.yaml.php create mode 100644 cache/compiled/files/2f3978fcf4f4823214b8ccfa4a39872a.yaml.php create mode 100644 cache/compiled/files/302615a825af2eb0676e067ebbe70616.yaml.php create mode 100644 cache/compiled/files/31f43ffdcba58d09eb2be9ff6a9d194d.yaml.php create mode 100644 cache/compiled/files/32b5aff1b30bd329255cfa25fd7633a1.yaml.php create mode 100644 cache/compiled/files/36556c62dc2808c529f6cf95ac0e722e.yaml.php create mode 100644 cache/compiled/files/37168984e7bb294e9f4aaad9c845353d.yaml.php create mode 100644 cache/compiled/files/375a4b738c9dbcf643eac3af877dd7f5.yaml.php create mode 100644 cache/compiled/files/3765156ab713c60aa13b0c9fbbe09a91.yaml.php create mode 100644 cache/compiled/files/37af4eee10da5230798e96ed754db15d.yaml.php create mode 100644 cache/compiled/files/393625c8b52685105839c6242a847459.yaml.php create mode 100644 cache/compiled/files/3acc72559887374b8f3e97bed822bea7.yaml.php create mode 100644 cache/compiled/files/3b294b971446fa45a07f7d53fc2a6d8e.yaml.php create mode 100644 cache/compiled/files/3b748763844bb1aa0a2d8399cbf8618a.yaml.php create mode 100644 cache/compiled/files/3bc5117bb9fdcfec694bde54e4ef3069.yaml.php create mode 100644 cache/compiled/files/3c97b9daa2775caa57fce4dd2d44793c.yaml.php create mode 100644 cache/compiled/files/3dfbe7938a3290ecb4df0b70520598a8.yaml.php create mode 100644 cache/compiled/files/3e8a92a930a440750fa71aaddbdfc2c2.yaml.php create mode 100644 cache/compiled/files/3fc8ce5da94a3703e9ad3c7db6cd931e.yaml.php create mode 100644 cache/compiled/files/3fd4110d5dbb90a39cb9f1110ae34ed8.yaml.php create mode 100644 cache/compiled/files/400edd3a4d4fc71bdab1e9ab0eab9406.yaml.php create mode 100644 cache/compiled/files/41208fd393ea6060099dae13f89d3142.yaml.php create mode 100644 cache/compiled/files/4121d983339551c29509b365f0fb8f47.yaml.php create mode 100644 cache/compiled/files/41ee9492733f693223681a6117985bb0.yaml.php create mode 100644 cache/compiled/files/42d447881b41b69a467a02c3f98eacaf.yaml.php create mode 100644 cache/compiled/files/445d4c0048bc36e108d9ba4fa6c18334.yaml.php create mode 100644 cache/compiled/files/4461e4af822b6589b7e3d6dd699d98bf.yaml.php create mode 100644 cache/compiled/files/449e7b708958e9b73e7f5c5ebe92fe5e.yaml.php create mode 100644 cache/compiled/files/44af4ba961f46d871705a9fa6c4c8daa.yaml.php create mode 100644 cache/compiled/files/467008ada6506c4cb82f86aa33c6c5f9.yaml.php create mode 100644 cache/compiled/files/468169a87721a5d8cfd29d49c03965aa.yaml.php create mode 100644 cache/compiled/files/475a1d33d0d34c6d3b9fc00d6dbbd685.yaml.php create mode 100644 cache/compiled/files/47e7a9af9e4e50592b05c191b6ec0d0e.yaml.php create mode 100644 cache/compiled/files/48cc0d400c19630df510c8a8ff180ab9.yaml.php create mode 100644 cache/compiled/files/49af3fa5e7d7f70fec162d76c9a58d1c.yaml.php create mode 100644 cache/compiled/files/4bc55560212229d6115bb0da67a57c44.yaml.php create mode 100644 cache/compiled/files/4c27d7d20212b58631c40a77777236ba.yaml.php create mode 100644 cache/compiled/files/4c2c53d2b074d5b90cccbd31e5fe8b22.yaml.php create mode 100644 cache/compiled/files/4c65af5cbb410a9e5b08ecd2d4afa960.yaml.php create mode 100644 cache/compiled/files/4dacec617d80789259b51abba7425d1c.yaml.php create mode 100644 cache/compiled/files/4e8783bcff38e440670cfae4e1fc4cf2.yaml.php create mode 100644 cache/compiled/files/50b705684a3520f1d88a241f04a33203.yaml.php create mode 100644 cache/compiled/files/53d97d6a8fd86a525c6692b74e2ef870.yaml.php create mode 100644 cache/compiled/files/53fc171b308742d2523d51213e2b36aa.yaml.php create mode 100644 cache/compiled/files/5419f1192fa49c073a562818f7ebaacd.yaml.php create mode 100644 cache/compiled/files/566ddf298a34d5ed0223b7b9b52c4d42.yaml.php create mode 100644 cache/compiled/files/572d7eb0347b2766bdb20311c89e1fef.yaml.php create mode 100644 cache/compiled/files/57dc65fdb5d760502813293393268146.yaml.php create mode 100644 cache/compiled/files/58d7033b999ddb1ec7b2f309f7aa9117.yaml.php create mode 100644 cache/compiled/files/5ba9bdb797d4b431f6ed2d282e71fe07.yaml.php create mode 100644 cache/compiled/files/5d5fdfec6a21e126b2d39f0cefec3041.yaml.php create mode 100644 cache/compiled/files/5dc4526b3d92f8ba4019a6124dc5dd0f.yaml.php create mode 100644 cache/compiled/files/5e358f322a169edabc1cdc37822b5c7a.yaml.php create mode 100644 cache/compiled/files/5e43598ea9fe2d116569b4c46ebb132a.yaml.php create mode 100644 cache/compiled/files/5fbc650176b520a9027df0e7cfcbd7b7.yaml.php create mode 100644 cache/compiled/files/5ffdf1729726f225d8c01f72676d8961.yaml.php create mode 100644 cache/compiled/files/60132f4de5378d8638f22d63c7445a90.yaml.php create mode 100644 cache/compiled/files/60b1a9ca3d0b84f4a1c3b4bd93362e46.yaml.php create mode 100644 cache/compiled/files/61069ee724518b70af55b32fd87cb9c0.yaml.php create mode 100644 cache/compiled/files/617a5f3c819631ff684728538b3fa9d7.yaml.php create mode 100644 cache/compiled/files/6182bfcb1dfe4c6b5fae3783f1025b8a.yaml.php create mode 100644 cache/compiled/files/6234c401bbaf722c49f07769ea4e13bc.yaml.php create mode 100644 cache/compiled/files/6367fad409a3374f6e234e757ef88e0f.yaml.php create mode 100644 cache/compiled/files/65d0bbd5e456d35e9fd7f21a99e3ebf2.yaml.php create mode 100644 cache/compiled/files/65d9359a9236e64865caf1e5d0f5224f.yaml.php create mode 100644 cache/compiled/files/68b290ecab4a6d49bd2ba592cf9953f4.yaml.php create mode 100644 cache/compiled/files/68d9899361ef18c42c23d2c9c70eac98.yaml.php create mode 100644 cache/compiled/files/6e4fc29ca31b40d7c70176ce3c14dd9f.yaml.php create mode 100644 cache/compiled/files/6e8673e70cb78eac0e0bb028756fd9d9.yaml.php create mode 100644 cache/compiled/files/6f3f50e92f67a84c58a943cf5ec5c675.yaml.php create mode 100644 cache/compiled/files/70358928b65e899da54711f26439f828.yaml.php create mode 100644 cache/compiled/files/705a07d0ab0210f6cb3363c19ad582dd.yaml.php create mode 100644 cache/compiled/files/71252a10432376ec93a486f0056c915c.yaml.php create mode 100644 cache/compiled/files/71b7bb2c4e022e7df61409aa2ef399be.yaml.php create mode 100644 cache/compiled/files/71fe740bcb5616feb93d32aa707184e2.yaml.php create mode 100644 cache/compiled/files/723a641074a35f69efb08ef5c87d257d.yaml.php create mode 100644 cache/compiled/files/7271c7186f583bf75aadc53e17cd5d16.yaml.php create mode 100644 cache/compiled/files/73342af5e46456395f8bb0b8f21e8476.yaml.php create mode 100644 cache/compiled/files/75f210686c2fabd575a6b18a28362348.yaml.php create mode 100644 cache/compiled/files/7618a4a10a891d8679d55257da4ef2a9.yaml.php create mode 100644 cache/compiled/files/7774d7e4709ccbcb1388ec0fedac9116.yaml.php create mode 100644 cache/compiled/files/778e6b157f8dd731b6ac27c13442fbbe.yaml.php create mode 100644 cache/compiled/files/7862fe29f5cc76c41e752e4a71f096da.yaml.php create mode 100644 cache/compiled/files/7afd1eb433049e6b80e2e9805fea1d76.yaml.php create mode 100644 cache/compiled/files/7bbf2c745263883e7031816236543d22.yaml.php create mode 100644 cache/compiled/files/7e02cb98b0826f40c301cf136d939ee1.yaml.php create mode 100644 cache/compiled/files/7e3242e880be54a2815d3b0d33434928.yaml.php create mode 100644 cache/compiled/files/7f1119ce4da7b89ad69bf610055bb062.yaml.php create mode 100644 cache/compiled/files/7f586164df47e50506957ddfa273158b.yaml.php create mode 100644 cache/compiled/files/7f608e677637420824e127f6ef3d9f83.yaml.php create mode 100644 cache/compiled/files/802d699858a4034e595231230ffea6e1.yaml.php create mode 100644 cache/compiled/files/81999c6175dd6ecd47228af852ace709.yaml.php create mode 100644 cache/compiled/files/83adeab8b23a4f1e64e6929fe8fdf4bf.yaml.php create mode 100644 cache/compiled/files/83ef2dcf9fc72c2be7b9c5bfd19b6e7c.yaml.php create mode 100644 cache/compiled/files/851172399ae4a00213d2adb5e407746b.yaml.php create mode 100644 cache/compiled/files/851654a757ee08417a64fff2742281b7.yaml.php create mode 100644 cache/compiled/files/857dba1105f374f4e62dff812cc6348f.yaml.php create mode 100644 cache/compiled/files/85caa355f048dfa59ea11383707ab1fd.yaml.php create mode 100644 cache/compiled/files/872e82b35823c5b31f5245fa4a352308.yaml.php create mode 100644 cache/compiled/files/8a397302df97d59abe914c5b3cb6a6e3.yaml.php create mode 100644 cache/compiled/files/8a52e0a187c5af74e7d1d2c7e23971e9.yaml.php create mode 100644 cache/compiled/files/8aa6d9812ac8557ce58d1d4082bd1409.yaml.php create mode 100644 cache/compiled/files/8beeba812c9be6f53d6b35f7c4894c7e.yaml.php create mode 100644 cache/compiled/files/8c8b61a60d44632cb20a6093d145b14a.yaml.php create mode 100644 cache/compiled/files/8dc3c3ad9328fcd19de77d25eb535518.yaml.php create mode 100644 cache/compiled/files/8dd7e17ca38aad6d70c8c7ac42bc355f.yaml.php create mode 100644 cache/compiled/files/8f9389d2219c01a0efe4f7d3ba4b6a4b.yaml.php create mode 100644 cache/compiled/files/92599ff5fe55f69364f7e1550db118b2.yaml.php create mode 100644 cache/compiled/files/93391f0b926accb178f71b29bb45e41c.yaml.php create mode 100644 cache/compiled/files/9465f213cfb9f5b4d3d8e9c0470c719a.yaml.php create mode 100644 cache/compiled/files/94efecd1ef906619533a45ee56a511b9.yaml.php create mode 100644 cache/compiled/files/95572f2d4b5e67059cf3a91f9a4b634d.yaml.php create mode 100644 cache/compiled/files/95a11364350b5b6611566135f1553a3d.yaml.php create mode 100644 cache/compiled/files/9617e44b38e79e976760cfd298108682.yaml.php create mode 100644 cache/compiled/files/961cb60a5733501a683612c429432a4a.yaml.php create mode 100644 cache/compiled/files/97668c1b2975c0dd593d061a4651b1fc.yaml.php create mode 100644 cache/compiled/files/98ee0a708b4c2aa5a434428385167da5.yaml.php create mode 100644 cache/compiled/files/997f1e24c2844be60c207ed4d6ce3f8d.yaml.php create mode 100644 cache/compiled/files/99bb0c755669a3eddbc8fa08d3724878.yaml.php create mode 100644 cache/compiled/files/99f5cf9083d2f74baa41e08a3bab3316.yaml.php create mode 100644 cache/compiled/files/9a4893149f2a7d434867f76c420416cc.yaml.php create mode 100644 cache/compiled/files/9a8f5e48a60b012fce3086c58c7a6987.yaml.php create mode 100644 cache/compiled/files/9b58e84fcbc4e8b31f583a7223f75cee.yaml.php create mode 100644 cache/compiled/files/9c27f9fbcebd92e5c91546ba76b32cd2.yaml.php create mode 100644 cache/compiled/files/9f05564acc082e26fc7eb715276d3e46.yaml.php create mode 100644 cache/compiled/files/9faca57ddf1bbc25e0ded0c18af0053e.yaml.php create mode 100644 cache/compiled/files/a1ffba6ccfa71c95bf4964de75fc29a3.yaml.php create mode 100644 cache/compiled/files/a71a8b8c7b60bc42f2601e88f772d253.yaml.php create mode 100644 cache/compiled/files/a7f2f65d73f076f2723f5e8606d86691.yaml.php create mode 100644 cache/compiled/files/a93d8c1bea61b0a30f8dfb1fa5ab79e3.yaml.php create mode 100644 cache/compiled/files/a9a47bd10cb73cad2d7646d3097343bb.yaml.php create mode 100644 cache/compiled/files/aaa74a8bfd64011d5811aa1fb474595d.yaml.php create mode 100644 cache/compiled/files/ac70f83f7e69d49e4ddb1b10e4af6690.yaml.php create mode 100644 cache/compiled/files/add8eab579afa5b03d8afa3db5fdd3c7.yaml.php create mode 100644 cache/compiled/files/ae9a59f2e0a21e2d2a5ad528409a2d7b.yaml.php create mode 100644 cache/compiled/files/b4808a64204c9c569c951f7d46cc7dd6.yaml.php create mode 100644 cache/compiled/files/b4b481c47d243a40e16c3180d21a3739.yaml.php create mode 100644 cache/compiled/files/b4e913fd12dbc991b3f27f94ff90191b.yaml.php create mode 100644 cache/compiled/files/b63f506f884fb1031a155db9a9c2bab9.yaml.php create mode 100644 cache/compiled/files/b84f2b5ad1d0bc0304acbddb2a5b98f3.yaml.php create mode 100644 cache/compiled/files/b8bb48bef976b20b3051ba600e166b23.yaml.php create mode 100644 cache/compiled/files/b92a08417b0ccf1eaa7d317bbdfe5d1d.yaml.php create mode 100644 cache/compiled/files/b9deb92197521d171749c864fc8b5689.yaml.php create mode 100644 cache/compiled/files/bb3f01a7e545b0c55423ca7d4d914284.yaml.php create mode 100644 cache/compiled/files/bb9f52652c6f09ce70e10de3916f5cd0.yaml.php create mode 100644 cache/compiled/files/bbe4e8e0ae529bde4c08299f8d18f0c5.yaml.php create mode 100644 cache/compiled/files/bc513cbe72e7d040212d4ee74b5c0852.yaml.php create mode 100644 cache/compiled/files/bcf89b26323cbc904f2054c87de427ec.yaml.php create mode 100644 cache/compiled/files/be563f49cca98e129226fb3abb416d1e.yaml.php create mode 100644 cache/compiled/files/be78fc0d64e4d3d807045922e29f8156.yaml.php create mode 100644 cache/compiled/files/bedd6db04ef5e3e7e460da14152b6824.yaml.php create mode 100644 cache/compiled/files/bf45b0c97981a7c1e125c1f7610b7d7a.yaml.php create mode 100644 cache/compiled/files/c02acea42f10fe0ab029395ab0386d3a.yaml.php create mode 100644 cache/compiled/files/c0cfc44a30c7d418e4994f8187956e79.yaml.php create mode 100644 cache/compiled/files/c14a3b8b02a6556584295c297a887fd2.yaml.php create mode 100644 cache/compiled/files/c38cdfd12048e6ef2e2bf76818984cae.yaml.php create mode 100644 cache/compiled/files/c39bfac71bb05c7855b77a49d5e7744d.yaml.php create mode 100644 cache/compiled/files/c4787e5810851bba07644f5097a3f01b.yaml.php create mode 100644 cache/compiled/files/c526ee89eabcbc31853d8fbd3e316ffc.yaml.php create mode 100644 cache/compiled/files/c80ee046d048bff26502426096c28e1f.yaml.php create mode 100644 cache/compiled/files/c8cecaa4c3fa2b5bd2c7d294d36c4661.yaml.php create mode 100644 cache/compiled/files/c94ffb4b8184ebbd3a60bb4442ea6ebd.yaml.php create mode 100644 cache/compiled/files/cad065429bfafef1e2376181ff49e3db.yaml.php create mode 100644 cache/compiled/files/cb5a253b12bc78501962e1f2584eccca.yaml.php create mode 100644 cache/compiled/files/cb5ecc61997c50dd72b9530db4efbc38.yaml.php create mode 100644 cache/compiled/files/cc252c076744d99f7e9d1539d6288b76.yaml.php create mode 100644 cache/compiled/files/cd75c7039645a9941aa28ff5aaac7d2c.yaml.php create mode 100644 cache/compiled/files/cf0928fb63b3ddd69eb44d8fa5ab0277.yaml.php create mode 100644 cache/compiled/files/d0e3ebf76e4a5dbf9d58bd772f6b1604.yaml.php create mode 100644 cache/compiled/files/d0f18c01a01941aee2561f24d9a790b8.yaml.php create mode 100644 cache/compiled/files/d13667ce0112cc615fcff392068b1a99.yaml.php create mode 100644 cache/compiled/files/d1740def41980ac2e2227dad2dc6217d.yaml.php create mode 100644 cache/compiled/files/d178b4a1aec83b3273cdd4994a6d0cf9.yaml.php create mode 100644 cache/compiled/files/d4b728132f48eeacd4e01bc380192d66.yaml.php create mode 100644 cache/compiled/files/d4c0ff23d7de80aef36d9832e301e65c.yaml.php create mode 100644 cache/compiled/files/d53d1dfc6e78da620a341c9c5dd96759.yaml.php create mode 100644 cache/compiled/files/d5aa9b41768d7b74a0b3e7cf16951edb.yaml.php create mode 100644 cache/compiled/files/d66991781f1598c8416144f6705a9892.yaml.php create mode 100644 cache/compiled/files/d6ba079153cdd55ab436e9074ce01c03.yaml.php create mode 100644 cache/compiled/files/d7ee1ce3341f0ec3ed13c8fdd147870e.yaml.php create mode 100644 cache/compiled/files/d89c65a8e8bc377392cb04d47a01fb03.yaml.php create mode 100644 cache/compiled/files/d99d30c119bb05a1571dc0a9f5593cdf.yaml.php create mode 100644 cache/compiled/files/d9a0a87ed4b0a5f61de42eba552fe480.yaml.php create mode 100644 cache/compiled/files/da10cc9ab7f09bf9f0053f7349cd62a8.yaml.php create mode 100644 cache/compiled/files/da62e17bc66c87bb1258bcdc215589f0.yaml.php create mode 100644 cache/compiled/files/daba033ea62ac7017cc6093a831fe05a.yaml.php create mode 100644 cache/compiled/files/dc268ee6494de895299689ddea59669a.yaml.php create mode 100644 cache/compiled/files/dd77866078dbd4bbf4a431d539b21609.yaml.php create mode 100644 cache/compiled/files/ddefee8cd984cc59b63aec387a71de37.yaml.php create mode 100644 cache/compiled/files/de3f2854d119de83274ce1f90180ee38.yaml.php create mode 100644 cache/compiled/files/debaacf71b0d4d39c6ec8c80cb86c629.yaml.php create mode 100644 cache/compiled/files/e136ec36ce4abaf78d1a7599e50768ab.yaml.php create mode 100644 cache/compiled/files/e222ba9787672587d4b5769f125a89dd.yaml.php create mode 100644 cache/compiled/files/e315f40bbd7d3d7b69b9361620ad705e.yaml.php create mode 100644 cache/compiled/files/e609d44eb9f885a403d27e764e97993a.yaml.php create mode 100644 cache/compiled/files/e76c2ea6a0266332e4f43dfd0ec884f4.yaml.php create mode 100644 cache/compiled/files/eaaf63cff7c26293e26395e2a54fadaf.yaml.php create mode 100644 cache/compiled/files/eba4791b8b146d04a3c52603b0bde471.yaml.php create mode 100644 cache/compiled/files/ed30373bea7233aac00bd94e8338df76.yaml.php create mode 100644 cache/compiled/files/ef531b40bb341f593204aee8c8598afa.yaml.php create mode 100644 cache/compiled/files/ef964fa7856edbdd10e4fae422dea6fe.yaml.php create mode 100644 cache/compiled/files/efd3d5f646decdb93f5b8c947ab545d0.yaml.php create mode 100644 cache/compiled/files/f02b5fc39e19c6a4cecc6ccff6ea6398.yaml.php create mode 100644 cache/compiled/files/f11a91fa13dbe8e8047bbd1261d27355.yaml.php create mode 100644 cache/compiled/files/f1d8f4ffe160dadc62eb58c2beb97d28.yaml.php create mode 100644 cache/compiled/files/f1e28ef1922290a1082c9306d7195685.yaml.php create mode 100644 cache/compiled/files/f1f00c945e8988357426cb9b980f9b2d.yaml.php create mode 100644 cache/compiled/files/f2638c650c72fb310305fcf4f96f74b4.yaml.php create mode 100644 cache/compiled/files/f5daf734e35f96089b97d985ed76c00a.yaml.php create mode 100644 cache/compiled/files/f61d78ce56c40e7af1b455c9353ad85b.yaml.php create mode 100644 cache/compiled/files/f7193f1946028f0fbe0b2d8220876f47.yaml.php create mode 100644 cache/compiled/files/f71b4fd95320a68fd58ccccac160086d.yaml.php create mode 100644 cache/compiled/files/f8bfcbd9eb3c7aee782d3c8f06c64d13.yaml.php create mode 100644 cache/compiled/files/f8ec87cb6d5856346865d87bf1f43587.yaml.php create mode 100644 cache/compiled/files/f9d634f4001ade0c7060f728151797a4.yaml.php create mode 100644 cache/compiled/files/fac113475dc910d20983d7ac0202978a.yaml.php create mode 100644 cache/compiled/files/fbf0e55f8d92350a5ef41324e758477c.yaml.php create mode 100644 cache/compiled/files/fce2879cfd20275add0209dd577f9555.yaml.php create mode 100644 cache/compiled/files/ffa5c7e791e527209bb098110b5c3932.yaml.php create mode 100644 cache/compiled/languages/master-dev.static-ethica.net.php create mode 100644 cache/gpm/59/5b33303338396333306134663536343463623666633633366631653530386363395d5b315d.doctrinecache.data create mode 100644 cache/gpm/5d/5b30353264353534316165356261366232336366326234396637373734323836365d5b315d.doctrinecache.data create mode 100644 cache/gpm/f9/5b38646233343838313334343364343336366535646137656662326561346433385d5b315d.doctrinecache.data create mode 100644 cache/problem-check-g-bdf45030 create mode 100644 cache/twig/04/046e7d22614fe0abecf3d5ccf40da7e268fde064d8262c738d660889c8aa6704.php create mode 100644 cache/twig/05/054107ebda27ae5319224c056e8fc53699d35a3a37b49dae7cbcd7c3ee52d700.php create mode 100644 cache/twig/05/056bc0d4f9a265a4a5605055305ba3ad27d5884c3b152201a9921e47a1a573be.php create mode 100644 cache/twig/05/05ead202ad3065c9eeb26eedf5949cd728a7e6fa513c6913a83ae0e94afea90d.php create mode 100644 cache/twig/08/08d5266f3f07dda8f46425e0dc9853b3b099d3478a7c095c0e3bc91d88f7ecc2.php create mode 100644 cache/twig/0b/0b8471b9f41874e16558e54a1e3d8eee9f3cc3d0bf72b44a1769678811205e38.php create mode 100644 cache/twig/0c/0cb5f91895635a9559b9b709c0df21d522ceaee0b82bc5424bc85fc5e63b79d7.php create mode 100644 cache/twig/0f/0f7af880b778a16f24a311f3f46bb7b7281950c37dd86d7bfc29309432147627.php create mode 100644 cache/twig/15/15962f8b7e50d93e0f7ee266bb1d741bee9581f4a7662c4d98c36e1bcb97bc83.php create mode 100644 cache/twig/16/163e1498525bc34b95708ae6da1c707263e172795bd86c5d9aeedb08c2c3db98.php create mode 100644 cache/twig/18/1871fb2d2d03e7d0d43215bff69c642d0ec876390d460ab66bd8aca68306844d.php create mode 100644 cache/twig/1a/1a075714b0524735995c5a1c05a5d1cc23bb446792abf7269fa0fd2cf16f5e8e.php create mode 100644 cache/twig/1b/1b245494d0236888490a1c5d8c5b9114de0179d7f3d238506b3c3cb9b27db17f.php create mode 100644 cache/twig/1e/1ebcf6b6e46d932616cc1ef32d4d1726001728cb865d1750f0ce78e0c6fd39c7.php create mode 100644 cache/twig/20/2061e249bf57b4ee5737347427d69fb5da6eac4588fcb17dac6ef668425ade46.php create mode 100644 cache/twig/21/211c79a5ee840efb86a9d9d10829fe8c2254a0e5f5105146d6725657f0f53a9b.php create mode 100644 cache/twig/22/22bd1662b7e19e313f53cdf31140abec9af39f70a826230f9d601e12216e3a63.php create mode 100644 cache/twig/24/249075002a9f60ec52754438c718b55a97075d0f2e30662dfdb5c9eccafafc9c.php create mode 100644 cache/twig/2d/2d6fd692de5c8f454faf6e54c63704d917a377f3327e783f3e0db6aa11b4e7fc.php create mode 100644 cache/twig/32/3220e3522bdfdf445a0730924be239728a8c1dfa3f3a99f4a67dae3c389e4c5c.php create mode 100644 cache/twig/32/32706ad0899a349c388ab2d21b166dd92cb8d43e5be0aba0eb8ef4e2bdd9edab.php create mode 100644 cache/twig/33/3345d74fa4b4e9babe88c7bfb1c1c78ce1788b071932fc020257888c188d2bbe.php create mode 100644 cache/twig/34/34258c785f8d6ac43fe789c598d3dcab5c32d5d37edb27b2584ea8119f847c79.php create mode 100644 cache/twig/34/346d7cd87606adfb29b0fd0a7c6aa0e900a3bb52eac7d59554bd22a582eac49a.php create mode 100644 cache/twig/34/34f0e0266b4db11a668b3b4b838de63bef49bdad2bad0967770a2814fd06e149.php create mode 100644 cache/twig/36/36452fe32afb9294dbd59d63d8d2ffb5355ff13b8e22ab7543592527527d54e2.php create mode 100644 cache/twig/37/377ae461c61bf6fa60f6a06747e00ac50ee64aa52088073c7eb404c85bfce83f.php create mode 100644 cache/twig/37/37f41e0b088533c946e465f472cebd1b732df5de6cea09669fff6096f730ea88.php create mode 100644 cache/twig/3e/3eb87e39a766f1d7305e357c0e31a3fe94b1fc728ae90a2cc7abb3067ef2114b.php create mode 100644 cache/twig/41/41e8de888da6e7c93303b372f6e1f966bad06bcd6e142f0fdd7e958983966cab.php create mode 100644 cache/twig/43/432c6f1e39fa917e282dcd5ff6e1d2bb86c775443f1df2c79809c205ab6635ed.php create mode 100644 cache/twig/44/44194b75ec8eacb0e0b74538a26b8821ea99e66a7b0bf01b43c526170a6e5a19.php create mode 100644 cache/twig/47/47c8bb036f24cda65e5bfbbf55689341313601125c8862e7f07edd7d6f2c4d49.php create mode 100644 cache/twig/49/496d55c030d8d0acf77af172547f07daba7d039cd929b3fdb16ad94a8d9a713f.php create mode 100644 cache/twig/4f/4f83a5fa7d47ca2e9a349c9decc95bc26b0e689e724d372c7490bf9b7be6caae.php create mode 100644 cache/twig/50/50b7414f5ac7ebf35072ffca56a848c16a2831e5a9d0ac1aed2ce44f886ee0e7.php create mode 100644 cache/twig/52/52f6b950ea942afeeb5a7fc8c73a8c8d1569a70cc89fd44ff94debb91f0ff279.php create mode 100644 cache/twig/53/53d18a9c1445d63f9fc442e4a7e62f624cc9510839295bfce8606a877f0e83a2.php create mode 100644 cache/twig/5a/5a33dbae7ff280ee6e22eab599ef5bfed04c72e87641aea13b8a91bae4715858.php create mode 100644 cache/twig/5b/5bee15b1862b472f001ab0795da57fc8a2dae97b31aa96841531e2324baa735c.php create mode 100644 cache/twig/63/630978b1576372100e8d899f8f548a1b00db4ea04bcb128a6a5a947530291c76.php create mode 100644 cache/twig/64/643db05024d01591ea436850a24957db0f6bdb695d7633a6c9aa508503b2ecff.php create mode 100644 cache/twig/64/64c5de290a9459b388a2f97f9bcfa3df3957dd315894fd4d76d7fe152216b3dc.php create mode 100644 cache/twig/65/654ab5d63cb06d78d96dd05f667cd17631eeeeb935b913c995f482043c31c0af.php create mode 100644 cache/twig/67/676f23a260cefd0edb3db208e1e2801ebcc5ceb7190f1d999a2e7007da65b5c4.php create mode 100644 cache/twig/68/68556e0c0fe68c1a072bb7bef8f2c4e36532e88e2189d5aed3dc55ea40fc61f2.php create mode 100644 cache/twig/6e/6e2b4f6ad25cdff6a0326eb019d85dc7d7a8ea03b9c2473ceffe49bd98a749d0.php create mode 100644 cache/twig/70/70f43dfe84522797170fbabc2f5ec4773f604b47a66bc351394460ffec625d4a.php create mode 100644 cache/twig/71/719efc56339fcc27c1a6b85ed9f811ea6fc8e966735807b7f684cbfb1b42e76c.php create mode 100644 cache/twig/71/71b2ab4570bd5879e342930f82b524a5fe062ff7f7e734b4b98b6a5037390e62.php create mode 100644 cache/twig/72/721bda27f6c7963a7ceed98b3ea94dd2804f33e40520412dcd1cf01f340ed146.php create mode 100644 cache/twig/73/732ba2a54de1fb5f609c26abad068b332dffe5edcdcc94aae7697bcb8d046b2a.php create mode 100644 cache/twig/76/768752318193597c21159cc9ea38529a9ec030ca57790790173c0f0c5c8814c5.php create mode 100644 cache/twig/77/775dc2270033e61a58bd68c219b171020d128f4e1a1acea76f6a386bb6d68cfd.php create mode 100644 cache/twig/7b/7b5649072aeeea16bc4914745c7ff2d378f30cff13593f188eefa7bf5cfab52b.php create mode 100644 cache/twig/7d/7d6489d000cdf92ca8caf73155304553df3e8dea2db3430b8f424d2fef0804f3.php create mode 100644 cache/twig/8c/8c51dcd48e6989f2981bdb0e3013b3f8aa577a010cdff5b0a848ebee1c4fb777.php create mode 100644 cache/twig/8d/8d3a5b5346442d7676dfda9ff45d4ef62ebd3763b0bf2ef2b32adba37b7510db.php create mode 100644 cache/twig/93/934c02f4ed205f8ab5801e28a16909875d946cfb47c99afa4a10f4286bb69ce8.php create mode 100644 cache/twig/95/95ec9d7d4df4e318fe893b25ecbd5bfb10d814b80fdf216567ca2fa5ccd9f90f.php create mode 100644 cache/twig/a1/a111ffac106480d70a72dba293e74dc76562004ca3ba8cbf17675b9e15bb3c32.php create mode 100644 cache/twig/a9/a9ef454ed7233f7dbc31ae8e11d5c917b4ec0aa1c5e1bd2b043791fd1ad330a1.php create mode 100644 cache/twig/aa/aaab75792f569c46fa615c07b11a280129befc59c135accab1661b56ee376e04.php create mode 100644 cache/twig/ae/aeb5f05e4b2386a60361fa72599d0b0cace27f8f2d4a521a703f5a68530b51dc.php create mode 100644 cache/twig/ae/aef6fb2127795c7010db5033b32f378aa015920bc09f1e816cf537ea4d8d1173.php create mode 100644 cache/twig/b1/b18f57dfabce59fde3f42b1cf1b07212b4f3dda9ac5dd2f02aa9fe3ff5a4a867.php create mode 100644 cache/twig/b8/b86bb10cf6982d6681f8542d8b57c295a3ded88da8fb884d127da8003f42e7e4.php create mode 100644 cache/twig/be/beff29a63c74de8922d7ce27d387ac2dd6c0a881d21868ecc062b757db714249.php create mode 100644 cache/twig/bf/bf416c75832660643ab0d6a162c0808961d66cdf768f72887eebafed9b001e18.php create mode 100644 cache/twig/c3/c3536cdec3e321d3569e6b10f9d5dec8656ef13e9b9c660e76a460829e79a7b9.php create mode 100644 cache/twig/c3/c39576bf7e338d2db8a01734a28691e416318cf45eb59e62793eba12e4cccf00.php create mode 100644 cache/twig/c3/c3d6c64fb670f8a9494ba77a1fb2155059144c780aa355f72f5915c89cf2f2de.php create mode 100644 cache/twig/c7/c7982d74853bf295cdf3023e53e5a1a9b796c507d0aa1caeef0542163787fd12.php create mode 100644 cache/twig/c9/c900e684ce7966574d1030e7eefc81ed169a3b7d67555113b4ac3ac9351c8f75.php create mode 100644 cache/twig/cb/cbfb323831993a8a763ab7e15f40ff52d839d41c2d4fcd5f18390df015a92ece.php create mode 100644 cache/twig/cc/cc21b3138fe61543eee6f52c8583f2ff586e746cff671318483068ba76476085.php create mode 100644 cache/twig/cf/cf3b0cb9b85161e32027dd416a647e59957d6c5c45a1e3b092d26b4775437031.php create mode 100644 cache/twig/d3/d38c2a3feafc68f0e26004b4f501c61d46ea0cf8277373e8bc3f5a518315406a.php create mode 100644 cache/twig/d4/d41c80ca21097269a6cf978a04c934034addda62f9fbf8c28b1a309a7e7cb349.php create mode 100644 cache/twig/d6/d68b20570ab91f74938b89dc64e4d522873986cef82f12af0589efb1ed69d40b.php create mode 100644 cache/twig/d6/d6af130f63ce9e2af25fb0f151a0d41030afc550f238cea774a510f840ea833d.php create mode 100644 cache/twig/da/dab20ec36a7b52270a47f67ec166359ea8e95b09fdc42c3096e7daf3e253b4c8.php create mode 100644 cache/twig/df/df835f321be51afeb87ddb460bf279876ed2a9bb5a0550f92dbb1441b2134074.php create mode 100644 cache/twig/df/dff720ade6169bc0a60d6febe5623bfe07ea1ac0c971020e27be33916124f114.php create mode 100644 cache/twig/e2/e2fa6490ae1f5519abd906825c1f45188fec02a6ab1419fc50159bb44d88e469.php create mode 100644 cache/twig/e7/e75bff12bc1ba233e5039aff5a4ef7bc6d23c7b4b250837b1fc67ad4ea09bcd7.php create mode 100644 cache/twig/e9/e9d9bb91025a14b1bf2f779369740ef130aae36eb0e56a844ac649aedc09a776.php create mode 100644 cache/twig/eb/ebb26371377726351e39fa62042644bee39971ef14fc2417888368101fc8bfea.php create mode 100644 cache/twig/eb/ebdf4b0b7a11851ed7d2c5fa2a4794de775422c501c926062b22055f4f06fea7.php create mode 100644 cache/twig/ec/ec0d1e84273aeda9689a24d3595e53120b3099207f72ec026047ab2f0c2bda9b.php create mode 100644 cache/twig/f1/f1e3343fa7d7fa28d5fc0a6c7ab48fa38aba2f51a955aa9065cc713c7c0b1e7c.php create mode 100644 cache/twig/f6/f65dbbfd481166d28c3d415addc40988926e185cd6b9e6d071ebb0f180407d39.php create mode 100644 cache/twig/f6/f66ceec93dc9e6bc47780ce2db3d513899132edcd675cfd4ddb7fdd45329a6bd.php create mode 100644 cache/twig/f9/f9b5017d2d9799f0db18a737fc29183a378d4d5f95bc0b5eef4a5d54b8a1a79a.php create mode 100644 cache/twig/ff/ff7b0ce4ec8a413ba37fe4c70668b235c585141acc962245fc06dd4cfafd30b4.php create mode 100644 cache/twig/ff/ffb161266ef718b362f1a63059c92f28726484aba26b23c90d383419feaf962c.php create mode 100644 composer.json create mode 100644 composer.lock create mode 100644 images/.gitkeep create mode 100644 images/0/1/3/0/3/01303267ac266a0a30f67dd9180150be56cb6c53-spinozapp006.jpeg create mode 100644 images/0/3/e/0/a/03e0ad16d752611274eee99c70fc6ea56d7db379-a2010connexions.jpeg create mode 100644 images/0/5/3/3/6/05336aa5a2541097a4695a04b49473279c90d8b6-d2013marse12345alllinksethicamodif.jpeg create mode 100644 images/0/5/3/3/6/05336aa5a2541097a4695a04b49473279c90d8b6-d2013marse12345alllinksethicamodif.jpeg.xmp create mode 100644 images/0/5/a/5/9/05a59c372ee7643d4219f88596c71da239b3c327-e1p17-cor2a.jpeg create mode 100644 images/0/9/d/7/f/09d7fc0d95cc230216fd1f3ddc9746ac3bb0c5d1-01-logoscam.jpeg create mode 100644 images/0/a/4/e/8/0a4e8aee9bb4e29708a30644ac5566400bd136dd-notedessinehd.jpeg create mode 100644 images/0/b/1/e/8/0b1e89b9c731fc3ee31fc057680c3aa810d229eb-11-logo2015.jpeg create mode 100644 images/0/c/b/b/0/0cbb0f0970d2caf5006d6fec7379d32b2a01d2db-alibertedepenser003.jpeg create mode 100644 images/0/d/8/5/e/0d85efbb39ab9bf4ddb00253f86dcb56106866a1-spinoza10.jpeg create mode 100644 images/0/e/0/8/1/0e0813567a992242e475b3ffcf3ca60b824b3fa8-nuit03.jpeg create mode 100644 images/1/0/7/9/5/107955b88be6eb65752eb3151937aa3165cea0c2-dalli01.jpeg create mode 100644 images/1/2/f/b/e/12fbee37c40c19951c964f601e92e9bdeb9e2a62-e1def1.jpeg create mode 100644 images/1/6/a/5/c/16a5c982bac05d26d82384d91c1d048f0ddc838a-e1p17-cor2a.jpeg create mode 100644 images/1/7/0/9/c/1709cbbf93ce7e24c3569233a4d501c86abe48f1-f1e1d1.jpeg create mode 100644 images/1/d/1/7/c/1d17c4c10513a2ece3ea1455d0cc113934ed4bed-d2013marse12345alllinksethicamodif.jpeg create mode 100644 images/1/d/2/5/a/1d25aeef99d8a551404f85d6987703b281dd6b86-00-matrice-logo.png create mode 100644 images/1/f/e/e/4/1fee4b4459896f6cc2636747703a2e241bcb8fde-e1d103.jpeg create mode 100644 images/2/2/1/1/b/2211b32a59296e4fd09ad1f052672be3bd98fbb1-spinoza08.jpeg create mode 100644 images/2/2/1/a/e/221ae8390225c4ae278aed465b5cd2562b97e566-commentairephilosophe.jpeg create mode 100644 images/2/8/f/1/c/28f1ca264dc1014b0c2ad7a0bd88cceece08f6cb-10-tygryzemail.jpeg create mode 100644 images/2/9/2/3/3/2923399d82ed90a99d6197caf0774fa372c382b0-spinoza01.jpeg create mode 100644 images/2/9/d/4/d/29d4d50056b0277236f5403663287c0ddb0fe99f-libertedepenser003.jpeg create mode 100644 images/2/a/0/e/a/2a0eae90e11647fb792266429fe6f05c651ab680-mga4415.jpeg create mode 100644 images/2/c/2/0/6/2c206bb8d4c4bce512e8cec4467b7a5e33b17b3f-spinoza05.jpeg create mode 100644 images/2/c/7/6/3/2c763fab532c10d510060d5e657e59ede4ac13d8-f1e1d1.jpeg create mode 100644 images/2/f/b/3/f/2fb3fa552f7322c1366196edb177ab0a3f95d4a3-spinoza06.jpeg create mode 100644 images/3/5/3/9/0/35390873e103ce16babf9bb93812a2092ff3127d-thumb-mp4.png create mode 100644 images/3/8/b/f/1/38bf12131f19f9ee9084516aa899325e5b300ab5-logoeu.png create mode 100644 images/3/d/3/5/5/3d3555099ea4cf73084acf186280b71f1f2193c8-spinozapp007.jpeg create mode 100644 images/3/f/a/3/9/3fa3917ff0741e59cf4714764f6c40bfa596fa6e-2013trajectoire02.jpeg create mode 100644 images/4/4/2/4/1/44241e7b165ab0894c3b86f609a1e9c052dc2a06-2011proj5.jpeg create mode 100644 images/4/a/c/6/5/4ac6509e3fc577450fd0f4912782520fcefddffc-mga4241.jpeg create mode 100644 images/4/f/2/a/1/4f2a1c58267d8fd8840855fc62e21eded8c9dec0-e2015ethique01modif.jpeg create mode 100644 images/5/1/3/7/3/513735fa4bd3738092d0b04c8e9a5a5fbc79966b-spinoza04.jpeg create mode 100644 images/5/5/c/b/2/55cb2ba910c40c1b1a03f473b694210988cf7df4-00-matrice-logo.png create mode 100644 images/5/6/a/7/b/56a7bfd884b07f62fa783774438dbacc53948cdc-spinoza01.jpeg create mode 100644 images/5/c/5/c/9/5c5c939b4e7a7f8356b425b99ccf7f3f34175a46-thumb-mp3.png create mode 100644 images/5/f/d/7/d/5fd7de27225a28392a84b1251011dd928f8f101d-spinoza03.jpeg create mode 100644 images/6/1/2/0/3/61203c35e0e0b2824b067987d77dfb3cbef38a08-libertedepenser004.jpeg create mode 100644 images/6/2/0/7/8/6207845f92e48d146191c05cb74886517c777aec-spinoza04.jpeg create mode 100644 images/6/2/1/1/5/621152edd6c936abbdf26ef1fd5b2c5b330d9982-11-logo2015.jpeg create mode 100644 images/6/2/f/2/1/62f219528272836e6f112b7b5e56e6f7d37aae57-logoupjv-bleu.png create mode 100644 images/6/4/0/b/6/640b61625759723d0739859097160c028a145bdd-libertedepenser002.jpeg create mode 100644 images/6/5/6/b/9/656b93c2a07e55a9e1cbdaccb0ac0338decebe7d-e1p17-cor2b.jpeg create mode 100644 images/6/5/8/0/8/658089894a94aa16d5f5f36f7785a45ee8a05cc0-nuittrouble2.jpeg create mode 100644 images/6/b/5/c/1/6b5c146a49ea12a54385b8d515e607ac9e267de7-spinoza07.jpeg create mode 100644 images/6/d/e/5/f/6de5f47f5e32e8050ce80c354151f969e50ccb7c-cordoba01.jpeg create mode 100644 images/6/e/6/4/6/6e64697ea1d7ea4747098632af42598f9b5e2d8d-003pourphoto2.jpeg create mode 100644 images/6/f/c/f/0/6fcf04999fa9df44853f1cacfa529ed4d0d04b1e-hoteleden.jpeg create mode 100644 images/7/0/e/5/c/70e5ceb119ea79653006b62a40a78ad5ae379adf-e2014cprpyfavepfontana01modif.jpeg create mode 100644 images/7/1/a/4/1/71a41f94b8b9740ee2d8ea9a9b1a1f67044d6b30-nuit03.jpeg create mode 100644 images/7/9/5/c/4/795c4cbefa68907a06a806f2ba6d001174539ead-e1d103.jpeg create mode 100644 images/7/a/8/e/c/7a8ec963b04888e955c66964274ec64a53d05a18-ethique01-1detailweb.jpeg create mode 100644 images/7/d/4/5/b/7d45baba39ce0662851863abb8050a37a4d8f0a3-e2014cprpyfavepfontana01.jpeg create mode 100644 images/7/d/8/3/8/7d838a22dd616420d49d4563ea65845c1e050d08-2013trajectoire01.jpeg create mode 100644 images/7/f/9/d/c/7f9dc558d769421ce8721886a4750c1ae2c5138e-spinozapp009.jpeg create mode 100644 images/7/f/e/8/d/7fe8d0bc6a00bba3fe03910417fe8438db8a6537-affectslight.jpeg create mode 100644 images/8/2/1/d/6/821d69f5513f6412ae6f16ac2bd3472fd7212379-spinoza08.jpeg create mode 100644 images/8/2/4/f/c/824fcf9d63149e76d83295c14d8a00b7ed883174-commentairephilosophe.jpeg create mode 100644 images/8/b/5/e/d/8b5ed4d9cfa559bc299ac45f6658688bad81cf69-dalli01.jpeg create mode 100644 images/8/b/c/6/9/8bc69d6dc5f995d6b5d90e40100db77e2c18b44b-spinozapp001.jpeg create mode 100644 images/8/f/e/f/6/8fef630c9d6034a6b6e0efa58725fa12fbf57477-e1def7.jpeg create mode 100644 images/9/0/8/a/9/908a91f31238ca807543ae5bb6baf3c8aee0a82d-bptitephysiquehdmodif.jpeg create mode 100644 images/9/7/b/8/b/97b8be9477449a07071f2926f5f93abe09df2691-a2010connexionsmodif.jpeg create mode 100644 images/9/9/4/3/6/994366e35aabafdb56ea862cdcac0bbbd3558cc6-2013trajectoire01.jpeg create mode 100644 images/9/9/f/0/8/99f0843e8caa985421f20fc62aa8f25763c55270-commentairephilosopheweb.jpeg create mode 100644 images/9/a/0/5/d/9a05da05df8898c845629da2e7d2fd9ba17c7a1e-libertedepenser001.jpeg create mode 100644 images/9/a/2/f/3/9a2f3da890bea773bba18b89c013e010dc001e06-2011proj6.jpeg create mode 100644 images/a/0/d/d/d/a0ddd78fe06e8e257a15979de0ddd53619c54c2c-projhist.jpeg create mode 100644 images/a/2/a/7/3/a2a738c79041698ef780bfff1c4e935caf3ccaf2-spinoza07.jpeg create mode 100644 images/a/7/3/d/4/a73d41b8eb636c4f11f38c6fd352e7c7b552d7d5-bcahiermodif.jpeg create mode 100644 images/a/d/5/e/a/ad5ea987d2b973735b18bf1d95348e161fd51bb4-spinozapp008.jpeg create mode 100644 images/a/f/3/b/7/af3b735166a03263591b53706002ae34bf87c949-2013trajectoire02.jpeg create mode 100644 images/a/f/9/0/2/af90200aebca738339a40921d5a3a7ba274c0a7f-e1def1.jpeg create mode 100644 images/a/f/e/d/5/afed52af041e1ad334889afaaf566924ca4de133-commentairephilosopheweb.jpeg create mode 100644 images/b/2/8/1/6/b2816731e1283abd9c751db85393d576c85702cb-spinozapp005.jpeg create mode 100644 images/b/2/c/b/b/b2cbb2f19009c4f332c4c1e1038448034aedf2bd-cordoba01.jpeg create mode 100644 images/b/7/2/3/d/b723d570c446096984511c61ec581c8b6c4089f3-2011proj6.jpeg create mode 100644 images/b/7/c/f/6/b7cf6f50d421d0229493f9805daa859da9f66587-01-logoscam.jpeg create mode 100644 images/b/8/1/6/a/b816adfc758d03a698d47808c786cd0fe613c342-logo-hdf.jpeg create mode 100644 images/b/9/0/8/b/b908ba8f22a8efac4036cd97e3740009cf504125-spinoza12.jpeg create mode 100644 images/b/9/8/e/d/b98edb6a2b004c048f0819b86c31ad8d3b4ba641-logoeu.png create mode 100644 images/b/9/e/0/6/b9e067f6c540daf815cea7869e05b6fb1c13df86-projhist.jpeg create mode 100644 images/b/d/9/6/3/bd96360b6ae8bac7169fab574b6a2762ff34400b-spinoza03.jpeg create mode 100644 images/c/2/a/4/3/c2a434b495d064bba5ecebbc68a99de4dde9e92b-10-tygryzemail.jpeg create mode 100644 images/c/7/0/4/2/c70427012c749f9440744ac3b0568d31f54ab885-hoteleden.jpeg create mode 100644 images/c/b/6/f/d/cb6fd28c4c4718afcc7e2e00a26249dfdb813153-affectslight.jpeg create mode 100644 images/c/d/2/4/1/cd2414ba3a4b2561aac3fd7f27b4be595af51a27-ethique01-1.jpeg create mode 100644 images/c/d/7/f/4/cd7f45f739576cf2712a028f89ba4ab07e79715d-003pourphoto2.jpeg create mode 100644 images/d/1/7/c/a/d17ca8563598125785a02c5a741371b15e724908-2011proj5.jpeg create mode 100644 images/d/4/5/1/7/d45176eb31c56e145ef1b543703f66a5c4fd2c03-thumb-pdf.png create mode 100644 images/d/5/8/3/2/d58329c47d8f0ad2799443816ed0600119be900d-e1p17-cor2b.jpeg create mode 100644 images/d/5/b/5/6/d5b56dbfac983520f655594d44c5bb5837cd964c-04--logo-fmshblanc.png create mode 100644 images/d/7/2/4/4/d7244ebda932c8d9dde16f4b14c2ad89c19b4486-e1def7.jpeg create mode 100644 images/d/c/7/d/d/dc7dd4e661c0ba22354930bfa9b7619fa116bfe3-nuittrouble2.jpeg create mode 100644 images/d/f/c/f/0/dfcf05491a1672d32fb11f24a20da77ec2b6d4cf-spinoza06.jpeg create mode 100644 images/e/2/6/5/e/e265e5f9bd54f34832e713953e0b8ef2ddd36990-spinoza12.jpeg create mode 100644 images/e/3/a/a/b/e3aabaa66a258568c336eb36f3fa366a4a331a1e-dalli03.jpeg create mode 100644 images/e/4/0/b/9/e40b93dbe089352f5edd5bd64f5506de709d6f01-e1p17a.jpeg create mode 100644 images/e/5/5/c/3/e55c30eeb6df53cdb88da4b579f8585fd512fc85-04--logo-fmshblanc.png create mode 100644 images/e/5/8/0/8/e58084d7f639cc7705fe8ed619ba4c50e0881d39-spinozapp002.jpeg create mode 100644 images/e/5/9/4/4/e5944d3b6d14eae13dfd4f801277a38886176aa9-ptitephysique4b.jpeg create mode 100644 images/e/8/5/9/c/e859c96d90d8565703a08d74792a0cbce60da381-thumb-pdf.png create mode 100644 images/e/9/3/d/c/e93dc3d06ea2322e5018885429fba2ede4a36d53-logo-hdf.jpeg create mode 100644 images/e/a/a/a/c/eaaacac8968aa1d9f9f5e6827b55d4b2cd0bd4d1-spinoza10.jpeg create mode 100644 images/e/a/b/4/d/eab4d18bb9f3daf8eb3752a131c6df6002e0aa9c-notedessinehd.jpeg create mode 100644 images/e/b/8/e/a/eb8eadc43f920b1d260281b0440173ebce193173-spinoza05.jpeg create mode 100644 images/e/d/6/0/d/ed60dd1c9794bccfb1cb9c4bdd968d5c547d0971-spinozapp003.jpeg create mode 100644 images/f/5/9/d/5/f59d5478682283da4e8aedebf83070ea582256b4-logoupjv-bleu.png create mode 100644 images/f/7/a/6/b/f7a6bed45ed2b9aa3262e08872c530cc2fc1cc39-e1p17a.jpeg create mode 100644 images/f/f/1/7/5/ff17540294aa7411cb43318a1be2b9b290cde372-spinozapp004.jpeg create mode 100644 index.php create mode 100644 logs/.gitkeep create mode 100644 logs/popularity/daily.json create mode 100644 logs/popularity/monthly.json create mode 100644 logs/popularity/totals.json create mode 100644 logs/popularity/visitors.json create mode 100644 robots.txt create mode 100644 system/assets/debugger.css create mode 100644 system/assets/grav.png create mode 100644 system/assets/jquery/jquery-2.1.4.min.js create mode 100644 system/assets/jquery/jquery-2.x.min.js create mode 100644 system/assets/jquery/jquery-3.x.min.js create mode 100644 system/assets/responsive-overlays/1x.png create mode 100644 system/assets/responsive-overlays/2x.png create mode 100644 system/assets/responsive-overlays/3x.png create mode 100644 system/assets/responsive-overlays/4x.png create mode 100644 system/assets/responsive-overlays/unknown.png create mode 100644 system/assets/whoops.css create mode 100644 system/blueprints/config/media.yaml create mode 100644 system/blueprints/config/site.yaml create mode 100644 system/blueprints/config/streams.yaml create mode 100644 system/blueprints/config/system.yaml create mode 100644 system/blueprints/pages/default.yaml create mode 100644 system/blueprints/pages/external.yaml create mode 100644 system/blueprints/pages/modular.yaml create mode 100644 system/blueprints/user/account.yaml create mode 100644 system/blueprints/user/account_new.yaml create mode 100644 system/blueprints/user/group.yaml create mode 100644 system/blueprints/user/group_new.yaml create mode 100644 system/config/media.yaml create mode 100644 system/config/site.yaml create mode 100644 system/config/streams.yaml create mode 100644 system/config/system.yaml create mode 100644 system/defines.php create mode 100644 system/images/media/thumb-3dm.png create mode 100644 system/images/media/thumb-3ds.png create mode 100644 system/images/media/thumb-3g2.png create mode 100644 system/images/media/thumb-3gp.png create mode 100644 system/images/media/thumb-7z.png create mode 100644 system/images/media/thumb-aac.png create mode 100644 system/images/media/thumb-ai.png create mode 100644 system/images/media/thumb-aif.png create mode 100644 system/images/media/thumb-apk.png create mode 100644 system/images/media/thumb-app.png create mode 100644 system/images/media/thumb-asf.png create mode 100644 system/images/media/thumb-asp.png create mode 100644 system/images/media/thumb-aspx.png create mode 100644 system/images/media/thumb-asx.png create mode 100644 system/images/media/thumb-avi.png create mode 100644 system/images/media/thumb-bak.png create mode 100644 system/images/media/thumb-bat.png create mode 100644 system/images/media/thumb-bin.png create mode 100644 system/images/media/thumb-bmp.png create mode 100644 system/images/media/thumb-cab.png create mode 100644 system/images/media/thumb-cad.png create mode 100644 system/images/media/thumb-cdr.png create mode 100644 system/images/media/thumb-cer.png create mode 100644 system/images/media/thumb-cfg.png create mode 100644 system/images/media/thumb-cfm.png create mode 100644 system/images/media/thumb-cgi.png create mode 100644 system/images/media/thumb-com.png create mode 100644 system/images/media/thumb-cpl.png create mode 100644 system/images/media/thumb-cpp.png create mode 100644 system/images/media/thumb-crx.png create mode 100644 system/images/media/thumb-csr.png create mode 100644 system/images/media/thumb-css.png create mode 100644 system/images/media/thumb-csv.png create mode 100644 system/images/media/thumb-cue.png create mode 100644 system/images/media/thumb-cur.png create mode 100644 system/images/media/thumb-dat.png create mode 100644 system/images/media/thumb-db.png create mode 100644 system/images/media/thumb-dbf.png create mode 100644 system/images/media/thumb-dds.png create mode 100644 system/images/media/thumb-dem.png create mode 100644 system/images/media/thumb-dll.png create mode 100644 system/images/media/thumb-dmg.png create mode 100644 system/images/media/thumb-dmp.png create mode 100644 system/images/media/thumb-doc.png create mode 100644 system/images/media/thumb-docx.png create mode 100644 system/images/media/thumb-drv.png create mode 100644 system/images/media/thumb-dtd.png create mode 100644 system/images/media/thumb-dwg.png create mode 100644 system/images/media/thumb-dxf.png create mode 100644 system/images/media/thumb-elf.png create mode 100644 system/images/media/thumb-eot.png create mode 100644 system/images/media/thumb-eps.png create mode 100644 system/images/media/thumb-exe.png create mode 100644 system/images/media/thumb-fla.png create mode 100644 system/images/media/thumb-flv.png create mode 100644 system/images/media/thumb-fnt.png create mode 100644 system/images/media/thumb-fon.png create mode 100644 system/images/media/thumb-gam.png create mode 100644 system/images/media/thumb-gbr.png create mode 100644 system/images/media/thumb-ged.png create mode 100644 system/images/media/thumb-gif.png create mode 100644 system/images/media/thumb-gpx.png create mode 100644 system/images/media/thumb-gz.png create mode 100644 system/images/media/thumb-gzip.png create mode 100644 system/images/media/thumb-hqz.png create mode 100644 system/images/media/thumb-html.png create mode 100644 system/images/media/thumb-icns.png create mode 100644 system/images/media/thumb-ico.png create mode 100644 system/images/media/thumb-ics.png create mode 100644 system/images/media/thumb-iff.png create mode 100644 system/images/media/thumb-indd.png create mode 100644 system/images/media/thumb-iso.png create mode 100644 system/images/media/thumb-jar.png create mode 100644 system/images/media/thumb-jpg.png create mode 100644 system/images/media/thumb-js.png create mode 100644 system/images/media/thumb-json.png create mode 100644 system/images/media/thumb-jsp.png create mode 100644 system/images/media/thumb-key.png create mode 100644 system/images/media/thumb-kml.png create mode 100644 system/images/media/thumb-kmz.png create mode 100644 system/images/media/thumb-lnk.png create mode 100644 system/images/media/thumb-log.png create mode 100644 system/images/media/thumb-lua.png create mode 100644 system/images/media/thumb-m3u.png create mode 100644 system/images/media/thumb-m4a.png create mode 100644 system/images/media/thumb-m4v.png create mode 100644 system/images/media/thumb-max.png create mode 100644 system/images/media/thumb-mdb.png create mode 100644 system/images/media/thumb-mdf.png create mode 100644 system/images/media/thumb-mid.png create mode 100644 system/images/media/thumb-mim.png create mode 100644 system/images/media/thumb-mov.png create mode 100644 system/images/media/thumb-mp3.png create mode 100644 system/images/media/thumb-mp4.png create mode 100644 system/images/media/thumb-mpa.png create mode 100644 system/images/media/thumb-mpe.png create mode 100644 system/images/media/thumb-mpg.png create mode 100644 system/images/media/thumb-msg.png create mode 100644 system/images/media/thumb-msi.png create mode 100644 system/images/media/thumb-nes.png create mode 100644 system/images/media/thumb-obj.png create mode 100644 system/images/media/thumb-odb.png create mode 100644 system/images/media/thumb-odc.png create mode 100644 system/images/media/thumb-odf.png create mode 100644 system/images/media/thumb-odg.png create mode 100644 system/images/media/thumb-odi.png create mode 100644 system/images/media/thumb-odp.png create mode 100644 system/images/media/thumb-ods.png create mode 100644 system/images/media/thumb-odt.png create mode 100644 system/images/media/thumb-odx.png create mode 100644 system/images/media/thumb-ogg.png create mode 100644 system/images/media/thumb-pct.png create mode 100644 system/images/media/thumb-pdb.png create mode 100644 system/images/media/thumb-pdf.png create mode 100644 system/images/media/thumb-pif.png create mode 100644 system/images/media/thumb-pkg.png create mode 100644 system/images/media/thumb-pl.png create mode 100644 system/images/media/thumb-png.png create mode 100644 system/images/media/thumb-pps.png create mode 100644 system/images/media/thumb-ppt.png create mode 100644 system/images/media/thumb-pptx.png create mode 100644 system/images/media/thumb-ps.png create mode 100644 system/images/media/thumb-psd.png create mode 100644 system/images/media/thumb-pub.png create mode 100644 system/images/media/thumb-py.png create mode 100644 system/images/media/thumb-ra.png create mode 100644 system/images/media/thumb-rar.png create mode 100644 system/images/media/thumb-raw.png create mode 100644 system/images/media/thumb-rm.png create mode 100644 system/images/media/thumb-rom.png create mode 100644 system/images/media/thumb-rpm.png create mode 100644 system/images/media/thumb-rss.png create mode 100644 system/images/media/thumb-rtf.png create mode 100644 system/images/media/thumb-sav.png create mode 100644 system/images/media/thumb-sdf.png create mode 100644 system/images/media/thumb-sql.png create mode 100644 system/images/media/thumb-srt.png create mode 100644 system/images/media/thumb-svg.png create mode 100644 system/images/media/thumb-swf.png create mode 100644 system/images/media/thumb-sys.png create mode 100644 system/images/media/thumb-tar.png create mode 100644 system/images/media/thumb-tex.png create mode 100644 system/images/media/thumb-tga.png create mode 100644 system/images/media/thumb-thm.png create mode 100644 system/images/media/thumb-tiff.png create mode 100644 system/images/media/thumb-tmp.png create mode 100644 system/images/media/thumb-ttf.png create mode 100644 system/images/media/thumb-txt.png create mode 100644 system/images/media/thumb-uue.png create mode 100644 system/images/media/thumb-vb.png create mode 100644 system/images/media/thumb-vcd.png create mode 100644 system/images/media/thumb-vcf.png create mode 100644 system/images/media/thumb-wav.png create mode 100644 system/images/media/thumb-webm.png create mode 100644 system/images/media/thumb-wma.png create mode 100644 system/images/media/thumb-wmv.png create mode 100644 system/images/media/thumb-woff.png create mode 100644 system/images/media/thumb-woff2.png create mode 100644 system/images/media/thumb-wpd.png create mode 100644 system/images/media/thumb-wps.png create mode 100644 system/images/media/thumb-wsf.png create mode 100644 system/images/media/thumb-xls.png create mode 100644 system/images/media/thumb-xlsx.png create mode 100644 system/images/media/thumb-xml.png create mode 100644 system/images/media/thumb-yuv.png create mode 100644 system/images/media/thumb-zip.png create mode 100644 system/images/media/thumb.png create mode 100644 system/languages/ar.yaml create mode 100644 system/languages/ca.yaml create mode 100644 system/languages/cs.yaml create mode 100644 system/languages/da.yaml create mode 100644 system/languages/de.yaml create mode 100644 system/languages/el.yaml create mode 100644 system/languages/en.yaml create mode 100644 system/languages/es.yaml create mode 100644 system/languages/fi.yaml create mode 100644 system/languages/fr.yaml create mode 100644 system/languages/hr.yaml create mode 100644 system/languages/hu.yaml create mode 100644 system/languages/it.yaml create mode 100644 system/languages/ja.yaml create mode 100644 system/languages/lt.yaml create mode 100644 system/languages/nb.yaml create mode 100644 system/languages/nl.yaml create mode 100644 system/languages/no.yaml create mode 100644 system/languages/pl.yaml create mode 100644 system/languages/pt.yaml create mode 100644 system/languages/ro.yaml create mode 100644 system/languages/ru.yaml create mode 100644 system/languages/sk.yaml create mode 100644 system/languages/sv.yaml create mode 100644 system/languages/th.yaml create mode 100644 system/languages/tr.yaml create mode 100644 system/languages/uk.yaml create mode 100644 system/languages/vi.yaml create mode 100644 system/pages/notfound.md create mode 100644 system/router.php create mode 100644 system/src/Grav/Common/Assets.php create mode 100644 system/src/Grav/Common/Backup/ZipBackup.php create mode 100644 system/src/Grav/Common/Browser.php create mode 100644 system/src/Grav/Common/Cache.php create mode 100644 system/src/Grav/Common/Composer.php create mode 100644 system/src/Grav/Common/Config/CompiledBase.php create mode 100644 system/src/Grav/Common/Config/CompiledBlueprints.php create mode 100644 system/src/Grav/Common/Config/CompiledConfig.php create mode 100644 system/src/Grav/Common/Config/CompiledLanguages.php create mode 100644 system/src/Grav/Common/Config/Config.php create mode 100644 system/src/Grav/Common/Config/ConfigFileFinder.php create mode 100644 system/src/Grav/Common/Config/Languages.php create mode 100644 system/src/Grav/Common/Config/Setup.php create mode 100644 system/src/Grav/Common/Data/Blueprint.php create mode 100644 system/src/Grav/Common/Data/BlueprintSchema.php create mode 100644 system/src/Grav/Common/Data/Blueprints.php create mode 100644 system/src/Grav/Common/Data/Data.php create mode 100644 system/src/Grav/Common/Data/DataInterface.php create mode 100644 system/src/Grav/Common/Data/Validation.php create mode 100644 system/src/Grav/Common/Data/ValidationException.php create mode 100644 system/src/Grav/Common/Debugger.php create mode 100644 system/src/Grav/Common/Errors/BareHandler.php create mode 100644 system/src/Grav/Common/Errors/Errors.php create mode 100644 system/src/Grav/Common/Errors/Resources/error.css create mode 100644 system/src/Grav/Common/Errors/Resources/layout.html.php create mode 100644 system/src/Grav/Common/Errors/SimplePageHandler.php create mode 100644 system/src/Grav/Common/Errors/SystemFacade.php create mode 100644 system/src/Grav/Common/File/CompiledFile.php create mode 100644 system/src/Grav/Common/File/CompiledJsonFile.php create mode 100644 system/src/Grav/Common/File/CompiledMarkdownFile.php create mode 100644 system/src/Grav/Common/File/CompiledYamlFile.php create mode 100644 system/src/Grav/Common/Filesystem/Folder.php create mode 100644 system/src/Grav/Common/Filesystem/RecursiveFolderFilterIterator.php create mode 100644 system/src/Grav/Common/GPM/AbstractCollection.php create mode 100644 system/src/Grav/Common/GPM/Common/AbstractPackageCollection.php create mode 100644 system/src/Grav/Common/GPM/Common/CachedCollection.php create mode 100644 system/src/Grav/Common/GPM/Common/Package.php create mode 100644 system/src/Grav/Common/GPM/GPM.php create mode 100644 system/src/Grav/Common/GPM/Installer.php create mode 100644 system/src/Grav/Common/GPM/Licenses.php create mode 100644 system/src/Grav/Common/GPM/Local/AbstractPackageCollection.php create mode 100644 system/src/Grav/Common/GPM/Local/Package.php create mode 100644 system/src/Grav/Common/GPM/Local/Packages.php create mode 100644 system/src/Grav/Common/GPM/Local/Plugins.php create mode 100644 system/src/Grav/Common/GPM/Local/Themes.php create mode 100644 system/src/Grav/Common/GPM/Remote/AbstractPackageCollection.php create mode 100644 system/src/Grav/Common/GPM/Remote/GravCore.php create mode 100644 system/src/Grav/Common/GPM/Remote/Package.php create mode 100644 system/src/Grav/Common/GPM/Remote/Packages.php create mode 100644 system/src/Grav/Common/GPM/Remote/Plugins.php create mode 100644 system/src/Grav/Common/GPM/Remote/Themes.php create mode 100644 system/src/Grav/Common/GPM/Response.php create mode 100644 system/src/Grav/Common/GPM/Upgrader.php create mode 100644 system/src/Grav/Common/Getters.php create mode 100644 system/src/Grav/Common/Grav.php create mode 100644 system/src/Grav/Common/GravTrait.php create mode 100644 system/src/Grav/Common/Helpers/Base32.php create mode 100644 system/src/Grav/Common/Helpers/Excerpts.php create mode 100644 system/src/Grav/Common/Helpers/Exif.php create mode 100644 system/src/Grav/Common/Helpers/Truncator.php create mode 100644 system/src/Grav/Common/Inflector.php create mode 100644 system/src/Grav/Common/Iterator.php create mode 100644 system/src/Grav/Common/Language/Language.php create mode 100644 system/src/Grav/Common/Language/LanguageCodes.php create mode 100644 system/src/Grav/Common/Markdown/Parsedown.php create mode 100644 system/src/Grav/Common/Markdown/ParsedownExtra.php create mode 100644 system/src/Grav/Common/Markdown/ParsedownGravTrait.php create mode 100644 system/src/Grav/Common/Page/Collection.php create mode 100644 system/src/Grav/Common/Page/Header.php create mode 100644 system/src/Grav/Common/Page/Media.php create mode 100644 system/src/Grav/Common/Page/Medium/AbstractMedia.php create mode 100644 system/src/Grav/Common/Page/Medium/AudioMedium.php create mode 100644 system/src/Grav/Common/Page/Medium/GlobalMedia.php create mode 100644 system/src/Grav/Common/Page/Medium/ImageFile.php create mode 100644 system/src/Grav/Common/Page/Medium/ImageMedium.php create mode 100644 system/src/Grav/Common/Page/Medium/Link.php create mode 100644 system/src/Grav/Common/Page/Medium/Medium.php create mode 100644 system/src/Grav/Common/Page/Medium/MediumFactory.php create mode 100644 system/src/Grav/Common/Page/Medium/ParsedownHtmlTrait.php create mode 100644 system/src/Grav/Common/Page/Medium/RenderableInterface.php create mode 100644 system/src/Grav/Common/Page/Medium/StaticImageMedium.php create mode 100644 system/src/Grav/Common/Page/Medium/StaticResizeTrait.php create mode 100644 system/src/Grav/Common/Page/Medium/ThumbnailImageMedium.php create mode 100644 system/src/Grav/Common/Page/Medium/VideoMedium.php create mode 100644 system/src/Grav/Common/Page/Page.php create mode 100644 system/src/Grav/Common/Page/Pages.php create mode 100644 system/src/Grav/Common/Page/Types.php create mode 100644 system/src/Grav/Common/Plugin.php create mode 100644 system/src/Grav/Common/Plugins.php create mode 100644 system/src/Grav/Common/Processors/AssetsProcessor.php create mode 100644 system/src/Grav/Common/Processors/ConfigurationProcessor.php create mode 100644 system/src/Grav/Common/Processors/DebuggerAssetsProcessor.php create mode 100644 system/src/Grav/Common/Processors/DebuggerInitProcessor.php create mode 100644 system/src/Grav/Common/Processors/ErrorsProcessor.php create mode 100644 system/src/Grav/Common/Processors/InitializeProcessor.php create mode 100644 system/src/Grav/Common/Processors/PagesProcessor.php create mode 100644 system/src/Grav/Common/Processors/PluginsProcessor.php create mode 100644 system/src/Grav/Common/Processors/ProcessorBase.php create mode 100644 system/src/Grav/Common/Processors/ProcessorInterface.php create mode 100644 system/src/Grav/Common/Processors/RenderProcessor.php create mode 100644 system/src/Grav/Common/Processors/SiteSetupProcessor.php create mode 100644 system/src/Grav/Common/Processors/TasksProcessor.php create mode 100644 system/src/Grav/Common/Processors/ThemesProcessor.php create mode 100644 system/src/Grav/Common/Processors/TwigProcessor.php create mode 100644 system/src/Grav/Common/Service/AssetsServiceProvider.php create mode 100644 system/src/Grav/Common/Service/ConfigServiceProvider.php create mode 100644 system/src/Grav/Common/Service/ErrorServiceProvider.php create mode 100644 system/src/Grav/Common/Service/LoggerServiceProvider.php create mode 100644 system/src/Grav/Common/Service/MessagesServiceProvider.php create mode 100644 system/src/Grav/Common/Service/OutputServiceProvider.php create mode 100644 system/src/Grav/Common/Service/PageServiceProvider.php create mode 100644 system/src/Grav/Common/Service/StreamsServiceProvider.php create mode 100644 system/src/Grav/Common/Service/TaskServiceProvider.php create mode 100644 system/src/Grav/Common/Session.php create mode 100644 system/src/Grav/Common/Taxonomy.php create mode 100644 system/src/Grav/Common/Theme.php create mode 100644 system/src/Grav/Common/Themes.php create mode 100644 system/src/Grav/Common/Twig/Twig.php create mode 100644 system/src/Grav/Common/Twig/TwigEnvironment.php create mode 100644 system/src/Grav/Common/Twig/TwigExtension.php create mode 100644 system/src/Grav/Common/Twig/WriteCacheFileTrait.php create mode 100644 system/src/Grav/Common/Uri.php create mode 100644 system/src/Grav/Common/User/Authentication.php create mode 100644 system/src/Grav/Common/User/Group.php create mode 100644 system/src/Grav/Common/User/User.php create mode 100644 system/src/Grav/Common/Utils.php create mode 100644 system/src/Grav/Console/Cli/BackupCommand.php create mode 100644 system/src/Grav/Console/Cli/CleanCommand.php create mode 100644 system/src/Grav/Console/Cli/ClearCacheCommand.php create mode 100644 system/src/Grav/Console/Cli/ComposerCommand.php create mode 100644 system/src/Grav/Console/Cli/InstallCommand.php create mode 100644 system/src/Grav/Console/Cli/NewProjectCommand.php create mode 100644 system/src/Grav/Console/Cli/SandboxCommand.php create mode 100644 system/src/Grav/Console/ConsoleCommand.php create mode 100644 system/src/Grav/Console/ConsoleTrait.php create mode 100644 system/src/Grav/Console/Gpm/DirectInstallCommand.php create mode 100644 system/src/Grav/Console/Gpm/IndexCommand.php create mode 100644 system/src/Grav/Console/Gpm/InfoCommand.php create mode 100644 system/src/Grav/Console/Gpm/InstallCommand.php create mode 100644 system/src/Grav/Console/Gpm/SelfupgradeCommand.php create mode 100644 system/src/Grav/Console/Gpm/UninstallCommand.php create mode 100644 system/src/Grav/Console/Gpm/UpdateCommand.php create mode 100644 system/src/Grav/Console/Gpm/VersionCommand.php create mode 100644 system/src/Grav/Console/TerminalObjects/Table.php create mode 100644 system/src/Grav/Framework/Collection/AbstractLazyCollection.php create mode 100644 system/src/Grav/Framework/Collection/ArrayCollection.php create mode 100644 system/src/Grav/Framework/Collection/CollectionInterface.php create mode 100644 system/src/Grav/Framework/Collection/FileCollection.php create mode 100644 system/templates/partials/messages.html.twig create mode 100644 system/templates/partials/metadata.html.twig create mode 100644 tmp/.gitkeep create mode 100644 user/accounts/.gitkeep create mode 100644 user/accounts/admin.yaml create mode 100644 user/accounts/moderator.yaml create mode 100644 user/config/media.yaml create mode 100644 user/config/plugins/langswitcher.yaml create mode 100644 user/config/plugins/markdown-notices.yaml create mode 100644 user/config/plugins/mediaembed.yaml create mode 100755 user/config/plugins/photoswipe.yaml create mode 100644 user/config/plugins/unitegallery.yaml create mode 100644 user/config/security.yaml create mode 100644 user/config/site.yaml create mode 100644 user/config/streams.yaml create mode 100644 user/config/system.yaml create mode 100644 user/data/.gitkeep create mode 100644 user/data/licenses.yaml create mode 100644 user/languages/en.yaml create mode 100644 user/languages/fr.yaml create mode 100644 user/plugins/.gitkeep create mode 100644 user/plugins/admin/.editorconfig create mode 100644 user/plugins/admin/.gitattributes create mode 100644 user/plugins/admin/.gitignore create mode 100644 user/plugins/admin/CHANGELOG.md create mode 100644 user/plugins/admin/CONTRIBUTING.md create mode 100644 user/plugins/admin/LICENSE create mode 100644 user/plugins/admin/README.md create mode 100644 user/plugins/admin/admin.php create mode 100644 user/plugins/admin/admin.yaml create mode 100644 user/plugins/admin/assets/admin-dashboard.png create mode 100644 user/plugins/admin/blueprints.yaml create mode 100644 user/plugins/admin/blueprints/admin/pages/modular_new.yaml create mode 100644 user/plugins/admin/blueprints/admin/pages/modular_raw.yaml create mode 100644 user/plugins/admin/blueprints/admin/pages/move.yaml create mode 100644 user/plugins/admin/blueprints/admin/pages/new.yaml create mode 100644 user/plugins/admin/blueprints/admin/pages/new_folder.yaml create mode 100644 user/plugins/admin/blueprints/admin/pages/raw.yaml create mode 100644 user/plugins/admin/blueprints/config/media.yaml create mode 100644 user/plugins/admin/classes/admin.php create mode 100644 user/plugins/admin/classes/adminbasecontroller.php create mode 100644 user/plugins/admin/classes/admincontroller.php create mode 100644 user/plugins/admin/classes/baconqrprovider.php create mode 100644 user/plugins/admin/classes/gpm.php create mode 100644 user/plugins/admin/classes/popularity.php create mode 100644 user/plugins/admin/classes/themes.php create mode 100644 user/plugins/admin/classes/utils.php create mode 100644 user/plugins/admin/codeception.yml create mode 100644 user/plugins/admin/composer.json create mode 100644 user/plugins/admin/composer.lock create mode 100644 user/plugins/admin/hebe.json create mode 100644 user/plugins/admin/languages/ar.yaml create mode 100644 user/plugins/admin/languages/bg.yaml create mode 100644 user/plugins/admin/languages/br.yaml create mode 100644 user/plugins/admin/languages/ca.yaml create mode 100644 user/plugins/admin/languages/cs.yaml create mode 100644 user/plugins/admin/languages/cy.yaml create mode 100644 user/plugins/admin/languages/da.yaml create mode 100644 user/plugins/admin/languages/de.yaml create mode 100644 user/plugins/admin/languages/el.yaml create mode 100644 user/plugins/admin/languages/en.yaml create mode 100644 user/plugins/admin/languages/es.yaml create mode 100644 user/plugins/admin/languages/et.yaml create mode 100644 user/plugins/admin/languages/eu.yaml create mode 100644 user/plugins/admin/languages/fa.yaml create mode 100644 user/plugins/admin/languages/fi.yaml create mode 100644 user/plugins/admin/languages/fr.yaml create mode 100644 user/plugins/admin/languages/he.yaml create mode 100644 user/plugins/admin/languages/hr.yaml create mode 100644 user/plugins/admin/languages/hu.yaml create mode 100644 user/plugins/admin/languages/id.yaml create mode 100644 user/plugins/admin/languages/it.yaml create mode 100644 user/plugins/admin/languages/ja.yaml create mode 100644 user/plugins/admin/languages/ko.yaml create mode 100644 user/plugins/admin/languages/lt.yaml create mode 100644 user/plugins/admin/languages/nl.yaml create mode 100644 user/plugins/admin/languages/no.yaml create mode 100644 user/plugins/admin/languages/pl.yaml create mode 100644 user/plugins/admin/languages/pt.yaml create mode 100644 user/plugins/admin/languages/ro.yaml create mode 100644 user/plugins/admin/languages/ru.yaml create mode 100644 user/plugins/admin/languages/sk.yaml create mode 100644 user/plugins/admin/languages/sl.yaml create mode 100644 user/plugins/admin/languages/sv.yaml create mode 100644 user/plugins/admin/languages/th.yaml create mode 100644 user/plugins/admin/languages/tlh.yaml create mode 100644 user/plugins/admin/languages/tr.yaml create mode 100644 user/plugins/admin/languages/uk.yaml create mode 100644 user/plugins/admin/languages/vi.yaml create mode 100644 user/plugins/admin/languages/zh.yaml create mode 100644 user/plugins/admin/pages/admin/ajax.md create mode 100644 user/plugins/admin/pages/admin/backup.md create mode 100644 user/plugins/admin/pages/admin/cache.md create mode 100644 user/plugins/admin/pages/admin/config.md create mode 100644 user/plugins/admin/pages/admin/dashboard.md create mode 100644 user/plugins/admin/pages/admin/denied.md create mode 100644 user/plugins/admin/pages/admin/feed.md create mode 100644 user/plugins/admin/pages/admin/forgot.md create mode 100644 user/plugins/admin/pages/admin/info.md create mode 100644 user/plugins/admin/pages/admin/installer.md create mode 100644 user/plugins/admin/pages/admin/login.md create mode 100644 user/plugins/admin/pages/admin/media.md create mode 100644 user/plugins/admin/pages/admin/notifications.md create mode 100644 user/plugins/admin/pages/admin/pages-filter.md create mode 100644 user/plugins/admin/pages/admin/pages.md create mode 100644 user/plugins/admin/pages/admin/plugins.md create mode 100644 user/plugins/admin/pages/admin/register.md create mode 100644 user/plugins/admin/pages/admin/reset.md create mode 100644 user/plugins/admin/pages/admin/site.md create mode 100644 user/plugins/admin/pages/admin/statistics.md create mode 100644 user/plugins/admin/pages/admin/system.md create mode 100644 user/plugins/admin/pages/admin/themes.md create mode 100644 user/plugins/admin/pages/admin/tools.md create mode 100644 user/plugins/admin/pages/admin/twofa.md create mode 100644 user/plugins/admin/pages/admin/update.md create mode 100644 user/plugins/admin/pages/admin/user.md create mode 100644 user/plugins/admin/tests/_bootstrap.php create mode 100644 user/plugins/admin/tests/_support/Helper/Unit.php create mode 100644 user/plugins/admin/tests/_support/UnitTester.php create mode 100644 user/plugins/admin/tests/unit.suite.yml create mode 100644 user/plugins/admin/tests/unit/_bootstrap.php create mode 100644 user/plugins/admin/tests/unit/classes/controllerTest.php create mode 100644 user/plugins/admin/themes/grav/.eslintrc create mode 100644 user/plugins/admin/themes/grav/app/dashboard/backup.js create mode 100644 user/plugins/admin/themes/grav/app/dashboard/cache.js create mode 100644 user/plugins/admin/themes/grav/app/dashboard/chart.js create mode 100644 user/plugins/admin/themes/grav/app/dashboard/index.js create mode 100644 user/plugins/admin/themes/grav/app/dashboard/update.js create mode 100644 user/plugins/admin/themes/grav/app/forms/fields/array.js create mode 100644 user/plugins/admin/themes/grav/app/forms/fields/collections.js create mode 100644 user/plugins/admin/themes/grav/app/forms/fields/colorpicker.js create mode 100644 user/plugins/admin/themes/grav/app/forms/fields/datetime.js create mode 100644 user/plugins/admin/themes/grav/app/forms/fields/editor.js create mode 100644 user/plugins/admin/themes/grav/app/forms/fields/editor/buttons.js create mode 100644 user/plugins/admin/themes/grav/app/forms/fields/filepicker.js create mode 100644 user/plugins/admin/themes/grav/app/forms/fields/files.js create mode 100644 user/plugins/admin/themes/grav/app/forms/fields/iconpicker.js create mode 100644 user/plugins/admin/themes/grav/app/forms/fields/index.js create mode 100644 user/plugins/admin/themes/grav/app/forms/fields/mediapicker.js create mode 100644 user/plugins/admin/themes/grav/app/forms/fields/multilevel.js create mode 100644 user/plugins/admin/themes/grav/app/forms/fields/selectize.js create mode 100644 user/plugins/admin/themes/grav/app/forms/fields/selectunique.js create mode 100644 user/plugins/admin/themes/grav/app/forms/form.js create mode 100644 user/plugins/admin/themes/grav/app/forms/index.js create mode 100644 user/plugins/admin/themes/grav/app/forms/state.js create mode 100644 user/plugins/admin/themes/grav/app/main.js create mode 100644 user/plugins/admin/themes/grav/app/media/index.js create mode 100644 user/plugins/admin/themes/grav/app/pages/filter.js create mode 100644 user/plugins/admin/themes/grav/app/pages/index.js create mode 100644 user/plugins/admin/themes/grav/app/pages/page/add.js create mode 100644 user/plugins/admin/themes/grav/app/pages/page/delete.js create mode 100644 user/plugins/admin/themes/grav/app/pages/page/disable-buttons.js create mode 100644 user/plugins/admin/themes/grav/app/pages/page/index.js create mode 100644 user/plugins/admin/themes/grav/app/pages/page/media.js create mode 100644 user/plugins/admin/themes/grav/app/pages/page/move.js create mode 100644 user/plugins/admin/themes/grav/app/pages/page/multilang.js create mode 100644 user/plugins/admin/themes/grav/app/pages/tree.js create mode 100644 user/plugins/admin/themes/grav/app/plugins/index.js create mode 100644 user/plugins/admin/themes/grav/app/themes/index.js create mode 100644 user/plugins/admin/themes/grav/app/updates/channel-switcher.js create mode 100644 user/plugins/admin/themes/grav/app/updates/check.js create mode 100644 user/plugins/admin/themes/grav/app/updates/feed.js create mode 100644 user/plugins/admin/themes/grav/app/updates/index.js create mode 100644 user/plugins/admin/themes/grav/app/updates/notifications.js create mode 100644 user/plugins/admin/themes/grav/app/updates/update.js create mode 100644 user/plugins/admin/themes/grav/app/utils/2fa.js create mode 100644 user/plugins/admin/themes/grav/app/utils/colors.js create mode 100644 user/plugins/admin/themes/grav/app/utils/formatbytes.js create mode 100644 user/plugins/admin/themes/grav/app/utils/gpm.js create mode 100644 user/plugins/admin/themes/grav/app/utils/jquery-utils.js create mode 100644 user/plugins/admin/themes/grav/app/utils/keepalive.js create mode 100644 user/plugins/admin/themes/grav/app/utils/offline.js create mode 100644 user/plugins/admin/themes/grav/app/utils/packages.js create mode 100644 user/plugins/admin/themes/grav/app/utils/request.js create mode 100644 user/plugins/admin/themes/grav/app/utils/response.js create mode 100644 user/plugins/admin/themes/grav/app/utils/scrollbar.js create mode 100644 user/plugins/admin/themes/grav/app/utils/selectize-required-fix.js create mode 100644 user/plugins/admin/themes/grav/app/utils/sidebar.js create mode 100644 user/plugins/admin/themes/grav/app/utils/storage.js create mode 100644 user/plugins/admin/themes/grav/app/utils/tabs-memory.js create mode 100644 user/plugins/admin/themes/grav/app/utils/toastr.js create mode 100644 user/plugins/admin/themes/grav/css-compiled/fonts.css create mode 100644 user/plugins/admin/themes/grav/css-compiled/fonts.css.map create mode 100644 user/plugins/admin/themes/grav/css-compiled/nucleus.css create mode 100644 user/plugins/admin/themes/grav/css-compiled/nucleus.css.map create mode 100644 user/plugins/admin/themes/grav/css-compiled/preset.css create mode 100644 user/plugins/admin/themes/grav/css-compiled/preset.css.map create mode 100644 user/plugins/admin/themes/grav/css-compiled/simple-fonts.css create mode 100644 user/plugins/admin/themes/grav/css-compiled/simple-fonts.css.map create mode 100644 user/plugins/admin/themes/grav/css-compiled/template.css create mode 100644 user/plugins/admin/themes/grav/css-compiled/template.css.map create mode 100644 user/plugins/admin/themes/grav/css/chartist.min.css create mode 100644 user/plugins/admin/themes/grav/css/codemirror/base16-light.css create mode 100644 user/plugins/admin/themes/grav/css/codemirror/codemirror.css create mode 100644 user/plugins/admin/themes/grav/css/codemirror/paper.css create mode 100644 user/plugins/admin/themes/grav/css/featherlight.min.css create mode 100644 user/plugins/admin/themes/grav/css/font-awesome.min.css create mode 100644 user/plugins/admin/themes/grav/css/hint.base.min.css create mode 100644 user/plugins/admin/themes/grav/css/iconpicker.css create mode 100644 user/plugins/admin/themes/grav/css/nucleus-ie10.css create mode 100644 user/plugins/admin/themes/grav/css/nucleus-ie9.css create mode 100644 user/plugins/admin/themes/grav/css/prism.css create mode 100644 user/plugins/admin/themes/grav/css/pure-0.5.0/grids-min.css create mode 100644 user/plugins/admin/themes/grav/css/selectize.min.css create mode 100644 user/plugins/admin/themes/grav/css/uikit.css create mode 100644 user/plugins/admin/themes/grav/fonts/fontawesome-webfont.eot create mode 100644 user/plugins/admin/themes/grav/fonts/fontawesome-webfont.svg create mode 100644 user/plugins/admin/themes/grav/fonts/fontawesome-webfont.ttf create mode 100644 user/plugins/admin/themes/grav/fonts/fontawesome-webfont.woff create mode 100644 user/plugins/admin/themes/grav/fonts/fontawesome-webfont.woff2 create mode 100644 user/plugins/admin/themes/grav/fonts/rockettheme-apps/rockettheme-apps.eot create mode 100644 user/plugins/admin/themes/grav/fonts/rockettheme-apps/rockettheme-apps.svg create mode 100644 user/plugins/admin/themes/grav/fonts/rockettheme-apps/rockettheme-apps.ttf create mode 100644 user/plugins/admin/themes/grav/fonts/rockettheme-apps/rockettheme-apps.woff create mode 100644 user/plugins/admin/themes/grav/gulpfile.js create mode 100644 user/plugins/admin/themes/grav/images/favicon.png create mode 100644 user/plugins/admin/themes/grav/images/logo.png create mode 100644 user/plugins/admin/themes/grav/js/admin.min.js create mode 100644 user/plugins/admin/themes/grav/js/form-attr.polyfill.js create mode 100644 user/plugins/admin/themes/grav/js/vendor.min.js create mode 100644 user/plugins/admin/themes/grav/package-lock.json create mode 100644 user/plugins/admin/themes/grav/package.json create mode 100644 user/plugins/admin/themes/grav/scss.sh create mode 100644 user/plugins/admin/themes/grav/scss/configuration/fonts/_support.scss create mode 100644 user/plugins/admin/themes/grav/scss/configuration/nucleus/_base.scss create mode 100644 user/plugins/admin/themes/grav/scss/configuration/nucleus/_breakpoints.scss create mode 100644 user/plugins/admin/themes/grav/scss/configuration/nucleus/_core.scss create mode 100644 user/plugins/admin/themes/grav/scss/configuration/nucleus/_layout.scss create mode 100644 user/plugins/admin/themes/grav/scss/configuration/nucleus/_nav.scss create mode 100644 user/plugins/admin/themes/grav/scss/configuration/nucleus/_typography.scss create mode 100644 user/plugins/admin/themes/grav/scss/configuration/template/_base.scss create mode 100644 user/plugins/admin/themes/grav/scss/configuration/template/_colors.scss create mode 100644 user/plugins/admin/themes/grav/scss/configuration/template/_variables.scss create mode 100644 user/plugins/admin/themes/grav/scss/fonts.scss create mode 100644 user/plugins/admin/themes/grav/scss/nucleus.scss create mode 100644 user/plugins/admin/themes/grav/scss/nucleus/_core.scss create mode 100644 user/plugins/admin/themes/grav/scss/nucleus/_flex.scss create mode 100644 user/plugins/admin/themes/grav/scss/nucleus/_forms.scss create mode 100644 user/plugins/admin/themes/grav/scss/nucleus/_typography.scss create mode 100644 user/plugins/admin/themes/grav/scss/nucleus/functions/_base.scss create mode 100644 user/plugins/admin/themes/grav/scss/nucleus/functions/_direction.scss create mode 100644 user/plugins/admin/themes/grav/scss/nucleus/functions/_range.scss create mode 100644 user/plugins/admin/themes/grav/scss/nucleus/mixins/_base.scss create mode 100644 user/plugins/admin/themes/grav/scss/nucleus/mixins/_breakpoints.scss create mode 100644 user/plugins/admin/themes/grav/scss/nucleus/mixins/_utilities.scss create mode 100644 user/plugins/admin/themes/grav/scss/nucleus/particles/_align-text.scss create mode 100644 user/plugins/admin/themes/grav/scss/nucleus/particles/_visibility.scss create mode 100644 user/plugins/admin/themes/grav/scss/preset.scss create mode 100644 user/plugins/admin/themes/grav/scss/simple-fonts.scss create mode 100644 user/plugins/admin/themes/grav/scss/template.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/_admin.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/_buttons.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/_core.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/_custom.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/_dropzone.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/_editor.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/_errors.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/_extensions.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/_fonts.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/_forms.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/_gpm.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/_header.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/_login.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/_media.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/_nav-toggle.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/_notifications.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/_pages.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/_phpinfo.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/_remodal.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/_tables.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/_tabs.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/_toastr.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/_typography.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/_utilities.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/modules/_base.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/modules/_bourbon_essentials.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/modules/_buttons.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/modules/_colorpicker.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/modules/_datetimepicker.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/modules/_input-range.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/modules/_scrollbars.scss create mode 100644 user/plugins/admin/themes/grav/scss/template/modules/_toggle-switch.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/_bourbon-deprecated-upcoming.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/_bourbon.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/addons/_button.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/addons/_clearfix.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/addons/_directional-values.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/addons/_ellipsis.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/addons/_font-family.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/addons/_hide-text.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/addons/_html5-input-types.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/addons/_position.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/addons/_prefixer.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/addons/_rem.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/addons/_retina-image.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/addons/_size.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/addons/_timing-functions.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/addons/_triangle.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/addons/_word-wrap.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/css3/_animation.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/css3/_appearance.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/css3/_backface-visibility.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/css3/_background-image.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/css3/_background.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/css3/_border-image.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/css3/_border-radius.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/css3/_box-sizing.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/css3/_calc.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/css3/_columns.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/css3/_filter.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/css3/_flex-box.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/css3/_font-face.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/css3/_font-feature-settings.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/css3/_hidpi-media-query.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/css3/_hyphens.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/css3/_image-rendering.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/css3/_keyframes.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/css3/_linear-gradient.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/css3/_perspective.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/css3/_placeholder.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/css3/_radial-gradient.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/css3/_transform.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/css3/_transition.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/css3/_user-select.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/functions/_assign.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/functions/_color-lightness.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/functions/_flex-grid.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/functions/_golden-ratio.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/functions/_grid-width.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/functions/_modular-scale.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/functions/_px-to-em.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/functions/_px-to-rem.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/functions/_strip-units.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/functions/_tint-shade.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/functions/_transition-property-name.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/functions/_unpack.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/helpers/_convert-units.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/helpers/_gradient-positions-parser.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/helpers/_is-num.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/helpers/_linear-angle-parser.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/helpers/_linear-gradient-parser.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/helpers/_linear-positions-parser.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/helpers/_linear-side-corner-parser.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/helpers/_radial-arg-parser.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/helpers/_radial-gradient-parser.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/helpers/_radial-positions-parser.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/helpers/_render-gradients.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/helpers/_shape-size-stripper.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/helpers/_str-to-num.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/settings/_prefixer.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/bourbon/settings/_px-to-em.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/color-schemer/_color-schemer.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/color-schemer/color-schemer/_cmyk.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/color-schemer/color-schemer/_color-adjustments.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/color-schemer/color-schemer/_color-schemer.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/color-schemer/color-schemer/_colorblind.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/color-schemer/color-schemer/_comparison.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/color-schemer/color-schemer/_equalize.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/color-schemer/color-schemer/_harmonize.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/color-schemer/color-schemer/_interpolation.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/color-schemer/color-schemer/_mix.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/color-schemer/color-schemer/_mixins.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/color-schemer/color-schemer/_ryb.scss create mode 100644 user/plugins/admin/themes/grav/scss/vendor/color-schemer/color-schemer/_tint-shade.scss create mode 100644 user/plugins/admin/themes/grav/templates/config.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/dashboard.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/default.json.twig create mode 100644 user/plugins/admin/themes/grav/templates/denied.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/email/base.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/empty.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/error.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/error.json.twig create mode 100644 user/plugins/admin/themes/grav/templates/forgot.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/field.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/2fa_secret/2fa_secret.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/array/array.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/blueprint/blueprint.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/colorpicker/colorpicker.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/column/column.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/columns/columns.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/dateformat/dateformat.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/datetime/datetime.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/editor/editor.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/fieldset/fieldset.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/file/file.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/filepicker/filepicker.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/frontmatter/frontmatter.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/iconpicker/iconpicker.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/iconpicker/icons.yaml create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/ignore/ignore.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/key/key.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/list/list.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/markdown/markdown.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/mediapicker/mediapicker.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/multilevel/multilevel.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/order/order.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/pagemedia/pagemedia.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/pagemediaselect/pagemediaselect.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/pages/pages.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/parents/parents.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/permissions/permissions.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/range/range.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/section/section.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/selectize/selectize.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/selectunique/selectunique.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/tab/tab.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/tabs/tabs.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/taxonomy/taxonomy.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/themeselect/themeselect.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/toggle/toggle.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/forms/fields/userinfo/userinfo.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/installer.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/login.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/media-list-content.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/pages.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/base-root.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/base.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/blueprints-new-folder.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/blueprints-new.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/blueprints-raw.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/blueprints.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/dashboard-feed.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/dashboard-maintenance.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/dashboard-notifications.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/dashboard-pages.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/dashboard-statistics.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/header.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/javascript-config.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/javascripts.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/list-sort.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/login.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/logo.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/media-list-wrapper.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/media-list-wrapper__list.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/media-list-wrapper__list__filters.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/media-list-wrapper__sidebar.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/messages.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/modal-add-package.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/modal-changes-detected.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/modal-reinstall-package.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/modal-remove-package.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/modal-update-packages.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/nav-quick-tray.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/nav-toggle.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/nav-user-avatar.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/nav-user-details.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/nav.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/page-children.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/page-legend.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/page-move.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/plugin-data.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/plugins-details.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/plugins-list.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/register.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/release-toggle.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/spinning-wheel.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/stylesheets.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/theme.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/themes-details.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/themes-list.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/tools-direct-install.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/userinfo-avatar-credit.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/partials/userinfo-avatar.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/plugins.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/register.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/reset.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/statistics.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/themes.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/tools.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/twofa.html.twig create mode 100644 user/plugins/admin/themes/grav/templates/user.html.twig create mode 100644 user/plugins/admin/themes/grav/theme.yaml create mode 100644 user/plugins/admin/themes/grav/watch.sh create mode 100644 user/plugins/admin/themes/grav/webpack.conf.js create mode 100644 user/plugins/admin/themes/grav/yarn.lock create mode 100644 user/plugins/admin/twig/AdminTwigExtension.php create mode 100644 user/plugins/admin/vendor/autoload.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/LICENSE create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/Module.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/README.md create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/autoload_classmap.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/autoload_function.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/autoload_register.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/AbstractEnum.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/BitArray.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/BitMatrix.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/BitUtils.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/CharacterSetEci.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/EcBlock.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/EcBlocks.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/ErrorCorrectionLevel.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/FormatInformation.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/Mode.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/ReedSolomonCodec.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Common/Version.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Encoder/BlockPair.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Encoder/ByteMatrix.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Encoder/Encoder.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Encoder/MaskUtil.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Encoder/MatrixUtil.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Encoder/QrCode.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Exception/ExceptionInterface.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Exception/InvalidArgumentException.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Exception/OutOfBoundsException.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Exception/RuntimeException.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Exception/UnexpectedValueException.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Exception/WriterException.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Color/Cmyk.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Color/ColorInterface.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Color/Gray.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Color/Rgb.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Image/AbstractRenderer.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Image/Decorator/DecoratorInterface.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Image/Decorator/FinderPattern.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Image/Eps.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Image/Png.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Image/RendererInterface.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Image/Svg.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/RendererInterface.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Text/Html.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Renderer/Text/Plain.php create mode 100644 user/plugins/admin/vendor/bacon/bacon-qr-code/src/BaconQrCode/Writer.php create mode 100644 user/plugins/admin/vendor/bin/picofeed create mode 100644 user/plugins/admin/vendor/composer/ClassLoader.php create mode 100644 user/plugins/admin/vendor/composer/LICENSE create mode 100644 user/plugins/admin/vendor/composer/autoload_classmap.php create mode 100644 user/plugins/admin/vendor/composer/autoload_namespaces.php create mode 100644 user/plugins/admin/vendor/composer/autoload_psr4.php create mode 100644 user/plugins/admin/vendor/composer/autoload_real.php create mode 100644 user/plugins/admin/vendor/composer/autoload_static.php create mode 100644 user/plugins/admin/vendor/composer/installed.json create mode 100644 user/plugins/admin/vendor/composer/semver/CHANGELOG.md create mode 100644 user/plugins/admin/vendor/composer/semver/LICENSE create mode 100644 user/plugins/admin/vendor/composer/semver/README.md create mode 100644 user/plugins/admin/vendor/composer/semver/composer.json create mode 100644 user/plugins/admin/vendor/composer/semver/src/Comparator.php create mode 100644 user/plugins/admin/vendor/composer/semver/src/Constraint/AbstractConstraint.php create mode 100644 user/plugins/admin/vendor/composer/semver/src/Constraint/Constraint.php create mode 100644 user/plugins/admin/vendor/composer/semver/src/Constraint/ConstraintInterface.php create mode 100644 user/plugins/admin/vendor/composer/semver/src/Constraint/EmptyConstraint.php create mode 100644 user/plugins/admin/vendor/composer/semver/src/Constraint/MultiConstraint.php create mode 100644 user/plugins/admin/vendor/composer/semver/src/Semver.php create mode 100644 user/plugins/admin/vendor/composer/semver/src/VersionParser.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/LICENSE create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Base.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Client/Client.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Client/ClientException.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Client/Curl.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Client/ForbiddenException.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Client/HttpHeaders.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Client/InvalidCertificateException.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Client/InvalidUrlException.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Client/MaxRedirectException.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Client/MaxSizeException.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Client/Stream.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Client/TimeoutException.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Client/UnauthorizedException.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Client/Url.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Config/Config.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Encoding/Encoding.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Filter/Attribute.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Filter/Filter.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Filter/Html.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Filter/Tag.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Generator/ContentGeneratorInterface.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Generator/FileContentGenerator.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Generator/YoutubeContentGenerator.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Logging/Logger.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/Atom.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/DateParser.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/Feed.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/Item.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/MalformedXmlException.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/Parser.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/ParserException.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/ParserInterface.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/Rss10.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/Rss20.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/Rss91.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/Rss92.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/XmlEntityException.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/XmlParser.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/PicoFeedException.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Processor/ContentFilterProcessor.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Processor/ContentGeneratorProcessor.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Processor/ItemPostProcessor.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Processor/ItemProcessorInterface.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Processor/ScraperProcessor.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Reader/Favicon.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Reader/Reader.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Reader/ReaderException.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Reader/SubscriptionNotFoundException.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Reader/UnsupportedFeedFormatException.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.blog.lemonde.fr.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.blogs.nytimes.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.igen.fr.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.nytimes.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.over-blog.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.phoronix.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.slate.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.theguardian.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.wikipedia.org.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.wired.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.wsj.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/01net.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/abstrusegoose.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/adventuregamers.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/alainonline.net.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/aljazeera.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/allafrica.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/allgemeine-zeitung.de.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/amazingsuperpowers.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/anythingcomic.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/ap.org.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/areadvd.de.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/arstechnica.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/awkwardzombie.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/backchannel.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/bangkokpost.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/bgr.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/bigfootjustice.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/bigpicture.ru.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/bizjournals.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/biztimes.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/bleepingcomputer.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/blog.fefe.de.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/blog.mapillary.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/brewers.mlb.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/buenosairesherald.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/bunicomic.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/buttersafe.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/cad-comic.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/chaoslife.findchaos.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/chinafile.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/cliquerefresh.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/cnet.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/consomac.fr.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/cowbirdsinlove.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/crash.net.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/csmonitor.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/dailyjs.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/dailyreporter.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/dailytech.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/degroupnews.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/derstandard.at.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/dilbert.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/discovermagazine.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/distrowatch.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/dozodomo.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/drawingboardcomic.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/e-w-e.ru.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/economist.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/encyclopedie.naheulbeuk.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/endlessorigami.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/engadget.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/escapistmagazine.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/espn.go.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/exocomics.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/explosm.net.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/extrafabulouscomics.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/factroom.ru.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/fastcodesign.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/fastcoexist.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/fastcompany.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/ffworld.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/foreignpolicy.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/fossbytes.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/fototelegraf.ru.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/fowllanguagecomics.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/geek.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/geektimes.ru.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/gerbilwithajetpack.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/giantitp.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/github.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/gocomics.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/golem.de.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/gorabbit.ru.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/habrahabr.ru.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/happletea.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/hardware.fr.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/heise.de.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/hotshowlife.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/huffingtonpost.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/imogenquest.net.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/indiehaven.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/ing.dk.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/invisiblebread.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/ir.amd.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/japantimes.co.jp.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/japantoday.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/journaldugeek.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/jsonline.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/justcoolidea.ru.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/kanpai.fr.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/karriere.jobfinder.dk.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/kodi.tv.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/koreaherald.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/koreatimes.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lastplacecomics.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/legorafi.fr.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lejapon.fr.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lesjoiesducode.fr.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lfg.co.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lifehacker.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lifehacker.ru.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/linux.org.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/linux.org.ru.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/linuxinsider.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lists.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/loadingartist.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/loldwell.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lukesurl.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/macg.co.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/marc.info.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/marriedtothesea.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/marycagle.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/maximumble.thebookofbiff.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/medium.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/mercworks.net.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/metronieuws.nl.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/milwaukeenns.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/mokepon.smackjeeves.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/monandroid.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/monwindows.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/moya-planeta.ru.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/mrlovenstein.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/muckrock.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/mynorthshorenow.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nakedCapitalism.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nasa.gov.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nat-geo.ru.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nationaljournal.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nature.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nba.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nedroid.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/networkworld.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/neustadt-ticker.de.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nextinpact.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/niceteethcomic.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nichtlustig.de.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/oglaf.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/onhax.net.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/onmilwaukee.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/openculture.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/opennet.ru.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/openrightsgroup.org.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/opensource.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/optipess.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/osnews.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/pastebin.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/peebleslab.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/penny-arcade.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/pixelbeat.org.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/plus.google.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/popstrip.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/publicpolicyforum.org.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/publy.ru.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/putaindecode.fr.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/recode.net.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/retractionwatch.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/rockpapershotgun.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/rue89.nouvelobs.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/rugbyrama.fr.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/satwcomic.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/scrumalliance.org.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/securityfocus.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/sentfromthemoon.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/sitepoint.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/slashdot.org.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/smallhousebliss.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/smarthomewelt.de.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/smashingmagazine.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/smbc-comics.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/snopes.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/soundandvision.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/spiegel.de.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/stereophile.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/stupidfox.net.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/subtraction.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/sz.de.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/takprosto.cc.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/techcrunch.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/the-ebook-reader.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/theatlantic.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/theawkwardyeti.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/thecodinglove.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/thedoghousediaries.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/thegamercat.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/thehindu.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/thelocal.se.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/themerepublic.net.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/themoscowtimes.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/thenewslens.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/theodd1sout.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/theonion.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/thestandard.com.hk.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/threepanelsoul.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/timesofindia.indiatimes.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/travel-dealz.de.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/treehugger.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/treelobsters.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/twogag.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/twokinds.keenspot.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/undeadly.org.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/upi.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/usatoday.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/version2.dk.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/vgcats.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/vuxml.org.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/wausaudailyherald.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.bbc.co.uk.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.bdgest.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.bgr.in.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.businessweek.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.cnn.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.developpez.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.egscomics.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.fakingnews.firstpost.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.forbes.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.franceculture.fr.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.futura-sciences.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.geekculture.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.howtogeek.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.lepoint.fr.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.lesnumeriques.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.mac4ever.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.makeuseof.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.monsieur-le-chien.fr.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.npr.org.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.numerama.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.oneindia.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.pseudo-sciences.org.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.sciencemag.org.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.slate.fr.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.universfreebox.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.zeit.de.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/xkcd.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/ymatuhin.ru.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/zdnet.com.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Scraper/CandidateParser.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Scraper/ParserInterface.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Scraper/RuleLoader.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Scraper/RuleParser.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Scraper/Scraper.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Serialization/Subscription.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Serialization/SubscriptionList.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Serialization/SubscriptionListBuilder.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Serialization/SubscriptionListParser.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Serialization/SubscriptionParser.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/AtomFeedBuilder.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/AtomHelper.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/AtomItemBuilder.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/FeedBuilder.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/ItemBuilder.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/Rss20FeedBuilder.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/Rss20Helper.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/Rss20ItemBuilder.php create mode 100644 user/plugins/admin/vendor/fguillot/picofeed/picofeed create mode 100644 user/plugins/admin/vendor/robthree/twofactorauth/LICENSE create mode 100644 user/plugins/admin/vendor/robthree/twofactorauth/README.md create mode 100644 user/plugins/admin/vendor/robthree/twofactorauth/TwoFactorAuth.sln create mode 100644 user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Qr/BaseHTTPQRCodeProvider.php create mode 100644 user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Qr/GoogleQRCodeProvider.php create mode 100644 user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Qr/IQRCodeProvider.php create mode 100644 user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Qr/QRException.php create mode 100644 user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Qr/QRServerProvider.php create mode 100644 user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Qr/QRicketProvider.php create mode 100644 user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Rng/CSRNGProvider.php create mode 100644 user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Rng/HashRNGProvider.php create mode 100644 user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Rng/IRNGProvider.php create mode 100644 user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Rng/MCryptRNGProvider.php create mode 100644 user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Rng/OpenSSLRNGProvider.php create mode 100644 user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Rng/RNGException.php create mode 100644 user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Time/ConvertUnixTimeDotComTimeProvider.php create mode 100644 user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Time/HttpTimeProvider.php create mode 100644 user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Time/ITimeProvider.php create mode 100644 user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Time/LocalMachineTimeProvider.php create mode 100644 user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Time/TimeException.php create mode 100644 user/plugins/admin/vendor/robthree/twofactorauth/lib/TwoFactorAuth.php create mode 100644 user/plugins/admin/vendor/robthree/twofactorauth/lib/TwoFactorAuthException.php create mode 100644 user/plugins/admin/vendor/zendframework/zendxml/CHANGELOG.md create mode 100644 user/plugins/admin/vendor/zendframework/zendxml/LICENSE.md create mode 100644 user/plugins/admin/vendor/zendframework/zendxml/README.md create mode 100644 user/plugins/admin/vendor/zendframework/zendxml/library/ZendXml/Exception/ExceptionInterface.php create mode 100644 user/plugins/admin/vendor/zendframework/zendxml/library/ZendXml/Exception/InvalidArgumentException.php create mode 100644 user/plugins/admin/vendor/zendframework/zendxml/library/ZendXml/Exception/RuntimeException.php create mode 100644 user/plugins/admin/vendor/zendframework/zendxml/library/ZendXml/Security.php create mode 100644 user/plugins/config/media.yaml create mode 100644 user/plugins/config/plugins/langswitcher.yaml create mode 100644 user/plugins/config/plugins/markdown-notices.yaml create mode 100644 user/plugins/config/plugins/mediaembed.yaml create mode 100755 user/plugins/config/plugins/photoswipe.yaml create mode 100644 user/plugins/config/plugins/unitegallery.yaml create mode 100644 user/plugins/config/security.yaml create mode 100644 user/plugins/config/site.yaml create mode 100644 user/plugins/config/streams.yaml create mode 100644 user/plugins/config/system.yaml create mode 100644 user/plugins/email/CHANGELOG.md create mode 100644 user/plugins/email/LICENSE create mode 100644 user/plugins/email/README.md create mode 100644 user/plugins/email/blueprints.yaml create mode 100644 user/plugins/email/classes/Email.php create mode 100644 user/plugins/email/classes/Utils.php create mode 100644 user/plugins/email/cli/TestEmailCommand.php create mode 100644 user/plugins/email/composer.json create mode 100644 user/plugins/email/composer.lock create mode 100644 user/plugins/email/email.php create mode 100644 user/plugins/email/email.yaml create mode 100644 user/plugins/email/hebe.json create mode 100644 user/plugins/email/languages.yaml create mode 100644 user/plugins/email/templates/email/base.html.twig create mode 100644 user/plugins/email/vendor/autoload.php create mode 100644 user/plugins/email/vendor/composer/ClassLoader.php create mode 100644 user/plugins/email/vendor/composer/LICENSE create mode 100644 user/plugins/email/vendor/composer/autoload_classmap.php create mode 100644 user/plugins/email/vendor/composer/autoload_files.php create mode 100644 user/plugins/email/vendor/composer/autoload_namespaces.php create mode 100644 user/plugins/email/vendor/composer/autoload_psr4.php create mode 100644 user/plugins/email/vendor/composer/autoload_real.php create mode 100644 user/plugins/email/vendor/composer/autoload_static.php create mode 100644 user/plugins/email/vendor/composer/installed.json create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/CHANGES create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/LICENSE create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/README create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/VERSION create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/composer.json create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Attachment.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/AbstractFilterableInputStream.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/ArrayByteStream.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/FileByteStream.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/TemporaryFileByteStream.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/GenericFixedWidthReader.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/UsAsciiReader.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/Utf8Reader.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReaderFactory.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReaderFactory/SimpleCharacterReaderFactory.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream/ArrayCharacterStream.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream/NgCharacterStream.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ConfigurableSpool.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/DependencyContainer.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/DependencyException.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/EmbeddedFile.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/Base64Encoder.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/QpEncoder.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/Rfc2231Encoder.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoding.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/CommandEvent.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/CommandListener.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/Event.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/EventDispatcher.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/EventListener.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/EventObject.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/ResponseEvent.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/ResponseListener.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/SendEvent.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/SendListener.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/SimpleEventDispatcher.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportChangeEvent.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportChangeListener.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportExceptionEvent.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportExceptionListener.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/FailoverTransport.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/FileSpool.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/FileStream.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Filterable.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Image.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/InputByteStream.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/IoException.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/ArrayKeyCache.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/DiskKeyCache.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/KeyCacheInputStream.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/NullKeyCache.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/SimpleKeyCacheInputStream.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/LoadBalancedTransport.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/MailTransport.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer/ArrayRecipientIterator.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer/RecipientIterator.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/MemorySpool.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Message.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Attachment.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/CharsetObserver.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/Base64ContentEncoder.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/NativeQpContentEncoder.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/PlainContentEncoder.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoder.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoderProxy.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/RawContentEncoder.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/EmbeddedFile.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/EncodingObserver.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Grammar.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Header.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/HeaderEncoder.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/HeaderEncoder/Base64HeaderEncoder.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/HeaderEncoder/QpHeaderEncoder.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/HeaderFactory.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/HeaderSet.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/AbstractHeader.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/DateHeader.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/IdentificationHeader.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/MailboxHeader.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/OpenDKIMHeader.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/ParameterizedHeader.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/PathHeader.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/UnstructuredHeader.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Message.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/MimeEntity.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/MimePart.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ParameterizedHeader.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderFactory.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderSet.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleMessage.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleMimeEntity.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/MimePart.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/NullTransport.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/OutputByteStream.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/AntiFloodPlugin.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/BandwidthMonitorPlugin.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Decorator/Replacements.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/DecoratorPlugin.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/ImpersonatePlugin.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Logger.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/LoggerPlugin.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Loggers/ArrayLogger.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Loggers/EchoLogger.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/MessageLogger.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Pop/Pop3Connection.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Pop/Pop3Exception.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/PopBeforeSmtpPlugin.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/RedirectingPlugin.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporter.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/ReporterPlugin.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporters/HitReporter.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporters/HtmlReporter.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Sleeper.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/ThrottlerPlugin.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Timer.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Preferences.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ReplacementFilterFactory.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/RfcComplianceException.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SendmailTransport.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SignedMessage.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signer.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/BodySigner.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/DKIMSigner.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/DomainKeySigner.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/HeaderSigner.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/OpenDKIMSigner.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/SMimeSigner.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SmtpTransport.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Spool.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SpoolTransport.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilter.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilters/ByteArrayReplacementFilter.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilters/StringReplacementFilter.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilters/StringReplacementFilterFactory.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SwiftException.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/CramMd5Authenticator.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/LoginAuthenticator.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/NTLMAuthenticator.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/PlainAuthenticator.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/XOAuth2Authenticator.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/AuthHandler.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Authenticator.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpHandler.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpTransport.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/FailoverTransport.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/IoBuffer.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/LoadBalancedTransport.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/MailInvoker.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/MailTransport.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/NullTransport.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SendmailTransport.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SimpleMailInvoker.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SmtpAgent.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SpoolTransport.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/TransportException.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Validate.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/dependency_maps/cache_deps.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/dependency_maps/message_deps.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/dependency_maps/mime_deps.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/dependency_maps/transport_deps.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/mime_types.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/preferences.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/swift_init.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/swift_required.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/swift_required_pear.php create mode 100644 user/plugins/email/vendor/swiftmailer/swiftmailer/lib/swiftmailer_generate_mimes_config.php create mode 100644 user/plugins/error/CHANGELOG.md create mode 100644 user/plugins/error/LICENSE create mode 100644 user/plugins/error/README.md create mode 100644 user/plugins/error/assets/readme_1.png create mode 100644 user/plugins/error/blueprints.yaml create mode 100644 user/plugins/error/cli/LogCommand.php create mode 100644 user/plugins/error/error.php create mode 100644 user/plugins/error/error.yaml create mode 100644 user/plugins/error/languages.yaml create mode 100644 user/plugins/error/pages/error.md create mode 100644 user/plugins/error/templates/error.html.twig create mode 100644 user/plugins/error/templates/error.json.twig create mode 100644 user/plugins/form/.eslintrc create mode 100644 user/plugins/form/.gitignore create mode 100644 user/plugins/form/CHANGELOG.md create mode 100644 user/plugins/form/LICENSE create mode 100644 user/plugins/form/README.md create mode 100644 user/plugins/form/app/main.js create mode 100644 user/plugins/form/assets/dropzone.min.css create mode 100644 user/plugins/form/assets/form-styles.css create mode 100644 user/plugins/form/assets/form.min.js create mode 100644 user/plugins/form/blueprints.yaml create mode 100644 user/plugins/form/classes/form.php create mode 100644 user/plugins/form/form.php create mode 100644 user/plugins/form/form.yaml create mode 100644 user/plugins/form/gulpfile.js create mode 100644 user/plugins/form/hebe.json create mode 100644 user/plugins/form/languages.yaml create mode 100644 user/plugins/form/package.json create mode 100644 user/plugins/form/templates/form-messages.html.twig create mode 100644 user/plugins/form/templates/form-messages.json.twig create mode 100644 user/plugins/form/templates/form.html.twig create mode 100644 user/plugins/form/templates/form.json.twig create mode 100644 user/plugins/form/templates/formdata.html.twig create mode 100644 user/plugins/form/templates/forms/ajax.json.twig create mode 100644 user/plugins/form/templates/forms/data.html.twig create mode 100644 user/plugins/form/templates/forms/data.txt.twig create mode 100644 user/plugins/form/templates/forms/default/data.html.twig create mode 100644 user/plugins/form/templates/forms/default/data.txt.twig create mode 100644 user/plugins/form/templates/forms/default/field.html.twig create mode 100644 user/plugins/form/templates/forms/default/form.html.twig create mode 100644 user/plugins/form/templates/forms/field.html.twig create mode 100644 user/plugins/form/templates/forms/fields/avatar/avatar.html.twig create mode 100644 user/plugins/form/templates/forms/fields/captcha/captcha.html.twig create mode 100644 user/plugins/form/templates/forms/fields/checkbox/checkbox.html.twig create mode 100644 user/plugins/form/templates/forms/fields/checkboxes/checkboxes.html.twig create mode 100644 user/plugins/form/templates/forms/fields/color/color.html.twig create mode 100644 user/plugins/form/templates/forms/fields/column/column.html.twig create mode 100644 user/plugins/form/templates/forms/fields/columns/columns.html.twig create mode 100644 user/plugins/form/templates/forms/fields/conditional/conditional.html.twig create mode 100644 user/plugins/form/templates/forms/fields/date/date.html.twig create mode 100644 user/plugins/form/templates/forms/fields/datetime/datetime.html.twig create mode 100644 user/plugins/form/templates/forms/fields/display/display.html.twig create mode 100644 user/plugins/form/templates/forms/fields/email/email.html.twig create mode 100644 user/plugins/form/templates/forms/fields/fieldset/fieldset.html.twig create mode 100644 user/plugins/form/templates/forms/fields/file/file.html.twig create mode 100644 user/plugins/form/templates/forms/fields/formname/formname.html.twig create mode 100644 user/plugins/form/templates/forms/fields/hidden/hidden.html.twig create mode 100644 user/plugins/form/templates/forms/fields/honeypot/honeypot.html.twig create mode 100644 user/plugins/form/templates/forms/fields/month/month.html.twig create mode 100644 user/plugins/form/templates/forms/fields/number/number.html.twig create mode 100644 user/plugins/form/templates/forms/fields/password/password.html.twig create mode 100644 user/plugins/form/templates/forms/fields/radio/radio.html.twig create mode 100644 user/plugins/form/templates/forms/fields/range/range.html.twig create mode 100644 user/plugins/form/templates/forms/fields/select/select.html.twig create mode 100644 user/plugins/form/templates/forms/fields/select_optgroup/select_optgroup.html.twig create mode 100644 user/plugins/form/templates/forms/fields/spacer/spacer.html.twig create mode 100644 user/plugins/form/templates/forms/fields/switch/switch.html.twig create mode 100644 user/plugins/form/templates/forms/fields/tel/tel.html.twig create mode 100644 user/plugins/form/templates/forms/fields/text/text.html.twig create mode 100644 user/plugins/form/templates/forms/fields/textarea/textarea.html.twig create mode 100644 user/plugins/form/templates/forms/fields/time/time.html.twig create mode 100644 user/plugins/form/templates/forms/fields/uniqueid/uniqueid.html.twig create mode 100644 user/plugins/form/templates/forms/fields/url/url.html.twig create mode 100644 user/plugins/form/templates/forms/fields/week/week.html.twig create mode 100644 user/plugins/form/templates/forms/form.html.twig create mode 100644 user/plugins/form/templates/modular/form.html.twig create mode 100644 user/plugins/form/templates/partials/form-messages.html.twig create mode 100644 user/plugins/form/templates/partials/form-messages.json.twig create mode 100644 user/plugins/form/webpack.conf.js create mode 100644 user/plugins/form/yarn.lock create mode 100644 user/plugins/langswitcher/CHANGELOG.md create mode 100644 user/plugins/langswitcher/LICENSE create mode 100644 user/plugins/langswitcher/README.md create mode 100644 user/plugins/langswitcher/assets/readme_1.png create mode 100644 user/plugins/langswitcher/blueprints.yaml create mode 100644 user/plugins/langswitcher/css/langswitcher.css create mode 100644 user/plugins/langswitcher/langswitcher.php create mode 100644 user/plugins/langswitcher/langswitcher.yaml create mode 100644 user/plugins/langswitcher/templates/partials/langswitcher.hreflang.html.twig create mode 100644 user/plugins/langswitcher/templates/partials/langswitcher.html.twig create mode 100644 user/plugins/login/.gitignore create mode 100644 user/plugins/login/CHANGELOG.md create mode 100644 user/plugins/login/LICENSE create mode 100644 user/plugins/login/README.md create mode 100644 user/plugins/login/blueprints.yaml create mode 100644 user/plugins/login/classes/Controller.php create mode 100644 user/plugins/login/classes/Events/UserLoginEvent.php create mode 100644 user/plugins/login/classes/Login.php create mode 100644 user/plugins/login/classes/LoginCache.php create mode 100644 user/plugins/login/classes/RateLimiter.php create mode 100644 user/plugins/login/classes/RememberMe/RememberMe.php create mode 100644 user/plugins/login/classes/RememberMe/TokenStorage.php create mode 100644 user/plugins/login/cli/ChangePasswordCommand.php create mode 100644 user/plugins/login/cli/ChangeUserStateCommand.php create mode 100644 user/plugins/login/cli/NewUserCommand.php create mode 100644 user/plugins/login/composer.json create mode 100644 user/plugins/login/composer.lock create mode 100644 user/plugins/login/css/login.css create mode 100644 user/plugins/login/hebe.json create mode 100644 user/plugins/login/languages/de.yaml create mode 100644 user/plugins/login/languages/en.yaml create mode 100644 user/plugins/login/languages/fr.yaml create mode 100644 user/plugins/login/languages/hr.yaml create mode 100644 user/plugins/login/languages/hu.yaml create mode 100644 user/plugins/login/languages/ro.yaml create mode 100644 user/plugins/login/languages/ru.yaml create mode 100644 user/plugins/login/login.php create mode 100644 user/plugins/login/login.yaml create mode 100644 user/plugins/login/pages/forgot.md create mode 100644 user/plugins/login/pages/login.md create mode 100644 user/plugins/login/pages/profile.md create mode 100644 user/plugins/login/pages/register.md create mode 100644 user/plugins/login/pages/reset.md create mode 100644 user/plugins/login/pages/unauthorized.md create mode 100644 user/plugins/login/templates/forgot.html.twig create mode 100644 user/plugins/login/templates/login.html.twig create mode 100644 user/plugins/login/templates/login.json.twig create mode 100644 user/plugins/login/templates/partials/forgot-form.html.twig create mode 100644 user/plugins/login/templates/partials/login-form.html.twig create mode 100644 user/plugins/login/templates/partials/login-status.html.twig create mode 100644 user/plugins/login/templates/partials/reset-form.html.twig create mode 100644 user/plugins/login/templates/profile.html.twig create mode 100644 user/plugins/login/templates/profile.json.twig create mode 100644 user/plugins/login/templates/reset.html.twig create mode 100644 user/plugins/login/vendor/autoload.php create mode 100644 user/plugins/login/vendor/birke/rememberme/.gitignore create mode 100644 user/plugins/login/vendor/birke/rememberme/LICENSE create mode 100644 user/plugins/login/vendor/birke/rememberme/README.md create mode 100644 user/plugins/login/vendor/birke/rememberme/composer.json create mode 100644 user/plugins/login/vendor/birke/rememberme/example/action.php create mode 100644 user/plugins/login/vendor/birke/rememberme/example/css/style.css create mode 100644 user/plugins/login/vendor/birke/rememberme/example/index.php create mode 100644 user/plugins/login/vendor/birke/rememberme/example/templates/cookie_was_stolen.php create mode 100644 user/plugins/login/vendor/birke/rememberme/example/templates/login.php create mode 100644 user/plugins/login/vendor/birke/rememberme/example/templates/user_is_logged_in.php create mode 100644 user/plugins/login/vendor/birke/rememberme/phpunit.xml create mode 100644 user/plugins/login/vendor/birke/rememberme/src/Rememberme/Authenticator.php create mode 100644 user/plugins/login/vendor/birke/rememberme/src/Rememberme/Cookie.php create mode 100644 user/plugins/login/vendor/birke/rememberme/src/Rememberme/Storage/DB.php create mode 100644 user/plugins/login/vendor/birke/rememberme/src/Rememberme/Storage/File.php create mode 100644 user/plugins/login/vendor/birke/rememberme/src/Rememberme/Storage/PDO.php create mode 100644 user/plugins/login/vendor/birke/rememberme/src/Rememberme/Storage/StorageInterface.php create mode 100644 user/plugins/login/vendor/birke/rememberme/test/CookieTest.php create mode 100644 user/plugins/login/vendor/birke/rememberme/test/RemembermeTest.php create mode 100644 user/plugins/login/vendor/birke/rememberme/test/Storage/PDO.php create mode 100644 user/plugins/login/vendor/birke/rememberme/test/Storage/tokens.xml create mode 100644 user/plugins/login/vendor/birke/rememberme/test/bootstrap.php create mode 100644 user/plugins/login/vendor/composer/ClassLoader.php create mode 100644 user/plugins/login/vendor/composer/LICENSE create mode 100644 user/plugins/login/vendor/composer/autoload_classmap.php create mode 100644 user/plugins/login/vendor/composer/autoload_files.php create mode 100644 user/plugins/login/vendor/composer/autoload_namespaces.php create mode 100644 user/plugins/login/vendor/composer/autoload_psr4.php create mode 100644 user/plugins/login/vendor/composer/autoload_real.php create mode 100644 user/plugins/login/vendor/composer/autoload_static.php create mode 100644 user/plugins/login/vendor/composer/installed.json create mode 100644 user/plugins/login/vendor/paragonie/random_compat/CHANGELOG.md create mode 100644 user/plugins/login/vendor/paragonie/random_compat/LICENSE create mode 100644 user/plugins/login/vendor/paragonie/random_compat/RATIONALE.md create mode 100644 user/plugins/login/vendor/paragonie/random_compat/README.md create mode 100644 user/plugins/login/vendor/paragonie/random_compat/SECURITY.md create mode 100644 user/plugins/login/vendor/paragonie/random_compat/build-phar.sh create mode 100644 user/plugins/login/vendor/paragonie/random_compat/composer.json create mode 100644 user/plugins/login/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey create mode 100644 user/plugins/login/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey.asc create mode 100644 user/plugins/login/vendor/paragonie/random_compat/lib/byte_safe_strings.php create mode 100644 user/plugins/login/vendor/paragonie/random_compat/lib/cast_to_int.php create mode 100644 user/plugins/login/vendor/paragonie/random_compat/lib/error_polyfill.php create mode 100644 user/plugins/login/vendor/paragonie/random_compat/lib/random.php create mode 100644 user/plugins/login/vendor/paragonie/random_compat/lib/random_bytes_com_dotnet.php create mode 100644 user/plugins/login/vendor/paragonie/random_compat/lib/random_bytes_dev_urandom.php create mode 100644 user/plugins/login/vendor/paragonie/random_compat/lib/random_bytes_libsodium.php create mode 100644 user/plugins/login/vendor/paragonie/random_compat/lib/random_bytes_libsodium_legacy.php create mode 100644 user/plugins/login/vendor/paragonie/random_compat/lib/random_bytes_mcrypt.php create mode 100644 user/plugins/login/vendor/paragonie/random_compat/lib/random_bytes_openssl.php create mode 100644 user/plugins/login/vendor/paragonie/random_compat/lib/random_int.php create mode 100644 user/plugins/login/vendor/paragonie/random_compat/other/build_phar.php create mode 100644 user/plugins/login/vendor/paragonie/random_compat/other/ide_stubs/COM.php create mode 100644 user/plugins/login/vendor/paragonie/random_compat/other/ide_stubs/README.md create mode 100644 user/plugins/login/vendor/paragonie/random_compat/other/ide_stubs/com_exception.php create mode 100644 user/plugins/login/vendor/paragonie/random_compat/other/ide_stubs/libsodium.php create mode 100644 user/plugins/login/vendor/paragonie/random_compat/psalm-autoload.php create mode 100644 user/plugins/login/vendor/paragonie/random_compat/psalm.xml create mode 100644 user/plugins/markdown-notices/CHANGELOG.md create mode 100644 user/plugins/markdown-notices/LICENSE create mode 100644 user/plugins/markdown-notices/README.md create mode 100644 user/plugins/markdown-notices/assets/notices.css create mode 100644 user/plugins/markdown-notices/assets/screenshot.png create mode 100644 user/plugins/markdown-notices/blueprints.yaml create mode 100644 user/plugins/markdown-notices/markdown-notices.php create mode 100644 user/plugins/markdown-notices/markdown-notices.yaml create mode 100644 user/plugins/mediaembed/.gitignore create mode 100644 user/plugins/mediaembed/CHANGELOG.md create mode 100644 user/plugins/mediaembed/LICENSE create mode 100644 user/plugins/mediaembed/README.md create mode 100644 user/plugins/mediaembed/assets/css/mediaembed.css create mode 100644 user/plugins/mediaembed/assets/js/mediaembed.js create mode 100644 user/plugins/mediaembed/assets/logo.png create mode 100644 user/plugins/mediaembed/assets/screenshot.png create mode 100644 user/plugins/mediaembed/blueprints.yaml create mode 100644 user/plugins/mediaembed/classes/Autoloader.php create mode 100644 user/plugins/mediaembed/classes/MediaEmbed.php create mode 100644 user/plugins/mediaembed/classes/OEmbed/OEmbed.php create mode 100644 user/plugins/mediaembed/classes/OEmbed/OEmbedInterface.php create mode 100644 user/plugins/mediaembed/classes/OEmbed/OEmbedLink.php create mode 100644 user/plugins/mediaembed/classes/OEmbed/OEmbedPhoto.php create mode 100644 user/plugins/mediaembed/classes/OEmbed/OEmbedRich.php create mode 100644 user/plugins/mediaembed/classes/OEmbed/OEmbedVideo.php create mode 100644 user/plugins/mediaembed/classes/ProviderInterface.php create mode 100644 user/plugins/mediaembed/classes/Service.php create mode 100644 user/plugins/mediaembed/classes/ServiceProvider.php create mode 100644 user/plugins/mediaembed/classes/Services/Github.php create mode 100644 user/plugins/mediaembed/classes/Services/Slides.php create mode 100644 user/plugins/mediaembed/classes/Services/Twitter.php create mode 100644 user/plugins/mediaembed/docs/CONTRIBUTING.md create mode 100644 user/plugins/mediaembed/docs/INSTALL.md create mode 100644 user/plugins/mediaembed/hebe.json create mode 100644 user/plugins/mediaembed/mediaembed.php create mode 100644 user/plugins/mediaembed/mediaembed.yaml create mode 100644 user/plugins/mediaembed/templates/partials/mediaembed.html.twig create mode 100644 user/plugins/mediaembed/vendor/Requests/.coveralls.yml create mode 100644 user/plugins/mediaembed/vendor/Requests/.travis.yml create mode 100644 user/plugins/mediaembed/vendor/Requests/CHANGELOG.md create mode 100644 user/plugins/mediaembed/vendor/Requests/LICENSE create mode 100644 user/plugins/mediaembed/vendor/Requests/README.md create mode 100644 user/plugins/mediaembed/vendor/Requests/bin/create_pear_package.php create mode 100644 user/plugins/mediaembed/vendor/Requests/composer.json create mode 100644 user/plugins/mediaembed/vendor/Requests/docs/README.md create mode 100644 user/plugins/mediaembed/vendor/Requests/docs/authentication-custom.md create mode 100644 user/plugins/mediaembed/vendor/Requests/docs/authentication.md create mode 100644 user/plugins/mediaembed/vendor/Requests/docs/goals.md create mode 100644 user/plugins/mediaembed/vendor/Requests/docs/hooks.md create mode 100644 user/plugins/mediaembed/vendor/Requests/docs/proxy.md create mode 100644 user/plugins/mediaembed/vendor/Requests/docs/usage-advanced.md create mode 100644 user/plugins/mediaembed/vendor/Requests/docs/usage.md create mode 100644 user/plugins/mediaembed/vendor/Requests/docs/why-requests.md create mode 100644 user/plugins/mediaembed/vendor/Requests/examples/basic-auth.php create mode 100644 user/plugins/mediaembed/vendor/Requests/examples/get.php create mode 100644 user/plugins/mediaembed/vendor/Requests/examples/multiple.php create mode 100644 user/plugins/mediaembed/vendor/Requests/examples/post.php create mode 100644 user/plugins/mediaembed/vendor/Requests/examples/proxy.php create mode 100644 user/plugins/mediaembed/vendor/Requests/examples/session.php create mode 100644 user/plugins/mediaembed/vendor/Requests/examples/timeout.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Auth.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Auth/Basic.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Cookie.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Cookie/Jar.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/400.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/401.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/402.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/403.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/404.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/405.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/406.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/407.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/408.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/409.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/410.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/411.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/412.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/413.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/414.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/415.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/416.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/417.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/418.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/428.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/429.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/431.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/500.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/501.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/502.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/503.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/504.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/505.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/511.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/Unknown.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Hooker.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Hooks.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/IDNAEncoder.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/IPv6.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/IRI.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Proxy.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Proxy/HTTP.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Response.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Response/Headers.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/SSL.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Session.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Transport.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Transport/cURL.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Transport/cacert.pem create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Transport/fsockopen.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Utility/CaseInsensitiveDictionary.php create mode 100644 user/plugins/mediaembed/vendor/Requests/library/Requests/Utility/FilteredIterator.php create mode 100644 user/plugins/mediaembed/vendor/Requests/package.xml.tpl create mode 100644 user/plugins/mediaembed/vendor/Requests/tests/Auth/Basic.php create mode 100644 user/plugins/mediaembed/vendor/Requests/tests/ChunkedEncoding.php create mode 100644 user/plugins/mediaembed/vendor/Requests/tests/Cookies.php create mode 100644 user/plugins/mediaembed/vendor/Requests/tests/Encoding.php create mode 100644 user/plugins/mediaembed/vendor/Requests/tests/IDNAEncoder.php create mode 100644 user/plugins/mediaembed/vendor/Requests/tests/IRI.php create mode 100644 user/plugins/mediaembed/vendor/Requests/tests/Requests.php create mode 100644 user/plugins/mediaembed/vendor/Requests/tests/Response/Headers.php create mode 100644 user/plugins/mediaembed/vendor/Requests/tests/SSL.php create mode 100644 user/plugins/mediaembed/vendor/Requests/tests/Session.php create mode 100644 user/plugins/mediaembed/vendor/Requests/tests/Transport/Base.php create mode 100644 user/plugins/mediaembed/vendor/Requests/tests/Transport/cURL.php create mode 100644 user/plugins/mediaembed/vendor/Requests/tests/Transport/fsockopen.php create mode 100644 user/plugins/mediaembed/vendor/Requests/tests/bootstrap.php create mode 100644 user/plugins/mediaembed/vendor/Requests/tests/phpunit.xml.dist create mode 100644 user/plugins/problems/CHANGELOG.md create mode 100644 user/plugins/problems/LICENSE create mode 100644 user/plugins/problems/README.md create mode 100644 user/plugins/problems/assets/readme_1.png create mode 100644 user/plugins/problems/blueprints.yaml create mode 100644 user/plugins/problems/css/problems.css create mode 100644 user/plugins/problems/css/template.css create mode 100644 user/plugins/problems/html/problems.html create mode 100644 user/plugins/problems/problems.php create mode 100644 user/plugins/problems/problems.yaml create mode 100644 user/themes/.gitkeep create mode 100644 user/themes/antimatter/.sass-cache/058263328840cb1289d5705bea4aff23460135bd/_base.scssc create mode 100644 user/themes/antimatter/.sass-cache/058263328840cb1289d5705bea4aff23460135bd/_breakpoints.scssc create mode 100644 user/themes/antimatter/.sass-cache/058263328840cb1289d5705bea4aff23460135bd/_utilities.scssc create mode 100644 user/themes/antimatter/.sass-cache/1be9d50f93821478fbcc5d08847da8d1b90ea1d3/_core.scssc create mode 100644 user/themes/antimatter/.sass-cache/1be9d50f93821478fbcc5d08847da8d1b90ea1d3/_flex.scssc create mode 100644 user/themes/antimatter/.sass-cache/1be9d50f93821478fbcc5d08847da8d1b90ea1d3/_forms.scssc create mode 100644 user/themes/antimatter/.sass-cache/1be9d50f93821478fbcc5d08847da8d1b90ea1d3/_typography.scssc create mode 100644 user/themes/antimatter/.sass-cache/340fcfc87f57d4e9e9c841b187845a67d4e657d6/_assign.scssc create mode 100644 user/themes/antimatter/.sass-cache/340fcfc87f57d4e9e9c841b187845a67d4e657d6/_color-lightness.scssc create mode 100644 user/themes/antimatter/.sass-cache/340fcfc87f57d4e9e9c841b187845a67d4e657d6/_flex-grid.scssc create mode 100644 user/themes/antimatter/.sass-cache/340fcfc87f57d4e9e9c841b187845a67d4e657d6/_golden-ratio.scssc create mode 100644 user/themes/antimatter/.sass-cache/340fcfc87f57d4e9e9c841b187845a67d4e657d6/_grid-width.scssc create mode 100644 user/themes/antimatter/.sass-cache/340fcfc87f57d4e9e9c841b187845a67d4e657d6/_modular-scale.scssc create mode 100644 user/themes/antimatter/.sass-cache/340fcfc87f57d4e9e9c841b187845a67d4e657d6/_px-to-em.scssc create mode 100644 user/themes/antimatter/.sass-cache/340fcfc87f57d4e9e9c841b187845a67d4e657d6/_px-to-rem.scssc create mode 100644 user/themes/antimatter/.sass-cache/340fcfc87f57d4e9e9c841b187845a67d4e657d6/_strip-units.scssc create mode 100644 user/themes/antimatter/.sass-cache/340fcfc87f57d4e9e9c841b187845a67d4e657d6/_tint-shade.scssc create mode 100644 user/themes/antimatter/.sass-cache/340fcfc87f57d4e9e9c841b187845a67d4e657d6/_transition-property-name.scssc create mode 100644 user/themes/antimatter/.sass-cache/340fcfc87f57d4e9e9c841b187845a67d4e657d6/_unpack.scssc create mode 100644 user/themes/antimatter/.sass-cache/467ebe77e49b6fef5472b1ea401f68a1f70c782f/_base.scssc create mode 100644 user/themes/antimatter/.sass-cache/467ebe77e49b6fef5472b1ea401f68a1f70c782f/_direction.scssc create mode 100644 user/themes/antimatter/.sass-cache/467ebe77e49b6fef5472b1ea401f68a1f70c782f/_range.scssc create mode 100644 user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_button.scssc create mode 100644 user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_clearfix.scssc create mode 100644 user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_directional-values.scssc create mode 100644 user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_ellipsis.scssc create mode 100644 user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_font-family.scssc create mode 100644 user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_hide-text.scssc create mode 100644 user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_html5-input-types.scssc create mode 100644 user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_position.scssc create mode 100644 user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_prefixer.scssc create mode 100644 user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_retina-image.scssc create mode 100644 user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_size.scssc create mode 100644 user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_timing-functions.scssc create mode 100644 user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_triangle.scssc create mode 100644 user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_word-wrap.scssc create mode 100644 user/themes/antimatter/.sass-cache/5b21d380f52115b980aaf10cf2c0e784cd6d0358/_base.scssc create mode 100644 user/themes/antimatter/.sass-cache/5b21d380f52115b980aaf10cf2c0e784cd6d0358/_breakpoints.scssc create mode 100644 user/themes/antimatter/.sass-cache/5b21d380f52115b980aaf10cf2c0e784cd6d0358/_core.scssc create mode 100644 user/themes/antimatter/.sass-cache/5b21d380f52115b980aaf10cf2c0e784cd6d0358/_layout.scssc create mode 100644 user/themes/antimatter/.sass-cache/5b21d380f52115b980aaf10cf2c0e784cd6d0358/_nav.scssc create mode 100644 user/themes/antimatter/.sass-cache/5b21d380f52115b980aaf10cf2c0e784cd6d0358/_typography.scssc create mode 100644 user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_blog.scssc create mode 100644 user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_bullets.scssc create mode 100644 user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_buttons.scssc create mode 100644 user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_core.scssc create mode 100644 user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_custom.scssc create mode 100644 user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_errors.scssc create mode 100644 user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_extensions.scssc create mode 100644 user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_fonts.scssc create mode 100644 user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_footer.scssc create mode 100644 user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_forms.scssc create mode 100644 user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_header.scssc create mode 100644 user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_panel.scssc create mode 100644 user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_simplesearch.scssc create mode 100644 user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_tables.scssc create mode 100644 user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_typography.scssc create mode 100644 user/themes/antimatter/.sass-cache/68c54b2b448e649112858a27fe9a12f02c0a3ffb/_bourbon-deprecated-upcoming.scssc create mode 100644 user/themes/antimatter/.sass-cache/68c54b2b448e649112858a27fe9a12f02c0a3ffb/_bourbon.scssc create mode 100644 user/themes/antimatter/.sass-cache/6b6413e8b8496410124d5bfc1350f4218bb7bcb9/_convert-units.scssc create mode 100644 user/themes/antimatter/.sass-cache/6b6413e8b8496410124d5bfc1350f4218bb7bcb9/_gradient-positions-parser.scssc create mode 100644 user/themes/antimatter/.sass-cache/6b6413e8b8496410124d5bfc1350f4218bb7bcb9/_is-num.scssc create mode 100644 user/themes/antimatter/.sass-cache/6b6413e8b8496410124d5bfc1350f4218bb7bcb9/_linear-angle-parser.scssc create mode 100644 user/themes/antimatter/.sass-cache/6b6413e8b8496410124d5bfc1350f4218bb7bcb9/_linear-gradient-parser.scssc create mode 100644 user/themes/antimatter/.sass-cache/6b6413e8b8496410124d5bfc1350f4218bb7bcb9/_linear-positions-parser.scssc create mode 100644 user/themes/antimatter/.sass-cache/6b6413e8b8496410124d5bfc1350f4218bb7bcb9/_linear-side-corner-parser.scssc create mode 100644 user/themes/antimatter/.sass-cache/6b6413e8b8496410124d5bfc1350f4218bb7bcb9/_radial-arg-parser.scssc create mode 100644 user/themes/antimatter/.sass-cache/6b6413e8b8496410124d5bfc1350f4218bb7bcb9/_radial-gradient-parser.scssc create mode 100644 user/themes/antimatter/.sass-cache/6b6413e8b8496410124d5bfc1350f4218bb7bcb9/_radial-positions-parser.scssc create mode 100644 user/themes/antimatter/.sass-cache/6b6413e8b8496410124d5bfc1350f4218bb7bcb9/_render-gradients.scssc create mode 100644 user/themes/antimatter/.sass-cache/6b6413e8b8496410124d5bfc1350f4218bb7bcb9/_shape-size-stripper.scssc create mode 100644 user/themes/antimatter/.sass-cache/6b6413e8b8496410124d5bfc1350f4218bb7bcb9/_str-to-num.scssc create mode 100644 user/themes/antimatter/.sass-cache/73d2ab32f48ec442174f7d249982ece98dd5bcdb/_base.scssc create mode 100644 user/themes/antimatter/.sass-cache/73d2ab32f48ec442174f7d249982ece98dd5bcdb/_bullets.scssc create mode 100644 user/themes/antimatter/.sass-cache/73d2ab32f48ec442174f7d249982ece98dd5bcdb/_colors.scssc create mode 100644 user/themes/antimatter/.sass-cache/73d2ab32f48ec442174f7d249982ece98dd5bcdb/_typography.scssc create mode 100644 user/themes/antimatter/.sass-cache/73d2ab32f48ec442174f7d249982ece98dd5bcdb/_variables.scssc create mode 100644 user/themes/antimatter/.sass-cache/948490e5773de31048d22a03fe83b31d3f2d24c3/_align-text.scssc create mode 100644 user/themes/antimatter/.sass-cache/948490e5773de31048d22a03fe83b31d3f2d24c3/_visibility.scssc create mode 100644 user/themes/antimatter/.sass-cache/bee0557f29dd857b7bf234c839604363ed975a50/_base.scssc create mode 100644 user/themes/antimatter/.sass-cache/bee0557f29dd857b7bf234c839604363ed975a50/_buttons.scssc create mode 100644 user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_animation.scssc create mode 100644 user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_appearance.scssc create mode 100644 user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_backface-visibility.scssc create mode 100644 user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_background-image.scssc create mode 100644 user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_background.scssc create mode 100644 user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_border-image.scssc create mode 100644 user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_border-radius.scssc create mode 100644 user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_box-sizing.scssc create mode 100644 user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_calc.scssc create mode 100644 user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_columns.scssc create mode 100644 user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_filter.scssc create mode 100644 user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_flex-box.scssc create mode 100644 user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_font-face.scssc create mode 100644 user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_hidpi-media-query.scssc create mode 100644 user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_hyphens.scssc create mode 100644 user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_image-rendering.scssc create mode 100644 user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_keyframes.scssc create mode 100644 user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_linear-gradient.scssc create mode 100644 user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_perspective.scssc create mode 100644 user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_placeholder.scssc create mode 100644 user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_radial-gradient.scssc create mode 100644 user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_transform.scssc create mode 100644 user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_transition.scssc create mode 100644 user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_user-select.scssc create mode 100644 user/themes/antimatter/.sass-cache/daea5344f80308049a5da4a53dec3b28db51a434/_all.scssc create mode 100644 user/themes/antimatter/.sass-cache/daea5344f80308049a5da4a53dec3b28db51a434/_features.scssc create mode 100644 user/themes/antimatter/.sass-cache/daea5344f80308049a5da4a53dec3b28db51a434/_showcase.scssc create mode 100644 user/themes/antimatter/.sass-cache/daea5344f80308049a5da4a53dec3b28db51a434/_text.scssc create mode 100644 user/themes/antimatter/.sass-cache/dbe7a29446e4d31383c175434b5aeaa81e1fe437/_prefixer.scssc create mode 100644 user/themes/antimatter/.sass-cache/dbe7a29446e4d31383c175434b5aeaa81e1fe437/_px-to-em.scssc create mode 100644 user/themes/antimatter/.sass-cache/e9f8e971350809fde8cc2362287e5f67968406b3/nucleus.scssc create mode 100644 user/themes/antimatter/.sass-cache/e9f8e971350809fde8cc2362287e5f67968406b3/particles.scssc create mode 100644 user/themes/antimatter/.sass-cache/e9f8e971350809fde8cc2362287e5f67968406b3/template.scssc create mode 100644 user/themes/antimatter/CHANGELOG.md create mode 100644 user/themes/antimatter/LICENSE create mode 100644 user/themes/antimatter/README.md create mode 100644 user/themes/antimatter/antimatter.php create mode 100644 user/themes/antimatter/antimatter.yaml create mode 100644 user/themes/antimatter/assets/readme_1.png create mode 100644 user/themes/antimatter/blueprints.yaml create mode 100644 user/themes/antimatter/blueprints/asset/file.yaml create mode 100644 user/themes/antimatter/blueprints/blog.yaml create mode 100644 user/themes/antimatter/blueprints/form.yaml create mode 100644 user/themes/antimatter/blueprints/item.yaml create mode 100644 user/themes/antimatter/blueprints/modular/features.yaml create mode 100644 user/themes/antimatter/blueprints/modular/showcase.yaml create mode 100644 user/themes/antimatter/blueprints/modular/text.yaml create mode 100644 user/themes/antimatter/css-compiled/nucleus.css create mode 100644 user/themes/antimatter/css-compiled/nucleus.css.map create mode 100644 user/themes/antimatter/css-compiled/particles.css create mode 100644 user/themes/antimatter/css-compiled/particles.css.map create mode 100644 user/themes/antimatter/css-compiled/template.css create mode 100644 user/themes/antimatter/css-compiled/template.css.map create mode 100644 user/themes/antimatter/css/font-awesome.min.css create mode 100644 user/themes/antimatter/css/nucleus-ie10.css create mode 100644 user/themes/antimatter/css/nucleus-ie9.css create mode 100644 user/themes/antimatter/css/prism.css create mode 100644 user/themes/antimatter/css/pure-0.5.0/grids-min.css create mode 100644 user/themes/antimatter/css/slidebars.min.css create mode 100644 user/themes/antimatter/fonts/fontawesome-webfont.eot create mode 100644 user/themes/antimatter/fonts/fontawesome-webfont.svg create mode 100644 user/themes/antimatter/fonts/fontawesome-webfont.ttf create mode 100644 user/themes/antimatter/fonts/fontawesome-webfont.woff create mode 100644 user/themes/antimatter/fonts/fontawesome-webfont.woff2 create mode 100644 user/themes/antimatter/images/favicon.png create mode 100644 user/themes/antimatter/images/logo.png create mode 100644 user/themes/antimatter/js/antimatter.js create mode 100644 user/themes/antimatter/js/html5shiv-printshiv.min.js create mode 100644 user/themes/antimatter/js/modernizr.custom.71422.js create mode 100644 user/themes/antimatter/js/singlePageNav.min.js create mode 100644 user/themes/antimatter/js/slidebars.min.js create mode 100644 user/themes/antimatter/languages.yaml create mode 100644 user/themes/antimatter/screenshot.jpg create mode 100755 user/themes/antimatter/scss.sh create mode 100644 user/themes/antimatter/scss/configuration/nucleus/_base.scss create mode 100644 user/themes/antimatter/scss/configuration/nucleus/_breakpoints.scss create mode 100644 user/themes/antimatter/scss/configuration/nucleus/_core.scss create mode 100644 user/themes/antimatter/scss/configuration/nucleus/_layout.scss create mode 100644 user/themes/antimatter/scss/configuration/nucleus/_nav.scss create mode 100644 user/themes/antimatter/scss/configuration/nucleus/_typography.scss create mode 100644 user/themes/antimatter/scss/configuration/template/_base.scss create mode 100644 user/themes/antimatter/scss/configuration/template/_bullets.scss create mode 100644 user/themes/antimatter/scss/configuration/template/_colors.scss create mode 100644 user/themes/antimatter/scss/configuration/template/_typography.scss create mode 100644 user/themes/antimatter/scss/configuration/template/_variables.scss create mode 100644 user/themes/antimatter/scss/nucleus.scss create mode 100644 user/themes/antimatter/scss/nucleus/_core.scss create mode 100644 user/themes/antimatter/scss/nucleus/_flex.scss create mode 100644 user/themes/antimatter/scss/nucleus/_forms.scss create mode 100644 user/themes/antimatter/scss/nucleus/_typography.scss create mode 100644 user/themes/antimatter/scss/nucleus/functions/_base.scss create mode 100644 user/themes/antimatter/scss/nucleus/functions/_direction.scss create mode 100644 user/themes/antimatter/scss/nucleus/functions/_range.scss create mode 100644 user/themes/antimatter/scss/nucleus/mixins/_base.scss create mode 100644 user/themes/antimatter/scss/nucleus/mixins/_breakpoints.scss create mode 100644 user/themes/antimatter/scss/nucleus/mixins/_utilities.scss create mode 100644 user/themes/antimatter/scss/nucleus/particles/_align-text.scss create mode 100644 user/themes/antimatter/scss/nucleus/particles/_visibility.scss create mode 100644 user/themes/antimatter/scss/particles.scss create mode 100644 user/themes/antimatter/scss/template.scss create mode 100644 user/themes/antimatter/scss/template/_blog.scss create mode 100644 user/themes/antimatter/scss/template/_bullets.scss create mode 100644 user/themes/antimatter/scss/template/_buttons.scss create mode 100644 user/themes/antimatter/scss/template/_core.scss create mode 100644 user/themes/antimatter/scss/template/_custom.scss create mode 100644 user/themes/antimatter/scss/template/_errors.scss create mode 100644 user/themes/antimatter/scss/template/_extensions.scss create mode 100644 user/themes/antimatter/scss/template/_fonts.scss create mode 100644 user/themes/antimatter/scss/template/_footer.scss create mode 100644 user/themes/antimatter/scss/template/_forms.scss create mode 100644 user/themes/antimatter/scss/template/_header.scss create mode 100644 user/themes/antimatter/scss/template/_panel.scss create mode 100644 user/themes/antimatter/scss/template/_simplesearch.scss create mode 100644 user/themes/antimatter/scss/template/_tables.scss create mode 100644 user/themes/antimatter/scss/template/_typography.scss create mode 100644 user/themes/antimatter/scss/template/modular/_all.scss create mode 100644 user/themes/antimatter/scss/template/modular/_features.scss create mode 100644 user/themes/antimatter/scss/template/modular/_showcase.scss create mode 100644 user/themes/antimatter/scss/template/modular/_text.scss create mode 100644 user/themes/antimatter/scss/template/modules/_base.scss create mode 100644 user/themes/antimatter/scss/template/modules/_buttons.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/_bourbon-deprecated-upcoming.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/_bourbon.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/addons/_button.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/addons/_clearfix.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/addons/_directional-values.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/addons/_ellipsis.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/addons/_font-family.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/addons/_hide-text.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/addons/_html5-input-types.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/addons/_position.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/addons/_prefixer.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/addons/_rem.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/addons/_retina-image.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/addons/_size.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/addons/_timing-functions.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/addons/_triangle.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/addons/_word-wrap.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/css3/_animation.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/css3/_appearance.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/css3/_backface-visibility.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/css3/_background-image.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/css3/_background.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/css3/_border-image.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/css3/_border-radius.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/css3/_box-sizing.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/css3/_calc.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/css3/_columns.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/css3/_filter.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/css3/_flex-box.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/css3/_font-face.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/css3/_font-feature-settings.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/css3/_hidpi-media-query.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/css3/_hyphens.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/css3/_image-rendering.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/css3/_keyframes.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/css3/_linear-gradient.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/css3/_perspective.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/css3/_placeholder.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/css3/_radial-gradient.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/css3/_transform.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/css3/_transition.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/css3/_user-select.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/functions/_assign.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/functions/_color-lightness.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/functions/_flex-grid.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/functions/_golden-ratio.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/functions/_grid-width.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/functions/_modular-scale.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/functions/_px-to-em.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/functions/_px-to-rem.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/functions/_strip-units.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/functions/_tint-shade.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/functions/_transition-property-name.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/functions/_unpack.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/helpers/_convert-units.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/helpers/_gradient-positions-parser.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/helpers/_is-num.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/helpers/_linear-angle-parser.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/helpers/_linear-gradient-parser.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/helpers/_linear-positions-parser.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/helpers/_linear-side-corner-parser.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/helpers/_radial-arg-parser.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/helpers/_radial-gradient-parser.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/helpers/_radial-positions-parser.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/helpers/_render-gradients.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/helpers/_shape-size-stripper.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/helpers/_str-to-num.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/settings/_prefixer.scss create mode 100644 user/themes/antimatter/scss/vendor/bourbon/settings/_px-to-em.scss create mode 100644 user/themes/antimatter/scss/vendor/color-schemer/_color-schemer.scss create mode 100644 user/themes/antimatter/scss/vendor/color-schemer/color-schemer/_cmyk.scss create mode 100644 user/themes/antimatter/scss/vendor/color-schemer/color-schemer/_color-adjustments.scss create mode 100644 user/themes/antimatter/scss/vendor/color-schemer/color-schemer/_color-schemer.scss create mode 100644 user/themes/antimatter/scss/vendor/color-schemer/color-schemer/_colorblind.scss create mode 100644 user/themes/antimatter/scss/vendor/color-schemer/color-schemer/_comparison.scss create mode 100644 user/themes/antimatter/scss/vendor/color-schemer/color-schemer/_equalize.scss create mode 100644 user/themes/antimatter/scss/vendor/color-schemer/color-schemer/_harmonize.scss create mode 100644 user/themes/antimatter/scss/vendor/color-schemer/color-schemer/_interpolation.scss create mode 100644 user/themes/antimatter/scss/vendor/color-schemer/color-schemer/_mix.scss create mode 100644 user/themes/antimatter/scss/vendor/color-schemer/color-schemer/_mixins.scss create mode 100644 user/themes/antimatter/scss/vendor/color-schemer/color-schemer/_ryb.scss create mode 100644 user/themes/antimatter/scss/vendor/color-schemer/color-schemer/_tint-shade.scss create mode 100644 user/themes/antimatter/templates/blog.html.twig create mode 100644 user/themes/antimatter/templates/default.html.twig create mode 100644 user/themes/antimatter/templates/error.html.twig create mode 100644 user/themes/antimatter/templates/form.html.twig create mode 100644 user/themes/antimatter/templates/item.html.twig create mode 100644 user/themes/antimatter/templates/macros/macros.html.twig create mode 100644 user/themes/antimatter/templates/modular.html.twig create mode 100644 user/themes/antimatter/templates/modular/features.html.twig create mode 100644 user/themes/antimatter/templates/modular/showcase.html.twig create mode 100644 user/themes/antimatter/templates/modular/text.html.twig create mode 100644 user/themes/antimatter/templates/partials/base.html.twig create mode 100644 user/themes/antimatter/templates/partials/blog_item.html.twig create mode 100644 user/themes/antimatter/templates/partials/metadata.html.twig create mode 100644 user/themes/antimatter/templates/partials/navigation.html.twig create mode 100644 user/themes/antimatter/templates/partials/sidebar.html.twig create mode 100644 user/themes/antimatter/thumbnail.jpg create mode 100644 user/themes/ethica/.gitkeep create mode 100644 user/themes/ethica/.sass-cache/0c5691a65d54ab43a8e422fba3b470cd6f33b923/_base.scssc create mode 100644 user/themes/ethica/.sass-cache/0c5691a65d54ab43a8e422fba3b470cd6f33b923/_breakpoints.scssc create mode 100644 user/themes/ethica/.sass-cache/0c5691a65d54ab43a8e422fba3b470cd6f33b923/_core.scssc create mode 100644 user/themes/ethica/.sass-cache/0c5691a65d54ab43a8e422fba3b470cd6f33b923/_layout.scssc create mode 100644 user/themes/ethica/.sass-cache/0c5691a65d54ab43a8e422fba3b470cd6f33b923/_nav.scssc create mode 100644 user/themes/ethica/.sass-cache/0c5691a65d54ab43a8e422fba3b470cd6f33b923/_typography.scssc create mode 100644 user/themes/ethica/.sass-cache/2a9e1f2378721e4d6a569298c26bbe78a9d412da/_core.scssc create mode 100644 user/themes/ethica/.sass-cache/2a9e1f2378721e4d6a569298c26bbe78a9d412da/_flex.scssc create mode 100644 user/themes/ethica/.sass-cache/2a9e1f2378721e4d6a569298c26bbe78a9d412da/_forms.scssc create mode 100644 user/themes/ethica/.sass-cache/2a9e1f2378721e4d6a569298c26bbe78a9d412da/_typography.scssc create mode 100644 user/themes/ethica/.sass-cache/49bf684a28ba5be107911ea552c70bfbbd12f019/_prefixer.scssc create mode 100644 user/themes/ethica/.sass-cache/49bf684a28ba5be107911ea552c70bfbbd12f019/_px-to-em.scssc create mode 100644 user/themes/ethica/.sass-cache/536eae57e512366993594091228e9d6b8e88dd2f/_base.scssc create mode 100644 user/themes/ethica/.sass-cache/536eae57e512366993594091228e9d6b8e88dd2f/_direction.scssc create mode 100644 user/themes/ethica/.sass-cache/536eae57e512366993594091228e9d6b8e88dd2f/_range.scssc create mode 100644 user/themes/ethica/.sass-cache/565adaa701d072bc5add0d56dfc797b41712be28/_align-text.scssc create mode 100644 user/themes/ethica/.sass-cache/565adaa701d072bc5add0d56dfc797b41712be28/_visibility.scssc create mode 100644 user/themes/ethica/.sass-cache/5b2d012ee82a53fa229d0e04f8dbc8a7cd5e56e6/_bourbon-deprecated-upcoming.scssc create mode 100644 user/themes/ethica/.sass-cache/5b2d012ee82a53fa229d0e04f8dbc8a7cd5e56e6/_bourbon.scssc create mode 100644 user/themes/ethica/.sass-cache/5b3d80d1ae64d0130cbbb5e14d2555dddbfd0a6e/_assign.scssc create mode 100644 user/themes/ethica/.sass-cache/5b3d80d1ae64d0130cbbb5e14d2555dddbfd0a6e/_color-lightness.scssc create mode 100644 user/themes/ethica/.sass-cache/5b3d80d1ae64d0130cbbb5e14d2555dddbfd0a6e/_flex-grid.scssc create mode 100644 user/themes/ethica/.sass-cache/5b3d80d1ae64d0130cbbb5e14d2555dddbfd0a6e/_golden-ratio.scssc create mode 100644 user/themes/ethica/.sass-cache/5b3d80d1ae64d0130cbbb5e14d2555dddbfd0a6e/_grid-width.scssc create mode 100644 user/themes/ethica/.sass-cache/5b3d80d1ae64d0130cbbb5e14d2555dddbfd0a6e/_modular-scale.scssc create mode 100644 user/themes/ethica/.sass-cache/5b3d80d1ae64d0130cbbb5e14d2555dddbfd0a6e/_px-to-em.scssc create mode 100644 user/themes/ethica/.sass-cache/5b3d80d1ae64d0130cbbb5e14d2555dddbfd0a6e/_px-to-rem.scssc create mode 100644 user/themes/ethica/.sass-cache/5b3d80d1ae64d0130cbbb5e14d2555dddbfd0a6e/_strip-units.scssc create mode 100644 user/themes/ethica/.sass-cache/5b3d80d1ae64d0130cbbb5e14d2555dddbfd0a6e/_tint-shade.scssc create mode 100644 user/themes/ethica/.sass-cache/5b3d80d1ae64d0130cbbb5e14d2555dddbfd0a6e/_transition-property-name.scssc create mode 100644 user/themes/ethica/.sass-cache/5b3d80d1ae64d0130cbbb5e14d2555dddbfd0a6e/_unpack.scssc create mode 100644 user/themes/ethica/.sass-cache/5d3f3010824cbf0adf16a7f5c3fb4190c0801728/_button.scssc create mode 100644 user/themes/ethica/.sass-cache/5d3f3010824cbf0adf16a7f5c3fb4190c0801728/_clearfix.scssc create mode 100644 user/themes/ethica/.sass-cache/5d3f3010824cbf0adf16a7f5c3fb4190c0801728/_directional-values.scssc create mode 100644 user/themes/ethica/.sass-cache/5d3f3010824cbf0adf16a7f5c3fb4190c0801728/_ellipsis.scssc create mode 100644 user/themes/ethica/.sass-cache/5d3f3010824cbf0adf16a7f5c3fb4190c0801728/_font-family.scssc create mode 100644 user/themes/ethica/.sass-cache/5d3f3010824cbf0adf16a7f5c3fb4190c0801728/_hide-text.scssc create mode 100644 user/themes/ethica/.sass-cache/5d3f3010824cbf0adf16a7f5c3fb4190c0801728/_html5-input-types.scssc create mode 100644 user/themes/ethica/.sass-cache/5d3f3010824cbf0adf16a7f5c3fb4190c0801728/_position.scssc create mode 100644 user/themes/ethica/.sass-cache/5d3f3010824cbf0adf16a7f5c3fb4190c0801728/_prefixer.scssc create mode 100644 user/themes/ethica/.sass-cache/5d3f3010824cbf0adf16a7f5c3fb4190c0801728/_retina-image.scssc create mode 100644 user/themes/ethica/.sass-cache/5d3f3010824cbf0adf16a7f5c3fb4190c0801728/_size.scssc create mode 100644 user/themes/ethica/.sass-cache/5d3f3010824cbf0adf16a7f5c3fb4190c0801728/_timing-functions.scssc create mode 100644 user/themes/ethica/.sass-cache/5d3f3010824cbf0adf16a7f5c3fb4190c0801728/_triangle.scssc create mode 100644 user/themes/ethica/.sass-cache/5d3f3010824cbf0adf16a7f5c3fb4190c0801728/_word-wrap.scssc create mode 100644 user/themes/ethica/.sass-cache/5d75cde82983c21fc8cd85da60ebf957e5bb3bbc/_all.scssc create mode 100644 user/themes/ethica/.sass-cache/5d75cde82983c21fc8cd85da60ebf957e5bb3bbc/_features.scssc create mode 100644 user/themes/ethica/.sass-cache/5d75cde82983c21fc8cd85da60ebf957e5bb3bbc/_showcase.scssc create mode 100644 user/themes/ethica/.sass-cache/5d75cde82983c21fc8cd85da60ebf957e5bb3bbc/_text.scssc create mode 100644 user/themes/ethica/.sass-cache/63bc5e60f47e9086bae720414b07e6dffa25ba27/_convert-units.scssc create mode 100644 user/themes/ethica/.sass-cache/63bc5e60f47e9086bae720414b07e6dffa25ba27/_gradient-positions-parser.scssc create mode 100644 user/themes/ethica/.sass-cache/63bc5e60f47e9086bae720414b07e6dffa25ba27/_is-num.scssc create mode 100644 user/themes/ethica/.sass-cache/63bc5e60f47e9086bae720414b07e6dffa25ba27/_linear-angle-parser.scssc create mode 100644 user/themes/ethica/.sass-cache/63bc5e60f47e9086bae720414b07e6dffa25ba27/_linear-gradient-parser.scssc create mode 100644 user/themes/ethica/.sass-cache/63bc5e60f47e9086bae720414b07e6dffa25ba27/_linear-positions-parser.scssc create mode 100644 user/themes/ethica/.sass-cache/63bc5e60f47e9086bae720414b07e6dffa25ba27/_linear-side-corner-parser.scssc create mode 100644 user/themes/ethica/.sass-cache/63bc5e60f47e9086bae720414b07e6dffa25ba27/_radial-arg-parser.scssc create mode 100644 user/themes/ethica/.sass-cache/63bc5e60f47e9086bae720414b07e6dffa25ba27/_radial-gradient-parser.scssc create mode 100644 user/themes/ethica/.sass-cache/63bc5e60f47e9086bae720414b07e6dffa25ba27/_radial-positions-parser.scssc create mode 100644 user/themes/ethica/.sass-cache/63bc5e60f47e9086bae720414b07e6dffa25ba27/_render-gradients.scssc create mode 100644 user/themes/ethica/.sass-cache/63bc5e60f47e9086bae720414b07e6dffa25ba27/_shape-size-stripper.scssc create mode 100644 user/themes/ethica/.sass-cache/63bc5e60f47e9086bae720414b07e6dffa25ba27/_str-to-num.scssc create mode 100644 user/themes/ethica/.sass-cache/6820bf4e84d0a6a18edb04591c928176c6831ca7/_base.scssc create mode 100644 user/themes/ethica/.sass-cache/6820bf4e84d0a6a18edb04591c928176c6831ca7/_breakpoints.scssc create mode 100644 user/themes/ethica/.sass-cache/6820bf4e84d0a6a18edb04591c928176c6831ca7/_utilities.scssc create mode 100644 user/themes/ethica/.sass-cache/86be4af094757f4d8d2112faede9eb354348f84d/_base.scssc create mode 100644 user/themes/ethica/.sass-cache/86be4af094757f4d8d2112faede9eb354348f84d/_buttons.scssc create mode 100644 user/themes/ethica/.sass-cache/98360c6b04594b87234fd347b2e081b0115deb52/_base.scssc create mode 100644 user/themes/ethica/.sass-cache/98360c6b04594b87234fd347b2e081b0115deb52/_bullets.scssc create mode 100644 user/themes/ethica/.sass-cache/98360c6b04594b87234fd347b2e081b0115deb52/_colors.scssc create mode 100644 user/themes/ethica/.sass-cache/98360c6b04594b87234fd347b2e081b0115deb52/_reset.scssc create mode 100644 user/themes/ethica/.sass-cache/98360c6b04594b87234fd347b2e081b0115deb52/_typography.scssc create mode 100644 user/themes/ethica/.sass-cache/98360c6b04594b87234fd347b2e081b0115deb52/_variables.scssc create mode 100644 user/themes/ethica/.sass-cache/c531ff383acdb1ce8b433b16ea462efaa4ad0cf4/nucleus.scssc create mode 100644 user/themes/ethica/.sass-cache/c531ff383acdb1ce8b433b16ea462efaa4ad0cf4/particles.scssc create mode 100644 user/themes/ethica/.sass-cache/c531ff383acdb1ce8b433b16ea462efaa4ad0cf4/template.scssc create mode 100644 user/themes/ethica/.sass-cache/c9219b5b29faf0ae558d1ebb14e0e138aedf7913/_animation.scssc create mode 100644 user/themes/ethica/.sass-cache/c9219b5b29faf0ae558d1ebb14e0e138aedf7913/_appearance.scssc create mode 100644 user/themes/ethica/.sass-cache/c9219b5b29faf0ae558d1ebb14e0e138aedf7913/_backface-visibility.scssc create mode 100644 user/themes/ethica/.sass-cache/c9219b5b29faf0ae558d1ebb14e0e138aedf7913/_background-image.scssc create mode 100644 user/themes/ethica/.sass-cache/c9219b5b29faf0ae558d1ebb14e0e138aedf7913/_background.scssc create mode 100644 user/themes/ethica/.sass-cache/c9219b5b29faf0ae558d1ebb14e0e138aedf7913/_border-image.scssc create mode 100644 user/themes/ethica/.sass-cache/c9219b5b29faf0ae558d1ebb14e0e138aedf7913/_border-radius.scssc create mode 100644 user/themes/ethica/.sass-cache/c9219b5b29faf0ae558d1ebb14e0e138aedf7913/_box-sizing.scssc create mode 100644 user/themes/ethica/.sass-cache/c9219b5b29faf0ae558d1ebb14e0e138aedf7913/_calc.scssc create mode 100644 user/themes/ethica/.sass-cache/c9219b5b29faf0ae558d1ebb14e0e138aedf7913/_columns.scssc create mode 100644 user/themes/ethica/.sass-cache/c9219b5b29faf0ae558d1ebb14e0e138aedf7913/_filter.scssc create mode 100644 user/themes/ethica/.sass-cache/c9219b5b29faf0ae558d1ebb14e0e138aedf7913/_flex-box.scssc create mode 100644 user/themes/ethica/.sass-cache/c9219b5b29faf0ae558d1ebb14e0e138aedf7913/_font-face.scssc create mode 100644 user/themes/ethica/.sass-cache/c9219b5b29faf0ae558d1ebb14e0e138aedf7913/_hidpi-media-query.scssc create mode 100644 user/themes/ethica/.sass-cache/c9219b5b29faf0ae558d1ebb14e0e138aedf7913/_hyphens.scssc create mode 100644 user/themes/ethica/.sass-cache/c9219b5b29faf0ae558d1ebb14e0e138aedf7913/_image-rendering.scssc create mode 100644 user/themes/ethica/.sass-cache/c9219b5b29faf0ae558d1ebb14e0e138aedf7913/_keyframes.scssc create mode 100644 user/themes/ethica/.sass-cache/c9219b5b29faf0ae558d1ebb14e0e138aedf7913/_linear-gradient.scssc create mode 100644 user/themes/ethica/.sass-cache/c9219b5b29faf0ae558d1ebb14e0e138aedf7913/_perspective.scssc create mode 100644 user/themes/ethica/.sass-cache/c9219b5b29faf0ae558d1ebb14e0e138aedf7913/_placeholder.scssc create mode 100644 user/themes/ethica/.sass-cache/c9219b5b29faf0ae558d1ebb14e0e138aedf7913/_radial-gradient.scssc create mode 100644 user/themes/ethica/.sass-cache/c9219b5b29faf0ae558d1ebb14e0e138aedf7913/_transform.scssc create mode 100644 user/themes/ethica/.sass-cache/c9219b5b29faf0ae558d1ebb14e0e138aedf7913/_transition.scssc create mode 100644 user/themes/ethica/.sass-cache/c9219b5b29faf0ae558d1ebb14e0e138aedf7913/_user-select.scssc create mode 100644 user/themes/ethica/.sass-cache/d21c077d8558277f80cee488040e9283d7800202/_blog.scssc create mode 100644 user/themes/ethica/.sass-cache/d21c077d8558277f80cee488040e9283d7800202/_bullets.scssc create mode 100644 user/themes/ethica/.sass-cache/d21c077d8558277f80cee488040e9283d7800202/_buttons.scssc create mode 100644 user/themes/ethica/.sass-cache/d21c077d8558277f80cee488040e9283d7800202/_core.scssc create mode 100644 user/themes/ethica/.sass-cache/d21c077d8558277f80cee488040e9283d7800202/_custom.scssc create mode 100644 user/themes/ethica/.sass-cache/d21c077d8558277f80cee488040e9283d7800202/_errors.scssc create mode 100644 user/themes/ethica/.sass-cache/d21c077d8558277f80cee488040e9283d7800202/_extensions.scssc create mode 100644 user/themes/ethica/.sass-cache/d21c077d8558277f80cee488040e9283d7800202/_font.scssc create mode 100644 user/themes/ethica/.sass-cache/d21c077d8558277f80cee488040e9283d7800202/_fonts.scssc create mode 100644 user/themes/ethica/.sass-cache/d21c077d8558277f80cee488040e9283d7800202/_footer.scssc create mode 100644 user/themes/ethica/.sass-cache/d21c077d8558277f80cee488040e9283d7800202/_forms.scssc create mode 100644 user/themes/ethica/.sass-cache/d21c077d8558277f80cee488040e9283d7800202/_header.scssc create mode 100644 user/themes/ethica/.sass-cache/d21c077d8558277f80cee488040e9283d7800202/_images.scssc create mode 100644 user/themes/ethica/.sass-cache/d21c077d8558277f80cee488040e9283d7800202/_panel.scssc create mode 100644 user/themes/ethica/.sass-cache/d21c077d8558277f80cee488040e9283d7800202/_section.scssc create mode 100644 user/themes/ethica/.sass-cache/d21c077d8558277f80cee488040e9283d7800202/_simplesearch.scssc create mode 100644 user/themes/ethica/.sass-cache/d21c077d8558277f80cee488040e9283d7800202/_tables.scssc create mode 100644 user/themes/ethica/.sass-cache/d21c077d8558277f80cee488040e9283d7800202/_typography.scssc create mode 100644 user/themes/ethica/CHANGELOG.md create mode 100644 user/themes/ethica/LICENSE create mode 100644 user/themes/ethica/README.md create mode 100644 user/themes/ethica/assets/readme_1.png create mode 100644 user/themes/ethica/blueprints.yaml create mode 100644 user/themes/ethica/blueprints/asset/file.yaml create mode 100644 user/themes/ethica/blueprints/blog.yaml create mode 100644 user/themes/ethica/blueprints/form.yaml create mode 100644 user/themes/ethica/blueprints/item.yaml create mode 100644 user/themes/ethica/blueprints/modular/features.yaml create mode 100644 user/themes/ethica/blueprints/modular/showcase.yaml create mode 100644 user/themes/ethica/blueprints/modular/text.yaml create mode 100644 user/themes/ethica/css-compiled/nucleus.css create mode 100644 user/themes/ethica/css-compiled/nucleus.css.map create mode 100644 user/themes/ethica/css-compiled/particles.css create mode 100644 user/themes/ethica/css-compiled/particles.css.map create mode 100644 user/themes/ethica/css-compiled/template.css create mode 100644 user/themes/ethica/css-compiled/template.css.map create mode 100644 user/themes/ethica/css/font-awesome.min.css create mode 100644 user/themes/ethica/css/jquery.bxslider.css create mode 100644 user/themes/ethica/css/jquery.mCustomScrollbar.css create mode 100644 user/themes/ethica/css/media-queries.css create mode 100644 user/themes/ethica/css/style.css create mode 100644 user/themes/ethica/ethica.php create mode 100644 user/themes/ethica/ethica.yaml create mode 100644 user/themes/ethica/fonts/amiri/amiri-bold-webfont.svg create mode 100644 user/themes/ethica/fonts/amiri/amiri-bold-webfont.ttf create mode 100644 user/themes/ethica/fonts/amiri/amiri-bold-webfont.woff create mode 100644 user/themes/ethica/fonts/amiri/amiri-bold-webfont.woff2 create mode 100644 user/themes/ethica/fonts/amiri/amiri-boldslanted-webfont.svg create mode 100644 user/themes/ethica/fonts/amiri/amiri-boldslanted-webfont.ttf create mode 100644 user/themes/ethica/fonts/amiri/amiri-boldslanted-webfont.woff create mode 100644 user/themes/ethica/fonts/amiri/amiri-boldslanted-webfont.woff2 create mode 100644 user/themes/ethica/fonts/amiri/amiri-regular-webfont.svg create mode 100644 user/themes/ethica/fonts/amiri/amiri-regular-webfont.ttf create mode 100644 user/themes/ethica/fonts/amiri/amiri-regular-webfont.woff create mode 100644 user/themes/ethica/fonts/amiri/amiri-regular-webfont.woff2 create mode 100644 user/themes/ethica/fonts/amiri/amiri-slanted-webfont.svg create mode 100644 user/themes/ethica/fonts/amiri/amiri-slanted-webfont.woff create mode 100644 user/themes/ethica/fonts/amiri/amiri-slanted-webfont.woff2 create mode 100644 user/themes/ethica/fonts/amiri/stylesheet.css create mode 100644 user/themes/ethica/fonts/fontawesome-webfont.eot create mode 100644 user/themes/ethica/fonts/fontawesome-webfont.svg create mode 100644 user/themes/ethica/fonts/fontawesome-webfont.ttf create mode 100644 user/themes/ethica/fonts/fontawesome-webfont.woff create mode 100644 user/themes/ethica/fonts/fontawesome-webfont.woff2 create mode 100644 user/themes/ethica/images/croix.svg create mode 100644 user/themes/ethica/images/favicon.png create mode 100644 user/themes/ethica/images/fleche.svg create mode 100644 user/themes/ethica/images/fleche_g.svg create mode 100644 user/themes/ethica/images/logo.png create mode 100644 user/themes/ethica/images/logo.svg create mode 100644 user/themes/ethica/images/menu-ui.svg create mode 100644 user/themes/ethica/images/point.svg create mode 100644 user/themes/ethica/images/point_b.svg create mode 100644 user/themes/ethica/images/trait.svg create mode 100644 user/themes/ethica/js/hammer.min.js create mode 100644 user/themes/ethica/js/jquery.bxslider.min.js create mode 100644 user/themes/ethica/js/jquery.mCustomScrollbar.concat.min.js create mode 100644 user/themes/ethica/js/jquery.mobile.custom.min.js create mode 100644 user/themes/ethica/js/jquery.touchSwipe.min.js create mode 100644 user/themes/ethica/js/main-swipe.js create mode 100644 user/themes/ethica/js/script-fullpage.js create mode 100644 user/themes/ethica/js/script.js create mode 100644 user/themes/ethica/languages.yaml create mode 100644 user/themes/ethica/screenshot.jpg create mode 100644 user/themes/ethica/scss.sh create mode 100644 user/themes/ethica/scss/configuration/nucleus/_base.scss create mode 100644 user/themes/ethica/scss/configuration/nucleus/_breakpoints.scss create mode 100644 user/themes/ethica/scss/configuration/nucleus/_core.scss create mode 100644 user/themes/ethica/scss/configuration/nucleus/_layout.scss create mode 100644 user/themes/ethica/scss/configuration/nucleus/_nav.scss create mode 100644 user/themes/ethica/scss/configuration/nucleus/_typography.scss create mode 100644 user/themes/ethica/scss/configuration/template/_base.scss create mode 100644 user/themes/ethica/scss/configuration/template/_colors.scss create mode 100644 user/themes/ethica/scss/configuration/template/_reset.scss create mode 100644 user/themes/ethica/scss/configuration/template/_typography.scss create mode 100644 user/themes/ethica/scss/configuration/template/_variables.scss create mode 100644 user/themes/ethica/scss/nucleus.scss create mode 100644 user/themes/ethica/scss/nucleus/_core.scss create mode 100644 user/themes/ethica/scss/nucleus/_flex.scss create mode 100644 user/themes/ethica/scss/nucleus/_forms.scss create mode 100644 user/themes/ethica/scss/nucleus/_typography.scss create mode 100644 user/themes/ethica/scss/nucleus/functions/_base.scss create mode 100644 user/themes/ethica/scss/nucleus/functions/_direction.scss create mode 100644 user/themes/ethica/scss/nucleus/functions/_range.scss create mode 100644 user/themes/ethica/scss/nucleus/mixins/_base.scss create mode 100644 user/themes/ethica/scss/nucleus/mixins/_breakpoints.scss create mode 100644 user/themes/ethica/scss/nucleus/mixins/_utilities.scss create mode 100644 user/themes/ethica/scss/nucleus/particles/_align-text.scss create mode 100644 user/themes/ethica/scss/nucleus/particles/_visibility.scss create mode 100644 user/themes/ethica/scss/particles.scss create mode 100644 user/themes/ethica/scss/template.scss create mode 100644 user/themes/ethica/scss/template/_blog.scss create mode 100644 user/themes/ethica/scss/template/_bullets.scss create mode 100644 user/themes/ethica/scss/template/_buttons.scss create mode 100644 user/themes/ethica/scss/template/_core.scss create mode 100644 user/themes/ethica/scss/template/_custom.scss create mode 100644 user/themes/ethica/scss/template/_errors.scss create mode 100644 user/themes/ethica/scss/template/_extensions.scss create mode 100644 user/themes/ethica/scss/template/_font.scss create mode 100644 user/themes/ethica/scss/template/_fonts.scss create mode 100644 user/themes/ethica/scss/template/_footer.scss create mode 100644 user/themes/ethica/scss/template/_forms.scss create mode 100644 user/themes/ethica/scss/template/_header.scss create mode 100644 user/themes/ethica/scss/template/_images.scss create mode 100644 user/themes/ethica/scss/template/_panel.scss create mode 100644 user/themes/ethica/scss/template/_section.scss create mode 100644 user/themes/ethica/scss/template/_simplesearch.scss create mode 100644 user/themes/ethica/scss/template/_tables.scss create mode 100644 user/themes/ethica/scss/template/_typography.scss create mode 100644 user/themes/ethica/scss/template/modular/_all.scss create mode 100644 user/themes/ethica/scss/template/modular/_features.scss create mode 100644 user/themes/ethica/scss/template/modular/_showcase.scss create mode 100644 user/themes/ethica/scss/template/modular/_text.scss create mode 100644 user/themes/ethica/scss/template/modules/_base.scss create mode 100644 user/themes/ethica/scss/template/modules/_buttons.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/_bourbon-deprecated-upcoming.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/_bourbon.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/addons/_button.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/addons/_clearfix.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/addons/_directional-values.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/addons/_ellipsis.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/addons/_font-family.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/addons/_hide-text.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/addons/_html5-input-types.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/addons/_position.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/addons/_prefixer.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/addons/_rem.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/addons/_retina-image.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/addons/_size.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/addons/_timing-functions.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/addons/_triangle.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/addons/_word-wrap.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/css3/_animation.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/css3/_appearance.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/css3/_backface-visibility.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/css3/_background-image.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/css3/_background.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/css3/_border-image.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/css3/_border-radius.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/css3/_box-sizing.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/css3/_calc.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/css3/_columns.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/css3/_filter.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/css3/_flex-box.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/css3/_font-face.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/css3/_font-feature-settings.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/css3/_hidpi-media-query.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/css3/_hyphens.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/css3/_image-rendering.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/css3/_keyframes.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/css3/_linear-gradient.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/css3/_perspective.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/css3/_placeholder.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/css3/_radial-gradient.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/css3/_transform.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/css3/_transition.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/css3/_user-select.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/functions/_assign.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/functions/_color-lightness.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/functions/_flex-grid.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/functions/_golden-ratio.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/functions/_grid-width.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/functions/_modular-scale.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/functions/_px-to-em.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/functions/_px-to-rem.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/functions/_strip-units.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/functions/_tint-shade.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/functions/_transition-property-name.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/functions/_unpack.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/helpers/_convert-units.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/helpers/_gradient-positions-parser.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/helpers/_is-num.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/helpers/_linear-angle-parser.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/helpers/_linear-gradient-parser.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/helpers/_linear-positions-parser.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/helpers/_linear-side-corner-parser.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/helpers/_radial-arg-parser.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/helpers/_radial-gradient-parser.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/helpers/_radial-positions-parser.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/helpers/_render-gradients.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/helpers/_shape-size-stripper.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/helpers/_str-to-num.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/settings/_prefixer.scss create mode 100644 user/themes/ethica/scss/vendor/bourbon/settings/_px-to-em.scss create mode 100644 user/themes/ethica/scss/vendor/color-schemer/_color-schemer.scss create mode 100644 user/themes/ethica/scss/vendor/color-schemer/color-schemer/_cmyk.scss create mode 100644 user/themes/ethica/scss/vendor/color-schemer/color-schemer/_color-adjustments.scss create mode 100644 user/themes/ethica/scss/vendor/color-schemer/color-schemer/_color-schemer.scss create mode 100644 user/themes/ethica/scss/vendor/color-schemer/color-schemer/_colorblind.scss create mode 100644 user/themes/ethica/scss/vendor/color-schemer/color-schemer/_comparison.scss create mode 100644 user/themes/ethica/scss/vendor/color-schemer/color-schemer/_equalize.scss create mode 100644 user/themes/ethica/scss/vendor/color-schemer/color-schemer/_harmonize.scss create mode 100644 user/themes/ethica/scss/vendor/color-schemer/color-schemer/_interpolation.scss create mode 100644 user/themes/ethica/scss/vendor/color-schemer/color-schemer/_mix.scss create mode 100644 user/themes/ethica/scss/vendor/color-schemer/color-schemer/_mixins.scss create mode 100644 user/themes/ethica/scss/vendor/color-schemer/color-schemer/_ryb.scss create mode 100644 user/themes/ethica/scss/vendor/color-schemer/color-schemer/_tint-shade.scss create mode 100644 user/themes/ethica/templates/blog.html.twig create mode 100644 user/themes/ethica/templates/default.html.twig create mode 100644 user/themes/ethica/templates/error.html.twig create mode 100644 user/themes/ethica/templates/form.html.twig create mode 100644 user/themes/ethica/templates/home.html.twig create mode 100644 user/themes/ethica/templates/item.html.twig create mode 100644 user/themes/ethica/templates/macros/macros.html.twig create mode 100644 user/themes/ethica/templates/modular/accueil.html.twig create mode 100644 user/themes/ethica/templates/modular/article.html.twig create mode 100644 user/themes/ethica/templates/modular/contenu-accueil.html.twig create mode 100644 user/themes/ethica/templates/modular/contenu-actualite.html.twig create mode 100644 user/themes/ethica/templates/modular/contenu-multi.html.twig create mode 100644 user/themes/ethica/templates/modular/contenu-recherche.html.twig create mode 100644 user/themes/ethica/templates/modular/contenu.html.twig create mode 100644 user/themes/ethica/templates/modular/features.html.twig create mode 100644 user/themes/ethica/templates/modular/gallery.html.twig create mode 100644 user/themes/ethica/templates/modular/page-actuatlites.html.twig create mode 100644 user/themes/ethica/templates/modular/showcase.html.twig create mode 100644 user/themes/ethica/templates/partials/base.html.twig create mode 100644 user/themes/ethica/templates/partials/blog_item.html.twig create mode 100644 user/themes/ethica/templates/partials/langswitcher.html.twig create mode 100644 user/themes/ethica/templates/partials/metadata.html.twig create mode 100644 user/themes/ethica/templates/partials/navigation.html.twig create mode 100644 user/themes/ethica/templates/partials/sidebar.html.twig create mode 100644 user/themes/ethica/thumbnail.jpg create mode 100644 vendor/antoligy/dom-string-iterators/README.md create mode 100644 vendor/antoligy/dom-string-iterators/src/DOMLettersIterator.php create mode 100644 vendor/antoligy/dom-string-iterators/src/DOMWordsIterator.php create mode 100644 vendor/autoload.php create mode 100644 vendor/composer/ClassLoader.php create mode 100644 vendor/composer/LICENSE create mode 100644 vendor/composer/autoload_classmap.php create mode 100644 vendor/composer/autoload_files.php create mode 100644 vendor/composer/autoload_namespaces.php create mode 100644 vendor/composer/autoload_psr4.php create mode 100644 vendor/composer/autoload_real.php create mode 100644 vendor/composer/autoload_static.php create mode 100644 vendor/composer/ca-bundle/LICENSE create mode 100644 vendor/composer/ca-bundle/README.md create mode 100644 vendor/composer/ca-bundle/composer.json create mode 100644 vendor/composer/ca-bundle/res/cacert.pem create mode 100644 vendor/composer/ca-bundle/src/CaBundle.php create mode 100644 vendor/composer/installed.json create mode 100644 vendor/doctrine/cache/LICENSE create mode 100644 vendor/doctrine/cache/README.md create mode 100644 vendor/doctrine/cache/UPGRADE.md create mode 100644 vendor/doctrine/cache/lib/Doctrine/Common/Cache/ApcCache.php create mode 100644 vendor/doctrine/cache/lib/Doctrine/Common/Cache/ApcuCache.php create mode 100644 vendor/doctrine/cache/lib/Doctrine/Common/Cache/ArrayCache.php create mode 100644 vendor/doctrine/cache/lib/Doctrine/Common/Cache/Cache.php create mode 100644 vendor/doctrine/cache/lib/Doctrine/Common/Cache/CacheProvider.php create mode 100644 vendor/doctrine/cache/lib/Doctrine/Common/Cache/ChainCache.php create mode 100644 vendor/doctrine/cache/lib/Doctrine/Common/Cache/ClearableCache.php create mode 100644 vendor/doctrine/cache/lib/Doctrine/Common/Cache/CouchbaseCache.php create mode 100644 vendor/doctrine/cache/lib/Doctrine/Common/Cache/FileCache.php create mode 100644 vendor/doctrine/cache/lib/Doctrine/Common/Cache/FilesystemCache.php create mode 100644 vendor/doctrine/cache/lib/Doctrine/Common/Cache/FlushableCache.php create mode 100644 vendor/doctrine/cache/lib/Doctrine/Common/Cache/MemcacheCache.php create mode 100644 vendor/doctrine/cache/lib/Doctrine/Common/Cache/MemcachedCache.php create mode 100644 vendor/doctrine/cache/lib/Doctrine/Common/Cache/MongoDBCache.php create mode 100644 vendor/doctrine/cache/lib/Doctrine/Common/Cache/MultiGetCache.php create mode 100644 vendor/doctrine/cache/lib/Doctrine/Common/Cache/MultiPutCache.php create mode 100644 vendor/doctrine/cache/lib/Doctrine/Common/Cache/PhpFileCache.php create mode 100644 vendor/doctrine/cache/lib/Doctrine/Common/Cache/PredisCache.php create mode 100644 vendor/doctrine/cache/lib/Doctrine/Common/Cache/RedisCache.php create mode 100644 vendor/doctrine/cache/lib/Doctrine/Common/Cache/RiakCache.php create mode 100644 vendor/doctrine/cache/lib/Doctrine/Common/Cache/SQLite3Cache.php create mode 100644 vendor/doctrine/cache/lib/Doctrine/Common/Cache/Version.php create mode 100644 vendor/doctrine/cache/lib/Doctrine/Common/Cache/VoidCache.php create mode 100644 vendor/doctrine/cache/lib/Doctrine/Common/Cache/WinCacheCache.php create mode 100644 vendor/doctrine/cache/lib/Doctrine/Common/Cache/XcacheCache.php create mode 100644 vendor/doctrine/cache/lib/Doctrine/Common/Cache/ZendDataCache.php create mode 100644 vendor/doctrine/collections/LICENSE create mode 100644 vendor/doctrine/collections/README.md create mode 100644 vendor/doctrine/collections/lib/Doctrine/Common/Collections/AbstractLazyCollection.php create mode 100644 vendor/doctrine/collections/lib/Doctrine/Common/Collections/ArrayCollection.php create mode 100644 vendor/doctrine/collections/lib/Doctrine/Common/Collections/Collection.php create mode 100644 vendor/doctrine/collections/lib/Doctrine/Common/Collections/Criteria.php create mode 100644 vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/ClosureExpressionVisitor.php create mode 100644 vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Comparison.php create mode 100644 vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/CompositeExpression.php create mode 100644 vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Expression.php create mode 100644 vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/ExpressionVisitor.php create mode 100644 vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Value.php create mode 100644 vendor/doctrine/collections/lib/Doctrine/Common/Collections/ExpressionBuilder.php create mode 100644 vendor/doctrine/collections/lib/Doctrine/Common/Collections/Selectable.php create mode 100644 vendor/donatj/phpuseragentparser/CONTRIBUTING.md create mode 100644 vendor/donatj/phpuseragentparser/LICENSE.md create mode 100644 vendor/donatj/phpuseragentparser/README.md create mode 100644 vendor/donatj/phpuseragentparser/Source/UserAgentParser.php create mode 100644 vendor/erusev/parsedown-extra/LICENSE.txt create mode 100644 vendor/erusev/parsedown-extra/ParsedownExtra.php create mode 100644 vendor/erusev/parsedown-extra/README.md create mode 100644 vendor/erusev/parsedown/LICENSE.txt create mode 100644 vendor/erusev/parsedown/Parsedown.php create mode 100644 vendor/erusev/parsedown/README.md create mode 100644 vendor/filp/whoops/CHANGELOG.md create mode 100644 vendor/filp/whoops/LICENSE.md create mode 100644 vendor/filp/whoops/src/Whoops/Exception/ErrorException.php create mode 100644 vendor/filp/whoops/src/Whoops/Exception/Formatter.php create mode 100644 vendor/filp/whoops/src/Whoops/Exception/Frame.php create mode 100644 vendor/filp/whoops/src/Whoops/Exception/FrameCollection.php create mode 100644 vendor/filp/whoops/src/Whoops/Exception/Inspector.php create mode 100644 vendor/filp/whoops/src/Whoops/Handler/CallbackHandler.php create mode 100644 vendor/filp/whoops/src/Whoops/Handler/Handler.php create mode 100644 vendor/filp/whoops/src/Whoops/Handler/HandlerInterface.php create mode 100644 vendor/filp/whoops/src/Whoops/Handler/JsonResponseHandler.php create mode 100644 vendor/filp/whoops/src/Whoops/Handler/PlainTextHandler.php create mode 100644 vendor/filp/whoops/src/Whoops/Handler/PrettyPageHandler.php create mode 100644 vendor/filp/whoops/src/Whoops/Handler/XmlResponseHandler.php create mode 100644 vendor/filp/whoops/src/Whoops/Resources/css/whoops.base.css create mode 100644 vendor/filp/whoops/src/Whoops/Resources/js/clipboard.min.js create mode 100644 vendor/filp/whoops/src/Whoops/Resources/js/whoops.base.js create mode 100644 vendor/filp/whoops/src/Whoops/Resources/js/zepto.min.js create mode 100644 vendor/filp/whoops/src/Whoops/Resources/views/env_details.html.php create mode 100644 vendor/filp/whoops/src/Whoops/Resources/views/frame_code.html.php create mode 100644 vendor/filp/whoops/src/Whoops/Resources/views/frame_list.html.php create mode 100644 vendor/filp/whoops/src/Whoops/Resources/views/frames_container.html.php create mode 100644 vendor/filp/whoops/src/Whoops/Resources/views/frames_description.html.php create mode 100644 vendor/filp/whoops/src/Whoops/Resources/views/header.html.php create mode 100644 vendor/filp/whoops/src/Whoops/Resources/views/header_outer.html.php create mode 100644 vendor/filp/whoops/src/Whoops/Resources/views/layout.html.php create mode 100644 vendor/filp/whoops/src/Whoops/Resources/views/panel_details.html.php create mode 100644 vendor/filp/whoops/src/Whoops/Resources/views/panel_details_outer.html.php create mode 100644 vendor/filp/whoops/src/Whoops/Resources/views/panel_left.html.php create mode 100644 vendor/filp/whoops/src/Whoops/Resources/views/panel_left_outer.html.php create mode 100644 vendor/filp/whoops/src/Whoops/Run.php create mode 100644 vendor/filp/whoops/src/Whoops/RunInterface.php create mode 100644 vendor/filp/whoops/src/Whoops/Util/HtmlDumperOutput.php create mode 100644 vendor/filp/whoops/src/Whoops/Util/Misc.php create mode 100644 vendor/filp/whoops/src/Whoops/Util/SystemFacade.php create mode 100644 vendor/filp/whoops/src/Whoops/Util/TemplateHelper.php create mode 100644 vendor/gregwar/cache/Gregwar/Cache/Cache.php create mode 100644 vendor/gregwar/cache/Gregwar/Cache/CacheInterface.php create mode 100644 vendor/gregwar/cache/Gregwar/Cache/GarbageCollect.php create mode 100644 vendor/gregwar/cache/Gregwar/Cache/LICENSE create mode 100644 vendor/gregwar/cache/Gregwar/Cache/README.md create mode 100644 vendor/gregwar/cache/Gregwar/Cache/autoload.php create mode 100644 vendor/gregwar/image/Gregwar/Image/.php_cs create mode 100644 vendor/gregwar/image/Gregwar/Image/.styleci.yml create mode 100644 vendor/gregwar/image/Gregwar/Image/Adapter/Adapter.php create mode 100644 vendor/gregwar/image/Gregwar/Image/Adapter/AdapterInterface.php create mode 100644 vendor/gregwar/image/Gregwar/Image/Adapter/Common.php create mode 100644 vendor/gregwar/image/Gregwar/Image/Adapter/GD.php create mode 100644 vendor/gregwar/image/Gregwar/Image/Adapter/Imagick.php create mode 100644 vendor/gregwar/image/Gregwar/Image/Exceptions/GenerationError.php create mode 100644 vendor/gregwar/image/Gregwar/Image/GarbageCollect.php create mode 100644 vendor/gregwar/image/Gregwar/Image/Image.php create mode 100644 vendor/gregwar/image/Gregwar/Image/ImageColor.php create mode 100644 vendor/gregwar/image/Gregwar/Image/LICENSE create mode 100644 vendor/gregwar/image/Gregwar/Image/Makefile create mode 100644 vendor/gregwar/image/Gregwar/Image/README.md create mode 100644 vendor/gregwar/image/Gregwar/Image/Source/Create.php create mode 100644 vendor/gregwar/image/Gregwar/Image/Source/Data.php create mode 100644 vendor/gregwar/image/Gregwar/Image/Source/File.php create mode 100644 vendor/gregwar/image/Gregwar/Image/Source/Resource.php create mode 100644 vendor/gregwar/image/Gregwar/Image/Source/Source.php create mode 100644 vendor/gregwar/image/Gregwar/Image/autoload.php create mode 100644 vendor/gregwar/image/Gregwar/Image/images/error.jpg create mode 100644 vendor/gregwar/image/Gregwar/Image/phpunit.xml.dist create mode 100644 vendor/league/climate/CHANGELOG.md create mode 100644 vendor/league/climate/CONDUCT.md create mode 100644 vendor/league/climate/CONTRIBUTING.md create mode 100644 vendor/league/climate/LICENSE.md create mode 100644 vendor/league/climate/README.md create mode 100644 vendor/league/climate/src/ASCII/404.txt create mode 100644 vendor/league/climate/src/ASCII/bender.txt create mode 100644 vendor/league/climate/src/ASCII/failed.txt create mode 100644 vendor/league/climate/src/ASCII/fancy-bender.txt create mode 100644 vendor/league/climate/src/ASCII/passed.txt create mode 100644 vendor/league/climate/src/Argument/Argument.php create mode 100644 vendor/league/climate/src/Argument/Filter.php create mode 100644 vendor/league/climate/src/Argument/Manager.php create mode 100644 vendor/league/climate/src/Argument/Parser.php create mode 100644 vendor/league/climate/src/Argument/Summary.php create mode 100644 vendor/league/climate/src/CLImate.php create mode 100644 vendor/league/climate/src/Decorator/Component/BackgroundColor.php create mode 100644 vendor/league/climate/src/Decorator/Component/BaseDecorator.php create mode 100644 vendor/league/climate/src/Decorator/Component/Color.php create mode 100644 vendor/league/climate/src/Decorator/Component/Command.php create mode 100644 vendor/league/climate/src/Decorator/Component/DecoratorInterface.php create mode 100644 vendor/league/climate/src/Decorator/Component/Format.php create mode 100644 vendor/league/climate/src/Decorator/Parser/Ansi.php create mode 100644 vendor/league/climate/src/Decorator/Parser/NonAnsi.php create mode 100644 vendor/league/climate/src/Decorator/Parser/Parser.php create mode 100644 vendor/league/climate/src/Decorator/Parser/ParserFactory.php create mode 100644 vendor/league/climate/src/Decorator/Parser/ParserImporter.php create mode 100644 vendor/league/climate/src/Decorator/Style.php create mode 100644 vendor/league/climate/src/Decorator/Tags.php create mode 100644 vendor/league/climate/src/Settings/Art.php create mode 100644 vendor/league/climate/src/Settings/Manager.php create mode 100644 vendor/league/climate/src/Settings/SettingsImporter.php create mode 100644 vendor/league/climate/src/Settings/SettingsInterface.php create mode 100644 vendor/league/climate/src/TerminalObject/Basic/BasicTerminalObject.php create mode 100644 vendor/league/climate/src/TerminalObject/Basic/BasicTerminalObjectInterface.php create mode 100644 vendor/league/climate/src/TerminalObject/Basic/Border.php create mode 100644 vendor/league/climate/src/TerminalObject/Basic/Br.php create mode 100644 vendor/league/climate/src/TerminalObject/Basic/Clear.php create mode 100644 vendor/league/climate/src/TerminalObject/Basic/Columns.php create mode 100644 vendor/league/climate/src/TerminalObject/Basic/Draw.php create mode 100644 vendor/league/climate/src/TerminalObject/Basic/Dump.php create mode 100644 vendor/league/climate/src/TerminalObject/Basic/Flank.php create mode 100644 vendor/league/climate/src/TerminalObject/Basic/Inline.php create mode 100644 vendor/league/climate/src/TerminalObject/Basic/Json.php create mode 100644 vendor/league/climate/src/TerminalObject/Basic/Out.php create mode 100644 vendor/league/climate/src/TerminalObject/Basic/Repeatable.php create mode 100644 vendor/league/climate/src/TerminalObject/Basic/Tab.php create mode 100644 vendor/league/climate/src/TerminalObject/Basic/Table.php create mode 100644 vendor/league/climate/src/TerminalObject/Dynamic/Animation.php create mode 100644 vendor/league/climate/src/TerminalObject/Dynamic/Animation/Keyframe.php create mode 100644 vendor/league/climate/src/TerminalObject/Dynamic/Checkbox/Checkbox.php create mode 100644 vendor/league/climate/src/TerminalObject/Dynamic/Checkbox/CheckboxGroup.php create mode 100644 vendor/league/climate/src/TerminalObject/Dynamic/Checkbox/RadioGroup.php create mode 100644 vendor/league/climate/src/TerminalObject/Dynamic/Checkboxes.php create mode 100644 vendor/league/climate/src/TerminalObject/Dynamic/Confirm.php create mode 100644 vendor/league/climate/src/TerminalObject/Dynamic/DynamicTerminalObject.php create mode 100644 vendor/league/climate/src/TerminalObject/Dynamic/DynamicTerminalObjectInterface.php create mode 100644 vendor/league/climate/src/TerminalObject/Dynamic/Input.php create mode 100644 vendor/league/climate/src/TerminalObject/Dynamic/InputAbstract.php create mode 100644 vendor/league/climate/src/TerminalObject/Dynamic/Padding.php create mode 100644 vendor/league/climate/src/TerminalObject/Dynamic/Password.php create mode 100644 vendor/league/climate/src/TerminalObject/Dynamic/Progress.php create mode 100644 vendor/league/climate/src/TerminalObject/Dynamic/Radio.php create mode 100644 vendor/league/climate/src/TerminalObject/Helper/Art.php create mode 100644 vendor/league/climate/src/TerminalObject/Helper/Sleeper.php create mode 100644 vendor/league/climate/src/TerminalObject/Helper/SleeperInterface.php create mode 100644 vendor/league/climate/src/TerminalObject/Helper/StringLength.php create mode 100644 vendor/league/climate/src/TerminalObject/Router/BaseRouter.php create mode 100644 vendor/league/climate/src/TerminalObject/Router/BasicRouter.php create mode 100644 vendor/league/climate/src/TerminalObject/Router/DynamicRouter.php create mode 100644 vendor/league/climate/src/TerminalObject/Router/ExtensionCollection.php create mode 100644 vendor/league/climate/src/TerminalObject/Router/Router.php create mode 100644 vendor/league/climate/src/TerminalObject/Router/RouterInterface.php create mode 100644 vendor/league/climate/src/Util/Cursor.php create mode 100644 vendor/league/climate/src/Util/Helper.php create mode 100644 vendor/league/climate/src/Util/Output.php create mode 100644 vendor/league/climate/src/Util/OutputImporter.php create mode 100644 vendor/league/climate/src/Util/Reader/ReaderInterface.php create mode 100644 vendor/league/climate/src/Util/Reader/Stdin.php create mode 100644 vendor/league/climate/src/Util/System/Linux.php create mode 100644 vendor/league/climate/src/Util/System/System.php create mode 100644 vendor/league/climate/src/Util/System/SystemFactory.php create mode 100644 vendor/league/climate/src/Util/System/Windows.php create mode 100644 vendor/league/climate/src/Util/UtilFactory.php create mode 100644 vendor/league/climate/src/Util/UtilImporter.php create mode 100644 vendor/league/climate/src/Util/Writer/Buffer.php create mode 100644 vendor/league/climate/src/Util/Writer/File.php create mode 100644 vendor/league/climate/src/Util/Writer/StdErr.php create mode 100644 vendor/league/climate/src/Util/Writer/StdOut.php create mode 100644 vendor/league/climate/src/Util/Writer/WriterInterface.php create mode 100644 vendor/matthiasmullie/minify/LICENSE create mode 100644 vendor/matthiasmullie/minify/data/js/keywords_after.txt create mode 100644 vendor/matthiasmullie/minify/data/js/keywords_before.txt create mode 100644 vendor/matthiasmullie/minify/data/js/keywords_reserved.txt create mode 100644 vendor/matthiasmullie/minify/data/js/operators.txt create mode 100644 vendor/matthiasmullie/minify/data/js/operators_after.txt create mode 100644 vendor/matthiasmullie/minify/data/js/operators_before.txt create mode 100644 vendor/matthiasmullie/minify/src/CSS.php create mode 100644 vendor/matthiasmullie/minify/src/Exception.php create mode 100644 vendor/matthiasmullie/minify/src/Exceptions/BasicException.php create mode 100644 vendor/matthiasmullie/minify/src/Exceptions/FileImportException.php create mode 100644 vendor/matthiasmullie/minify/src/Exceptions/IOException.php create mode 100644 vendor/matthiasmullie/minify/src/JS.php create mode 100644 vendor/matthiasmullie/minify/src/Minify.php create mode 100644 vendor/matthiasmullie/path-converter/LICENSE create mode 100644 vendor/matthiasmullie/path-converter/src/Converter.php create mode 100644 vendor/matthiasmullie/path-converter/src/ConverterInterface.php create mode 100644 vendor/matthiasmullie/path-converter/src/NoConverter.php create mode 100644 vendor/maximebf/debugbar/LICENSE create mode 100644 vendor/maximebf/debugbar/src/DebugBar/Bridge/CacheCacheCollector.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/Bridge/DoctrineCollector.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/Bridge/MonologCollector.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/Bridge/Propel2Collector.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/Bridge/PropelCollector.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/Bridge/SlimCollector.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/Bridge/SwiftMailer/SwiftLogCollector.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/Bridge/SwiftMailer/SwiftMailCollector.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/Bridge/Twig/TraceableTwigEnvironment.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/Bridge/Twig/TraceableTwigTemplate.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/Bridge/Twig/TwigCollector.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/DataCollector/AggregatedCollector.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/DataCollector/AssetProvider.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/DataCollector/ConfigCollector.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/DataCollector/DataCollector.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/DataCollector/DataCollectorInterface.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/DataCollector/ExceptionsCollector.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/DataCollector/LocalizationCollector.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/DataCollector/MemoryCollector.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/DataCollector/MessagesAggregateInterface.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/DataCollector/MessagesCollector.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/DataCollector/PDO/PDOCollector.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/DataCollector/PDO/TraceablePDO.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/DataCollector/PDO/TraceablePDOStatement.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/DataCollector/PDO/TracedStatement.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/DataCollector/PhpInfoCollector.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/DataCollector/Renderable.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/DataCollector/RequestDataCollector.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/DataCollector/TimeDataCollector.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/DataFormatter/DataFormatter.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/DataFormatter/DataFormatterInterface.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/DataFormatter/DebugBarVarDumper.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/DataFormatter/VarDumper/DebugBarHtmlDumper.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/DataFormatter/VarDumper/SeekingData.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/DebugBar.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/DebugBarException.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/HttpDriverInterface.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/JavascriptRenderer.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/OpenHandler.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/PhpHttpDriver.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/RequestIdGenerator.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/RequestIdGeneratorInterface.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/Resources/debugbar.css create mode 100644 vendor/maximebf/debugbar/src/DebugBar/Resources/debugbar.js create mode 100644 vendor/maximebf/debugbar/src/DebugBar/Resources/openhandler.css create mode 100644 vendor/maximebf/debugbar/src/DebugBar/Resources/openhandler.js create mode 100644 vendor/maximebf/debugbar/src/DebugBar/Resources/widgets.css create mode 100644 vendor/maximebf/debugbar/src/DebugBar/Resources/widgets.js create mode 100644 vendor/maximebf/debugbar/src/DebugBar/Resources/widgets/mails/widget.css create mode 100644 vendor/maximebf/debugbar/src/DebugBar/Resources/widgets/mails/widget.js create mode 100644 vendor/maximebf/debugbar/src/DebugBar/Resources/widgets/sqlqueries/widget.css create mode 100644 vendor/maximebf/debugbar/src/DebugBar/Resources/widgets/sqlqueries/widget.js create mode 100644 vendor/maximebf/debugbar/src/DebugBar/Resources/widgets/templates/widget.css create mode 100644 vendor/maximebf/debugbar/src/DebugBar/Resources/widgets/templates/widget.js create mode 100644 vendor/maximebf/debugbar/src/DebugBar/StandardDebugBar.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/Storage/FileStorage.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/Storage/MemcachedStorage.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/Storage/PdoStorage.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/Storage/RedisStorage.php create mode 100644 vendor/maximebf/debugbar/src/DebugBar/Storage/StorageInterface.php create mode 100644 vendor/miljar/php-exif/CHANGELOG.rst create mode 100644 vendor/miljar/php-exif/LICENSE create mode 100644 vendor/miljar/php-exif/README.md create mode 100644 vendor/miljar/php-exif/lib/PHPExif/Adapter/AdapterAbstract.php create mode 100644 vendor/miljar/php-exif/lib/PHPExif/Adapter/AdapterInterface.php create mode 100644 vendor/miljar/php-exif/lib/PHPExif/Adapter/Exiftool.php create mode 100644 vendor/miljar/php-exif/lib/PHPExif/Adapter/Native.php create mode 100644 vendor/miljar/php-exif/lib/PHPExif/Adapter/NoAdapterException.php create mode 100644 vendor/miljar/php-exif/lib/PHPExif/Exif.php create mode 100644 vendor/miljar/php-exif/lib/PHPExif/Hydrator/HydratorInterface.php create mode 100644 vendor/miljar/php-exif/lib/PHPExif/Hydrator/Mutator.php create mode 100644 vendor/miljar/php-exif/lib/PHPExif/Mapper/Exiftool.php create mode 100644 vendor/miljar/php-exif/lib/PHPExif/Mapper/MapperInterface.php create mode 100644 vendor/miljar/php-exif/lib/PHPExif/Mapper/Native.php create mode 100644 vendor/miljar/php-exif/lib/PHPExif/Reader/Reader.php create mode 100644 vendor/miljar/php-exif/lib/PHPExif/Reader/ReaderInterface.php create mode 100644 vendor/monolog/monolog/CHANGELOG.md create mode 100644 vendor/monolog/monolog/LICENSE create mode 100644 vendor/monolog/monolog/README.md create mode 100644 vendor/monolog/monolog/src/Monolog/ErrorHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/ChromePHPFormatter.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/ElasticaFormatter.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/FlowdockFormatter.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/FluentdFormatter.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/FormatterInterface.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/GelfMessageFormatter.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/LineFormatter.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/LogglyFormatter.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/LogstashFormatter.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/ScalarFormatter.php create mode 100644 vendor/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/AbstractHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/AmqpHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/BufferHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/CouchDBHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/CubeHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/Curl/Util.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/DeduplicationHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/DoctrineCouchDBHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/DynamoDbHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/ElasticSearchHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ChannelLevelActivationStrategy.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ErrorLevelActivationStrategy.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/FleepHookHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/FlowdockHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/GelfHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/GroupHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/HandlerInterface.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/HandlerWrapper.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/HipChatHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/IFTTTHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/LogglyHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/MailHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/MandrillHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/MissingExtensionException.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/MongoDBHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/NativeMailerHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/NullHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/PHPConsoleHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/PsrHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/PushoverHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/RavenHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/RedisHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/RollbarHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/SamplingHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/SlackHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/SlackWebhookHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/SlackbotHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/SocketHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/SyslogHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/SyslogUdp/UdpSocket.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/TestHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php create mode 100644 vendor/monolog/monolog/src/Monolog/Logger.php create mode 100644 vendor/monolog/monolog/src/Monolog/Processor/GitProcessor.php create mode 100644 vendor/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php create mode 100644 vendor/monolog/monolog/src/Monolog/Processor/MemoryPeakUsageProcessor.php create mode 100644 vendor/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php create mode 100644 vendor/monolog/monolog/src/Monolog/Processor/MemoryUsageProcessor.php create mode 100644 vendor/monolog/monolog/src/Monolog/Processor/MercurialProcessor.php create mode 100644 vendor/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php create mode 100644 vendor/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php create mode 100644 vendor/monolog/monolog/src/Monolog/Processor/TagProcessor.php create mode 100644 vendor/monolog/monolog/src/Monolog/Processor/UidProcessor.php create mode 100644 vendor/monolog/monolog/src/Monolog/Processor/WebProcessor.php create mode 100644 vendor/monolog/monolog/src/Monolog/Registry.php create mode 100644 vendor/pimple/pimple/CHANGELOG create mode 100644 vendor/pimple/pimple/LICENSE create mode 100644 vendor/pimple/pimple/README.rst create mode 100644 vendor/pimple/pimple/src/Pimple/Container.php create mode 100644 vendor/pimple/pimple/src/Pimple/Exception/ExpectedInvokableException.php create mode 100644 vendor/pimple/pimple/src/Pimple/Exception/FrozenServiceException.php create mode 100644 vendor/pimple/pimple/src/Pimple/Exception/InvalidServiceIdentifierException.php create mode 100644 vendor/pimple/pimple/src/Pimple/Exception/UnknownIdentifierException.php create mode 100644 vendor/pimple/pimple/src/Pimple/Psr11/Container.php create mode 100644 vendor/pimple/pimple/src/Pimple/Psr11/ServiceLocator.php create mode 100644 vendor/pimple/pimple/src/Pimple/ServiceIterator.php create mode 100644 vendor/pimple/pimple/src/Pimple/ServiceProviderInterface.php create mode 100644 vendor/psr/container/LICENSE create mode 100644 vendor/psr/container/README.md create mode 100644 vendor/psr/container/src/ContainerExceptionInterface.php create mode 100644 vendor/psr/container/src/ContainerInterface.php create mode 100644 vendor/psr/container/src/NotFoundExceptionInterface.php create mode 100644 vendor/psr/log/LICENSE create mode 100644 vendor/psr/log/Psr/Log/AbstractLogger.php create mode 100644 vendor/psr/log/Psr/Log/InvalidArgumentException.php create mode 100644 vendor/psr/log/Psr/Log/LogLevel.php create mode 100644 vendor/psr/log/Psr/Log/LoggerAwareInterface.php create mode 100644 vendor/psr/log/Psr/Log/LoggerAwareTrait.php create mode 100644 vendor/psr/log/Psr/Log/LoggerInterface.php create mode 100644 vendor/psr/log/Psr/Log/LoggerTrait.php create mode 100644 vendor/psr/log/Psr/Log/NullLogger.php create mode 100644 vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php create mode 100644 vendor/psr/log/README.md create mode 100644 vendor/rockettheme/toolbox/ArrayTraits/src/ArrayAccess.php create mode 100644 vendor/rockettheme/toolbox/ArrayTraits/src/ArrayAccessWithGetters.php create mode 100644 vendor/rockettheme/toolbox/ArrayTraits/src/Constructor.php create mode 100644 vendor/rockettheme/toolbox/ArrayTraits/src/Countable.php create mode 100644 vendor/rockettheme/toolbox/ArrayTraits/src/Export.php create mode 100644 vendor/rockettheme/toolbox/ArrayTraits/src/ExportInterface.php create mode 100644 vendor/rockettheme/toolbox/ArrayTraits/src/Iterator.php create mode 100644 vendor/rockettheme/toolbox/ArrayTraits/src/NestedArrayAccess.php create mode 100644 vendor/rockettheme/toolbox/ArrayTraits/src/NestedArrayAccessWithGetters.php create mode 100644 vendor/rockettheme/toolbox/ArrayTraits/src/Serializable.php create mode 100644 vendor/rockettheme/toolbox/Blueprints/src/BlueprintForm.php create mode 100644 vendor/rockettheme/toolbox/Blueprints/src/BlueprintSchema.php create mode 100644 vendor/rockettheme/toolbox/Blueprints/src/Blueprints.php create mode 100644 vendor/rockettheme/toolbox/Blueprints/tests/BlueprintFormTest.php create mode 100644 vendor/rockettheme/toolbox/Blueprints/tests/BlueprintSchemaTest.php create mode 100644 vendor/rockettheme/toolbox/Blueprints/tests/data/blueprint/basic.yaml create mode 100644 vendor/rockettheme/toolbox/Blueprints/tests/data/blueprint/empty.yaml create mode 100644 vendor/rockettheme/toolbox/Blueprints/tests/data/blueprint/extends.yaml create mode 100644 vendor/rockettheme/toolbox/Blueprints/tests/data/blueprint/import.yaml create mode 100644 vendor/rockettheme/toolbox/Blueprints/tests/data/blueprint/partials/address.yaml create mode 100644 vendor/rockettheme/toolbox/Blueprints/tests/data/form/items/basic.yaml create mode 100644 vendor/rockettheme/toolbox/Blueprints/tests/data/form/items/empty.yaml create mode 100644 vendor/rockettheme/toolbox/Blueprints/tests/data/form/items/extends.yaml create mode 100644 vendor/rockettheme/toolbox/Blueprints/tests/data/form/items/import.yaml create mode 100644 vendor/rockettheme/toolbox/Blueprints/tests/data/input/basic.yaml create mode 100644 vendor/rockettheme/toolbox/Blueprints/tests/data/input/empty.yaml create mode 100644 vendor/rockettheme/toolbox/Blueprints/tests/data/schema/defaults/basic.yaml create mode 100644 vendor/rockettheme/toolbox/Blueprints/tests/data/schema/defaults/empty.yaml create mode 100644 vendor/rockettheme/toolbox/Blueprints/tests/data/schema/extra/basic.yaml create mode 100644 vendor/rockettheme/toolbox/Blueprints/tests/data/schema/extra/empty.yaml create mode 100644 vendor/rockettheme/toolbox/Blueprints/tests/data/schema/init/basic.yaml create mode 100644 vendor/rockettheme/toolbox/Blueprints/tests/data/schema/init/empty.yaml create mode 100644 vendor/rockettheme/toolbox/Blueprints/tests/data/schema/merge/basic.yaml create mode 100644 vendor/rockettheme/toolbox/Blueprints/tests/data/schema/merge/empty.yaml create mode 100644 vendor/rockettheme/toolbox/Blueprints/tests/data/schema/state/basic.yaml create mode 100644 vendor/rockettheme/toolbox/Blueprints/tests/data/schema/state/empty.yaml create mode 100644 vendor/rockettheme/toolbox/Blueprints/tests/helper.php create mode 100644 vendor/rockettheme/toolbox/CHANGELOG.md create mode 100644 vendor/rockettheme/toolbox/DI/src/Container.php create mode 100644 vendor/rockettheme/toolbox/DI/src/ServiceProviderInterface.php create mode 100644 vendor/rockettheme/toolbox/Event/src/Event.php create mode 100644 vendor/rockettheme/toolbox/Event/src/EventDispatcher.php create mode 100644 vendor/rockettheme/toolbox/Event/src/EventSubscriberInterface.php create mode 100644 vendor/rockettheme/toolbox/File/src/File.php create mode 100644 vendor/rockettheme/toolbox/File/src/FileInterface.php create mode 100644 vendor/rockettheme/toolbox/File/src/IniFile.php create mode 100644 vendor/rockettheme/toolbox/File/src/JsonFile.php create mode 100644 vendor/rockettheme/toolbox/File/src/LogFile.php create mode 100644 vendor/rockettheme/toolbox/File/src/MarkdownFile.php create mode 100644 vendor/rockettheme/toolbox/File/src/MoFile.php create mode 100644 vendor/rockettheme/toolbox/File/src/PhpFile.php create mode 100644 vendor/rockettheme/toolbox/File/src/YamlFile.php create mode 100644 vendor/rockettheme/toolbox/LICENSE create mode 100644 vendor/rockettheme/toolbox/README.md create mode 100644 vendor/rockettheme/toolbox/ResourceLocator/src/RecursiveUniformResourceIterator.php create mode 100644 vendor/rockettheme/toolbox/ResourceLocator/src/ResourceLocatorInterface.php create mode 100644 vendor/rockettheme/toolbox/ResourceLocator/src/UniformResourceIterator.php create mode 100644 vendor/rockettheme/toolbox/ResourceLocator/src/UniformResourceLocator.php create mode 100644 vendor/rockettheme/toolbox/ResourceLocator/tests/UniformResourceLocatorTest.php create mode 100644 vendor/rockettheme/toolbox/ResourceLocator/tests/data/base/all/base.txt create mode 100644 vendor/rockettheme/toolbox/ResourceLocator/tests/data/base/all/base_all.txt create mode 100644 vendor/rockettheme/toolbox/ResourceLocator/tests/data/base/all/base_local.txt create mode 100644 vendor/rockettheme/toolbox/ResourceLocator/tests/data/base/all/base_override.txt create mode 100644 vendor/rockettheme/toolbox/ResourceLocator/tests/data/local/all/base_all.txt create mode 100644 vendor/rockettheme/toolbox/ResourceLocator/tests/data/local/all/base_local.txt create mode 100644 vendor/rockettheme/toolbox/ResourceLocator/tests/data/local/all/local.txt create mode 100644 vendor/rockettheme/toolbox/ResourceLocator/tests/data/local/all/local_override.txt create mode 100644 vendor/rockettheme/toolbox/ResourceLocator/tests/data/override/all/base_all.txt create mode 100644 vendor/rockettheme/toolbox/ResourceLocator/tests/data/override/all/base_override.txt create mode 100644 vendor/rockettheme/toolbox/ResourceLocator/tests/data/override/all/local_override.txt create mode 100644 vendor/rockettheme/toolbox/ResourceLocator/tests/data/override/all/override.txt create mode 100644 vendor/rockettheme/toolbox/Session/src/Message.php create mode 100644 vendor/rockettheme/toolbox/Session/src/Session.php create mode 100644 vendor/rockettheme/toolbox/Session/tests/MessageTest.php create mode 100644 vendor/rockettheme/toolbox/StreamWrapper/src/ReadOnlyStream.php create mode 100644 vendor/rockettheme/toolbox/StreamWrapper/src/Stream.php create mode 100644 vendor/rockettheme/toolbox/StreamWrapper/src/StreamBuilder.php create mode 100644 vendor/rockettheme/toolbox/StreamWrapper/src/StreamInterface.php create mode 100644 vendor/seld/cli-prompt/LICENSE create mode 100644 vendor/seld/cli-prompt/README.md create mode 100644 vendor/seld/cli-prompt/res/example.php create mode 100644 vendor/seld/cli-prompt/src/CliPrompt.php create mode 100644 vendor/symfony/console/Application.php create mode 100644 vendor/symfony/console/CHANGELOG.md create mode 100644 vendor/symfony/console/Command/Command.php create mode 100644 vendor/symfony/console/Command/HelpCommand.php create mode 100644 vendor/symfony/console/Command/ListCommand.php create mode 100644 vendor/symfony/console/ConsoleEvents.php create mode 100644 vendor/symfony/console/Descriptor/ApplicationDescription.php create mode 100644 vendor/symfony/console/Descriptor/Descriptor.php create mode 100644 vendor/symfony/console/Descriptor/DescriptorInterface.php create mode 100644 vendor/symfony/console/Descriptor/JsonDescriptor.php create mode 100644 vendor/symfony/console/Descriptor/MarkdownDescriptor.php create mode 100644 vendor/symfony/console/Descriptor/TextDescriptor.php create mode 100644 vendor/symfony/console/Descriptor/XmlDescriptor.php create mode 100644 vendor/symfony/console/Event/ConsoleCommandEvent.php create mode 100644 vendor/symfony/console/Event/ConsoleEvent.php create mode 100644 vendor/symfony/console/Event/ConsoleExceptionEvent.php create mode 100644 vendor/symfony/console/Event/ConsoleTerminateEvent.php create mode 100644 vendor/symfony/console/Exception/CommandNotFoundException.php create mode 100644 vendor/symfony/console/Exception/ExceptionInterface.php create mode 100644 vendor/symfony/console/Exception/InvalidArgumentException.php create mode 100644 vendor/symfony/console/Exception/InvalidOptionException.php create mode 100644 vendor/symfony/console/Exception/LogicException.php create mode 100644 vendor/symfony/console/Exception/RuntimeException.php create mode 100644 vendor/symfony/console/Formatter/OutputFormatter.php create mode 100644 vendor/symfony/console/Formatter/OutputFormatterInterface.php create mode 100644 vendor/symfony/console/Formatter/OutputFormatterStyle.php create mode 100644 vendor/symfony/console/Formatter/OutputFormatterStyleInterface.php create mode 100644 vendor/symfony/console/Formatter/OutputFormatterStyleStack.php create mode 100644 vendor/symfony/console/Helper/DebugFormatterHelper.php create mode 100644 vendor/symfony/console/Helper/DescriptorHelper.php create mode 100644 vendor/symfony/console/Helper/DialogHelper.php create mode 100644 vendor/symfony/console/Helper/FormatterHelper.php create mode 100644 vendor/symfony/console/Helper/Helper.php create mode 100644 vendor/symfony/console/Helper/HelperInterface.php create mode 100644 vendor/symfony/console/Helper/HelperSet.php create mode 100644 vendor/symfony/console/Helper/InputAwareHelper.php create mode 100644 vendor/symfony/console/Helper/ProcessHelper.php create mode 100644 vendor/symfony/console/Helper/ProgressBar.php create mode 100644 vendor/symfony/console/Helper/ProgressHelper.php create mode 100644 vendor/symfony/console/Helper/ProgressIndicator.php create mode 100644 vendor/symfony/console/Helper/QuestionHelper.php create mode 100644 vendor/symfony/console/Helper/SymfonyQuestionHelper.php create mode 100644 vendor/symfony/console/Helper/Table.php create mode 100644 vendor/symfony/console/Helper/TableCell.php create mode 100644 vendor/symfony/console/Helper/TableHelper.php create mode 100644 vendor/symfony/console/Helper/TableSeparator.php create mode 100644 vendor/symfony/console/Helper/TableStyle.php create mode 100644 vendor/symfony/console/Input/ArgvInput.php create mode 100644 vendor/symfony/console/Input/ArrayInput.php create mode 100644 vendor/symfony/console/Input/Input.php create mode 100644 vendor/symfony/console/Input/InputArgument.php create mode 100644 vendor/symfony/console/Input/InputAwareInterface.php create mode 100644 vendor/symfony/console/Input/InputDefinition.php create mode 100644 vendor/symfony/console/Input/InputInterface.php create mode 100644 vendor/symfony/console/Input/InputOption.php create mode 100644 vendor/symfony/console/Input/StringInput.php create mode 100644 vendor/symfony/console/LICENSE create mode 100644 vendor/symfony/console/Logger/ConsoleLogger.php create mode 100644 vendor/symfony/console/Output/BufferedOutput.php create mode 100644 vendor/symfony/console/Output/ConsoleOutput.php create mode 100644 vendor/symfony/console/Output/ConsoleOutputInterface.php create mode 100644 vendor/symfony/console/Output/NullOutput.php create mode 100644 vendor/symfony/console/Output/Output.php create mode 100644 vendor/symfony/console/Output/OutputInterface.php create mode 100644 vendor/symfony/console/Output/StreamOutput.php create mode 100644 vendor/symfony/console/Question/ChoiceQuestion.php create mode 100644 vendor/symfony/console/Question/ConfirmationQuestion.php create mode 100644 vendor/symfony/console/Question/Question.php create mode 100644 vendor/symfony/console/README.md create mode 100644 vendor/symfony/console/Shell.php create mode 100644 vendor/symfony/console/Style/OutputStyle.php create mode 100644 vendor/symfony/console/Style/StyleInterface.php create mode 100644 vendor/symfony/console/Style/SymfonyStyle.php create mode 100644 vendor/symfony/debug/BufferingLogger.php create mode 100644 vendor/symfony/debug/CHANGELOG.md create mode 100644 vendor/symfony/debug/Debug.php create mode 100644 vendor/symfony/debug/DebugClassLoader.php create mode 100644 vendor/symfony/debug/ErrorHandler.php create mode 100644 vendor/symfony/debug/Exception/ClassNotFoundException.php create mode 100644 vendor/symfony/debug/Exception/ContextErrorException.php create mode 100644 vendor/symfony/debug/Exception/FatalErrorException.php create mode 100644 vendor/symfony/debug/Exception/FatalThrowableError.php create mode 100644 vendor/symfony/debug/Exception/FlattenException.php create mode 100644 vendor/symfony/debug/Exception/OutOfMemoryException.php create mode 100644 vendor/symfony/debug/Exception/UndefinedFunctionException.php create mode 100644 vendor/symfony/debug/Exception/UndefinedMethodException.php create mode 100644 vendor/symfony/debug/ExceptionHandler.php create mode 100644 vendor/symfony/debug/FatalErrorHandler/ClassNotFoundFatalErrorHandler.php create mode 100644 vendor/symfony/debug/FatalErrorHandler/FatalErrorHandlerInterface.php create mode 100644 vendor/symfony/debug/FatalErrorHandler/UndefinedFunctionFatalErrorHandler.php create mode 100644 vendor/symfony/debug/FatalErrorHandler/UndefinedMethodFatalErrorHandler.php create mode 100644 vendor/symfony/debug/LICENSE create mode 100644 vendor/symfony/debug/README.md create mode 100644 vendor/symfony/event-dispatcher/CHANGELOG.md create mode 100644 vendor/symfony/event-dispatcher/ContainerAwareEventDispatcher.php create mode 100644 vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php create mode 100644 vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcherInterface.php create mode 100644 vendor/symfony/event-dispatcher/Debug/WrappedListener.php create mode 100644 vendor/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php create mode 100644 vendor/symfony/event-dispatcher/Event.php create mode 100644 vendor/symfony/event-dispatcher/EventDispatcher.php create mode 100644 vendor/symfony/event-dispatcher/EventDispatcherInterface.php create mode 100644 vendor/symfony/event-dispatcher/EventSubscriberInterface.php create mode 100644 vendor/symfony/event-dispatcher/GenericEvent.php create mode 100644 vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php create mode 100644 vendor/symfony/event-dispatcher/LICENSE create mode 100644 vendor/symfony/event-dispatcher/README.md create mode 100644 vendor/symfony/polyfill-iconv/Iconv.php create mode 100644 vendor/symfony/polyfill-iconv/LICENSE create mode 100644 vendor/symfony/polyfill-iconv/README.md create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.big5.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.cp037.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.cp1006.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.cp1026.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.cp424.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.cp437.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.cp500.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.cp737.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.cp775.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.cp850.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.cp852.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.cp855.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.cp856.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.cp857.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.cp860.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.cp861.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.cp862.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.cp863.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.cp864.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.cp865.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.cp866.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.cp869.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.cp874.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.cp875.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.cp932.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.cp936.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.cp949.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.cp950.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-1.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-10.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-11.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-13.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-14.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-15.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-16.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-2.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-3.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-4.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-5.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-6.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-7.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-8.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.iso-8859-9.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.koi8-r.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.koi8-u.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.us-ascii.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1250.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1251.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1252.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1253.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1254.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1255.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1256.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1257.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/from.windows-1258.php create mode 100644 vendor/symfony/polyfill-iconv/Resources/charset/translit.php create mode 100644 vendor/symfony/polyfill-iconv/bootstrap.php create mode 100644 vendor/symfony/polyfill-mbstring/LICENSE create mode 100644 vendor/symfony/polyfill-mbstring/Mbstring.php create mode 100644 vendor/symfony/polyfill-mbstring/README.md create mode 100644 vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php create mode 100644 vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php create mode 100644 vendor/symfony/polyfill-mbstring/bootstrap.php create mode 100644 vendor/symfony/var-dumper/CHANGELOG.md create mode 100644 vendor/symfony/var-dumper/Caster/AmqpCaster.php create mode 100644 vendor/symfony/var-dumper/Caster/Caster.php create mode 100644 vendor/symfony/var-dumper/Caster/ConstStub.php create mode 100644 vendor/symfony/var-dumper/Caster/CutArrayStub.php create mode 100644 vendor/symfony/var-dumper/Caster/CutStub.php create mode 100644 vendor/symfony/var-dumper/Caster/DOMCaster.php create mode 100644 vendor/symfony/var-dumper/Caster/DoctrineCaster.php create mode 100644 vendor/symfony/var-dumper/Caster/EnumStub.php create mode 100644 vendor/symfony/var-dumper/Caster/ExceptionCaster.php create mode 100644 vendor/symfony/var-dumper/Caster/FrameStub.php create mode 100644 vendor/symfony/var-dumper/Caster/MongoCaster.php create mode 100644 vendor/symfony/var-dumper/Caster/PdoCaster.php create mode 100644 vendor/symfony/var-dumper/Caster/PgSqlCaster.php create mode 100644 vendor/symfony/var-dumper/Caster/ReflectionCaster.php create mode 100644 vendor/symfony/var-dumper/Caster/ResourceCaster.php create mode 100644 vendor/symfony/var-dumper/Caster/SplCaster.php create mode 100644 vendor/symfony/var-dumper/Caster/StubCaster.php create mode 100644 vendor/symfony/var-dumper/Caster/TraceStub.php create mode 100644 vendor/symfony/var-dumper/Caster/XmlResourceCaster.php create mode 100644 vendor/symfony/var-dumper/Cloner/AbstractCloner.php create mode 100644 vendor/symfony/var-dumper/Cloner/ClonerInterface.php create mode 100644 vendor/symfony/var-dumper/Cloner/Cursor.php create mode 100644 vendor/symfony/var-dumper/Cloner/Data.php create mode 100644 vendor/symfony/var-dumper/Cloner/DumperInterface.php create mode 100644 vendor/symfony/var-dumper/Cloner/Stub.php create mode 100644 vendor/symfony/var-dumper/Cloner/VarCloner.php create mode 100644 vendor/symfony/var-dumper/Dumper/AbstractDumper.php create mode 100644 vendor/symfony/var-dumper/Dumper/CliDumper.php create mode 100644 vendor/symfony/var-dumper/Dumper/DataDumperInterface.php create mode 100644 vendor/symfony/var-dumper/Dumper/HtmlDumper.php create mode 100644 vendor/symfony/var-dumper/Exception/ThrowingCasterException.php create mode 100644 vendor/symfony/var-dumper/LICENSE create mode 100644 vendor/symfony/var-dumper/README.md create mode 100644 vendor/symfony/var-dumper/Resources/functions/dump.php create mode 100644 vendor/symfony/var-dumper/VarDumper.php create mode 100644 vendor/symfony/yaml/CHANGELOG.md create mode 100644 vendor/symfony/yaml/Dumper.php create mode 100644 vendor/symfony/yaml/Escaper.php create mode 100644 vendor/symfony/yaml/Exception/DumpException.php create mode 100644 vendor/symfony/yaml/Exception/ExceptionInterface.php create mode 100644 vendor/symfony/yaml/Exception/ParseException.php create mode 100644 vendor/symfony/yaml/Exception/RuntimeException.php create mode 100644 vendor/symfony/yaml/Inline.php create mode 100644 vendor/symfony/yaml/LICENSE create mode 100644 vendor/symfony/yaml/Parser.php create mode 100644 vendor/symfony/yaml/README.md create mode 100644 vendor/symfony/yaml/Unescaper.php create mode 100644 vendor/symfony/yaml/Yaml.php create mode 100644 vendor/twig/twig/CHANGELOG create mode 100644 vendor/twig/twig/LICENSE create mode 100644 vendor/twig/twig/README.rst create mode 100644 vendor/twig/twig/lib/Twig/Autoloader.php create mode 100644 vendor/twig/twig/lib/Twig/BaseNodeVisitor.php create mode 100644 vendor/twig/twig/lib/Twig/Cache/Filesystem.php create mode 100644 vendor/twig/twig/lib/Twig/Cache/Null.php create mode 100644 vendor/twig/twig/lib/Twig/CacheInterface.php create mode 100644 vendor/twig/twig/lib/Twig/Compiler.php create mode 100644 vendor/twig/twig/lib/Twig/CompilerInterface.php create mode 100644 vendor/twig/twig/lib/Twig/ContainerRuntimeLoader.php create mode 100644 vendor/twig/twig/lib/Twig/Environment.php create mode 100644 vendor/twig/twig/lib/Twig/Error.php create mode 100644 vendor/twig/twig/lib/Twig/Error/Loader.php create mode 100644 vendor/twig/twig/lib/Twig/Error/Runtime.php create mode 100644 vendor/twig/twig/lib/Twig/Error/Syntax.php create mode 100644 vendor/twig/twig/lib/Twig/ExistsLoaderInterface.php create mode 100644 vendor/twig/twig/lib/Twig/ExpressionParser.php create mode 100644 vendor/twig/twig/lib/Twig/Extension.php create mode 100644 vendor/twig/twig/lib/Twig/Extension/Core.php create mode 100644 vendor/twig/twig/lib/Twig/Extension/Debug.php create mode 100644 vendor/twig/twig/lib/Twig/Extension/Escaper.php create mode 100644 vendor/twig/twig/lib/Twig/Extension/GlobalsInterface.php create mode 100644 vendor/twig/twig/lib/Twig/Extension/InitRuntimeInterface.php create mode 100644 vendor/twig/twig/lib/Twig/Extension/Optimizer.php create mode 100644 vendor/twig/twig/lib/Twig/Extension/Profiler.php create mode 100644 vendor/twig/twig/lib/Twig/Extension/Sandbox.php create mode 100644 vendor/twig/twig/lib/Twig/Extension/Staging.php create mode 100644 vendor/twig/twig/lib/Twig/Extension/StringLoader.php create mode 100644 vendor/twig/twig/lib/Twig/ExtensionInterface.php create mode 100644 vendor/twig/twig/lib/Twig/FactoryRuntimeLoader.php create mode 100644 vendor/twig/twig/lib/Twig/FileExtensionEscapingStrategy.php create mode 100644 vendor/twig/twig/lib/Twig/Filter.php create mode 100644 vendor/twig/twig/lib/Twig/Filter/Function.php create mode 100644 vendor/twig/twig/lib/Twig/Filter/Method.php create mode 100644 vendor/twig/twig/lib/Twig/Filter/Node.php create mode 100644 vendor/twig/twig/lib/Twig/FilterCallableInterface.php create mode 100644 vendor/twig/twig/lib/Twig/FilterInterface.php create mode 100644 vendor/twig/twig/lib/Twig/Function.php create mode 100644 vendor/twig/twig/lib/Twig/Function/Function.php create mode 100644 vendor/twig/twig/lib/Twig/Function/Method.php create mode 100644 vendor/twig/twig/lib/Twig/Function/Node.php create mode 100644 vendor/twig/twig/lib/Twig/FunctionCallableInterface.php create mode 100644 vendor/twig/twig/lib/Twig/FunctionInterface.php create mode 100644 vendor/twig/twig/lib/Twig/Lexer.php create mode 100644 vendor/twig/twig/lib/Twig/LexerInterface.php create mode 100644 vendor/twig/twig/lib/Twig/Loader/Array.php create mode 100644 vendor/twig/twig/lib/Twig/Loader/Chain.php create mode 100644 vendor/twig/twig/lib/Twig/Loader/Filesystem.php create mode 100644 vendor/twig/twig/lib/Twig/Loader/String.php create mode 100644 vendor/twig/twig/lib/Twig/LoaderInterface.php create mode 100644 vendor/twig/twig/lib/Twig/Markup.php create mode 100644 vendor/twig/twig/lib/Twig/Node.php create mode 100644 vendor/twig/twig/lib/Twig/Node/AutoEscape.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Block.php create mode 100644 vendor/twig/twig/lib/Twig/Node/BlockReference.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Body.php create mode 100644 vendor/twig/twig/lib/Twig/Node/CheckSecurity.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Do.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Embed.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Array.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/AssignName.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Binary.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Binary/Add.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Binary/And.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseAnd.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseOr.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseXor.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Binary/Concat.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Binary/Div.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Binary/EndsWith.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Binary/Equal.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Binary/FloorDiv.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Binary/Greater.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Binary/GreaterEqual.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Binary/In.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Binary/Less.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Binary/LessEqual.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Binary/Matches.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Binary/Mod.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Binary/Mul.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Binary/NotEqual.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Binary/NotIn.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Binary/Or.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Binary/Power.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Binary/Range.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Binary/StartsWith.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Binary/Sub.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/BlockReference.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Call.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Conditional.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Constant.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/ExtensionReference.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Filter.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Filter/Default.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Function.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/GetAttr.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/MethodCall.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Name.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/NullCoalesce.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Parent.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/TempName.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Test.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Test/Constant.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Test/Defined.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Test/Divisibleby.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Test/Even.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Test/Null.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Test/Odd.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Test/Sameas.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Unary.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Unary/Neg.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Unary/Not.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Expression/Unary/Pos.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Flush.php create mode 100644 vendor/twig/twig/lib/Twig/Node/For.php create mode 100644 vendor/twig/twig/lib/Twig/Node/ForLoop.php create mode 100644 vendor/twig/twig/lib/Twig/Node/If.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Import.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Include.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Macro.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Module.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Print.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Sandbox.php create mode 100644 vendor/twig/twig/lib/Twig/Node/SandboxedPrint.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Set.php create mode 100644 vendor/twig/twig/lib/Twig/Node/SetTemp.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Spaceless.php create mode 100644 vendor/twig/twig/lib/Twig/Node/Text.php create mode 100644 vendor/twig/twig/lib/Twig/Node/With.php create mode 100644 vendor/twig/twig/lib/Twig/NodeCaptureInterface.php create mode 100644 vendor/twig/twig/lib/Twig/NodeInterface.php create mode 100644 vendor/twig/twig/lib/Twig/NodeOutputInterface.php create mode 100644 vendor/twig/twig/lib/Twig/NodeTraverser.php create mode 100644 vendor/twig/twig/lib/Twig/NodeVisitor/Escaper.php create mode 100644 vendor/twig/twig/lib/Twig/NodeVisitor/Optimizer.php create mode 100644 vendor/twig/twig/lib/Twig/NodeVisitor/SafeAnalysis.php create mode 100644 vendor/twig/twig/lib/Twig/NodeVisitor/Sandbox.php create mode 100644 vendor/twig/twig/lib/Twig/NodeVisitorInterface.php create mode 100644 vendor/twig/twig/lib/Twig/Parser.php create mode 100644 vendor/twig/twig/lib/Twig/ParserInterface.php create mode 100644 vendor/twig/twig/lib/Twig/Profiler/Dumper/Base.php create mode 100644 vendor/twig/twig/lib/Twig/Profiler/Dumper/Blackfire.php create mode 100644 vendor/twig/twig/lib/Twig/Profiler/Dumper/Html.php create mode 100644 vendor/twig/twig/lib/Twig/Profiler/Dumper/Text.php create mode 100644 vendor/twig/twig/lib/Twig/Profiler/Node/EnterProfile.php create mode 100644 vendor/twig/twig/lib/Twig/Profiler/Node/LeaveProfile.php create mode 100644 vendor/twig/twig/lib/Twig/Profiler/NodeVisitor/Profiler.php create mode 100644 vendor/twig/twig/lib/Twig/Profiler/Profile.php create mode 100644 vendor/twig/twig/lib/Twig/RuntimeLoaderInterface.php create mode 100644 vendor/twig/twig/lib/Twig/Sandbox/SecurityError.php create mode 100644 vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedFilterError.php create mode 100644 vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedFunctionError.php create mode 100644 vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedMethodError.php create mode 100644 vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedPropertyError.php create mode 100644 vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedTagError.php create mode 100644 vendor/twig/twig/lib/Twig/Sandbox/SecurityPolicy.php create mode 100644 vendor/twig/twig/lib/Twig/Sandbox/SecurityPolicyInterface.php create mode 100644 vendor/twig/twig/lib/Twig/SimpleFilter.php create mode 100644 vendor/twig/twig/lib/Twig/SimpleFunction.php create mode 100644 vendor/twig/twig/lib/Twig/SimpleTest.php create mode 100644 vendor/twig/twig/lib/Twig/Source.php create mode 100644 vendor/twig/twig/lib/Twig/SourceContextLoaderInterface.php create mode 100644 vendor/twig/twig/lib/Twig/Template.php create mode 100644 vendor/twig/twig/lib/Twig/TemplateInterface.php create mode 100644 vendor/twig/twig/lib/Twig/TemplateWrapper.php create mode 100644 vendor/twig/twig/lib/Twig/Test.php create mode 100644 vendor/twig/twig/lib/Twig/Test/Function.php create mode 100644 vendor/twig/twig/lib/Twig/Test/IntegrationTestCase.php create mode 100644 vendor/twig/twig/lib/Twig/Test/Method.php create mode 100644 vendor/twig/twig/lib/Twig/Test/Node.php create mode 100644 vendor/twig/twig/lib/Twig/Test/NodeTestCase.php create mode 100644 vendor/twig/twig/lib/Twig/TestCallableInterface.php create mode 100644 vendor/twig/twig/lib/Twig/TestInterface.php create mode 100644 vendor/twig/twig/lib/Twig/Token.php create mode 100644 vendor/twig/twig/lib/Twig/TokenParser.php create mode 100644 vendor/twig/twig/lib/Twig/TokenParser/AutoEscape.php create mode 100644 vendor/twig/twig/lib/Twig/TokenParser/Block.php create mode 100644 vendor/twig/twig/lib/Twig/TokenParser/Do.php create mode 100644 vendor/twig/twig/lib/Twig/TokenParser/Embed.php create mode 100644 vendor/twig/twig/lib/Twig/TokenParser/Extends.php create mode 100644 vendor/twig/twig/lib/Twig/TokenParser/Filter.php create mode 100644 vendor/twig/twig/lib/Twig/TokenParser/Flush.php create mode 100644 vendor/twig/twig/lib/Twig/TokenParser/For.php create mode 100644 vendor/twig/twig/lib/Twig/TokenParser/From.php create mode 100644 vendor/twig/twig/lib/Twig/TokenParser/If.php create mode 100644 vendor/twig/twig/lib/Twig/TokenParser/Import.php create mode 100644 vendor/twig/twig/lib/Twig/TokenParser/Include.php create mode 100644 vendor/twig/twig/lib/Twig/TokenParser/Macro.php create mode 100644 vendor/twig/twig/lib/Twig/TokenParser/Sandbox.php create mode 100644 vendor/twig/twig/lib/Twig/TokenParser/Set.php create mode 100644 vendor/twig/twig/lib/Twig/TokenParser/Spaceless.php create mode 100644 vendor/twig/twig/lib/Twig/TokenParser/Use.php create mode 100644 vendor/twig/twig/lib/Twig/TokenParser/With.php create mode 100644 vendor/twig/twig/lib/Twig/TokenParserBroker.php create mode 100644 vendor/twig/twig/lib/Twig/TokenParserBrokerInterface.php create mode 100644 vendor/twig/twig/lib/Twig/TokenParserInterface.php create mode 100644 vendor/twig/twig/lib/Twig/TokenStream.php create mode 100644 vendor/twig/twig/lib/Twig/Util/DeprecationCollector.php create mode 100644 vendor/twig/twig/lib/Twig/Util/TemplateDirIterator.php create mode 100644 vendor/twig/twig/src/Cache/CacheInterface.php create mode 100644 vendor/twig/twig/src/Cache/FilesystemCache.php create mode 100644 vendor/twig/twig/src/Cache/NullCache.php create mode 100644 vendor/twig/twig/src/Compiler.php create mode 100644 vendor/twig/twig/src/Environment.php create mode 100644 vendor/twig/twig/src/Error/Error.php create mode 100644 vendor/twig/twig/src/Error/LoaderError.php create mode 100644 vendor/twig/twig/src/Error/RuntimeError.php create mode 100644 vendor/twig/twig/src/Error/SyntaxError.php create mode 100644 vendor/twig/twig/src/ExpressionParser.php create mode 100644 vendor/twig/twig/src/Extension/AbstractExtension.php create mode 100644 vendor/twig/twig/src/Extension/CoreExtension.php create mode 100644 vendor/twig/twig/src/Extension/DebugExtension.php create mode 100644 vendor/twig/twig/src/Extension/EscaperExtension.php create mode 100644 vendor/twig/twig/src/Extension/ExtensionInterface.php create mode 100644 vendor/twig/twig/src/Extension/GlobalsInterface.php create mode 100644 vendor/twig/twig/src/Extension/InitRuntimeInterface.php create mode 100644 vendor/twig/twig/src/Extension/OptimizerExtension.php create mode 100644 vendor/twig/twig/src/Extension/ProfilerExtension.php create mode 100644 vendor/twig/twig/src/Extension/RuntimeExtensionInterface.php create mode 100644 vendor/twig/twig/src/Extension/SandboxExtension.php create mode 100644 vendor/twig/twig/src/Extension/StagingExtension.php create mode 100644 vendor/twig/twig/src/Extension/StringLoaderExtension.php create mode 100644 vendor/twig/twig/src/FileExtensionEscapingStrategy.php create mode 100644 vendor/twig/twig/src/Lexer.php create mode 100644 vendor/twig/twig/src/Loader/ArrayLoader.php create mode 100644 vendor/twig/twig/src/Loader/ChainLoader.php create mode 100644 vendor/twig/twig/src/Loader/ExistsLoaderInterface.php create mode 100644 vendor/twig/twig/src/Loader/FilesystemLoader.php create mode 100644 vendor/twig/twig/src/Loader/LoaderInterface.php create mode 100644 vendor/twig/twig/src/Loader/SourceContextLoaderInterface.php create mode 100644 vendor/twig/twig/src/Markup.php create mode 100644 vendor/twig/twig/src/Node/AutoEscapeNode.php create mode 100644 vendor/twig/twig/src/Node/BlockNode.php create mode 100644 vendor/twig/twig/src/Node/BlockReferenceNode.php create mode 100644 vendor/twig/twig/src/Node/BodyNode.php create mode 100644 vendor/twig/twig/src/Node/CheckSecurityNode.php create mode 100644 vendor/twig/twig/src/Node/DoNode.php create mode 100644 vendor/twig/twig/src/Node/EmbedNode.php create mode 100644 vendor/twig/twig/src/Node/Expression/AbstractExpression.php create mode 100644 vendor/twig/twig/src/Node/Expression/ArrayExpression.php create mode 100644 vendor/twig/twig/src/Node/Expression/AssignNameExpression.php create mode 100644 vendor/twig/twig/src/Node/Expression/Binary/AbstractBinary.php create mode 100644 vendor/twig/twig/src/Node/Expression/Binary/AddBinary.php create mode 100644 vendor/twig/twig/src/Node/Expression/Binary/AndBinary.php create mode 100644 vendor/twig/twig/src/Node/Expression/Binary/BitwiseAndBinary.php create mode 100644 vendor/twig/twig/src/Node/Expression/Binary/BitwiseOrBinary.php create mode 100644 vendor/twig/twig/src/Node/Expression/Binary/BitwiseXorBinary.php create mode 100644 vendor/twig/twig/src/Node/Expression/Binary/ConcatBinary.php create mode 100644 vendor/twig/twig/src/Node/Expression/Binary/DivBinary.php create mode 100644 vendor/twig/twig/src/Node/Expression/Binary/EndsWithBinary.php create mode 100644 vendor/twig/twig/src/Node/Expression/Binary/EqualBinary.php create mode 100644 vendor/twig/twig/src/Node/Expression/Binary/FloorDivBinary.php create mode 100644 vendor/twig/twig/src/Node/Expression/Binary/GreaterBinary.php create mode 100644 vendor/twig/twig/src/Node/Expression/Binary/GreaterEqualBinary.php create mode 100644 vendor/twig/twig/src/Node/Expression/Binary/InBinary.php create mode 100644 vendor/twig/twig/src/Node/Expression/Binary/LessBinary.php create mode 100644 vendor/twig/twig/src/Node/Expression/Binary/LessEqualBinary.php create mode 100644 vendor/twig/twig/src/Node/Expression/Binary/MatchesBinary.php create mode 100644 vendor/twig/twig/src/Node/Expression/Binary/ModBinary.php create mode 100644 vendor/twig/twig/src/Node/Expression/Binary/MulBinary.php create mode 100644 vendor/twig/twig/src/Node/Expression/Binary/NotEqualBinary.php create mode 100644 vendor/twig/twig/src/Node/Expression/Binary/NotInBinary.php create mode 100644 vendor/twig/twig/src/Node/Expression/Binary/OrBinary.php create mode 100644 vendor/twig/twig/src/Node/Expression/Binary/PowerBinary.php create mode 100644 vendor/twig/twig/src/Node/Expression/Binary/RangeBinary.php create mode 100644 vendor/twig/twig/src/Node/Expression/Binary/StartsWithBinary.php create mode 100644 vendor/twig/twig/src/Node/Expression/Binary/SubBinary.php create mode 100644 vendor/twig/twig/src/Node/Expression/BlockReferenceExpression.php create mode 100644 vendor/twig/twig/src/Node/Expression/CallExpression.php create mode 100644 vendor/twig/twig/src/Node/Expression/ConditionalExpression.php create mode 100644 vendor/twig/twig/src/Node/Expression/ConstantExpression.php create mode 100644 vendor/twig/twig/src/Node/Expression/Filter/DefaultFilter.php create mode 100644 vendor/twig/twig/src/Node/Expression/FilterExpression.php create mode 100644 vendor/twig/twig/src/Node/Expression/FunctionExpression.php create mode 100644 vendor/twig/twig/src/Node/Expression/GetAttrExpression.php create mode 100644 vendor/twig/twig/src/Node/Expression/MethodCallExpression.php create mode 100644 vendor/twig/twig/src/Node/Expression/NameExpression.php create mode 100644 vendor/twig/twig/src/Node/Expression/NullCoalesceExpression.php create mode 100644 vendor/twig/twig/src/Node/Expression/ParentExpression.php create mode 100644 vendor/twig/twig/src/Node/Expression/TempNameExpression.php create mode 100644 vendor/twig/twig/src/Node/Expression/Test/ConstantTest.php create mode 100644 vendor/twig/twig/src/Node/Expression/Test/DefinedTest.php create mode 100644 vendor/twig/twig/src/Node/Expression/Test/DivisiblebyTest.php create mode 100644 vendor/twig/twig/src/Node/Expression/Test/EvenTest.php create mode 100644 vendor/twig/twig/src/Node/Expression/Test/NullTest.php create mode 100644 vendor/twig/twig/src/Node/Expression/Test/OddTest.php create mode 100644 vendor/twig/twig/src/Node/Expression/Test/SameasTest.php create mode 100644 vendor/twig/twig/src/Node/Expression/TestExpression.php create mode 100644 vendor/twig/twig/src/Node/Expression/Unary/AbstractUnary.php create mode 100644 vendor/twig/twig/src/Node/Expression/Unary/NegUnary.php create mode 100644 vendor/twig/twig/src/Node/Expression/Unary/NotUnary.php create mode 100644 vendor/twig/twig/src/Node/Expression/Unary/PosUnary.php create mode 100644 vendor/twig/twig/src/Node/FlushNode.php create mode 100644 vendor/twig/twig/src/Node/ForLoopNode.php create mode 100644 vendor/twig/twig/src/Node/ForNode.php create mode 100644 vendor/twig/twig/src/Node/IfNode.php create mode 100644 vendor/twig/twig/src/Node/ImportNode.php create mode 100644 vendor/twig/twig/src/Node/IncludeNode.php create mode 100644 vendor/twig/twig/src/Node/MacroNode.php create mode 100644 vendor/twig/twig/src/Node/ModuleNode.php create mode 100644 vendor/twig/twig/src/Node/Node.php create mode 100644 vendor/twig/twig/src/Node/NodeCaptureInterface.php create mode 100644 vendor/twig/twig/src/Node/NodeOutputInterface.php create mode 100644 vendor/twig/twig/src/Node/PrintNode.php create mode 100644 vendor/twig/twig/src/Node/SandboxNode.php create mode 100644 vendor/twig/twig/src/Node/SandboxedPrintNode.php create mode 100644 vendor/twig/twig/src/Node/SetNode.php create mode 100644 vendor/twig/twig/src/Node/SetTempNode.php create mode 100644 vendor/twig/twig/src/Node/SpacelessNode.php create mode 100644 vendor/twig/twig/src/Node/TextNode.php create mode 100644 vendor/twig/twig/src/Node/WithNode.php create mode 100644 vendor/twig/twig/src/NodeTraverser.php create mode 100644 vendor/twig/twig/src/NodeVisitor/AbstractNodeVisitor.php create mode 100644 vendor/twig/twig/src/NodeVisitor/EscaperNodeVisitor.php create mode 100644 vendor/twig/twig/src/NodeVisitor/NodeVisitorInterface.php create mode 100644 vendor/twig/twig/src/NodeVisitor/OptimizerNodeVisitor.php create mode 100644 vendor/twig/twig/src/NodeVisitor/SafeAnalysisNodeVisitor.php create mode 100644 vendor/twig/twig/src/NodeVisitor/SandboxNodeVisitor.php create mode 100644 vendor/twig/twig/src/Parser.php create mode 100644 vendor/twig/twig/src/Profiler/Dumper/BaseDumper.php create mode 100644 vendor/twig/twig/src/Profiler/Dumper/BlackfireDumper.php create mode 100644 vendor/twig/twig/src/Profiler/Dumper/HtmlDumper.php create mode 100644 vendor/twig/twig/src/Profiler/Dumper/TextDumper.php create mode 100644 vendor/twig/twig/src/Profiler/Node/EnterProfileNode.php create mode 100644 vendor/twig/twig/src/Profiler/Node/LeaveProfileNode.php create mode 100644 vendor/twig/twig/src/Profiler/NodeVisitor/ProfilerNodeVisitor.php create mode 100644 vendor/twig/twig/src/Profiler/Profile.php create mode 100644 vendor/twig/twig/src/RuntimeLoader/ContainerRuntimeLoader.php create mode 100644 vendor/twig/twig/src/RuntimeLoader/FactoryRuntimeLoader.php create mode 100644 vendor/twig/twig/src/RuntimeLoader/RuntimeLoaderInterface.php create mode 100644 vendor/twig/twig/src/Sandbox/SecurityError.php create mode 100644 vendor/twig/twig/src/Sandbox/SecurityNotAllowedFilterError.php create mode 100644 vendor/twig/twig/src/Sandbox/SecurityNotAllowedFunctionError.php create mode 100644 vendor/twig/twig/src/Sandbox/SecurityNotAllowedMethodError.php create mode 100644 vendor/twig/twig/src/Sandbox/SecurityNotAllowedPropertyError.php create mode 100644 vendor/twig/twig/src/Sandbox/SecurityNotAllowedTagError.php create mode 100644 vendor/twig/twig/src/Sandbox/SecurityPolicy.php create mode 100644 vendor/twig/twig/src/Sandbox/SecurityPolicyInterface.php create mode 100644 vendor/twig/twig/src/Source.php create mode 100644 vendor/twig/twig/src/Template.php create mode 100644 vendor/twig/twig/src/TemplateWrapper.php create mode 100644 vendor/twig/twig/src/Test/IntegrationTestCase.php create mode 100644 vendor/twig/twig/src/Test/NodeTestCase.php create mode 100644 vendor/twig/twig/src/Token.php create mode 100644 vendor/twig/twig/src/TokenParser/AbstractTokenParser.php create mode 100644 vendor/twig/twig/src/TokenParser/AutoEscapeTokenParser.php create mode 100644 vendor/twig/twig/src/TokenParser/BlockTokenParser.php create mode 100644 vendor/twig/twig/src/TokenParser/DoTokenParser.php create mode 100644 vendor/twig/twig/src/TokenParser/EmbedTokenParser.php create mode 100644 vendor/twig/twig/src/TokenParser/ExtendsTokenParser.php create mode 100644 vendor/twig/twig/src/TokenParser/FilterTokenParser.php create mode 100644 vendor/twig/twig/src/TokenParser/FlushTokenParser.php create mode 100644 vendor/twig/twig/src/TokenParser/ForTokenParser.php create mode 100644 vendor/twig/twig/src/TokenParser/FromTokenParser.php create mode 100644 vendor/twig/twig/src/TokenParser/IfTokenParser.php create mode 100644 vendor/twig/twig/src/TokenParser/ImportTokenParser.php create mode 100644 vendor/twig/twig/src/TokenParser/IncludeTokenParser.php create mode 100644 vendor/twig/twig/src/TokenParser/MacroTokenParser.php create mode 100644 vendor/twig/twig/src/TokenParser/SandboxTokenParser.php create mode 100644 vendor/twig/twig/src/TokenParser/SetTokenParser.php create mode 100644 vendor/twig/twig/src/TokenParser/SpacelessTokenParser.php create mode 100644 vendor/twig/twig/src/TokenParser/TokenParserInterface.php create mode 100644 vendor/twig/twig/src/TokenParser/UseTokenParser.php create mode 100644 vendor/twig/twig/src/TokenParser/WithTokenParser.php create mode 100644 vendor/twig/twig/src/TokenStream.php create mode 100644 vendor/twig/twig/src/TwigFilter.php create mode 100644 vendor/twig/twig/src/TwigFunction.php create mode 100644 vendor/twig/twig/src/TwigTest.php create mode 100644 vendor/twig/twig/src/Util/DeprecationCollector.php create mode 100644 vendor/twig/twig/src/Util/TemplateDirIterator.php create mode 100644 webserver-configs/Caddyfile create mode 100644 webserver-configs/Caddyfile-0.8.x create mode 100644 webserver-configs/htaccess.txt create mode 100644 webserver-configs/lighttpd.conf create mode 100644 webserver-configs/nginx.conf create mode 100644 webserver-configs/web.config diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..29301fc --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +# media # +*.mp3 +*.mov diff --git a/.htaccess b/.htaccess new file mode 100644 index 0000000..3d233a7 --- /dev/null +++ b/.htaccess @@ -0,0 +1,75 @@ + + +RewriteEngine On + +## Begin RewriteBase +# If you are getting 500 or 404 errors on subpages, you may have to uncomment the RewriteBase entry +# You should change the '/' to your appropriate subfolder. For example if you have +# your Grav install at the root of your site '/' should work, else it might be something +# along the lines of: RewriteBase / +## + +# RewriteBase /ethica + +## End - RewriteBase + +## Begin - X-Forwarded-Proto +# In some hosted or load balanced environments, SSL negotiation happens upstream. +# In order for Grav to recognize the connection as secure, you need to uncomment +# the following lines. +# +# RewriteCond %{HTTP:X-Forwarded-Proto} https +# RewriteRule .* - [E=HTTPS:on] +# +## End - X-Forwarded-Proto + +## Begin - Exploits +# If you experience problems on your site block out the operations listed below +# This attempts to block the most common type of exploit `attempts` to Grav +# +# Block out any script trying to base64_encode data within the URL. +RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR] +# Block out any script that includes a + "; + } + // line 51 + echo " env, $this->getAttribute($this->getAttribute(($context["plugin"] ?? null), "premium", array()), "product_permalink", array()), "html", null, true); + echo "\" target=\"_blank\" data-gumroad-single-product=\"true\"> "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("Buy Now"), "html", null, true); + echo " + "; + } else { + // line 53 + echo " env, $this->getAttribute(($context["plugin"] ?? null), "slug", array()), "html", null, true); + echo "\" data-plugin-action=\"start-package-installation\"> "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.INSTALL_PLUGIN"), "html", null, true); + echo " + "; + } + // line 55 + echo " +"; + } + // line 57 + echo " +"; + // line 58 + $this->loadTemplate("partials/modal-changes-detected.html.twig", "partials/plugins-details.html.twig", 58)->display($context); + // line 59 + $this->loadTemplate("partials/modal-add-package.html.twig", "partials/plugins-details.html.twig", 59)->display(array_merge($context, array("type" => "plugin"))); + // line 60 + $this->loadTemplate("partials/modal-update-packages.html.twig", "partials/plugins-details.html.twig", 60)->display(array_merge($context, array("type" => "plugin"))); + // line 61 + $this->loadTemplate("partials/modal-remove-package.html.twig", "partials/plugins-details.html.twig", 61)->display(array_merge($context, array("type" => "plugin", "package" => ($context["plugin"] ?? null)))); + // line 62 + $this->loadTemplate("partials/modal-reinstall-package.html.twig", "partials/plugins-details.html.twig", 62)->display(array_merge($context, array("type" => "plugin", "package" => ($context["plugin"] ?? null)))); + } + + public function getTemplateName() + { + return "partials/plugins-details.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 174 => 62, 172 => 61, 170 => 60, 168 => 59, 166 => 58, 163 => 57, 159 => 55, 151 => 53, 143 => 51, 139 => 49, 136 => 48, 133 => 47, 131 => 46, 128 => 45, 124 => 43, 117 => 40, 111 => 38, 109 => 37, 105 => 35, 103 => 34, 100 => 33, 97 => 32, 94 => 31, 92 => 30, 88 => 28, 86 => 27, 82 => 26, 78 => 24, 74 => 23, 69 => 22, 61 => 18, 58 => 17, 52 => 15, 49 => 14, 43 => 12, 41 => 11, 37 => 10, 30 => 6, 27 => 5, 25 => 4, 23 => 3, 21 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% set gpm = admin.gpm() %} +{% set installed = gpm.isPluginInstalled(admin.route) %} +{% set isTestingRelease = gpm.isTestingRelease(plugin.slug) %} +{% set gumroad_loaded = false %} + +
+
+ +

+ {{ plugin.name|e }} + {% if admin.isTeamGrav(plugin) %} + + {% endif %} + {% if admin.isPremiumProduct(plugin) %} + {{ \"PLUGIN_ADMIN.PREMIUM_PRODUCT\"|tu }} + {% endif %} + {% if plugin.symlink %} + + + + {% endif %} + {{ plugin.version ? 'v' ~ plugin.version|e }} + {% if isTestingRelease %}test release{% endif %} +

+
+ + {% include 'partials/plugin-data.html.twig' with { plugin: plugin } %} +
+ +{% if (installed) %} + {% set data = admin.data('plugins/' ~ admin.route) %} + {% include 'partials/blueprints.html.twig' with { data: data, blueprints: data.blueprints } %} + + {% if (plugin.form.fields.enabled.type != 'hidden' and plugin.form.fields.tabs.fields.login.fields.enabled.type != 'hidden') %} + + {% endif %} + +{% else %} +
+ {% if (plugin.premium and not admin.license(plugin.slug)) %} + {% if not gumroad_loaded %} + {% set gumroad_loaded = true %} + + {% endif %} + {{ \"Buy Now\"|tu }} + {% else %} + {{ \"PLUGIN_ADMIN.INSTALL_PLUGIN\"|tu }} + {% endif %} +
+{% endif %} + +{% include 'partials/modal-changes-detected.html.twig' %} +{% include 'partials/modal-add-package.html.twig' with { type: 'plugin' } %} +{% include 'partials/modal-update-packages.html.twig' with { type: 'plugin' } %} +{% include 'partials/modal-remove-package.html.twig' with { type: 'plugin', package: plugin } %} +{% include 'partials/modal-reinstall-package.html.twig' with { type: 'plugin', package: plugin } %} +", "partials/plugins-details.html.twig", "/home/kevin/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/plugins-details.html.twig"); + } +} diff --git a/cache/twig/05/056bc0d4f9a265a4a5605055305ba3ad27d5884c3b152201a9921e47a1a573be.php b/cache/twig/05/056bc0d4f9a265a4a5605055305ba3ad27d5884c3b152201a9921e47a1a573be.php new file mode 100644 index 0000000..1d706c4 --- /dev/null +++ b/cache/twig/05/056bc0d4f9a265a4a5605055305ba3ad27d5884c3b152201a9921e47a1a573be.php @@ -0,0 +1,109 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + if ($this->getAttribute(($context["field"] ?? null), "fields", array())) { + // line 2 + echo "
+ "; + // line 3 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute($context["field"], "fields", array())); + $context['loop'] = array( + 'parent' => $context['_parent'], + 'index0' => 0, + 'index' => 1, + 'first' => true, + ); + if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) { + $length = count($context['_seq']); + $context['loop']['revindex0'] = $length - 1; + $context['loop']['revindex'] = $length; + $context['loop']['length'] = $length; + $context['loop']['last'] = 1 === $length; + } + foreach ($context['_seq'] as $context["_key"] => $context["field"]) { + // line 4 + echo " "; + if ($this->getAttribute($context["field"], "type", array())) { + // line 5 + echo " "; + $context["value"] = (($this->getAttribute($context["field"], "name", array())) ? ($this->getAttribute(($context["data"] ?? null), "value", array(0 => $this->getAttribute($context["field"], "name", array())), "method")) : ($this->getAttribute(($context["data"] ?? null), "toArray", array()))); + // line 6 + echo " "; + $this->loadTemplate(array(0 => (((("forms/fields/" . $this->getAttribute($context["field"], "type", array())) . "/") . $this->getAttribute($context["field"], "type", array())) . ".html.twig"), 1 => "forms/fields/text/text.html.twig"), "forms/fields/tab/tab.html.twig", 6)->display($context); + // line 7 + echo " "; + } + // line 8 + echo " "; + ++$context['loop']['index0']; + ++$context['loop']['index']; + $context['loop']['first'] = false; + if (isset($context['loop']['length'])) { + --$context['loop']['revindex0']; + --$context['loop']['revindex']; + $context['loop']['last'] = 0 === $context['loop']['revindex0']; + } + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['field'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 9 + echo "
+"; + } + } + + public function getTemplateName() + { + return "forms/fields/tab/tab.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 67 => 9, 53 => 8, 50 => 7, 47 => 6, 44 => 5, 41 => 4, 24 => 3, 21 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% if field.fields %} +
+ {% for field in field.fields %} + {% if field.type %} + {% set value = field.name ? data.value(field.name) : data.toArray %} + {% include [\"forms/fields/#{field.type}/#{field.type}.html.twig\", 'forms/fields/text/text.html.twig'] %} + {% endif %} + {% endfor %} +
+{% endif %} +", "forms/fields/tab/tab.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/forms/fields/tab/tab.html.twig"); + } +} diff --git a/cache/twig/05/05ead202ad3065c9eeb26eedf5949cd728a7e6fa513c6913a83ae0e94afea90d.php b/cache/twig/05/05ead202ad3065c9eeb26eedf5949cd728a7e6fa513c6913a83ae0e94afea90d.php new file mode 100644 index 0000000..d46efeb --- /dev/null +++ b/cache/twig/05/05ead202ad3065c9eeb26eedf5949cd728a7e6fa513c6913a83ae0e94afea90d.php @@ -0,0 +1,209 @@ +parent = $this->loadTemplate("forms/field.html.twig", "forms/fields/textarea/textarea.html.twig", 1); + $this->blocks = array( + 'input' => array($this, 'block_input'), + 'input_attributes' => array($this, 'block_input_attributes'), + ); + } + + protected function doGetParent(array $context) + { + return "forms/field.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 3 + public function block_input($context, array $blocks = array()) + { + // line 4 + echo "
env, ((($context["form_field_wrapper_classes"] ?? null)) ? (($context["form_field_wrapper_classes"] ?? null)) : ("form-textarea-wrapper")), "html", null, true); + echo " "; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "size", array()), "html", null, true); + echo " "; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "wrapper_classes", array()), "html", null, true); + echo "\"> + +
+"; + } + + // line 9 + public function block_input_attributes($context, array $blocks = array()) + { + // line 10 + echo " class=\""; + echo twig_escape_filter($this->env, ($context["form_field_textarea_classes"] ?? null), "html", null, true); + echo " "; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "classes", array()), "html", null, true); + echo "\" + "; + // line 11 + if ($this->getAttribute(($context["field"] ?? null), "id", array(), "any", true, true)) { + echo "id=\""; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "id", array())); + echo "\" "; + } + // line 12 + echo " "; + if ($this->getAttribute(($context["field"] ?? null), "style", array(), "any", true, true)) { + echo "style=\""; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "style", array())); + echo "\" "; + } + // line 13 + echo " "; + if (($this->getAttribute(($context["field"] ?? null), "disabled", array()) || ($context["isDisabledToggleable"] ?? null))) { + echo "disabled=\"disabled\""; + } + // line 14 + echo " "; + if ($this->getAttribute(($context["field"] ?? null), "placeholder", array())) { + echo "placeholder=\""; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->translate($this->getAttribute(($context["field"] ?? null), "placeholder", array())), "html", null, true); + echo "\""; + } + // line 15 + echo " "; + if (twig_in_filter($this->getAttribute(($context["field"] ?? null), "autofocus", array()), array(0 => "on", 1 => "true", 2 => 1))) { + echo "autofocus=\"autofocus\""; + } + // line 16 + echo " "; + if (twig_in_filter($this->getAttribute(($context["field"] ?? null), "novalidate", array()), array(0 => "on", 1 => "true", 2 => 1))) { + echo "novalidate=\"novalidate\""; + } + // line 17 + echo " "; + if (twig_in_filter($this->getAttribute(($context["field"] ?? null), "readonly", array()), array(0 => "on", 1 => "true", 2 => 1))) { + echo "readonly=\"readonly\""; + } + // line 18 + echo " "; + if (twig_in_filter($this->getAttribute(($context["field"] ?? null), "autocomplete", array()), array(0 => "on", 1 => "off"))) { + echo "autocomplete=\""; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "autocomplete", array()), "html", null, true); + echo "\""; + } + // line 19 + echo " "; + if (twig_in_filter($this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "required", array()), array(0 => "on", 1 => "true", 2 => 1))) { + echo "required=\"required\""; + } + // line 20 + echo " "; + if ($this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "pattern", array())) { + echo "pattern=\""; + echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "pattern", array()), "html", null, true); + echo "\""; + } + // line 21 + echo " "; + if ($this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "message", array())) { + echo "title=\""; + if ($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["grav"] ?? null), "twig", array(), "any", false, true), "twig", array(), "any", false, true), "filters", array(), "any", false, true), "tu", array(), "array", true, true)) { + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter($this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "message", array()))); + } else { + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->translate($this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "message", array()))); + } + echo "\""; + } + // line 22 + echo " "; + if ($this->getAttribute(($context["field"] ?? null), "rows", array(), "any", true, true)) { + echo "rows=\""; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "rows", array()), "html", null, true); + echo "\""; + } + // line 23 + echo " "; + if ($this->getAttribute(($context["field"] ?? null), "cols", array(), "any", true, true)) { + echo "cols=\""; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "cols", array()), "html", null, true); + echo "\""; + } + // line 24 + echo " "; + } + + public function getTemplateName() + { + return "forms/fields/textarea/textarea.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 152 => 24, 145 => 23, 138 => 22, 127 => 21, 120 => 20, 115 => 19, 108 => 18, 103 => 17, 98 => 16, 93 => 15, 86 => 14, 81 => 13, 74 => 12, 68 => 11, 61 => 10, 58 => 9, 50 => 25, 47 => 9, 42 => 7, 32 => 4, 29 => 3, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends \"forms/field.html.twig\" %} + +{% block input %} +
+ +
+{% endblock %} +", "forms/fields/textarea/textarea.html.twig", "/home/kevin/Sites/static-ethica.net/user/plugins/form/templates/forms/fields/textarea/textarea.html.twig"); + } +} diff --git a/cache/twig/08/08d5266f3f07dda8f46425e0dc9853b3b099d3478a7c095c0e3bc91d88f7ecc2.php b/cache/twig/08/08d5266f3f07dda8f46425e0dc9853b3b099d3478a7c095c0e3bc91d88f7ecc2.php new file mode 100644 index 0000000..7f6e0db --- /dev/null +++ b/cache/twig/08/08d5266f3f07dda8f46425e0dc9853b3b099d3478a7c095c0e3bc91d88f7ecc2.php @@ -0,0 +1,49 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "plugins", array()), "admin", array()), "twofa_enabled", array()), "html", null, true); + } + + public function getTemplateName() + { + return "{{ config.plugins.admin.twofa_enabled }}"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{{ config.plugins.admin.twofa_enabled }}", "{{ config.plugins.admin.twofa_enabled }}", ""); + } +} diff --git a/cache/twig/0b/0b8471b9f41874e16558e54a1e3d8eee9f3cc3d0bf72b44a1769678811205e38.php b/cache/twig/0b/0b8471b9f41874e16558e54a1e3d8eee9f3cc3d0bf72b44a1769678811205e38.php new file mode 100644 index 0000000..4fe7830 --- /dev/null +++ b/cache/twig/0b/0b8471b9f41874e16558e54a1e3d8eee9f3cc3d0bf72b44a1769678811205e38.php @@ -0,0 +1,121 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + if ($this->env->getExtension('Grav\Common\Twig\TwigExtension')->authorize(array(0 => "admin.statistics", 1 => "admin.super"))) { + // line 2 + echo "
env, twig_jsonencode_filter(array("series" => array(0 => $this->getAttribute($this->getAttribute(($context["popularity"] ?? null), "getDailyChartData", array()), "data", array(), "array")), "labels" => $this->getAttribute($this->getAttribute(($context["popularity"] ?? null), "getDailyChartData", array()), "labels", array(), "array"))), "html_attr"); + echo "\"> +
+

"; + // line 4 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.STATISTICS"), "html", null, true); + echo "

+
+
+
+ + "; + // line 9 + echo twig_escape_filter($this->env, $this->getAttribute(($context["popularity"] ?? null), "getDailyTotal", array()), "html", null, true); + echo " + "; + // line 10 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.TODAY"), "html", null, true); + echo " + + + "; + // line 13 + echo twig_escape_filter($this->env, $this->getAttribute(($context["popularity"] ?? null), "getWeeklyTotal", array()), "html", null, true); + echo " + "; + // line 14 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.WEEK"), "html", null, true); + echo " + + + "; + // line 17 + echo twig_escape_filter($this->env, $this->getAttribute(($context["popularity"] ?? null), "getMonthlyTotal", array()), "html", null, true); + echo " + "; + // line 18 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.MONTH"), "html", null, true); + echo " + +
+
+
+
+"; + } + } + + public function getTemplateName() + { + return "partials/dashboard-statistics.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 59 => 18, 55 => 17, 49 => 14, 45 => 13, 39 => 10, 35 => 9, 27 => 4, 21 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% if authorize(['admin.statistics', 'admin.super']) %} +
+
+

{{ \"PLUGIN_ADMIN.STATISTICS\"|tu }}

+
+
+
+ + {{ popularity.getDailyTotal }} + {{ \"PLUGIN_ADMIN.TODAY\"|tu }} + + + {{ popularity.getWeeklyTotal }} + {{ \"PLUGIN_ADMIN.WEEK\"|tu }} + + + {{ popularity.getMonthlyTotal }} + {{ \"PLUGIN_ADMIN.MONTH\"|tu }} + +
+
+
+
+{% endif %} +", "partials/dashboard-statistics.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/dashboard-statistics.html.twig"); + } +} diff --git a/cache/twig/0c/0cb5f91895635a9559b9b709c0df21d522ceaee0b82bc5424bc85fc5e63b79d7.php b/cache/twig/0c/0cb5f91895635a9559b9b709c0df21d522ceaee0b82bc5424bc85fc5e63b79d7.php new file mode 100644 index 0000000..7fe7432 --- /dev/null +++ b/cache/twig/0c/0cb5f91895635a9559b9b709c0df21d522ceaee0b82bc5424bc85fc5e63b79d7.php @@ -0,0 +1,185 @@ +parent = $this->loadTemplate("forms/field.html.twig", "forms/fields/themeselect/themeselect.html.twig", 1); + $this->blocks = array( + 'global_attributes' => array($this, 'block_global_attributes'), + 'input' => array($this, 'block_input'), + ); + } + + protected function doGetParent(array $context) + { + return "forms/field.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 3 + $context["options"] = array(); + // line 4 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["admin"] ?? null), "themes", array())); + foreach ($context['_seq'] as $context["slug"] => $context["package"]) { + // line 5 + $context["option"] = array($context["slug"] => $this->getAttribute($this->getAttribute($context["package"], "toArray", array(), "method"), "name", array())); + // line 6 + $context["options"] = twig_array_merge(($context["options"] ?? null), ($context["option"] ?? null)); + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['slug'], $context['package'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 1 + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 9 + public function block_global_attributes($context, array $blocks = array()) + { + // line 10 + echo " data-grav-selectize=\""; + echo twig_escape_filter($this->env, twig_jsonencode_filter((($this->getAttribute(($context["field"] ?? null), "selectize", array(), "any", true, true)) ? ($this->getAttribute(($context["field"] ?? null), "selectize", array())) : (array()))), "html_attr"); + echo "\" + data-grav-field=\"select\" + data-grav-disabled=\""; + // line 12 + echo (((null === ($context["originalValue"] ?? null))) ? ("true") : ("false")); + echo "\" + data-grav-default=\""; + // line 13 + echo twig_escape_filter($this->env, twig_jsonencode_filter($this->getAttribute(($context["field"] ?? null), "default", array())), "html_attr"); + echo "\" +"; + } + + // line 16 + public function block_input($context, array $blocks = array()) + { + // line 17 + echo "
env, $this->getAttribute(($context["field"] ?? null), "size", array()), "html", null, true); + echo "\"> + +
+"; + } + + public function getTemplateName() + { + return "forms/fields/themeselect/themeselect.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 122 => 27, 107 => 25, 103 => 24, 96 => 23, 91 => 22, 86 => 21, 81 => 20, 77 => 19, 71 => 18, 66 => 17, 63 => 16, 57 => 13, 53 => 12, 47 => 10, 44 => 9, 40 => 1, 34 => 6, 32 => 5, 28 => 4, 26 => 3, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends \"forms/field.html.twig\" %} + +{% set options = {} %} +{% for slug, package in admin.themes %} + {% set option = {(slug): package.toArray().name} %} + {% set options = options|merge(option) %} +{% endfor %} + +{% block global_attributes %} + data-grav-selectize=\"{{ (field.selectize is defined ? field.selectize : {})|json_encode()|e('html_attr') }}\" + data-grav-field=\"select\" + data-grav-disabled=\"{{ originalValue is null ? 'true' : 'false' }}\" + data-grav-default=\"{{ field.default|json_encode()|e('html_attr') }}\" +{% endblock %} + +{% block input %} +
+ +
+{% endblock %} + + +", "forms/fields/themeselect/themeselect.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/forms/fields/themeselect/themeselect.html.twig"); + } +} diff --git a/cache/twig/0f/0f7af880b778a16f24a311f3f46bb7b7281950c37dd86d7bfc29309432147627.php b/cache/twig/0f/0f7af880b778a16f24a311f3f46bb7b7281950c37dd86d7bfc29309432147627.php new file mode 100644 index 0000000..3704392 --- /dev/null +++ b/cache/twig/0f/0f7af880b778a16f24a311f3f46bb7b7281950c37dd86d7bfc29309432147627.php @@ -0,0 +1,164 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + echo "
+
+
+

"; + // line 6 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.REINSTALL_THE", array(0 => $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter(("PLUGIN_ADMIN." . twig_upper_filter($this->env, ($context["type"] ?? null))))))); + echo "

+

+ "; + // line 8 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.CONFIRM_REINSTALL", array(0 => $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter(("PLUGIN_ADMIN." . twig_upper_filter($this->env, ($context["type"] ?? null))))))); + echo " +

+ + +
+ + + + +
+ "; + // line 25 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.INSTALLING")); + echo ".. +
+
+
+ +
+

"; + // line 31 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.REINSTALLED_SUCCESSFULLY", array(0 => $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter(("PLUGIN_ADMIN." . twig_upper_filter($this->env, ($context["type"] ?? null))))))); + echo "

+
+ +
+

"; + // line 35 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.ERROR_REINSTALLING_THE", array(0 => $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter(("PLUGIN_ADMIN." . twig_upper_filter($this->env, ($context["type"] ?? null))))))); + echo "

+
+
+
+"; + } + + public function getTemplateName() + { + return "partials/modal-reinstall-package.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 91 => 35, 84 => 31, 75 => 25, 69 => 22, 65 => 21, 61 => 20, 57 => 19, 53 => 18, 49 => 17, 44 => 15, 37 => 11, 31 => 8, 26 => 6, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("
+
+
+

{{ \"PLUGIN_ADMIN.REINSTALL_THE\"|tu([(\"PLUGIN_ADMIN.\" ~ type|upper)|tu])|e }}

+

+ {{ \"PLUGIN_ADMIN.CONFIRM_REINSTALL\"|tu([(\"PLUGIN_ADMIN.\" ~ type|upper)|tu])|e }} +

+ + +
+ + + + +
+ {{ \"PLUGIN_ADMIN.INSTALLING\"|tu|e }}.. +
+
+
+ +
+

{{ \"PLUGIN_ADMIN.REINSTALLED_SUCCESSFULLY\"|tu([(\"PLUGIN_ADMIN.\" ~ type|upper)|tu])|e }}

+
+ +
+

{{ \"PLUGIN_ADMIN.ERROR_REINSTALLING_THE\"|tu([(\"PLUGIN_ADMIN.\" ~ type|upper)|tu])|e }}

+
+
+
+", "partials/modal-reinstall-package.html.twig", "/home/kevin/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/modal-reinstall-package.html.twig"); + } +} diff --git a/cache/twig/15/15962f8b7e50d93e0f7ee266bb1d741bee9581f4a7662c4d98c36e1bcb97bc83.php b/cache/twig/15/15962f8b7e50d93e0f7ee266bb1d741bee9581f4a7662c4d98c36e1bcb97bc83.php new file mode 100644 index 0000000..2276052 --- /dev/null +++ b/cache/twig/15/15962f8b7e50d93e0f7ee266bb1d741bee9581f4a7662c4d98c36e1bcb97bc83.php @@ -0,0 +1,156 @@ +parent = $this->loadTemplate("partials/base.html.twig", "partials/login.html.twig", 1); + $this->blocks = array( + 'messages' => array($this, 'block_messages'), + 'body' => array($this, 'block_body'), + 'instructions' => array($this, 'block_instructions'), + 'form' => array($this, 'block_form'), + ); + } + + protected function doGetParent(array $context) + { + return "partials/base.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 2 + $context["scope"] = ((($context["scope"] ?? null)) ? (($context["scope"] ?? null)) : ("data.")); + // line 1 + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 3 + public function block_messages($context, array $blocks = array()) + { + } + + // line 5 + public function block_body($context, array $blocks = array()) + { + // line 6 + echo " +
env, ($context["classes"] ?? null), "html", null, true); + echo "\"> +

+ "; + // line 9 + echo twig_escape_filter($this->env, ($context["title"] ?? null), "html", null, true); + echo " +

+ + "; + // line 12 + $this->loadTemplate("partials/messages.html.twig", "partials/login.html.twig", 12)->display($context); + // line 13 + echo " + "; + // line 14 + $this->displayBlock('instructions', $context, $blocks); + // line 15 + echo " + "; + // line 16 + $context["redirect"] = ((($context["redirect"] ?? null)) ? (($context["redirect"] ?? null)) : ($this->getAttribute(($context["uri"] ?? null), "route", array(0 => false), "method"))); + // line 17 + echo " +
env, ($context["base_url_relative"] ?? null), "html", null, true); + echo "\"> +
+ "; + // line 20 + $this->displayBlock('form', $context, $blocks); + // line 21 + echo " env, ($context["redirect"] ?? null), "html", null, true); + echo "\" /> + "; + // line 22 + echo $this->env->getExtension('Grav\Common\Twig\TwigExtension')->nonceFieldFunc("admin-form", "admin-nonce"); + echo " +
+
+
+ +"; + } + + // line 14 + public function block_instructions($context, array $blocks = array()) + { + } + + // line 20 + public function block_form($context, array $blocks = array()) + { + } + + public function getTemplateName() + { + return "partials/login.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 98 => 20, 93 => 14, 83 => 22, 78 => 21, 76 => 20, 71 => 18, 68 => 17, 66 => 16, 63 => 15, 61 => 14, 58 => 13, 56 => 12, 50 => 9, 45 => 7, 42 => 6, 39 => 5, 34 => 3, 30 => 1, 28 => 2, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends 'partials/base.html.twig' %} +{% set scope = scope ?: 'data.' %} +{% block messages %}{% endblock %} + +{% block body %} + +
+

+ {{ title }} +

+ + {% include 'partials/messages.html.twig' %} + + {% block instructions %}{% endblock %} + + {% set redirect = redirect ?: uri.route(false) %} + +
+
+ {% block form %}{% endblock %} + + {{ nonce_field('admin-form', 'admin-nonce')|raw }} +
+
+
+ +{% endblock %} +", "partials/login.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/login.html.twig"); + } +} diff --git a/cache/twig/16/163e1498525bc34b95708ae6da1c707263e172795bd86c5d9aeedb08c2c3db98.php b/cache/twig/16/163e1498525bc34b95708ae6da1c707263e172795bd86c5d9aeedb08c2c3db98.php new file mode 100644 index 0000000..37366ea --- /dev/null +++ b/cache/twig/16/163e1498525bc34b95708ae6da1c707263e172795bd86c5d9aeedb08c2c3db98.php @@ -0,0 +1,42 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + } + + public function getTemplateName() + { + return "empty.html.twig"; + } + + public function getDebugInfo() + { + return array (); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("", "empty.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/empty.html.twig"); + } +} diff --git a/cache/twig/18/1871fb2d2d03e7d0d43215bff69c642d0ec876390d460ab66bd8aca68306844d.php b/cache/twig/18/1871fb2d2d03e7d0d43215bff69c642d0ec876390d460ab66bd8aca68306844d.php new file mode 100644 index 0000000..0cef359 --- /dev/null +++ b/cache/twig/18/1871fb2d2d03e7d0d43215bff69c642d0ec876390d460ab66bd8aca68306844d.php @@ -0,0 +1,337 @@ +parent = $this->loadTemplate("partials/base.html.twig", "themes.html.twig", 1); + $this->blocks = array( + 'stylesheets' => array($this, 'block_stylesheets'), + 'javascripts' => array($this, 'block_javascripts'), + 'titlebar' => array($this, 'block_titlebar'), + 'messages' => array($this, 'block_messages'), + 'content' => array($this, 'block_content'), + ); + } + + protected function doGetParent(array $context) + { + return "partials/base.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 3 + if ($this->getAttribute(($context["admin"] ?? null), "route", array())) { + // line 4 + $context["installing"] = (is_string($__internal_62b8b8f4b6426054e58af8cd2a95667079b12a0ceba7720cb80827bece622b94 = $this->getAttribute(($context["admin"] ?? null), "route", array())) && is_string($__internal_38d13f1312ef9f9145aa02a0def90d44714d34cd7c0e01a4dd2513f054c9a8ba = "install") && ('' === $__internal_38d13f1312ef9f9145aa02a0def90d44714d34cd7c0e01a4dd2513f054c9a8ba || 0 === strpos($__internal_62b8b8f4b6426054e58af8cd2a95667079b12a0ceba7720cb80827bece622b94, $__internal_38d13f1312ef9f9145aa02a0def90d44714d34cd7c0e01a4dd2513f054c9a8ba))); + // line 6 + if (($context["installing"] ?? null)) { + // line 7 + $context["title"] = $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.THEMES"); + } else { + // line 9 + $context["installed"] = true; + // line 12 + $context["package"] = $this->getAttribute($this->getAttribute(($context["admin"] ?? null), "themes", array(0 => true), "method"), $this->getAttribute(($context["admin"] ?? null), "route", array()), array(), "array"); + // line 13 + if ( !($context["package"] ?? null)) { + // line 14 + $context["package"] = $this->getAttribute($this->getAttribute(($context["admin"] ?? null), "themes", array(0 => false), "method"), $this->getAttribute(($context["admin"] ?? null), "route", array()), array(), "array"); + // line 15 + $context["installed"] = false; + } + // line 18 + $context["theme"] = $this->getAttribute(($context["package"] ?? null), "toArray", array(), "method"); + // line 19 + $context["title"] = (($this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.THEME") . ": ") . twig_escape_filter($this->env, $this->getAttribute(($context["theme"] ?? null), "name", array()))); + } + } else { + // line 22 + $context["title"] = $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.THEMES"); + } + // line 25 + if (($this->getAttribute(($context["admin"] ?? null), "route", array()) || ($context["installing"] ?? null))) { + } + // line 1 + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 26 + public function block_stylesheets($context, array $blocks = array()) + { + // line 27 + echo " "; + $this->getAttribute(($context["assets"] ?? null), "addCss", array(0 => (($context["theme_url"] ?? null) . "/css/codemirror/codemirror.css")), "method"); + // line 28 + echo " "; + $this->displayParentBlock("stylesheets", $context, $blocks); + echo " + "; + } + + // line 31 + public function block_javascripts($context, array $blocks = array()) + { + // line 32 + echo " "; + $this->displayParentBlock("javascripts", $context, $blocks); + echo " + "; + } + + // line 36 + public function block_titlebar($context, array $blocks = array()) + { + // line 37 + echo " "; + if (( !$this->getAttribute(($context["admin"] ?? null), "route", array()) || ($context["installing"] ?? null))) { + // line 38 + echo "
+ "; + // line 39 + if (($context["installing"] ?? null)) { + // line 40 + echo " env, ($context["base_url_relative"] ?? null), "html", null, true); + echo "/themes\"> "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.BACK"), "html", null, true); + echo " + "; + } else { + // line 42 + echo " env, ($context["base_url"] ?? null), "html", null, true); + echo "/\"> "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.BACK"), "html", null, true); + echo " + env, ($context["base_url_relative"] ?? null), "html", null, true); + echo "/themes/install\"> "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.ADD"), "html", null, true); + echo " + "; + // line 44 + if ($this->env->getExtension('Grav\Common\Twig\TwigExtension')->authorize(array(0 => "admin.maintenance", 1 => "admin.super"))) { + // line 45 + echo " + "; + } + // line 47 + echo " "; + } + // line 48 + echo "
+

"; + // line 49 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.THEMES"), "html", null, true); + echo "

+ "; + } else { + // line 51 + echo " "; + if (($context["installed"] ?? null)) { + // line 52 + echo "
+ env, ($context["base_url_relative"] ?? null), "html", null, true); + echo "/themes\"> "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.BACK_TO_THEMES"), "html", null, true); + echo " + +
+ "; + } else { + // line 57 + echo " + "; + } + // line 61 + echo "

"; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.THEME"), "html", null, true); + echo ": "; + echo twig_escape_filter($this->env, $this->getAttribute(($context["theme"] ?? null), "name", array())); + echo "

+ "; + } + } + + // line 65 + public function block_messages($context, array $blocks = array()) + { + // line 66 + echo " "; + $this->displayParentBlock("messages", $context, $blocks); + echo " + "; + // line 67 + if ($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "plugins", array()), "admin", array()), "notifications", array()), "themes", array())) { + // line 68 + echo "
+ "; + } + } + + // line 72 + public function block_content($context, array $blocks = array()) + { + // line 73 + echo "
+ "; + // line 74 + if (( !$this->getAttribute(($context["admin"] ?? null), "route", array()) || ($context["installing"] ?? null))) { + // line 75 + echo " "; + $this->loadTemplate("partials/themes-list.html.twig", "themes.html.twig", 75)->display($context); + // line 76 + echo " "; + } else { + // line 77 + echo " "; + if ((null === ($context["theme"] ?? null))) { + // line 78 + echo " "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->redirectFunc((($context["base_url_relative"] ?? null) . "/404")), "html", null, true); + echo " + "; + } + // line 80 + echo " "; + $this->loadTemplate("partials/themes-details.html.twig", "themes.html.twig", 80)->display($context); + // line 81 + echo " "; + } + // line 82 + echo "
+"; + } + + public function getTemplateName() + { + return "themes.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 223 => 82, 220 => 81, 217 => 80, 211 => 78, 208 => 77, 205 => 76, 202 => 75, 200 => 74, 197 => 73, 194 => 72, 188 => 68, 186 => 67, 181 => 66, 178 => 65, 168 => 61, 160 => 58, 157 => 57, 151 => 54, 145 => 53, 142 => 52, 139 => 51, 134 => 49, 131 => 48, 128 => 47, 122 => 45, 120 => 44, 114 => 43, 107 => 42, 99 => 40, 97 => 39, 94 => 38, 91 => 37, 88 => 36, 81 => 32, 78 => 31, 71 => 28, 68 => 27, 65 => 26, 61 => 1, 58 => 25, 55 => 22, 51 => 19, 49 => 18, 46 => 15, 44 => 14, 42 => 13, 40 => 12, 38 => 9, 35 => 7, 33 => 6, 31 => 4, 29 => 3, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends 'partials/base.html.twig' %} + +{% if admin.route %} + {% set installing = admin.route starts with 'install' %} + + {% if installing %} + {% set title = \"PLUGIN_ADMIN.THEMES\"|tu %} + {% else %} + {% set installed = true %} + + {# Try installed packages first, then remote #} + {% set package = admin.themes(true)[admin.route] %} + {% if (not package) %} + {% set package = admin.themes(false)[admin.route] %} + {% set installed = false %} + {% endif %} + + {% set theme = package.toArray() %} + {% set title = \"PLUGIN_ADMIN.THEME\"|tu ~ \": \" ~ theme.name|e %} + {% endif %} +{% else %} + {% set title = \"PLUGIN_ADMIN.THEMES\"|tu %} +{% endif %} + +{% if admin.route or installing %} + {% block stylesheets %} + {% do assets.addCss(theme_url~'/css/codemirror/codemirror.css') %} + {{ parent() }} + {% endblock %} + + {% block javascripts %} + {{ parent() }} + {% endblock %} +{% endif %} + +{% block titlebar %} + {% if not admin.route or installing %} +
+ {% if (installing) %} + {{ \"PLUGIN_ADMIN.BACK\"|tu }} + {% else %} + {{ \"PLUGIN_ADMIN.BACK\"|tu }} + {{ \"PLUGIN_ADMIN.ADD\"|tu }} + {% if authorize(['admin.maintenance', 'admin.super']) %} + + {% endif %} + {% endif %} +
+

{{ \"PLUGIN_ADMIN.THEMES\"|tu }}

+ {% else %} + {% if (installed) %} +
+ {{ \"PLUGIN_ADMIN.BACK_TO_THEMES\"|tu }} + +
+ {% else %} + + {% endif %} +

{{ \"PLUGIN_ADMIN.THEME\"|tu }}: {{ theme.name|e }}

+ {% endif %} +{% endblock %} + +{% block messages %} + {{ parent() }} + {% if config.plugins.admin.notifications.themes %} +
+ {% endif %} +{% endblock %} + +{% block content %} +
+ {% if not admin.route or installing %} + {% include 'partials/themes-list.html.twig' %} + {% else %} + {% if theme is null %} + {{redirect_me(base_url_relative ~ '/404')}} + {% endif %} + {% include 'partials/themes-details.html.twig' %} + {% endif %} +
+{% endblock %} +", "themes.html.twig", "/home/kevin/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/themes.html.twig"); + } +} diff --git a/cache/twig/1a/1a075714b0524735995c5a1c05a5d1cc23bb446792abf7269fa0fd2cf16f5e8e.php b/cache/twig/1a/1a075714b0524735995c5a1c05a5d1cc23bb446792abf7269fa0fd2cf16f5e8e.php new file mode 100644 index 0000000..fb0f9af --- /dev/null +++ b/cache/twig/1a/1a075714b0524735995c5a1c05a5d1cc23bb446792abf7269fa0fd2cf16f5e8e.php @@ -0,0 +1,235 @@ +parent = $this->loadTemplate("forms/field.html.twig", "forms/fields/select/select.html.twig", 1); + $this->blocks = array( + 'global_attributes' => array($this, 'block_global_attributes'), + 'input' => array($this, 'block_input'), + ); + } + + protected function doGetParent(array $context) + { + return "forms/field.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 3 + public function block_global_attributes($context, array $blocks = array()) + { + // line 4 + echo " data-grav-selectize=\""; + echo twig_escape_filter($this->env, twig_jsonencode_filter((($this->getAttribute(($context["field"] ?? null), "selectize", array(), "any", true, true)) ? ($this->getAttribute(($context["field"] ?? null), "selectize", array())) : (array()))), "html_attr"); + echo "\" + "; + // line 5 + $this->displayParentBlock("global_attributes", $context, $blocks); + echo " +"; + } + + // line 8 + public function block_input($context, array $blocks = array()) + { + // line 9 + echo "
env, ((($context["form_field_wrapper_classes"] ?? null)) ? (($context["form_field_wrapper_classes"] ?? null)) : ("form-select-wrapper")), "html", null, true); + echo " "; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "size", array()), "html", null, true); + echo " "; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "wrapper_classes", array()), "html", null, true); + echo "\"> + +
+"; + } + + public function getTemplateName() + { + return "forms/fields/select/select.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 169 => 32, 150 => 30, 147 => 29, 144 => 28, 140 => 27, 137 => 26, 127 => 25, 124 => 24, 118 => 22, 115 => 21, 108 => 20, 103 => 19, 98 => 18, 93 => 17, 88 => 16, 83 => 15, 78 => 14, 71 => 13, 65 => 12, 59 => 11, 55 => 10, 46 => 9, 43 => 8, 37 => 5, 32 => 4, 29 => 3, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends \"forms/field.html.twig\" %} + +{% block global_attributes %} + data-grav-selectize=\"{{ (field.selectize is defined ? field.selectize : {})|json_encode()|e('html_attr') }}\" + {{ parent() }} +{% endblock %} + +{% block input %} +
+ +
+{% endblock %} +", "forms/fields/select/select.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/form/templates/forms/fields/select/select.html.twig"); + } +} diff --git a/cache/twig/1b/1b245494d0236888490a1c5d8c5b9114de0179d7f3d238506b3c3cb9b27db17f.php b/cache/twig/1b/1b245494d0236888490a1c5d8c5b9114de0179d7f3d238506b3c3cb9b27db17f.php new file mode 100644 index 0000000..6742222 --- /dev/null +++ b/cache/twig/1b/1b245494d0236888490a1c5d8c5b9114de0179d7f3d238506b3c3cb9b27db17f.php @@ -0,0 +1,55 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + echo "

"; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.AVATAR_BY"), "html", null, true); + echo " gravatar.com. "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.AVATAR_UPLOAD_OWN"), "html", null, true); + echo "

+"; + } + + public function getTemplateName() + { + return "partials/userinfo-avatar-credit.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("

{{ \"PLUGIN_ADMIN.AVATAR_BY\"|tu }} gravatar.com. {{ \"PLUGIN_ADMIN.AVATAR_UPLOAD_OWN\"|tu }}

+", "partials/userinfo-avatar-credit.html.twig", "/home/kevin/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/userinfo-avatar-credit.html.twig"); + } +} diff --git a/cache/twig/1e/1ebcf6b6e46d932616cc1ef32d4d1726001728cb865d1750f0ce78e0c6fd39c7.php b/cache/twig/1e/1ebcf6b6e46d932616cc1ef32d4d1726001728cb865d1750f0ce78e0c6fd39c7.php new file mode 100644 index 0000000..4ab9b6a --- /dev/null +++ b/cache/twig/1e/1ebcf6b6e46d932616cc1ef32d4d1726001728cb865d1750f0ce78e0c6fd39c7.php @@ -0,0 +1,119 @@ +parent = $this->loadTemplate("forms/fields/pages/pages.html.twig", "forms/fields/parents/parents.html.twig", 1); + $this->blocks = array( + 'input' => array($this, 'block_input'), + ); + } + + protected function doGetParent(array $context) + { + return "forms/fields/pages/pages.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 3 + public function block_input($context, array $blocks = array()) + { + // line 4 + echo " "; + $context["last_page_route"] = $this->getAttribute($this->getAttribute(($context["admin"] ?? null), "page", array()), "getLastPageRoute", array()); + // line 5 + echo " "; + $context["show_slug_val"] = true; + // line 6 + echo " "; + $context["show_fullpath_val"] = false; + // line 7 + echo " + "; + // line 8 + $context["show_parents"] = $this->getAttribute(($context["config"] ?? null), "get", array(0 => "plugins.admin.pages.show_parents"), "method"); + // line 9 + echo " "; + if ((($context["show_parents"] ?? null) == "folder")) { + // line 10 + echo " "; + $context["show_slug_val"] = false; + // line 11 + echo " "; + } elseif ((($context["show_parents"] ?? null) == "fullpath")) { + // line 12 + echo " "; + $context["show_fullpath_val"] = true; + // line 13 + echo " "; + } + // line 14 + echo " + "; + // line 15 + $context["defaults"] = array("show_root" => true, "show_all" => true, "show_slug" => ($context["show_slug_val"] ?? null), "show_fullpath" => ($context["show_fullpath_val"] ?? null), "default" => ($context["last_page_route"] ?? null)); + // line 16 + echo " "; + $context["field"] = twig_array_merge(($context["field"] ?? null), ($context["defaults"] ?? null)); + // line 17 + echo " "; + $this->displayParentBlock("input", $context, $blocks); + echo " +"; + } + + public function getTemplateName() + { + return "forms/fields/parents/parents.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 68 => 17, 65 => 16, 63 => 15, 60 => 14, 57 => 13, 54 => 12, 51 => 11, 48 => 10, 45 => 9, 43 => 8, 40 => 7, 37 => 6, 34 => 5, 31 => 4, 28 => 3, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends \"forms/fields/pages/pages.html.twig\" %} + +{% block input %} + {% set last_page_route = admin.page.getLastPageRoute %} + {% set show_slug_val = true %} + {% set show_fullpath_val = false %} + + {% set show_parents = config.get('plugins.admin.pages.show_parents') %} + {% if show_parents == 'folder' %} + {% set show_slug_val = false %} + {% elseif show_parents == 'fullpath' %} + {% set show_fullpath_val = true %} + {% endif %} + + {% set defaults = {show_root:true, show_all:true, show_slug:show_slug_val, show_fullpath:show_fullpath_val, default:last_page_route} %} + {% set field = field|merge(defaults) %} + {{ parent() }} +{% endblock %} +", "forms/fields/parents/parents.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/forms/fields/parents/parents.html.twig"); + } +} diff --git a/cache/twig/20/2061e249bf57b4ee5737347427d69fb5da6eac4588fcb17dac6ef668425ade46.php b/cache/twig/20/2061e249bf57b4ee5737347427d69fb5da6eac4588fcb17dac6ef668425ade46.php new file mode 100644 index 0000000..768905a --- /dev/null +++ b/cache/twig/20/2061e249bf57b4ee5737347427d69fb5da6eac4588fcb17dac6ef668425ade46.php @@ -0,0 +1,277 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + echo "
+
+
+

"; + // line 7 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.UPDATING"), "html", null, true); + echo "

+ +
+

+ "; + // line 11 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.LOADING"), "html", null, true); + echo " + +

+
+ +
+

"; + // line 17 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.DEPENDENCIES_NOT_MET_MESSAGE"), "html", null, true); + echo "

+ +
+

"; + // line 20 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.PACKAGES_NOT_INSTALLED"), "html", null, true); + echo ":

+
    +
    +
    +

    "; + // line 24 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.PACKAGES_NEED_UPDATE"), "html", null, true); + echo ":

    +
      +
      +
      +

      "; + // line 28 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.PACKAGES_SUGGESTED_UPDATE"), "html", null, true); + echo ":

      +
        +
        + + +
        + +
        +

        + "; + // line 40 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.READY_TO_UPDATE_PACKAGES"), "html", null, true); + echo " +

        + +
          + +
          + + env, ($context["type"] ?? null), "html", null, true); + echo "-action=\"install-package\" class=\"button\"> "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.CONTINUE"), "html", null, true); + echo " +
          +
          + +
          +

          + "; + // line 53 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.ERROR_UPDATING_PACKAGES"), "html", null, true); + echo " +

          + +
            + +
            + +
            +
            + +
            +

            + "; + // line 65 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.INSTALLING_DEPENDENCIES"), "html", null, true); + echo " + +

            +
            + +
            +

            + "; + // line 72 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.UPDATING_PACKAGES"), "html", null, true); + echo " + +

            + +
              +
              + +
              +

              + "; + // line 81 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.PACKAGES_SUCCESSFULLY_UPDATED"), "html", null, true); + echo " +

              + +
                +
                +
                + +
                +
                "; + } + + public function getTemplateName() + { + return "partials/modal-update-packages.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 150 => 81, 138 => 72, 128 => 65, 119 => 59, 110 => 53, 99 => 47, 95 => 46, 86 => 40, 75 => 34, 71 => 33, 63 => 28, 56 => 24, 49 => 20, 43 => 17, 34 => 11, 27 => 7, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("
                +
                +
                +

                {{ \"PLUGIN_ADMIN.UPDATING\"|tu }}

                + +
                +

                + {{ \"PLUGIN_ADMIN.LOADING\"|tu }} + +

                +
                + +
                +

                {{ \"PLUGIN_ADMIN.DEPENDENCIES_NOT_MET_MESSAGE\"|tu }}

                + +
                +

                {{ \"PLUGIN_ADMIN.PACKAGES_NOT_INSTALLED\"|tu }}:

                +
                  +
                  +
                  +

                  {{ \"PLUGIN_ADMIN.PACKAGES_NEED_UPDATE\"|tu }}:

                  +
                    +
                    +
                    +

                    {{ \"PLUGIN_ADMIN.PACKAGES_SUGGESTED_UPDATE\"|tu }}:

                    +
                      +
                      + +
                      + + {{ \"PLUGIN_ADMIN.CONTINUE\"|tu }} +
                      +
                      + +
                      +

                      + {{ \"PLUGIN_ADMIN.READY_TO_UPDATE_PACKAGES\"|tu }} +

                      + +
                        + +
                        + + {{ \"PLUGIN_ADMIN.CONTINUE\"|tu }} +
                        +
                        + +
                        +

                        + {{ \"PLUGIN_ADMIN.ERROR_UPDATING_PACKAGES\"|tu }} +

                        + +
                          + +
                          + +
                          +
                          + +
                          +

                          + {{ \"PLUGIN_ADMIN.INSTALLING_DEPENDENCIES\"|tu }} + +

                          +
                          + +
                          +

                          + {{ \"PLUGIN_ADMIN.UPDATING_PACKAGES\"|tu }} + +

                          + +
                            +
                            + +
                            +

                            + {{ \"PLUGIN_ADMIN.PACKAGES_SUCCESSFULLY_UPDATED\"|tu }} +

                            + +
                              +
                              +
                              + +
                              +
                              ", "partials/modal-update-packages.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/modal-update-packages.html.twig"); + } +} diff --git a/cache/twig/21/211c79a5ee840efb86a9d9d10829fe8c2254a0e5f5105146d6725657f0f53a9b.php b/cache/twig/21/211c79a5ee840efb86a9d9d10829fe8c2254a0e5f5105146d6725657f0f53a9b.php new file mode 100644 index 0000000..6eb5f1b --- /dev/null +++ b/cache/twig/21/211c79a5ee840efb86a9d9d10829fe8c2254a0e5f5105146d6725657f0f53a9b.php @@ -0,0 +1,89 @@ +parent = $this->loadTemplate("partials/base.html.twig", "error.html.twig", 1); + $this->blocks = array( + 'content' => array($this, 'block_content'), + ); + } + + protected function doGetParent(array $context) + { + return "partials/base.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 3 + public function block_content($context, array $blocks = array()) + { + // line 4 + echo "\t
                              +\t\t
                              +\t\t\t

                              "; + // line 6 + echo $this->env->getExtension('Grav\Common\Twig\TwigExtension')->translate("ERROR"); + echo " "; + echo $this->getAttribute($this->getAttribute(($context["page"] ?? null), "header", array()), "http_response_code", array()); + echo "

                              +\t\t\t

                              +\t\t\t\t"; + // line 8 + echo $this->getAttribute(($context["page"] ?? null), "content", array()); + echo " +\t\t\t

                              +\t\t
                              +\t
                              +"; + } + + public function getTemplateName() + { + return "error.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 42 => 8, 35 => 6, 31 => 4, 28 => 3, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends 'partials/base.html.twig' %} + +{% block content %} +\t
                              +\t\t
                              +\t\t\t

                              {{ 'ERROR'|t }} {{ page.header.http_response_code }}

                              +\t\t\t

                              +\t\t\t\t{{ page.content }} +\t\t\t

                              +\t\t
                              +\t
                              +{% endblock %} +", "error.html.twig", "/mnt/data/Sites/static-ethica.net/user/themes/ethica/templates/error.html.twig"); + } +} diff --git a/cache/twig/22/22bd1662b7e19e313f53cdf31140abec9af39f70a826230f9d601e12216e3a63.php b/cache/twig/22/22bd1662b7e19e313f53cdf31140abec9af39f70a826230f9d601e12216e3a63.php new file mode 100644 index 0000000..ebd899c --- /dev/null +++ b/cache/twig/22/22bd1662b7e19e313f53cdf31140abec9af39f70a826230f9d601e12216e3a63.php @@ -0,0 +1,86 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + $this->getAttribute(($context["assets"] ?? null), "add", array(0 => "jquery", 1 => 101), "method"); + // line 2 + if ($this->env->getExtension('Grav\Common\Twig\TwigExtension')->authorize(array(0 => "admin.login", 1 => "admin.super"))) { + // line 3 + $this->getAttribute(($context["assets"] ?? null), "addJs", array(0 => (($context["theme_url"] ?? null) . "/js/vendor.min.js"), 1 => array("loading" => "defer")), "method"); + // line 4 + $this->getAttribute(($context["assets"] ?? null), "addJs", array(0 => (($context["theme_url"] ?? null) . "/js/admin.min.js"), 1 => array("loading" => "defer")), "method"); + // line 5 + echo " +"; + // line 6 + if ((($this->getAttribute(($context["browser"] ?? null), "getBrowser", array()) == "msie") || ($this->getAttribute(($context["browser"] ?? null), "getBrowser", array()) == "edge"))) { + // line 7 + echo " "; + $this->getAttribute(($context["assets"] ?? null), "addJs", array(0 => (($context["theme_url"] ?? null) . "/js/form-attr.polyfill.js")), "method"); + } + // line 9 + echo " +"; + // line 10 + try { + $this->loadTemplate("partials/javascripts-extra.html.twig", "partials/javascripts.html.twig", 10)->display($context); + } catch (Twig_Error_Loader $e) { + // ignore missing template + } + + } + } + + public function getTemplateName() + { + return "partials/javascripts.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 39 => 10, 36 => 9, 32 => 7, 30 => 6, 27 => 5, 25 => 4, 23 => 3, 21 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% do assets.add('jquery',101) %} +{% if authorize(['admin.login', 'admin.super']) %} +{% do assets.addJs(theme_url~'/js/vendor.min.js', { 'loading':'defer' }) %} +{% do assets.addJs(theme_url~'/js/admin.min.js' , { 'loading':'defer' }) %} + +{% if browser.getBrowser == 'msie' or browser.getBrowser == 'edge' %} + {% do assets.addJs(theme_url~'/js/form-attr.polyfill.js') %} +{% endif %} + +{% include 'partials/javascripts-extra.html.twig' ignore missing %} +{% endif %} +", "partials/javascripts.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/javascripts.html.twig"); + } +} diff --git a/cache/twig/24/249075002a9f60ec52754438c718b55a97075d0f2e30662dfdb5c9eccafafc9c.php b/cache/twig/24/249075002a9f60ec52754438c718b55a97075d0f2e30662dfdb5c9eccafafc9c.php new file mode 100644 index 0000000..804f314 --- /dev/null +++ b/cache/twig/24/249075002a9f60ec52754438c718b55a97075d0f2e30662dfdb5c9eccafafc9c.php @@ -0,0 +1,151 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + $context["value"] = $this->env->getExtension('Grav\Common\Twig\TwigExtension')->evaluateStringFunc($this->env, $context, $this->getAttribute(($context["field"] ?? null), "condition", array())); + // line 2 + $context["value"] = (((($context["value"] ?? null) == "true")) ? (1) : (($context["value"] ?? null))); + // line 3 + $context["value"] = (((($context["value"] ?? null) == "false")) ? (0) : (($context["value"] ?? null))); + // line 4 + echo " +"; + // line 5 + if (($context["value"] ?? null)) { + // line 6 + echo " "; + if ($this->getAttribute(($context["field"] ?? null), "classes", array())) { + // line 7 + echo "
                              env, $this->getAttribute(($context["field"] ?? null), "classes", array()), "html", null, true); + echo "\"> + "; + } + // line 9 + echo " + "; + // line 10 + if ($this->getAttribute(($context["field"] ?? null), "fields", array())) { + // line 11 + echo " "; + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute($context["field"], "fields", array())); + $context['loop'] = array( + 'parent' => $context['_parent'], + 'index0' => 0, + 'index' => 1, + 'first' => true, + ); + if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) { + $length = count($context['_seq']); + $context['loop']['revindex0'] = $length - 1; + $context['loop']['revindex'] = $length; + $context['loop']['length'] = $length; + $context['loop']['last'] = 1 === $length; + } + foreach ($context['_seq'] as $context["_key"] => $context["field"]) { + // line 12 + echo " "; + if ($this->getAttribute($context["field"], "type", array())) { + // line 13 + echo " "; + $context["value"] = $this->getAttribute(($context["data"] ?? null), "value", array(0 => $this->getAttribute($context["field"], "name", array())), "method"); + // line 14 + echo " "; + $this->loadTemplate(array(0 => (((("forms/fields/" . $this->getAttribute($context["field"], "type", array())) . "/") . $this->getAttribute($context["field"], "type", array())) . ".html.twig"), 1 => "forms/fields/text/text.html.twig"), "forms/fields/conditional/conditional.html.twig", 14)->display($context); + // line 15 + echo " "; + } + // line 16 + echo " "; + ++$context['loop']['index0']; + ++$context['loop']['index']; + $context['loop']['first'] = false; + if (isset($context['loop']['length'])) { + --$context['loop']['revindex0']; + --$context['loop']['revindex']; + $context['loop']['last'] = 0 === $context['loop']['revindex0']; + } + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['field'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 17 + echo " "; + } + // line 18 + echo " + "; + // line 19 + if ($this->getAttribute(($context["field"] ?? null), "classes", array())) { + // line 20 + echo "
                              + "; + } + } + } + + public function getTemplateName() + { + return "forms/fields/conditional/conditional.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 96 => 20, 94 => 19, 91 => 18, 88 => 17, 74 => 16, 71 => 15, 68 => 14, 65 => 13, 62 => 12, 44 => 11, 42 => 10, 39 => 9, 33 => 7, 30 => 6, 28 => 5, 25 => 4, 23 => 3, 21 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% set value = evaluate(field.condition) %} +{% set value = value == 'true' ? 1 : value %} +{% set value = value == 'false' ? 0 : value %} + +{% if value %} + {% if field.classes %} +
                              + {% endif %} + + {% if field.fields %} + {% for field in field.fields %} + {% if field.type %} + {% set value = data.value(field.name) %} + {% include [\"forms/fields/#{field.type}/#{field.type}.html.twig\", 'forms/fields/text/text.html.twig'] %} + {% endif %} + {% endfor %} + {% endif %} + + {% if field.classes %} +
                              + {% endif %} +{% endif %} +", "forms/fields/conditional/conditional.html.twig", "/home/kevin/Sites/static-ethica.net/user/plugins/form/templates/forms/fields/conditional/conditional.html.twig"); + } +} diff --git a/cache/twig/2d/2d6fd692de5c8f454faf6e54c63704d917a377f3327e783f3e0db6aa11b4e7fc.php b/cache/twig/2d/2d6fd692de5c8f454faf6e54c63704d917a377f3327e783f3e0db6aa11b4e7fc.php new file mode 100644 index 0000000..20a81b4 --- /dev/null +++ b/cache/twig/2d/2d6fd692de5c8f454faf6e54c63704d917a377f3327e783f3e0db6aa11b4e7fc.php @@ -0,0 +1,165 @@ +parent = $this->loadTemplate("forms/field.html.twig", "forms/fields/text/text.html.twig", 1); + $this->blocks = array( + 'prepend' => array($this, 'block_prepend'), + 'input_attributes' => array($this, 'block_input_attributes'), + 'append' => array($this, 'block_append'), + 'input' => array($this, 'block_input'), + ); + } + + protected function doGetParent(array $context) + { + return "forms/field.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 3 + public function block_prepend($context, array $blocks = array()) + { + // line 4 + if ($this->getAttribute(($context["field"] ?? null), "prepend", array())) { + // line 5 + echo "
                              + "; + // line 6 + if ($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["grav"] ?? null), "twig", array(), "any", false, true), "twig", array(), "any", false, true), "filters", array(), "any", false, true), "tu", array(), "array", true, true)) { + // line 7 + echo $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter($this->getAttribute(($context["field"] ?? null), "prepend", array())); + } else { + // line 9 + echo $this->env->getExtension('Grav\Common\Twig\TwigExtension')->translate($this->getAttribute(($context["field"] ?? null), "prepend", array())); + } + // line 11 + echo "
                              +"; + } + } + + // line 15 + public function block_input_attributes($context, array $blocks = array()) + { + // line 16 + echo " type=\"text\" + "; + // line 17 + $this->displayParentBlock("input_attributes", $context, $blocks); + echo " +"; + } + + // line 20 + public function block_append($context, array $blocks = array()) + { + // line 21 + echo " "; + if ($this->getAttribute(($context["field"] ?? null), "append", array())) { + // line 22 + echo "
                              + "; + // line 23 + if ($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["grav"] ?? null), "twig", array(), "any", false, true), "twig", array(), "any", false, true), "filters", array(), "any", false, true), "tu", array(), "array", true, true)) { + // line 24 + echo $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter($this->getAttribute(($context["field"] ?? null), "append", array())); + } else { + // line 26 + echo $this->env->getExtension('Grav\Common\Twig\TwigExtension')->translate($this->getAttribute(($context["field"] ?? null), "append", array())); + } + // line 28 + echo "
                              + "; + } + } + + // line 32 + public function block_input($context, array $blocks = array()) + { + // line 33 + if (($this->getAttribute(($context["field"] ?? null), "prepend", array()) || $this->getAttribute(($context["field"] ?? null), "append", array()))) { + // line 34 + echo " "; + $context["field"] = twig_array_merge(($context["field"] ?? null), array("wrapper_classes" => "form-input-addon-wrapper")); + } + // line 36 + $this->displayParentBlock("input", $context, $blocks); + echo " +"; + } + + public function getTemplateName() + { + return "forms/fields/text/text.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 97 => 36, 93 => 34, 91 => 33, 88 => 32, 82 => 28, 79 => 26, 76 => 24, 74 => 23, 71 => 22, 68 => 21, 65 => 20, 59 => 17, 56 => 16, 53 => 15, 47 => 11, 44 => 9, 41 => 7, 39 => 6, 36 => 5, 34 => 4, 31 => 3, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends \"forms/field.html.twig\" %} + +{% block prepend %} +{% if field.prepend %} +
                              + {% if grav.twig.twig.filters['tu'] is defined %} + {{- field.prepend|tu|raw -}} + {% else %} + {{- field.prepend|t|raw -}} + {% endif %} +
                              +{% endif %} +{% endblock %} + +{% block input_attributes %} + type=\"text\" + {{ parent() }} +{% endblock %} + +{% block append %} + {% if field.append %} +
                              + {% if grav.twig.twig.filters['tu'] is defined %} + {{- field.append|tu|raw -}} + {% else %} + {{- field.append|t|raw -}} + {% endif %} +
                              + {% endif %} +{% endblock %} + +{% block input %} +{% if field.prepend or field.append %} + {% set field = field|merge({'wrapper_classes': 'form-input-addon-wrapper'}) %} +{% endif %} +{{ parent() }} +{% endblock %}", "forms/fields/text/text.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/form/templates/forms/fields/text/text.html.twig"); + } +} diff --git a/cache/twig/32/3220e3522bdfdf445a0730924be239728a8c1dfa3f3a99f4a67dae3c389e4c5c.php b/cache/twig/32/3220e3522bdfdf445a0730924be239728a8c1dfa3f3a99f4a67dae3c389e4c5c.php new file mode 100644 index 0000000..93d9153 --- /dev/null +++ b/cache/twig/32/3220e3522bdfdf445a0730924be239728a8c1dfa3f3a99f4a67dae3c389e4c5c.php @@ -0,0 +1,92 @@ +parent = $this->loadTemplate("forms/field.html.twig", "forms/fields/selectize/selectize.html.twig", 1); + $this->blocks = array( + 'global_attributes' => array($this, 'block_global_attributes'), + 'input_attributes' => array($this, 'block_input_attributes'), + ); + } + + protected function doGetParent(array $context) + { + return "forms/field.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 3 + public function block_global_attributes($context, array $blocks = array()) + { + // line 4 + echo " data-grav-selectize=\""; + echo twig_escape_filter($this->env, twig_jsonencode_filter((($this->getAttribute(($context["field"] ?? null), "selectize", array(), "any", true, true)) ? (twig_array_merge(twig_array_merge($this->getAttribute(($context["field"] ?? null), "selectize", array()), array("create" => true)), array("items" => ($context["value"] ?? null)))) : (array("create" => true)))), "html_attr"); + echo "\" + "; + // line 5 + $this->displayParentBlock("global_attributes", $context, $blocks); + echo " +"; + } + + // line 8 + public function block_input_attributes($context, array $blocks = array()) + { + // line 9 + echo " type=\"text\" + "; + // line 10 + $this->displayParentBlock("input_attributes", $context, $blocks); + echo " +"; + } + + public function getTemplateName() + { + return "forms/fields/selectize/selectize.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 49 => 10, 46 => 9, 43 => 8, 37 => 5, 32 => 4, 29 => 3, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends \"forms/field.html.twig\" %} + +{% block global_attributes %} + data-grav-selectize=\"{{ (field.selectize is defined ? field.selectize|merge({'create': true})|merge({'items':value}) : {'create': true})|json_encode()|e('html_attr') }}\" + {{ parent() }} +{% endblock %} + +{% block input_attributes %} + type=\"text\" + {{ parent() }} +{% endblock %} +", "forms/fields/selectize/selectize.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/forms/fields/selectize/selectize.html.twig"); + } +} diff --git a/cache/twig/32/32706ad0899a349c388ab2d21b166dd92cb8d43e5be0aba0eb8ef4e2bdd9edab.php b/cache/twig/32/32706ad0899a349c388ab2d21b166dd92cb8d43e5be0aba0eb8ef4e2bdd9edab.php new file mode 100644 index 0000000..7c95ea1 --- /dev/null +++ b/cache/twig/32/32706ad0899a349c388ab2d21b166dd92cb8d43e5be0aba0eb8ef4e2bdd9edab.php @@ -0,0 +1,286 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + echo " + "; + // line 2 + if ($this->getAttribute(($context["plugin"] ?? null), "author", array())) { + // line 3 + echo " + + + + "; + } + // line 17 + echo " "; + if ($this->getAttribute(($context["plugin"] ?? null), "homepage", array())) { + // line 18 + echo " + + + + "; + } + // line 23 + echo " "; + if ($this->getAttribute(($context["plugin"] ?? null), "demo", array())) { + // line 24 + echo " + + + + "; + } + // line 29 + echo " "; + if ($this->getAttribute(($context["plugin"] ?? null), "bugs", array())) { + // line 30 + echo " + + + + "; + } + // line 35 + echo " "; + if ($this->getAttribute(($context["plugin"] ?? null), "keywords", array())) { + // line 36 + echo " + + + + "; + } + // line 41 + echo " "; + if ($this->getAttribute(($context["plugin"] ?? null), "license", array())) { + // line 42 + echo " + + + + "; + } + // line 47 + echo " + "; + // line 48 + if ($this->getAttribute(($context["plugin"] ?? null), "description", array())) { + // line 49 + echo " + + + + "; + } + // line 54 + echo " + "; + // line 55 + if (($this->getAttribute(($context["plugin"] ?? null), "readme", array()) || $this->getAttribute(($context["plugin"] ?? null), "homepage", array()))) { + // line 56 + echo " "; + $context["readme_link"] = (($this->getAttribute(($context["plugin"] ?? null), "readme", array())) ? ($this->getAttribute(($context["plugin"] ?? null), "readme", array())) : ((($this->getAttribute(($context["plugin"] ?? null), "docs", array(), "any", true, true)) ? (_twig_default_filter($this->getAttribute(($context["plugin"] ?? null), "docs", array()), ($this->getAttribute(($context["plugin"] ?? null), "homepage", array()) . "/blob/master/README.md"))) : (($this->getAttribute(($context["plugin"] ?? null), "homepage", array()) . "/blob/master/README.md"))))); + // line 57 + echo " + + + + "; + } + // line 62 + echo " +
                              "; + // line 4 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.AUTHOR"), "html", null, true); + echo ": + "; + // line 6 + if ($this->getAttribute($this->getAttribute(($context["plugin"] ?? null), "author", array()), "url", array())) { + // line 7 + echo " env, $this->getAttribute($this->getAttribute(($context["plugin"] ?? null), "author", array()), "url", array()), "html", null, true); + echo "\" target=\"_blank\">"; + echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute(($context["plugin"] ?? null), "author", array()), "name", array()), "html", null, true); + echo " + "; + } else { + // line 9 + echo " "; + echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute(($context["plugin"] ?? null), "author", array()), "name", array()), "html", null, true); + echo " + "; + } + // line 11 + echo " "; + if ($this->getAttribute($this->getAttribute(($context["plugin"] ?? null), "author", array()), "email", array())) { + // line 12 + echo " - env, $this->getAttribute($this->getAttribute(($context["plugin"] ?? null), "author", array()), "email", array()), "html", null, true); + echo "\">"; + echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute(($context["plugin"] ?? null), "author", array()), "email", array()), "html", null, true); + echo " + "; + } + // line 14 + echo "
                              "; + // line 19 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.HOMEPAGE"), "html", null, true); + echo ":env, $this->getAttribute(($context["plugin"] ?? null), "homepage", array()), "html", null, true); + echo "\" target=\"_blank\">"; + echo twig_escape_filter($this->env, $this->getAttribute(($context["plugin"] ?? null), "homepage", array()), "html", null, true); + echo "
                              "; + // line 25 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.DEMO"), "html", null, true); + echo ":env, $this->getAttribute(($context["plugin"] ?? null), "demo", array()), "html", null, true); + echo "\" target=\"_blank\">"; + echo twig_escape_filter($this->env, $this->getAttribute(($context["plugin"] ?? null), "demo", array()), "html", null, true); + echo "
                              "; + // line 31 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.BUG_TRACKER"), "html", null, true); + echo ":env, $this->getAttribute(($context["plugin"] ?? null), "bugs", array()), "html", null, true); + echo "\" target=\"_blank\">"; + echo twig_escape_filter($this->env, $this->getAttribute(($context["plugin"] ?? null), "bugs", array()), "html", null, true); + echo "
                              "; + // line 37 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.KEYWORDS"), "html", null, true); + echo ":"; + // line 38 + echo twig_escape_filter($this->env, twig_join_filter($this->getAttribute(($context["plugin"] ?? null), "keywords", array()), ", "), "html", null, true); + echo "
                              "; + // line 43 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.LICENSE"), "html", null, true); + echo ":"; + // line 44 + echo twig_escape_filter($this->env, $this->getAttribute(($context["plugin"] ?? null), "license", array()), "html", null, true); + echo "
                              "; + // line 50 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.DESCRIPTION"), "html", null, true); + echo ":"; + // line 51 + echo $this->getAttribute(($context["plugin"] ?? null), "description_html", array()); + echo "
                              "; + // line 58 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.README"), "html", null, true); + echo ":env, ($context["readme_link"] ?? null), "html", null, true); + echo "\" target=\"_blank\">"; + echo twig_escape_filter($this->env, ($context["readme_link"] ?? null), "html", null, true); + echo "
                              +"; + } + + public function getTemplateName() + { + return "partials/plugin-data.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 191 => 62, 183 => 59, 179 => 58, 176 => 57, 173 => 56, 171 => 55, 168 => 54, 162 => 51, 158 => 50, 155 => 49, 153 => 48, 150 => 47, 144 => 44, 140 => 43, 137 => 42, 134 => 41, 128 => 38, 124 => 37, 121 => 36, 118 => 35, 110 => 32, 106 => 31, 103 => 30, 100 => 29, 92 => 26, 88 => 25, 85 => 24, 82 => 23, 74 => 20, 70 => 19, 67 => 18, 64 => 17, 59 => 14, 51 => 12, 48 => 11, 42 => 9, 34 => 7, 32 => 6, 27 => 4, 24 => 3, 22 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source(" + {% if plugin.author %} + + + + + {% endif %} + {% if plugin.homepage %} + + + + + {% endif %} + {% if plugin.demo %} + + + + + {% endif %} + {% if plugin.bugs %} + + + + + {% endif %} + {% if plugin.keywords %} + + + + + {% endif %} + {% if plugin.license %} + + + + + {% endif %} + + {% if plugin.description %} + + + + + {% endif %} + + {% if plugin.readme or plugin.homepage %} + {% set readme_link = plugin.readme ?: plugin.docs|default(plugin.homepage ~ '/blob/master/README.md') %} + + + + + {% endif %} + +
                              {{ \"PLUGIN_ADMIN.AUTHOR\"|tu }}: + {% if plugin.author.url %} + {{ plugin.author.name }} + {% else %} + {{ plugin.author.name }} + {% endif %} + {% if plugin.author.email %} + - {{ plugin.author.email }} + {% endif %} +
                              {{ \"PLUGIN_ADMIN.HOMEPAGE\"|tu }}:{{ plugin.homepage }}
                              {{ \"PLUGIN_ADMIN.DEMO\"|tu }}:{{ plugin.demo }}
                              {{ \"PLUGIN_ADMIN.BUG_TRACKER\"|tu }}:{{ plugin.bugs }}
                              {{ \"PLUGIN_ADMIN.KEYWORDS\"|tu }}:{{ plugin.keywords|join(', ') }}
                              {{ \"PLUGIN_ADMIN.LICENSE\"|tu }}:{{ plugin.license }}
                              {{ \"PLUGIN_ADMIN.DESCRIPTION\"|tu }}:{{ plugin.description_html|raw }}
                              {{ \"PLUGIN_ADMIN.README\"|tu }}:{{ readme_link }}
                              +", "partials/plugin-data.html.twig", "/home/kevin/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/plugin-data.html.twig"); + } +} diff --git a/cache/twig/33/3345d74fa4b4e9babe88c7bfb1c1c78ce1788b071932fc020257888c188d2bbe.php b/cache/twig/33/3345d74fa4b4e9babe88c7bfb1c1c78ce1788b071932fc020257888c188d2bbe.php new file mode 100644 index 0000000..39587d8 --- /dev/null +++ b/cache/twig/33/3345d74fa4b4e9babe88c7bfb1c1c78ce1788b071932fc020257888c188d2bbe.php @@ -0,0 +1,131 @@ +parent = false; + + $this->blocks = array( + 'content' => array($this, 'block_content'), + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 2 + echo " + "; + // line 3 + $this->displayBlock('content', $context, $blocks); + } + + public function block_content($context, array $blocks = array()) + { + // line 4 + echo " +

                              "; + // line 5 + echo $this->getAttribute(($context["header"] ?? null), "title", array()); + echo "

                              + + "; + // line 7 + echo $this->getAttribute(($context["page"] ?? null), "content", array()); + echo " + "; + // line 8 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["page"] ?? null), "collection", array(), "method")); + foreach ($context['_seq'] as $context["_key"] => $context["module"]) { + // line 9 + echo " +
                              getAttribute($this, "pageLinkName", array(0 => $this->getAttribute($context["module"], "folder", array())), "method"); + echo "\" class=\"column\"> + "; + // line 11 + echo $this->getAttribute($context["module"], "content", array()); + echo " +
                              + "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['module'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 14 + echo " "; + } + + // line 1 + public function getpageLinkName($__text__ = null, ...$__varargs__) + { + $context = $this->env->mergeGlobals(array( + "text" => $__text__, + "varargs" => $__varargs__, + )); + + $blocks = array(); + + ob_start(); + try { + echo twig_replace_filter(twig_lower_filter($this->env, ($context["text"] ?? null)), array("01._" => "", "02._" => "", "03._" => "", "04._" => "", "05._" => "", "06._" => "", "07._" => "", "08._" => "", "09._" => "")); + } catch (Exception $e) { + ob_end_clean(); + + throw $e; + } catch (Throwable $e) { + ob_end_clean(); + + throw $e; + } + + return ('' === $tmp = ob_get_clean()) ? '' : new Twig_Markup($tmp, $this->env->getCharset()); + } + + public function getTemplateName() + { + return "modular/contenu.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 65 => 1, 61 => 14, 52 => 11, 48 => 10, 45 => 9, 41 => 8, 37 => 7, 32 => 5, 29 => 4, 23 => 3, 20 => 2,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% macro pageLinkName(text) %}{{ text|lower|replace({'01._':'','02._':'','03._':'','04._':'','05._':'','06._':'','07._':'','08._':'','09._':''}) }}{% endmacro %} + + {% block content %} + +

                              {{ header.title }}

                              + + {{ page.content }} + {% for module in page.collection() %} + +
                              + {{ module.content }} +
                              + {% endfor %} + {% endblock %} +", "modular/contenu.html.twig", "/home/kevin/Sites/static-ethica.net/user/themes/ethica/templates/modular/contenu.html.twig"); + } +} diff --git a/cache/twig/34/34258c785f8d6ac43fe789c598d3dcab5c32d5d37edb27b2584ea8119f847c79.php b/cache/twig/34/34258c785f8d6ac43fe789c598d3dcab5c32d5d37edb27b2584ea8119f847c79.php new file mode 100644 index 0000000..740295f --- /dev/null +++ b/cache/twig/34/34258c785f8d6ac43fe789c598d3dcab5c32d5d37edb27b2584ea8119f847c79.php @@ -0,0 +1,50 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + echo " +"; + } + + public function getTemplateName() + { + return "partials/nav-toggle.html.twig"; + } + + public function getDebugInfo() + { + return array ( 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source(" +", "partials/nav-toggle.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/nav-toggle.html.twig"); + } +} diff --git a/cache/twig/34/346d7cd87606adfb29b0fd0a7c6aa0e900a3bb52eac7d59554bd22a582eac49a.php b/cache/twig/34/346d7cd87606adfb29b0fd0a7c6aa0e900a3bb52eac7d59554bd22a582eac49a.php new file mode 100644 index 0000000..e3bbb6d --- /dev/null +++ b/cache/twig/34/346d7cd87606adfb29b0fd0a7c6aa0e900a3bb52eac7d59554bd22a582eac49a.php @@ -0,0 +1,99 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + $this->getAttribute(($context["assets"] ?? null), "addCss", array(0 => (($context["theme_url"] ?? null) . "/css-compiled/nucleus.css")), "method"); + // line 2 + $this->getAttribute(($context["assets"] ?? null), "addCss", array(0 => (($context["theme_url"] ?? null) . "/css-compiled/template.css")), "method"); + // line 3 + $this->getAttribute(($context["assets"] ?? null), "addCss", array(0 => (($context["theme_url"] ?? null) . "/css-compiled/preset.css")), "method"); + // line 4 + if ($this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "plugins", array()), "admin", array()), "google_fonts", array())) { + // line 5 + echo " "; + $this->getAttribute(($context["assets"] ?? null), "addCss", array(0 => (($context["theme_url"] ?? null) . "/css-compiled/fonts.css")), "method"); + } else { + // line 7 + echo " "; + $this->getAttribute(($context["assets"] ?? null), "addCss", array(0 => (($context["theme_url"] ?? null) . "/css-compiled/simple-fonts.css")), "method"); + } + // line 9 + $this->getAttribute(($context["assets"] ?? null), "addCss", array(0 => (($context["theme_url"] ?? null) . "/css/font-awesome.min.css")), "method"); + // line 10 + $this->getAttribute(($context["assets"] ?? null), "addCss", array(0 => (($context["theme_url"] ?? null) . "/css/chartist.min.css")), "method"); + // line 11 + $this->getAttribute(($context["assets"] ?? null), "addCss", array(0 => (($context["theme_url"] ?? null) . "/css/selectize.min.css")), "method"); + // line 12 + $this->getAttribute(($context["assets"] ?? null), "addCss", array(0 => (($context["theme_url"] ?? null) . "/css/hint.base.min.css")), "method"); + // line 13 + $this->getAttribute(($context["assets"] ?? null), "addCss", array(0 => (($context["theme_url"] ?? null) . "/css/iconpicker.css")), "method"); + // line 14 + if (((($this->getAttribute(($context["browser"] ?? null), "getBrowser", array()) == "msie") && ($this->getAttribute(($context["browser"] ?? null), "getVersion", array()) >= 8)) && ($this->getAttribute(($context["browser"] ?? null), "getVersion", array()) <= 9))) { + // line 15 + echo " "; + $this->getAttribute(($context["assets"] ?? null), "addCss", array(0 => (($context["theme_url"] ?? null) . "/css/nucleus-ie9.css")), "method"); + // line 16 + echo " "; + $this->getAttribute(($context["assets"] ?? null), "addCss", array(0 => (($context["theme_url"] ?? null) . "/css/pure-0.5.0/grids-min.css")), "method"); + } + } + + public function getTemplateName() + { + return "partials/stylesheets.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 50 => 16, 47 => 15, 45 => 14, 43 => 13, 41 => 12, 39 => 11, 37 => 10, 35 => 9, 31 => 7, 27 => 5, 25 => 4, 23 => 3, 21 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% do assets.addCss(theme_url~'/css-compiled/nucleus.css') %} +{% do assets.addCss(theme_url~'/css-compiled/template.css') %} +{% do assets.addCss(theme_url~'/css-compiled/preset.css') %} +{% if config.plugins.admin.google_fonts %} + {% do assets.addCss(theme_url~'/css-compiled/fonts.css') %} +{% else %} + {% do assets.addCss(theme_url~'/css-compiled/simple-fonts.css') %} +{% endif %} +{% do assets.addCss(theme_url~'/css/font-awesome.min.css') %} +{% do assets.addCss(theme_url~'/css/chartist.min.css') %} +{% do assets.addCss(theme_url~'/css/selectize.min.css') %} +{% do assets.addCss(theme_url~'/css/hint.base.min.css') %} +{% do assets.addCss(theme_url~'/css/iconpicker.css') %} +{% if browser.getBrowser == 'msie' and browser.getVersion >= 8 and browser.getVersion <= 9 %} + {% do assets.addCss(theme_url~'/css/nucleus-ie9.css') %} + {% do assets.addCss(theme_url~'/css/pure-0.5.0/grids-min.css') %} +{% endif %} +", "partials/stylesheets.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/stylesheets.html.twig"); + } +} diff --git a/cache/twig/34/34f0e0266b4db11a668b3b4b838de63bef49bdad2bad0967770a2814fd06e149.php b/cache/twig/34/34f0e0266b4db11a668b3b4b838de63bef49bdad2bad0967770a2814fd06e149.php new file mode 100644 index 0000000..5c5d4d5 --- /dev/null +++ b/cache/twig/34/34f0e0266b4db11a668b3b4b838de63bef49bdad2bad0967770a2814fd06e149.php @@ -0,0 +1,74 @@ +parent = $this->loadTemplate("forms/field.html.twig", "forms/fields/password/password.html.twig", 1); + $this->blocks = array( + 'input_attributes' => array($this, 'block_input_attributes'), + ); + } + + protected function doGetParent(array $context) + { + return "forms/field.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 3 + public function block_input_attributes($context, array $blocks = array()) + { + // line 4 + echo " type=\"password\" + class=\"input\" + "; + // line 6 + $this->displayParentBlock("input_attributes", $context, $blocks); + echo " +"; + } + + public function getTemplateName() + { + return "forms/fields/password/password.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 35 => 6, 31 => 4, 28 => 3, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends \"forms/field.html.twig\" %} + +{% block input_attributes %} + type=\"password\" + class=\"input\" + {{ parent() }} +{% endblock %} +", "forms/fields/password/password.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/form/templates/forms/fields/password/password.html.twig"); + } +} diff --git a/cache/twig/36/36452fe32afb9294dbd59d63d8d2ffb5355ff13b8e22ab7543592527527d54e2.php b/cache/twig/36/36452fe32afb9294dbd59d63d8d2ffb5355ff13b8e22ab7543592527527d54e2.php new file mode 100644 index 0000000..4108656 --- /dev/null +++ b/cache/twig/36/36452fe32afb9294dbd59d63d8d2ffb5355ff13b8e22ab7543592527527d54e2.php @@ -0,0 +1,247 @@ +parent = $this->loadTemplate("forms/field.html.twig", "forms/fields/range/range.html.twig", 1); + $this->blocks = array( + 'input_attributes' => array($this, 'block_input_attributes'), + 'append' => array($this, 'block_append'), + ); + } + + protected function doGetParent(array $context) + { + return "forms/field.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 3 + public function block_input_attributes($context, array $blocks = array()) + { + // line 4 + echo " type=\"range\" + class=\"rangefield "; + // line 5 + if ($this->getAttribute(($context["field"] ?? null), "classes", array(), "any", true, true)) { + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "classes", array()), "html", null, true); + echo " "; + } + echo "\" + "; + // line 6 + if ($this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "min", array())) { + echo "min=\""; + echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "min", array()), "html", null, true); + echo "\""; + } + // line 7 + echo " "; + if ($this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "max", array())) { + echo "max=\""; + echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "max", array()), "html", null, true); + echo "\""; + } + // line 8 + echo " "; + if ($this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "step", array())) { + echo "step=\""; + echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "step", array()), "html", null, true); + echo "\""; + } + // line 9 + echo " "; + if ($this->getAttribute(($context["field"] ?? null), "id", array(), "any", true, true)) { + // line 10 + echo " id=\"range_"; + echo twig_escape_filter($this->env, twig_replace_filter(twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "id", array())), ".", "_"), "html", null, true); + echo "\" + oninput=\"number_"; + // line 11 + echo twig_escape_filter($this->env, twig_replace_filter(twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "id", array())), ".", "_"), "html", null, true); + echo "_output.value = this.value\" + "; + } else { + // line 13 + echo " id=\"range_"; + echo twig_escape_filter($this->env, twig_replace_filter(twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "name", array())), ".", "_"), "html", null, true); + echo "\" + oninput=\"number_"; + // line 14 + echo twig_escape_filter($this->env, twig_replace_filter(twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "name", array())), ".", "_"), "html", null, true); + echo "_output.value = this.value\" + "; + } + // line 16 + echo " "; + $this->displayParentBlock("input_attributes", $context, $blocks); + echo " +"; + } + + // line 18 + public function block_append($context, array $blocks = array()) + { + // line 19 + echo " getAttribute(($context["field"] ?? null), "classes", array(), "any", true, true)) { + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "classes", array()), "html", null, true); + echo " "; + } + echo "\" + "; + // line 22 + if ($this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "min", array())) { + echo "min=\""; + echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "min", array()), "html", null, true); + echo "\""; + } + // line 23 + echo " "; + if ($this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "max", array())) { + echo "max=\""; + echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "max", array()), "html", null, true); + echo "\""; + } + // line 24 + echo " "; + if ($this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "step", array())) { + echo "step=\""; + echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "step", array()), "html", null, true); + echo "\""; + } + // line 25 + echo " "; + if (($context["value"] ?? null)) { + // line 26 + echo " value=\""; + echo twig_escape_filter($this->env, ($context["value"] ?? null), "html", null, true); + echo "\" + "; + } elseif ($this->getAttribute( // line 27 +($context["field"] ?? null), "default", array())) { + // line 28 + echo " value=\""; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "default", array()), "html", null, true); + echo "\" + "; + } else { + // line 30 + echo " value=\"0\" + "; + } + // line 32 + echo " "; + if ($this->getAttribute(($context["field"] ?? null), "id", array(), "any", true, true)) { + // line 33 + echo " id=\"number_"; + echo twig_escape_filter($this->env, twig_replace_filter(twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "id", array())), ".", "_"), "html", null, true); + echo "_output\" + oninput=\"range_"; + // line 34 + echo twig_escape_filter($this->env, twig_replace_filter(twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "id", array())), ".", "_"), "html", null, true); + echo ".value = this.value\" + "; + } else { + // line 36 + echo " id=\"number_"; + echo twig_escape_filter($this->env, twig_replace_filter(twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "name", array())), ".", "_"), "html", null, true); + echo "_output\" + oninput=\"range_"; + // line 37 + echo twig_escape_filter($this->env, twig_replace_filter(twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "name", array())), ".", "_"), "html", null, true); + echo ".value = this.value\" + "; + } + // line 39 + echo " /> + "; + // line 40 + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "append", array()), "html", null, true); + echo " + +"; + } + + public function getTemplateName() + { + return "forms/fields/range/range.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 172 => 40, 169 => 39, 164 => 37, 159 => 36, 154 => 34, 149 => 33, 146 => 32, 142 => 30, 136 => 28, 134 => 27, 129 => 26, 126 => 25, 119 => 24, 112 => 23, 106 => 22, 99 => 21, 95 => 19, 92 => 18, 85 => 16, 80 => 14, 75 => 13, 70 => 11, 65 => 10, 62 => 9, 55 => 8, 48 => 7, 42 => 6, 35 => 5, 32 => 4, 29 => 3, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends \"forms/field.html.twig\" %} + +{% block input_attributes %} + type=\"range\" + class=\"rangefield {% if field.classes is defined %}{{ field.classes }} {% endif %}\" + {% if field.validate.min %}min=\"{{ field.validate.min }}\"{% endif %} + {% if field.validate.max %}max=\"{{ field.validate.max }}\"{% endif %} + {% if field.validate.step %}step=\"{{ field.validate.step }}\"{% endif %} + {% if field.id is defined %} + id=\"range_{{ field.id|e|replace('.', '_') }}\" + oninput=\"number_{{ field.id|e|replace('.', '_') }}_output.value = this.value\" + {% else %} + id=\"range_{{ field.name|e|replace('.', '_') }}\" + oninput=\"number_{{ field.name|e|replace('.', '_') }}_output.value = this.value\" + {% endif %} + {{ parent() }} +{% endblock %} +{% block append %} + + {{ field.append }} + +{% endblock append %} +", "forms/fields/range/range.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/forms/fields/range/range.html.twig"); + } +} diff --git a/cache/twig/37/377ae461c61bf6fa60f6a06747e00ac50ee64aa52088073c7eb404c85bfce83f.php b/cache/twig/37/377ae461c61bf6fa60f6a06747e00ac50ee64aa52088073c7eb404c85bfce83f.php new file mode 100644 index 0000000..70b1dc4 --- /dev/null +++ b/cache/twig/37/377ae461c61bf6fa60f6a06747e00ac50ee64aa52088073c7eb404c85bfce83f.php @@ -0,0 +1,396 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + if ($this->env->getExtension('Grav\Common\Twig\TwigExtension')->authorize(array(0 => "admin.login", 1 => "admin.super"))) { + // line 2 + echo " +"; + } + } + + public function getTemplateName() + { + return "partials/nav.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 262 => 90, 258 => 88, 251 => 87, 248 => 86, 241 => 82, 236 => 80, 231 => 79, 228 => 78, 220 => 73, 214 => 70, 209 => 68, 204 => 67, 201 => 66, 193 => 61, 187 => 58, 182 => 56, 177 => 55, 174 => 54, 171 => 53, 165 => 52, 160 => 49, 153 => 46, 147 => 45, 140 => 44, 138 => 43, 134 => 42, 130 => 41, 124 => 40, 119 => 39, 116 => 38, 111 => 37, 108 => 36, 100 => 31, 95 => 29, 90 => 27, 85 => 26, 82 => 25, 74 => 22, 69 => 21, 67 => 20, 60 => 18, 56 => 17, 51 => 14, 49 => 13, 46 => 12, 44 => 11, 40 => 9, 38 => 8, 34 => 6, 30 => 4, 28 => 3, 21 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% if authorize(['admin.login', 'admin.super']) %} + +{% endif %} +", "partials/nav.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/nav.html.twig"); + } +} diff --git a/cache/twig/37/37f41e0b088533c946e465f472cebd1b732df5de6cea09669fff6096f730ea88.php b/cache/twig/37/37f41e0b088533c946e465f472cebd1b732df5de6cea09669fff6096f730ea88.php new file mode 100644 index 0000000..5e405d3 --- /dev/null +++ b/cache/twig/37/37f41e0b088533c946e465f472cebd1b732df5de6cea09669fff6096f730ea88.php @@ -0,0 +1,162 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + $context["value"] = (((null === ($context["value"] ?? null))) ? ($this->getAttribute(($context["field"] ?? null), "default", array())) : (($context["value"] ?? null))); + // line 2 + echo " +"; + // line 3 + if ($this->getAttribute(($context["context"] ?? null), "folderExists", array())) { + // line 4 + echo "
                              getAttribute(($context["field"] ?? null), "classes", array(), "any", true, true)) { + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "classes", array()), "html", null, true); + } + echo "\"> +
                              + +
                              +
                              + "; + // line 9 + $context["uploadLimit"] = (($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["grav"] ?? null), "config", array()), "system", array()), "media", array()), "upload_limit", array()) / 1024) / 1024); + // line 10 + echo " "; + $context["dropzoneSettings"] = array("maxFileSize" => ($context["uploadLimit"] ?? null)); + // line 11 + echo "
                              env, ($context["base_url"] ?? null), "html", null, true); + echo "/media/"; + echo twig_escape_filter($this->env, twig_trim_filter($this->getAttribute(($context["admin"] ?? null), "route", array()), "/"), "html", null, true); + echo ".json\" + data-media-local=\""; + // line 14 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->rtrimFilter(($context["base_url_relative_frontend"] ?? null), "/"), "html", null, true); + echo "/"; + echo twig_escape_filter($this->env, twig_trim_filter($this->getAttribute(($context["admin"] ?? null), "route", array()), "/"), "html", null, true); + echo "\" + data-media-path=\""; + // line 15 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->urlFunc($this->getAttribute(($context["context"] ?? null), "relativePagePath", array())), "html", null, true); + echo "\" + data-dropzone-options=\""; + // line 16 + echo twig_escape_filter($this->env, twig_jsonencode_filter(($context["dropzoneSettings"] ?? null)), "html_attr"); + echo "\" + data-dropzone-field=\""; + // line 17 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->fieldNameFilter((($context["scope"] ?? null) . $this->getAttribute(($context["field"] ?? null), "name", array()))), "html", null, true); + echo "\">
                              + + "; + // line 19 + if (($this->getAttribute($this->getAttribute(($context["admin"] ?? null), "session", array()), "expert", array()) == "0")) { + // line 20 + echo " env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->fieldNameFilter((($context["scope"] ?? null) . $this->getAttribute(($context["field"] ?? null), "name", array()))), "html", null, true); + echo "\" value=\""; + echo twig_escape_filter($this->env, ($context["value"] ?? null)); + echo "\" /> + "; + } + // line 22 + echo "
                              +
                              +"; + } else { + // line 25 + echo "
                              +
                              +
                              + "; + // line 28 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.CANNOT_ADD_MEDIA_FILES_PAGE_NOT_SAVED"), "html", null, true); + echo " +
                              +
                              +
                              +"; + } + } + + public function getTemplateName() + { + return "forms/fields/pagemedia/pagemedia.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 94 => 28, 89 => 25, 84 => 22, 76 => 20, 74 => 19, 69 => 17, 65 => 16, 61 => 15, 55 => 14, 49 => 13, 45 => 11, 42 => 10, 40 => 9, 34 => 6, 26 => 4, 24 => 3, 21 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% set value = (value is null ? field.default : value) %} + +{% if context.folderExists %} +
                              +
                              + +
                              +
                              + {% set uploadLimit = grav.config.system.media.upload_limit / 1024 / 1024 %} + {% set dropzoneSettings = { maxFileSize: uploadLimit } %} +
                              + + {% if admin.session.expert == '0' %} + + {% endif %} +
                              +
                              +{% else %} +
                              +
                              +
                              + {{ \"PLUGIN_ADMIN.CANNOT_ADD_MEDIA_FILES_PAGE_NOT_SAVED\"|tu }} +
                              +
                              +
                              +{% endif %} +", "forms/fields/pagemedia/pagemedia.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/forms/fields/pagemedia/pagemedia.html.twig"); + } +} diff --git a/cache/twig/3e/3eb87e39a766f1d7305e357c0e31a3fe94b1fc728ae90a2cc7abb3067ef2114b.php b/cache/twig/3e/3eb87e39a766f1d7305e357c0e31a3fe94b1fc728ae90a2cc7abb3067ef2114b.php new file mode 100644 index 0000000..5513d3f --- /dev/null +++ b/cache/twig/3e/3eb87e39a766f1d7305e357c0e31a3fe94b1fc728ae90a2cc7abb3067ef2114b.php @@ -0,0 +1,360 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + echo "
                              +"; + // line 2 + if (($context["installing"] ?? null)) { + // line 3 + echo " "; + $this->loadTemplate("partials/release-toggle.html.twig", "partials/themes-list.html.twig", 3)->display($context); + } + // line 5 + $this->loadTemplate("partials/list-sort.html.twig", "partials/themes-list.html.twig", 5)->display(array_merge($context, array("list_view" => "themes"))); + // line 6 + echo "

                              + "; + // line 7 + echo twig_escape_filter($this->env, ((($context["installing"] ?? null)) ? ($this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.AVAILABLE_THEMES")) : ($this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.INSTALLED_THEMES"))), "html", null, true); + echo " +

                              +
                              +
                              + env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.RESOURCE_FILTER"), "html", null, true); + echo "\" data-gpm-filter> +
                              +
                              + +
                              + "; + // line 16 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->env->getExtension('Grav\Common\Twig\TwigExtension')->ksortFilter($this->getAttribute($this->getAttribute(($context["admin"] ?? null), "themes", array(0 => !($context["installing"] ?? null)), "method"), "toArray", array()))); + $context['_iterated'] = false; + foreach ($context['_seq'] as $context["slug"] => $context["theme"]) { + // line 17 + echo " "; + $context["state"] = "inactive"; + // line 18 + echo " "; + if (($context["installing"] ?? null)) { + $context["state"] = "installing"; + } + // line 19 + echo " "; + if (($this->getAttribute(($context["config"] ?? null), "get", array(0 => "system.pages.theme"), "method") == $context["slug"])) { + $context["state"] = "active"; + } + // line 20 + echo " "; + $context["isTestingRelease"] = $this->getAttribute($this->getAttribute(($context["admin"] ?? null), "gpm", array()), "isTestingRelease", array(0 => $context["slug"]), "method"); + // line 21 + echo " "; + $context["releaseDate"] = (($this->getAttribute($context["theme"], "date", array())) ? ($this->getAttribute($context["theme"], "date", array())) : ($this->getAttribute($this->getAttribute($this->getAttribute(($context["admin"] ?? null), "gpm", array()), "findPackage", array(0 => $context["slug"], 1 => true), "method"), "date", array()))); + // line 22 + echo " +
                              env, ($context["state"] ?? null), "html", null, true); + echo "-theme\" data-gpm-theme=\""; + echo twig_escape_filter($this->env, twig_urlencode_filter($context["slug"]), "html", null, true); + echo "\" data-gpm-name=\""; + echo twig_escape_filter($this->env, $this->getAttribute($context["theme"], "name", array()), "html", null, true); + echo "\" data-gpm-release-date=\""; + echo twig_escape_filter($this->env, ($context["releaseDate"] ?? null), "html", null, true); + echo "\" data-gpm-author=\""; + echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute($context["theme"], "author", array()), "name", array()), "html", null, true); + echo "\" data-gpm-official=\""; + echo (($this->getAttribute(($context["admin"] ?? null), "isTeamGrav", array(0 => $context["theme"]), "method")) ? ("1") : ("2")); + echo "\" data-gpm-updatable=\""; + echo (($this->getAttribute($this->getAttribute(($context["admin"] ?? null), "gpm", array()), "isUpdatable", array(0 => $context["slug"]), "method")) ? ("1") : ("2")); + echo "\" data-gpm-enabled=\""; + echo (($this->getAttribute(($context["data"] ?? null), "get", array(0 => "enabled"), "method")) ? ("1") : ("2")); + echo "\" data-gpm-testing=\""; + echo ((($context["isTestingRelease"] ?? null)) ? ("1") : ("2")); + echo "\"> +
                              + env, $this->getAttribute($context["theme"], "icon", array()), "html", null, true); + echo "\"> + env, ($context["base_url_relative"] ?? null), "html", null, true); + echo "/themes/"; + echo twig_escape_filter($this->env, twig_urlencode_filter($context["slug"]), "html", null, true); + echo "\">"; + echo twig_escape_filter($this->env, $this->getAttribute($context["theme"], "name", array()), "html", null, true); + echo " + "; + // line 27 + if ($this->getAttribute(($context["admin"] ?? null), "isTeamGrav", array(0 => $context["theme"]), "method")) { + // line 28 + echo " env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.GRAV_OFFICIAL_THEME"), "html", null, true); + echo "\"> + "; + } + // line 30 + echo " "; + if ($this->getAttribute(($context["admin"] ?? null), "isPremiumProduct", array(0 => $context["theme"]), "method")) { + // line 31 + echo " "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.PREMIUM_PRODUCT"), "html", null, true); + echo " + "; + } + // line 33 + echo " "; + if ($this->getAttribute($context["theme"], "symlink", array())) { + // line 34 + echo " env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.THEME_SYMBOLICALLY_LINKED"), "html", null, true); + echo "\"> + + + "; + } + // line 38 + echo " v"; + echo twig_escape_filter($this->env, $this->getAttribute($context["theme"], "version", array()), "html", null, true); + echo " + "; + // line 39 + if (($context["isTestingRelease"] ?? null)) { + echo "test release"; + } + // line 40 + echo "
                              +
                              + "; + // line 42 + $context["thumb"] = ((($context["installing"] ?? null)) ? (("//getgrav.org/images/" . $this->getAttribute($context["theme"], "screenshot", array()))) : ($this->getAttribute($context["theme"], "thumbnail", array()))); + // line 43 + echo " env, ($context["base_url_relative"] ?? null), "html", null, true); + echo "/themes/"; + echo twig_escape_filter($this->env, twig_urlencode_filter($context["slug"]), "html", null, true); + echo "\">env, ($context["thumb"] ?? null), "html", null, true); + echo "\" /> +
                              + "; + // line 45 + if ((($context["state"] ?? null) == "installing")) { + // line 46 + echo " + "; + } elseif (( // line 49 +($context["state"] ?? null) == "active")) { + // line 50 + echo "
                              + "; + // line 51 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.ACTIVE_THEME"), "html", null, true); + echo " +
                              + "; + } else { + // line 54 + echo " env, $this->getAttribute(($context["uri"] ?? null), "addNonce", array(0 => (((((($context["base_url_relative"] ?? null) . "/themes/") . $context["slug"]) . "/task") . $this->getAttribute($this->getAttribute(($context["config"] ?? null), "system", array()), "param_sep", array())) . "activate"), 1 => "admin-form", 2 => "admin-nonce"), "method"), "html", null, true); + echo "\" class=\"gpm-actions\"> + "; + // line 55 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.ACTIVATE"), "html", null, true); + echo " + + "; + } + // line 58 + echo "
                              + "; + $context['_iterated'] = true; + } + if (!$context['_iterated']) { + // line 60 + echo " "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.OFFLINE_WARNING"), "html", null, true); + echo " + "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['slug'], $context['theme'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 62 + echo "
                              + +
                              +
                              +

                              "; + // line 66 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.SWITCHING_TO"), "html", null, true); + echo " {theme_name}

                              +

                              + "; + // line 68 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.SWITCHING_TO_DESCRIPTION"), "html", null, true); + echo " +

                              +

                              + "; + // line 71 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.SWITCHING_TO_CONFIRMATION"), "html", null, true); + echo " {theme_name}? +

                              +
                              +
                              + + "; + // line 76 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.CONTINUE"), "html", null, true); + echo " +
                              +
                              +
                              + +"; + // line 81 + $this->loadTemplate("partials/modal-add-package.html.twig", "partials/themes-list.html.twig", 81)->display(array_merge($context, array("type" => "theme"))); + // line 82 + $this->loadTemplate("partials/modal-update-packages.html.twig", "partials/themes-list.html.twig", 82)->display(array_merge($context, array("type" => "theme"))); + } + + public function getTemplateName() + { + return "partials/themes-list.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 248 => 82, 246 => 81, 238 => 76, 234 => 75, 227 => 71, 221 => 68, 216 => 66, 210 => 62, 201 => 60, 195 => 58, 189 => 55, 184 => 54, 178 => 51, 175 => 50, 173 => 49, 166 => 47, 163 => 46, 161 => 45, 151 => 43, 149 => 42, 145 => 40, 141 => 39, 136 => 38, 128 => 34, 125 => 33, 119 => 31, 116 => 30, 110 => 28, 108 => 27, 100 => 26, 96 => 25, 75 => 23, 72 => 22, 69 => 21, 66 => 20, 61 => 19, 56 => 18, 53 => 17, 48 => 16, 40 => 11, 33 => 7, 30 => 6, 28 => 5, 24 => 3, 22 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("
                              +{% if installing %} + {% include 'partials/release-toggle.html.twig' %} +{% endif %} +{% include 'partials/list-sort.html.twig' with { list_view: 'themes' } %} +

                              + {{ installing ? \"PLUGIN_ADMIN.AVAILABLE_THEMES\"|tu : \"PLUGIN_ADMIN.INSTALLED_THEMES\"|tu }} +

                              +
                              +
                              + +
                              +
                              + +
                              + {% for slug, theme in admin.themes(not installing).toArray|ksort %} + {% set state = 'inactive' %} + {% if (installing) %}{% set state = 'installing' %}{% endif %} + {% if (config.get('system.pages.theme') == slug) %}{% set state = 'active' %}{% endif %} + {% set isTestingRelease = admin.gpm.isTestingRelease(slug) %} + {% set releaseDate = theme.date ?: admin.gpm.findPackage(slug, true).date %} + +
                              +
                              + + {{ theme.name }} + {% if admin.isTeamGrav(theme) %} + + {% endif %} + {% if admin.isPremiumProduct(theme) %} + {{ \"PLUGIN_ADMIN.PREMIUM_PRODUCT\"|tu }} + {% endif %} + {% if theme.symlink %} + + + + {% endif %} + v{{ theme.version }} + {% if isTestingRelease %}test release{% endif %} +
                              +
                              + {% set thumb = installing ? '//getgrav.org/images/' ~ theme.screenshot : theme.thumbnail %} + +
                              + {% if (state == 'installing') %} + + {% elseif state == 'active' %} +
                              + {{ \"PLUGIN_ADMIN.ACTIVE_THEME\"|tu }} +
                              + {% else %} + + {{ \"PLUGIN_ADMIN.ACTIVATE\"|tu }} + + {% endif %} +
                              + {% else %} + {{ \"PLUGIN_ADMIN.OFFLINE_WARNING\"|tu }} + {% endfor %} +
                              + +
                              +
                              +

                              {{ \"PLUGIN_ADMIN.SWITCHING_TO\"|tu }} {theme_name}

                              +

                              + {{ \"PLUGIN_ADMIN.SWITCHING_TO_DESCRIPTION\"|tu }} +

                              +

                              + {{ \"PLUGIN_ADMIN.SWITCHING_TO_CONFIRMATION\"|tu }} {theme_name}? +

                              +
                              +
                              + + {{ \"PLUGIN_ADMIN.CONTINUE\"|tu }} +
                              +
                              +
                              + +{% include 'partials/modal-add-package.html.twig' with { type: 'theme' } %} +{% include 'partials/modal-update-packages.html.twig' with { type: 'theme' } %} +", "partials/themes-list.html.twig", "/home/kevin/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/themes-list.html.twig"); + } +} diff --git a/cache/twig/41/41e8de888da6e7c93303b372f6e1f966bad06bcd6e142f0fdd7e958983966cab.php b/cache/twig/41/41e8de888da6e7c93303b372f6e1f966bad06bcd6e142f0fdd7e958983966cab.php new file mode 100644 index 0000000..4b6a6b6 --- /dev/null +++ b/cache/twig/41/41e8de888da6e7c93303b372f6e1f966bad06bcd6e142f0fdd7e958983966cab.php @@ -0,0 +1,166 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + if ((twig_test_empty($this->getAttribute(($context["field"] ?? null), "security", array())) || $this->env->getExtension('Grav\Common\Twig\TwigExtension')->authorize($this->env->getExtension('Grav\Common\Twig\TwigExtension')->arrayFunc($this->getAttribute(($context["field"] ?? null), "security", array()))))) { + // line 2 + echo " + "; + // line 3 + if (($this->getAttribute(($context["field"] ?? null), "title", array()) || $this->getAttribute(($context["field"] ?? null), "underline", array()))) { + // line 4 + echo "

                              getAttribute(($context["field"] ?? null), "underline", array())) { + echo "class=\"no_underline\""; + } + echo ">"; + if ($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["grav"] ?? null), "twig", array(), "any", false, true), "twig", array(), "any", false, true), "filters", array(), "any", false, true), "tu", array(), "array", true, true)) { + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter($this->getAttribute(($context["field"] ?? null), "title", array())), "html", null, true); + } else { + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->translate($this->getAttribute(($context["field"] ?? null), "title", array())), "html", null, true); + } + echo "

                              + "; + } + // line 6 + echo " + "; + // line 7 + if ($this->getAttribute(($context["field"] ?? null), "text", array())) { + // line 8 + echo "

                              "; + if ($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["grav"] ?? null), "twig", array(), "any", false, true), "twig", array(), "any", false, true), "filters", array(), "any", false, true), "tu", array(), "array", true, true)) { + echo $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter($this->getAttribute(($context["field"] ?? null), "text", array())); + } else { + echo $this->env->getExtension('Grav\Common\Twig\TwigExtension')->translate($this->getAttribute(($context["field"] ?? null), "text", array())); + } + echo "

                              + "; + } + // line 10 + echo " + "; + // line 11 + if ($this->getAttribute(($context["field"] ?? null), "fields", array())) { + // line 12 + echo "
                              env, $this->getAttribute(($context["field"] ?? null), "field_classes", array()), "html", null, true); + echo "\"> + "; + // line 13 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute($context["field"], "fields", array())); + $context['loop'] = array( + 'parent' => $context['_parent'], + 'index0' => 0, + 'index' => 1, + 'first' => true, + ); + if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) { + $length = count($context['_seq']); + $context['loop']['revindex0'] = $length - 1; + $context['loop']['revindex'] = $length; + $context['loop']['length'] = $length; + $context['loop']['last'] = 1 === $length; + } + foreach ($context['_seq'] as $context["_key"] => $context["field"]) { + // line 14 + echo " "; + if ($this->getAttribute($context["field"], "type", array())) { + // line 15 + echo " "; + $context["value"] = (($this->getAttribute($context["field"], "name", array())) ? ($this->getAttribute(($context["data"] ?? null), "value", array(0 => $this->getAttribute($context["field"], "name", array())), "method")) : ($this->getAttribute(($context["data"] ?? null), "toArray", array()))); + // line 16 + echo " "; + $this->loadTemplate(array(0 => (((("forms/fields/" . $this->getAttribute($context["field"], "type", array())) . "/") . $this->getAttribute($context["field"], "type", array())) . ".html.twig"), 1 => "forms/fields/text/text.html.twig"), "forms/fields/section/section.html.twig", 16)->display($context); + // line 17 + echo " "; + } + // line 18 + echo " "; + ++$context['loop']['index0']; + ++$context['loop']['index']; + $context['loop']['first'] = false; + if (isset($context['loop']['length'])) { + --$context['loop']['revindex0']; + --$context['loop']['revindex']; + $context['loop']['last'] = 0 === $context['loop']['revindex0']; + } + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['field'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 19 + echo "
                              + "; + } + // line 21 + echo " +"; + } + } + + public function getTemplateName() + { + return "forms/fields/section/section.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 112 => 21, 108 => 19, 94 => 18, 91 => 17, 88 => 16, 85 => 15, 82 => 14, 65 => 13, 60 => 12, 58 => 11, 55 => 10, 45 => 8, 43 => 7, 40 => 6, 26 => 4, 24 => 3, 21 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% if field.security is empty or authorize(array(field.security)) %} + + {% if field.title or field.underline %} +

                              {% if grav.twig.twig.filters['tu'] is defined %}{{ field.title|tu }}{% else %}{{ field.title|t }}{% endif %}

                              + {% endif %} + + {% if field.text %} +

                              {% if grav.twig.twig.filters['tu'] is defined %}{{ field.text|tu|raw }}{% else %}{{ field.text|t|raw }}{% endif %}

                              + {% endif %} + + {% if field.fields %} +
                              + {% for field in field.fields %} + {% if field.type %} + {% set value = field.name ? data.value(field.name) : data.toArray %} + {% include [\"forms/fields/#{field.type}/#{field.type}.html.twig\", 'forms/fields/text/text.html.twig'] %} + {% endif %} + {% endfor %} +
                              + {% endif %} + +{% endif %} +", "forms/fields/section/section.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/forms/fields/section/section.html.twig"); + } +} diff --git a/cache/twig/43/432c6f1e39fa917e282dcd5ff6e1d2bb86c775443f1df2c79809c205ab6635ed.php b/cache/twig/43/432c6f1e39fa917e282dcd5ff6e1d2bb86c775443f1df2c79809c205ab6635ed.php new file mode 100644 index 0000000..9f4df1e --- /dev/null +++ b/cache/twig/43/432c6f1e39fa917e282dcd5ff6e1d2bb86c775443f1df2c79809c205ab6635ed.php @@ -0,0 +1,83 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + $context["langobj"] = $this->getAttribute(($context["grav"] ?? null), "language", array(), "array"); + // line 2 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["langswitcher"] ?? null), "languages", array())); + foreach ($context['_seq'] as $context["_key"] => $context["key"]) { + // line 3 + if (($context["key"] == $this->getAttribute(($context["langswitcher"] ?? null), "current", array()))) { + // line 4 + echo "\t"; + $context["lang_url"] = $this->getAttribute(($context["page"] ?? null), "url", array()); + } else { + // line 6 + echo "\t"; + $context["lang_url"] = (((((($context["base_url_simple"] ?? null) . $this->getAttribute(($context["langobj"] ?? null), "getLanguageURLPrefix", array(0 => $context["key"]), "method")) . $this->getAttribute(($context["langswitcher"] ?? null), "page_route", array())) . $this->getAttribute(($context["page"] ?? null), "urlExtension", array()))) ? ((((($context["base_url_simple"] ?? null) . $this->getAttribute(($context["langobj"] ?? null), "getLanguageURLPrefix", array(0 => $context["key"]), "method")) . $this->getAttribute(($context["langswitcher"] ?? null), "page_route", array())) . $this->getAttribute(($context["page"] ?? null), "urlExtension", array()))) : ("/")); + } + // line 8 + echo "getAttribute(($context["uri"] ?? null), "params", array())); + echo "\" /> +"; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['key'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + } + + public function getTemplateName() + { + return "partials/langswitcher.hreflang.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 35 => 8, 31 => 6, 27 => 4, 25 => 3, 21 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% set langobj = grav['language'] %} +{% for key in langswitcher.languages %} +{% if key == langswitcher.current %} +\t{% set lang_url = page.url %} +{% else %} +\t{% set lang_url = base_url_simple ~ langobj.getLanguageURLPrefix(key) ~ langswitcher.page_route ~ page.urlExtension ?: '/' %} +{% endif %} + +{% endfor %} +", "partials/langswitcher.hreflang.html.twig", "/home/kevin/Sites/static-ethica.net/user/plugins/langswitcher/templates/partials/langswitcher.hreflang.html.twig"); + } +} diff --git a/cache/twig/44/44194b75ec8eacb0e0b74538a26b8821ea99e66a7b0bf01b43c526170a6e5a19.php b/cache/twig/44/44194b75ec8eacb0e0b74538a26b8821ea99e66a7b0bf01b43c526170a6e5a19.php new file mode 100644 index 0000000..c46e274 --- /dev/null +++ b/cache/twig/44/44194b75ec8eacb0e0b74538a26b8821ea99e66a7b0bf01b43c526170a6e5a19.php @@ -0,0 +1,512 @@ +parent = $this->loadTemplate("forms/field.html.twig", "forms/fields/multilevel/multilevel.html.twig", 1); + $this->blocks = array( + 'global_attributes' => array($this, 'block_global_attributes'), + 'input' => array($this, 'block_input'), + ); + } + + protected function doGetParent(array $context) + { + return "forms/field.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 3 + public function block_global_attributes($context, array $blocks = array()) + { + // line 4 + echo " data-grav-array-name=\""; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->fieldNameFilter((($context["scope"] ?? null) . $this->getAttribute(($context["field"] ?? null), "name", array()))), "html", null, true); + echo "\" + data-grav-array-keyname=\""; + // line 5 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter(twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "placeholder_key", array()))), "html", null, true); + echo "\" + data-grav-array-valuename=\""; + // line 6 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter(twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "placeholder_value", array()))), "html", null, true); + echo "\" + "; + // line 7 + $this->displayParentBlock("global_attributes", $context, $blocks); + echo " +"; + } + + // line 89 + public function block_input($context, array $blocks = array()) + { + // line 90 + echo "
                              env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->randomStringFunc(), "html", null, true); + echo "\" data-grav-multilevel-field data-grav-array-type=\"container\" data-grav-array-mode=\"value_only\""; + echo (((twig_length_filter($this->env, ($context["value"] ?? null)) <= 1)) ? (" class=\"one-child\"") : ("")); + echo "> + "; + // line 91 + if (twig_length_filter($this->env, ($context["value"] ?? null))) { + // line 92 + echo " "; + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable(($context["value"] ?? null)); + foreach ($context['_seq'] as $context["key"] => $context["content"]) { + // line 93 + echo "
                              + "; + // line 94 + echo $this->getAttribute($this, "renderer", array(0 => $context["key"], 1 => $context["content"], 2 => ($context["field"] ?? null), 3 => ($context["scope"] ?? null), 4 => 0, 5 => (("[" . $context["key"]) . "]"), 6 => true), "method"); + echo " +
                              + "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['key'], $context['content'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + } else { + // line 99 + echo "
                              +
                              + + env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->fieldNameFilter((($context["scope"] ?? null) . $this->getAttribute(($context["field"] ?? null), "name", array()))), "html", null, true); + echo "\" + placeholder=\"Enter value\" + value=\"\" /> + + + + +
                              +
                              "; + } + // line 115 + echo "
                              +"; + } + + // line 11 + public function getfield($__value__ = null, $__key__ = null, $__level__ = null, $__globalvars__ = null, $__disable_name__ = null, $__hidden__ = null, ...$__varargs__) + { + $context = $this->env->mergeGlobals(array( + "value" => $__value__, + "key" => $__key__, + "level" => $__level__, + "globalvars" => $__globalvars__, + "disable_name" => $__disable_name__, + "hidden" => $__hidden__, + "varargs" => $__varargs__, + )); + + $blocks = array(); + + ob_start(); + try { + // line 12 + echo " "; + $context["name"] = ((("data[" . twig_replace_filter($this->getAttribute($this->getAttribute(($context["globalvars"] ?? null), "field", array()), "name", array()), array("." => "]["))) . "]") . ($context["key"] ?? null)); + // line 13 + echo "
                              + env, ($context["name"] ?? null), "html", null, true); + echo "\""; + } + // line 18 + echo " data-attr-name=\""; + echo twig_escape_filter($this->env, ($context["name"] ?? null), "html", null, true); + echo "\" + placeholder=\""; + // line 19 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter(twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "placeholder_value", array()))), "html", null, true); + echo "\" + style=\"margin-left: "; + // line 20 + echo twig_escape_filter($this->env, (($context["level"] ?? null) * 50), "html", null, true); + echo "px\" + value=\""; + // line 21 + echo twig_escape_filter($this->env, ($context["value"] ?? null), "html", null, true); + echo "\" /> + + + env, ($context["level"] ?? null), "html", null, true); + echo "\"> + env, ($context["level"] ?? null), "html", null, true); + echo "\"> +
                              + "; + } catch (Exception $e) { + ob_end_clean(); + + throw $e; + } catch (Throwable $e) { + ob_end_clean(); + + throw $e; + } + + return ('' === $tmp = ob_get_clean()) ? '' : new Twig_Markup($tmp, $this->env->getCharset()); + } + + // line 10 + public function getrenderer($__key__ = null, $__content__ = null, $__field__ = null, $__scope__ = null, $__level__ = null, $__parent_key__ = null, $__up_level__ = null, ...$__varargs__) + { + $context = $this->env->mergeGlobals(array( + "key" => $__key__, + "content" => $__content__, + "field" => $__field__, + "scope" => $__scope__, + "level" => $__level__, + "parent_key" => $__parent_key__, + "up_level" => $__up_level__, + "varargs" => $__varargs__, + )); + + $blocks = array(); + + ob_start(); + try { + // line 11 + echo " "; + // line 28 + echo " + "; + // line 29 + if ((($context["level"] ?? null) == 0)) { + // line 30 + echo " + "; + // line 31 + echo $this->getAttribute($this, "field", array(0 => ($context["key"] ?? null), 1 => "", 2 => ($context["level"] ?? null), 3 => $context, 4 => true, 5 => ((is_numeric(($context["key"] ?? null))) ? (true) : (false))), "method"); + echo " + + "; + // line 33 + if ( !twig_test_iterable(($context["content"] ?? null))) { + // line 34 + echo " "; + $context["level2"] = (($context["level"] ?? null) + 1); + // line 35 + echo " +
                              +
                              + "; + // line 38 + echo $this->getAttribute($this, "field", array(0 => ($context["content"] ?? null), 1 => (("[" . ($context["key"] ?? null)) . "]"), 2 => ($context["level2"] ?? null), 3 => $context), "method"); + echo " +
                              +
                              + "; + } + // line 42 + echo " "; + } + // line 43 + echo " + "; + // line 44 + if (($context["up_level"] ?? null)) { + // line 45 + echo " "; + $context["level"] = (($context["level"] ?? null) + 1); + // line 46 + echo " "; + } + // line 47 + echo "
                              + "; + // line 48 + $context["unique_child"] = (((is_array(($context["content"] ?? null)) && ($this->getAttribute(($context["content"] ?? null), "length", array()) > 1))) ? (true) : (false)); + // line 49 + echo " + "; + // line 50 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable(($context["content"] ?? null)); + foreach ($context['_seq'] as $context["inner_key"] => $context["inner_content"]) { + // line 51 + echo "
                              + "; + // line 52 + if ( !is_numeric($context["inner_key"])) { + // line 53 + echo " "; + if ((twig_length_filter($this->env, ($context["content"] ?? null)) > 1)) { + // line 54 + echo " "; + echo $this->getAttribute($this, "field", array(0 => $context["inner_key"], 1 => ($context["parent_key"] ?? null), 2 => ($context["level"] ?? null), 3 => $context, 4 => true), "method"); + echo " + "; + } else { + // line 56 + echo " "; + echo $this->getAttribute($this, "field", array(0 => $context["inner_key"], 1 => ($context["parent_key"] ?? null), 2 => ($context["level"] ?? null), 3 => $context), "method"); + echo " + "; + } + // line 58 + echo " "; + $context["level2"] = (($context["level"] ?? null) + 1); + // line 59 + echo " "; + $context["up_level"] = true; + // line 60 + echo " "; + } else { + // line 61 + echo " "; + $context["up_level"] = false; + // line 62 + echo " "; + $context["level2"] = ($context["level"] ?? null); + // line 63 + echo " "; + } + // line 64 + echo " + "; + // line 65 + if ( !twig_test_iterable($context["inner_content"])) { + // line 66 + echo " + "; + // line 67 + if ( !is_numeric($context["inner_key"])) { + // line 68 + echo "
                              +
                              + "; + } + // line 71 + echo " + "; + // line 72 + $context["last_key"] = ((is_numeric($context["inner_key"])) ? ("") : ($context["inner_key"])); + // line 73 + echo " "; + echo $this->getAttribute($this, "field", array(0 => $context["inner_content"], 1 => (((($context["parent_key"] ?? null) . "[") . $context["inner_key"]) . "]"), 2 => ($context["level2"] ?? null), 3 => $context), "method"); + echo " + + "; + // line 75 + if ( !is_numeric($context["inner_key"])) { + // line 76 + echo "
                              +
                              + "; + } + // line 79 + echo " "; + } else { + // line 80 + echo " + "; + // line 81 + $context["inner_parent_key"] = (((($context["parent_key"] ?? null) . "[") . $context["inner_key"]) . "]"); + // line 82 + echo " "; + echo $this->getAttribute($this, "renderer", array(0 => $context["inner_key"], 1 => $context["inner_content"], 2 => ($context["field"] ?? null), 3 => ($context["scope"] ?? null), 4 => ($context["level"] ?? null), 5 => ($context["inner_parent_key"] ?? null), 6 => ($context["up_level"] ?? null)), "method"); + echo " + "; + } + // line 84 + echo "
                              + "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['inner_key'], $context['inner_content'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 86 + echo "
                              +"; + } catch (Exception $e) { + ob_end_clean(); + + throw $e; + } catch (Throwable $e) { + ob_end_clean(); + + throw $e; + } + + return ('' === $tmp = ob_get_clean()) ? '' : new Twig_Markup($tmp, $this->env->getCharset()); + } + + public function getTemplateName() + { + return "forms/fields/multilevel/multilevel.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 354 => 86, 347 => 84, 341 => 82, 339 => 81, 336 => 80, 333 => 79, 328 => 76, 326 => 75, 320 => 73, 318 => 72, 315 => 71, 310 => 68, 308 => 67, 305 => 66, 303 => 65, 300 => 64, 297 => 63, 294 => 62, 291 => 61, 288 => 60, 285 => 59, 282 => 58, 276 => 56, 270 => 54, 267 => 53, 265 => 52, 262 => 51, 258 => 50, 255 => 49, 253 => 48, 250 => 47, 247 => 46, 244 => 45, 242 => 44, 239 => 43, 236 => 42, 229 => 38, 224 => 35, 221 => 34, 219 => 33, 214 => 31, 211 => 30, 209 => 29, 206 => 28, 204 => 11, 186 => 10, 168 => 25, 164 => 24, 158 => 21, 154 => 20, 150 => 19, 145 => 18, 139 => 17, 131 => 14, 126 => 13, 123 => 12, 106 => 11, 101 => 115, 89 => 105, 81 => 99, 71 => 94, 68 => 93, 63 => 92, 61 => 91, 54 => 90, 51 => 89, 45 => 7, 41 => 6, 37 => 5, 32 => 4, 29 => 3, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends \"forms/field.html.twig\" %} + +{% block global_attributes %} + data-grav-array-name=\"{{ (scope ~ field.name)|fieldName }}\" + data-grav-array-keyname=\"{{ field.placeholder_key|e|tu }}\" + data-grav-array-valuename=\"{{ field.placeholder_value|e|tu }}\" + {{ parent() }} +{% endblock %} + +{% macro renderer(key, content, field, scope, level, parent_key, up_level) %} + {% macro field(value, key, level, globalvars, disable_name, hidden) %} + {% set name = 'data[' ~ globalvars.field.name|replace({'.': ']['}) ~ ']' ~ key %} +
                              + + + + + +
                              + {% endmacro %} + + {% if level == 0 %} + + {{ _self.field(key, '', level, _context, true, (is_numeric(key) ? true : false)) }} + + {% if content is not iterable %} + {% set level2 = level + 1 %} + +
                              +
                              + {{ _self.field(content, '[' ~ key ~ ']', level2, _context) }} +
                              +
                              + {% endif %} + {% endif %} + + {% if up_level %} + {% set level = level + 1 %} + {% endif %} +
                              + {% set unique_child = (is_array(content) and content.length > 1) ? true : false %} + + {% for inner_key, inner_content in content -%} +
                              + {% if not is_numeric(inner_key) %} + {% if (content|length > 1) %} + {{ _self.field(inner_key, parent_key, level, _context, true) }} + {% else %} + {{ _self.field(inner_key, parent_key, level, _context) }} + {% endif %} + {% set level2 = level + 1 %} + {% set up_level = true %} + {% else %} + {% set up_level = false %} + {% set level2 = level %} + {% endif %} + + {% if inner_content is not iterable %} + + {% if not is_numeric(inner_key) %} +
                              +
                              + {% endif %} + + {% set last_key = (is_numeric(inner_key)) ? '' : inner_key %} + {{ _self.field(inner_content, parent_key ~ '[' ~ inner_key ~ ']', level2, _context) }} + + {% if not is_numeric(inner_key) %} +
                              +
                              + {% endif %} + {% else %} + + {% set inner_parent_key = parent_key ~ '[' ~ inner_key ~ ']' %} + {{ _self.renderer(inner_key, inner_content, field, scope, level, inner_parent_key, up_level) }} + {% endif %} +
                              + {% endfor %} +
                              +{% endmacro %} + +{% block input %} +
                              + {% if value|length %} + {% for key, content in value -%} +
                              + {{ _self.renderer(key, content, field, scope, 0, '[' ~ key ~ ']', true) }} +
                              + {% endfor %} + {%- else -%} + {# Empty value, mock the entry field#} +
                              +
                              + + + + + + +
                              +
                              + {%- endif %} +
                              +{% endblock %} +", "forms/fields/multilevel/multilevel.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/forms/fields/multilevel/multilevel.html.twig"); + } +} diff --git a/cache/twig/47/47c8bb036f24cda65e5bfbbf55689341313601125c8862e7f07edd7d6f2c4d49.php b/cache/twig/47/47c8bb036f24cda65e5bfbbf55689341313601125c8862e7f07edd7d6f2c4d49.php new file mode 100644 index 0000000..a77d02d --- /dev/null +++ b/cache/twig/47/47c8bb036f24cda65e5bfbbf55689341313601125c8862e7f07edd7d6f2c4d49.php @@ -0,0 +1,77 @@ +parent = $this->loadTemplate("forms/field.html.twig", "forms/fields/email/email.html.twig", 1); + $this->blocks = array( + 'input_attributes' => array($this, 'block_input_attributes'), + ); + } + + protected function doGetParent(array $context) + { + return "forms/field.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 3 + public function block_input_attributes($context, array $blocks = array()) + { + // line 4 + echo " type=\"email\" + "; + // line 5 + if (twig_in_filter($this->getAttribute(($context["field"] ?? null), "multiple", array()), array(0 => "on", 1 => "true", 2 => 1))) { + echo "multiple=\"multiple\""; + } + // line 6 + echo " "; + $this->displayParentBlock("input_attributes", $context, $blocks); + echo " +"; + } + + public function getTemplateName() + { + return "forms/fields/email/email.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 38 => 6, 34 => 5, 31 => 4, 28 => 3, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends \"forms/field.html.twig\" %} + +{% block input_attributes %} + type=\"email\" + {% if field.multiple in ['on', 'true', 1] %}multiple=\"multiple\"{% endif %} + {{ parent() }} +{% endblock %}", "forms/fields/email/email.html.twig", "/home/kevin/Sites/static-ethica.net/user/plugins/form/templates/forms/fields/email/email.html.twig"); + } +} diff --git a/cache/twig/49/496d55c030d8d0acf77af172547f07daba7d039cd929b3fdb16ad94a8d9a713f.php b/cache/twig/49/496d55c030d8d0acf77af172547f07daba7d039cd929b3fdb16ad94a8d9a713f.php new file mode 100644 index 0000000..0ba5184 --- /dev/null +++ b/cache/twig/49/496d55c030d8d0acf77af172547f07daba7d039cd929b3fdb16ad94a8d9a713f.php @@ -0,0 +1,137 @@ +parent = $this->loadTemplate("forms/field.html.twig", "forms/fields/2fa_secret/2fa_secret.html.twig", 1); + $this->blocks = array( + 'input' => array($this, 'block_input'), + ); + } + + protected function doGetParent(array $context) + { + return "forms/field.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 3 + public function block_input($context, array $blocks = array()) + { + // line 4 + echo "
                              + "; + // line 5 + $this->getAttribute(($context["admin"] ?? null), "get2FAData", array(0 => ($context["value"] ?? null)), "method"); + // line 6 + echo " "; + $context["data"] = $this->getAttribute(($context["admin"] ?? null), "json_response", array()); + // line 7 + echo " "; + if (($this->getAttribute(($context["data"] ?? null), "status", array()) == "success")) { + // line 8 + echo " + env, $this->getAttribute(($context["data"] ?? null), "image", array()), "html", null, true); + echo "\" /> +
                              + "; + // line 11 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.2FA_SECRET"), "html", null, true); + echo ": "; + echo twig_escape_filter($this->env, $this->getAttribute(($context["data"] ?? null), "secret", array()), "html", null, true); + echo " +
                              +
                              + +
                              + env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->fieldNameFilter((($context["scope"] ?? null) . $this->getAttribute(($context["field"] ?? null), "name", array()))), "html", null, true); + echo "\" data-2fa-value value=\""; + echo twig_escape_filter($this->env, twig_replace_filter($this->getAttribute(($context["data"] ?? null), "secret", array()), array(" " => "")), "html", null, true); + echo "\" /> + + "; + } else { + // line 19 + echo "
                              +

                              "; + // line 20 + echo twig_escape_filter($this->env, $this->getAttribute(($context["data"] ?? null), "message", array()), "html", null, true); + echo "

                              +
                              + "; + } + // line 23 + echo "
                              +"; + } + + public function getTemplateName() + { + return "forms/fields/2fa_secret/2fa_secret.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 82 => 23, 76 => 20, 73 => 19, 65 => 16, 58 => 14, 50 => 11, 45 => 9, 42 => 8, 39 => 7, 36 => 6, 34 => 5, 31 => 4, 28 => 3, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends \"forms/field.html.twig\" %} + +{% block input %} +
                              + {% do admin.get2FAData(value) %} + {% set data = admin.json_response %} + {% if data.status == 'success' %} + + +
                              + {{ 'PLUGIN_ADMIN.2FA_SECRET'|tu }}: {{ data.secret }} +
                              +
                              + +
                              + + + {% else %} +
                              +

                              {{ data.message }}

                              +
                              + {% endif %} +
                              +{% endblock %} +", "forms/fields/2fa_secret/2fa_secret.html.twig", "/home/kevin/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/forms/fields/2fa_secret/2fa_secret.html.twig"); + } +} diff --git a/cache/twig/4f/4f83a5fa7d47ca2e9a349c9decc95bc26b0e689e724d372c7490bf9b7be6caae.php b/cache/twig/4f/4f83a5fa7d47ca2e9a349c9decc95bc26b0e689e724d372c7490bf9b7be6caae.php new file mode 100644 index 0000000..235eeb8 --- /dev/null +++ b/cache/twig/4f/4f83a5fa7d47ca2e9a349c9decc95bc26b0e689e724d372c7490bf9b7be6caae.php @@ -0,0 +1,53 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + echo "env, $this->getAttribute($this->getAttribute(($context["admin"] ?? null), "user", array()), "avatarUrl", array(), "method"), "html", null, true); + echo "?s=47\" /> +"; + } + + public function getTemplateName() + { + return "partials/nav-user-avatar.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source(" +", "partials/nav-user-avatar.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/nav-user-avatar.html.twig"); + } +} diff --git a/cache/twig/50/50b7414f5ac7ebf35072ffca56a848c16a2831e5a9d0ac1aed2ce44f886ee0e7.php b/cache/twig/50/50b7414f5ac7ebf35072ffca56a848c16a2831e5a9d0ac1aed2ce44f886ee0e7.php new file mode 100644 index 0000000..cb06996 --- /dev/null +++ b/cache/twig/50/50b7414f5ac7ebf35072ffca56a848c16a2831e5a9d0ac1aed2ce44f886ee0e7.php @@ -0,0 +1,263 @@ +parent = $this->loadTemplate("partials/base.html.twig", "user.html.twig", 1); + $this->blocks = array( + 'titlebar' => array($this, 'block_titlebar'), + 'content' => array($this, 'block_content'), + ); + } + + protected function doGetParent(array $context) + { + return "partials/base.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 3 + if ($this->getAttribute(($context["admin"] ?? null), "route", array())) { + // line 4 + $context["user"] = $this->getAttribute(($context["admin"] ?? null), "data", array(0 => ("users/" . $this->getAttribute(($context["admin"] ?? null), "route", array()))), "method"); + // line 5 + $context["title"] = (($this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.USER") . ": ") . twig_escape_filter($this->env, $this->getAttribute(($context["admin"] ?? null), "route", array()))); + } else { + // line 7 + $context["title"] = $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN_PRO.USERS"); + } + // line 1 + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 10 + public function block_titlebar($context, array $blocks = array()) + { + // line 11 + echo " "; + if ( !$this->getAttribute(($context["admin"] ?? null), "route", array())) { + // line 12 + echo " "; + if ($this->env->getExtension('Grav\Common\Twig\TwigExtension')->authorize(array(0 => "admin.users", 1 => "admin.super"))) { + // line 13 + echo " +

                              "; + // line 16 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.USERS"), "html", null, true); + echo "

                              + "; + } else { + // line 18 + echo "

                              "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.ACCESS_DENIED"), "html", null, true); + echo "

                              + "; + } + // line 20 + echo " "; + } else { + // line 21 + echo " "; + if (($this->env->getExtension('Grav\Common\Twig\TwigExtension')->authorize(array(0 => "admin.users", 1 => "admin.super")) || ($this->getAttribute($this->getAttribute(($context["grav"] ?? null), "user", array()), "username", array()) == $this->getAttribute(($context["user"] ?? null), "username", array())))) { + // line 22 + echo "
                              + "; + // line 23 + if ($this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "plugins", array()), "admin-pro", array(), "array"), "enabled", array())) { + // line 24 + echo " env, ($context["base_url"] ?? null), "html", null, true); + echo "/users\"> "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.BACK"), "html", null, true); + echo " + "; + } + // line 26 + echo " +
                              +

                              "; + // line 28 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.USER"), "html", null, true); + echo ": "; + echo twig_escape_filter($this->env, $this->getAttribute(($context["user"] ?? null), "username", array())); + echo "

                              + "; + } else { + // line 30 + echo "

                              "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.ACCESS_DENIED"), "html", null, true); + echo "

                              + "; + } + // line 32 + echo " "; + } + } + + // line 35 + public function block_content($context, array $blocks = array()) + { + // line 36 + echo " "; + if (($this->env->getExtension('Grav\Common\Twig\TwigExtension')->authorize(array(0 => "admin.users", 1 => "admin.super")) || ($this->getAttribute($this->getAttribute(($context["grav"] ?? null), "user", array()), "username", array()) == $this->getAttribute(($context["user"] ?? null), "username", array())))) { + // line 37 + echo "
                              + "; + // line 38 + if ( !$this->getAttribute(($context["admin"] ?? null), "route", array())) { + // line 39 + echo " "; + $this->loadTemplate("partials/users-list.html.twig", "user.html.twig", 39)->display($context); + // line 40 + echo " +
                              + "; + // line 42 + $this->loadTemplate("partials/blueprints-new.html.twig", "user.html.twig", 42)->display(array_merge($context, array("blueprints" => $this->getAttribute(($context["admin"] ?? null), "blueprints", array(0 => "user/account_new"), "method")))); + // line 43 + echo "
                              + "; + } else { + // line 45 + echo " "; + $this->loadTemplate("partials/blueprints.html.twig", "user.html.twig", 45)->display(array_merge($context, array("data" => ($context["user"] ?? null), "blueprints" => $this->getAttribute(($context["user"] ?? null), "blueprints", array())))); + // line 46 + echo " "; + } + // line 47 + echo "
                              + +
                              +
                              +

                              "; + // line 51 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.MODAL_CHANGED_DETECTED_TITLE"), "html", null, true); + echo "

                              +

                              + "; + // line 53 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.MODAL_CHANGED_DETECTED_DESC"), "html", null, true); + echo " +

                              +
                              + +
                              +
                              + "; + } + } + + public function getTemplateName() + { + return "user.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 163 => 58, 159 => 57, 152 => 53, 147 => 51, 141 => 47, 138 => 46, 135 => 45, 131 => 43, 129 => 42, 125 => 40, 122 => 39, 120 => 38, 117 => 37, 114 => 36, 111 => 35, 106 => 32, 100 => 30, 93 => 28, 87 => 26, 79 => 24, 77 => 23, 74 => 22, 71 => 21, 68 => 20, 62 => 18, 57 => 16, 52 => 14, 49 => 13, 46 => 12, 43 => 11, 40 => 10, 36 => 1, 33 => 7, 30 => 5, 28 => 4, 26 => 3, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends 'partials/base.html.twig' %} + +{% if admin.route %} + {% set user = admin.data('users/' ~ admin.route) %} + {% set title = \"PLUGIN_ADMIN.USER\"|tu ~ \": \" ~ admin.route|e %} +{% else %} + {% set title = \"PLUGIN_ADMIN_PRO.USERS\"|tu %} +{% endif %} + +{% block titlebar %} + {% if not admin.route %} + {% if authorize(['admin.users', 'admin.super']) %} + +

                              {{ \"PLUGIN_ADMIN.USERS\"|tu }}

                              + {% else %} +

                              {{ \"PLUGIN_ADMIN.ACCESS_DENIED\"|tu }}

                              + {% endif %} + {% else %} + {% if authorize(['admin.users', 'admin.super']) or grav.user.username == user.username %} +
                              + {% if config.plugins[\"admin-pro\"].enabled %} + {{ \"PLUGIN_ADMIN.BACK\"|tu }} + {% endif %} + +
                              +

                              {{ \"PLUGIN_ADMIN.USER\"|tu }}: {{ user.username|e }}

                              + {% else %} +

                              {{ \"PLUGIN_ADMIN.ACCESS_DENIED\"|tu }}

                              + {% endif %} + {% endif %} +{% endblock %} + +{% block content %} + {% if authorize(['admin.users', 'admin.super']) or grav.user.username == user.username %} +
                              + {% if not admin.route %} + {% include 'partials/users-list.html.twig' %} + +
                              + {% include 'partials/blueprints-new.html.twig' with { blueprints: admin.blueprints('user/account_new') } %} +
                              + {% else %} + {% include 'partials/blueprints.html.twig' with { data: user, blueprints: user.blueprints } %} + {% endif %} +
                              + +
                              +
                              +

                              {{ \"PLUGIN_ADMIN.MODAL_CHANGED_DETECTED_TITLE\"|tu }}

                              +

                              + {{ \"PLUGIN_ADMIN.MODAL_CHANGED_DETECTED_DESC\"|tu }} +

                              +
                              + +
                              +
                              + {% endif %} +{% endblock %} + +", "user.html.twig", "/home/kevin/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/user.html.twig"); + } +} diff --git a/cache/twig/52/52f6b950ea942afeeb5a7fc8c73a8c8d1569a70cc89fd44ff94debb91f0ff279.php b/cache/twig/52/52f6b950ea942afeeb5a7fc8c73a8c8d1569a70cc89fd44ff94debb91f0ff279.php new file mode 100644 index 0000000..fccb121 --- /dev/null +++ b/cache/twig/52/52f6b950ea942afeeb5a7fc8c73a8c8d1569a70cc89fd44ff94debb91f0ff279.php @@ -0,0 +1,54 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + echo $this->env->getExtension('Grav\Common\Twig\TwigExtension')->translate("PLUGIN_ERROR.ERROR_MESSAGE"); + echo " + +"; + } + + public function getTemplateName() + { + return "@Page:/mnt/data/Sites/static-ethica.net/user/plugins/error/pages"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{{ 'PLUGIN_ERROR.ERROR_MESSAGE'|t }} + +", "@Page:/mnt/data/Sites/static-ethica.net/user/plugins/error/pages", ""); + } +} diff --git a/cache/twig/53/53d18a9c1445d63f9fc442e4a7e62f624cc9510839295bfce8606a877f0e83a2.php b/cache/twig/53/53d18a9c1445d63f9fc442e4a7e62f624cc9510839295bfce8606a877f0e83a2.php new file mode 100644 index 0000000..24af7d1 --- /dev/null +++ b/cache/twig/53/53d18a9c1445d63f9fc442e4a7e62f624cc9510839295bfce8606a877f0e83a2.php @@ -0,0 +1,87 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["page"] ?? null), "metadata", array())); + foreach ($context['_seq'] as $context["_key"] => $context["meta"]) { + // line 2 + echo "getAttribute($context["meta"], "name", array())) { + echo "name=\""; + echo $this->getAttribute($context["meta"], "name", array()); + echo "\" "; + } + if ($this->getAttribute($context["meta"], "http_equiv", array())) { + echo "http-equiv=\""; + echo $this->getAttribute($context["meta"], "http_equiv", array()); + echo "\" "; + } + if ($this->getAttribute($context["meta"], "charset", array())) { + echo "charset=\""; + echo $this->getAttribute($context["meta"], "charset", array()); + echo "\" "; + } + if ($this->getAttribute($context["meta"], "property", array())) { + echo "property=\""; + echo $this->getAttribute($context["meta"], "property", array()); + echo "\" "; + } + if ($this->getAttribute($context["meta"], "content", array())) { + echo "content=\""; + echo $this->getAttribute($context["meta"], "content", array()); + echo "\" "; + } + echo "/> +"; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['meta'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + } + + public function getTemplateName() + { + return "partials/metadata.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 23 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% for meta in page.metadata %} + +{% endfor %} +", "partials/metadata.html.twig", "/mnt/data/Sites/static-ethica.net/user/themes/ethica/templates/partials/metadata.html.twig"); + } +} diff --git a/cache/twig/5a/5a33dbae7ff280ee6e22eab599ef5bfed04c72e87641aea13b8a91bae4715858.php b/cache/twig/5a/5a33dbae7ff280ee6e22eab599ef5bfed04c72e87641aea13b8a91bae4715858.php new file mode 100644 index 0000000..93ea102 --- /dev/null +++ b/cache/twig/5a/5a33dbae7ff280ee6e22eab599ef5bfed04c72e87641aea13b8a91bae4715858.php @@ -0,0 +1,178 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + echo "
                              +
                              +
                              +

                              "; + // line 6 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.REMOVE_THE", array(0 => $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter(("PLUGIN_ADMIN." . twig_upper_filter($this->env, ($context["type"] ?? null)))))), "html", null, true); + echo "

                              +

                              + "; + // line 8 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.CONFIRM_REMOVAL", array(0 => $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter(("PLUGIN_ADMIN." . twig_upper_filter($this->env, ($context["type"] ?? null)))))), "html", null, true); + echo " +

                              + +
                              + + +
                              +
                              + +
                              +

                              "; + // line 18 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.REMOVED_SUCCESSFULLY", array(0 => $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter(("PLUGIN_ADMIN." . twig_upper_filter($this->env, ($context["type"] ?? null)))))), "html", null, true); + echo "

                              +

                              + "; + // line 20 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.ADDITIONAL_DEPENDENCIES_CAN_BE_REMOVED", array(0 => $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter(("PLUGIN_ADMIN." . twig_upper_filter($this->env, ($context["type"] ?? null)))))), "html", null, true); + echo " +

                              +
                              +
                                +
                                + +
                                + +
                                +

                                "; + // line 31 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.REMOVED_SUCCESSFULLY", array(0 => $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter(("PLUGIN_ADMIN." . twig_upper_filter($this->env, ($context["type"] ?? null)))))), "html", null, true); + echo "

                                + +
                                + +
                                +

                                "; + // line 38 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.ERROR_REMOVING_THE", array(0 => $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter(("PLUGIN_ADMIN." . twig_upper_filter($this->env, ($context["type"] ?? null)))))), "html", null, true); + echo "

                                +
                                + +
                                +
                                +
                                +
                                +"; + } + + public function getTemplateName() + { + return "partials/modal-remove-package.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 98 => 40, 93 => 38, 83 => 33, 78 => 31, 68 => 26, 59 => 20, 54 => 18, 42 => 13, 38 => 12, 31 => 8, 26 => 6, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("
                                +
                                +
                                +

                                {{ \"PLUGIN_ADMIN.REMOVE_THE\"|tu([(\"PLUGIN_ADMIN.\" ~ type|upper)|tu]) }}

                                +

                                + {{ \"PLUGIN_ADMIN.CONFIRM_REMOVAL\"|tu([(\"PLUGIN_ADMIN.\" ~ type|upper)|tu]) }} +

                                + +
                                + + +
                                +
                                + +
                                +

                                {{ \"PLUGIN_ADMIN.REMOVED_SUCCESSFULLY\"|tu([(\"PLUGIN_ADMIN.\" ~ type|upper)|tu]) }}

                                +

                                + {{ \"PLUGIN_ADMIN.ADDITIONAL_DEPENDENCIES_CAN_BE_REMOVED\"|tu([(\"PLUGIN_ADMIN.\" ~ type|upper)|tu]) }} +

                                +
                                +
                                  +
                                  + +
                                  + +
                                  +

                                  {{ \"PLUGIN_ADMIN.REMOVED_SUCCESSFULLY\"|tu([(\"PLUGIN_ADMIN.\" ~ type|upper)|tu]) }}

                                  + +
                                  + +
                                  +

                                  {{ \"PLUGIN_ADMIN.ERROR_REMOVING_THE\"|tu([(\"PLUGIN_ADMIN.\" ~ type|upper)|tu]) }}

                                  +
                                  + +
                                  +
                                  +
                                  +
                                  +", "partials/modal-remove-package.html.twig", "/home/kevin/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/modal-remove-package.html.twig"); + } +} diff --git a/cache/twig/5b/5bee15b1862b472f001ab0795da57fc8a2dae97b31aa96841531e2324baa735c.php b/cache/twig/5b/5bee15b1862b472f001ab0795da57fc8a2dae97b31aa96841531e2324baa735c.php new file mode 100644 index 0000000..649ac4e --- /dev/null +++ b/cache/twig/5b/5bee15b1862b472f001ab0795da57fc8a2dae97b31aa96841531e2324baa735c.php @@ -0,0 +1,61 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + $context["value"] = (((null === ($context["value"] ?? null))) ? ((($this->getAttribute(($context["field"] ?? null), "evaluate", array())) ? ($this->env->getExtension('Grav\Common\Twig\TwigExtension')->evaluateStringFunc($this->env, $context, $this->getAttribute(($context["field"] ?? null), "default", array()))) : ($this->getAttribute(($context["field"] ?? null), "default", array())))) : (($context["value"] ?? null))); + // line 2 + echo " +env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->fieldNameFilter((($context["scope"] ?? null) . $this->getAttribute(($context["field"] ?? null), "name", array()))), "html", null, true); + echo "\" value=\""; + echo twig_escape_filter($this->env, twig_join_filter(($context["value"] ?? null), ", "), "html", null, true); + echo "\" /> +"; + } + + public function getTemplateName() + { + return "forms/fields/hidden/hidden.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 24 => 3, 21 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% set value = (value is null ? (field.evaluate ? evaluate(field.default) : field.default) : value) %} + + +", "forms/fields/hidden/hidden.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/form/templates/forms/fields/hidden/hidden.html.twig"); + } +} diff --git a/cache/twig/63/630978b1576372100e8d899f8f548a1b00db4ea04bcb128a6a5a947530291c76.php b/cache/twig/63/630978b1576372100e8d899f8f548a1b00db4ea04bcb128a6a5a947530291c76.php new file mode 100644 index 0000000..7732aa5 --- /dev/null +++ b/cache/twig/63/630978b1576372100e8d899f8f548a1b00db4ea04bcb128a6a5a947530291c76.php @@ -0,0 +1,167 @@ +parent = $this->loadTemplate("forms/field.html.twig", "forms/fields/dateformat/dateformat.html.twig", 1); + $this->blocks = array( + 'global_attributes' => array($this, 'block_global_attributes'), + 'input' => array($this, 'block_input'), + ); + } + + protected function doGetParent(array $context) + { + return "forms/field.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 3 + public function block_global_attributes($context, array $blocks = array()) + { + // line 4 + echo " data-grav-selectize=\""; + echo twig_escape_filter($this->env, twig_jsonencode_filter((($this->getAttribute(($context["field"] ?? null), "selectize", array(), "any", true, true)) ? ($this->getAttribute(($context["field"] ?? null), "selectize", array())) : (array()))), "html_attr"); + echo "\" + data-grav-field=\"select\" + "; + // line 6 + $this->displayParentBlock("global_attributes", $context, $blocks); + echo " +"; + } + + // line 9 + public function block_input($context, array $blocks = array()) + { + // line 10 + echo "
                                  env, $this->getAttribute(($context["field"] ?? null), "size", array()), "html", null, true); + echo "\"> + +
                                  +"; + } + + public function getTemplateName() + { + return "forms/fields/dateformat/dateformat.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 111 => 22, 96 => 20, 92 => 19, 89 => 18, 82 => 17, 77 => 16, 72 => 15, 67 => 14, 62 => 13, 58 => 12, 52 => 11, 47 => 10, 44 => 9, 38 => 6, 32 => 4, 29 => 3, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends \"forms/field.html.twig\" %} + +{% block global_attributes %} + data-grav-selectize=\"{{ (field.selectize is defined ? field.selectize : {})|json_encode()|e('html_attr') }}\" + data-grav-field=\"select\" + {{ parent() }} +{% endblock %} + +{% block input %} +
                                  + +
                                  +{% endblock %} +", "forms/fields/dateformat/dateformat.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/forms/fields/dateformat/dateformat.html.twig"); + } +} diff --git a/cache/twig/64/643db05024d01591ea436850a24957db0f6bdb695d7633a6c9aa508503b2ecff.php b/cache/twig/64/643db05024d01591ea436850a24957db0f6bdb695d7633a6c9aa508503b2ecff.php new file mode 100644 index 0000000..c876a96 --- /dev/null +++ b/cache/twig/64/643db05024d01591ea436850a24957db0f6bdb695d7633a6c9aa508503b2ecff.php @@ -0,0 +1,132 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + $context["taxonomies"] = (((null === ($context["taxonomies"] ?? null))) ? ((($this->getAttribute(($context["field"] ?? null), "taxonomies", array())) ? ($this->getAttribute(($context["field"] ?? null), "taxonomies", array())) : ($this->getAttribute($this->getAttribute(($context["admin"] ?? null), "data", array(0 => "config/site"), "method"), "taxonomies", array())))) : (($context["taxonomies"] ?? null))); + // line 2 + $context["parentname"] = $this->getAttribute(($context["field"] ?? null), "name", array()); + // line 3 + echo " +"; + // line 4 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable(($context["taxonomies"] ?? null)); + $context['loop'] = array( + 'parent' => $context['_parent'], + 'index0' => 0, + 'index' => 1, + 'first' => true, + ); + if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) { + $length = count($context['_seq']); + $context['loop']['revindex0'] = $length - 1; + $context['loop']['revindex'] = $length; + $context['loop']['length'] = $length; + $context['loop']['last'] = 1 === $length; + } + foreach ($context['_seq'] as $context["_key"] => $context["name"]) { + // line 5 + echo " + "; + // line 6 + $context["value"] = $this->env->getExtension('Grav\Common\Twig\TwigExtension')->arrayFunc((($this->getAttribute(($context["data"] ?? null), "value", array(0 => ("header.taxonomy." . $context["name"])), "method", true, true)) ? (_twig_default_filter($this->getAttribute(($context["data"] ?? null), "value", array(0 => ("header.taxonomy." . $context["name"])), "method"), array())) : (array()))); + // line 7 + echo " "; + $context["sub_taxonomies"] = twig_get_array_keys_filter((($this->getAttribute($this->getAttribute($this->getAttribute(($context["grav"] ?? null), "taxonomy", array(), "any", false, true), "taxonomy", array(), "any", false, true), $context["name"], array(), "any", true, true)) ? (_twig_default_filter($this->getAttribute($this->getAttribute($this->getAttribute(($context["grav"] ?? null), "taxonomy", array(), "any", false, true), "taxonomy", array(), "any", false, true), $context["name"]), array())) : (array()))); + // line 8 + echo " "; + $context["list"] = array_unique(twig_array_merge(twig_array_merge(array(), ($context["sub_taxonomies"] ?? null)), ($context["value"] ?? null))); + // line 9 + echo " + "; + // line 10 + $context["field"] = array("type" => "select", "classes" => "fancy create", "label" => twig_capitalize_string_filter($this->env, // line 13 +$context["name"]), "name" => (( // line 14 +($context["parentname"] ?? null) . ".") . $context["name"]), "multiple" => true, "options" => // line 16 +($context["list"] ?? null), "style" => $this->getAttribute( // line 17 +($context["field"] ?? null), "style", array()), "selectize" => array("create" => true)); + // line 22 + echo " + "; + // line 23 + $this->loadTemplate(array(0 => "forms/fields/select/select.html.twig"), "forms/fields/taxonomy/taxonomy.html.twig", 23)->display($context); + ++$context['loop']['index0']; + ++$context['loop']['index']; + $context['loop']['first'] = false; + if (isset($context['loop']['length'])) { + --$context['loop']['revindex0']; + --$context['loop']['revindex']; + $context['loop']['last'] = 0 === $context['loop']['revindex0']; + } + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['name'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + } + + public function getTemplateName() + { + return "forms/fields/taxonomy/taxonomy.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 66 => 23, 63 => 22, 61 => 17, 60 => 16, 59 => 14, 58 => 13, 57 => 10, 54 => 9, 51 => 8, 48 => 7, 46 => 6, 43 => 5, 26 => 4, 23 => 3, 21 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% set taxonomies = (taxonomies is null ? (field.taxonomies ? field.taxonomies : admin.data('config/site').taxonomies) : taxonomies) %} +{% set parentname = field.name %} + +{% for name in taxonomies %} + + {% set value = array(data.value('header.taxonomy.' ~ name)|default([])) %} + {% set sub_taxonomies = attribute(grav.taxonomy.taxonomy, name)|default([])|keys %} + {% set list = []|merge(sub_taxonomies)|merge(value)|array_unique %} + + {% set field = { + type: 'select', + classes: 'fancy create', + label: name|capitalize, + name: parentname ~ '.' ~ name, + multiple: true, + options: list, + style: field.style, + selectize: { + create: true + } + } %} + + {% include ['forms/fields/select/select.html.twig'] %} +{% endfor %} +", "forms/fields/taxonomy/taxonomy.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/forms/fields/taxonomy/taxonomy.html.twig"); + } +} diff --git a/cache/twig/64/64c5de290a9459b388a2f97f9bcfa3df3957dd315894fd4d76d7fe152216b3dc.php b/cache/twig/64/64c5de290a9459b388a2f97f9bcfa3df3957dd315894fd4d76d7fe152216b3dc.php new file mode 100644 index 0000000..4db3713 --- /dev/null +++ b/cache/twig/64/64c5de290a9459b388a2f97f9bcfa3df3957dd315894fd4d76d7fe152216b3dc.php @@ -0,0 +1,507 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 2 + $context["default"] = $this->getAttribute($this->getAttribute(($context["mediaembed"] ?? null), "config", array()), "media", array()); + // line 3 + $context["oembed"] = $this->getAttribute(($context["mediaembed"] ?? null), "service", array()); + // line 4 + echo " +"; + // line 6 + if ( !$this->getAttribute(($context["mediaembed"] ?? null), "success", array())) { + // line 7 + echo " "; + if ($this->getAttribute(($context["default"] ?? null), "responsive", array())) { + // line 8 + echo " "; + $context["class"] = "-responsive mediaembed-msod"; + // line 9 + echo " "; + } else { + // line 10 + echo " "; + $context["class"] = ((" mediaembed-msod\" style=\"max-width: " . $this->getAttribute(($context["default"] ?? null), "width", array())) . "px;"); + // line 11 + echo " "; + } + // line 12 + echo " + + +"; + } else { + // line 21 + echo " "; + $context["response"] = $this->getAttribute(($context["oembed"] ?? null), "attributes", array()); + // line 22 + echo " "; + // line 23 + echo " "; + if (((twig_test_empty($this->getAttribute(($context["response"] ?? null), "width", array())) || !$this->getAttribute(($context["response"] ?? null), "width", array(), "any", true, true)) || ($this->getAttribute(($context["response"] ?? null), "width", array()) == 0))) { + // line 24 + echo " "; + $context["response"] = twig_array_merge(($context["response"] ?? null), array("width" => (($this->getAttribute(($context["default"] ?? null), "width", array(), "any", true, true)) ? (_twig_default_filter($this->getAttribute(($context["default"] ?? null), "width", array()), 1)) : (1)))); + // line 25 + echo " "; + } + // line 26 + echo " + "; + // line 27 + if (((twig_test_empty($this->getAttribute(($context["response"] ?? null), "height", array())) || !$this->getAttribute(($context["response"] ?? null), "height", array(), "any", true, true)) || ($this->getAttribute(($context["response"] ?? null), "height", array()) == 0))) { + // line 28 + echo " "; + $context["response"] = twig_array_merge(($context["response"] ?? null), array("height" => (($this->getAttribute(($context["default"] ?? null), "height", array(), "any", true, true)) ? (_twig_default_filter($this->getAttribute(($context["default"] ?? null), "height", array()), 1)) : (1)))); + // line 29 + echo " "; + } + // line 30 + echo " + "; + // line 31 + $context["width"] = $this->getAttribute(($context["response"] ?? null), "width", array()); + // line 32 + echo " "; + $context["height"] = $this->getAttribute(($context["response"] ?? null), "height", array()); + // line 33 + echo " "; + $context["ratio"] = (($context["height"] ?? null) / ($context["width"] ?? null)); + // line 34 + echo " + "; + // line 36 + echo " "; + if ($this->getAttribute(($context["default"] ?? null), "adjust", array())) { + // line 37 + echo " "; + // line 38 + echo " "; + if ((((($context["width"] ?? null) * ($context["ratio"] ?? null)) > $this->getAttribute(($context["default"] ?? null), "height", array())) || ((($context["height"] ?? null) / ($context["ratio"] ?? null)) > $this->getAttribute(($context["default"] ?? null), "width", array())))) { + // line 39 + echo " "; + // line 40 + echo " "; + $context["width"] = (($this->getAttribute(($context["default"] ?? null), "width", array(), "any", true, true)) ? (_twig_default_filter($this->getAttribute(($context["default"] ?? null), "width", array()), 1)) : (1)); + // line 41 + echo " "; + $context["height"] = twig_round(($this->getAttribute(($context["default"] ?? null), "width", array()) * ($context["ratio"] ?? null))); + // line 42 + echo " "; + } + // line 43 + echo " "; + } else { + // line 44 + echo " "; + $context["width"] = (($this->getAttribute(($context["default"] ?? null), "width", array(), "any", true, true)) ? (_twig_default_filter($this->getAttribute(($context["default"] ?? null), "width", array()), 1)) : (1)); + // line 45 + echo " "; + $context["height"] = (($this->getAttribute(($context["default"] ?? null), "height", array(), "any", true, true)) ? (_twig_default_filter($this->getAttribute(($context["default"] ?? null), "height", array()), 1)) : (1)); + // line 46 + echo " "; + } + // line 47 + echo " + "; + // line 49 + echo " "; + $context["ratio"] = (($context["height"] ?? null) / ($context["width"] ?? null)); + // line 50 + echo " "; + $context["container_styles"] = (("padding-bottom: " . sprintf("%.2f", (($context["ratio"] ?? null) * 100))) . "%;"); + // line 51 + echo " + "; + // line 53 + echo " "; + if ($this->getAttribute(($context["default"] ?? null), "responsive", array())) { + // line 54 + echo " "; + $context["responsive"] = "-responsive"; + // line 55 + echo " + "; + // line 56 + $context["width"] = 1920; + // line 57 + echo " "; + $context["height"] = twig_round((($context["width"] ?? null) * ($context["ratio"] ?? null))); + // line 58 + echo " "; + } else { + // line 59 + echo " "; + $context["styles"] = ((((" style=\"max-width: " . ($context["width"] ?? null)) . "px; max-height: ") . ($context["height"] ?? null)) . "px;\""); + // line 60 + echo " "; + } + // line 61 + echo " + "; + // line 63 + echo " "; + if ($this->getAttribute(($context["default"] ?? null), "preview", array())) { + // line 64 + echo " "; + $context["lazyload"] = " lazyload"; + // line 65 + echo " "; + $context["lazyload_script"] = " onclick=\"lazyload(this)\""; + // line 66 + echo " "; + } + // line 67 + echo " +
                                  getAttribute(($context["oembed"] ?? null), "type", array()); + echo " mediaembed-"; + echo twig_lower_filter($this->env, $this->getAttribute(($context["oembed"] ?? null), "name", array())); + echo ($context["lazyload"] ?? null); + echo "\""; + echo ($context["styles"] ?? null); + echo "> +
                                  + "; + // line 71 + echo " + "; + // line 73 + echo " "; + if (($this->getAttribute(($context["oembed"] ?? null), "type", array()) == "photo")) { + // line 74 + echo " "; + $context["title"] = (((($this->getAttribute($this->getAttribute(($context["oembed"] ?? null), "getOembed", array(), "method"), "provider_name", array()) . ": “") . $this->getAttribute(($context["oembed"] ?? null), "title", array())) . "” by ") . $this->getAttribute(($context["oembed"] ?? null), "author", array())); + // line 75 + echo " getAttribute(($context["oembed"] ?? null), "author", array(0 => "url"), "method"); + echo "\" title=\""; + echo ($context["title"] ?? null); + echo "\"> + getAttribute(($context["oembed"] ?? null), "url", array()); + echo "\" alt=\""; + echo $this->getAttribute(($context["oembed"] ?? null), "title", array()); + echo "\"> + + + "; + // line 80 + echo " "; + } elseif (($this->getAttribute(($context["oembed"] ?? null), "type", array()) == "video")) { + // line 81 + echo " getAttribute(($context["oembed"] ?? null), "getEmbedCode", array()); + echo "\" alt=\""; + echo $this->getAttribute($this->getAttribute(($context["mediaembed"] ?? null), "raw", array()), "alt", array()); + echo "\" title=\""; + echo $this->getAttribute($this->getAttribute(($context["mediaembed"] ?? null), "raw", array()), "title", array()); + echo "\" class=\"mediaembed-media\""; + echo ($context["lazyload_script"] ?? null); + echo "> + "; + // line 83 + echo " + + "; + // line 90 + echo " "; + if (($this->getAttribute(($context["default"] ?? null), "preview", array()) && $this->getAttribute(($context["oembed"] ?? null), "thumbnail", array()))) { + // line 91 + echo " getAttribute(($context["oembed"] ?? null), "thumbnail", array()); + echo "\" alt=\""; + echo $this->getAttribute($this->getAttribute(($context["mediaembed"] ?? null), "raw", array()), "alt", array()); + echo "\" title=\""; + echo $this->getAttribute($this->getAttribute(($context["mediaembed"] ?? null), "raw", array()), "title", array()); + echo "\" class=\"mediaembed-thumbnail\" /> + "; + } else { + // line 93 + echo " "; + // line 94 + echo " "; + } + // line 95 + echo " + "; + // line 97 + echo " getAttribute(($context["mediaembed"] ?? null), "uid", array()); + echo "\" class=\"mediaembed-input\" /> + + "; + // line 100 + echo " + + + + + "; + // line 110 + echo " "; + } elseif (($this->getAttribute(($context["oembed"] ?? null), "type", array()) == "link")) { + // line 111 + echo " "; + $context["title"] = (((($this->getAttribute($this->getAttribute(($context["oembed"] ?? null), "getOembed", array(), "method"), "provider_name", array()) . ": “") . (($this->getAttribute($this->getAttribute($this->getAttribute(($context["oembed"] ?? null), "mediaembed", array(), "any", false, true), "raw", array(), "any", false, true), "title", array(), "any", true, true)) ? (_twig_default_filter($this->getAttribute($this->getAttribute($this->getAttribute(($context["oembed"] ?? null), "mediaembed", array(), "any", false, true), "raw", array(), "any", false, true), "title", array()), ($context["title"] ?? null))) : (($context["title"] ?? null)))) . "” by ") . $this->getAttribute(($context["oembed"] ?? null), "author", array())); + // line 112 + echo " getAttribute($this->getAttribute(($context["mediaembed"] ?? null), "raw", array()), "src", array()); + echo "\" alt=\""; + echo $this->getAttribute($this->getAttribute(($context["mediaembed"] ?? null), "raw", array()), "alt", array()); + echo "\" title=\""; + echo ($context["title"] ?? null); + echo "\">"; + echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute(($context["mediaembed"] ?? null), "raw", array()), "src", array())); + echo " + "; + // line 114 + echo " "; + } elseif (($this->getAttribute(($context["oembed"] ?? null), "type", array()) == "rich")) { + // line 115 + echo "
                                  "; + echo $this->getAttribute(($context["oembed"] ?? null), "getEmbedCode", array(), "method"); + echo "
                                  + + "; + // line 118 + echo " "; + } else { + // line 119 + echo " "; + // line 120 + echo " getAttribute($this->getAttribute(($context["mediaembed"] ?? null), "raw", array()), "src", array()); + echo "\" alt=\""; + echo $this->getAttribute($this->getAttribute(($context["mediaembed"] ?? null), "raw", array()), "alt", array()); + echo "\" title=\""; + echo $this->getAttribute($this->getAttribute(($context["mediaembed"] ?? null), "raw", array()), "title", array()); + echo "\">"; + echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute(($context["mediaembed"] ?? null), "raw", array()), "src", array())); + echo " + "; + } + // line 122 + echo "
                                  +
                                  +"; + } + } + + public function getTemplateName() + { + return "partials/mediaembed.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 350 => 122, 338 => 120, 336 => 119, 333 => 118, 327 => 115, 324 => 114, 313 => 112, 310 => 111, 307 => 110, 301 => 106, 289 => 101, 286 => 100, 280 => 97, 277 => 95, 274 => 94, 272 => 93, 262 => 91, 259 => 90, 247 => 84, 244 => 83, 233 => 81, 230 => 80, 222 => 76, 215 => 75, 212 => 74, 209 => 73, 206 => 71, 202 => 69, 191 => 68, 188 => 67, 185 => 66, 182 => 65, 179 => 64, 176 => 63, 173 => 61, 170 => 60, 167 => 59, 164 => 58, 161 => 57, 159 => 56, 156 => 55, 153 => 54, 150 => 53, 147 => 51, 144 => 50, 141 => 49, 138 => 47, 135 => 46, 132 => 45, 129 => 44, 126 => 43, 123 => 42, 120 => 41, 117 => 40, 115 => 39, 112 => 38, 110 => 37, 107 => 36, 104 => 34, 101 => 33, 98 => 32, 96 => 31, 93 => 30, 90 => 29, 87 => 28, 85 => 27, 82 => 26, 79 => 25, 76 => 24, 73 => 23, 71 => 22, 68 => 21, 61 => 16, 51 => 15, 46 => 13, 43 => 12, 40 => 11, 37 => 10, 34 => 9, 31 => 8, 28 => 7, 26 => 6, 23 => 4, 21 => 3, 19 => 2,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{# Shortcut variables #} +{% set default = mediaembed.config.media %} +{% set oembed = mediaembed.service %} + +{# Processing error #} +{% if not mediaembed.success %} + {% if default.responsive %} + {% set class = \"-responsive mediaembed-msod\" %} + {% else %} + {% set class = \" mediaembed-msod\\\" style=\\\"max-width: \" ~ default.width ~ \"px;\" %} + {% endif %} + +
                                  +

                                  +

                                  Unable to process oEmbed media:{{ mediaembed.raw.src|e }}

                                  +

                                  Error:{{ mediaembed.message }}

                                  +
                                  + +{# Setup block #} +{% else %} + {% set response = oembed.attributes %} + {# Normalize response #} + {% if (response.width is empty) or not (response.width is defined) or (response.width == 0) %} + {% set response = response|merge({'width' : default.width|default(1)}) %} + {% endif %} + + {% if (response.height is empty) or not (response.height is defined) or (response.height == 0) %} + {% set response = response|merge({'height' : default.height|default(1)}) %} + {% endif %} + + {% set width = response.width %} + {% set height = response.height %} + {% set ratio = height / width %} + + {# Adjust OEmbed media dimensions or restrict them? #} + {% if default.adjust %} + {# Check if computed height is larger than default setting #} + {% if (width * ratio) > default.height or (height / ratio) > default.width %} + {# Rescale width and height #} + {% set width = default.width|default(1) %} + {% set height = (default.width * ratio)|round %} + {% endif %} + {% else %} + {% set width = default.width|default(1) %} + {% set height = default.height|default(1) %} + {% endif %} + + {# Recompute aspect ratio #} + {% set ratio = height / width %} + {% set container_styles = \"padding-bottom: \" ~ \"%.2f\"|format(ratio * 100) ~ \"%;\" %} + + {# Embed responsive OEmbed media #} + {% if default.responsive %} + {% set responsive = \"-responsive\" %} + + {% set width = 1920 %} + {% set height = (width * ratio)|round %} + {% else %} + {% set styles = \" style=\\\"max-width: \" ~ width ~ \"px; max-height: \" ~ height ~ \"px;\\\"\" %} + {% endif %} + + {# Setup lazy loading media for those with preview enabled #} + {% if default.preview %} + {% set lazyload = \" lazyload\" %} + {% set lazyload_script = \" onclick=\\\"lazyload(this)\\\"\" %} + {% endif %} + +
                                  +
                                  + {# Embed content according to media type #} + + {# -- Photo -- #} + {% if oembed.type == \"photo\" %} + {% set title = oembed.getOembed().provider_name ~ ': “' ~ oembed.title ~ '” by ' ~ oembed.author %} + + \"{{ + + + {# -- Video -- #} + {% elseif oembed.type == \"video\" %} + + {# JavaScript lazy-loading #} + + + {# Show Thumbnail #} + {% if default.preview and oembed.thumbnail %} + \"{{ + {% else %} + {# Show placeholder #} + {% endif %} + + {# Toggle for loading iframe content #} + + + {# Implement JavaScript-less lazyload technique #} + + + + + + {# -- Link -- #} + {% elseif oembed.type == \"link\" %} + {% set title = oembed.getOembed().provider_name ~ ': “' ~ oembed.mediaembed.raw.title|default(title) ~ '” by ' ~ oembed.author %} + {{ mediaembed.raw.src|e }} + {# -- Rich media -- #} + {% elseif oembed.type == \"rich\" %} +
                                  {{ oembed.getEmbedCode() }}
                                  + + {# -- Nothing from above -- #} + {% else %} + {# Show at least a link for the user #} + {{ mediaembed.raw.src|e }} + {% endif %} +
                                  +
                                  +{% endif %} +", "partials/mediaembed.html.twig", "/home/kevin/Sites/static-ethica.net/user/plugins/mediaembed/templates/partials/mediaembed.html.twig"); + } +} diff --git a/cache/twig/65/654ab5d63cb06d78d96dd05f667cd17631eeeeb935b913c995f482043c31c0af.php b/cache/twig/65/654ab5d63cb06d78d96dd05f667cd17631eeeeb935b913c995f482043c31c0af.php new file mode 100644 index 0000000..c0e238e --- /dev/null +++ b/cache/twig/65/654ab5d63cb06d78d96dd05f667cd17631eeeeb935b913c995f482043c31c0af.php @@ -0,0 +1,211 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + $context["form_id"] = ((($context["form_id"] ?? null)) ? (($context["form_id"] ?? null)) : ("blueprints")); + // line 2 + $context["scope"] = ((($context["scope"] ?? null)) ? (($context["scope"] ?? null)) : ("data.")); + // line 3 + echo " +"; + // line 4 + if ($this->getAttribute(($context["admin"] ?? null), "findFormFields", array(0 => "file", 1 => $this->getAttribute(($context["blueprints"] ?? null), "fields", array())), "method")) { + // line 5 + echo " "; + $context["multipart"] = " enctype=\"multipart/form-data\""; + } + // line 7 + echo " +
                                  env, ($context["form_id"] ?? null), "html", null, true); + echo "\" method=\"post\" data-grav-form=\""; + echo twig_escape_filter($this->env, ($context["form_id"] ?? null), "html", null, true); + echo "\" data-grav-keepalive=\"true\""; + echo ($context["multipart"] ?? null); + echo "> + "; + // line 9 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["blueprints"] ?? null), "fields", array())); + $context['loop'] = array( + 'parent' => $context['_parent'], + 'index0' => 0, + 'index' => 1, + 'first' => true, + ); + if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) { + $length = count($context['_seq']); + $context['loop']['revindex0'] = $length - 1; + $context['loop']['revindex'] = $length; + $context['loop']['length'] = $length; + $context['loop']['last'] = 1 === $length; + } + foreach ($context['_seq'] as $context["_key"] => $context["field"]) { + // line 10 + echo " "; + if ($this->getAttribute($context["field"], "type", array())) { + // line 11 + echo " "; + $context["value"] = (($this->getAttribute($context["field"], "name", array())) ? ($this->getAttribute(($context["data"] ?? null), "value", array(0 => $this->getAttribute($context["field"], "name", array())), "method")) : ($this->getAttribute(($context["data"] ?? null), "toArray", array()))); + // line 12 + echo "
                                  env, $this->getAttribute($context["field"], "type", array()), "html", null, true); + echo "\"> + "; + // line 13 + $this->loadTemplate(array(0 => (((("forms/fields/" . $this->getAttribute($context["field"], "type", array())) . "/") . $this->getAttribute($context["field"], "type", array())) . ".html.twig"), 1 => "forms/fields/text/text.html.twig"), "partials/blueprints.html.twig", 13)->display($context); + // line 14 + echo "
                                  + "; + } + // line 16 + echo " "; + ++$context['loop']['index0']; + ++$context['loop']['index']; + $context['loop']['first'] = false; + if (isset($context['loop']['length'])) { + --$context['loop']['revindex0']; + --$context['loop']['revindex']; + $context['loop']['last'] = 0 === $context['loop']['revindex0']; + } + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['field'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 17 + echo " + "; + // line 18 + if ($this->getAttribute(($context["data"] ?? null), "extra", array())) { + // line 19 + echo " "; + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["data"] ?? null), "extra", array())); + $context['loop'] = array( + 'parent' => $context['_parent'], + 'index0' => 0, + 'index' => 1, + 'first' => true, + ); + if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) { + $length = count($context['_seq']); + $context['loop']['revindex0'] = $length - 1; + $context['loop']['revindex'] = $length; + $context['loop']['length'] = $length; + $context['loop']['last'] = 1 === $length; + } + foreach ($context['_seq'] as $context["name"] => $context["value"]) { + // line 20 + echo " "; + if (!twig_in_filter($context["name"], array(0 => "_json", 1 => "task", 2 => "admin-nonce"))) { + // line 21 + echo " "; + $context["field"] = array("name" => ("_json." . $context["name"])); + // line 22 + echo " "; + $context["value"] = twig_jsonencode_filter($context["value"]); + // line 23 + echo " "; + $this->loadTemplate("forms/fields/hidden/hidden.html.twig", "partials/blueprints.html.twig", 23)->display($context); + // line 24 + echo " "; + } + // line 25 + echo " "; + ++$context['loop']['index0']; + ++$context['loop']['index']; + $context['loop']['first'] = false; + if (isset($context['loop']['length'])) { + --$context['loop']['revindex0']; + --$context['loop']['revindex']; + $context['loop']['last'] = 0 === $context['loop']['revindex0']; + } + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['name'], $context['value'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 26 + echo " "; + } + // line 27 + echo " + "; + // line 28 + echo $this->env->getExtension('Grav\Common\Twig\TwigExtension')->nonceFieldFunc("admin-form", "admin-nonce"); + echo " +
                                  +"; + } + + public function getTemplateName() + { + return "partials/blueprints.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 149 => 28, 146 => 27, 143 => 26, 129 => 25, 126 => 24, 123 => 23, 120 => 22, 117 => 21, 114 => 20, 96 => 19, 94 => 18, 91 => 17, 77 => 16, 73 => 14, 71 => 13, 66 => 12, 63 => 11, 60 => 10, 43 => 9, 35 => 8, 32 => 7, 28 => 5, 26 => 4, 23 => 3, 21 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% set form_id = form_id ? form_id : 'blueprints' %} +{% set scope = scope ?: 'data.' %} + +{% if admin.findFormFields('file', blueprints.fields) %} + {% set multipart = ' enctype=\"multipart/form-data\"' %} +{% endif %} + +
                                  + {% for field in blueprints.fields %} + {% if field.type %} + {% set value = field.name ? data.value(field.name) : data.toArray %} +
                                  + {% include [\"forms/fields/#{field.type}/#{field.type}.html.twig\", 'forms/fields/text/text.html.twig'] %} +
                                  + {% endif %} + {% endfor %} + + {% if data.extra %} + {% for name, value in data.extra %} + {% if name not in ['_json','task','admin-nonce'] %} + {% set field = {name: '_json.' ~ name} %} + {% set value = value|raw|json_encode %} + {% include 'forms/fields/hidden/hidden.html.twig' %} + {% endif %} + {% endfor %} + {% endif %} + + {{ nonce_field('admin-form', 'admin-nonce')|raw }} +
                                  +", "partials/blueprints.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/blueprints.html.twig"); + } +} diff --git a/cache/twig/67/676f23a260cefd0edb3db208e1e2801ebcc5ceb7190f1d999a2e7007da65b5c4.php b/cache/twig/67/676f23a260cefd0edb3db208e1e2801ebcc5ceb7190f1d999a2e7007da65b5c4.php new file mode 100644 index 0000000..c3b466a --- /dev/null +++ b/cache/twig/67/676f23a260cefd0edb3db208e1e2801ebcc5ceb7190f1d999a2e7007da65b5c4.php @@ -0,0 +1,128 @@ +parent = false; + + $this->blocks = array( + 'content' => array($this, 'block_content'), + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 2 + echo " + "; + // line 3 + $this->displayBlock('content', $context, $blocks); + } + + public function block_content($context, array $blocks = array()) + { + // line 4 + echo "
                                  +

                                  "; + // line 5 + echo $this->getAttribute(($context["header"] ?? null), "title", array()); + echo "

                                  + "; + // line 6 + echo $this->getAttribute(($context["page"] ?? null), "content", array()); + echo " +
                                  + "; + // line 8 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["page"] ?? null), "collection", array(), "method")); + foreach ($context['_seq'] as $context["_key"] => $context["module"]) { + // line 9 + echo "
                                  getAttribute($this, "pageLinkName", array(0 => $this->getAttribute($context["module"], "folder", array())), "method"); + echo "\" class=\"mutli-column\"> + "; + // line 10 + echo $this->getAttribute($context["module"], "content", array()); + echo " +
                                  + "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['module'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 13 + echo " "; + } + + // line 1 + public function getpageLinkName($__text__ = null, ...$__varargs__) + { + $context = $this->env->mergeGlobals(array( + "text" => $__text__, + "varargs" => $__varargs__, + )); + + $blocks = array(); + + ob_start(); + try { + echo twig_replace_filter(twig_lower_filter($this->env, ($context["text"] ?? null)), array("01._" => "", "02._" => "", "03._" => "", "04._" => "", "05._" => "", "06._" => "", "07._" => "", "08._" => "", "09._" => "")); + } catch (Exception $e) { + ob_end_clean(); + + throw $e; + } catch (Throwable $e) { + ob_end_clean(); + + throw $e; + } + + return ('' === $tmp = ob_get_clean()) ? '' : new Twig_Markup($tmp, $this->env->getCharset()); + } + + public function getTemplateName() + { + return "modular/contenu-multi.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 63 => 1, 59 => 13, 50 => 10, 45 => 9, 41 => 8, 36 => 6, 32 => 5, 29 => 4, 23 => 3, 20 => 2,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% macro pageLinkName(text) %}{{ text|lower|replace({'01._':'','02._':'','03._':'','04._':'','05._':'','06._':'','07._':'','08._':'','09._':''}) }}{% endmacro %} + + {% block content %} +
                                  +

                                  {{ header.title }}

                                  + {{ page.content }} +
                                  + {% for module in page.collection() %} +
                                  + {{ module.content }} +
                                  + {% endfor %} + {% endblock %} +", "modular/contenu-multi.html.twig", "/home/kevin/Sites/static-ethica.net/user/themes/ethica/templates/modular/contenu-multi.html.twig"); + } +} diff --git a/cache/twig/68/68556e0c0fe68c1a072bb7bef8f2c4e36532e88e2189d5aed3dc55ea40fc61f2.php b/cache/twig/68/68556e0c0fe68c1a072bb7bef8f2c4e36532e88e2189d5aed3dc55ea40fc61f2.php new file mode 100644 index 0000000..8aa6fae --- /dev/null +++ b/cache/twig/68/68556e0c0fe68c1a072bb7bef8f2c4e36532e88e2189d5aed3dc55ea40fc61f2.php @@ -0,0 +1,146 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + $context["form_id"] = ((($context["form_id"] ?? null)) ? (($context["form_id"] ?? null)) : ("blueprints")); + // line 2 + $context["scope"] = ((($context["scope"] ?? null)) ? (($context["scope"] ?? null)) : ("data.")); + // line 3 + echo " +
                                  env, ($context["form_id"] ?? null), "html", null, true); + echo "\" method=\"post\" data-grav-form=\""; + echo twig_escape_filter($this->env, ($context["form_id"] ?? null), "html", null, true); + echo "\" data-grav-keepalive=\"true\"> + "; + // line 5 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["blueprints"] ?? null), "fields", array())); + $context['loop'] = array( + 'parent' => $context['_parent'], + 'index0' => 0, + 'index' => 1, + 'first' => true, + ); + if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) { + $length = count($context['_seq']); + $context['loop']['revindex0'] = $length - 1; + $context['loop']['revindex'] = $length; + $context['loop']['length'] = $length; + $context['loop']['last'] = 1 === $length; + } + foreach ($context['_seq'] as $context["_key"] => $context["field"]) { + // line 6 + echo " "; + if ($this->getAttribute($context["field"], "type", array())) { + // line 7 + echo " "; + $context["value"] = (($this->getAttribute($context["field"], "name", array())) ? ($this->getAttribute(($context["data"] ?? null), "value", array(0 => $this->getAttribute($context["field"], "name", array())), "method")) : ($this->getAttribute(($context["data"] ?? null), "toArray", array()))); + // line 8 + echo "
                                  env, $this->getAttribute($context["field"], "type", array()), "html", null, true); + echo "\"> + "; + // line 9 + $this->loadTemplate(array(0 => (((("forms/fields/" . $this->getAttribute($context["field"], "type", array())) . "/") . $this->getAttribute($context["field"], "type", array())) . ".html.twig"), 1 => "forms/fields/text/text.html.twig"), "partials/blueprints-new-folder.html.twig", 9)->display($context); + // line 10 + echo "
                                  + "; + } + // line 12 + echo " "; + ++$context['loop']['index0']; + ++$context['loop']['index']; + $context['loop']['first'] = false; + if (isset($context['loop']['length'])) { + --$context['loop']['revindex0']; + --$context['loop']['revindex']; + $context['loop']['last'] = 0 === $context['loop']['revindex0']; + } + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['field'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 13 + echo " + +
                                  + +
                                  + + "; + // line 19 + echo $this->env->getExtension('Grav\Common\Twig\TwigExtension')->nonceFieldFunc("admin-form", "admin-nonce"); + echo " + +
                                  +"; + } + + public function getTemplateName() + { + return "partials/blueprints-new-folder.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 91 => 19, 85 => 16, 80 => 13, 66 => 12, 62 => 10, 60 => 9, 55 => 8, 52 => 7, 49 => 6, 32 => 5, 26 => 4, 23 => 3, 21 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% set form_id = form_id ? form_id : 'blueprints' %} +{% set scope = scope ?: 'data.' %} + +
                                  + {% for field in blueprints.fields %} + {% if field.type %} + {% set value = field.name ? data.value(field.name) : data.toArray %} +
                                  + {% include [\"forms/fields/#{field.type}/#{field.type}.html.twig\", 'forms/fields/text/text.html.twig'] %} +
                                  + {% endif %} + {% endfor %} + + +
                                  + +
                                  + + {{ nonce_field('admin-form', 'admin-nonce')|raw }} + +
                                  +", "partials/blueprints-new-folder.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/blueprints-new-folder.html.twig"); + } +} diff --git a/cache/twig/6e/6e2b4f6ad25cdff6a0326eb019d85dc7d7a8ea03b9c2473ceffe49bd98a749d0.php b/cache/twig/6e/6e2b4f6ad25cdff6a0326eb019d85dc7d7a8ea03b9c2473ceffe49bd98a749d0.php new file mode 100644 index 0000000..1a580e4 --- /dev/null +++ b/cache/twig/6e/6e2b4f6ad25cdff6a0326eb019d85dc7d7a8ea03b9c2473ceffe49bd98a749d0.php @@ -0,0 +1,375 @@ +parent = $this->loadTemplate("partials/base.html.twig", "config.html.twig", 1); + $this->blocks = array( + 'stylesheets' => array($this, 'block_stylesheets'), + 'javascripts' => array($this, 'block_javascripts'), + 'titlebar' => array($this, 'block_titlebar'), + 'content_top' => array($this, 'block_content_top'), + 'content' => array($this, 'block_content'), + ); + } + + protected function doGetParent(array $context) + { + return "partials/base.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 3 + $context["config_slug"] = twig_escape_filter($this->env, $this->getAttribute(($context["uri"] ?? null), "basename", array())); + // line 4 + $context["isInfo"] = (($context["config_slug"] ?? null) == "info"); + // line 6 + $context["tab_title_string"] = ("PLUGIN_ADMIN." . twig_upper_filter($this->env, ($context["config_slug"] ?? null))); + // line 7 + $context["tab_title"] = ((($this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter(($context["tab_title_string"] ?? null)) == ($context["tab_title_string"] ?? null))) ? (twig_capitalize_string_filter($this->env, ($context["config_slug"] ?? null))) : ($this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter(($context["tab_title_string"] ?? null)))); + // line 8 + $context["title"] = (($this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.CONFIGURATION") . ": ") . ($context["tab_title"] ?? null)); + // line 10 + if ( !($context["isInfo"] ?? null)) { + // line 11 + $context["data"] = $this->getAttribute(($context["admin"] ?? null), "data", array(0 => ("config/" . ($context["config_slug"] ?? null))), "method"); + } + // line 1 + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 14 + public function block_stylesheets($context, array $blocks = array()) + { + // line 15 + echo " "; + $this->getAttribute(($context["assets"] ?? null), "addCss", array(0 => (($context["theme_url"] ?? null) . "/css/codemirror/codemirror.css")), "method"); + // line 16 + echo " "; + $this->displayParentBlock("stylesheets", $context, $blocks); + echo " +"; + } + + // line 19 + public function block_javascripts($context, array $blocks = array()) + { + // line 20 + echo " "; + $this->displayParentBlock("javascripts", $context, $blocks); + echo " +"; + } + + // line 23 + public function block_titlebar($context, array $blocks = array()) + { + // line 24 + echo "
                                  + env, ($context["base_url"] ?? null), "html", null, true); + echo "\"> "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.BACK"), "html", null, true); + echo " + "; + // line 26 + if ($this->getAttribute($this->getAttribute(($context["data"] ?? null), "file", array()), "filename", array())) { + // line 27 + echo " + "; + } + // line 29 + echo "
                                  +

                                  "; + // line 30 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.CONFIGURATION"), "html", null, true); + echo " - "; + echo twig_escape_filter($this->env, ($context["tab_title"] ?? null), "html", null, true); + echo "

                                  +"; + } + + // line 33 + public function block_content_top($context, array $blocks = array()) + { + // line 34 + echo " "; + if ($this->getAttribute($this->getAttribute(($context["data"] ?? null), "file", array()), "filename", array())) { + // line 35 + echo "
                                  "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.SAVE_LOCATION"), "html", null, true); + echo ": "; + echo twig_escape_filter($this->env, twig_replace_filter($this->getAttribute($this->getAttribute(($context["data"] ?? null), "file", array()), "filename", array()), array(($context["base_path"] ?? null) => "")), "html", null, true); + echo "
                                  + "; + } + // line 37 + echo " +
                                  +
                                  + + "; + // line 41 + if ($this->env->getExtension('Grav\Common\Twig\TwigExtension')->authorize(array(0 => "admin.configuration_system", 1 => "admin.super"))) { + // line 42 + echo " env, ($context["base_url_relative"] ?? null), "html", null, true); + echo "/config/system\"> + "; + // line 43 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.SYSTEM"), "html", null, true); + echo " + + "; + } + // line 46 + echo " + "; + // line 47 + if ($this->env->getExtension('Grav\Common\Twig\TwigExtension')->authorize(array(0 => "admin.configuration_site", 1 => "admin.super"))) { + // line 48 + echo " env, ($context["base_url_relative"] ?? null), "html", null, true); + echo "/config/site\"> + "; + // line 49 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.SITE"), "html", null, true); + echo " + + "; + } + // line 52 + echo " + "; + // line 53 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["admin"] ?? null), "configurations", array())); + foreach ($context['_seq'] as $context["_key"] => $context["configuration"]) { + // line 54 + echo " "; + if ($this->env->getExtension('Grav\Common\Twig\TwigExtension')->authorize(array(0 => ("admin.configuration_" . $context["configuration"]), 1 => "admin.super"))) { + // line 55 + echo " "; + $context["current_blueprints"] = $this->getAttribute($this->getAttribute($this->getAttribute(($context["admin"] ?? null), "data", array(0 => ("config/" . $context["configuration"])), "method"), "blueprints", array()), "toArray", array(), "method"); + // line 56 + echo " "; + if ((((($context["configuration"] != "system") && ($context["configuration"] != "site")) && !$this->getAttribute($this->getAttribute(($context["current_blueprints"] ?? null), "form", array()), "hidden", array())) && ( !twig_test_empty($this->getAttribute($this->getAttribute(($context["current_blueprints"] ?? null), "form", array()), "fields", array())) || !twig_test_empty($this->getAttribute($this->getAttribute(($context["current_blueprints"] ?? null), "form", array()), "field", array()))))) { + // line 57 + echo " env, ($context["base_url_relative"] ?? null), "html", null, true); + echo "/config/"; + echo twig_escape_filter($this->env, $context["configuration"], "html", null, true); + echo "\"> + "; + // line 58 + $context["configuration_string"] = ("PLUGIN_ADMIN." . twig_upper_filter($this->env, $context["configuration"])); + // line 59 + echo " "; + echo twig_escape_filter($this->env, ((($this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter(($context["configuration_string"] ?? null)) == ($context["configuration_string"] ?? null))) ? (twig_capitalize_string_filter($this->env, $context["configuration"])) : ($this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter(($context["configuration_string"] ?? null)))), "html", null, true); + echo " + + "; + } + // line 62 + echo " "; + } + // line 63 + echo " "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['configuration'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 64 + echo " + "; + // line 65 + if ($this->env->getExtension('Grav\Common\Twig\TwigExtension')->authorize(array(0 => "admin.configuration_info", 1 => "admin.super"))) { + // line 66 + echo " env, ($context["base_url_relative"] ?? null), "html", null, true); + echo "/config/info\"> + "; + // line 67 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.INFO"), "html", null, true); + echo " + + "; + } + // line 70 + echo " +
                                  +
                                  +"; + } + + // line 75 + public function block_content($context, array $blocks = array()) + { + // line 76 + echo " "; + if ($this->env->getExtension('Grav\Common\Twig\TwigExtension')->authorize(array(0 => ("admin.configuration_" . ($context["config_slug"] ?? null)), 1 => "admin.super"))) { + // line 77 + echo " "; + if (($context["isInfo"] ?? null)) { + // line 78 + echo "
                                  + "; + // line 79 + echo $this->getAttribute(($context["admin"] ?? null), "phpinfo", array()); + echo " +
                                  + "; + } else { + // line 82 + echo " "; + $this->loadTemplate("partials/blueprints.html.twig", "config.html.twig", 82)->display(array_merge($context, array("blueprints" => $this->getAttribute(($context["data"] ?? null), "blueprints", array()), "data" => ($context["data"] ?? null)))); + // line 83 + echo " "; + } + // line 84 + echo " "; + } + // line 85 + echo " "; + $this->loadTemplate("partials/modal-changes-detected.html.twig", "config.html.twig", 85)->display($context); + } + + public function getTemplateName() + { + return "config.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 258 => 85, 255 => 84, 252 => 83, 249 => 82, 243 => 79, 240 => 78, 237 => 77, 234 => 76, 231 => 75, 224 => 70, 218 => 67, 209 => 66, 207 => 65, 204 => 64, 198 => 63, 195 => 62, 188 => 59, 186 => 58, 175 => 57, 172 => 56, 169 => 55, 166 => 54, 162 => 53, 159 => 52, 153 => 49, 144 => 48, 142 => 47, 139 => 46, 133 => 43, 124 => 42, 122 => 41, 116 => 37, 108 => 35, 105 => 34, 102 => 33, 94 => 30, 91 => 29, 85 => 27, 83 => 26, 77 => 25, 74 => 24, 71 => 23, 64 => 20, 61 => 19, 54 => 16, 51 => 15, 48 => 14, 44 => 1, 41 => 11, 39 => 10, 37 => 8, 35 => 7, 33 => 6, 31 => 4, 29 => 3, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends 'partials/base.html.twig' %} + +{% set config_slug = uri.basename|e %} +{% set isInfo = (config_slug == 'info') %} + +{% set tab_title_string = \"PLUGIN_ADMIN.\" ~ config_slug|upper %} +{% set tab_title = (tab_title_string|tu == tab_title_string ? config_slug|capitalize : tab_title_string|tu) %} +{% set title = \"PLUGIN_ADMIN.CONFIGURATION\"|tu ~ \": \" ~ tab_title %} + +{% if not isInfo %} + {% set data = admin.data('config/' ~ config_slug) %} +{% endif %} + +{% block stylesheets %} + {% do assets.addCss(theme_url ~ '/css/codemirror/codemirror.css') %} + {{ parent() }} +{% endblock %} + +{% block javascripts %} + {{ parent() }} +{% endblock %} + +{% block titlebar %} +
                                  + {{ \"PLUGIN_ADMIN.BACK\"|tu }} + {% if data.file.filename %} + + {% endif %} +
                                  +

                                  {{ \"PLUGIN_ADMIN.CONFIGURATION\"|tu }} - {{ tab_title }}

                                  +{% endblock %} + +{% block content_top %} + {% if data.file.filename %} +
                                  {{ \"PLUGIN_ADMIN.SAVE_LOCATION\"|tu }}: {{ data.file.filename|replace({(base_path):''}) }}
                                  + {% endif %} + +
                                  +
                                  + + {% if authorize(['admin.configuration_system', 'admin.super']) %} + + {{ \"PLUGIN_ADMIN.SYSTEM\"|tu }} + + {% endif %} + + {% if authorize(['admin.configuration_site', 'admin.super']) %} + + {{ \"PLUGIN_ADMIN.SITE\"|tu }} + + {% endif %} + + {% for configuration in admin.configurations %} + {% if authorize(['admin.configuration_' ~ configuration, 'admin.super']) %} + {% set current_blueprints = admin.data('config/' ~ configuration).blueprints.toArray() %} + {% if configuration != 'system' and configuration != 'site' and not current_blueprints.form.hidden and (current_blueprints.form.fields is not empty or current_blueprints.form.field is not empty) %} + + {% set configuration_string = \"PLUGIN_ADMIN.\" ~ configuration|upper %} + {{ (configuration_string|tu == configuration_string ? configuration|capitalize : configuration_string|tu) }} + + {% endif %} + {% endif %} + {% endfor %} + + {% if authorize(['admin.configuration_info', 'admin.super']) %} + + {{ \"PLUGIN_ADMIN.INFO\"|tu }} + + {% endif %} + +
                                  +
                                  +{% endblock %} + +{% block content %} + {% if authorize(['admin.configuration_' ~ config_slug, 'admin.super']) %} + {% if isInfo %} +
                                  + {{ admin.phpinfo|raw }} +
                                  + {% else %} + {% include 'partials/blueprints.html.twig' with { blueprints: data.blueprints, data: data } %} + {% endif %} + {% endif %} + {% include 'partials/modal-changes-detected.html.twig' %} +{% endblock %} +", "config.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/config.html.twig"); + } +} diff --git a/cache/twig/70/70f43dfe84522797170fbabc2f5ec4773f604b47a66bc351394460ffec625d4a.php b/cache/twig/70/70f43dfe84522797170fbabc2f5ec4773f604b47a66bc351394460ffec625d4a.php new file mode 100644 index 0000000..4e800f6 --- /dev/null +++ b/cache/twig/70/70f43dfe84522797170fbabc2f5ec4773f604b47a66bc351394460ffec625d4a.php @@ -0,0 +1,147 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + if ($this->getAttribute($this->getAttribute(($context["grav"] ?? null), "twig", array()), "plugins_quick_tray", array())) { + // line 2 + echo "
                                    + "; + // line 3 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute($this->getAttribute(($context["grav"] ?? null), "twig", array()), "plugins_quick_tray", array())); + foreach ($context['_seq'] as $context["label"] => $context["item"]) { + // line 4 + echo " "; + if ($this->env->getExtension('Grav\Common\Twig\TwigExtension')->authorize(((($this->getAttribute($context["item"], "authorize", array(), "any", true, true) && twig_test_iterable($this->getAttribute($context["item"], "authorize", array())))) ? ($this->getAttribute($context["item"], "authorize", array())) : (array(0 => (($this->getAttribute($context["item"], "authorize", array())) ? ($this->getAttribute($context["item"], "authorize", array())) : (("admin." . (($this->getAttribute($context["item"], "location", array())) ? ($this->getAttribute($context["item"], "location", array())) : ($this->getAttribute($context["item"], "route", array())))))), 1 => "admin.super"))))) { + // line 5 + echo " "; + $context["data_tags"] = ""; + // line 6 + echo " "; + if ($this->getAttribute($context["item"], "data", array())) { + // line 7 + echo " "; + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute($context["item"], "data", array())); + foreach ($context['_seq'] as $context["key"] => $context["value"]) { + // line 8 + echo " "; + $context["data_tags"] = (((((($context["data_tags"] ?? null) . " data-") . $context["key"]) . "=\"") . $context["value"]) . "\""); + // line 9 + echo " "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['key'], $context['value'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 10 + echo " "; + } + // line 11 + echo "
                                  • env, $this->getAttribute($context["item"], "class", array()), "html", null, true); + echo " hint--bottom\" data-hint=\""; + echo twig_escape_filter($this->env, $this->getAttribute($context["item"], "hint", array()), "html", null, true); + echo "\" "; + echo ($context["data_tags"] ?? null); + echo "> + "; + // line 12 + if ($this->getAttribute($context["item"], "route", array())) { + // line 13 + echo " env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->urlFunc($this->getAttribute($context["item"], "route", array())), "html", null, true); + echo "\"> + env, $this->getAttribute($context["item"], "icon", array()), "html", null, true); + echo "\"> + + "; + } else { + // line 17 + echo " env, $this->getAttribute($context["item"], "icon", array()), "html", null, true); + echo "\"> + "; + } + // line 19 + echo "
                                  • + "; + } + // line 21 + echo " "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['label'], $context['item'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 22 + echo "
                                  +"; + } + } + + public function getTemplateName() + { + return "partials/nav-quick-tray.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 92 => 22, 86 => 21, 82 => 19, 76 => 17, 70 => 14, 65 => 13, 63 => 12, 54 => 11, 51 => 10, 45 => 9, 42 => 8, 37 => 7, 34 => 6, 31 => 5, 28 => 4, 24 => 3, 21 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% if grav.twig.plugins_quick_tray %} +
                                    + {% for label, item in grav.twig.plugins_quick_tray %} + {% if authorize((item.authorize is defined and item.authorize is iterable) ? item.authorize : [item.authorize ?: ('admin.' ~ (item.location ?: item.route)), 'admin.super']) %} + {% set data_tags = '' %} + {% if (item.data) %} + {% for key, value in item.data %} + {% set data_tags = data_tags ~ ' data-' ~ key ~ '=\"' ~ value ~ '\"' %} + {% endfor %} + {% endif %} +
                                  • + {% if item.route %} + + + + {% else %} + + {% endif %} +
                                  • + {% endif %} + {% endfor %} +
                                  +{% endif %} +", "partials/nav-quick-tray.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/nav-quick-tray.html.twig"); + } +} diff --git a/cache/twig/71/719efc56339fcc27c1a6b85ed9f811ea6fc8e966735807b7f684cbfb1b42e76c.php b/cache/twig/71/719efc56339fcc27c1a6b85ed9f811ea6fc8e966735807b7f684cbfb1b42e76c.php new file mode 100644 index 0000000..9872471 --- /dev/null +++ b/cache/twig/71/719efc56339fcc27c1a6b85ed9f811ea6fc8e966735807b7f684cbfb1b42e76c.php @@ -0,0 +1,364 @@ +parent = $this->loadTemplate("forms/field.html.twig", "forms/fields/array/array.html.twig", 1); + $this->blocks = array( + 'global_attributes' => array($this, 'block_global_attributes'), + 'input' => array($this, 'block_input'), + ); + } + + protected function doGetParent(array $context) + { + return "forms/field.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 3 + public function block_global_attributes($context, array $blocks = array()) + { + // line 4 + echo " data-grav-array-name=\""; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->fieldNameFilter((($context["scope"] ?? null) . $this->getAttribute(($context["field"] ?? null), "name", array()))), "html", null, true); + echo "\" + data-grav-array-keyname=\""; + // line 5 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter(twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "placeholder_key", array()))), "html", null, true); + echo "\" + data-grav-array-valuename=\""; + // line 6 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter(twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "placeholder_value", array()))), "html", null, true); + echo "\" + "; + // line 7 + $this->displayParentBlock("global_attributes", $context, $blocks); + echo " +"; + } + + // line 42 + public function block_input($context, array $blocks = array()) + { + // line 43 + echo " "; + $context["array_field"] = $this; + // line 44 + echo "
                                  getAttribute(($context["field"] ?? null), "value_only", array())) { + echo " data-grav-array-mode=\"value_only\""; + } + echo (((twig_length_filter($this->env, ($context["value"] ?? null)) <= 1)) ? (" class=\"one-child\"") : ("")); + echo "> + "; + // line 45 + if (twig_length_filter($this->env, ($context["value"] ?? null))) { + // line 46 + echo " "; + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable(($context["value"] ?? null)); + foreach ($context['_seq'] as $context["key"] => $context["text"]) { + // line 47 + if ( !twig_test_iterable($context["text"])) { + // line 48 + echo " "; + echo $context["array_field"]->getrenderer($context["key"], $context["text"], ($context["field"] ?? null), ($context["scope"] ?? null)); + echo " + "; + } else { + // line 50 + echo " "; + // line 51 + echo " "; + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($context["text"]); + foreach ($context['_seq'] as $context["subkey"] => $context["subtext"]) { + // line 52 + echo $context["array_field"]->getrenderer(((($context["key"] . "[") . $context["subkey"]) . "]"), $context["subtext"], ($context["field"] ?? null), ($context["scope"] ?? null)); + echo " + "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['subkey'], $context['subtext'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 54 + echo " "; + } + // line 55 + echo " "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['key'], $context['text'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + } else { + // line 58 + echo "
                                  + + "; + // line 60 + if (($this->getAttribute(($context["field"] ?? null), "value_only", array()) != true)) { + // line 61 + echo " getAttribute(($context["field"] ?? null), "disabled", array()) || ($context["isDisabledToggleable"] ?? null))) { + echo "disabled=\"disabled\""; + } + // line 65 + echo " placeholder=\""; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter(twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "placeholder_key", array()))), "html", null, true); + echo "\" /> + "; + } + // line 67 + echo " env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->fieldNameFilter((($context["scope"] ?? null) . $this->getAttribute(($context["field"] ?? null), "name", array()))), "html", null, true); + echo "\" + "; + // line 71 + if (($this->getAttribute(($context["field"] ?? null), "disabled", array()) || ($context["isDisabledToggleable"] ?? null))) { + echo "disabled=\"disabled\""; + } + // line 72 + echo " placeholder=\""; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter(twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "placeholder_value", array()))), "html", null, true); + echo "\" /> + + +
                                  "; + } + // line 77 + echo "
                                  +"; + } + + // line 10 + public function getrenderer($__key__ = null, $__text__ = null, $__field__ = null, $__scope__ = null, ...$__varargs__) + { + $context = $this->env->mergeGlobals(array( + "key" => $__key__, + "text" => $__text__, + "field" => $__field__, + "scope" => $__scope__, + "varargs" => $__varargs__, + )); + + $blocks = array(); + + ob_start(); + try { + // line 11 + echo " + "; + // line 12 + if ( !twig_test_iterable(($context["text"] ?? null))) { + // line 13 + echo "
                                  getAttribute(($context["field"] ?? null), "value_only", array())) { + echo " array-field-value_only"; + } + echo "\" + data-grav-array-type=\"row\"> + + "; + // line 16 + if (($this->getAttribute(($context["field"] ?? null), "value_only", array()) != true)) { + // line 17 + echo " "; + if (((($context["key"] ?? null) == "0") && (($context["text"] ?? null) == ""))) { + // line 18 + echo " "; + $context["key"] = ""; + // line 19 + echo " "; + } + // line 20 + echo " + env, ($context["key"] ?? null), "html", null, true); + echo "\" + "; + // line 24 + if (($this->getAttribute(($context["field"] ?? null), "disabled", array()) || ($context["isDisabledToggleable"] ?? null))) { + echo "disabled=\"disabled\""; + } + // line 25 + echo " placeholder=\""; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter(twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "placeholder_key", array()))), "html", null, true); + echo "\" /> + "; + } + // line 27 + echo " + env, ((($this->env->getExtension('Grav\Common\Twig\TwigExtension')->fieldNameFilter((($context["scope"] ?? null) . $this->getAttribute(($context["field"] ?? null), "name", array()))) . "[") . ($context["key"] ?? null)) . "]"), "html", null, true); + echo "\" + placeholder=\""; + // line 32 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter(twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "placeholder_value", array()))), "html", null, true); + echo "\" + "; + // line 33 + if (($this->getAttribute(($context["field"] ?? null), "disabled", array()) || ($context["isDisabledToggleable"] ?? null))) { + echo "disabled=\"disabled\""; + } + // line 34 + echo " value="; + if ((($context["text"] ?? null) == "true")) { + echo "true"; + } elseif ((($context["text"] ?? null) == "false")) { + echo "false"; + } else { + echo "\""; + echo twig_escape_filter($this->env, twig_join_filter(($context["text"] ?? null), ", ")); + echo "\""; + } + echo " /> + + + +
                                  + "; + } + } catch (Exception $e) { + ob_end_clean(); + + throw $e; + } catch (Throwable $e) { + ob_end_clean(); + + throw $e; + } + + return ('' === $tmp = ob_get_clean()) ? '' : new Twig_Markup($tmp, $this->env->getCharset()); + } + + public function getTemplateName() + { + return "forms/fields/array/array.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 229 => 34, 225 => 33, 221 => 32, 217 => 31, 211 => 27, 205 => 25, 201 => 24, 197 => 23, 192 => 20, 189 => 19, 186 => 18, 183 => 17, 181 => 16, 172 => 13, 170 => 12, 167 => 11, 152 => 10, 147 => 77, 139 => 72, 135 => 71, 131 => 70, 126 => 67, 120 => 65, 116 => 64, 111 => 61, 109 => 60, 105 => 58, 98 => 55, 95 => 54, 87 => 52, 82 => 51, 80 => 50, 74 => 48, 72 => 47, 67 => 46, 65 => 45, 57 => 44, 54 => 43, 51 => 42, 45 => 7, 41 => 6, 37 => 5, 32 => 4, 29 => 3, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends \"forms/field.html.twig\" %} + +{% block global_attributes %} + data-grav-array-name=\"{{ (scope ~ field.name)|fieldName }}\" + data-grav-array-keyname=\"{{ field.placeholder_key|e|tu }}\" + data-grav-array-valuename=\"{{ field.placeholder_value|e|tu }}\" + {{ parent() }} +{% endblock %} + +{% macro renderer(key, text, field, scope) %} + + {% if text is not iterable %} +
                                  + + {% if field.value_only != true %} + {% if key == '0' and text == '' %} + {% set key = '' %} + {% endif %} + + + {% endif %} + + + + + +
                                  + {% endif %} +{% endmacro %} + +{% block input %} + {% import _self as array_field %} +
                                  + {% if value|length %} + {% for key, text in value -%} + {% if text is not iterable %} + {{ array_field.renderer(key, text, field, scope) }} + {% else %} + {# Backward compatibility for nested arrays (metas) which are not supported anymore #} + {% for subkey, subtext in text -%} + {{ array_field.renderer(key ~ '[' ~ subkey ~ ']', subtext, field, scope) }} + {% endfor %} + {% endif %} + {% endfor %} + {%- else -%} + {# Empty value, mock the entry field#} +
                                  + + {% if field.value_only != true %} + + {% endif %} + + + +
                                  + {%- endif %} +
                                  +{% endblock %} +", "forms/fields/array/array.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/forms/fields/array/array.html.twig"); + } +} diff --git a/cache/twig/71/71b2ab4570bd5879e342930f82b524a5fe062ff7f7e734b4b98b6a5037390e62.php b/cache/twig/71/71b2ab4570bd5879e342930f82b524a5fe062ff7f7e734b4b98b6a5037390e62.php new file mode 100644 index 0000000..0cc77ca --- /dev/null +++ b/cache/twig/71/71b2ab4570bd5879e342930f82b524a5fe062ff7f7e734b4b98b6a5037390e62.php @@ -0,0 +1,65 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + if ($this->getAttribute(($context["data"] ?? null), "avatar", array())) { + // line 2 + echo " +"; + } else { + // line 4 + echo " +"; + } + } + + public function getTemplateName() + { + return "partials/userinfo-avatar.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 27 => 4, 21 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% if data.avatar %} + +{% else %} + +{% endif %}", "partials/userinfo-avatar.html.twig", "/home/kevin/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/userinfo-avatar.html.twig"); + } +} diff --git a/cache/twig/72/721bda27f6c7963a7ceed98b3ea94dd2804f33e40520412dcd1cf01f340ed146.php b/cache/twig/72/721bda27f6c7963a7ceed98b3ea94dd2804f33e40520412dcd1cf01f340ed146.php new file mode 100644 index 0000000..a299657 --- /dev/null +++ b/cache/twig/72/721bda27f6c7963a7ceed98b3ea94dd2804f33e40520412dcd1cf01f340ed146.php @@ -0,0 +1,270 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + echo "
                                  env, $this->getAttribute(($context["field"] ?? null), "class", array()), "html", null, true); + echo " "; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "classes", array()), "html", null, true); + echo "\"> + +"; + // line 3 + if ($this->getAttribute(($context["field"] ?? null), "fields", array())) { + // line 4 + echo " + "; + // line 5 + $context["tabsKey"] = twig_join_filter(twig_get_array_keys_filter($this->getAttribute(($context["field"] ?? null), "fields", array())), "."); + // line 6 + echo " "; + $context["storedValue"] = $this->env->getExtension('Grav\Common\Twig\TwigExtension')->jsonDecodeFilter(_twig_default_filter($this->env->getExtension('Grav\Common\Twig\TwigExtension')->getCookie("grav-tabs-state"), "{}")); + // line 7 + echo " "; + $context["storedTab"] = $this->getAttribute(($context["storedValue"] ?? null), ("tab-" . ($context["tabsKey"] ?? null))); + // line 8 + echo " + "; + // line 9 + if (twig_test_empty(($context["storedTab"] ?? null))) { + // line 10 + echo " "; + if ($this->getAttribute($this->getAttribute(($context["uri"] ?? null), "params", array()), "tab", array())) { + // line 11 + echo " "; + $context["active"] = $this->getAttribute($this->getAttribute(($context["uri"] ?? null), "params", array()), "tab", array()); + // line 12 + echo " "; + } elseif ($this->getAttribute(($context["field"] ?? null), "active", array())) { + // line 13 + echo " "; + $context["active"] = $this->getAttribute(($context["field"] ?? null), "active", array()); + // line 14 + echo " "; + } else { + // line 15 + echo " "; + $context["active"] = 1; + // line 16 + echo " "; + } + // line 17 + echo " "; + } + // line 18 + echo " +
                                  + "; + // line 20 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["field"] ?? null), "fields", array())); + $context['loop'] = array( + 'parent' => $context['_parent'], + 'index0' => 0, + 'index' => 1, + 'first' => true, + ); + if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) { + $length = count($context['_seq']); + $context['loop']['revindex0'] = $length - 1; + $context['loop']['revindex'] = $length; + $context['loop']['length'] = $length; + $context['loop']['last'] = 1 === $length; + } + foreach ($context['_seq'] as $context["_key"] => $context["tab"]) { + // line 21 + echo " "; + if ((($this->getAttribute($context["tab"], "type", array()) == "tab") && (twig_test_empty($this->getAttribute($context["tab"], "security", array())) || $this->env->getExtension('Grav\Common\Twig\TwigExtension')->authorize($this->env->getExtension('Grav\Common\Twig\TwigExtension')->arrayFunc($this->getAttribute($context["tab"], "security", array())))))) { + // line 22 + echo " getAttribute($context["tab"], "name", array()))) || (($context["active"] ?? null) == $this->getAttribute($context["loop"], "index", array())))) ? ("active") : ("")); + echo "\" href=\"#\" data-tabid=\"tab-"; + echo twig_escape_filter($this->env, (($context["tabsKey"] ?? null) . $this->getAttribute($context["loop"], "index", array())), "html", null, true); + echo "\" data-tabkey=\"tab-"; + echo twig_escape_filter($this->env, ($context["tabsKey"] ?? null), "html", null, true); + echo "\" data-scope=\""; + echo twig_escape_filter($this->env, (($context["scope"] ?? null) . $this->getAttribute($context["tab"], "name", array())), "html", null, true); + echo "\"> + + "; + // line 24 + if ($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["grav"] ?? null), "twig", array(), "any", false, true), "twig", array(), "any", false, true), "filters", array(), "any", false, true), "tu", array(), "array", true, true)) { + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter($this->getAttribute($context["tab"], "title", array())), "html", null, true); + } else { + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->translate($this->getAttribute($context["tab"], "title", array())), "html", null, true); + } + // line 25 + echo " + + "; + } + // line 28 + echo " "; + ++$context['loop']['index0']; + ++$context['loop']['index']; + $context['loop']['first'] = false; + if (isset($context['loop']['length'])) { + --$context['loop']['revindex0']; + --$context['loop']['revindex']; + $context['loop']['last'] = 0 === $context['loop']['revindex0']; + } + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['tab'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 29 + echo "
                                  +
                                  + "; + // line 31 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute($context["field"], "fields", array())); + $context['loop'] = array( + 'parent' => $context['_parent'], + 'index0' => 0, + 'index' => 1, + 'first' => true, + ); + if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) { + $length = count($context['_seq']); + $context['loop']['revindex0'] = $length - 1; + $context['loop']['revindex'] = $length; + $context['loop']['length'] = $length; + $context['loop']['last'] = 1 === $length; + } + foreach ($context['_seq'] as $context["_key"] => $context["field"]) { + // line 32 + echo " "; + if (($this->getAttribute($context["field"], "type", array()) == "tab")) { + // line 33 + echo " "; + if ((twig_test_empty($this->getAttribute($context["field"], "security", array())) || $this->env->getExtension('Grav\Common\Twig\TwigExtension')->authorize($this->env->getExtension('Grav\Common\Twig\TwigExtension')->arrayFunc($this->getAttribute($context["field"], "security", array()))))) { + // line 34 + echo " "; + $context["value"] = (($this->getAttribute($context["field"], "name", array())) ? ($this->getAttribute(($context["data"] ?? null), "value", array(0 => $this->getAttribute($context["field"], "name", array())), "method")) : ($this->getAttribute(($context["data"] ?? null), "toArray", array()))); + // line 35 + echo "
                                  env, (($context["tabsKey"] ?? null) . $this->getAttribute($context["loop"], "index", array())), "html", null, true); + echo "\" class=\"tab__content "; + echo ((((($context["storedTab"] ?? null) == (($context["scope"] ?? null) . $this->getAttribute($context["field"], "name", array()))) || (($context["active"] ?? null) == $this->getAttribute($context["loop"], "index", array())))) ? ("active") : ("")); + echo "\"> + "; + // line 36 + $this->loadTemplate(array(0 => (((("forms/fields/" . $this->getAttribute($context["field"], "type", array())) . "/") . $this->getAttribute($context["field"], "type", array())) . ".html.twig"), 1 => "forms/fields/text/text.html.twig"), "forms/fields/tabs/tabs.html.twig", 36)->display($context); + // line 37 + echo "
                                  + "; + } + // line 39 + echo " "; + } + // line 40 + echo " "; + ++$context['loop']['index0']; + ++$context['loop']['index']; + $context['loop']['first'] = false; + if (isset($context['loop']['length'])) { + --$context['loop']['revindex0']; + --$context['loop']['revindex']; + $context['loop']['last'] = 0 === $context['loop']['revindex0']; + } + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['field'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 41 + echo "
                                  +"; + } + // line 43 + echo "
                                  + +"; + } + + public function getTemplateName() + { + return "forms/fields/tabs/tabs.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 194 => 43, 190 => 41, 176 => 40, 173 => 39, 169 => 37, 167 => 36, 160 => 35, 157 => 34, 154 => 33, 151 => 32, 134 => 31, 130 => 29, 116 => 28, 111 => 25, 105 => 24, 93 => 22, 90 => 21, 73 => 20, 69 => 18, 66 => 17, 63 => 16, 60 => 15, 57 => 14, 54 => 13, 51 => 12, 48 => 11, 45 => 10, 43 => 9, 40 => 8, 37 => 7, 34 => 6, 32 => 5, 29 => 4, 27 => 3, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("
                                  + +{% if field.fields %} + + {% set tabsKey = field.fields|keys|join('.') %} + {% set storedValue = get_cookie('grav-tabs-state')|default('{}')|json_decode %} + {% set storedTab = attribute(storedValue, 'tab-' ~ tabsKey) %} + + {% if storedTab is empty %} + {% if uri.params.tab %} + {% set active = uri.params.tab %} + {% elseif field.active %} + {% set active = field.active %} + {% else %} + {% set active = 1 %} + {% endif %} + {% endif %} + +
                                  + {% for tab in field.fields %} + {% if tab.type == 'tab' and (tab.security is empty or authorize(array(tab.security))) %} + + + {% if grav.twig.twig.filters['tu'] is defined %}{{ tab.title|tu }}{% else %}{{ tab.title|t }}{% endif %} + + + {% endif %} + {% endfor %} +
                                  +
                                  + {% for field in field.fields %} + {% if field.type == 'tab' %} + {% if field.security is empty or authorize(array(field.security)) %} + {% set value = field.name ? data.value(field.name) : data.toArray %} +
                                  + {% include [\"forms/fields/#{field.type}/#{field.type}.html.twig\", 'forms/fields/text/text.html.twig'] %} +
                                  + {% endif %} + {% endif %} + {% endfor %} +
                                  +{% endif %} +
                                  + +", "forms/fields/tabs/tabs.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/forms/fields/tabs/tabs.html.twig"); + } +} diff --git a/cache/twig/73/732ba2a54de1fb5f609c26abad068b332dffe5edcdcc94aae7697bcb8d046b2a.php b/cache/twig/73/732ba2a54de1fb5f609c26abad068b332dffe5edcdcc94aae7697bcb8d046b2a.php new file mode 100644 index 0000000..694bdf9 --- /dev/null +++ b/cache/twig/73/732ba2a54de1fb5f609c26abad068b332dffe5edcdcc94aae7697bcb8d046b2a.php @@ -0,0 +1,86 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + echo "
                                  +
                                  env, ($context["base_url"] ?? null), "html", null, true); + echo "/ajax.json/task:gpmRelease\"> + getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "system", array()), "gpm", array()), "releases", array()) == "stable")) { + echo " checked=\"checked\""; + } + echo "> + + getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "system", array()), "gpm", array()), "releases", array()) == "testing")) { + echo " checked=\"checked\""; + } + echo "> + + +
                                  +
                                  +"; + } + + public function getTemplateName() + { + return "partials/release-toggle.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 42 => 6, 36 => 5, 32 => 4, 26 => 3, 22 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("
                                  +
                                  + + + + + +
                                  +
                                  +", "partials/release-toggle.html.twig", "/home/kevin/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/release-toggle.html.twig"); + } +} diff --git a/cache/twig/76/768752318193597c21159cc9ea38529a9ec030ca57790790173c0f0c5c8814c5.php b/cache/twig/76/768752318193597c21159cc9ea38529a9ec030ca57790790173c0f0c5c8814c5.php new file mode 100644 index 0000000..9e36c25 --- /dev/null +++ b/cache/twig/76/768752318193597c21159cc9ea38529a9ec030ca57790790173c0f0c5c8814c5.php @@ -0,0 +1,193 @@ +parent = $this->loadTemplate("forms/field.html.twig", "forms/fields/key/key.html.twig", 1); + $this->blocks = array( + 'input' => array($this, 'block_input'), + 'input_attributes' => array($this, 'block_input_attributes'), + ); + } + + protected function doGetParent(array $context) + { + return "forms/field.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 3 + public function block_input($context, array $blocks = array()) + { + // line 4 + echo "
                                  env, $this->getAttribute(($context["field"] ?? null), "size", array()), "html", null, true); + echo "\"> + env, twig_join_filter(twig_escape_filter($this->env, ($context["value"] ?? null), "html_attr"), ", "), "html", null, true); + echo "\" + data-key-observe=\""; + // line 8 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->fieldNameFilter((($context["scope"] ?? null) . $this->getAttribute(($context["field"] ?? null), "name", array()))), "html", null, true); + echo "\" + "; + // line 9 + $this->displayBlock('input_attributes', $context, $blocks); + // line 24 + echo " /> +
                                  +"; + } + + // line 9 + public function block_input_attributes($context, array $blocks = array()) + { + // line 10 + echo " "; + if ($this->getAttribute(($context["field"] ?? null), "classes", array(), "any", true, true)) { + echo "class=\""; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "classes", array()), "html", null, true); + echo "\" "; + } + // line 11 + echo " "; + if ($this->getAttribute(($context["field"] ?? null), "id", array(), "any", true, true)) { + echo "id=\""; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "id", array())); + echo "\" "; + } + // line 12 + echo " "; + if ($this->getAttribute(($context["field"] ?? null), "style", array(), "any", true, true)) { + echo "style=\""; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "style", array())); + echo "\" "; + } + // line 13 + echo " "; + if (($this->getAttribute(($context["field"] ?? null), "disabled", array()) || ($context["isDisabledToggleable"] ?? null))) { + echo "disabled=\"disabled\""; + } + // line 14 + echo " "; + if ($this->getAttribute(($context["field"] ?? null), "placeholder", array())) { + echo "placeholder=\""; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "placeholder", array()), "html", null, true); + echo "\""; + } + // line 15 + echo " "; + if (twig_in_filter($this->getAttribute(($context["field"] ?? null), "autofocus", array()), array(0 => "on", 1 => "true", 2 => 1))) { + echo "autofocus=\"autofocus\""; + } + // line 16 + echo " "; + if (twig_in_filter($this->getAttribute(($context["field"] ?? null), "novalidate", array()), array(0 => "on", 1 => "true", 2 => 1))) { + echo "novalidate=\"novalidate\""; + } + // line 17 + echo " "; + if (twig_in_filter($this->getAttribute(($context["field"] ?? null), "readonly", array()), array(0 => "on", 1 => "true", 2 => 1))) { + echo "readonly=\"readonly\""; + } + // line 18 + echo " "; + if (twig_in_filter($this->getAttribute(($context["field"] ?? null), "autocomplete", array()), array(0 => "on", 1 => "off"))) { + echo "autocomplete=\""; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "autocomplete", array()), "html", null, true); + echo "\""; + } + // line 19 + echo " "; + if (twig_in_filter($this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "required", array()), array(0 => "on", 1 => "true", 2 => 1))) { + echo "required=\"required\""; + } + // line 20 + echo " "; + if ($this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "pattern", array())) { + echo "pattern=\""; + echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "pattern", array()), "html", null, true); + echo "\""; + } + // line 21 + echo " "; + if ($this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "message", array())) { + echo "title=\""; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->translate(twig_escape_filter($this->env, $this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "message", array()))), "html", null, true); + echo "\" + "; + } elseif ($this->getAttribute( // line 22 +($context["field"] ?? null), "title", array(), "any", true, true)) { + echo "title=\""; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->translate(twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "title", array()))), "html", null, true); + echo "\" "; + } + // line 23 + echo " "; + } + + public function getTemplateName() + { + return "forms/fields/key/key.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 138 => 23, 132 => 22, 125 => 21, 118 => 20, 113 => 19, 106 => 18, 101 => 17, 96 => 16, 91 => 15, 84 => 14, 79 => 13, 72 => 12, 65 => 11, 58 => 10, 55 => 9, 49 => 24, 47 => 9, 43 => 8, 39 => 7, 32 => 4, 29 => 3, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends \"forms/field.html.twig\" %} + +{% block input %} +
                                  + +
                                  +{% endblock %}", "forms/fields/key/key.html.twig", "/home/kevin/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/forms/fields/key/key.html.twig"); + } +} diff --git a/cache/twig/77/775dc2270033e61a58bd68c219b171020d128f4e1a1acea76f6a386bb6d68cfd.php b/cache/twig/77/775dc2270033e61a58bd68c219b171020d128f4e1a1acea76f6a386bb6d68cfd.php new file mode 100644 index 0000000..59ed3c7 --- /dev/null +++ b/cache/twig/77/775dc2270033e61a58bd68c219b171020d128f4e1a1acea76f6a386bb6d68cfd.php @@ -0,0 +1,54 @@ +parent = $this->loadTemplate("partials/base-root.html.twig", "partials/base.html.twig", 1); + $this->blocks = array( + ); + } + + protected function doGetParent(array $context) + { + return "partials/base-root.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + public function getTemplateName() + { + return "partials/base.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends 'partials/base-root.html.twig' %} +", "partials/base.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/base.html.twig"); + } +} diff --git a/cache/twig/7b/7b5649072aeeea16bc4914745c7ff2d378f30cff13593f188eefa7bf5cfab52b.php b/cache/twig/7b/7b5649072aeeea16bc4914745c7ff2d378f30cff13593f188eefa7bf5cfab52b.php new file mode 100644 index 0000000..52728f2 --- /dev/null +++ b/cache/twig/7b/7b5649072aeeea16bc4914745c7ff2d378f30cff13593f188eefa7bf5cfab52b.php @@ -0,0 +1,277 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + echo "
                                  +
                                  +
                                  +

                                  "; + // line 7 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.INSTALLING"), "html", null, true); + echo "

                                  + +
                                  +

                                  + "; + // line 11 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.LOADING"), "html", null, true); + echo " + +

                                  +
                                  + +
                                  +

                                  "; + // line 17 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.DEPENDENCIES_NOT_MET_MESSAGE"), "html", null, true); + echo "

                                  + +
                                  +

                                  "; + // line 20 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.PACKAGES_NOT_INSTALLED"), "html", null, true); + echo ":

                                  +
                                    +
                                    +
                                    +

                                    "; + // line 24 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.PACKAGES_NEED_UPDATE"), "html", null, true); + echo ":

                                    +
                                      +
                                      +
                                      +

                                      "; + // line 28 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.PACKAGES_SUGGESTED_UPDATE"), "html", null, true); + echo ":

                                      +
                                        +
                                        + + +
                                        + +
                                        +

                                        + "; + // line 40 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.READY_TO_INSTALL_PACKAGES"), "html", null, true); + echo " +

                                        + +
                                          + +
                                          + + env, ($context["type"] ?? null), "html", null, true); + echo "-action=\"install-package\" class=\"button\"> "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.CONTINUE"), "html", null, true); + echo " +
                                          +
                                          + +
                                          +

                                          + "; + // line 53 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.ERROR_INSTALLING_PACKAGES"), "html", null, true); + echo " +

                                          + +
                                            + +
                                            + +
                                            +
                                            + +
                                            +

                                            + "; + // line 65 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.INSTALLING_DEPENDENCIES"), "html", null, true); + echo " + +

                                            +
                                            + +
                                            +

                                            + "; + // line 72 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.INSTALLING_PACKAGES"), "html", null, true); + echo " + +

                                            + +
                                              +
                                              + +
                                              +

                                              + "; + // line 81 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.PACKAGES_SUCCESSFULLY_INSTALLED"), "html", null, true); + echo " +

                                              + +
                                                +
                                                +
                                                + +
                                                +
                                                "; + } + + public function getTemplateName() + { + return "partials/modal-add-package.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 150 => 81, 138 => 72, 128 => 65, 119 => 59, 110 => 53, 99 => 47, 95 => 46, 86 => 40, 75 => 34, 71 => 33, 63 => 28, 56 => 24, 49 => 20, 43 => 17, 34 => 11, 27 => 7, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("
                                                +
                                                +
                                                +

                                                {{ \"PLUGIN_ADMIN.INSTALLING\"|tu }}

                                                + +
                                                +

                                                + {{ \"PLUGIN_ADMIN.LOADING\"|tu }} + +

                                                +
                                                + +
                                                +

                                                {{ \"PLUGIN_ADMIN.DEPENDENCIES_NOT_MET_MESSAGE\"|tu }}

                                                + +
                                                +

                                                {{ \"PLUGIN_ADMIN.PACKAGES_NOT_INSTALLED\"|tu }}:

                                                +
                                                  +
                                                  +
                                                  +

                                                  {{ \"PLUGIN_ADMIN.PACKAGES_NEED_UPDATE\"|tu }}:

                                                  +
                                                    +
                                                    +
                                                    +

                                                    {{ \"PLUGIN_ADMIN.PACKAGES_SUGGESTED_UPDATE\"|tu }}:

                                                    +
                                                      +
                                                      + +
                                                      + + {{ \"PLUGIN_ADMIN.CONTINUE\"|tu }} +
                                                      +
                                                      + +
                                                      +

                                                      + {{ \"PLUGIN_ADMIN.READY_TO_INSTALL_PACKAGES\"|tu }} +

                                                      + +
                                                        + +
                                                        + + {{ \"PLUGIN_ADMIN.CONTINUE\"|tu }} +
                                                        +
                                                        + +
                                                        +

                                                        + {{ \"PLUGIN_ADMIN.ERROR_INSTALLING_PACKAGES\"|tu }} +

                                                        + +
                                                          + +
                                                          + +
                                                          +
                                                          + +
                                                          +

                                                          + {{ \"PLUGIN_ADMIN.INSTALLING_DEPENDENCIES\"|tu }} + +

                                                          +
                                                          + +
                                                          +

                                                          + {{ \"PLUGIN_ADMIN.INSTALLING_PACKAGES\"|tu }} + +

                                                          + +
                                                            +
                                                            + +
                                                            +

                                                            + {{ \"PLUGIN_ADMIN.PACKAGES_SUCCESSFULLY_INSTALLED\"|tu }} +

                                                            + +
                                                              +
                                                              +
                                                              + +
                                                              +
                                                              ", "partials/modal-add-package.html.twig", "/home/kevin/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/modal-add-package.html.twig"); + } +} diff --git a/cache/twig/7d/7d6489d000cdf92ca8caf73155304553df3e8dea2db3430b8f424d2fef0804f3.php b/cache/twig/7d/7d6489d000cdf92ca8caf73155304553df3e8dea2db3430b8f424d2fef0804f3.php new file mode 100644 index 0000000..d5938c4 --- /dev/null +++ b/cache/twig/7d/7d6489d000cdf92ca8caf73155304553df3e8dea2db3430b8f424d2fef0804f3.php @@ -0,0 +1,338 @@ +parent = $this->loadTemplate("forms/field.html.twig", "forms/fields/permissions/permissions.html.twig", 1); + $this->blocks = array( + 'global_attributes' => array($this, 'block_global_attributes'), + 'input' => array($this, 'block_input'), + ); + } + + protected function doGetParent(array $context) + { + return "forms/field.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 3 + $context["value"] = (((null === ($context["value"] ?? null))) ? ($this->getAttribute(($context["field"] ?? null), "default", array())) : (($context["value"] ?? null))); + // line 4 + $context["value"] = (((($context["value"] ?? null) === false)) ? (0) : (($context["value"] ?? null))); + // line 1 + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 6 + public function block_global_attributes($context, array $blocks = array()) + { + // line 7 + echo " data-grav-disabled=\""; + echo (((null === ($context["originalValue"] ?? null))) ? ("true") : ("false")); + echo "\" + data-grav-default=\""; + // line 8 + echo twig_escape_filter($this->env, twig_jsonencode_filter($this->getAttribute(($context["field"] ?? null), "default", array())), "html_attr"); + echo "\" +"; + } + + // line 16 + public function block_input($context, array $blocks = array()) + { + // line 17 + echo "
                                                              + "; + // line 18 + $context["permissions"] = $this->getAttribute(($context["admin"] ?? null), "getPermissions", array()); + // line 19 + echo " "; + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable(($context["value"] ?? null)); + foreach ($context['_seq'] as $context["index_existing_permission"] => $context["value_existing_permission"]) { + // line 20 + echo " "; + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($context["value_existing_permission"]); + foreach ($context['_seq'] as $context["index_segment1"] => $context["value_segment1"]) { + // line 21 + echo " "; + $context["permissions"] = twig_array_merge(($context["permissions"] ?? null), array((($context["index_existing_permission"] . ".") . $context["index_segment1"]) => "boolean")); + // line 22 + echo " "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['index_segment1'], $context['value_segment1'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 23 + echo " "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['index_existing_permission'], $context['value_existing_permission'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 24 + echo " + "; + // line 25 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable(($context["permissions"] ?? null)); + foreach ($context['_seq'] as $context["permission"] => $context["type"]) { + // line 26 + echo "
                                                              + "; + // line 27 + $context["permission_segments"] = twig_split_filter($this->env, $context["permission"], "."); + // line 28 + echo " "; + $context["permission_value"] = $this->getAttribute($this->getAttribute(($context["value"] ?? null), $this->getAttribute(($context["permission_segments"] ?? null), 0, array(), "array"), array(), "array"), $this->getAttribute(($context["permission_segments"] ?? null), 1, array(), "array"), array(), "array"); + // line 29 + echo " "; + if (twig_in_filter(($context["permission_value"] ?? null), array(0 => "on", 1 => "true", 2 => 1))) { + // line 30 + echo " "; + $context["permission_value"] = "true"; + // line 31 + echo " "; + } + // line 32 + echo " + env, $context["permission"], "html", null, true); + echo "\" /> + +
                                                              + "; + // line 36 + $context["options"] = array("true" => "PLUGIN_ADMIN.YES", "false" => "PLUGIN_ADMIN.NO", "" => "PLUGIN_ADMIN.NOT_SET"); + // line 37 + echo " + "; + // line 38 + $context["maxLen"] = 0; + // line 39 + echo " "; + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable(($context["options"] ?? null)); + foreach ($context['_seq'] as $context["value"] => $context["text"]) { + // line 40 + echo " "; + $context["translation"] = (($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["grav"] ?? null), "twig", array(), "any", false, true), "twig", array(), "any", false, true), "filters", array(), "any", false, true), "tu", array(), "array", true, true)) ? ($this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter($context["text"])) : ($this->env->getExtension('Grav\Common\Twig\TwigExtension')->translate($context["text"]))); + // line 41 + echo " "; + $context["maxLen"] = max(twig_length_filter($this->env, ($context["translation"] ?? null)), ($context["maxLen"] ?? null)); + // line 42 + echo " "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['value'], $context['text'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 43 + echo " + "; + // line 44 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable(($context["options"] ?? null)); + foreach ($context['_seq'] as $context["key"] => $context["text"]) { + // line 45 + echo " "; + $context["id"] = (((("toggle_" . $this->getAttribute(($context["field"] ?? null), "name", array())) . ".") . $context["permission"]) . $context["key"]); + // line 46 + echo " "; + $context["translation"] = twig_trim_filter((($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["grav"] ?? null), "twig", array(), "any", false, true), "twig", array(), "any", false, true), "filters", array(), "any", false, true), "tu", array(), "array", true, true)) ? ($this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter($context["text"])) : ($this->env->getExtension('Grav\Common\Twig\TwigExtension')->translate($context["text"])))); + // line 47 + echo " + env, $context["key"], "html", null, true); + echo "\" + id=\""; + // line 50 + echo twig_escape_filter($this->env, ($context["id"] ?? null), "html", null, true); + echo "\" + name=\""; + // line 51 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->fieldNameFilter((((($context["scope"] ?? null) . $this->getAttribute(($context["field"] ?? null), "name", array())) . ".") . $context["permission"])), "html", null, true); + echo "\" + class=\""; + // line 52 + echo ((("true" == ("" . $context["key"]))) ? ("highlight") : ("")); + echo "\" + "; + // line 53 + if (($this->env->getExtension('Grav\Common\Twig\TwigExtension')->fieldNameFilter($context["key"]) == ("" . $this->env->getExtension('Grav\Common\Twig\TwigExtension')->fieldNameFilter(($context["permission_value"] ?? null))))) { + // line 54 + echo " checked=\"checked\" + "; + } + // line 56 + echo " "; + if (twig_in_filter($this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "required", array()), array(0 => "on", 1 => "true", 2 => 1))) { + echo "required=\"required\""; + } + // line 57 + echo " /> + + + "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['key'], $context['text'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 61 + echo " +
                                                              +
                                                              + "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['permission'], $context['type'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 65 + echo "
                                                              +"; + } + + // line 11 + public function getspanToggle($__input__ = null, $__length__ = null, ...$__varargs__) + { + $context = $this->env->mergeGlobals(array( + "input" => $__input__, + "length" => $__length__, + "varargs" => $__varargs__, + )); + + $blocks = array(); + + ob_start(); + try { + // line 12 + echo " "; + $context["space"] = $this->env->getExtension('Grav\Common\Twig\TwigExtension')->repeatFunc("  ", ((($context["length"] ?? null) - twig_length_filter($this->env, ($context["input"] ?? null))) / 2)); + // line 13 + echo " "; + echo ((($context["space"] ?? null) . ($context["input"] ?? null)) . ($context["space"] ?? null)); + echo " +"; + } catch (Exception $e) { + ob_end_clean(); + + throw $e; + } catch (Throwable $e) { + ob_end_clean(); + + throw $e; + } + + return ('' === $tmp = ob_get_clean()) ? '' : new Twig_Markup($tmp, $this->env->getCharset()); + } + + public function getTemplateName() + { + return "forms/fields/permissions/permissions.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 226 => 13, 223 => 12, 210 => 11, 205 => 65, 196 => 61, 186 => 59, 182 => 57, 177 => 56, 173 => 54, 171 => 53, 167 => 52, 163 => 51, 159 => 50, 155 => 49, 151 => 47, 148 => 46, 145 => 45, 141 => 44, 138 => 43, 132 => 42, 129 => 41, 126 => 40, 121 => 39, 119 => 38, 116 => 37, 114 => 36, 108 => 33, 105 => 32, 102 => 31, 99 => 30, 96 => 29, 93 => 28, 91 => 27, 88 => 26, 84 => 25, 81 => 24, 75 => 23, 69 => 22, 66 => 21, 61 => 20, 56 => 19, 54 => 18, 51 => 17, 48 => 16, 42 => 8, 37 => 7, 34 => 6, 30 => 1, 28 => 4, 26 => 3, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends \"forms/field.html.twig\" %} + +{% set value = (value is null ? field.default : value) %} +{% set value = (value is same as(false) ? 0 : value) %} + +{% block global_attributes %} + data-grav-disabled=\"{{ originalValue is null ? 'true' : 'false' }}\" + data-grav-default=\"{{ field.default|json_encode()|e('html_attr') }}\" +{% endblock %} + +{% macro spanToggle(input, length) %} + {% set space = repeat('  ', (length - input|length) / 2) %} + {{ (space ~ input ~ space)|raw }} +{% endmacro %} + +{% block input %} +
                                                              + {% set permissions = admin.getPermissions %} + {% for index_existing_permission, value_existing_permission in value %} + {% for index_segment1, value_segment1 in value_existing_permission %} + {% set permissions = permissions|merge({ (index_existing_permission ~ \".\" ~ index_segment1): \"boolean\"}) %} + {% endfor %} + {% endfor %} + + {% for permission, type in permissions %} +
                                                              + {% set permission_segments = permission|split('.') %} + {% set permission_value = value[permission_segments[0]][permission_segments[1]] %} + {% if permission_value in ['on', 'true', 1] %} + {% set permission_value = 'true' %} + {% endif %} + + + +
                                                              + {% set options = { true: 'PLUGIN_ADMIN.YES', false: 'PLUGIN_ADMIN.NO', '': 'PLUGIN_ADMIN.NOT_SET' } %} + + {% set maxLen = 0 %} + {% for value, text in options %} + {% set translation = grav.twig.twig.filters['tu'] is defined ? text|tu : text|t %} + {% set maxLen = max(translation|length, maxLen) %} + {% endfor %} + + {% for key, text in options %} + {% set id = \"toggle_\" ~ field.name ~ \".\" ~ permission ~ key %} + {% set translation = (grav.twig.twig.filters['tu'] is defined ? text|tu : text|t)|trim %} + + + + + {% endfor %} + +
                                                              +
                                                              + {% endfor %} +
                                                              +{% endblock %} + + +", "forms/fields/permissions/permissions.html.twig", "/home/kevin/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/forms/fields/permissions/permissions.html.twig"); + } +} diff --git a/cache/twig/8c/8c51dcd48e6989f2981bdb0e3013b3f8aa577a010cdff5b0a848ebee1c4fb777.php b/cache/twig/8c/8c51dcd48e6989f2981bdb0e3013b3f8aa577a010cdff5b0a848ebee1c4fb777.php new file mode 100644 index 0000000..f86e1be --- /dev/null +++ b/cache/twig/8c/8c51dcd48e6989f2981bdb0e3013b3f8aa577a010cdff5b0a848ebee1c4fb777.php @@ -0,0 +1,309 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + $this->loadTemplate("login.html.twig", "login.html.twig", 1, "1539425397")->display(array_merge($context, array("title" => "Grav Admin Login"))); + } + + public function getTemplateName() + { + return "login.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% embed 'partials/login.html.twig' with {title:'Grav Admin Login'} %} + + {% block form %} + + {% if grav.user.username and grav.user.authenticated %} + +
                                                              + +
                                                              + + {% else %} + {% for field in form.fields %} + {% if field.type %} +
                                                              + {% include [\"forms/fields/#{field.type}/#{field.type}.html.twig\", 'forms/fields/text/text.html.twig'] %} +
                                                              + {% endif %} + {% endfor %} + +
                                                              + {% if notAuthorized %} + {{ 'PLUGIN_ADMIN.BACK'|tu }} + + {% else %} + {% if not authenticated %} + {{ 'PLUGIN_ADMIN.LOGIN_BTN_FORGOT'|tu }} + + {% else %} + + {% endif %} + {% endif %} +
                                                              + + + + {% endif %} + + {% endblock %} + +{% endembed %} +", "login.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/login.html.twig"); + } +} + + +/* login.html.twig */ +class __TwigTemplate_31a5220dc52086498ad3c55b8de8ecbb39f98539caf1dd351e857e2cc92192e9_1539425397 extends Twig_Template +{ + public function __construct(Twig_Environment $env) + { + parent::__construct($env); + + $this->parent = $this->loadTemplate("partials/login.html.twig", "login.html.twig", 1); + $this->blocks = array( + 'form' => array($this, 'block_form'), + ); + } + + protected function doGetParent(array $context) + { + return "partials/login.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 3 + public function block_form($context, array $blocks = array()) + { + // line 4 + echo " + "; + // line 5 + if (($this->getAttribute($this->getAttribute(($context["grav"] ?? null), "user", array()), "username", array()) && $this->getAttribute($this->getAttribute(($context["grav"] ?? null), "user", array()), "authenticated", array()))) { + // line 6 + echo " +
                                                              + +
                                                              + + "; + } else { + // line 12 + echo " "; + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["form"] ?? null), "fields", array())); + $context['loop'] = array( + 'parent' => $context['_parent'], + 'index0' => 0, + 'index' => 1, + 'first' => true, + ); + if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) { + $length = count($context['_seq']); + $context['loop']['revindex0'] = $length - 1; + $context['loop']['revindex'] = $length; + $context['loop']['length'] = $length; + $context['loop']['last'] = 1 === $length; + } + foreach ($context['_seq'] as $context["_key"] => $context["field"]) { + // line 13 + echo " "; + if ($this->getAttribute($context["field"], "type", array())) { + // line 14 + echo "
                                                              + "; + // line 15 + $this->loadTemplate(array(0 => (((("forms/fields/" . $this->getAttribute($context["field"], "type", array())) . "/") . $this->getAttribute($context["field"], "type", array())) . ".html.twig"), 1 => "forms/fields/text/text.html.twig"), "login.html.twig", 15)->display($context); + // line 16 + echo "
                                                              + "; + } + // line 18 + echo " "; + ++$context['loop']['index0']; + ++$context['loop']['index']; + $context['loop']['first'] = false; + if (isset($context['loop']['length'])) { + --$context['loop']['revindex0']; + --$context['loop']['revindex']; + $context['loop']['last'] = 0 === $context['loop']['revindex0']; + } + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['field'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 19 + echo " +
                                                              + "; + // line 21 + if (($context["notAuthorized"] ?? null)) { + // line 22 + echo " "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.BACK"), "html", null, true); + echo " + + "; + } else { + // line 25 + echo " "; + if ( !($context["authenticated"] ?? null)) { + // line 26 + echo " env, ($context["base_url_relative"] ?? null), "html", null, true); + echo "/forgot\"> "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.LOGIN_BTN_FORGOT"), "html", null, true); + echo " + + "; + } else { + // line 29 + echo " + "; + } + // line 31 + echo " "; + } + // line 32 + echo "
                                                              + + + + "; + } + // line 41 + echo " + "; + } + + public function getTemplateName() + { + return "login.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 234 => 41, 223 => 32, 220 => 31, 214 => 29, 209 => 27, 202 => 26, 199 => 25, 194 => 23, 189 => 22, 187 => 21, 183 => 19, 169 => 18, 165 => 16, 163 => 15, 160 => 14, 157 => 13, 139 => 12, 132 => 8, 128 => 6, 126 => 5, 123 => 4, 120 => 3, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% embed 'partials/login.html.twig' with {title:'Grav Admin Login'} %} + + {% block form %} + + {% if grav.user.username and grav.user.authenticated %} + +
                                                              + +
                                                              + + {% else %} + {% for field in form.fields %} + {% if field.type %} +
                                                              + {% include [\"forms/fields/#{field.type}/#{field.type}.html.twig\", 'forms/fields/text/text.html.twig'] %} +
                                                              + {% endif %} + {% endfor %} + +
                                                              + {% if notAuthorized %} + {{ 'PLUGIN_ADMIN.BACK'|tu }} + + {% else %} + {% if not authenticated %} + {{ 'PLUGIN_ADMIN.LOGIN_BTN_FORGOT'|tu }} + + {% else %} + + {% endif %} + {% endif %} +
                                                              + + + + {% endif %} + + {% endblock %} + +{% endembed %} +", "login.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/login.html.twig"); + } +} diff --git a/cache/twig/8d/8d3a5b5346442d7676dfda9ff45d4ef62ebd3763b0bf2ef2b32adba37b7510db.php b/cache/twig/8d/8d3a5b5346442d7676dfda9ff45d4ef62ebd3763b0bf2ef2b32adba37b7510db.php new file mode 100644 index 0000000..1a030d2 --- /dev/null +++ b/cache/twig/8d/8d3a5b5346442d7676dfda9ff45d4ef62ebd3763b0bf2ef2b32adba37b7510db.php @@ -0,0 +1,223 @@ +parent = $this->loadTemplate("forms/field.html.twig", "forms/fields/checkboxes/checkboxes.html.twig", 1); + $this->blocks = array( + 'global_attributes' => array($this, 'block_global_attributes'), + 'input' => array($this, 'block_input'), + ); + } + + protected function doGetParent(array $context) + { + return "forms/field.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 3 + $context["originalValue"] = ($context["value"] ?? null); + // line 4 + $context["value"] = (((null === ($context["value"] ?? null))) ? ($this->getAttribute(($context["field"] ?? null), "default", array())) : (($context["value"] ?? null))); + // line 5 + if ((($this->getAttribute(($context["field"] ?? null), "use", array()) == "keys") && $this->getAttribute(($context["field"] ?? null), "default", array()))) { + // line 6 + $context["value"] = twig_array_merge($this->getAttribute(($context["field"] ?? null), "default", array()), ($context["value"] ?? null)); + } + // line 1 + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 9 + public function block_global_attributes($context, array $blocks = array()) + { + // line 10 + echo " "; + $this->displayParentBlock("global_attributes", $context, $blocks); + echo " + data-grav-keys=\""; + // line 11 + echo ((($this->getAttribute(($context["field"] ?? null), "use", array()) == "keys")) ? ("true") : ("false")); + echo "\" + data-grav-field-name=\""; + // line 12 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->fieldNameFilter((($context["scope"] ?? null) . $this->getAttribute(($context["field"] ?? null), "name", array()))), "html", null, true); + echo "\" +"; + } + + // line 15 + public function block_input($context, array $blocks = array()) + { + // line 16 + echo " "; + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["field"] ?? null), "options", array())); + foreach ($context['_seq'] as $context["key"] => $context["text"]) { + // line 17 + echo " + "; + // line 18 + $context["id"] = (((($this->getAttribute(($context["field"] ?? null), "id", array(), "any", true, true)) ? (_twig_default_filter($this->getAttribute(($context["field"] ?? null), "id", array()), $this->getAttribute(($context["field"] ?? null), "name", array()))) : ($this->getAttribute(($context["field"] ?? null), "name", array()))) . "-") . $context["key"]); + // line 19 + echo " "; + $context["name"] = ((($this->getAttribute(($context["field"] ?? null), "use", array()) == "keys")) ? ($context["key"]) : (($context["id"] ?? null))); + // line 20 + echo " "; + $context["val"] = ((($this->getAttribute(($context["field"] ?? null), "use", array()) == "keys")) ? ("1") : ($context["key"])); + // line 21 + echo " "; + $context["checked"] = ((($this->getAttribute(($context["field"] ?? null), "use", array()) == "keys")) ? ($this->getAttribute(($context["value"] ?? null), $context["key"], array(), "array")) : (twig_in_filter($context["key"], ($context["value"] ?? null)))); + // line 22 + echo " "; + $context["help"] = ((twig_in_filter($context["key"], twig_get_array_keys_filter($this->getAttribute(($context["field"] ?? null), "help_options", array())))) ? ($this->getAttribute($this->getAttribute(($context["field"] ?? null), "help_options", array()), $context["key"], array(), "array")) : (false)); + // line 23 + echo " +
                                                              env, ($context["form_field_wrapper_classes"] ?? null), "html", null, true); + echo " "; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "wrapper_classes", array()), "html", null, true); + echo "\"> + env, ($context["id"] ?? null)); + echo "\" + value=\""; + // line 27 + echo twig_escape_filter($this->env, ($context["val"] ?? null)); + echo "\" + name=\""; + // line 28 + echo twig_escape_filter($this->env, ((($this->env->getExtension('Grav\Common\Twig\TwigExtension')->fieldNameFilter((($context["scope"] ?? null) . $this->getAttribute(($context["field"] ?? null), "name", array()))) . "[") . ($context["name"] ?? null)) . "]"), "html", null, true); + echo "\" + "; + // line 29 + if (($context["checked"] ?? null)) { + echo "checked=\"checked\""; + } + // line 30 + echo " "; + if ($this->getAttribute(($context["field"] ?? null), "classes", array(), "any", true, true)) { + echo "class=\""; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "classes", array()), "html", null, true); + echo "\" "; + } + // line 31 + echo " "; + if (($this->getAttribute(($context["field"] ?? null), "disabled", array()) || ($context["isDisabledToggleable"] ?? null))) { + echo "disabled=\"disabled\""; + } + // line 32 + echo " + > + +
                                                              + "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['key'], $context['text'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + } + + public function getTemplateName() + { + return "forms/fields/checkboxes/checkboxes.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 144 => 40, 138 => 38, 130 => 36, 128 => 35, 124 => 34, 120 => 32, 115 => 31, 108 => 30, 104 => 29, 100 => 28, 96 => 27, 92 => 26, 85 => 24, 82 => 23, 79 => 22, 76 => 21, 73 => 20, 70 => 19, 68 => 18, 65 => 17, 60 => 16, 57 => 15, 51 => 12, 47 => 11, 42 => 10, 39 => 9, 35 => 1, 32 => 6, 30 => 5, 28 => 4, 26 => 3, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends \"forms/field.html.twig\" %} + +{% set originalValue = value %} +{% set value = (value is null ? field.default : value) %} +{% if field.use == 'keys' and field.default %} + {% set value = field.default|merge(value) %} +{% endif %} + +{% block global_attributes %} + {{ parent() }} + data-grav-keys=\"{{ field.use == 'keys' ? 'true' : 'false' }}\" + data-grav-field-name=\"{{ (scope ~ field.name)|fieldName }}\" +{% endblock %} + +{% block input %} + {% for key, text in field.options %} + + {% set id = field.id|default(field.name) ~ '-' ~ key %} + {% set name = field.use == 'keys' ? key : id %} + {% set val = field.use == 'keys' ? '1' : key %} + {% set checked = (field.use == 'keys' ? value[key] : key in value) %} + {% set help = (key in field.help_options|keys ? field.help_options[key] : false) %} + +
                                                              + + +
                                                              + {% endfor %} +{% endblock %} +", "forms/fields/checkboxes/checkboxes.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/form/templates/forms/fields/checkboxes/checkboxes.html.twig"); + } +} diff --git a/cache/twig/93/934c02f4ed205f8ab5801e28a16909875d946cfb47c99afa4a10f4286bb69ce8.php b/cache/twig/93/934c02f4ed205f8ab5801e28a16909875d946cfb47c99afa4a10f4286bb69ce8.php new file mode 100644 index 0000000..ead4bfc --- /dev/null +++ b/cache/twig/93/934c02f4ed205f8ab5801e28a16909875d946cfb47c99afa4a10f4286bb69ce8.php @@ -0,0 +1,54 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + echo $this->env->getExtension('Grav\Common\Twig\TwigExtension')->translate("PLUGIN_ERROR.ERROR_MESSAGE"); + echo " + +"; + } + + public function getTemplateName() + { + return "@Page:/home/kevin/Sites/static-ethica.net/user/plugins/error/pages"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{{ 'PLUGIN_ERROR.ERROR_MESSAGE'|t }} + +", "@Page:/home/kevin/Sites/static-ethica.net/user/plugins/error/pages", ""); + } +} diff --git a/cache/twig/95/95ec9d7d4df4e318fe893b25ecbd5bfb10d814b80fdf216567ca2fa5ccd9f90f.php b/cache/twig/95/95ec9d7d4df4e318fe893b25ecbd5bfb10d814b80fdf216567ca2fa5ccd9f90f.php new file mode 100644 index 0000000..449e8e2 --- /dev/null +++ b/cache/twig/95/95ec9d7d4df4e318fe893b25ecbd5bfb10d814b80fdf216567ca2fa5ccd9f90f.php @@ -0,0 +1,356 @@ +parent = $this->loadTemplate("partials/base.html.twig", "plugins.html.twig", 1); + $this->blocks = array( + 'stylesheets' => array($this, 'block_stylesheets'), + 'javascripts' => array($this, 'block_javascripts'), + 'titlebar' => array($this, 'block_titlebar'), + 'messages' => array($this, 'block_messages'), + 'content' => array($this, 'block_content'), + ); + } + + protected function doGetParent(array $context) + { + return "partials/base.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 3 + $context["plugin_slug"] = $this->getAttribute(($context["admin"] ?? null), "route", array()); + // line 5 + if (($context["plugin_slug"] ?? null)) { + // line 6 + $context["installing"] = (is_string($__internal_f0cf81ce7681fda8f066184e9e8db4d5ef6086c109b9ff8a4ae05616dbb88373 = ($context["plugin_slug"] ?? null)) && is_string($__internal_5b12cae85121d9d6f71768c3760ec691341315eb682041435a4f11a2de7a791d = "install") && ('' === $__internal_5b12cae85121d9d6f71768c3760ec691341315eb682041435a4f11a2de7a791d || 0 === strpos($__internal_f0cf81ce7681fda8f066184e9e8db4d5ef6086c109b9ff8a4ae05616dbb88373, $__internal_5b12cae85121d9d6f71768c3760ec691341315eb682041435a4f11a2de7a791d))); + // line 8 + if (($context["installing"] ?? null)) { + // line 9 + $context["title"] = $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.PLUGINS"); + } else { + // line 11 + $context["installed"] = true; + // line 14 + $context["package"] = $this->getAttribute($this->getAttribute(($context["admin"] ?? null), "plugins", array(0 => true), "method"), $this->getAttribute(($context["admin"] ?? null), "route", array()), array(), "array"); + // line 15 + if ( !($context["package"] ?? null)) { + // line 16 + $context["package"] = $this->getAttribute($this->getAttribute(($context["admin"] ?? null), "plugins", array(0 => false), "method"), $this->getAttribute(($context["admin"] ?? null), "route", array()), array(), "array"); + // line 17 + $context["installed"] = false; + } + // line 20 + $context["plugin"] = $this->getAttribute(($context["package"] ?? null), "toArray", array(), "method"); + // line 21 + $context["title"] = (($this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.PLUGIN") . ": ") . twig_escape_filter($this->env, $this->getAttribute(($context["plugin"] ?? null), "name", array()))); + } + } else { + // line 24 + $context["title"] = $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.PLUGINS"); + } + // line 27 + if (($this->getAttribute(($context["admin"] ?? null), "route", array()) || ($context["installing"] ?? null))) { + } + // line 1 + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 28 + public function block_stylesheets($context, array $blocks = array()) + { + // line 29 + echo " "; + $this->getAttribute(($context["assets"] ?? null), "addCss", array(0 => (($context["theme_url"] ?? null) . "/css/codemirror/codemirror.css")), "method"); + // line 30 + echo " "; + $this->displayParentBlock("stylesheets", $context, $blocks); + echo " + "; + } + + // line 33 + public function block_javascripts($context, array $blocks = array()) + { + // line 34 + echo " "; + $this->displayParentBlock("javascripts", $context, $blocks); + echo " + "; + } + + // line 38 + public function block_titlebar($context, array $blocks = array()) + { + // line 39 + echo " "; + if (( !$this->getAttribute(($context["admin"] ?? null), "route", array()) || ($context["installing"] ?? null))) { + // line 40 + echo "
                                                              + "; + // line 41 + if (($context["installing"] ?? null)) { + // line 42 + echo " env, ($context["base_url_relative"] ?? null), "html", null, true); + echo "/plugins\"> "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.BACK"), "html", null, true); + echo " + "; + } else { + // line 44 + echo " env, ($context["base_url"] ?? null), "html", null, true); + echo "\"> "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.BACK"), "html", null, true); + echo " + env, ($context["base_url_relative"] ?? null), "html", null, true); + echo "/plugins/install\"> "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.ADD"), "html", null, true); + echo " + "; + // line 46 + if ($this->env->getExtension('Grav\Common\Twig\TwigExtension')->authorize(array(0 => "admin.maintenance", 1 => "admin.super"))) { + // line 47 + echo " + "; + } + // line 49 + echo " "; + } + // line 50 + echo "
                                                              +

                                                              "; + // line 51 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.PLUGINS"), "html", null, true); + echo "

                                                              + "; + } else { + // line 53 + echo " "; + if (($context["installed"] ?? null)) { + // line 54 + echo "
                                                              + env, ($context["base_url_relative"] ?? null), "html", null, true); + echo "/plugins\"> "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.BACK_TO_PLUGINS"), "html", null, true); + echo " + "; + // line 56 + try { + $this->loadTemplate((("plugins/" . $this->getAttribute(($context["admin"] ?? null), "route", array())) . "-buttons.html.twig"), "plugins.html.twig", 56)->display($context); + } catch (Twig_Error_Loader $e) { + // ignore missing template + } + + // line 57 + echo " +
                                                              + "; + } else { + // line 60 + echo " + "; + } + // line 64 + echo " +

                                                              "; + // line 65 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.PLUGIN"), "html", null, true); + echo ": "; + echo twig_escape_filter($this->env, $this->getAttribute(($context["plugin"] ?? null), "name", array())); + echo "

                                                              + "; + } + } + + // line 69 + public function block_messages($context, array $blocks = array()) + { + // line 70 + echo " "; + $this->displayParentBlock("messages", $context, $blocks); + echo " + "; + // line 71 + if ($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "plugins", array()), "admin", array()), "notifications", array()), "plugins", array())) { + // line 72 + echo "
                                                              + "; + } + } + + // line 76 + public function block_content($context, array $blocks = array()) + { + // line 77 + echo "
                                                              + "; + // line 78 + if (( !$this->getAttribute(($context["admin"] ?? null), "route", array()) || ($context["installing"] ?? null))) { + // line 79 + echo " "; + $this->loadTemplate("partials/plugins-list.html.twig", "plugins.html.twig", 79)->display($context); + // line 80 + echo " "; + } else { + // line 81 + echo " "; + if ((null === ($context["plugin"] ?? null))) { + // line 82 + echo " "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->redirectFunc((($context["base_url_relative"] ?? null) . "/404")), "html", null, true); + echo " + "; + } + // line 84 + echo " + "; + // line 85 + $this->loadTemplate("partials/plugins-details.html.twig", "plugins.html.twig", 85)->display($context); + // line 86 + echo " "; + } + // line 87 + echo "
                                                              +"; + } + + public function getTemplateName() + { + return "plugins.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 237 => 87, 234 => 86, 232 => 85, 229 => 84, 223 => 82, 220 => 81, 217 => 80, 214 => 79, 212 => 78, 209 => 77, 206 => 76, 200 => 72, 198 => 71, 193 => 70, 190 => 69, 181 => 65, 178 => 64, 170 => 61, 167 => 60, 160 => 57, 153 => 56, 147 => 55, 144 => 54, 141 => 53, 136 => 51, 133 => 50, 130 => 49, 124 => 47, 122 => 46, 116 => 45, 109 => 44, 101 => 42, 99 => 41, 96 => 40, 93 => 39, 90 => 38, 83 => 34, 80 => 33, 73 => 30, 70 => 29, 67 => 28, 63 => 1, 60 => 27, 57 => 24, 53 => 21, 51 => 20, 48 => 17, 46 => 16, 44 => 15, 42 => 14, 40 => 11, 37 => 9, 35 => 8, 33 => 6, 31 => 5, 29 => 3, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends 'partials/base.html.twig' %} + +{% set plugin_slug = admin.route %} + +{% if plugin_slug %} + {% set installing = plugin_slug starts with 'install' %} + + {% if installing %} + {% set title = \"PLUGIN_ADMIN.PLUGINS\"|tu %} + {% else %} + {% set installed = true %} + + {# Try installed packages first, then remote #} + {% set package = admin.plugins(true)[admin.route] %} + {% if (not package) %} + {% set package = admin.plugins(false)[admin.route] %} + {% set installed = false %} + {% endif %} + + {% set plugin = package.toArray() %} + {% set title = \"PLUGIN_ADMIN.PLUGIN\"|tu ~ \": \" ~ plugin.name|e %} + {% endif %} +{% else %} + {% set title = \"PLUGIN_ADMIN.PLUGINS\"|tu %} +{% endif %} + +{% if admin.route or installing %} + {% block stylesheets %} + {% do assets.addCss(theme_url~'/css/codemirror/codemirror.css') %} + {{ parent() }} + {% endblock %} + + {% block javascripts %} + {{ parent() }} + {% endblock %} +{% endif %} + +{% block titlebar %} + {% if not admin.route or installing %} +
                                                              + {% if (installing) %} + {{ \"PLUGIN_ADMIN.BACK\"|tu }} + {% else %} + {{ \"PLUGIN_ADMIN.BACK\"|tu }} + {{ \"PLUGIN_ADMIN.ADD\"|tu }} + {% if authorize(['admin.maintenance', 'admin.super']) %} + + {% endif %} + {% endif %} +
                                                              +

                                                              {{ \"PLUGIN_ADMIN.PLUGINS\"|tu }}

                                                              + {% else %} + {% if (installed) %} +
                                                              + {{ \"PLUGIN_ADMIN.BACK_TO_PLUGINS\"|tu }} + {% include 'plugins/'~admin.route~'-buttons.html.twig' ignore missing %} + +
                                                              + {% else %} + + {% endif %} + +

                                                              {{ \"PLUGIN_ADMIN.PLUGIN\"|tu }}: {{ plugin.name|e }}

                                                              + {% endif %} +{% endblock %} + +{% block messages %} + {{ parent() }} + {% if config.plugins.admin.notifications.plugins %} +
                                                              + {% endif %} +{% endblock %} + +{% block content %} +
                                                              + {% if not admin.route or installing %} + {% include 'partials/plugins-list.html.twig' %} + {% else %} + {% if plugin is null %} + {{redirect_me(base_url_relative ~ '/404')}} + {% endif %} + + {% include 'partials/plugins-details.html.twig' %} + {% endif %} +
                                                              +{% endblock %} +", "plugins.html.twig", "/home/kevin/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/plugins.html.twig"); + } +} diff --git a/cache/twig/a1/a111ffac106480d70a72dba293e74dc76562004ca3ba8cbf17675b9e15bb3c32.php b/cache/twig/a1/a111ffac106480d70a72dba293e74dc76562004ca3ba8cbf17675b9e15bb3c32.php new file mode 100644 index 0000000..920a018 --- /dev/null +++ b/cache/twig/a1/a111ffac106480d70a72dba293e74dc76562004ca3ba8cbf17675b9e15bb3c32.php @@ -0,0 +1,89 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + $context["legend"] = array("VISIBLE" => "", "NON_ROUTABLE" => "not-routable", "NON_VISIBLE" => "not-visible", "MODULAR" => "modular"); + // line 2 + echo "
                                                              + "; + // line 3 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.LEGEND"), "html", null, true); + echo ": +
                                                                + "; + // line 5 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable(($context["legend"] ?? null)); + foreach ($context['_seq'] as $context["key"] => $context["class"]) { + // line 6 + echo "
                                                              • env, $context["class"], "html", null, true); + echo "\"> "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter(("PLUGIN_ADMIN." . $context["key"])), "html", null, true); + echo "
                                                              • + "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['key'], $context['class'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 8 + echo "
                                                              +
                                                              + + +"; + } + + public function getTemplateName() + { + return "partials/page-legend.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 44 => 8, 33 => 6, 29 => 5, 24 => 3, 21 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% set legend = {'VISIBLE':'', 'NON_ROUTABLE':'not-routable', 'NON_VISIBLE':'not-visible', 'MODULAR':'modular'} %} +
                                                              + {{ 'PLUGIN_ADMIN.LEGEND'|tu }}: +
                                                                + {% for key, class in legend %} +
                                                              • {{ ('PLUGIN_ADMIN.'~key)|tu }}
                                                              • + {% endfor %} +
                                                              +
                                                              + + +", "partials/page-legend.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/page-legend.html.twig"); + } +} diff --git a/cache/twig/a9/a9ef454ed7233f7dbc31ae8e11d5c917b4ec0aa1c5e1bd2b043791fd1ad330a1.php b/cache/twig/a9/a9ef454ed7233f7dbc31ae8e11d5c917b4ec0aa1c5e1bd2b043791fd1ad330a1.php new file mode 100644 index 0000000..7cc1191 --- /dev/null +++ b/cache/twig/a9/a9ef454ed7233f7dbc31ae8e11d5c917b4ec0aa1c5e1bd2b043791fd1ad330a1.php @@ -0,0 +1,108 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + $context["admin_messages"] = twig_array_merge($this->getAttribute(($context["admin"] ?? null), "messages", array()), $this->getAttribute(($context["admin"] ?? null), "getTempMessages", array(), "method")); + // line 2 + $context["form_message"] = $this->getAttribute(($context["form"] ?? null), "message", array()); + // line 3 + echo "
                                                              env, ($context["admin_messages"] ?? null)) || ($context["form_message"] ?? null))) ? (" default-box-shadow") : ("")); + echo "\"> +
                                                              "; + // line 5 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable(($context["admin_messages"] ?? null)); + foreach ($context['_seq'] as $context["_key"] => $context["message"]) { + // line 6 + echo "
                                                              env, $this->getAttribute($context["message"], "scope", array())); + echo " alert\">"; + echo $this->getAttribute($context["message"], "message", array()); + echo "
                                                              "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['message'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 8 + if (($context["form_message"] ?? null)) { + // line 9 + echo "
                                                              "; + echo ($context["form_message"] ?? null); + echo "
                                                              "; + } + // line 11 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable(($context["plugin_messages"] ?? null)); + foreach ($context['_seq'] as $context["_key"] => $context["message"]) { + // line 12 + echo "
                                                              env, $this->getAttribute($context["message"], "scope", array())); + echo " alert\">"; + echo $this->getAttribute($context["message"], "message", array()); + echo "
                                                              "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['message'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 14 + echo "
                                                              +"; + } + + public function getTemplateName() + { + return "partials/messages.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 63 => 14, 53 => 12, 49 => 11, 44 => 9, 42 => 8, 32 => 6, 28 => 5, 23 => 3, 21 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% set admin_messages = admin.messages|merge(admin.getTempMessages()) %} +{% set form_message = form.message %} +
                                                              +
                                                              + {%- for message in admin_messages -%} +
                                                              {{ message.message|raw }}
                                                              + {%- endfor -%} + {%- if form_message -%} +
                                                              {{ form_message|raw }}
                                                              + {%- endif -%} + {%- for message in plugin_messages -%} +
                                                              {{ message.message|raw }}
                                                              + {%- endfor -%} +
                                                              +", "partials/messages.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/messages.html.twig"); + } +} diff --git a/cache/twig/aa/aaab75792f569c46fa615c07b11a280129befc59c135accab1661b56ee376e04.php b/cache/twig/aa/aaab75792f569c46fa615c07b11a280129befc59c135accab1661b56ee376e04.php new file mode 100644 index 0000000..0bec0f8 --- /dev/null +++ b/cache/twig/aa/aaab75792f569c46fa615c07b11a280129befc59c135accab1661b56ee376e04.php @@ -0,0 +1,496 @@ +parent = false; + + $this->blocks = array( + 'field' => array($this, 'block_field'), + 'contents' => array($this, 'block_contents'), + 'label' => array($this, 'block_label'), + 'global_attributes' => array($this, 'block_global_attributes'), + 'group' => array($this, 'block_group'), + 'input' => array($this, 'block_input'), + 'prepend' => array($this, 'block_prepend'), + 'input_attributes' => array($this, 'block_input_attributes'), + 'append' => array($this, 'block_append'), + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + $context["originalValue"] = ((array_key_exists("originalValue", $context)) ? (($context["originalValue"] ?? null)) : (($context["value"] ?? null))); + // line 2 + $context["toggleableChecked"] = ($this->getAttribute(($context["field"] ?? null), "toggleable", array()) && ( !(null === ($context["originalValue"] ?? null)) && !twig_test_empty(($context["originalValue"] ?? null)))); + // line 3 + $context["isDisabledToggleable"] = ($this->getAttribute(($context["field"] ?? null), "toggleable", array()) && !($context["toggleableChecked"] ?? null)); + // line 4 + $context["value"] = (((null === ($context["value"] ?? null))) ? ($this->getAttribute(($context["field"] ?? null), "default", array())) : (($context["value"] ?? null))); + // line 5 + $context["vertical"] = ($this->getAttribute(($context["field"] ?? null), "style", array()) == "vertical"); + // line 6 + $context["field_name"] = $this->env->getExtension('Grav\Common\Twig\TwigExtension')->fieldNameFilter((($context["scope"] ?? null) . $this->getAttribute(($context["field"] ?? null), "name", array()))); + // line 7 + echo " +"; + // line 8 + if (($this->getAttribute(($context["field"] ?? null), "yaml", array()) && twig_test_iterable(($context["value"] ?? null)))) { + // line 9 + echo " "; + $context["value"] = $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->toYamlFilter(($context["value"] ?? null)); + } + // line 11 + echo " +"; + // line 12 + $this->displayBlock('field', $context, $blocks); + } + + public function block_field($context, array $blocks = array()) + { + // line 13 + echo "
                                                              getAttribute(($context["field"] ?? null), "toggleable", array())) { + echo " form-field-toggleable"; + } + echo " "; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "outerclasses", array()), "html", null, true); + echo " "; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "field_classes", array()), "html", null, true); + echo "\"> + "; + // line 14 + $this->displayBlock('contents', $context, $blocks); + // line 89 + echo "
                                                              +"; + } + + // line 14 + public function block_contents($context, array $blocks = array()) + { + // line 15 + echo "
                                                              + "; + // line 16 + if ($this->getAttribute(($context["field"] ?? null), "toggleable", array())) { + // line 17 + echo " env, ($context["field_name"] ?? null), "html", null, true); + echo "\"> + env, $this->getAttribute(($context["field"] ?? null), "name", array()), "html", null, true); + echo "\" + "; + // line 20 + if (($context["toggleableChecked"] ?? null)) { + echo "value=\"1\""; + } + // line 21 + echo " name=\"toggleable_"; + echo twig_escape_filter($this->env, ($context["field_name"] ?? null), "html", null, true); + echo "\" + "; + // line 22 + if (($context["toggleableChecked"] ?? null)) { + echo "checked=\"checked\""; + } + // line 23 + echo " > + + + "; + } + // line 27 + echo " getAttribute(($context["field"] ?? null), "toggleable", array())) ? (((" class=\"toggleable\" for=\"toggleable_" . $this->getAttribute(($context["field"] ?? null), "name", array())) . "\"")) : ("")); + echo "> + "; + // line 28 + $this->displayBlock('label', $context, $blocks); + // line 36 + echo " + "; + // line 37 + if ($this->getAttribute(($context["field"] ?? null), "sublabel", array())) { + // line 38 + echo "
                                                              + "; + // line 39 + echo $this->env->getExtension('Grav\Common\Twig\TwigExtension')->markdownFilter($this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter($this->getAttribute(($context["field"] ?? null), "sublabel", array()))); + echo " +
                                                              + "; + } + // line 42 + echo "
                                                              +
                                                              displayBlock('global_attributes', $context, $blocks); + // line 49 + echo " > + "; + // line 50 + $this->displayBlock('group', $context, $blocks); + // line 82 + echo " "; + if ($this->getAttribute(($context["field"] ?? null), "description", array())) { + // line 83 + echo "
                                                              env, $this->getAttribute(($context["field"] ?? null), "size", array()), "html", null, true); + echo " "; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "wrapper_classes", array()), "html", null, true); + echo "\"> + "; + // line 84 + echo $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter($this->getAttribute(($context["field"] ?? null), "description", array())); + echo " +
                                                              + "; + } + // line 87 + echo "
                                                              + "; + } + + // line 28 + public function block_label($context, array $blocks = array()) + { + // line 29 + echo " "; + if ($this->getAttribute(($context["field"] ?? null), "help", array())) { + // line 30 + echo " env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter($this->getAttribute(($context["field"] ?? null), "help", array())), "html"); + echo "\">"; + echo $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter($this->getAttribute(($context["field"] ?? null), "label", array())); + echo " + "; + } else { + // line 32 + echo " "; + echo $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter($this->getAttribute(($context["field"] ?? null), "label", array())); + echo " + "; + } + // line 34 + echo " "; + echo ((twig_in_filter($this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "required", array()), array(0 => "on", 1 => "true", 2 => 1))) ? ("*") : ("")); + echo " + "; + } + + // line 44 + public function block_global_attributes($context, array $blocks = array()) + { + // line 45 + echo " data-grav-field=\""; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "type", array()), "html", null, true); + echo "\" + data-grav-disabled=\""; + // line 46 + echo twig_escape_filter($this->env, ($context["toggleableChecked"] ?? null), "html", null, true); + echo "\" + data-grav-default=\""; + // line 47 + echo twig_escape_filter($this->env, twig_jsonencode_filter($this->getAttribute(($context["field"] ?? null), "default", array())), "html_attr"); + echo "\" + "; + } + + // line 50 + public function block_group($context, array $blocks = array()) + { + // line 51 + echo " "; + $this->displayBlock('input', $context, $blocks); + // line 81 + echo " "; + } + + // line 51 + public function block_input($context, array $blocks = array()) + { + // line 52 + echo "
                                                              env, $this->getAttribute(($context["field"] ?? null), "size", array()), "html", null, true); + echo " "; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "wrapper_classes", array()), "html", null, true); + echo "\"> + "; + // line 53 + $this->displayBlock('prepend', $context, $blocks); + // line 54 + echo " env, ($context["field_name"] ?? null), "html", null, true); + echo "\" + value=\""; + // line 57 + echo twig_escape_filter($this->env, twig_join_filter(($context["value"] ?? null), ", "), "html", null, true); + echo "\" + "; + // line 58 + if ($this->getAttribute(($context["field"] ?? null), "key", array())) { + // line 59 + echo " data-key-observe=\""; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->fieldNameFilter((($context["scope"] ?? null) . ($context["field_name"] ?? null))), "html", null, true); + echo "\" + "; + } + // line 61 + echo " "; + // line 62 + echo " "; + $this->displayBlock('input_attributes', $context, $blocks); + // line 77 + echo " /> + "; + // line 78 + $this->displayBlock('append', $context, $blocks); + // line 79 + echo "
                                                              + "; + } + + // line 53 + public function block_prepend($context, array $blocks = array()) + { + } + + // line 62 + public function block_input_attributes($context, array $blocks = array()) + { + // line 63 + echo " "; + if ($this->getAttribute(($context["field"] ?? null), "classes", array(), "any", true, true)) { + echo "class=\""; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "classes", array()), "html", null, true); + echo "\" "; + } + // line 64 + echo " "; + if ($this->getAttribute(($context["field"] ?? null), "id", array(), "any", true, true)) { + echo "id=\""; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "id", array())); + echo "\" "; + } + // line 65 + echo " "; + if ($this->getAttribute(($context["field"] ?? null), "style", array(), "any", true, true)) { + echo "style=\""; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "style", array())); + echo "\" "; + } + // line 66 + echo " "; + if (($this->getAttribute(($context["field"] ?? null), "disabled", array()) || ($context["isDisabledToggleable"] ?? null))) { + echo "disabled=\"disabled\""; + } + // line 67 + echo " "; + if ($this->getAttribute(($context["field"] ?? null), "placeholder", array())) { + echo "placeholder=\""; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter($this->getAttribute(($context["field"] ?? null), "placeholder", array())), "html", null, true); + echo "\""; + } + // line 68 + echo " "; + if (twig_in_filter($this->getAttribute(($context["field"] ?? null), "autofocus", array()), array(0 => "on", 1 => "true", 2 => 1))) { + echo "autofocus=\"autofocus\""; + } + // line 69 + echo " "; + if (twig_in_filter($this->getAttribute(($context["field"] ?? null), "novalidate", array()), array(0 => "on", 1 => "true", 2 => 1))) { + echo "novalidate=\"novalidate\""; + } + // line 70 + echo " "; + if (twig_in_filter($this->getAttribute(($context["field"] ?? null), "readonly", array()), array(0 => "on", 1 => "true", 2 => 1))) { + echo "readonly=\"readonly\""; + } + // line 71 + echo " "; + if (twig_in_filter($this->getAttribute(($context["field"] ?? null), "autocomplete", array()), array(0 => "on", 1 => "off"))) { + echo "autocomplete=\""; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "autocomplete", array()), "html", null, true); + echo "\""; + } + // line 72 + echo " "; + if (twig_in_filter($this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "required", array()), array(0 => "on", 1 => "true", 2 => 1))) { + echo "required=\"required\""; + } + // line 73 + echo " "; + if ($this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "pattern", array())) { + echo "pattern=\""; + echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "pattern", array()), "html", null, true); + echo "\""; + } + // line 74 + echo " "; + if ($this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "message", array())) { + echo "title=\""; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter(twig_escape_filter($this->env, $this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "message", array()))), "html", null, true); + echo "\" + "; + } elseif ($this->getAttribute( // line 75 +($context["field"] ?? null), "title", array(), "any", true, true)) { + echo "title=\""; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter(twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "title", array()))), "html", null, true); + echo "\" "; + } + // line 76 + echo " "; + } + + // line 78 + public function block_append($context, array $blocks = array()) + { + } + + public function getTemplateName() + { + return "forms/field.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 375 => 78, 371 => 76, 365 => 75, 358 => 74, 351 => 73, 346 => 72, 339 => 71, 334 => 70, 329 => 69, 324 => 68, 317 => 67, 312 => 66, 305 => 65, 298 => 64, 291 => 63, 288 => 62, 283 => 53, 278 => 79, 276 => 78, 273 => 77, 270 => 62, 268 => 61, 262 => 59, 260 => 58, 256 => 57, 251 => 56, 248 => 54, 246 => 53, 239 => 52, 236 => 51, 232 => 81, 229 => 51, 226 => 50, 220 => 47, 216 => 46, 211 => 45, 208 => 44, 201 => 34, 195 => 32, 187 => 30, 184 => 29, 181 => 28, 176 => 87, 170 => 84, 163 => 83, 160 => 82, 158 => 50, 155 => 49, 153 => 44, 147 => 43, 144 => 42, 138 => 39, 135 => 38, 133 => 37, 130 => 36, 128 => 28, 123 => 27, 117 => 24, 114 => 23, 110 => 22, 105 => 21, 101 => 20, 97 => 19, 91 => 17, 89 => 16, 82 => 15, 79 => 14, 74 => 89, 72 => 14, 58 => 13, 52 => 12, 49 => 11, 45 => 9, 43 => 8, 40 => 7, 38 => 6, 36 => 5, 34 => 4, 32 => 3, 30 => 2, 28 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% set originalValue = originalValue is defined ? originalValue : value %} +{% set toggleableChecked = field.toggleable and (originalValue is not null and originalValue is not empty) %} +{% set isDisabledToggleable = field.toggleable and not toggleableChecked %} +{% set value = (value is null ? field.default : value) %} +{% set vertical = field.style == 'vertical' %} +{% set field_name = (scope ~ field.name)|fieldName %} + +{% if field.yaml and value is iterable %} + {% set value = value|toYaml %} +{% endif %} + +{% block field %} +
                                                              + {% block contents %} +
                                                              + {% if field.toggleable %} + + + + + {% endif %} + + {% block label %} + {% if field.help %} + {{ field.label|tu|raw }} + {% else %} + {{ field.label|tu|raw }} + {% endif %} + {{ field.validate.required in ['on', 'true', 1] ? '*' }} + {% endblock %} + + {% if field.sublabel %} +
                                                              + {{ field.sublabel|tu|markdown|raw }} +
                                                              + {% endif %} +
                                                              +
                                                              + {% block group %} + {% block input %} +
                                                              + {% block prepend %}{% endblock prepend %} + + {% block append %}{% endblock append %} +
                                                              + {% endblock %} + {% endblock %} + {% if field.description %} +
                                                              + {{ field.description|tu|raw }} +
                                                              + {% endif %} +
                                                              + {% endblock %} +
                                                              +{% endblock %} +", "forms/field.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/forms/field.html.twig"); + } +} diff --git a/cache/twig/ae/aeb5f05e4b2386a60361fa72599d0b0cace27f8f2d4a521a703f5a68530b51dc.php b/cache/twig/ae/aeb5f05e4b2386a60361fa72599d0b0cace27f8f2d4a521a703f5a68530b51dc.php new file mode 100644 index 0000000..7dd3fc7 --- /dev/null +++ b/cache/twig/ae/aeb5f05e4b2386a60361fa72599d0b0cace27f8f2d4a521a703f5a68530b51dc.php @@ -0,0 +1,147 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + $context["form_id"] = ((($context["form_id"] ?? null)) ? (($context["form_id"] ?? null)) : ("page-move")); + // line 2 + $context["scope"] = ((($context["scope"] ?? null)) ? (($context["scope"] ?? null)) : ("data.")); + // line 3 + echo " +
                                                              env, ($context["form_id"] ?? null), "html", null, true); + echo "\" method=\"post\" data-grav-form=\""; + echo twig_escape_filter($this->env, ($context["form_id"] ?? null), "html", null, true); + echo "\" data-page-move> + "; + // line 5 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["blueprints"] ?? null), "fields", array())); + $context['loop'] = array( + 'parent' => $context['_parent'], + 'index0' => 0, + 'index' => 1, + 'first' => true, + ); + if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) { + $length = count($context['_seq']); + $context['loop']['revindex0'] = $length - 1; + $context['loop']['revindex'] = $length; + $context['loop']['length'] = $length; + $context['loop']['last'] = 1 === $length; + } + foreach ($context['_seq'] as $context["_key"] => $context["field"]) { + // line 6 + echo " "; + if ($this->getAttribute($context["field"], "type", array())) { + // line 7 + echo " "; + $context["value"] = (($this->getAttribute($context["field"], "name", array())) ? ($this->getAttribute(($context["data"] ?? null), "value", array(0 => $this->getAttribute($context["field"], "name", array())), "method")) : ($this->getAttribute(($context["data"] ?? null), "toArray", array()))); + // line 8 + echo "
                                                              env, $this->getAttribute($context["field"], "type", array()), "html", null, true); + echo "\"> + "; + // line 9 + $this->loadTemplate(array(0 => (((("forms/fields/" . $this->getAttribute($context["field"], "type", array())) . "/") . $this->getAttribute($context["field"], "type", array())) . ".html.twig"), 1 => "forms/fields/text/text.html.twig"), "partials/page-move.html.twig", 9)->display($context); + // line 10 + echo "
                                                              + "; + } + // line 12 + echo " "; + ++$context['loop']['index0']; + ++$context['loop']['index']; + $context['loop']['first'] = false; + if (isset($context['loop']['length'])) { + --$context['loop']['revindex0']; + --$context['loop']['revindex']; + $context['loop']['last'] = 0 === $context['loop']['revindex0']; + } + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['field'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 13 + echo " + "; + // line 14 + echo $this->env->getExtension('Grav\Common\Twig\TwigExtension')->nonceFieldFunc("admin-form", "admin-nonce"); + echo " + +
                                                              + + +
                                                              +
                                                              +"; + } + + public function getTemplateName() + { + return "partials/page-move.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 93 => 18, 89 => 17, 83 => 14, 80 => 13, 66 => 12, 62 => 10, 60 => 9, 55 => 8, 52 => 7, 49 => 6, 32 => 5, 26 => 4, 23 => 3, 21 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% set form_id = form_id ? form_id : 'page-move' %} +{% set scope = scope ?: 'data.' %} + +
                                                              + {% for field in blueprints.fields %} + {% if field.type %} + {% set value = field.name ? data.value(field.name) : data.toArray %} +
                                                              + {% include [\"forms/fields/#{field.type}/#{field.type}.html.twig\", 'forms/fields/text/text.html.twig'] %} +
                                                              + {% endif %} + {% endfor %} + + {{ nonce_field('admin-form', 'admin-nonce')|raw }} + +
                                                              + + +
                                                              +
                                                              +", "partials/page-move.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/page-move.html.twig"); + } +} diff --git a/cache/twig/ae/aef6fb2127795c7010db5033b32f378aa015920bc09f1e816cf537ea4d8d1173.php b/cache/twig/ae/aef6fb2127795c7010db5033b32f378aa015920bc09f1e816cf537ea4d8d1173.php new file mode 100644 index 0000000..e0f0ec9 --- /dev/null +++ b/cache/twig/ae/aef6fb2127795c7010db5033b32f378aa015920bc09f1e816cf537ea4d8d1173.php @@ -0,0 +1,216 @@ +parent = false; + + $this->blocks = array( + 'label' => array($this, 'block_label'), + 'field' => array($this, 'block_field'), + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + $context["value"] = (((null === ($context["value"] ?? null))) ? ($this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter($this->getAttribute(($context["field"] ?? null), "default", array()))) : (($context["value"] ?? null))); + // line 2 + if ( !($context["codemirrorOptions"] ?? null)) { + // line 3 + echo " "; + $context["codemirrorOptions"] = twig_array_merge(array("mode" => "gfm", "ignore" => array(0 => "code", 1 => "preview")), (($this->getAttribute(($context["field"] ?? null), "codemirror", array(), "any", true, true)) ? (_twig_default_filter($this->getAttribute(($context["field"] ?? null), "codemirror", array()), array())) : (array()))); + } + // line 5 + echo " +"; + // line 6 + $this->displayBlock('label', $context, $blocks); + // line 12 + $this->displayBlock('field', $context, $blocks); + } + + // line 6 + public function block_label($context, array $blocks = array()) + { + // line 7 + echo " "; + if ($this->getAttribute(($context["field"] ?? null), "label", array())) { + // line 8 + echo " "; + $context["hint"] = (($this->getAttribute(($context["field"] ?? null), "help", array())) ? ((("data-hint=\"" . $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter($this->getAttribute(($context["field"] ?? null), "help", array()))) . "\"")) : ("")); + // line 9 + echo "
                                                              env, ($context["hint"] ?? null), "html", null, true); + echo ">"; + echo $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter($this->getAttribute(($context["field"] ?? null), "label", array())); + echo "
                                                              + "; + } + } + + // line 12 + public function block_field($context, array $blocks = array()) + { + // line 13 + echo "
                                                              env, (($this->getAttribute(($context["field"] ?? null), "classes", array(), "any", true, true)) ? (_twig_default_filter($this->getAttribute(($context["field"] ?? null), "classes", array()), "")) : ("")), "html", null, true); + echo "\"> +
                                                              +
                                                              + +
                                                              + "; + // line 32 + if (( !$this->getAttribute(($context["field"] ?? null), "resizer", array(), "any", true, true) || !twig_in_filter($this->getAttribute(($context["field"] ?? null), "resizer", array()), array(0 => "off", 1 => "false", 2 => 0)))) { + echo "
                                                              "; + } + // line 33 + echo "
                                                              +
                                                              +"; + } + + public function getTemplateName() + { + return "forms/fields/editor/editor.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 149 => 33, 145 => 32, 138 => 30, 129 => 29, 124 => 28, 119 => 27, 114 => 26, 109 => 25, 102 => 24, 97 => 23, 90 => 22, 83 => 21, 77 => 20, 73 => 19, 68 => 17, 60 => 13, 57 => 12, 47 => 9, 44 => 8, 41 => 7, 38 => 6, 34 => 12, 32 => 6, 29 => 5, 25 => 3, 23 => 2, 21 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% set value = (value is null ? field.default|tu : value) %} +{% if not codemirrorOptions %} + {% set codemirrorOptions = {'mode': 'gfm', 'ignore': ['code', 'preview']}|merge(field.codemirror|default({})) %} +{% endif %} + +{% block label %} + {% if field.label %} + {% set hint = field.help ? 'data-hint=\"' ~ field.help|tu|raw ~ '\"': '' %} +
                                                              {{ field.label|tu|raw }}
                                                              + {% endif %} +{% endblock %} +{% block field %} +
                                                              +
                                                              +
                                                              + +
                                                              + {% if field.resizer is not defined or field.resizer not in ['off', 'false', 0] %}
                                                              {% endif %} +
                                                              +
                                                              +{% endblock %} +", "forms/fields/editor/editor.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/forms/fields/editor/editor.html.twig"); + } +} diff --git a/cache/twig/b1/b18f57dfabce59fde3f42b1cf1b07212b4f3dda9ac5dd2f02aa9fe3ff5a4a867.php b/cache/twig/b1/b18f57dfabce59fde3f42b1cf1b07212b4f3dda9ac5dd2f02aa9fe3ff5a4a867.php new file mode 100644 index 0000000..592a9b8 --- /dev/null +++ b/cache/twig/b1/b18f57dfabce59fde3f42b1cf1b07212b4f3dda9ac5dd2f02aa9fe3ff5a4a867.php @@ -0,0 +1,149 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + if ($this->env->getExtension('Grav\Common\Twig\TwigExtension')->authorize(array(0 => "admin.maintenance", 1 => "admin.super"))) { + // line 2 + echo " "; + $context["backup"] = $this->getAttribute(($context["admin"] ?? null), "lastBackup", array(), "method"); + // line 3 + echo " +
                                                              +
                                                              +

                                                              "; + // line 6 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.MAINTENANCE"), "html", null, true); + echo "

                                                              +
                                                              +
                                                              env, twig_jsonencode_filter(array("series" => array(0 => 100, 1 => 0))), "html_attr"); + echo "\"> +
                                                              +
                                                              + -"; + // line 11 + echo twig_escape_filter($this->env, twig_lower_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.UPDATED")), "html", null, true); + echo " +
                                                              +

                                                               

                                                              +
                                                              +
                                                              env, twig_jsonencode_filter(array("series" => array(0 => $this->getAttribute(($context["backup"] ?? null), "chart_fill", array()), 1 => $this->getAttribute(($context["backup"] ?? null), "chart_empty", array())))), "html_attr"); + echo "\"> +
                                                              +
                                                              + "; + // line 18 + echo $this->getAttribute(($context["backup"] ?? null), "days", array()); + echo ""; + echo twig_escape_filter($this->env, twig_lower_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.DAYS")), "html", null, true); + echo " +
                                                              +

                                                              "; + // line 20 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.LAST_BACKUP"), "html", null, true); + echo "

                                                              +
                                                              +
                                                              + +
                                                              + "; + // line 25 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.UPDATE"), "html", null, true); + echo " + +
                                                              +
                                                              +
                                                              + + "; + // line 31 + $this->loadTemplate("partials/modal-update-packages.html.twig", "partials/dashboard-maintenance.html.twig", 31)->display(array_merge($context, array("type" => "plugin"))); + // line 32 + echo " +"; + } + } + + public function getTemplateName() + { + return "partials/dashboard-maintenance.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 84 => 32, 82 => 31, 72 => 26, 68 => 25, 60 => 20, 53 => 18, 47 => 15, 40 => 11, 34 => 8, 29 => 6, 24 => 3, 21 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% if authorize(['admin.maintenance', 'admin.super']) %} + {% set backup = admin.lastBackup() %} + +
                                                              +
                                                              +

                                                              {{ \"PLUGIN_ADMIN.MAINTENANCE\"|tu }}

                                                              +
                                                              +
                                                              +
                                                              +
                                                              + -{{ \"PLUGIN_ADMIN.UPDATED\"|tu|lower }} +
                                                              +

                                                               

                                                              +
                                                              +
                                                              +
                                                              +
                                                              + {{ backup.days|raw }}{{ \"PLUGIN_ADMIN.DAYS\"|tu|lower }} +
                                                              +

                                                              {{ \"PLUGIN_ADMIN.LAST_BACKUP\"|tu }}

                                                              +
                                                              +
                                                              + +
                                                              + {{ \"PLUGIN_ADMIN.UPDATE\"|tu }} + +
                                                              +
                                                              +
                                                              + + {% include 'partials/modal-update-packages.html.twig' with { type: 'plugin' } %} + +{% endif %} +", "partials/dashboard-maintenance.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/dashboard-maintenance.html.twig"); + } +} diff --git a/cache/twig/b8/b86bb10cf6982d6681f8542d8b57c295a3ded88da8fb884d127da8003f42e7e4.php b/cache/twig/b8/b86bb10cf6982d6681f8542d8b57c295a3ded88da8fb884d127da8003f42e7e4.php new file mode 100644 index 0000000..2e55734 --- /dev/null +++ b/cache/twig/b8/b86bb10cf6982d6681f8542d8b57c295a3ded88da8fb884d127da8003f42e7e4.php @@ -0,0 +1,100 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + echo "
                                                              +
                                                              + "; + // line 3 + $this->loadTemplate("partials/userinfo-avatar.html.twig", "forms/fields/userinfo/userinfo.html.twig", 3)->display($context); + // line 4 + echo "
                                                              +
                                                              +

                                                              "; + // line 6 + echo twig_escape_filter($this->env, $this->getAttribute(($context["data"] ?? null), "fullname", array()), "html", null, true); + echo "

                                                              +
                                                              + env, $this->getAttribute(($context["data"] ?? null), "email", array()), "html", null, true); + echo "\">"; + echo twig_escape_filter($this->env, $this->getAttribute(($context["data"] ?? null), "email", array()), "html", null, true); + echo " + "; + // line 9 + if ($this->getAttribute(($context["data"] ?? null), "title", array())) { + // line 10 + echo " - "; + echo twig_escape_filter($this->env, $this->getAttribute(($context["data"] ?? null), "title", array()), "html", null, true); + echo " + "; + } + // line 12 + echo "
                                                              + "; + // line 13 + $this->loadTemplate("partials/userinfo-avatar-credit.html.twig", "forms/fields/userinfo/userinfo.html.twig", 13)->display($context); + // line 14 + echo "
                                                              +
                                                              +"; + } + + public function getTemplateName() + { + return "forms/fields/userinfo/userinfo.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 53 => 14, 51 => 13, 48 => 12, 42 => 10, 40 => 9, 34 => 8, 29 => 6, 25 => 4, 23 => 3, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("
                                                              +
                                                              + {% include 'partials/userinfo-avatar.html.twig' %} +
                                                              +
                                                              +

                                                              {{ data.fullname }}

                                                              +
                                                              + {{ data.email }} + {% if data.title %} + - {{ data.title }} + {% endif %} +
                                                              + {% include 'partials/userinfo-avatar-credit.html.twig' %} +
                                                              +
                                                              +", "forms/fields/userinfo/userinfo.html.twig", "/home/kevin/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/forms/fields/userinfo/userinfo.html.twig"); + } +} diff --git a/cache/twig/be/beff29a63c74de8922d7ce27d387ac2dd6c0a881d21868ecc062b757db714249.php b/cache/twig/be/beff29a63c74de8922d7ce27d387ac2dd6c0a881d21868ecc062b757db714249.php new file mode 100644 index 0000000..a6ed13b --- /dev/null +++ b/cache/twig/be/beff29a63c74de8922d7ce27d387ac2dd6c0a881d21868ecc062b757db714249.php @@ -0,0 +1,167 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + if ($this->env->getExtension('Grav\Common\Twig\TwigExtension')->authorize(array(0 => "admin.login", 1 => "admin.super"))) { + // line 2 + $context["notifications"] = ((((($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "plugins", array()), "admin", array()), "widgets", array()), "dashboard-notifications", array(), "array") || $this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "plugins", array()), "admin", array()), "notifications", array()), "dashboard", array())) || $this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "plugins", array()), "admin", array()), "notifications", array()), "plugins", array())) || $this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "plugins", array()), "admin", array()), "notifications", array()), "themes", array()))) ? (1) : (0)); + // line 3 + echo " +"; + } + } + + public function getTemplateName() + { + return "partials/javascript-config.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 105 => 29, 94 => 27, 90 => 26, 82 => 21, 77 => 19, 73 => 18, 69 => 17, 65 => 16, 61 => 15, 56 => 14, 50 => 12, 48 => 11, 44 => 10, 40 => 9, 36 => 8, 32 => 7, 28 => 6, 23 => 3, 21 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% if authorize(['admin.login', 'admin.super']) %} +{% set notifications = (config.plugins.admin.widgets['dashboard-notifications'] or config.plugins.admin.notifications.dashboard or config.plugins.admin.notifications.plugins or config.plugins.admin.notifications.themes) ? 1 : 0 %} + +{% endif %} +", "partials/javascript-config.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/javascript-config.html.twig"); + } +} diff --git a/cache/twig/bf/bf416c75832660643ab0d6a162c0808961d66cdf768f72887eebafed9b001e18.php b/cache/twig/bf/bf416c75832660643ab0d6a162c0808961d66cdf768f72887eebafed9b001e18.php new file mode 100644 index 0000000..efe7ac5 --- /dev/null +++ b/cache/twig/bf/bf416c75832660643ab0d6a162c0808961d66cdf768f72887eebafed9b001e18.php @@ -0,0 +1,171 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + echo "
                                                                +"; + // line 2 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["langswitcher"] ?? null), "languages", array())); + foreach ($context['_seq'] as $context["_key"] => $context["language"]) { + // line 3 + echo " + "; + // line 4 + $context["show_language"] = true; + // line 5 + echo " "; + if (($context["language"] == $this->getAttribute(($context["langswitcher"] ?? null), "current", array()))) { + // line 6 + echo " "; + $context["lang_url"] = $this->getAttribute(($context["page"] ?? null), "url", array()); + // line 7 + echo " "; + $context["active_class"] = " active"; + // line 8 + echo " "; + } else { + // line 9 + echo " "; + $context["base_lang_url"] = (($context["base_url_simple"] ?? null) . $this->getAttribute($this->getAttribute(($context["grav"] ?? null), "language", array()), "getLanguageURLPrefix", array(0 => $context["language"]), "method")); + // line 10 + echo " "; + $context["lang_url"] = ((($context["base_lang_url"] ?? null) . $this->getAttribute(($context["langswitcher"] ?? null), "page_route", array())) . $this->getAttribute(($context["page"] ?? null), "urlExtension", array())); + // line 11 + echo " "; + $context["untranslated_pages_behavior"] = $this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["grav"] ?? null), "config", array()), "plugins", array()), "langswitcher", array()), "untranslated_pages_behavior", array()); + // line 12 + echo " "; + if ((($context["untranslated_pages_behavior"] ?? null) != "none")) { + // line 13 + echo " "; + $context["translated_page"] = $this->getAttribute($this->getAttribute(($context["langswitcher"] ?? null), "translated_pages", array()), $context["language"], array(), "array"); + // line 14 + echo " "; + if (( !($context["translated_page"] ?? null) || !$this->getAttribute(($context["translated_page"] ?? null), "published", array()))) { + // line 15 + echo " "; + if ((($context["untranslated_pages_behavior"] ?? null) == "redirect")) { + // line 16 + echo " "; + $context["lang_url"] = (($context["base_lang_url"] ?? null) . "/"); + // line 17 + echo " "; + } elseif ((($context["untranslated_pages_behavior"] ?? null) == "hide")) { + // line 18 + echo " "; + $context["show_language"] = false; + // line 19 + echo " "; + } + // line 20 + echo " "; + } + // line 21 + echo " "; + } + // line 22 + echo " "; + $context["active_class"] = ""; + // line 23 + echo " "; + } + // line 24 + echo " + "; + // line 25 + if (($context["show_language"] ?? null)) { + // line 26 + echo "
                                                              • getAttribute(($context["uri"] ?? null), "params", array())); + echo "\" class=\"external"; + echo ($context["active_class"] ?? null); + echo "\">"; + echo twig_capitalize_string_filter($this->env, call_user_func_array($this->env->getFunction('native_name')->getCallable(), array($context["language"]))); + echo "
                                                              • + "; + } + // line 28 + echo " +"; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['language'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 30 + echo "
                                                              +"; + } + + public function getTemplateName() + { + return "partials/langswitcher.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 110 => 30, 103 => 28, 93 => 26, 91 => 25, 88 => 24, 85 => 23, 82 => 22, 79 => 21, 76 => 20, 73 => 19, 70 => 18, 67 => 17, 64 => 16, 61 => 15, 58 => 14, 55 => 13, 52 => 12, 49 => 11, 46 => 10, 43 => 9, 40 => 8, 37 => 7, 34 => 6, 31 => 5, 29 => 4, 26 => 3, 22 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("
                                                                +{% for language in langswitcher.languages %} + + {% set show_language = true %} + {% if language == langswitcher.current %} + {% set lang_url = page.url %} + {% set active_class = ' active' %} + {% else %} + {% set base_lang_url = base_url_simple ~ grav.language.getLanguageURLPrefix(language) %} + {% set lang_url = base_lang_url ~ langswitcher.page_route ~ page.urlExtension %} + {% set untranslated_pages_behavior = grav.config.plugins.langswitcher.untranslated_pages_behavior %} + {% if untranslated_pages_behavior != 'none' %} + {% set translated_page = langswitcher.translated_pages[language] %} + {% if (not translated_page) or (not translated_page.published) %} + {% if untranslated_pages_behavior == 'redirect' %} + {% set lang_url = base_lang_url ~ '/' %} + {% elseif untranslated_pages_behavior == 'hide' %} + {% set show_language = false %} + {% endif %} + {% endif %} + {% endif %} + {% set active_class = '' %} + {% endif %} + + {% if show_language %} +
                                                              • {{ native_name(language)|capitalize }}
                                                              • + {% endif %} + +{% endfor %} +
                                                              +", "partials/langswitcher.html.twig", "/home/kevin/Sites/static-ethica.net/user/themes/ethica/templates/partials/langswitcher.html.twig"); + } +} diff --git a/cache/twig/c3/c3536cdec3e321d3569e6b10f9d5dec8656ef13e9b9c660e76a460829e79a7b9.php b/cache/twig/c3/c3536cdec3e321d3569e6b10f9d5dec8656ef13e9b9c660e76a460829e79a7b9.php new file mode 100644 index 0000000..0b60f51 --- /dev/null +++ b/cache/twig/c3/c3536cdec3e321d3569e6b10f9d5dec8656ef13e9b9c660e76a460829e79a7b9.php @@ -0,0 +1,150 @@ +parent = $this->loadTemplate("forms/field.html.twig", "forms/fields/datetime/datetime.html.twig", 1); + $this->blocks = array( + 'input' => array($this, 'block_input'), + 'input_attributes' => array($this, 'block_input_attributes'), + ); + } + + protected function doGetParent(array $context) + { + return "forms/field.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 3 + $context["value"] = (((null === ($context["value"] ?? null))) ? ($this->getAttribute(($context["field"] ?? null), "default", array())) : (($context["value"] ?? null))); + // line 4 + $context["default_php_dateformat"] = $this->getAttribute(($context["admin"] ?? null), "guessDateFormat", array(0 => ($context["value"] ?? null)), "method"); + // line 5 + $context["php_dateformat"] = (($this->getAttribute(($context["field"] ?? null), "format", array())) ? ($this->getAttribute(($context["field"] ?? null), "format", array())) : ((($this->getAttribute($this->getAttribute(($context["admin"] ?? null), "page", array()), "dateformat", array())) ? ($this->getAttribute($this->getAttribute(($context["admin"] ?? null), "page", array()), "dateformat", array())) : ((($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "system", array()), "pages", array()), "dateformat", array()), "default", array())) ? ($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "system", array()), "pages", array()), "dateformat", array()), "default", array())) : (($context["default_php_dateformat"] ?? null))))))); + // line 6 + $context["js_dateformat"] = $this->getAttribute(($context["admin"] ?? null), "dateformatToMomentJS", array(0 => ($context["php_dateformat"] ?? null)), "method"); + // line 7 + $context["value"] = (((null === ($context["value"] ?? null))) ? (($context["value"] ?? null)) : (twig_date_format_filter($this->env, ($context["value"] ?? null), ($context["php_dateformat"] ?? null)))); + // line 1 + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 9 + public function block_input($context, array $blocks = array()) + { + // line 10 + echo "
                                                              env, $this->getAttribute(($context["field"] ?? null), "size", array()), "html", null, true); + echo "\"> + env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->fieldNameFilter((($context["scope"] ?? null) . $this->getAttribute(($context["field"] ?? null), "name", array()))), "html", null, true); + echo "\" + value=\""; + // line 13 + echo twig_escape_filter($this->env, twig_join_filter(($context["value"] ?? null), ", "), "html", null, true); + echo "\" + "; + // line 14 + $this->displayBlock('input_attributes', $context, $blocks); + // line 21 + echo " /> + + + +
                                                              +"; + } + + // line 14 + public function block_input_attributes($context, array $blocks = array()) + { + // line 15 + echo " type=\"text\" + data-grav-datetime=\""; + // line 16 + echo twig_escape_filter($this->env, twig_jsonencode_filter(array("format" => ($context["js_dateformat"] ?? null))), "html_attr"); + echo "\" + "; + // line 17 + if ($this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "min", array())) { + echo "min=\""; + echo twig_escape_filter($this->env, (((null === $this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "min", array()))) ? ($this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "min", array())) : (twig_date_format_filter($this->env, $this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "min", array()), ($context["php_dateformat"] ?? null)))), "html", null, true); + echo "\""; + } + // line 18 + echo " "; + if ($this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "max", array())) { + echo "max=\""; + echo twig_escape_filter($this->env, (((null === $this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "max", array()))) ? ($this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "max", array())) : (twig_date_format_filter($this->env, $this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "max", array()), ($context["php_dateformat"] ?? null)))), "html", null, true); + echo "\""; + } + // line 19 + echo " "; + $this->displayParentBlock("input_attributes", $context, $blocks); + echo " + "; + } + + public function getTemplateName() + { + return "forms/fields/datetime/datetime.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 91 => 19, 84 => 18, 78 => 17, 74 => 16, 71 => 15, 68 => 14, 59 => 21, 57 => 14, 53 => 13, 49 => 12, 43 => 10, 40 => 9, 36 => 1, 34 => 7, 32 => 6, 30 => 5, 28 => 4, 26 => 3, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends \"forms/field.html.twig\" %} + +{% set value = (value is null ? field.default : value) %} +{% set default_php_dateformat = admin.guessDateFormat(value) %} +{% set php_dateformat = field.format ?: admin.page.dateformat ?: config.system.pages.dateformat.default ?: default_php_dateformat %} +{% set js_dateformat = admin.dateformatToMomentJS(php_dateformat) %} +{% set value = (value is null ? value : value|date(php_dateformat)) %} + +{% block input %} +
                                                              + + + + +
                                                              +{% endblock %} +", "forms/fields/datetime/datetime.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/forms/fields/datetime/datetime.html.twig"); + } +} diff --git a/cache/twig/c3/c39576bf7e338d2db8a01734a28691e416318cf45eb59e62793eba12e4cccf00.php b/cache/twig/c3/c39576bf7e338d2db8a01734a28691e416318cf45eb59e62793eba12e4cccf00.php new file mode 100644 index 0000000..28cb8e5 --- /dev/null +++ b/cache/twig/c3/c39576bf7e338d2db8a01734a28691e416318cf45eb59e62793eba12e4cccf00.php @@ -0,0 +1,122 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + if ($this->env->getExtension('Grav\Common\Twig\TwigExtension')->authorize(array(0 => "admin.pages", 1 => "admin.super"))) { + // line 2 + echo "
                                                              + +

                                                              "; + // line 6 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.LATEST_PAGE_UPDATES"), "html", null, true); + echo "

                                                              + + "; + // line 8 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["admin"] ?? null), "latestPages", array())); + foreach ($context['_seq'] as $context["_key"] => $context["latest"]) { + if ($this->getAttribute(($context["admin"] ?? null), "latestPages", array())) { + // line 9 + echo " + + + + "; + } + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['latest'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 15 + echo "
                                                              + env, ($context["base_url"] ?? null), "html", null, true); + echo "/pages/"; + echo twig_escape_filter($this->env, twig_trim_filter($this->getAttribute($context["latest"], "route", array()), "/"), "html", null, true); + echo "\"> "; + echo twig_escape_filter($this->env, $this->getAttribute($context["latest"], "title", array())); + echo ""; + // line 12 + echo twig_escape_filter($this->env, $this->getAttribute($context["latest"], "route", array()), "html", null, true); + echo ""; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->adminNicetimeFilter($this->getAttribute($context["latest"], "modified", array())), "html", null, true); + echo "
                                                              +
                                                              +"; + } else { + // line 18 + echo "
                                                              You don't have sufficient access to view the dashboard...
                                                              +"; + } + } + + public function getTemplateName() + { + return "partials/dashboard-pages.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 71 => 18, 66 => 15, 54 => 12, 46 => 11, 42 => 9, 37 => 8, 32 => 6, 25 => 4, 21 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% if authorize(['admin.pages', 'admin.super']) %} +
                                                              + +

                                                              {{ \"PLUGIN_ADMIN.LATEST_PAGE_UPDATES\"|tu }}

                                                              + + {% for latest in admin.latestPages if admin.latestPages %} + + + + + {% endfor %} +
                                                              + {{ latest.title|e }}{{ latest.route }}{{ latest.modified|adminNicetime }}
                                                              +
                                                              +{% else %} +
                                                              You don't have sufficient access to view the dashboard...
                                                              +{% endif %} +", "partials/dashboard-pages.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/dashboard-pages.html.twig"); + } +} diff --git a/cache/twig/c3/c3d6c64fb670f8a9494ba77a1fb2155059144c780aa355f72f5915c89cf2f2de.php b/cache/twig/c3/c3d6c64fb670f8a9494ba77a1fb2155059144c780aa355f72f5915c89cf2f2de.php new file mode 100644 index 0000000..d873308 --- /dev/null +++ b/cache/twig/c3/c3d6c64fb670f8a9494ba77a1fb2155059144c780aa355f72f5915c89cf2f2de.php @@ -0,0 +1,111 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + if ($this->getAttribute(($context["field"] ?? null), "fields", array())) { + // line 2 + echo "
                                                              env, ($context["cols"] ?? null), "html", null, true); + echo "\"> + "; + // line 3 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute($context["field"], "fields", array())); + $context['loop'] = array( + 'parent' => $context['_parent'], + 'index0' => 0, + 'index' => 1, + 'first' => true, + ); + if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) { + $length = count($context['_seq']); + $context['loop']['revindex0'] = $length - 1; + $context['loop']['revindex'] = $length; + $context['loop']['length'] = $length; + $context['loop']['last'] = 1 === $length; + } + foreach ($context['_seq'] as $context["_key"] => $context["field"]) { + // line 4 + echo " "; + if ($this->getAttribute($context["field"], "type", array())) { + // line 5 + echo " "; + $context["value"] = (($this->getAttribute($context["field"], "name", array())) ? ($this->getAttribute(($context["data"] ?? null), "value", array(0 => $this->getAttribute($context["field"], "name", array())), "method")) : ($this->getAttribute(($context["data"] ?? null), "toArray", array()))); + // line 6 + echo " "; + $this->loadTemplate(array(0 => (((("forms/fields/" . $this->getAttribute($context["field"], "type", array())) . "/") . $this->getAttribute($context["field"], "type", array())) . ".html.twig"), 1 => "forms/fields/text/text.html.twig"), "forms/fields/column/column.html.twig", 6)->display($context); + // line 7 + echo " "; + } + // line 8 + echo " "; + ++$context['loop']['index0']; + ++$context['loop']['index']; + $context['loop']['first'] = false; + if (isset($context['loop']['length'])) { + --$context['loop']['revindex0']; + --$context['loop']['revindex']; + $context['loop']['last'] = 0 === $context['loop']['revindex0']; + } + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['field'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 9 + echo "
                                                              +"; + } + } + + public function getTemplateName() + { + return "forms/fields/column/column.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 69 => 9, 55 => 8, 52 => 7, 49 => 6, 46 => 5, 43 => 4, 26 => 3, 21 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% if field.fields %} +
                                                              + {% for field in field.fields %} + {% if field.type %} + {% set value = field.name ? data.value(field.name) : data.toArray %} + {% include [\"forms/fields/#{field.type}/#{field.type}.html.twig\", 'forms/fields/text/text.html.twig'] %} + {% endif %} + {% endfor %} +
                                                              +{% endif %} +", "forms/fields/column/column.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/forms/fields/column/column.html.twig"); + } +} diff --git a/cache/twig/c7/c7982d74853bf295cdf3023e53e5a1a9b796c507d0aa1caeef0542163787fd12.php b/cache/twig/c7/c7982d74853bf295cdf3023e53e5a1a9b796c507d0aa1caeef0542163787fd12.php new file mode 100644 index 0000000..9f34b54 --- /dev/null +++ b/cache/twig/c7/c7982d74853bf295cdf3023e53e5a1a9b796c507d0aa1caeef0542163787fd12.php @@ -0,0 +1,131 @@ +parent = false; + + $this->blocks = array( + 'content' => array($this, 'block_content'), + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 2 + echo " + "; + // line 3 + $this->displayBlock('content', $context, $blocks); + } + + public function block_content($context, array $blocks = array()) + { + // line 4 + echo " +

                                                              "; + // line 5 + echo $this->getAttribute(($context["header"] ?? null), "title", array()); + echo "

                                                              + + "; + // line 7 + echo $this->getAttribute(($context["page"] ?? null), "content", array()); + echo " + "; + // line 8 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["page"] ?? null), "collection", array(), "method")); + foreach ($context['_seq'] as $context["_key"] => $context["module"]) { + // line 9 + echo " +
                                                              getAttribute($this, "pageLinkName", array(0 => $this->getAttribute($context["module"], "folder", array())), "method"); + echo "\" class=\"column\"> + "; + // line 11 + echo $this->getAttribute($context["module"], "content", array()); + echo " +
                                                              + "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['module'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 14 + echo " "; + } + + // line 1 + public function getpageLinkName($__text__ = null, ...$__varargs__) + { + $context = $this->env->mergeGlobals(array( + "text" => $__text__, + "varargs" => $__varargs__, + )); + + $blocks = array(); + + ob_start(); + try { + echo twig_replace_filter(twig_lower_filter($this->env, ($context["text"] ?? null)), array("01._" => "", "02._" => "", "03._" => "", "04._" => "", "05._" => "", "06._" => "", "07._" => "", "08._" => "", "09._" => "")); + } catch (Exception $e) { + ob_end_clean(); + + throw $e; + } catch (Throwable $e) { + ob_end_clean(); + + throw $e; + } + + return ('' === $tmp = ob_get_clean()) ? '' : new Twig_Markup($tmp, $this->env->getCharset()); + } + + public function getTemplateName() + { + return "modular/contenu.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 65 => 1, 61 => 14, 52 => 11, 48 => 10, 45 => 9, 41 => 8, 37 => 7, 32 => 5, 29 => 4, 23 => 3, 20 => 2,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% macro pageLinkName(text) %}{{ text|lower|replace({'01._':'','02._':'','03._':'','04._':'','05._':'','06._':'','07._':'','08._':'','09._':''}) }}{% endmacro %} + + {% block content %} + +

                                                              {{ header.title }}

                                                              + + {{ page.content }} + {% for module in page.collection() %} + +
                                                              + {{ module.content }} +
                                                              + {% endfor %} + {% endblock %} +", "modular/contenu.html.twig", "/mnt/data/Sites/static-ethica.net/user/themes/ethica/templates/modular/contenu.html.twig"); + } +} diff --git a/cache/twig/c9/c900e684ce7966574d1030e7eefc81ed169a3b7d67555113b4ac3ac9351c8f75.php b/cache/twig/c9/c900e684ce7966574d1030e7eefc81ed169a3b7d67555113b4ac3ac9351c8f75.php new file mode 100644 index 0000000..bc9bf57 --- /dev/null +++ b/cache/twig/c9/c900e684ce7966574d1030e7eefc81ed169a3b7d67555113b4ac3ac9351c8f75.php @@ -0,0 +1,123 @@ +parent = false; + + $this->blocks = array( + 'content' => array($this, 'block_content'), + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 2 + echo " + "; + // line 3 + $this->displayBlock('content', $context, $blocks); + } + + public function block_content($context, array $blocks = array()) + { + // line 4 + echo "

                                                              "; + echo $this->getAttribute(($context["header"] ?? null), "title", array()); + echo "

                                                              + "; + // line 5 + echo $this->getAttribute(($context["page"] ?? null), "content", array()); + echo " + "; + // line 6 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["page"] ?? null), "collection", array(), "method")); + foreach ($context['_seq'] as $context["_key"] => $context["module"]) { + // line 7 + echo "
                                                              getAttribute($this, "pageLinkName", array(0 => $this->getAttribute($context["module"], "folder", array())), "method"); + echo "\"> + "; + // line 8 + echo $this->getAttribute($context["module"], "content", array()); + echo " +
                                                              + "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['module'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 11 + echo " "; + } + + // line 1 + public function getpageLinkName($__text__ = null, ...$__varargs__) + { + $context = $this->env->mergeGlobals(array( + "text" => $__text__, + "varargs" => $__varargs__, + )); + + $blocks = array(); + + ob_start(); + try { + echo twig_replace_filter(twig_lower_filter($this->env, ($context["text"] ?? null)), array("01._" => "", "02._" => "", "03._" => "", "04._" => "", "05._" => "", "06._" => "", "07._" => "", "08._" => "", "09._" => "")); + } catch (Exception $e) { + ob_end_clean(); + + throw $e; + } catch (Throwable $e) { + ob_end_clean(); + + throw $e; + } + + return ('' === $tmp = ob_get_clean()) ? '' : new Twig_Markup($tmp, $this->env->getCharset()); + } + + public function getTemplateName() + { + return "modular/article.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 60 => 1, 56 => 11, 47 => 8, 42 => 7, 38 => 6, 34 => 5, 29 => 4, 23 => 3, 20 => 2,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% macro pageLinkName(text) %}{{ text|lower|replace({'01._':'','02._':'','03._':'','04._':'','05._':'','06._':'','07._':'','08._':'','09._':''}) }}{% endmacro %} + + {% block content %} +

                                                              {{ header.title }}

                                                              + {{ page.content }} + {% for module in page.collection() %} +
                                                              + {{ module.content }} +
                                                              + {% endfor %} + {% endblock %} +", "modular/article.html.twig", "/home/kevin/Sites/static-ethica.net/user/themes/ethica/templates/modular/article.html.twig"); + } +} diff --git a/cache/twig/cb/cbfb323831993a8a763ab7e15f40ff52d839d41c2d4fcd5f18390df015a92ece.php b/cache/twig/cb/cbfb323831993a8a763ab7e15f40ff52d839d41c2d4fcd5f18390df015a92ece.php new file mode 100644 index 0000000..969d137 --- /dev/null +++ b/cache/twig/cb/cbfb323831993a8a763ab7e15f40ff52d839d41c2d4fcd5f18390df015a92ece.php @@ -0,0 +1,516 @@ +parent = false; + + $this->blocks = array( + 'head' => array($this, 'block_head'), + 'stylesheets' => array($this, 'block_stylesheets'), + 'javascripts' => array($this, 'block_javascripts'), + 'body' => array($this, 'block_body'), + 'page' => array($this, 'block_page'), + 'navigation' => array($this, 'block_navigation'), + 'titlebar' => array($this, 'block_titlebar'), + 'messages' => array($this, 'block_messages'), + 'widgets' => array($this, 'block_widgets'), + 'content_top' => array($this, 'block_content_top'), + 'content' => array($this, 'block_content'), + 'content_bottom' => array($this, 'block_content_bottom'), + 'footer' => array($this, 'block_footer'), + 'bottom' => array($this, 'block_bottom'), + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + if (($this->getAttribute(($context["uri"] ?? null), "extension", array(), "method") == "json")) { + $this->loadTemplate("default.json.twig", "partials/base-root.html.twig", 1)->display($context); + } else { + // line 2 + echo " + + + "; + // line 5 + $this->displayBlock('head', $context, $blocks); + // line 32 + echo " + "; + // line 33 + $this->displayBlock('body', $context, $blocks); + // line 115 + echo " +"; + } + } + + // line 5 + public function block_head($context, array $blocks = array()) + { + // line 6 + echo " + "; + // line 7 + if (($context["title"] ?? null)) { + echo twig_escape_filter($this->env, ($context["title"] ?? null), "html", null, true); + echo " | "; + } else { + if ($this->getAttribute(($context["header"] ?? null), "title", array())) { + echo twig_escape_filter($this->env, $this->getAttribute(($context["header"] ?? null), "title", array()), "html", null, true); + echo " | "; + } + } + echo twig_escape_filter($this->env, $this->getAttribute(($context["site"] ?? null), "title", array()), "html", null, true); + echo " + "; + // line 8 + if ($this->getAttribute(($context["header"] ?? null), "description", array())) { + // line 9 + echo " env, $this->getAttribute(($context["header"] ?? null), "description", array()), "html", null, true); + echo "\"> + "; + } else { + // line 11 + echo " env, $this->getAttribute(($context["site"] ?? null), "description", array()), "html", null, true); + echo "\"> + "; + } + // line 13 + echo " "; + if ($this->getAttribute(($context["header"] ?? null), "robots", array())) { + // line 14 + echo " env, $this->getAttribute(($context["header"] ?? null), "robots", array()), "html", null, true); + echo "\"> + "; + } else { + // line 16 + echo " + "; + } + // line 18 + echo " + env, ($context["base_url_simple"] ?? null), "html", null, true); + echo twig_escape_filter($this->env, ($context["theme_url"] ?? null), "html", null, true); + echo "/images/favicon.png\"> + + "; + // line 21 + $this->displayBlock('stylesheets', $context, $blocks); + // line 25 + echo " + "; + // line 26 + $this->loadTemplate("partials/javascript-config.html.twig", "partials/base-root.html.twig", 26)->display($context); + // line 27 + echo " "; + $this->displayBlock('javascripts', $context, $blocks); + // line 31 + echo " "; + } + + // line 21 + public function block_stylesheets($context, array $blocks = array()) + { + // line 22 + echo " "; + $this->loadTemplate("partials/stylesheets.html.twig", "partials/base-root.html.twig", 22)->display($context); + // line 23 + echo " "; + echo $this->getAttribute(($context["assets"] ?? null), "css", array(), "method"); + echo " + "; + } + + // line 27 + public function block_javascripts($context, array $blocks = array()) + { + // line 28 + echo " "; + $this->loadTemplate("partials/javascripts.html.twig", "partials/base-root.html.twig", 28)->display($context); + // line 29 + echo " "; + echo $this->getAttribute(($context["assets"] ?? null), "js", array(), "method"); + echo " + "; + } + + // line 33 + public function block_body($context, array $blocks = array()) + { + // line 34 + echo " getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "plugins", array()), "admin", array()), "sidebar", array()), "size", array()) == "small")) ? ("sidebar-closed") : ("")); + echo " "; + echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "plugins", array()), "admin", array()), "body_classes", array()), "html", null, true); + echo "\"> + "; + // line 35 + $this->displayBlock('page', $context, $blocks); + // line 112 + echo " "; + $this->displayBlock('bottom', $context, $blocks); + // line 113 + echo " + "; + } + + // line 35 + public function block_page($context, array $blocks = array()) + { + // line 36 + echo "
                                                              + + "; + // line 38 + $this->displayBlock('navigation', $context, $blocks); + // line 41 + echo " +
                                                              + "; + // line 43 + $this->loadTemplate("partials/nav-toggle.html.twig", "partials/base-root.html.twig", 43)->display($context); + // line 44 + echo "
                                                              + "; + // line 45 + $this->displayBlock('titlebar', $context, $blocks); + // line 46 + echo "
                                                              + +
                                                              +
                                                              getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "plugins", array()), "admin", array()), "content_padding", array())) { + echo "content-padding"; + } + echo "\"> + "; + // line 50 + $this->displayBlock('messages', $context, $blocks); + // line 53 + echo " + "; + // line 54 + $this->displayBlock('widgets', $context, $blocks); + // line 55 + echo "
                                                              + "; + // line 56 + $this->displayBlock('content_top', $context, $blocks); + // line 57 + echo "
                                                              "; + // line 58 + $this->displayBlock('content', $context, $blocks); + // line 59 + echo "
                                                              + "; + // line 60 + if ($this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "plugins", array()), "admin", array()), "show_github_msg", array())) { + // line 61 + echo " + "; + } + // line 63 + echo " "; + $this->displayBlock('content_bottom', $context, $blocks); + // line 64 + echo "
                                                              + "; + // line 65 + $this->displayBlock('footer', $context, $blocks); + // line 70 + echo "
                                                              +
                                                              + +
                                                              +
                                                              +

                                                              "; + // line 75 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.ERROR"), "html", null, true); + echo "

                                                              +
                                                              + +
                                                              +
                                                              +
                                                              +
                                                              +

                                                              "; + // line 84 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.METADATA"), "html", null, true); + echo " for

                                                              + + +
                                                              +
                                                              +
                                                              +
                                                              +

                                                              "; + // line 96 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.MODAL_DELETE_FILE_CONFIRMATION_REQUIRED_TITLE"), "html", null, true); + echo "

                                                              +

                                                              + "; + // line 98 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.MODAL_DELETE_FILE_CONFIRMATION_REQUIRED_DESC"), "html", null, true); + echo " +

                                                              +
                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + "; + } + + // line 38 + public function block_navigation($context, array $blocks = array()) + { + // line 39 + echo " "; + $this->loadTemplate("partials/nav.html.twig", "partials/base-root.html.twig", 39)->display($context); + // line 40 + echo " "; + } + + // line 45 + public function block_titlebar($context, array $blocks = array()) + { + } + + // line 50 + public function block_messages($context, array $blocks = array()) + { + // line 51 + echo " "; + $this->loadTemplate("partials/messages.html.twig", "partials/base-root.html.twig", 51)->display($context); + // line 52 + echo " "; + } + + // line 54 + public function block_widgets($context, array $blocks = array()) + { + } + + // line 56 + public function block_content_top($context, array $blocks = array()) + { + } + + // line 58 + public function block_content($context, array $blocks = array()) + { + } + + // line 63 + public function block_content_bottom($context, array $blocks = array()) + { + } + + // line 65 + public function block_footer($context, array $blocks = array()) + { + // line 66 + echo "
                                                              + Grav v"; + // line 67 + echo twig_escape_filter($this->env, twig_constant("GRAV_VERSION"), "html", null, true); + echo " - Admin v"; + echo twig_escape_filter($this->env, ($context["admin_version"] ?? null), "html", null, true); + echo " - "; + echo twig_escape_filter($this->env, twig_lower_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.WAS_MADE_WITH")), "html", null, true); + echo " "; + echo twig_escape_filter($this->env, twig_lower_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.BY")), "html", null, true); + echo " RocketTheme. +
                                                              + "; + } + + // line 112 + public function block_bottom($context, array $blocks = array()) + { + } + + public function getTemplateName() + { + return "partials/base-root.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 369 => 112, 356 => 67, 353 => 66, 350 => 65, 345 => 63, 340 => 58, 335 => 56, 330 => 54, 326 => 52, 323 => 51, 320 => 50, 315 => 45, 311 => 40, 308 => 39, 305 => 38, 292 => 103, 288 => 102, 281 => 98, 276 => 96, 267 => 90, 258 => 84, 249 => 78, 243 => 75, 236 => 70, 234 => 65, 231 => 64, 228 => 63, 222 => 61, 220 => 60, 217 => 59, 215 => 58, 213 => 57, 211 => 56, 208 => 55, 206 => 54, 203 => 53, 201 => 50, 195 => 49, 190 => 46, 188 => 45, 185 => 44, 183 => 43, 179 => 41, 177 => 38, 173 => 36, 170 => 35, 165 => 113, 162 => 112, 160 => 35, 153 => 34, 150 => 33, 143 => 29, 140 => 28, 137 => 27, 130 => 23, 127 => 22, 124 => 21, 120 => 31, 117 => 27, 115 => 26, 112 => 25, 110 => 21, 104 => 19, 101 => 18, 97 => 16, 91 => 14, 88 => 13, 82 => 11, 76 => 9, 74 => 8, 61 => 7, 58 => 6, 55 => 5, 49 => 115, 47 => 33, 44 => 32, 42 => 5, 37 => 2, 33 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% if uri.extension() == 'json' %}{% include 'default.json.twig' %}{% else %} + + + + {% block head %} + + {% if title %}{{ title }} | {% else %}{% if header.title %}{{ header.title }} | {% endif %}{% endif %}{{ site.title }} + {% if header.description %} + + {% else %} + + {% endif %} + {% if header.robots %} + + {% else %} + + {% endif %} + + + + {% block stylesheets %} + {% include 'partials/stylesheets.html.twig' %} + {{ assets.css()|raw }} + {% endblock %} + + {% include 'partials/javascript-config.html.twig' %} + {% block javascripts %} + {% include 'partials/javascripts.html.twig' %} + {{ assets.js()|raw }} + {% endblock %} + {% endblock %} + + {% block body %} + + {% block page %} +
                                                              + + {% block navigation %} + {% include 'partials/nav.html.twig' %} + {% endblock %} + +
                                                              + {% include 'partials/nav-toggle.html.twig' %} +
                                                              + {% block titlebar %}{% endblock %} +
                                                              + +
                                                              +
                                                              + {% block messages %} + {% include 'partials/messages.html.twig' %} + {% endblock %} + + {% block widgets %}{% endblock %} +
                                                              + {% block content_top %}{% endblock %} +
                                                              + {%- block content %}{% endblock -%} +
                                                              + {% if config.plugins.admin.show_github_msg %} + + {% endif %} + {% block content_bottom %}{% endblock %} +
                                                              + {% block footer %} +
                                                              + Grav v{{ constant('GRAV_VERSION') }} - Admin v{{ admin_version }} - {{ \"PLUGIN_ADMIN.WAS_MADE_WITH\"|tu|lower }} {{ \"PLUGIN_ADMIN.BY\"|tu|lower }} RocketTheme. +
                                                              + {% endblock %} +
                                                              +
                                                              + +
                                                              +
                                                              +

                                                              {{ \"PLUGIN_ADMIN.ERROR\"|tu }}

                                                              +
                                                              + +
                                                              +
                                                              +
                                                              +
                                                              +

                                                              {{ \"PLUGIN_ADMIN.METADATA\"|tu }} for

                                                              + + +
                                                              +
                                                              +
                                                              +
                                                              +

                                                              {{ \"PLUGIN_ADMIN.MODAL_DELETE_FILE_CONFIRMATION_REQUIRED_TITLE\"|tu }}

                                                              +

                                                              + {{ \"PLUGIN_ADMIN.MODAL_DELETE_FILE_CONFIRMATION_REQUIRED_DESC\"|tu }} +

                                                              +
                                                              +
                                                              + + +
                                                              +
                                                              +
                                                              + +
                                                              +
                                                              +
                                                              + {% endblock page %} + {% block bottom %}{% endblock %} + + {% endblock body %} + +{% endif %} +", "partials/base-root.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/base-root.html.twig"); + } +} diff --git a/cache/twig/cc/cc21b3138fe61543eee6f52c8583f2ff586e746cff671318483068ba76476085.php b/cache/twig/cc/cc21b3138fe61543eee6f52c8583f2ff586e746cff671318483068ba76476085.php new file mode 100644 index 0000000..71b2466 --- /dev/null +++ b/cache/twig/cc/cc21b3138fe61543eee6f52c8583f2ff586e746cff671318483068ba76476085.php @@ -0,0 +1,80 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + echo "
                                                              +

                                                              + "; + // line 3 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.NEWS_FEED"), "html", null, true); + echo " + + + +

                                                              + +
                                                              +
                                                              +
                                                                +
                                                                +
                                                                + +"; + } + + public function getTemplateName() + { + return "partials/dashboard-feed.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 23 => 3, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("
                                                                +

                                                                + {{ \"PLUGIN_ADMIN.NEWS_FEED\"|tu }} + + + +

                                                                + +
                                                                +
                                                                +
                                                                  +
                                                                  +
                                                                  + +", "partials/dashboard-feed.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/dashboard-feed.html.twig"); + } +} diff --git a/cache/twig/cf/cf3b0cb9b85161e32027dd416a647e59957d6c5c45a1e3b092d26b4775437031.php b/cache/twig/cf/cf3b0cb9b85161e32027dd416a647e59957d6c5c45a1e3b092d26b4775437031.php new file mode 100644 index 0000000..a1d288a --- /dev/null +++ b/cache/twig/cf/cf3b0cb9b85161e32027dd416a647e59957d6c5c45a1e3b092d26b4775437031.php @@ -0,0 +1,353 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + $context["gumroad_loaded"] = false; + // line 2 + echo "
                                                                  +"; + // line 3 + if (($context["installing"] ?? null)) { + // line 4 + echo " "; + $this->loadTemplate("partials/release-toggle.html.twig", "partials/plugins-list.html.twig", 4)->display($context); + } + // line 6 + $this->loadTemplate("partials/list-sort.html.twig", "partials/plugins-list.html.twig", 6)->display(array_merge($context, array("list_view" => "plugins"))); + // line 7 + echo "

                                                                  + "; + // line 8 + echo twig_escape_filter($this->env, ((($context["installing"] ?? null)) ? ($this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.AVAILABLE_PLUGINS")) : ($this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.INSTALLED_PLUGINS"))), "html", null, true); + echo " +

                                                                  +
                                                                  +
                                                                  + env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.RESOURCE_FILTER"), "html", null, true); + echo "\" data-gpm-filter> +
                                                                  +
                                                                  + + + "; + // line 17 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->env->getExtension('Grav\Common\Twig\TwigExtension')->ksortFilter($this->getAttribute($this->getAttribute(($context["admin"] ?? null), "plugins", array(0 => !($context["installing"] ?? null)), "method"), "toArray", array()))); + $context['_iterated'] = false; + $context['loop'] = array( + 'parent' => $context['_parent'], + 'index0' => 0, + 'index' => 1, + 'first' => true, + ); + if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) { + $length = count($context['_seq']); + $context['loop']['revindex0'] = $length - 1; + $context['loop']['revindex'] = $length; + $context['loop']['length'] = $length; + $context['loop']['last'] = 1 === $length; + } + foreach ($context['_seq'] as $context["slug"] => $context["plugin"]) { + // line 18 + echo " "; + $context["data"] = $this->getAttribute(($context["admin"] ?? null), "data", array(0 => ("plugins/" . $context["slug"])), "method"); + // line 19 + echo " "; + $context["isTestingRelease"] = $this->getAttribute($this->getAttribute(($context["admin"] ?? null), "gpm", array()), "isTestingRelease", array(0 => $context["slug"]), "method"); + // line 20 + echo " "; + $context["releaseDate"] = (($this->getAttribute($context["plugin"], "date", array())) ? ($this->getAttribute($context["plugin"], "date", array())) : ($this->getAttribute($this->getAttribute($this->getAttribute(($context["admin"] ?? null), "gpm", array()), "findPackage", array(0 => $context["slug"], 1 => true), "method"), "date", array()))); + // line 21 + echo " + env, twig_urlencode_filter($context["slug"]), "html", null, true); + echo "\" data-gpm-name=\""; + echo twig_escape_filter($this->env, $this->getAttribute($context["plugin"], "name", array()), "html", null, true); + echo "\" data-gpm-release-date=\""; + echo twig_escape_filter($this->env, ($context["releaseDate"] ?? null), "html", null, true); + echo "\" data-gpm-author=\""; + echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute($context["plugin"], "author", array()), "name", array()), "html", null, true); + echo "\" data-gpm-official=\""; + echo (($this->getAttribute(($context["admin"] ?? null), "isTeamGrav", array(0 => $context["plugin"]), "method")) ? ("1") : ("2")); + echo "\" data-gpm-updatable=\""; + echo (($this->getAttribute($this->getAttribute(($context["admin"] ?? null), "gpm", array()), "isUpdatable", array(0 => $context["slug"]), "method")) ? ("1") : ("2")); + echo "\" data-gpm-enabled=\""; + echo (($this->getAttribute(($context["data"] ?? null), "get", array(0 => "enabled"), "method")) ? ("1") : ("2")); + echo "\" data-gpm-testing=\""; + echo ((($context["isTestingRelease"] ?? null)) ? ("1") : ("2")); + echo "\"> + + + + + "; + $context['_iterated'] = true; + ++$context['loop']['index0']; + ++$context['loop']['index']; + $context['loop']['first'] = false; + if (isset($context['loop']['length'])) { + --$context['loop']['revindex0']; + --$context['loop']['revindex']; + $context['loop']['last'] = 0 === $context['loop']['revindex0']; + } + } + if (!$context['_iterated']) { + // line 69 + echo " + "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['slug'], $context['plugin'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 71 + echo "
                                                                  + env, $this->getAttribute($context["plugin"], "icon", array()), "html", null, true); + echo "\"> + env, ($context["base_url_relative"] ?? null), "html", null, true); + echo "/plugins/"; + echo twig_escape_filter($this->env, twig_urlencode_filter($context["slug"]), "html", null, true); + echo "\">"; + echo twig_escape_filter($this->env, $this->getAttribute($context["plugin"], "name", array()), "html", null, true); + echo " + "; + // line 26 + if ($this->getAttribute(($context["admin"] ?? null), "isTeamGrav", array(0 => $context["plugin"]), "method")) { + // line 27 + echo " env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.GRAV_OFFICIAL_PLUGIN"), "html", null, true); + echo "\"> + "; + } + // line 29 + echo " "; + if ($this->getAttribute(($context["admin"] ?? null), "isPremiumProduct", array(0 => $context["plugin"]), "method")) { + // line 30 + echo " "; + if ( !($context["gumroad_loaded"] ?? null)) { + // line 31 + echo " "; + $context["gumroad_loaded"] = true; + // line 32 + echo " + "; + } + // line 34 + echo " "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.PREMIUM_PRODUCT"), "html", null, true); + echo " + "; + } + // line 36 + echo " "; + if ($this->getAttribute($context["plugin"], "symlink", array())) { + // line 37 + echo " env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.PLUGIN_SYMBOLICALLY_LINKED"), "html", null, true); + echo "\"> + + + "; + } + // line 41 + echo " v"; + echo twig_escape_filter($this->env, $this->getAttribute($context["plugin"], "version", array()), "html", null, true); + echo " + "; + // line 42 + if (($context["isTestingRelease"] ?? null)) { + echo "test release"; + } + // line 43 + echo " + "; + // line 45 + if (( !($context["installing"] ?? null) && (($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute($context["plugin"], "form", array()), "fields", array()), "enabled", array()), "type", array()) != "hidden") && ($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute($context["plugin"], "form", array()), "fields", array()), "tabs", array()), "fields", array()), "login", array()), "fields", array()), "enabled", array()), "type", array()) != "hidden")))) { + // line 46 + echo " getAttribute(($context["data"] ?? null), "get", array(0 => "enabled"), "method")) ? ("enabled") : ("disabled")); + echo "\" href=\""; + echo twig_escape_filter($this->env, $this->getAttribute(($context["uri"] ?? null), "addNonce", array(0 => (((((($context["base_url_relative"] ?? null) . "/plugins/") . $context["slug"]) . "/task") . $this->getAttribute($this->getAttribute(($context["config"] ?? null), "system", array()), "param_sep", array())) . (($this->getAttribute(($context["data"] ?? null), "get", array(0 => "enabled"), "method")) ? ("disable") : ("enable"))), 1 => "admin-form", 2 => "admin-nonce"), "method"), "html", null, true); + echo "\"> + getAttribute(($context["data"] ?? null), "get", array(0 => "enabled"), "method")) ? ("on") : ("off")); + echo "\"> + + "; + } elseif ( // line 49 +($context["installing"] ?? null)) { + // line 50 + echo " "; + if (($this->getAttribute($context["plugin"], "premium", array()) && !$this->getAttribute(($context["admin"] ?? null), "license", array(0 => $this->getAttribute($context["plugin"], "slug", array())), "method"))) { + // line 51 + echo " "; + if ( !($context["gumroad_loaded"] ?? null)) { + // line 52 + echo " "; + $context["gumroad_loaded"] = true; + // line 53 + echo " + "; + } + // line 55 + echo " env, $this->getAttribute($this->getAttribute($context["plugin"], "premium", array()), "product_permalink", array()), "html", null, true); + echo "\" target=\"_blank\" data-gumroad-single-product=\"true\"> "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("Buy Now"), "html", null, true); + echo " + "; + } else { + // line 57 + echo " env, $this->getAttribute($context["plugin"], "slug", array()), "html", null, true); + echo "\" data-plugin-action=\"start-package-installation\"> "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.INSTALL"), "html", null, true); + echo " + "; + } + // line 59 + echo " "; + } + // line 60 + echo " + +
                                                                  + "; + // line 64 + $this->loadTemplate("partials/plugin-data.html.twig", "partials/plugins-list.html.twig", 64)->display(array_merge($context, array("plugin" => $context["plugin"]))); + // line 65 + echo "
                                                                  +
                                                                  "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.OFFLINE_WARNING"), "html", null, true); + echo "
                                                                  + +"; + // line 73 + $this->loadTemplate("partials/modal-add-package.html.twig", "partials/plugins-list.html.twig", 73)->display(array_merge($context, array("type" => "plugin"))); + // line 74 + $this->loadTemplate("partials/modal-update-packages.html.twig", "partials/plugins-list.html.twig", 74)->display(array_merge($context, array("type" => "plugin"))); + } + + public function getTemplateName() + { + return "partials/plugins-list.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 249 => 74, 247 => 73, 243 => 71, 234 => 69, 218 => 65, 216 => 64, 210 => 60, 207 => 59, 199 => 57, 191 => 55, 187 => 53, 184 => 52, 181 => 51, 178 => 50, 176 => 49, 171 => 47, 164 => 46, 162 => 45, 158 => 43, 154 => 42, 149 => 41, 141 => 37, 138 => 36, 132 => 34, 128 => 32, 125 => 31, 122 => 30, 119 => 29, 113 => 27, 111 => 26, 103 => 25, 99 => 24, 80 => 22, 77 => 21, 74 => 20, 71 => 19, 68 => 18, 50 => 17, 42 => 12, 35 => 8, 32 => 7, 30 => 6, 26 => 4, 24 => 3, 21 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% set gumroad_loaded = false %} +
                                                                  +{% if installing %} + {% include 'partials/release-toggle.html.twig' %} +{% endif %} +{% include 'partials/list-sort.html.twig' with { list_view: 'plugins' } %} +

                                                                  + {{ installing ? \"PLUGIN_ADMIN.AVAILABLE_PLUGINS\"|tu : \"PLUGIN_ADMIN.INSTALLED_PLUGINS\"|tu }} +

                                                                  +
                                                                  +
                                                                  + +
                                                                  +
                                                                  + + + {% for slug, plugin in admin.plugins(not installing).toArray|ksort %} + {% set data = admin.data('plugins/' ~ slug) %} + {% set isTestingRelease = admin.gpm.isTestingRelease(slug) %} + {% set releaseDate = plugin.date ?: admin.gpm.findPackage(slug, true).date %} + + + + + + + {% else %} + + {% endfor %} +
                                                                  + + {{ plugin.name }} + {% if admin.isTeamGrav(plugin) %} + + {% endif %} + {% if admin.isPremiumProduct(plugin) %} + {% if not gumroad_loaded %} + {% set gumroad_loaded = true %} + + {% endif %} + {{ \"PLUGIN_ADMIN.PREMIUM_PRODUCT\"|tu }} + {% endif %} + {% if plugin.symlink %} + + + + {% endif %} + v{{ plugin.version }} + {% if isTestingRelease %}test release{% endif %} + + {% if (not installing and (plugin.form.fields.enabled.type != 'hidden' and plugin.form.fields.tabs.fields.login.fields.enabled.type != 'hidden')) %} + + + + {% elseif (installing) %} + {% if (plugin.premium and not admin.license(plugin.slug)) %} + {% if not gumroad_loaded %} + {% set gumroad_loaded = true %} + + {% endif %} + {{ \"Buy Now\"|tu }} + {% else %} + {{ \"PLUGIN_ADMIN.INSTALL\"|tu }} + {% endif %} + {% endif %} + + +
                                                                  + {% include 'partials/plugin-data.html.twig' with { plugin: plugin } %} +
                                                                  +
                                                                  {{ \"PLUGIN_ADMIN.OFFLINE_WARNING\"|tu }}
                                                                  + +{% include 'partials/modal-add-package.html.twig' with { type: 'plugin' } %} +{% include 'partials/modal-update-packages.html.twig' with { type: 'plugin' } %} +", "partials/plugins-list.html.twig", "/home/kevin/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/plugins-list.html.twig"); + } +} diff --git a/cache/twig/d3/d38c2a3feafc68f0e26004b4f501c61d46ea0cf8277373e8bc3f5a518315406a.php b/cache/twig/d3/d38c2a3feafc68f0e26004b4f501c61d46ea0cf8277373e8bc3f5a518315406a.php new file mode 100644 index 0000000..0c80030 --- /dev/null +++ b/cache/twig/d3/d38c2a3feafc68f0e26004b4f501c61d46ea0cf8277373e8bc3f5a518315406a.php @@ -0,0 +1,430 @@ +parent = $this->loadTemplate("forms/field.html.twig", "forms/fields/file/file.html.twig", 1); + $this->blocks = array( + 'input' => array($this, 'block_input'), + 'input_attributes' => array($this, 'block_input_attributes'), + ); + } + + protected function doGetParent(array $context) + { + return "forms/field.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 2 + $context["defaults"] = $this->getAttribute($this->getAttribute(($context["config"] ?? null), "plugins", array()), "form", array()); + // line 3 + $context["files"] = twig_array_merge($this->getAttribute(($context["defaults"] ?? null), "files", array()), ((array_key_exists("field", $context)) ? (_twig_default_filter(($context["field"] ?? null), array())) : (array()))); + // line 4 + $context["limit"] = (( !$this->getAttribute(($context["field"] ?? null), "multiple", array())) ? (1) : ($this->getAttribute(($context["files"] ?? null), "limit", array()))); + // line 1 + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 58 + public function block_input($context, array $blocks = array()) + { + // line 59 + echo " "; + $context["page_can_upload"] = (($context["exists"] ?? null) || (((($context["type"] ?? null) == "page") && !($context["exists"] ?? null)) && !((is_string($__internal_5580c43648a4fc9a18c8763bb999454bcc9945e307af12771de71cef4b0d1fed = $this->getAttribute(($context["field"] ?? null), "destination", array())) && is_string($__internal_cbf4f73522fb2686fe8def785eb1f01a20b9f57d4f16281c5573cbf67f140404 = "@self") && ('' === $__internal_cbf4f73522fb2686fe8def785eb1f01a20b9f57d4f16281c5573cbf67f140404 || 0 === strpos($__internal_5580c43648a4fc9a18c8763bb999454bcc9945e307af12771de71cef4b0d1fed, $__internal_cbf4f73522fb2686fe8def785eb1f01a20b9f57d4f16281c5573cbf67f140404))) || (is_string($__internal_749820261fa3bb7394026710d9844f890294484dd9ed82221dc3ede90833cf77 = $this->getAttribute(($context["field"] ?? null), "destination", array())) && is_string($__internal_4cf70ad0a071196763609576a813d32d11fc5d725194baeef5931fe85ef905b5 = "self@") && ('' === $__internal_4cf70ad0a071196763609576a813d32d11fc5d725194baeef5931fe85ef905b5 || 0 === strpos($__internal_749820261fa3bb7394026710d9844f890294484dd9ed82221dc3ede90833cf77, $__internal_4cf70ad0a071196763609576a813d32d11fc5d725194baeef5931fe85ef905b5)))))); + // line 60 + echo " "; + if (( !array_key_exists("type", $context) || ($context["page_can_upload"] ?? null))) { + // line 61 + echo " + "; + // line 62 + $context["settings"] = array("name" => $this->getAttribute(($context["field"] ?? null), "name", array()), "paramName" => ($this->env->getExtension('Grav\Common\Twig\TwigExtension')->fieldNameFilter((($context["scope"] ?? null) . $this->getAttribute(($context["field"] ?? null), "name", array()))) . (($this->getAttribute(($context["files"] ?? null), "multiple", array())) ? ("[]") : (""))), "limit" => ($context["limit"] ?? null), "filesize" => (($this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "system", array()), "media", array()), "upload_limit", array()) / 1024) / 1024), "accept" => $this->getAttribute(($context["files"] ?? null), "accept", array())); + // line 63 + echo " +
                                                                  getAttribute(($context["field"] ?? null), "fancy", array()) === false)) { + echo "form-input-file"; + } + echo " "; + echo twig_escape_filter($this->env, (($this->getAttribute(($context["field"] ?? null), "size", array(), "any", true, true)) ? (_twig_default_filter($this->getAttribute(($context["field"] ?? null), "size", array()), "xlarge")) : ("xlarge")), "html", null, true); + echo "\" data-grav-file-settings=\""; + echo twig_escape_filter($this->env, twig_jsonencode_filter(($context["settings"] ?? null)), "html_attr"); + echo "\" "; + if (($context["file_url_add"] ?? null)) { + echo "data-file-url-add=\""; + echo twig_escape_filter($this->env, ($context["file_url_add"] ?? null), "html", null, true); + echo "\""; + } + echo " "; + if (($context["file_url_remove"] ?? null)) { + echo "data-file-url-remove=\""; + echo twig_escape_filter($this->env, ($context["file_url_remove"] ?? null), "html", null, true); + echo "\""; + } + echo "> + displayBlock('input_attributes', $context, $blocks); + // line 75 + echo " /> + + "; + // line 77 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable(($context["value"] ?? null)); + foreach ($context['_seq'] as $context["path"] => $context["file"]) { + // line 78 + echo " "; + echo $this->getAttribute($this, "preview", array(0 => $context["path"], 1 => $context["file"], 2 => $context), "method"); + echo " + "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['path'], $context['file'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 80 + echo " "; + $this->loadTemplate("forms/fields/hidden/hidden.html.twig", "forms/fields/file/file.html.twig", 80)->display(array_merge($context, array("field" => array("name" => ("_json." . $this->getAttribute(($context["field"] ?? null), "name", array()))), "value" => twig_jsonencode_filter(($context["value"] ?? null))))); + // line 81 + echo "
                                                                  + + "; + } else { + // line 84 + echo " "; + echo $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.CANNOT_ADD_FILES_PAGE_NOT_SAVED"); + echo " + "; + } + } + + // line 67 + public function block_input_attributes($context, array $blocks = array()) + { + // line 68 + echo " type=\"file\" + "; + // line 69 + if ($this->getAttribute(($context["files"] ?? null), "multiple", array())) { + echo "multiple=\"multiple\""; + } + // line 70 + echo " "; + if ($this->getAttribute(($context["files"] ?? null), "accept", array())) { + echo "accept=\""; + echo twig_escape_filter($this->env, twig_join_filter($this->getAttribute(($context["files"] ?? null), "accept", array()), ","), "html", null, true); + echo "\""; + } + // line 71 + echo " "; + if (($this->getAttribute(($context["field"] ?? null), "disabled", array()) || ($context["isDisabledToggleable"] ?? null))) { + echo "disabled=\"disabled\""; + } + // line 72 + echo " "; + if ($this->getAttribute(($context["field"] ?? null), "random_name", array())) { + echo "random=\"true\""; + } + // line 73 + echo " "; + $this->displayParentBlock("input_attributes", $context, $blocks); + echo " + "; + } + + // line 6 + public function getbytesToSize($__bytes__ = null, ...$__varargs__) + { + $context = $this->env->mergeGlobals(array( + "bytes" => $__bytes__, + "varargs" => $__varargs__, + )); + + $blocks = array(); + + ob_start(); + try { + // line 7 + ob_start(); + // line 8 + echo " "; + $context["kilobyte"] = 1024; + // line 9 + echo " "; + $context["megabyte"] = (($context["kilobyte"] ?? null) * 1024); + // line 10 + echo " "; + $context["gigabyte"] = (($context["megabyte"] ?? null) * 1024); + // line 11 + echo " "; + $context["terabyte"] = (($context["gigabyte"] ?? null) * 1024); + // line 12 + echo " + "; + // line 13 + if ((($context["bytes"] ?? null) < ($context["kilobyte"] ?? null))) { + // line 14 + echo " "; + echo twig_escape_filter($this->env, (($context["bytes"] ?? null) . " B"), "html", null, true); + echo " + "; + } elseif (( // line 15 +($context["bytes"] ?? null) < ($context["megabyte"] ?? null))) { + // line 16 + echo " "; + echo twig_escape_filter($this->env, (twig_number_format_filter($this->env, (($context["bytes"] ?? null) / ($context["kilobyte"] ?? null)), 2, ".") . " KB"), "html", null, true); + echo " + "; + } elseif (( // line 17 +($context["bytes"] ?? null) < ($context["gigabyte"] ?? null))) { + // line 18 + echo " "; + echo twig_escape_filter($this->env, (twig_number_format_filter($this->env, (($context["bytes"] ?? null) / ($context["megabyte"] ?? null)), 2, ".") . " MB"), "html", null, true); + echo " + "; + } elseif (( // line 19 +($context["bytes"] ?? null) < ($context["terabyte"] ?? null))) { + // line 20 + echo " "; + echo twig_escape_filter($this->env, (twig_number_format_filter($this->env, (($context["bytes"] ?? null) / ($context["gigabyte"] ?? null)), 2, ".") . " GB"), "html", null, true); + echo " + "; + } else { + // line 22 + echo " "; + echo twig_escape_filter($this->env, (twig_number_format_filter($this->env, (($context["bytes"] ?? null) / ($context["terabyte"] ?? null)), 2, ".") . " TB"), "html", null, true); + echo " + "; + } + // line 24 + echo " "; + echo trim(preg_replace('/>\s+<', ob_get_clean())); + } catch (Exception $e) { + ob_end_clean(); + + throw $e; + } catch (Throwable $e) { + ob_end_clean(); + + throw $e; + } + + return ('' === $tmp = ob_get_clean()) ? '' : new Twig_Markup($tmp, $this->env->getCharset()); + } + + // line 27 + public function getpreview($__path__ = null, $__value__ = null, $__global__ = null, ...$__varargs__) + { + $context = $this->env->mergeGlobals(array( + "path" => $__path__, + "value" => $__value__, + "global" => $__global__, + "varargs" => $__varargs__, + )); + + $blocks = array(); + + ob_start(); + try { + // line 28 + echo " "; + if (($context["value"] ?? null)) { + // line 29 + echo " "; + $context["uri"] = $this->getAttribute($this->getAttribute(($context["global"] ?? null), "grav", array()), "uri", array()); + // line 30 + echo " "; + $context["files"] = $this->getAttribute(($context["global"] ?? null), "files", array()); + // line 31 + echo " "; + $context["config"] = $this->getAttribute($this->getAttribute(($context["global"] ?? null), "grav", array()), "config", array()); + // line 32 + echo " "; + $context["route"] = $this->getAttribute($this->getAttribute(($context["global"] ?? null), "context", array()), "route", array(), "method"); + // line 33 + echo " + "; + // line 34 + $context["type"] = (($this->getAttribute(($context["global"] ?? null), "blueprint_type", array())) ? ($this->getAttribute(($context["global"] ?? null), "blueprint_type", array())) : ((($this->getAttribute($this->getAttribute(($context["global"] ?? null), "admin", array()), "location", array())) ? ($this->getAttribute($this->getAttribute(($context["global"] ?? null), "admin", array()), "location", array())) : ("config")))); + // line 35 + echo " + "; + // line 36 + $context["blueprint_name"] = $this->getAttribute($this->getAttribute(($context["global"] ?? null), "blueprints", array()), "getFilename", array()); + // line 37 + echo " "; + if ((($context["type"] ?? null) == "pages")) { + // line 38 + echo " "; + $context["blueprint_name"] = ((($context["type"] ?? null) . "/") . ($context["blueprint_name"] ?? null)); + // line 39 + echo " "; + } + // line 40 + echo " "; + $context["blueprint"] = base64_encode(($context["blueprint_name"] ?? null)); + // line 41 + echo " "; + $context["real_path"] = $this->getAttribute($this->getAttribute(($context["global"] ?? null), "admin", array()), "getPagePathFromToken", array(0 => ($context["path"] ?? null)), "method"); + // line 42 + echo " "; + $context["remove"] = (($this->getAttribute(($context["global"] ?? null), "file_url_remove", array())) ? ($this->getAttribute(($context["global"] ?? null), "file_url_remove", array())) : (($this->getAttribute(($context["global"] ?? null), "base_url_relative", array()) . "/media.json"))); + // line 43 + echo " "; + $context["remove"] = $this->getAttribute(($context["uri"] ?? null), "addNonce", array(0 => ((((((((((((((((((((( // line 44 +($context["remove"] ?? null) . "/route") . $this->getAttribute($this->getAttribute( // line 45 +($context["config"] ?? null), "system", array()), "param_sep", array())) . base64_encode((($this->getAttribute(($context["global"] ?? null), "base_path", array()) . "/") . ($context["real_path"] ?? null)))) . "/task") . $this->getAttribute($this->getAttribute( // line 46 +($context["config"] ?? null), "system", array()), "param_sep", array())) . "removeFileFromBlueprint") . "/proute") . $this->getAttribute($this->getAttribute( // line 47 +($context["config"] ?? null), "system", array()), "param_sep", array())) . base64_encode(($context["route"] ?? null))) . "/blueprint") . $this->getAttribute($this->getAttribute( // line 48 +($context["config"] ?? null), "system", array()), "param_sep", array())) . ($context["blueprint"] ?? null)) . "/type") . $this->getAttribute($this->getAttribute( // line 49 +($context["config"] ?? null), "system", array()), "param_sep", array())) . ($context["type"] ?? null)) . "/field") . $this->getAttribute($this->getAttribute( // line 50 +($context["config"] ?? null), "system", array()), "param_sep", array())) . $this->getAttribute(($context["files"] ?? null), "name", array())) . "/path") . $this->getAttribute($this->getAttribute( // line 51 +($context["config"] ?? null), "system", array()), "param_sep", array())) . base64_encode($this->getAttribute(($context["value"] ?? null), "path", array()))), 1 => "admin-form", 2 => "admin-nonce"), "method"); + // line 52 + echo " + "; + // line 53 + $context["file"] = twig_array_merge(($context["value"] ?? null), array("remove" => ($context["remove"] ?? null), "path" => ((($this->getAttribute(($context["uri"] ?? null), "rootUrl", array()) == "/")) ? ("/") : ((($this->getAttribute(($context["uri"] ?? null), "rootUrl", array()) . "/") . ($context["real_path"] ?? null)))))); + // line 54 + echo "
                                                                  env, twig_jsonencode_filter(($context["file"] ?? null)), "html_attr"); + echo "\">
                                                                  + "; + } + } catch (Exception $e) { + ob_end_clean(); + + throw $e; + } catch (Throwable $e) { + ob_end_clean(); + + throw $e; + } + + return ('' === $tmp = ob_get_clean()) ? '' : new Twig_Markup($tmp, $this->env->getCharset()); + } + + public function getTemplateName() + { + return "forms/fields/file/file.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 299 => 54, 297 => 53, 294 => 52, 292 => 51, 291 => 50, 290 => 49, 289 => 48, 288 => 47, 287 => 46, 286 => 45, 285 => 44, 283 => 43, 280 => 42, 277 => 41, 274 => 40, 271 => 39, 268 => 38, 265 => 37, 263 => 36, 260 => 35, 258 => 34, 255 => 33, 252 => 32, 249 => 31, 246 => 30, 243 => 29, 240 => 28, 226 => 27, 210 => 24, 204 => 22, 198 => 20, 196 => 19, 191 => 18, 189 => 17, 184 => 16, 182 => 15, 177 => 14, 175 => 13, 172 => 12, 169 => 11, 166 => 10, 163 => 9, 160 => 8, 158 => 7, 146 => 6, 139 => 73, 134 => 72, 129 => 71, 122 => 70, 118 => 69, 115 => 68, 112 => 67, 104 => 84, 99 => 81, 96 => 80, 87 => 78, 83 => 77, 79 => 75, 76 => 67, 53 => 64, 50 => 63, 48 => 62, 45 => 61, 42 => 60, 39 => 59, 36 => 58, 32 => 1, 30 => 4, 28 => 3, 26 => 2, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends \"forms/field.html.twig\" %} +{% set defaults = config.plugins.form %} +{% set files = defaults.files|merge(field|default([])) %} +{% set limit = not field.multiple ? 1 : files.limit %} + +{% macro bytesToSize(bytes) -%} + {% spaceless %} + {% set kilobyte = 1024 %} + {% set megabyte = kilobyte * 1024 %} + {% set gigabyte = megabyte * 1024 %} + {% set terabyte = gigabyte * 1024 %} + + {% if bytes < kilobyte %} + {{ bytes ~ ' B' }} + {% elseif bytes < megabyte %} + {{ (bytes / kilobyte)|number_format(2, '.') ~ ' KB' }} + {% elseif bytes < gigabyte %} + {{ (bytes / megabyte)|number_format(2, '.') ~ ' MB' }} + {% elseif bytes < terabyte %} + {{ (bytes / gigabyte)|number_format(2, '.') ~ ' GB' }} + {% else %} + {{ (bytes / terabyte)|number_format(2, '.') ~ ' TB' }} + {% endif %} + {% endspaceless %} +{%- endmacro %} + +{% macro preview(path, value, global) %} + {% if value %} + {% set uri = global.grav.uri %} + {% set files = global.files %} + {% set config = global.grav.config %} + {% set route = global.context.route() %} + + {% set type = global.blueprint_type ? global.blueprint_type : global.admin.location ? global.admin.location : 'config' %} + + {% set blueprint_name = global.blueprints.getFilename %} + {% if type == 'pages' %} + {% set blueprint_name = type ~ '/' ~ blueprint_name %} + {% endif %} + {% set blueprint = base64_encode(blueprint_name) %} + {% set real_path = global.admin.getPagePathFromToken(path) %} + {% set remove = global.file_url_remove ? global.file_url_remove : (global.base_url_relative ~ '/media.json') %} + {% set remove = uri.addNonce( + remove ~ + '/route' ~ config.system.param_sep ~ base64_encode(global.base_path ~ '/' ~ real_path) ~ + '/task' ~ config.system.param_sep ~ 'removeFileFromBlueprint' ~ + '/proute' ~ config.system.param_sep ~ base64_encode(route) ~ + '/blueprint' ~ config.system.param_sep ~ blueprint ~ + '/type' ~ config.system.param_sep ~ type ~ + '/field' ~ config.system.param_sep ~ files.name ~ + '/path' ~ config.system.param_sep ~ base64_encode(value.path), 'admin-form', 'admin-nonce') %} + + {% set file = value|merge({remove: remove, path: (uri.rootUrl == '/' ? '/' : uri.rootUrl ~ '/' ~ real_path) }) %} +
                                                                  + {% endif %} +{% endmacro %} + +{% block input %} + {% set page_can_upload = exists or (type == 'page' and not exists and not (field.destination starts with '@self' or field.destination starts with 'self@')) %} + {% if type is not defined or page_can_upload %} + + {% set settings = {name: field.name, paramName: (scope ~ field.name)|fieldName ~ (files.multiple ? '[]' : ''), limit: limit, filesize: (config.system.media.upload_limit / 1024 / 1024), accept: files.accept} %} + +
                                                                  + + + {% for path, file in value %} + {{ _self.preview(path, file, _context) }} + {% endfor %} + {% include 'forms/fields/hidden/hidden.html.twig' with {field: {name: '_json.' ~ field.name}, value:value|raw|json_encode} %} +
                                                                  + + {% else %} + {{ \"PLUGIN_ADMIN.CANNOT_ADD_FILES_PAGE_NOT_SAVED\"|tu|raw }} + {% endif %} +{% endblock %} +", "forms/fields/file/file.html.twig", "/home/kevin/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/forms/fields/file/file.html.twig"); + } +} diff --git a/cache/twig/d4/d41c80ca21097269a6cf978a04c934034addda62f9fbf8c28b1a309a7e7cb349.php b/cache/twig/d4/d41c80ca21097269a6cf978a04c934034addda62f9fbf8c28b1a309a7e7cb349.php new file mode 100644 index 0000000..e8b0b48 --- /dev/null +++ b/cache/twig/d4/d41c80ca21097269a6cf978a04c934034addda62f9fbf8c28b1a309a7e7cb349.php @@ -0,0 +1,104 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + echo "
                                                                  +"; + // line 2 + if ($this->getAttribute(($context["field"] ?? null), "fields", array())) { + // line 3 + echo " "; + $context["cols"] = twig_length_filter($this->env, $this->getAttribute(($context["field"] ?? null), "fields", array())); + // line 4 + echo " "; + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute($context["field"], "fields", array())); + $context['loop'] = array( + 'parent' => $context['_parent'], + 'index0' => 0, + 'index' => 1, + 'first' => true, + ); + if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) { + $length = count($context['_seq']); + $context['loop']['revindex0'] = $length - 1; + $context['loop']['revindex'] = $length; + $context['loop']['length'] = $length; + $context['loop']['last'] = 1 === $length; + } + foreach ($context['_seq'] as $context["_key"] => $context["field"]) { + // line 5 + echo " "; + $this->loadTemplate(array(0 => (((("forms/fields/" . $this->getAttribute($context["field"], "type", array())) . "/") . $this->getAttribute($context["field"], "type", array())) . ".html.twig"), 1 => "forms/fields/column/column.html.twig"), "forms/fields/columns/columns.html.twig", 5)->display(array_merge($context, array("cols" => ($context["cols"] ?? null)))); + // line 6 + echo " "; + ++$context['loop']['index0']; + ++$context['loop']['index']; + $context['loop']['first'] = false; + if (isset($context['loop']['length'])) { + --$context['loop']['revindex0']; + --$context['loop']['revindex']; + $context['loop']['last'] = 0 === $context['loop']['revindex0']; + } + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['field'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + } + // line 8 + echo "
                                                                  + +"; + } + + public function getTemplateName() + { + return "forms/fields/columns/columns.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 63 => 8, 48 => 6, 45 => 5, 27 => 4, 24 => 3, 22 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("
                                                                  +{% if field.fields %} + {% set cols = field.fields|length %} + {% for field in field.fields %} + {% include [\"forms/fields/#{field.type}/#{field.type}.html.twig\", 'forms/fields/column/column.html.twig'] with {'cols':cols} %} + {% endfor %} +{% endif %} +
                                                                  + +", "forms/fields/columns/columns.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/forms/fields/columns/columns.html.twig"); + } +} diff --git a/cache/twig/d6/d68b20570ab91f74938b89dc64e4d522873986cef82f12af0589efb1ed69d40b.php b/cache/twig/d6/d68b20570ab91f74938b89dc64e4d522873986cef82f12af0589efb1ed69d40b.php new file mode 100644 index 0000000..3d06bd7 --- /dev/null +++ b/cache/twig/d6/d68b20570ab91f74938b89dc64e4d522873986cef82f12af0589efb1ed69d40b.php @@ -0,0 +1,101 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + echo "
                                                                  + +
                                                                  +
                                                                  +"; + } + + public function getTemplateName() + { + return "partials/list-sort.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 56 => 10, 49 => 9, 42 => 8, 36 => 7, 32 => 6, 27 => 4, 23 => 3, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("
                                                                  + +
                                                                  +
                                                                  +", "partials/list-sort.html.twig", "/home/kevin/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/list-sort.html.twig"); + } +} diff --git a/cache/twig/d6/d6af130f63ce9e2af25fb0f151a0d41030afc550f238cea774a510f840ea833d.php b/cache/twig/d6/d6af130f63ce9e2af25fb0f151a0d41030afc550f238cea774a510f840ea833d.php new file mode 100644 index 0000000..8cfd75a --- /dev/null +++ b/cache/twig/d6/d6af130f63ce9e2af25fb0f151a0d41030afc550f238cea774a510f840ea833d.php @@ -0,0 +1,309 @@ +parent = $this->loadTemplate("forms/field.html.twig", "forms/fields/toggle/toggle.html.twig", 1); + $this->blocks = array( + 'global_attributes' => array($this, 'block_global_attributes'), + 'input' => array($this, 'block_input'), + ); + } + + protected function doGetParent(array $context) + { + return "forms/field.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 3 + $context["value"] = (((null === ($context["value"] ?? null))) ? ($this->getAttribute(($context["field"] ?? null), "default", array())) : (($context["value"] ?? null))); + // line 4 + $context["value"] = (((($context["value"] ?? null) === false)) ? (0) : (($context["value"] ?? null))); + // line 6 + $context["has_hidden"] = false; + // line 7 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["field"] ?? null), "options", array())); + foreach ($context['_seq'] as $context["key"] => $context["text"]) { + // line 8 + if (twig_test_empty($context["key"])) { + // line 9 + $context["has_hidden"] = true; + } + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['key'], $context['text'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 1 + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 13 + public function block_global_attributes($context, array $blocks = array()) + { + // line 14 + echo " "; + $this->displayParentBlock("global_attributes", $context, $blocks); + echo " + data-grav-field-name=\""; + // line 15 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->fieldNameFilter((($context["scope"] ?? null) . $this->getAttribute(($context["field"] ?? null), "name", array()))), "html", null, true); + echo "\" +"; + } + + // line 23 + public function block_input($context, array $blocks = array()) + { + // line 24 + echo " +
                                                                  env, $this->getAttribute(($context["field"] ?? null), "size", array()), "html", null, true); + echo " switch-"; + echo twig_escape_filter($this->env, twig_length_filter($this->env, $this->getAttribute(($context["field"] ?? null), "options", array())), "html", null, true); + echo " "; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "classes", array()), "html", null, true); + echo "\"> + "; + // line 26 + $context["maxLen"] = 0; + // line 27 + echo " "; + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["field"] ?? null), "options", array())); + foreach ($context['_seq'] as $context["_key"] => $context["text"]) { + // line 28 + echo " "; + $context["translation"] = (($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["grav"] ?? null), "twig", array(), "any", false, true), "twig", array(), "any", false, true), "filters", array(), "any", false, true), "tu", array(), "array", true, true)) ? ($this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter($context["text"])) : ($this->env->getExtension('Grav\Common\Twig\TwigExtension')->translate($context["text"]))); + // line 29 + echo " "; + $context["maxLen"] = max(twig_length_filter($this->env, ($context["translation"] ?? null)), ($context["maxLen"] ?? null)); + // line 30 + echo " "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['text'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 31 + echo " + "; + // line 32 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["field"] ?? null), "options", array())); + foreach ($context['_seq'] as $context["key"] => $context["text"]) { + // line 33 + echo " "; + $context["id"] = (("toggle_" . $this->getAttribute(($context["field"] ?? null), "name", array())) . $context["key"]); + // line 34 + echo " "; + $context["translation"] = twig_trim_filter((($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["grav"] ?? null), "twig", array(), "any", false, true), "twig", array(), "any", false, true), "filters", array(), "any", false, true), "tu", array(), "array", true, true)) ? ($this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter($context["text"])) : ($this->env->getExtension('Grav\Common\Twig\TwigExtension')->translate($context["text"])))); + // line 35 + echo " + env, $context["key"], "html", null, true); + echo "\" + id=\""; + // line 38 + echo twig_escape_filter($this->env, ($context["id"] ?? null), "html", null, true); + echo "\" + name=\""; + // line 39 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->fieldNameFilter((($context["scope"] ?? null) . $this->getAttribute(($context["field"] ?? null), "name", array()))), "html", null, true); + echo "\" + "; + // line 40 + if ($this->getAttribute(($context["field"] ?? null), "highlight", array(), "any", true, true)) { + // line 41 + echo " class=\""; + echo ((($this->getAttribute(($context["field"] ?? null), "highlight", array()) == ("" . $context["key"]))) ? ("highlight") : ("")); + echo "\" + "; + } + // line 43 + echo " "; + if (($this->getAttribute(($context["field"] ?? null), "disabled", array()) || ($context["isDisabledToggleable"] ?? null))) { + echo "disabled=\"disabled\""; + } + // line 44 + echo " "; + if ($this->getAttribute(($context["field"] ?? null), "toggleable", array())) { + // line 45 + echo " "; + if ((("" . $context["key"]) == ("" . ($context["value"] ?? null)))) { + // line 46 + echo " checked=\"checked\" + "; + } elseif (( // line 47 +array_key_exists("value", $context) && (($context["key"] == 1) || ($context["key"] == "1")))) { + // line 48 + echo " checked=\"checked\" + "; + } + // line 50 + echo " "; + } else { + // line 51 + echo " "; + if ((("" . $context["key"]) == ("" . ($context["value"] ?? null)))) { + // line 52 + echo " checked=\"checked\" + "; + } + // line 54 + echo " "; + } + // line 55 + echo " "; + if (twig_in_filter($this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "required", array()), array(0 => "on", 1 => "true", 2 => 1))) { + echo "required=\"required\""; + } + // line 56 + echo " /> + + "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['key'], $context['text'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 59 + echo "
                                                                  +"; + } + + // line 18 + public function getspanToggle($__input__ = null, $__length__ = null, ...$__varargs__) + { + $context = $this->env->mergeGlobals(array( + "input" => $__input__, + "length" => $__length__, + "varargs" => $__varargs__, + )); + + $blocks = array(); + + ob_start(); + try { + // line 19 + echo " "; + $context["space"] = $this->env->getExtension('Grav\Common\Twig\TwigExtension')->repeatFunc("  ", ((($context["length"] ?? null) - twig_length_filter($this->env, ($context["input"] ?? null))) / 2)); + // line 20 + echo " "; + echo ((($context["space"] ?? null) . ($context["input"] ?? null)) . ($context["space"] ?? null)); + echo " +"; + } catch (Exception $e) { + ob_end_clean(); + + throw $e; + } catch (Throwable $e) { + ob_end_clean(); + + throw $e; + } + + return ('' === $tmp = ob_get_clean()) ? '' : new Twig_Markup($tmp, $this->env->getCharset()); + } + + public function getTemplateName() + { + return "forms/fields/toggle/toggle.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 205 => 20, 202 => 19, 189 => 18, 184 => 59, 174 => 57, 171 => 56, 166 => 55, 163 => 54, 159 => 52, 156 => 51, 153 => 50, 149 => 48, 147 => 47, 144 => 46, 141 => 45, 138 => 44, 133 => 43, 127 => 41, 125 => 40, 121 => 39, 117 => 38, 113 => 37, 109 => 35, 106 => 34, 103 => 33, 99 => 32, 96 => 31, 90 => 30, 87 => 29, 84 => 28, 79 => 27, 77 => 26, 69 => 25, 66 => 24, 63 => 23, 57 => 15, 52 => 14, 49 => 13, 45 => 1, 38 => 9, 36 => 8, 32 => 7, 30 => 6, 28 => 4, 26 => 3, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends \"forms/field.html.twig\" %} + +{% set value = (value is null ? field.default : value) %} +{% set value = (value is same as(false) ? 0 : value) %} + +{% set has_hidden = false %} +{% for key, text in field.options %} + {% if key is empty %} + {% set has_hidden = true %} + {% endif %} +{% endfor %} + +{% block global_attributes %} + {{ parent() }} + data-grav-field-name=\"{{ (scope ~ field.name)|fieldName }}\" +{% endblock %} + +{% macro spanToggle(input, length) %} + {% set space = repeat('  ', (length - input|length) / 2) %} + {{ (space ~ input ~ space)|raw }} +{% endmacro %} + +{% block input %} + +
                                                                  + {% set maxLen = 0 %} + {% for text in field.options %} + {% set translation = grav.twig.twig.filters['tu'] is defined ? text|tu : text|t %} + {% set maxLen = max(translation|length, maxLen) %} + {% endfor %} + + {% for key, text in field.options %} + {% set id = \"toggle_\" ~ field.name ~ key %} + {% set translation = (grav.twig.twig.filters['tu'] is defined ? text|tu : text|t)|trim %} + + + + {% endfor %} +
                                                                  +{% endblock %} +", "forms/fields/toggle/toggle.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/forms/fields/toggle/toggle.html.twig"); + } +} diff --git a/cache/twig/da/dab20ec36a7b52270a47f67ec166359ea8e95b09fdc42c3096e7daf3e253b4c8.php b/cache/twig/da/dab20ec36a7b52270a47f67ec166359ea8e95b09fdc42c3096e7daf3e253b4c8.php new file mode 100644 index 0000000..8b5ae4b --- /dev/null +++ b/cache/twig/da/dab20ec36a7b52270a47f67ec166359ea8e95b09fdc42c3096e7daf3e253b4c8.php @@ -0,0 +1,811 @@ +parent = $this->loadTemplate("forms/field.html.twig", "forms/fields/list/list.html.twig", 1); + $this->blocks = array( + 'contents' => array($this, 'block_contents'), + 'global_attributes' => array($this, 'block_global_attributes'), + '__internal_fa367a566ec58bda83f7abdb372be4a69271c84232c5182b50529b9a3a7d944c' => array($this, 'block___internal_fa367a566ec58bda83f7abdb372be4a69271c84232c5182b50529b9a3a7d944c'), + ); + } + + protected function doGetParent(array $context) + { + return "forms/field.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 3 + $context["value"] = (((null === ($context["value"] ?? null))) ? ($this->getAttribute(($context["field"] ?? null), "default", array())) : (($context["value"] ?? null))); + // line 4 + $context["name"] = $this->getAttribute(($context["field"] ?? null), "name", array()); + // line 5 + $context["btnLabel"] = (($this->getAttribute(($context["field"] ?? null), "btnLabel", array(), "any", true, true)) ? ($this->getAttribute(($context["field"] ?? null), "btnLabel", array())) : ("PLUGIN_ADMIN.ADD_ITEM")); + // line 6 + $context["btnSortLabel"] = (($this->getAttribute(($context["field"] ?? null), "btnSortLabel", array(), "any", true, true)) ? ($this->getAttribute(($context["field"] ?? null), "btnSortLabel", array())) : ("PLUGIN_ADMIN.SORT_BY")); + // line 7 + $context["fieldControls"] = (($this->getAttribute(($context["field"] ?? null), "controls", array(), "any", true, true)) ? (_twig_default_filter($this->getAttribute(($context["field"] ?? null), "controls", array()), "bottom")) : ("bottom")); + // line 1 + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 9 + public function block_contents($context, array $blocks = array()) + { + // line 10 + echo "
                                                                  + "; + // line 11 + if ($this->getAttribute(($context["field"] ?? null), "toggleable", array())) { + // line 12 + echo " env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->fieldNameFilter((($context["scope"] ?? null) . $this->getAttribute(($context["field"] ?? null), "name", array()))), "html", null, true); + echo "\"> + env, $this->getAttribute(($context["field"] ?? null), "name", array()), "html", null, true); + echo "\" + "; + // line 15 + if (($context["toggleableChecked"] ?? null)) { + echo "value=\"1\""; + } + // line 16 + echo " name=\"toggleable_"; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->fieldNameFilter((($context["scope"] ?? null) . $this->getAttribute(($context["field"] ?? null), "name", array()))), "html", null, true); + echo "\" + "; + // line 17 + if (($context["toggleableChecked"] ?? null)) { + echo "checked=\"checked\""; + } + // line 18 + echo " > + + + "; + } + // line 22 + echo " getAttribute(($context["field"] ?? null), "toggleable", array())) ? (((" class=\"toggleable\" for=\"toggleable_" . $this->getAttribute(($context["field"] ?? null), "name", array())) . "\"")) : ("")); + echo "> + "; + // line 23 + if ($this->getAttribute(($context["field"] ?? null), "help", array())) { + // line 24 + echo " env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter(twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "help", array()))), "html", null, true); + echo "\">"; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter($this->getAttribute(($context["field"] ?? null), "label", array())), "html", null, true); + echo " + "; + } else { + // line 26 + echo " "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter($this->getAttribute(($context["field"] ?? null), "label", array())), "html", null, true); + echo " + "; + } + // line 28 + echo " "; + echo ((twig_in_filter($this->getAttribute($this->getAttribute(($context["field"] ?? null), "validate", array()), "required", array()), array(0 => "on", 1 => "true", 2 => 1))) ? ("*") : ("")); + echo " + +
                                                                  +
                                                                  displayBlock('global_attributes', $context, $blocks); + // line 37 + echo " > + +
                                                                  env, $this->getAttribute(($context["field"] ?? null), "size", array()), "html", null, true); + echo "\" data-type=\"collection\" + "; + // line 40 + if ($this->getAttribute(($context["field"] ?? null), "selectunique", array())) { + // line 41 + echo " data-select-unique=\""; + echo twig_escape_filter($this->env, twig_jsonencode_filter($this->getAttribute(($context["field"] ?? null), "selectunique", array())), "html_attr"); + echo "\" + data-max=\""; + // line 42 + echo twig_escape_filter($this->env, twig_length_filter($this->env, $this->getAttribute(($context["field"] ?? null), "selectunique", array())), "html", null, true); + echo "\" + "; + } + // line 44 + echo " "; + if ($this->getAttribute(($context["field"] ?? null), "min", array(), "any", true, true)) { + echo "data-min=\""; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "min", array()), "html", null, true); + echo "\""; + } + // line 45 + echo " "; + if (($this->getAttribute(($context["field"] ?? null), "max", array(), "any", true, true) && !$this->getAttribute(($context["field"] ?? null), "selectunique", array()))) { + echo "data-max=\""; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "max", array()), "html", null, true); + echo "\""; + } + // line 46 + echo " > + "; + // line 47 + if (twig_in_filter(($context["fieldControls"] ?? null), array(0 => "top", 1 => "both"))) { + // line 48 + echo "
                                                                  env, ($context["value"] ?? null))) ? (" hidden") : ("")); + echo "\"> + + + "; + // line 53 + if ($this->getAttribute(($context["field"] ?? null), "sortby", array())) { + // line 54 + echo " + "; + } + // line 57 + echo " +
                                                                  + "; + } + // line 61 + echo "
                                                                    getAttribute(($context["field"] ?? null), "classes", array(), "any", true, true)) { + echo "class=\""; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "classes", array()), "html", null, true); + echo "\""; + } + echo " data-collection-holder=\""; + echo twig_escape_filter($this->env, ($context["name"] ?? null), "html", null, true); + echo "\" + "; + // line 62 + if (($this->getAttribute(($context["field"] ?? null), "sort", array()) === false)) { + // line 63 + echo " data-collection-nosort + "; + } + // line 64 + echo "> + "; + // line 65 + if ($this->getAttribute(($context["field"] ?? null), "fields", array())) { + // line 66 + echo " "; + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable(($context["value"] ?? null)); + $context['loop'] = array( + 'parent' => $context['_parent'], + 'index0' => 0, + 'index' => 1, + 'first' => true, + ); + if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) { + $length = count($context['_seq']); + $context['loop']['revindex0'] = $length - 1; + $context['loop']['revindex'] = $length; + $context['loop']['length'] = $length; + $context['loop']['last'] = 1 === $length; + } + foreach ($context['_seq'] as $context["key"] => $context["val"]) { + // line 67 + echo " "; + $context["itemName"] = ((($context["name"] ?? null)) ? (((($context["name"] ?? null) . ".") . $context["key"])) : ($context["key"])); + // line 68 + echo "
                                                                  • env, ($context["itemName"] ?? null), "html", null, true); + echo "\" data-collection-key=\""; + echo twig_escape_filter($this->env, $context["key"], "html", null, true); + echo "\" class=\""; + echo (((( !$this->getAttribute(($context["field"] ?? null), "collapsible", array(), "any", true, true) || $this->getAttribute(($context["field"] ?? null), "collapsible", array())) && $this->getAttribute(($context["field"] ?? null), "collapsed", array()))) ? ("collection-collapsed") : ("")); + echo "\"> +
                                                                    + "; + // line 70 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["field"] ?? null), "fields", array())); + $context['loop'] = array( + 'parent' => $context['_parent'], + 'index0' => 0, + 'index' => 1, + 'first' => true, + ); + if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) { + $length = count($context['_seq']); + $context['loop']['revindex0'] = $length - 1; + $context['loop']['revindex'] = $length; + $context['loop']['length'] = $length; + $context['loop']['last'] = 1 === $length; + } + foreach ($context['_seq'] as $context["childName"] => $context["child"]) { + // line 71 + echo " "; + if ((is_string($__internal_004f109a1dedba3b99942a2e2f50dedbd8d4e54e41a52c0baf829c07b95da843 = $context["childName"]) && is_string($__internal_588207aa49ca2b7de9a005ace90cc6a700160f109d3bc705e814ac969e54bd49 = ".") && ('' === $__internal_588207aa49ca2b7de9a005ace90cc6a700160f109d3bc705e814ac969e54bd49 || 0 === strpos($__internal_004f109a1dedba3b99942a2e2f50dedbd8d4e54e41a52c0baf829c07b95da843, $__internal_588207aa49ca2b7de9a005ace90cc6a700160f109d3bc705e814ac969e54bd49)))) { + // line 72 + echo " "; + $context["childKey"] = twig_trim_filter($context["childName"], "."); + // line 73 + echo " "; + $context["childValue"] = $this->getAttribute($context["val"], twig_slice($this->env, $context["childName"], 1, null), array(), "array"); + // line 74 + echo " "; + $context["childName"] = (($context["itemName"] ?? null) . $context["childName"]); + // line 75 + echo " "; + } else { + // line 76 + echo " "; + $context["childKey"] = $context["childName"]; + // line 77 + echo " "; + $context["childValue"] = $this->getAttribute(($context["data"] ?? null), "value", array(0 => (($context["scope"] ?? null) . $context["childName"])), "method"); + // line 78 + echo " "; + $context["childName"] = twig_replace_filter($context["childName"], array("*" => $context["key"])); + // line 79 + echo " "; + } + // line 80 + echo " "; + $context["child"] = twig_array_merge($context["child"], array("name" => $context["childName"])); + // line 81 + echo " + "; + // line 82 + if (($this->getAttribute($context["child"], "type", array()) == "key")) { + // line 83 + echo " "; + // line 84 + $this->loadTemplate("forms/fields/key/key.html.twig", "forms/fields/list/list.html.twig", 84)->display(array_merge($context, array("field" => // line 85 +$context["child"], "value" => $context["key"]))); + // line 87 + echo " "; + } elseif (($this->getAttribute($context["child"], "key", array()) == true)) { + // line 88 + echo " "; + $this->loadTemplate(array(0 => (((("forms/fields/" . $this->getAttribute( // line 89 +$context["child"], "type", array())) . "/") . $this->getAttribute($context["child"], "type", array())) . ".html.twig"), 1 => "forms/fields/key/key.html.twig"), "forms/fields/list/list.html.twig", 88)->display(array_merge($context, array("field" => // line 91 +$context["child"], "value" => $context["key"]))); + // line 93 + echo " "; + } elseif ($this->getAttribute($context["child"], "type", array())) { + // line 94 + echo " "; + $context["originalValue"] = ($context["childValue"] ?? null); + // line 95 + echo " "; + // line 96 + $this->loadTemplate(array(0 => (((("forms/fields/" . $this->getAttribute( // line 97 +$context["child"], "type", array())) . "/") . $this->getAttribute($context["child"], "type", array())) . ".html.twig"), 1 => "forms/fields/text/text.html.twig"), "forms/fields/list/list.html.twig", 96)->display(array_merge($context, array("field" => // line 99 +$context["child"], "value" => ($context["childValue"] ?? null)))); + // line 101 + echo " "; + } + // line 102 + echo " "; + ++$context['loop']['index0']; + ++$context['loop']['index']; + $context['loop']['first'] = false; + if (isset($context['loop']['length'])) { + --$context['loop']['revindex0']; + --$context['loop']['revindex']; + $context['loop']['last'] = 0 === $context['loop']['revindex0']; + } + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['childName'], $context['child'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 103 + echo "
                                                                    + "; + // line 104 + if (( !$this->getAttribute(($context["field"] ?? null), "collapsible", array(), "any", true, true) || $this->getAttribute(($context["field"] ?? null), "collapsible", array()))) { + // line 105 + echo " getAttribute(($context["field"] ?? null), "collapsed", array())) ? ("right") : ("down")); + echo "\" data-action=\""; + echo (($this->getAttribute(($context["field"] ?? null), "collapsed", array())) ? ("expand") : ("collapse")); + echo "\"> +
                                                                    + "; + } + // line 108 + echo " +
                                                                    +
                                                                  • + "; + ++$context['loop']['index0']; + ++$context['loop']['index']; + $context['loop']['first'] = false; + if (isset($context['loop']['length'])) { + --$context['loop']['revindex0']; + --$context['loop']['revindex']; + $context['loop']['last'] = 0 === $context['loop']['revindex0']; + } + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['key'], $context['val'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 112 + echo " "; + } + // line 113 + echo "
                                                                  + "; + // line 114 + if (twig_in_filter(($context["fieldControls"] ?? null), array(0 => "bottom", 1 => "both"))) { + // line 115 + echo "
                                                                  + "; + // line 116 + if (( !$this->getAttribute(($context["field"] ?? null), "collapsible", array(), "any", true, true) || $this->getAttribute(($context["field"] ?? null), "collapsible", array()))) { + // line 117 + echo " + + "; + } + // line 122 + echo " "; + if ($this->getAttribute(($context["field"] ?? null), "sortby", array())) { + // line 123 + echo " + "; + } + // line 126 + echo " +
                                                                  + "; + } + // line 131 + $context["itemName"] = ((($context["name"] ?? null)) ? ((($context["name"] ?? null) . ".*")) : ("*")); + // line 132 + echo "
                                                                  env, twig_replace_filter( $this->renderBlock("__internal_fa367a566ec58bda83f7abdb372be4a69271c84232c5182b50529b9a3a7d944c", $context, $blocks), array(" " => " ", " +" => " ")), "html_attr"); + // line 178 + echo "\">
                                                                  + +
                                                                  env, ($context["name"] ?? null), "html", null, true); + echo "\">
                                                                  +
                                                                  +
                                                                  +"; + } + + // line 32 + public function block_global_attributes($context, array $blocks = array()) + { + // line 33 + echo " data-grav-field=\""; + echo twig_escape_filter($this->env, $this->getAttribute(($context["field"] ?? null), "type", array()), "html", null, true); + echo "\" + data-grav-disabled=\""; + // line 34 + echo twig_escape_filter($this->env, ($context["toggleableChecked"] ?? null), "html", null, true); + echo "\" + data-grav-default=\""; + // line 35 + echo twig_escape_filter($this->env, twig_jsonencode_filter($this->getAttribute(($context["field"] ?? null), "default", array())), "html_attr"); + echo "\" + "; + } + + // line 132 + public function block___internal_fa367a566ec58bda83f7abdb372be4a69271c84232c5182b50529b9a3a7d944c($context, array $blocks = array()) + { + // line 133 + echo "
                                                                • env, ($context["itemName"] ?? null), "html", null, true); + echo "\"> + "; + // line 134 + if ( !($this->getAttribute(($context["field"] ?? null), "sort", array()) === false)) { + // line 135 + echo "
                                                                  + "; + } + // line 137 + if ($this->getAttribute(($context["field"] ?? null), "fields", array())) { + // line 138 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["field"] ?? null), "fields", array())); + $context['loop'] = array( + 'parent' => $context['_parent'], + 'index0' => 0, + 'index' => 1, + 'first' => true, + ); + if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) { + $length = count($context['_seq']); + $context['loop']['revindex0'] = $length - 1; + $context['loop']['revindex'] = $length; + $context['loop']['length'] = $length; + $context['loop']['last'] = 1 === $length; + } + foreach ($context['_seq'] as $context["childName"] => $context["child"]) { + // line 139 + if ((is_string($__internal_852c17c1704693e7c6e9af566f2e623f6796c522f1770732de468704aafec224 = $context["childName"]) && is_string($__internal_1fd3117e41976d0a6cfeb2f5794dd66c10aba38cd2269d0a81184a3af2dfa5f6 = ".") && ('' === $__internal_1fd3117e41976d0a6cfeb2f5794dd66c10aba38cd2269d0a81184a3af2dfa5f6 || 0 === strpos($__internal_852c17c1704693e7c6e9af566f2e623f6796c522f1770732de468704aafec224, $__internal_1fd3117e41976d0a6cfeb2f5794dd66c10aba38cd2269d0a81184a3af2dfa5f6)))) { + // line 140 + $context["childKey"] = twig_trim_filter($context["childName"], "."); + // line 141 + $context["childName"] = (($context["itemName"] ?? null) . $context["childName"]); + } else { + // line 143 + $context["childKey"] = $context["childName"]; + // line 144 + $context["childName"] = twig_replace_filter($context["childName"], array("*" => ($context["key"] ?? null))); + } + // line 146 + $context["child"] = twig_array_merge($context["child"], array("name" => $context["childName"])); + // line 148 + if (($this->getAttribute($context["child"], "type", array()) == "key")) { + // line 150 + $this->loadTemplate("forms/fields/key/key.html.twig", "forms/fields/list/list.html.twig", 150)->display(array_merge($context, array("field" => // line 151 +$context["child"], "value" => null))); + } elseif (($this->getAttribute( // line 153 +$context["child"], "key", array()) == true)) { + // line 155 + $this->loadTemplate(array(0 => (((("forms/fields/" . $this->getAttribute( // line 156 +$context["child"], "type", array())) . "/") . $this->getAttribute($context["child"], "type", array())) . ".html.twig"), 1 => "forms/fields/key/key.html.twig"), "forms/fields/list/list.html.twig", 155)->display(array_merge($context, array("field" => // line 158 +$context["child"], "value" => null))); + } elseif ($this->getAttribute( // line 160 +$context["child"], "type", array())) { + // line 162 + $this->loadTemplate(array(0 => (((("forms/fields/" . $this->getAttribute( // line 163 +$context["child"], "type", array())) . "/") . $this->getAttribute($context["child"], "type", array())) . ".html.twig"), 1 => "forms/fields/text/text.html.twig"), "forms/fields/list/list.html.twig", 162)->display(array_merge($context, array("field" => // line 165 +$context["child"], "value" => null))); + } + ++$context['loop']['index0']; + ++$context['loop']['index']; + $context['loop']['first'] = false; + if (isset($context['loop']['length'])) { + --$context['loop']['revindex0']; + --$context['loop']['revindex']; + $context['loop']['last'] = 0 === $context['loop']['revindex0']; + } + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['childName'], $context['child'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 169 + echo "
                                                                  + "; + // line 170 + if (( !$this->getAttribute(($context["field"] ?? null), "collapsible", array(), "any", true, true) || $this->getAttribute(($context["field"] ?? null), "collapsible", array()))) { + // line 171 + echo " +
                                                                  + "; + } + // line 174 + echo " +
                                                                  "; + } + // line 177 + echo "
                                                                • "; + } + + public function getTemplateName() + { + return "forms/fields/list/list.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 597 => 177, 593 => 174, 588 => 171, 586 => 170, 583 => 169, 568 => 165, 567 => 163, 566 => 162, 564 => 160, 562 => 158, 561 => 156, 560 => 155, 558 => 153, 556 => 151, 555 => 150, 553 => 148, 551 => 146, 548 => 144, 546 => 143, 543 => 141, 541 => 140, 539 => 139, 522 => 138, 520 => 137, 516 => 135, 514 => 134, 509 => 133, 506 => 132, 500 => 35, 496 => 34, 491 => 33, 488 => 32, 480 => 180, 476 => 178, 472 => 132, 470 => 131, 460 => 127, 457 => 126, 444 => 124, 435 => 123, 432 => 122, 423 => 120, 414 => 118, 411 => 117, 409 => 116, 406 => 115, 404 => 114, 401 => 113, 398 => 112, 381 => 108, 372 => 105, 370 => 104, 367 => 103, 353 => 102, 350 => 101, 348 => 99, 347 => 97, 346 => 96, 344 => 95, 341 => 94, 338 => 93, 336 => 91, 335 => 89, 333 => 88, 330 => 87, 328 => 85, 327 => 84, 325 => 83, 323 => 82, 320 => 81, 317 => 80, 314 => 79, 311 => 78, 308 => 77, 305 => 76, 302 => 75, 299 => 74, 296 => 73, 293 => 72, 290 => 71, 273 => 70, 263 => 68, 260 => 67, 242 => 66, 240 => 65, 237 => 64, 233 => 63, 231 => 62, 220 => 61, 210 => 58, 207 => 57, 194 => 55, 185 => 54, 183 => 53, 175 => 52, 166 => 50, 160 => 48, 158 => 47, 155 => 46, 148 => 45, 141 => 44, 136 => 42, 131 => 41, 129 => 40, 125 => 39, 121 => 37, 119 => 32, 113 => 31, 106 => 28, 100 => 26, 92 => 24, 90 => 23, 85 => 22, 79 => 19, 76 => 18, 72 => 17, 67 => 16, 63 => 15, 59 => 14, 53 => 12, 51 => 11, 44 => 10, 41 => 9, 37 => 1, 35 => 7, 33 => 6, 31 => 5, 29 => 4, 27 => 3, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends \"forms/field.html.twig\" %} + +{% set value = (value is null ? field.default : value) %} +{% set name = field.name %} +{% set btnLabel = field.btnLabel is defined ? field.btnLabel : \"PLUGIN_ADMIN.ADD_ITEM\" %} +{% set btnSortLabel = field.btnSortLabel is defined ? field.btnSortLabel : \"PLUGIN_ADMIN.SORT_BY\" %} +{% set fieldControls = field.controls|default('bottom') %} + +{% block contents %} +
                                                                  + {% if field.toggleable %} + + + + + {% endif %} + + {% if field.help %} + {{ field.label|tu }} + {% else %} + {{ field.label|tu }} + {% endif %} + {{ field.validate.required in ['on', 'true', 1] ? '*' }} + +
                                                                  +
                                                                  + +
                                                                  + {% if fieldControls in ['top', 'both'] %} +
                                                                  + + + {% if field.sortby %} + + {% endif %} + +
                                                                  + {% endif %} +
                                                                    + {% if field.fields %} + {% for key, val in value %} + {% set itemName = name ? name ~ '.' ~ key : key %} +
                                                                  • +
                                                                    + {% for childName, child in field.fields %} + {% if childName starts with '.' %} + {% set childKey = childName|trim('.') %} + {% set childValue = val[childName[1:]] %} + {% set childName = itemName ~ childName %} + {% else %} + {% set childKey = childName %} + {% set childValue = data.value(scope ~ childName) %} + {% set childName = childName|replace({'*': key}) %} + {% endif %} + {% set child = child|merge({ name: childName }) %} + + {% if child.type == 'key' %} + {% + include 'forms/fields/key/key.html.twig' + with { field: child, value: key } + %} + {% elseif child.key == true %} + {% include [ + \"forms/fields/#{child.type}/#{child.type}.html.twig\", + 'forms/fields/key/key.html.twig' + ] with { field: child, value: key } + %} + {% elseif child.type %} + {% set originalValue = childValue %} + {% + include [ + \"forms/fields/#{child.type}/#{child.type}.html.twig\", + 'forms/fields/text/text.html.twig' + ] with { field: child, value: childValue } + %} + {% endif %} + {% endfor %} +
                                                                    + {% if field.collapsible is not defined or field.collapsible %} + +
                                                                    + {% endif %} + +
                                                                    +
                                                                  • + {% endfor %} + {% endif %} +
                                                                  + {% if fieldControls in ['bottom', 'both'] %} +
                                                                  + {% if field.collapsible is not defined or field.collapsible %} + + + {% endif %} + {% if field.sortby %} + + {% endif %} + +
                                                                  + {% endif %} + + {%- set itemName = name ? name ~ '.*' : '*' -%} +
                                                                  + {% if field.sort is not same as(false) %} +
                                                                  + {% endif %} + {%- if field.fields -%} + {%- for childName, child in field.fields -%} + {%- if childName starts with '.' -%} + {%- set childKey = childName|trim('.') -%} + {%- set childName = itemName ~ childName -%} + {%- else %} + {%- set childKey = childName -%} + {%- set childName = childName|replace({'*': key}) -%} + {%- endif %} + {%- set child = child|merge({ name: childName }) -%} + + {%- if child.type == 'key' -%} + {%- + include 'forms/fields/key/key.html.twig' + with { field: child, value: null } + -%} + {%- elseif child.key == true -%} + {%- + include [ + \"forms/fields/#{child.type}/#{child.type}.html.twig\", + 'forms/fields/key/key.html.twig' + ] with { field: child, value: null } + -%} + {%- elseif child.type -%} + {%- + include [ + \"forms/fields/#{child.type}/#{child.type}.html.twig\", + 'forms/fields/text/text.html.twig' + ] with { field: child, value: null } + -%} + {%- endif -%} + {%- endfor %} +
                                                                  + {% if field.collapsible is not defined or field.collapsible %} + +
                                                                  + {% endif %} + +
                                                                  + {%- endif -%} + + {%- endfilter -%}\">
                                                                  + +
                                                                  +
                                                                  +
                                                                  +{% endblock %} + +", "forms/fields/list/list.html.twig", "/home/kevin/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/forms/fields/list/list.html.twig"); + } +} diff --git a/cache/twig/df/df835f321be51afeb87ddb460bf279876ed2a9bb5a0550f92dbb1441b2134074.php b/cache/twig/df/df835f321be51afeb87ddb460bf279876ed2a9bb5a0550f92dbb1441b2134074.php new file mode 100644 index 0000000..7d82914 --- /dev/null +++ b/cache/twig/df/df835f321be51afeb87ddb460bf279876ed2a9bb5a0550f92dbb1441b2134074.php @@ -0,0 +1,75 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + echo "getAttribute(($context["field"] ?? null), "disabled", array()) || ($context["isDisabledToggleable"] ?? null))) { + echo "disabled=\"disabled\""; + } + // line 7 + echo " name=\""; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->fieldNameFilter((($context["scope"] ?? null) . $this->getAttribute(($context["field"] ?? null), "name", array()))), "html", null, true); + echo "\" + value=\""; + // line 8 + echo twig_escape_filter($this->env, $this->getAttribute(($context["blueprints"] ?? null), "name", array()), "html", null, true); + echo "\" /> +"; + } + + public function getTemplateName() + { + return "forms/fields/blueprint/blueprint.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 35 => 8, 30 => 7, 26 => 6, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source(" +", "forms/fields/blueprint/blueprint.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/forms/fields/blueprint/blueprint.html.twig"); + } +} diff --git a/cache/twig/df/dff720ade6169bc0a60d6febe5623bfe07ea1ac0c971020e27be33916124f114.php b/cache/twig/df/dff720ade6169bc0a60d6febe5623bfe07ea1ac0c971020e27be33916124f114.php new file mode 100644 index 0000000..b8e1a88 --- /dev/null +++ b/cache/twig/df/dff720ade6169bc0a60d6febe5623bfe07ea1ac0c971020e27be33916124f114.php @@ -0,0 +1,171 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + echo "
                                                                    +"; + // line 2 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["langswitcher"] ?? null), "languages", array())); + foreach ($context['_seq'] as $context["_key"] => $context["language"]) { + // line 3 + echo " + "; + // line 4 + $context["show_language"] = true; + // line 5 + echo " "; + if (($context["language"] == $this->getAttribute(($context["langswitcher"] ?? null), "current", array()))) { + // line 6 + echo " "; + $context["lang_url"] = $this->getAttribute(($context["page"] ?? null), "url", array()); + // line 7 + echo " "; + $context["active_class"] = " active"; + // line 8 + echo " "; + } else { + // line 9 + echo " "; + $context["base_lang_url"] = (($context["base_url_simple"] ?? null) . $this->getAttribute($this->getAttribute(($context["grav"] ?? null), "language", array()), "getLanguageURLPrefix", array(0 => $context["language"]), "method")); + // line 10 + echo " "; + $context["lang_url"] = ((($context["base_lang_url"] ?? null) . $this->getAttribute(($context["langswitcher"] ?? null), "page_route", array())) . $this->getAttribute(($context["page"] ?? null), "urlExtension", array())); + // line 11 + echo " "; + $context["untranslated_pages_behavior"] = $this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["grav"] ?? null), "config", array()), "plugins", array()), "langswitcher", array()), "untranslated_pages_behavior", array()); + // line 12 + echo " "; + if ((($context["untranslated_pages_behavior"] ?? null) != "none")) { + // line 13 + echo " "; + $context["translated_page"] = $this->getAttribute($this->getAttribute(($context["langswitcher"] ?? null), "translated_pages", array()), $context["language"], array(), "array"); + // line 14 + echo " "; + if (( !($context["translated_page"] ?? null) || !$this->getAttribute(($context["translated_page"] ?? null), "published", array()))) { + // line 15 + echo " "; + if ((($context["untranslated_pages_behavior"] ?? null) == "redirect")) { + // line 16 + echo " "; + $context["lang_url"] = (($context["base_lang_url"] ?? null) . "/"); + // line 17 + echo " "; + } elseif ((($context["untranslated_pages_behavior"] ?? null) == "hide")) { + // line 18 + echo " "; + $context["show_language"] = false; + // line 19 + echo " "; + } + // line 20 + echo " "; + } + // line 21 + echo " "; + } + // line 22 + echo " "; + $context["active_class"] = ""; + // line 23 + echo " "; + } + // line 24 + echo " + "; + // line 25 + if (($context["show_language"] ?? null)) { + // line 26 + echo "
                                                                  • getAttribute(($context["uri"] ?? null), "params", array())); + echo "\" class=\"external"; + echo ($context["active_class"] ?? null); + echo "\">"; + echo twig_capitalize_string_filter($this->env, call_user_func_array($this->env->getFunction('native_name')->getCallable(), array($context["language"]))); + echo "
                                                                  • + "; + } + // line 28 + echo " +"; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['language'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 30 + echo "
                                                                  +"; + } + + public function getTemplateName() + { + return "partials/langswitcher.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 110 => 30, 103 => 28, 93 => 26, 91 => 25, 88 => 24, 85 => 23, 82 => 22, 79 => 21, 76 => 20, 73 => 19, 70 => 18, 67 => 17, 64 => 16, 61 => 15, 58 => 14, 55 => 13, 52 => 12, 49 => 11, 46 => 10, 43 => 9, 40 => 8, 37 => 7, 34 => 6, 31 => 5, 29 => 4, 26 => 3, 22 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("
                                                                    +{% for language in langswitcher.languages %} + + {% set show_language = true %} + {% if language == langswitcher.current %} + {% set lang_url = page.url %} + {% set active_class = ' active' %} + {% else %} + {% set base_lang_url = base_url_simple ~ grav.language.getLanguageURLPrefix(language) %} + {% set lang_url = base_lang_url ~ langswitcher.page_route ~ page.urlExtension %} + {% set untranslated_pages_behavior = grav.config.plugins.langswitcher.untranslated_pages_behavior %} + {% if untranslated_pages_behavior != 'none' %} + {% set translated_page = langswitcher.translated_pages[language] %} + {% if (not translated_page) or (not translated_page.published) %} + {% if untranslated_pages_behavior == 'redirect' %} + {% set lang_url = base_lang_url ~ '/' %} + {% elseif untranslated_pages_behavior == 'hide' %} + {% set show_language = false %} + {% endif %} + {% endif %} + {% endif %} + {% set active_class = '' %} + {% endif %} + + {% if show_language %} +
                                                                  • {{ native_name(language)|capitalize }}
                                                                  • + {% endif %} + +{% endfor %} +
                                                                  +", "partials/langswitcher.html.twig", "/home/kevin/Sites/static-ethica.net/user/plugins/langswitcher/templates/partials/langswitcher.html.twig"); + } +} diff --git a/cache/twig/e2/e2fa6490ae1f5519abd906825c1f45188fec02a6ab1419fc50159bb44d88e469.php b/cache/twig/e2/e2fa6490ae1f5519abd906825c1f45188fec02a6ab1419fc50159bb44d88e469.php new file mode 100644 index 0000000..b1c5d70 --- /dev/null +++ b/cache/twig/e2/e2fa6490ae1f5519abd906825c1f45188fec02a6ab1419fc50159bb44d88e469.php @@ -0,0 +1,93 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + echo "
                                                                  + You are offline +
                                                                  + +"; + } + + public function getTemplateName() + { + return "partials/nav-user-details.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 45 => 10, 37 => 9, 33 => 7, 31 => 6, 25 => 5, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("
                                                                  + You are offline +
                                                                  + +", "partials/nav-user-details.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/nav-user-details.html.twig"); + } +} diff --git a/cache/twig/e7/e75bff12bc1ba233e5039aff5a4ef7bc6d23c7b4b250837b1fc67ad4ea09bcd7.php b/cache/twig/e7/e75bff12bc1ba233e5039aff5a4ef7bc6d23c7b4b250837b1fc67ad4ea09bcd7.php new file mode 100644 index 0000000..96a1150 --- /dev/null +++ b/cache/twig/e7/e75bff12bc1ba233e5039aff5a4ef7bc6d23c7b4b250837b1fc67ad4ea09bcd7.php @@ -0,0 +1,356 @@ +parent = false; + + $this->blocks = array( + 'head' => array($this, 'block_head'), + 'stylesheets' => array($this, 'block_stylesheets'), + 'javascripts' => array($this, 'block_javascripts'), + 'header' => array($this, 'block_header'), + 'header_navigation' => array($this, 'block_header_navigation'), + 'body' => array($this, 'block_body'), + 'content' => array($this, 'block_content'), + 'footer' => array($this, 'block_footer'), + 'bottom' => array($this, 'block_bottom'), + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + $context["theme_config"] = $this->getAttribute($this->getAttribute(($context["config"] ?? null), "themes", array()), $this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "system", array()), "pages", array()), "theme", array())); + // line 2 + echo " +getAttribute($this->getAttribute(($context["grav"] ?? null), "language", array()), "getLanguage", array())) ? ($this->getAttribute($this->getAttribute(($context["grav"] ?? null), "language", array()), "getLanguage", array())) : ("fr")); + echo "\"> + +"; + // line 5 + $this->displayBlock('head', $context, $blocks); + // line 34 + echo " + + + + "; + // line 38 + $this->displayBlock('header', $context, $blocks); + // line 65 + echo " + "; + // line 66 + $this->displayBlock('body', $context, $blocks); + // line 75 + echo " + "; + // line 76 + $this->displayBlock('footer', $context, $blocks); + // line 80 + echo " + "; + // line 81 + $this->displayBlock('bottom', $context, $blocks); + // line 84 + echo " + +"; + } + + // line 5 + public function block_head($context, array $blocks = array()) + { + // line 6 + echo " + "; + // line 7 + if ($this->getAttribute(($context["header"] ?? null), "title", array())) { + echo twig_escape_filter($this->env, $this->getAttribute(($context["header"] ?? null), "title", array()), "html"); + echo " | "; + } + echo $this->env->getExtension('Grav\Common\Twig\TwigExtension')->translate($this->getAttribute($this->getAttribute(($context["config"] ?? null), "site", array()), "title", array()), "html"); + echo " + "; + // line 8 + $this->loadTemplate("partials/metadata.html.twig", "partials/base.html.twig", 8)->display($context); + // line 9 + echo " + env->getExtension('Grav\Common\Twig\TwigExtension')->urlFunc("theme://images/favicon.png"); + echo "\" /> + getAttribute(($context["page"] ?? null), "url", array(0 => true, 1 => true), "method"); + echo "\" /> + + + + "; + // line 15 + $this->displayBlock('stylesheets', $context, $blocks); + // line 23 + echo " "; + echo $this->getAttribute(($context["assets"] ?? null), "css", array(), "method"); + echo " + + "; + // line 25 + $this->displayBlock('javascripts', $context, $blocks); + // line 32 + echo " "; + echo $this->getAttribute(($context["assets"] ?? null), "js", array(), "method"); + echo " + "; + } + + // line 15 + public function block_stylesheets($context, array $blocks = array()) + { + // line 16 + echo " "; + $this->getAttribute(($context["assets"] ?? null), "addCss", array(0 => "theme://css/jquery.bxslider.css", 1 => 101), "method"); + // line 17 + echo " "; + $this->getAttribute(($context["assets"] ?? null), "addCss", array(0 => "theme://css/style.css", 1 => 101), "method"); + // line 18 + echo " "; + $this->getAttribute(($context["assets"] ?? null), "addCss", array(0 => "theme://css-compiled/template.css", 1 => 101), "method"); + // line 19 + echo " "; + $this->getAttribute(($context["assets"] ?? null), "addCss", array(0 => "theme://css/jquery.mCustomScrollbar.css", 1 => 101), "method"); + // line 20 + echo " "; + $this->getAttribute(($context["assets"] ?? null), "addCss", array(0 => "theme://css/media-queries.css", 1 => 101), "method"); + // line 21 + echo " + "; + } + + // line 25 + public function block_javascripts($context, array $blocks = array()) + { + // line 26 + echo " "; + $this->getAttribute(($context["assets"] ?? null), "addJs", array(0 => "jquery", 1 => 101), "method"); + // line 27 + echo " "; + $this->getAttribute(($context["assets"] ?? null), "addJs", array(0 => "theme://js/jquery.mCustomScrollbar.concat.min.js"), "method"); + // line 28 + echo " "; + $this->getAttribute(($context["assets"] ?? null), "addJs", array(0 => "theme://js/jquery.bxslider.min.js"), "method"); + // line 29 + echo " "; + $this->getAttribute(($context["assets"] ?? null), "addJs", array(0 => "theme://js/script.js"), "method"); + // line 30 + echo " + "; + } + + // line 38 + public function block_header($context, array $blocks = array()) + { + // line 39 + echo "
                                                                  + +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  + "; + // line 54 + $this->displayBlock('header_navigation', $context, $blocks); + // line 55 + echo "
                                                                  + +
                                                                  +
                                                                  + "; + } + + // line 54 + public function block_header_navigation($context, array $blocks = array()) + { + } + + // line 66 + public function block_body($context, array $blocks = array()) + { + // line 67 + echo " +
                                                                  +
                                                                  + "; + // line 70 + $this->displayBlock('content', $context, $blocks); + // line 71 + echo "
                                                                  +
                                                                  + + "; + } + + // line 70 + public function block_content($context, array $blocks = array()) + { + } + + // line 76 + public function block_footer($context, array $blocks = array()) + { + // line 77 + echo "
                                                                  +
                                                                  + "; + } + + // line 81 + public function block_bottom($context, array $blocks = array()) + { + // line 82 + echo " "; + echo $this->getAttribute(($context["assets"] ?? null), "js", array(0 => "bottom"), "method"); + echo " + "; + } + + public function getTemplateName() + { + return "partials/base.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 238 => 82, 235 => 81, 229 => 77, 226 => 76, 221 => 70, 214 => 71, 212 => 70, 207 => 67, 204 => 66, 199 => 54, 186 => 55, 184 => 54, 166 => 41, 162 => 39, 159 => 38, 154 => 30, 151 => 29, 148 => 28, 145 => 27, 142 => 26, 139 => 25, 134 => 21, 131 => 20, 128 => 19, 125 => 18, 122 => 17, 119 => 16, 116 => 15, 109 => 32, 107 => 25, 101 => 23, 99 => 15, 92 => 11, 88 => 10, 85 => 9, 83 => 8, 75 => 7, 72 => 6, 69 => 5, 63 => 84, 61 => 81, 58 => 80, 56 => 76, 53 => 75, 51 => 66, 48 => 65, 46 => 38, 40 => 34, 38 => 5, 33 => 3, 30 => 2, 28 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% set theme_config = attribute(config.themes, config.system.pages.theme) %} + + + +{% block head %} + + {% if header.title %}{{ header.title|e('html') }} | {% endif %}{{ config.site.title|t('html') }} + {% include 'partials/metadata.html.twig' %} + + + + + + + {% block stylesheets %} + {% do assets.addCss('theme://css/jquery.bxslider.css', 101) %} + {% do assets.addCss('theme://css/style.css', 101) %} + {% do assets.addCss('theme://css-compiled/template.css', 101) %} + {% do assets.addCss('theme://css/jquery.mCustomScrollbar.css', 101) %} + {% do assets.addCss('theme://css/media-queries.css', 101) %} + + {% endblock %} + {{ assets.css() }} + + {% block javascripts %} + {% do assets.addJs('jquery', 101) %} + {% do assets.addJs('theme://js/jquery.mCustomScrollbar.concat.min.js') %} + {% do assets.addJs('theme://js/jquery.bxslider.min.js') %} + {% do assets.addJs('theme://js/script.js') %} + + {% endblock %} + {{ assets.js() }} + {% endblock head %} + + + + + {% block header %} +
                                                                  +
                                                                  +

                                                                  {{ config.site.title|t }}

                                                                  +
                                                                  + Fr + / + En +
                                                                  + +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  +
                                                                  + {% block header_navigation %}{% endblock %} +
                                                                  + +
                                                                  +
                                                                  + {% endblock %} + + {% block body %} + +
                                                                  +
                                                                  + {% block content %}{% endblock %} +
                                                                  +
                                                                  + + {% endblock %} + + {% block footer %} +
                                                                  +
                                                                  + {% endblock %} + + {% block bottom %} + {{ assets.js('bottom') }} + {% endblock %} + + +", "partials/base.html.twig", "/mnt/data/Sites/static-ethica.net/user/themes/ethica/templates/partials/base.html.twig"); + } +} diff --git a/cache/twig/e9/e9d9bb91025a14b1bf2f779369740ef130aae36eb0e56a844ac649aedc09a776.php b/cache/twig/e9/e9d9bb91025a14b1bf2f779369740ef130aae36eb0e56a844ac649aedc09a776.php new file mode 100644 index 0000000..e125120 --- /dev/null +++ b/cache/twig/e9/e9d9bb91025a14b1bf2f779369740ef130aae36eb0e56a844ac649aedc09a776.php @@ -0,0 +1,85 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + echo "
                                                                  +
                                                                  +

                                                                  "; + // line 3 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.MODAL_CHANGED_DETECTED_TITLE"), "html", null, true); + echo "

                                                                  +

                                                                  + "; + // line 5 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.MODAL_CHANGED_DETECTED_DESC"), "html", null, true); + echo " +

                                                                  +
                                                                  + +
                                                                  +
                                                                  "; + } + + public function getTemplateName() + { + return "partials/modal-changes-detected.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 39 => 10, 35 => 9, 28 => 5, 23 => 3, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("
                                                                  +
                                                                  +

                                                                  {{ \"PLUGIN_ADMIN.MODAL_CHANGED_DETECTED_TITLE\"|tu }}

                                                                  +

                                                                  + {{ \"PLUGIN_ADMIN.MODAL_CHANGED_DETECTED_DESC\"|tu }} +

                                                                  +
                                                                  + +
                                                                  +
                                                                  ", "partials/modal-changes-detected.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/modal-changes-detected.html.twig"); + } +} diff --git a/cache/twig/eb/ebb26371377726351e39fa62042644bee39971ef14fc2417888368101fc8bfea.php b/cache/twig/eb/ebb26371377726351e39fa62042644bee39971ef14fc2417888368101fc8bfea.php new file mode 100644 index 0000000..0bbd40a --- /dev/null +++ b/cache/twig/eb/ebb26371377726351e39fa62042644bee39971ef14fc2417888368101fc8bfea.php @@ -0,0 +1,1567 @@ +parent = $this->loadTemplate("partials/base.html.twig", "pages.html.twig", 1); + $this->blocks = array( + 'stylesheets' => array($this, 'block_stylesheets'), + 'javascripts' => array($this, 'block_javascripts'), + 'titlebar' => array($this, 'block_titlebar'), + 'content' => array($this, 'block_content'), + 'bottom' => array($this, 'block_bottom'), + ); + } + + protected function doGetParent(array $context) + { + return "partials/base.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 7 + if ($this->getAttribute(($context["admin"] ?? null), "route", array())) { + // line 8 + $context["context"] = $this->getAttribute(($context["admin"] ?? null), "page", array(0 => true), "method"); + } + // line 11 + if ($this->getAttribute(($context["uri"] ?? null), "param", array(0 => "new"), "method")) { + // line 12 + $context["mode"] = "new"; + } elseif ( // line 13 +($context["context"] ?? null)) { + // line 14 + $context["mode"] = "edit"; + // line 15 + if ($this->getAttribute(($context["context"] ?? null), "exists", array())) { + // line 16 + $context["page_url"] = ((($context["base_url"] ?? null) . "/pages") . (($this->getAttribute($this->getAttribute($this->getAttribute(($context["context"] ?? null), "header", array()), "routes", array()), "default", array())) ? ($this->getAttribute($this->getAttribute($this->getAttribute(($context["context"] ?? null), "header", array()), "routes", array()), "default", array())) : ($this->getAttribute(($context["context"] ?? null), "rawRoute", array())))); + // line 17 + $context["exists"] = true; + // line 18 + $context["title"] = (((($this->getAttribute(($context["context"] ?? null), "exists", array())) ? ($this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.EDIT")) : ($this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.CREATE"))) . " ") . (($this->getAttribute($this->getAttribute(($context["context"] ?? null), "header", array()), "title", array())) ? ($this->getAttribute($this->getAttribute(($context["context"] ?? null), "header", array()), "title", array())) : ($this->getAttribute(($context["context"] ?? null), "title", array())))); + } else { + // line 20 + $context["title"] = $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.ADD_PAGE"); + } + } else { + // line 23 + $context["mode"] = "list"; + // line 24 + $context["title"] = $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.PAGES"); + } + // line 27 + $context["modular"] = (($this->getAttribute(($context["context"] ?? null), "modular", array())) ? ("modular_") : ("")); + // line 28 + $context["warn"] = $this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "plugins", array()), "admin", array()), "warnings", array()), "delete_page", array()); + // line 29 + $context["admin_lang"] = (($this->getAttribute($this->getAttribute(($context["admin"] ?? null), "session", array()), "admin_lang", array())) ? ($this->getAttribute($this->getAttribute(($context["admin"] ?? null), "session", array()), "admin_lang", array())) : ("en")); + // line 30 + $context["page_lang"] = $this->getAttribute(($context["context"] ?? null), "language", array()); + // line 31 + $context["type"] = "page"; + // line 44 + $context["preview_html"] = ((($this->env->getExtension('Grav\Common\Twig\TwigExtension')->rtrimFilter(($context["base_url_relative_frontend"] ?? null), "/") . (($this->getAttribute(($context["context"] ?? null), "home", array())) ? ("") : ($this->getAttribute(($context["context"] ?? null), "route", array()))))) ? (($this->env->getExtension('Grav\Common\Twig\TwigExtension')->rtrimFilter(($context["base_url_relative_frontend"] ?? null), "/") . (($this->getAttribute(($context["context"] ?? null), "home", array())) ? ("") : ($this->getAttribute(($context["context"] ?? null), "route", array()))))) : ("/")); + // line 45 + $context["preview_target"] = $this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "plugins", array()), "admin", array()), "frontend_pages_target", array()); + // line 46 + $context["preview_link"] = (($this->getAttribute(($context["context"] ?? null), "routable", array())) ? ((((((("env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.PREVIEW")) . "\"> ")) : ("")); + // line 1 + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 33 + public function block_stylesheets($context, array $blocks = array()) + { + // line 34 + echo " "; + if ((($context["mode"] ?? null) == "edit")) { + // line 35 + echo " "; + $this->getAttribute(($context["assets"] ?? null), "addCss", array(0 => (($context["theme_url"] ?? null) . "/css/codemirror/codemirror.css")), "method"); + // line 36 + echo " "; + } + // line 37 + echo " "; + $this->displayParentBlock("stylesheets", $context, $blocks); + echo " +"; + } + + // line 40 + public function block_javascripts($context, array $blocks = array()) + { + // line 41 + echo " "; + $this->displayParentBlock("javascripts", $context, $blocks); + echo " +"; + } + + // line 121 + public function block_titlebar($context, array $blocks = array()) + { + // line 122 + echo "
                                                                  + "; + // line 123 + if ((($context["mode"] ?? null) == "list")) { + // line 124 + echo " env, ($context["base_url"] ?? null), "html", null, true); + echo "\"> "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.BACK"), "html", null, true); + echo " + + "; + // line 126 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "plugins", array()), "admin", array()), "add_modals", array())); + foreach ($context['_seq'] as $context["key"] => $context["add_modal"]) { + // line 127 + echo " "; + if (($this->env->getExtension('Grav\Common\Twig\TwigExtension')->definedDefaultFilter($this->getAttribute($context["add_modal"], "show_in", array()), "bar") == "bar")) { + // line 128 + echo " env, $this->getAttribute($context["add_modal"], "link_classes", array()), "html", null, true); + echo "\" href=\"#modal-add_modal-"; + echo twig_escape_filter($this->env, $context["key"], "html", null, true); + echo "\" data-remodal-target=\"modal-add_modal-"; + echo twig_escape_filter($this->env, $context["key"], "html", null, true); + echo "\"> "; + echo twig_escape_filter($this->env, $this->getAttribute($context["add_modal"], "label", array()), "html", null, true); + echo " + "; + } + // line 130 + echo " "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['key'], $context['add_modal'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 131 + echo " +
                                                                  + + + +
                                                                  + + "; + // line 153 + if ($this->getAttribute(($context["admin"] ?? null), "multilang", array())) { + // line 154 + echo "
                                                                  + + "; + // line 160 + if ((twig_length_filter($this->env, $this->getAttribute(($context["admin"] ?? null), "languages_enabled", array())) > 1)) { + // line 161 + echo " + + "; + } + // line 173 + echo "
                                                                  + "; + } + // line 175 + echo " + "; + } elseif (( // line 176 +($context["mode"] ?? null) == "edit")) { + // line 177 + echo " + "; + // line 178 + echo ($context["preview_link"] ?? null); + echo " + + env, ($context["base_url"] ?? null), "html", null, true); + echo "/pages\" title=\""; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.BACK"), "html", null, true); + echo "\"> + + "; + // line 182 + $context["siblings"] = $this->getAttribute($this->getAttribute(($context["context"] ?? null), "parent", array(), "method"), "children", array(), "method"); + // line 183 + echo " + "; + // line 184 + if ( !$this->getAttribute(($context["siblings"] ?? null), "isFirst", array(0 => $this->getAttribute(($context["context"] ?? null), "path", array())), "method")) { + // line 185 + echo " "; + $context["sib"] = $this->getAttribute(($context["siblings"] ?? null), "nextSibling", array(0 => $this->getAttribute(($context["context"] ?? null), "path", array())), "method"); + // line 186 + echo " "; + $context["sib_url"] = ((($context["base_url"] ?? null) . "/pages") . (($this->getAttribute($this->getAttribute($this->getAttribute(($context["sib"] ?? null), "header", array()), "routes", array()), "default", array())) ? ($this->getAttribute($this->getAttribute($this->getAttribute(($context["sib"] ?? null), "header", array()), "routes", array()), "default", array())) : ($this->getAttribute(($context["sib"] ?? null), "rawRoute", array())))); + // line 187 + echo " env, ($context["sib_url"] ?? null), "html", null, true); + echo "\" title=\""; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.PREVIOUS"), "html", null, true); + echo "\"> + "; + } + // line 189 + echo " + "; + // line 190 + if ( !$this->getAttribute(($context["siblings"] ?? null), "isLast", array(0 => $this->getAttribute(($context["context"] ?? null), "path", array())), "method")) { + // line 191 + echo " "; + $context["sib"] = $this->getAttribute(($context["siblings"] ?? null), "prevSibling", array(0 => $this->getAttribute(($context["context"] ?? null), "path", array())), "method"); + // line 192 + echo " "; + $context["sib_url"] = ((($context["base_url"] ?? null) . "/pages") . (($this->getAttribute($this->getAttribute($this->getAttribute(($context["sib"] ?? null), "header", array()), "routes", array()), "default", array())) ? ($this->getAttribute($this->getAttribute($this->getAttribute(($context["sib"] ?? null), "header", array()), "routes", array()), "default", array())) : ($this->getAttribute(($context["sib"] ?? null), "rawRoute", array())))); + // line 193 + echo " env, ($context["sib_url"] ?? null), "html", null, true); + echo "\" title=\""; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.NEXT"), "html", null, true); + echo "\"> + "; + } + // line 195 + echo " + "; + // line 196 + if (($context["exists"] ?? null)) { + // line 197 + echo "
                                                                  + + + +
                                                                  + + env, $this->getAttribute(($context["uri"] ?? null), "addNonce", array(0 => (((($context["page_url"] ?? null) . "/task") . $this->getAttribute($this->getAttribute(($context["config"] ?? null), "system", array()), "param_sep", array())) . "copy"), 1 => "admin-form", 2 => "admin-nonce"), "method"), "html", null, true); + echo "\" class=\"page-copy\" > "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.COPY"), "html", null, true); + echo " + "; + // line 214 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.MOVE"), "html", null, true); + echo " + "; + // line 215 + if ($this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "plugins", array()), "admin-pro", array(), "array"), "enabled", array())) { + // line 216 + echo " "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN_PRO.REVISIONS"), "html", null, true); + echo " + "; + } + // line 218 + echo " "; + if (($context["warn"] ?? null)) { + // line 219 + echo " env, $this->getAttribute(($context["uri"] ?? null), "addNonce", array(0 => (((($context["page_url"] ?? null) . "/task") . $this->getAttribute($this->getAttribute(($context["config"] ?? null), "system", array()), "param_sep", array())) . "delete"), 1 => "admin-form", 2 => "admin-nonce"), "method"), "html", null, true); + echo "\"> "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.DELETE"), "html", null, true); + echo " + "; + } else { + // line 221 + echo " env, $this->getAttribute(($context["uri"] ?? null), "addNonce", array(0 => ((($this->getAttribute(($context["uri"] ?? null), "route", array(0 => true), "method") . "/task") . $this->getAttribute($this->getAttribute(($context["config"] ?? null), "system", array()), "param_sep", array())) . "delete"), 1 => "admin-form", 2 => "admin-nonce"), "method"), "html", null, true); + echo "\" class=\"page-delete\" > + "; + } + // line 223 + echo " "; + } + // line 224 + echo " +
                                                                  + + "; + // line 227 + if ((($context["exists"] ?? null) && $this->getAttribute(($context["admin"] ?? null), "multilang", array()))) { + // line 228 + echo " "; + if ($this->getAttribute(($context["context"] ?? null), "untranslatedLanguages", array())) { + // line 229 + echo " +
                                                                    + "; + // line 233 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["context"] ?? null), "untranslatedLanguages", array())); + foreach ($context['_seq'] as $context["_key"] => $context["langCode"]) { + // line 234 + echo " "; + $context["langName"] = $this->getAttribute($this->getAttribute(($context["admin"] ?? null), "siteLanguages", array()), $context["langCode"], array(), "array"); + // line 235 + echo " "; + if (($context["langCode"] != ($context["page_lang"] ?? null))) { + // line 236 + echo "
                                                                  • + "; + } + // line 238 + echo " "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['langCode'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 239 + echo "
                                                                  + "; + } + // line 241 + echo " "; + } + // line 242 + echo "
                                                                  + + + "; + } + // line 246 + echo "
                                                                  + "; + // line 247 + if ((($context["mode"] ?? null) == "new")) { + // line 248 + echo "

                                                                  "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.ADD_PAGE"), "html", null, true); + echo "

                                                                  + "; + } elseif (( // line 249 +($context["mode"] ?? null) == "edit")) { + // line 250 + echo "

                                                                  + "; + // line 251 + echo twig_escape_filter($this->env, $this->getAttribute(($context["context"] ?? null), "menu", array()), "html", null, true); + echo " +

                                                                  + "; + } else { + // line 254 + echo "

                                                                  "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.MANAGE_PAGES"), "html", null, true); + echo "

                                                                  + "; + } + } + + // line 258 + public function block_content($context, array $blocks = array()) + { + // line 259 + echo "
                                                                  + "; + // line 260 + if ((($context["mode"] ?? null) == "new")) { + // line 261 + echo " "; + $this->loadTemplate("partials/blueprints-new.html.twig", "pages.html.twig", 261)->display(array_merge($context, array("blueprints" => $this->getAttribute(($context["admin"] ?? null), "blueprints", array(0 => "pages/page"), "method"), "data" => ($context["context"] ?? null)))); + // line 262 + echo " "; + } elseif ((($context["mode"] ?? null) == "edit")) { + // line 263 + echo "
                                                                  +
                                                                  + + "; + // line 266 + if (($this->getAttribute(($context["admin"] ?? null), "multilang", array()) && ($context["page_lang"] ?? null))) { + // line 267 + echo "
                                                                  + + "; + // line 275 + if ((($context["exists"] ?? null) && (twig_length_filter($this->env, $this->getAttribute(($context["context"] ?? null), "translatedLanguages", array())) > 1))) { + // line 276 + echo " +
                                                                    + "; + // line 280 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["context"] ?? null), "translatedLanguages", array())); + foreach ($context['_seq'] as $context["language"] => $context["route"]) { + // line 281 + echo " "; + if (($context["language"] != ($context["page_lang"] ?? null))) { + // line 282 + echo "
                                                                  • + "; + } + // line 284 + echo " "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['language'], $context['route'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 285 + echo "
                                                                  + "; + } + // line 287 + echo "
                                                                  + "; + } + // line 289 + echo " + "; + // line 290 + if ($this->getAttribute($this->getAttribute(($context["context"] ?? null), "blueprints", array()), "fields", array())) { + // line 291 + echo " "; + $context["normalText"] = $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.NORMAL"); + // line 292 + echo " "; + $context["expertText"] = $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.EXPERT"); + // line 293 + echo " "; + $context["maxLen"] = max(array(0 => twig_length_filter($this->env, ($context["normalText"] ?? null)), 1 => twig_length_filter($this->env, ($context["expertText"] ?? null)))); + // line 294 + echo " "; + $context["normalText"] = $this->getAttribute($this, "spanToggle", array(0 => ($context["normalText"] ?? null), 1 => ($context["maxLen"] ?? null)), "method"); + // line 295 + echo " "; + $context["expertText"] = $this->getAttribute($this, "spanToggle", array(0 => ($context["expertText"] ?? null), 1 => ($context["maxLen"] ?? null)), "method"); + // line 296 + echo "
                                                                  +
                                                                  + env, ($context["base_url"] ?? null), "html", null, true); + echo "/pages/"; + echo twig_escape_filter($this->env, twig_trim_filter($this->getAttribute(($context["admin"] ?? null), "route", array()), "/"), "html", null, true); + echo "/mode"; + echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute(($context["config"] ?? null), "system", array()), "param_sep", array()), "html", null, true); + echo "normal\" id=\"normal\" name=\"mode-switch\" class=\"highlight\" "; + if (($this->getAttribute($this->getAttribute(($context["admin"] ?? null), "session", array()), "expert", array()) == "0")) { + echo " checked=\"checked\""; + } + echo "> + + env, ($context["base_url"] ?? null), "html", null, true); + echo "/pages/"; + echo twig_escape_filter($this->env, twig_trim_filter($this->getAttribute(($context["admin"] ?? null), "route", array()), "/"), "html", null, true); + echo "/mode"; + echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute(($context["config"] ?? null), "system", array()), "param_sep", array()), "html", null, true); + echo "expert\" id=\"expert\" name=\"mode-switch\" class=\"highlight\" "; + if (($this->getAttribute($this->getAttribute(($context["admin"] ?? null), "session", array()), "expert", array()) == "1")) { + echo " checked=\"checked\""; + } + echo "> + + +
                                                                  +
                                                                  + "; + } + // line 306 + echo " +
                                                                  + + "; + // line 309 + if (($this->getAttribute($this->getAttribute(($context["context"] ?? null), "blueprints", array()), "fields", array()) && ($this->getAttribute($this->getAttribute(($context["admin"] ?? null), "session", array()), "expert", array()) == "0"))) { + // line 310 + echo " "; + $this->loadTemplate("partials/blueprints.html.twig", "pages.html.twig", 310)->display(array_merge($context, array("blueprints" => $this->getAttribute(($context["context"] ?? null), "blueprints", array()), "data" => ($context["context"] ?? null)))); + // line 311 + echo " "; + } else { + // line 312 + echo " "; + $this->loadTemplate("partials/blueprints-raw.html.twig", "pages.html.twig", 312)->display(array_merge($context, array("blueprints" => $this->getAttribute(($context["admin"] ?? null), "blueprints", array(0 => (("admin/pages/" . ($context["modular"] ?? null)) . "raw")), "method"), "data" => ($context["context"] ?? null)))); + // line 313 + echo " "; + } + // line 314 + echo "
                                                                  + "; + } else { + // line 316 + echo "
                                                                  +
                                                                  + env, twig_jsonencode_filter(array(0 => array("id" => "mode", "name" => $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.PAGE_MODES")), 1 => array("id" => "type", "name" => $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.PAGE_TYPES")), 2 => array("id" => "access", "name" => $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.ACCESS_LEVELS")))), "html_attr"); + echo "\" data-filter-types=\""; + echo twig_escape_filter($this->env, twig_jsonencode_filter(twig_array_merge($this->getAttribute(($context["admin"] ?? null), "types", array()), $this->getAttribute(($context["admin"] ?? null), "modularTypes", array()))), "html_attr"); + echo "\" data-filter-access-levels=\""; + echo twig_escape_filter($this->env, twig_jsonencode_filter($this->getAttribute(($context["admin"] ?? null), "accessLevels", array())), "html_attr"); + echo "\" placeholder=\""; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.ADD_FILTERS"), "html", null, true); + echo "\" class=\"page-filter\" name=\"page-filter\" /> +
                                                                  +
                                                                  + env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.SEARCH_PAGES"), "html", null, true); + echo "\" name=\"page-search\" /> +
                                                                  +
                                                                  + "; + // line 324 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.EXPAND_ALL"), "html", null, true); + echo " + "; + // line 325 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.COLLAPSE_ALL"), "html", null, true); + echo " +
                                                                  +
                                                                  +
                                                                  +
                                                                    + "; + // line 330 + echo $this->getAttribute($this, "loop", array(0 => ($context["pages"] ?? null), 1 => 0, 2 => $context), "method"); + echo " +
                                                                  + "; + // line 332 + $this->loadTemplate("partials/page-legend.html.twig", "pages.html.twig", 332)->display($context); + // line 333 + echo "
                                                                  + "; + } + // line 335 + echo "
                                                                  + + "; + // line 337 + if (($context["context"] ?? null)) { + // line 338 + echo " "; + $context["obj_data"] = $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->cloneFunc(($context["context"] ?? null)); + // line 339 + echo " + "; + // line 340 + if ((($context["mode"] ?? null) == "edit")) { + // line 341 + echo " "; + $this->getAttribute(($context["obj_data"] ?? null), "folder", array(0 => ""), "method"); + // line 342 + echo " "; + } + // line 343 + echo " "; + } + // line 344 + echo " + "; + // line 345 + if (((($context["mode"] ?? null) == "list") || (($context["mode"] ?? null) == "edit"))) { + // line 346 + echo "
                                                                  + "; + // line 347 + $this->loadTemplate("partials/blueprints-new.html.twig", "pages.html.twig", 347)->display(array_merge($context, array("blueprints" => $this->getAttribute(($context["admin"] ?? null), "blueprints", array(0 => "admin/pages/new"), "method"), "data" => ($context["obj_data"] ?? null), "form_id" => "new-page"))); + // line 348 + echo "
                                                                  + +
                                                                  + "; + // line 351 + $this->loadTemplate("partials/blueprints-new-folder.html.twig", "pages.html.twig", 351)->display(array_merge($context, array("blueprints" => $this->getAttribute(($context["admin"] ?? null), "blueprints", array(0 => "admin/pages/new_folder"), "method"), "data" => ($context["obj_data"] ?? null), "form_id" => "new-folder"))); + // line 352 + echo "
                                                                  + +
                                                                  + "; + // line 355 + $this->loadTemplate("partials/blueprints-new.html.twig", "pages.html.twig", 355)->display(array_merge($context, array("blueprints" => $this->getAttribute(($context["admin"] ?? null), "blueprints", array(0 => "admin/pages/modular_new"), "method"), "data" => ($context["obj_data"] ?? null), "form_id" => "new-modular"))); + // line 356 + echo "
                                                                  + + "; + // line 358 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "plugins", array()), "admin", array()), "add_modals", array())); + $context['loop'] = array( + 'parent' => $context['_parent'], + 'index0' => 0, + 'index' => 1, + 'first' => true, + ); + if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) { + $length = count($context['_seq']); + $context['loop']['revindex0'] = $length - 1; + $context['loop']['revindex'] = $length; + $context['loop']['length'] = $length; + $context['loop']['last'] = 1 === $length; + } + foreach ($context['_seq'] as $context["key"] => $context["add_modal"]) { + // line 359 + echo "
                                                                  env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->definedDefaultFilter($this->getAttribute($context["add_modal"], "modal_classes", array()), ""), "html", null, true); + echo "\" data-remodal-id=\"modal-add_modal-"; + echo twig_escape_filter($this->env, $context["key"], "html", null, true); + echo "\" data-remodal-options=\"hashTracking: false\"> + "; + // line 360 + $this->loadTemplate($this->env->getExtension('Grav\Common\Twig\TwigExtension')->definedDefaultFilter($this->getAttribute($context["add_modal"], "template", array()), "partials/blueprints-new.html.twig"), "pages.html.twig", 360)->display(array_merge($context, twig_array_merge(array("blueprints" => $this->getAttribute(($context["admin"] ?? null), "blueprints", array(0 => $this->getAttribute($context["add_modal"], "blueprint", array())), "method"), "data" => ($context["context"] ?? null), "form_id" => "add-modal"), $this->env->getExtension('Grav\Common\Twig\TwigExtension')->definedDefaultFilter($this->getAttribute($context["add_modal"], "with", array()), array())))); + // line 361 + echo "
                                                                  + "; + ++$context['loop']['index0']; + ++$context['loop']['index']; + $context['loop']['first'] = false; + if (isset($context['loop']['length'])) { + --$context['loop']['revindex0']; + --$context['loop']['revindex']; + $context['loop']['last'] = 0 === $context['loop']['revindex0']; + } + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['key'], $context['add_modal'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 363 + echo " "; + } + // line 364 + echo " + + "; + // line 366 + if ((($context["mode"] ?? null) == "edit")) { + // line 367 + echo "
                                                                  + + "; + // line 369 + $this->loadTemplate("partials/page-move.html.twig", "pages.html.twig", 369)->display(array_merge($context, array("blueprints" => $this->getAttribute(($context["admin"] ?? null), "blueprints", array(0 => "admin/pages/move"), "method"), "data" => ($context["context"] ?? null)))); + // line 370 + echo "
                                                                  +
                                                                  + "; + // line 372 + try { + $this->loadTemplate(array(0 => "partials/page-revisions.html.twig", 1 => "empty.html.twig"), "pages.html.twig", 372)->display(array_merge($context, array("data" => ($context["context"] ?? null)))); + } catch (Twig_Error_Loader $e) { + // ignore missing template + } + + // line 373 + echo "
                                                                  + "; + } + // line 375 + echo " + "; + // line 376 + $this->loadTemplate("partials/modal-changes-detected.html.twig", "pages.html.twig", 376)->display($context); + // line 377 + echo " +
                                                                  +
                                                                  +

                                                                  "; + // line 380 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.MODAL_DELETE_PAGE_CONFIRMATION_REQUIRED_TITLE"), "html", null, true); + echo "

                                                                  +

                                                                  + "; + // line 382 + if (($context["context"] ?? null)) { + // line 383 + echo " "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.PAGE"), "html", null, true); + echo ": "; + echo twig_escape_filter($this->env, $this->getAttribute(($context["context"] ?? null), "title", array()), "html", null, true); + echo " + "; + } + // line 385 + echo "

                                                                  +

                                                                  + "; + // line 387 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.MODAL_DELETE_PAGE_CONFIRMATION_REQUIRED_DESC"), "html", null, true); + echo " +

                                                                  +
                                                                  +
                                                                  + + "; + // line 392 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.CONTINUE"), "html", null, true); + echo " +
                                                                  +
                                                                  +
                                                                  + + "; + // line 397 + try { + $this->loadTemplate("partials/admin-pro-pages-addons.html.twig", "pages.html.twig", 397)->display($context); + } catch (Twig_Error_Loader $e) { + // ignore missing template + } + + // line 398 + echo " +"; + } + + // line 401 + public function block_bottom($context, array $blocks = array()) + { + // line 402 + echo " +"; + } + + // line 3 + public function getspanToggle($__input__ = null, $__length__ = null, ...$__varargs__) + { + $context = $this->env->mergeGlobals(array( + "input" => $__input__, + "length" => $__length__, + "varargs" => $__varargs__, + )); + + $blocks = array(); + + ob_start(); + try { + // line 4 + echo " "; + echo (($this->env->getExtension('Grav\Common\Twig\TwigExtension')->repeatFunc("  ", ((($context["length"] ?? null) - twig_length_filter($this->env, ($context["input"] ?? null))) / 2)) . ($context["input"] ?? null)) . $this->env->getExtension('Grav\Common\Twig\TwigExtension')->repeatFunc("  ", ((($context["length"] ?? null) - twig_length_filter($this->env, ($context["input"] ?? null))) / 2))); + echo " +"; + } catch (Exception $e) { + ob_end_clean(); + + throw $e; + } catch (Throwable $e) { + ob_end_clean(); + + throw $e; + } + + return ('' === $tmp = ob_get_clean()) ? '' : new Twig_Markup($tmp, $this->env->getCharset()); + } + + // line 48 + public function getloop($__page__ = null, $__depth__ = null, $__twig_vars__ = null, ...$__varargs__) + { + $context = $this->env->mergeGlobals(array( + "page" => $__page__, + "depth" => $__depth__, + "twig_vars" => $__twig_vars__, + "varargs" => $__varargs__, + )); + + $blocks = array(); + + ob_start(); + try { + // line 49 + echo " "; + $context["separator"] = $this->getAttribute($this->getAttribute($this->getAttribute(($context["twig_vars"] ?? null), "config", array(), "array"), "system", array()), "param_sep", array()); + // line 50 + echo " "; + $context["display_field"] = $this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["twig_vars"] ?? null), "config", array(), "array"), "plugins", array()), "admin", array()), "pages_list_display_field", array()); + // line 51 + echo " "; + $context["base_url"] = $this->getAttribute(($context["twig_vars"] ?? null), "base_url_relative", array(), "array"); + // line 52 + echo " "; + $context["base_url_simple"] = $this->getAttribute(($context["twig_vars"] ?? null), "base_url_simple", array(), "array"); + // line 53 + echo " "; + $context["admin_route"] = $this->getAttribute(($context["twig_vars"] ?? null), "admin_route", array(), "array"); + // line 54 + echo " "; + $context["admin_lang"] = $this->getAttribute(($context["twig_vars"] ?? null), "admin_lang", array(), "array"); + // line 55 + echo " "; + $context["warn"] = $this->getAttribute(($context["twig_vars"] ?? null), "warn", array(), "array"); + // line 56 + echo " "; + $context["uri"] = $this->getAttribute(($context["twig_vars"] ?? null), "uri", array(), "array"); + // line 57 + echo " + "; + // line 58 + if ((($this->getAttribute($this->getAttribute($this->getAttribute(($context["page"] ?? null), "header", array()), "admin", array()), "children_display_order", array()) == "collection") && $this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["page"] ?? null), "header", array()), "content", array()), "order", array()), "by", array()))) { + // line 59 + echo " "; + if ($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["page"] ?? null), "header", array()), "content", array()), "order", array()), "custom", array())) { + // line 60 + echo " "; + $context["pcol"] = $this->getAttribute($this->getAttribute(($context["page"] ?? null), "children", array(), "method"), "order", array(0 => $this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["page"] ?? null), "header", array()), "content", array()), "order", array()), "by", array()), 1 => (($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["page"] ?? null), "header", array(), "any", false, true), "content", array(), "any", false, true), "order", array(), "any", false, true), "dir", array(), "any", true, true)) ? (_twig_default_filter($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["page"] ?? null), "header", array(), "any", false, true), "content", array(), "any", false, true), "order", array(), "any", false, true), "dir", array()), "asc")) : ("asc")), 2 => $this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["page"] ?? null), "header", array()), "content", array()), "order", array()), "custom", array())), "method"); + // line 61 + echo " "; + } else { + // line 62 + echo " "; + $context["pcol"] = $this->getAttribute($this->getAttribute(($context["page"] ?? null), "children", array(), "method"), "order", array(0 => $this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["page"] ?? null), "header", array()), "content", array()), "order", array()), "by", array()), 1 => (($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["page"] ?? null), "header", array(), "any", false, true), "content", array(), "any", false, true), "order", array(), "any", false, true), "dir", array(), "any", true, true)) ? (_twig_default_filter($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["page"] ?? null), "header", array(), "any", false, true), "content", array(), "any", false, true), "order", array(), "any", false, true), "dir", array()), "asc")) : ("asc"))), "method"); + // line 63 + echo " "; + } + // line 64 + echo " "; + } else { + // line 65 + echo " "; + $context["pcol"] = $this->getAttribute(($context["page"] ?? null), "children", array(), "method"); + // line 66 + echo " "; + } + // line 67 + echo " + "; + // line 68 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable(($context["pcol"] ?? null)); + foreach ($context['_seq'] as $context["_key"] => $context["p"]) { + // line 69 + echo " "; + $context["description"] = (((((( !$this->getAttribute($context["p"], "page", array())) ? (($this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.FOLDER") . " • ")) : (($this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.PAGE") . " • "))) . (($this->getAttribute( // line 70 +$context["p"], "modular", array())) ? (($this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.MODULAR") . " • ")) : (""))) . (($this->getAttribute( // line 71 +$context["p"], "routable", array())) ? (($this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.ROUTABLE") . " • ")) : (($this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.NON_ROUTABLE") . " • ")))) . (($this->getAttribute( // line 72 +$context["p"], "visible", array())) ? (($this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.VISIBLE") . " • ")) : (($this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.NON_VISIBLE") . " • ")))) . (($this->getAttribute( // line 73 +$context["p"], "published", array())) ? (($this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.PUBLISHED") . " • ")) : (($this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.NON_PUBLISHED") . " • ")))); + // line 74 + echo " "; + // line 75 + echo " "; + // line 76 + echo " "; + // line 77 + echo " "; + // line 78 + echo " "; + // line 79 + echo " "; + // line 80 + echo " + "; + // line 81 + $context["page_url"] = $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->getPageUrl($context, $context["p"]); + // line 82 + echo " +
                                                                • env, $this->getAttribute($context["p"], "route", array()), "html", null, true); + echo "\"> +
                                                                  + getAttribute($this->getAttribute($context["p"], "children", array(0 => 0), "method"), "count", array()) > 0)) ? ("data-toggle=\"children\"") : ("")); + echo "> + getAttribute($this->getAttribute($context["p"], "children", array(0 => 0), "method"), "count", array()) > 0)) ? ("children-closed") : ("")); + echo " "; + echo (($this->getAttribute($context["p"], "modular", array())) ? ("modular") : ((( !$this->getAttribute($context["p"], "routable", array())) ? ("not-routable") : ((( !$this->getAttribute($context["p"], "visible", array())) ? ("not-visible") : ((( !$this->getAttribute($context["p"], "page", array())) ? ("folder") : ("")))))))); + echo "\"> + +
                                                                  +
                                                                  + + "; + // line 91 + $context["page_label"] = $this->env->getExtension('Grav\Common\Twig\TwigExtension')->definedDefaultFilter($this->env->getExtension('Grav\Common\Twig\TwigExtension')->definedDefaultFilter($this->getAttribute($this->getAttribute($context["p"], "header", array()), ($context["display_field"] ?? null)), $this->getAttribute($context["p"], ($context["display_field"] ?? null))), $this->getAttribute($context["p"], "title", array())); + // line 92 + echo " env, ($context["page_url"] ?? null), "html", null, true); + echo "\" class=\"page-edit\">"; + echo twig_escape_filter($this->env, ($context["page_label"] ?? null)); + echo " + + "; + // line 94 + if ($this->getAttribute($context["p"], "language", array())) { + // line 95 + echo " getAttribute($context["p"], "language", array()) == ($context["admin_lang"] ?? null))) { + echo "info"; + } + echo "\">"; + echo twig_escape_filter($this->env, $this->getAttribute($context["p"], "language", array()), "html", null, true); + echo " + "; + } + // line 97 + echo " "; + if ($this->getAttribute($context["p"], "home", array())) { + // line 98 + echo " + "; + } + // line 100 + echo "
                                                                  +

                                                                  "; + // line 101 + echo twig_escape_filter($this->env, (($this->getAttribute($this->getAttribute($this->getAttribute($context["p"], "header", array()), "routes", array()), "default", array())) ? ($this->getAttribute($this->getAttribute($this->getAttribute($context["p"], "header", array()), "routes", array()), "default", array())) : ($this->getAttribute($context["p"], "route", array()))), "html", null, true); + echo " "; + echo twig_escape_filter($this->env, $this->getAttribute($context["p"], "template", array(), "method"), "html", null, true); + echo "

                                                                  +
                                                                  + + "; + // line 104 + if (($context["warn"] ?? null)) { + // line 105 + echo " env, $this->getAttribute(($context["uri"] ?? null), "addNonce", array(0 => (((($context["page_url"] ?? null) . "/task") . ($context["separator"] ?? null)) . "delete"), 1 => "admin-form", 2 => "admin-nonce"), "method"), "html", null, true); + echo "\" class=\"page-delete\" > + "; + } else { + // line 107 + echo " env, $this->getAttribute(($context["uri"] ?? null), "addNonce", array(0 => (((($context["page_url"] ?? null) . "/task") . ($context["separator"] ?? null)) . "delete"), 1 => "admin-form", 2 => "admin-nonce"), "method"), "html", null, true); + echo "\" class=\"page-delete\" > + "; + } + // line 109 + echo " +
                                                                  + "; + // line 111 + if (($this->getAttribute($this->getAttribute($context["p"], "children", array(), "method"), "count", array()) > 0)) { + // line 112 + echo "
                                                                    env, (($context["depth"] ?? null) + 1), "html", null, true); + echo "\" style=\"display:none;\"> + "; + // line 113 + echo $this->getAttribute($this, "loop", array(0 => $context["p"], 1 => (($context["depth"] ?? null) + 1), 2 => ($context["twig_vars"] ?? null)), "method"); + echo " +
                                                                  + "; + } + // line 116 + echo "
                                                                • + "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['p'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + } catch (Exception $e) { + ob_end_clean(); + + throw $e; + } catch (Throwable $e) { + ob_end_clean(); + + throw $e; + } + + return ('' === $tmp = ob_get_clean()) ? '' : new Twig_Markup($tmp, $this->env->getCharset()); + } + + public function getTemplateName() + { + return "pages.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 1116 => 116, 1110 => 113, 1105 => 112, 1103 => 111, 1099 => 109, 1093 => 107, 1087 => 105, 1085 => 104, 1077 => 101, 1074 => 100, 1070 => 98, 1067 => 97, 1057 => 95, 1055 => 94, 1047 => 92, 1045 => 91, 1041 => 90, 1032 => 86, 1028 => 85, 1023 => 83, 1020 => 82, 1018 => 81, 1015 => 80, 1013 => 79, 1011 => 78, 1009 => 77, 1007 => 76, 1005 => 75, 1003 => 74, 1001 => 73, 1000 => 72, 999 => 71, 998 => 70, 996 => 69, 992 => 68, 989 => 67, 986 => 66, 983 => 65, 980 => 64, 977 => 63, 974 => 62, 971 => 61, 968 => 60, 965 => 59, 963 => 58, 960 => 57, 957 => 56, 954 => 55, 951 => 54, 948 => 53, 945 => 52, 942 => 51, 939 => 50, 936 => 49, 922 => 48, 904 => 4, 891 => 3, 884 => 402, 881 => 401, 876 => 398, 869 => 397, 861 => 392, 857 => 391, 850 => 387, 846 => 385, 838 => 383, 836 => 382, 831 => 380, 826 => 377, 824 => 376, 821 => 375, 817 => 373, 810 => 372, 806 => 370, 804 => 369, 800 => 367, 798 => 366, 794 => 364, 791 => 363, 776 => 361, 774 => 360, 767 => 359, 750 => 358, 746 => 356, 744 => 355, 739 => 352, 737 => 351, 732 => 348, 730 => 347, 727 => 346, 725 => 345, 722 => 344, 719 => 343, 716 => 342, 713 => 341, 711 => 340, 708 => 339, 705 => 338, 703 => 337, 699 => 335, 695 => 333, 693 => 332, 688 => 330, 680 => 325, 676 => 324, 670 => 321, 658 => 318, 654 => 316, 650 => 314, 647 => 313, 644 => 312, 641 => 311, 638 => 310, 636 => 309, 631 => 306, 623 => 301, 611 => 300, 607 => 299, 595 => 298, 591 => 296, 588 => 295, 585 => 294, 582 => 293, 579 => 292, 576 => 291, 574 => 290, 571 => 289, 567 => 287, 563 => 285, 557 => 284, 547 => 282, 544 => 281, 540 => 280, 534 => 276, 532 => 275, 529 => 274, 523 => 272, 517 => 270, 515 => 269, 511 => 267, 509 => 266, 504 => 263, 501 => 262, 498 => 261, 496 => 260, 493 => 259, 490 => 258, 482 => 254, 476 => 251, 473 => 250, 471 => 249, 466 => 248, 464 => 247, 461 => 246, 455 => 242, 452 => 241, 448 => 239, 442 => 238, 432 => 236, 429 => 235, 426 => 234, 422 => 233, 416 => 229, 413 => 228, 411 => 227, 407 => 226, 403 => 224, 400 => 223, 394 => 221, 386 => 219, 383 => 218, 377 => 216, 375 => 215, 371 => 214, 365 => 213, 360 => 210, 354 => 208, 352 => 207, 348 => 206, 344 => 205, 335 => 199, 331 => 197, 329 => 196, 326 => 195, 318 => 193, 315 => 192, 312 => 191, 310 => 190, 307 => 189, 299 => 187, 296 => 186, 293 => 185, 291 => 184, 288 => 183, 286 => 182, 279 => 180, 274 => 178, 271 => 177, 269 => 176, 266 => 175, 262 => 173, 258 => 171, 252 => 170, 244 => 168, 241 => 167, 238 => 166, 234 => 165, 228 => 161, 226 => 160, 220 => 158, 218 => 157, 213 => 154, 211 => 153, 206 => 150, 200 => 149, 188 => 147, 185 => 146, 180 => 145, 174 => 143, 172 => 142, 168 => 141, 164 => 140, 155 => 134, 150 => 131, 144 => 130, 132 => 128, 129 => 127, 125 => 126, 117 => 124, 115 => 123, 112 => 122, 109 => 121, 102 => 41, 99 => 40, 92 => 37, 89 => 36, 86 => 35, 83 => 34, 80 => 33, 76 => 1, 74 => 46, 72 => 45, 70 => 44, 68 => 31, 66 => 30, 64 => 29, 62 => 28, 60 => 27, 57 => 24, 55 => 23, 51 => 20, 48 => 18, 46 => 17, 44 => 16, 42 => 15, 40 => 14, 38 => 13, 36 => 12, 34 => 11, 31 => 8, 29 => 7, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends 'partials/base.html.twig' %} + +{% macro spanToggle(input, length) %} + {{ (repeat('  ', (length - input|length) / 2) ~ input ~ repeat('  ', (length - input|length) / 2))|raw }} +{% endmacro %} + +{% if admin.route %} + {% set context = admin.page(true) %} +{% endif %} + +{% if uri.param('new') %} + {% set mode = 'new' %} +{% elseif context %} + {% set mode = 'edit' %} + {% if context.exists %} + {% set page_url = base_url ~ '/pages' ~ (context.header.routes.default ?: context.rawRoute) %} + {% set exists = true %} + {% set title = (context.exists ? \"PLUGIN_ADMIN.EDIT\"|tu : \"PLUGIN_ADMIN.CREATE\"|tu ) ~ \" \" ~ (context.header.title ?: context.title) %} + {% else %} + {% set title = \"PLUGIN_ADMIN.ADD_PAGE\"|tu %} + {% endif %} +{% else %} + {% set mode = 'list' %} + {% set title = \"PLUGIN_ADMIN.PAGES\"|tu %} +{% endif %} + +{% set modular = context.modular ? 'modular_' : '' %} +{% set warn = config.plugins.admin.warnings.delete_page %} +{% set admin_lang = admin.session.admin_lang ?: 'en' %} +{% set page_lang = context.language %} +{% set type = 'page' %} + +{% block stylesheets %} + {% if mode == 'edit' %} + {% do assets.addCss(theme_url~'/css/codemirror/codemirror.css') %} + {% endif %} + {{ parent() }} +{% endblock %} + +{% block javascripts %} + {{ parent() }} +{% endblock %} + +{% set preview_html = (base_url_relative_frontend|rtrim('/') ~ (context.home ? '' : context.route)) ?: '/' %} +{% set preview_target = config.plugins.admin.frontend_pages_target %} +{% set preview_link = context.routable ? ' ' : '' %} + +{% macro loop(page, depth, twig_vars) %} + {% set separator = twig_vars['config'].system.param_sep %} + {% set display_field = twig_vars['config'].plugins.admin.pages_list_display_field %} + {% set base_url = twig_vars['base_url_relative'] %} + {% set base_url_simple = twig_vars['base_url_simple'] %} + {% set admin_route = twig_vars['admin_route'] %} + {% set admin_lang = twig_vars['admin_lang'] %} + {% set warn = twig_vars['warn'] %} + {% set uri = twig_vars['uri'] %} + + {% if page.header.admin.children_display_order == 'collection' and page.header.content.order.by %} + {% if page.header.content.order.custom %} + {% set pcol = page.children().order(page.header.content.order.by, page.header.content.order.dir|default('asc'), page.header.content.order.custom) %} + {% else %} + {% set pcol = page.children().order(page.header.content.order.by, page.header.content.order.dir|default('asc')) %} + {% endif %} + {% else %} + {% set pcol = page.children() %} + {% endif %} + + {% for p in pcol %} + {% set description = (not p.page ? \"PLUGIN_ADMIN.FOLDER\"|tu ~ ' • ' : \"PLUGIN_ADMIN.PAGE\"|tu ~ ' • ') ~ + (p.modular ? \"PLUGIN_ADMIN.MODULAR\"|tu ~ ' • ' : '') ~ + (p.routable ? \"PLUGIN_ADMIN.ROUTABLE\"|tu ~ ' • ' : \"PLUGIN_ADMIN.NON_ROUTABLE\"|tu ~ ' • ') ~ + (p.visible ? \"PLUGIN_ADMIN.VISIBLE\"|tu ~ ' • ' : \"PLUGIN_ADMIN.NON_VISIBLE\"|tu ~ ' • ') ~ + (p.published ? \"PLUGIN_ADMIN.PUBLISHED\"|tu ~ ' • ' : \"PLUGIN_ADMIN.NON_PUBLISHED\"|tu ~ ' • ') %} + {#{% set page_route = p.rawRoute|trim('/') %}#} + {#{% if p.language and p.language != admin_lang %}#} + {#{% set page_url = base_url_simple ~ '/' ~ p.language ~ '/' ~ admin_route ~ '/pages/' ~ page_route %}#} + {#{% else %}#} + {#{% set page_url = base_url ~ '/pages/' ~ page_route %}#} + {#{% endif %}#} + + {% set page_url = getPageUrl(p) %} + +
                                                                • +
                                                                  + 0 ? 'data-toggle=\"children\"' : ''}}> + 0 ? 'children-closed' : ''}} {{ p.modular ? 'modular' : (not p.routable ? 'not-routable' : (not p.visible ? 'not-visible' : (not p.page ? 'folder' : ''))) }}\"> + +
                                                                  +
                                                                  + + {% set page_label = attribute(p.header, display_field)|defined(attribute(p, display_field))|defined(p.title) %} + {{ page_label|e }} + + {% if p.language %} + {{p.language}} + {% endif %} + {% if p.home %} + + {% endif %} +
                                                                  +

                                                                  {{ p.header.routes.default ?: p.route }} {{ p.template() }}

                                                                  +
                                                                  + + {% if warn %} + + {% else %} + + {% endif %} + +
                                                                  + {% if p.children().count > 0 %} +
                                                                    + {{ _self.loop(p, depth + 1, twig_vars) }} +
                                                                  + {% endif %} +
                                                                • + {% endfor %} +{% endmacro %} + + +{% block titlebar %} +
                                                                  + {% if mode == 'list' %} + {{ \"PLUGIN_ADMIN.BACK\"|tu }} + + {% for key, add_modal in config.plugins.admin.add_modals %} + {% if add_modal.show_in|defined('bar') == 'bar' %} + {{ add_modal.label }} + {% endif %} + {% endfor %} + +
                                                                  + + + +
                                                                  + + {% if admin.multilang %} +
                                                                  + + {% if admin.languages_enabled|length > 1 %} + +
                                                                    + {% for langCode in admin.languages_enabled %} + {% set langName = admin.siteLanguages[langCode] %} + {% if langCode != admin_lang %} +
                                                                  • {{ langName[:1]|upper ~ langName[1:] }}
                                                                  • + {% endif %} + {% endfor %} +
                                                                  + {% endif %} +
                                                                  + {% endif %} + + {% elseif mode == 'edit' %} + + {{ preview_link|raw }} + + + + {% set siblings = context.parent().children() %} + + {% if not siblings.isFirst(context.path) %} + {% set sib = siblings.nextSibling(context.path) %} + {% set sib_url = base_url ~ '/pages' ~ (sib.header.routes.default ?: sib.rawRoute) %} + + {% endif %} + + {% if not siblings.isLast(context.path) %} + {% set sib = siblings.prevSibling(context.path) %} + {% set sib_url = base_url ~ '/pages' ~ (sib.header.routes.default ?: sib.rawRoute) %} + + {% endif %} + + {% if exists %} +
                                                                  + + + +
                                                                  + + {{ \"PLUGIN_ADMIN.COPY\"|tu }} + {{ \"PLUGIN_ADMIN.MOVE\"|tu }} + {% if config.plugins['admin-pro'].enabled %} + {{ \"PLUGIN_ADMIN_PRO.REVISIONS\"|tu }} + {% endif %} + {% if warn %} + {{ \"PLUGIN_ADMIN.DELETE\"|tu }} + {% else %} + + {% endif %} + {% endif %} + +
                                                                  + + {% if exists and admin.multilang %} + {% if context.untranslatedLanguages %} + +
                                                                    + {% for langCode in context.untranslatedLanguages %} + {% set langName = admin.siteLanguages[langCode] %} + {% if langCode != page_lang %} +
                                                                  • + {% endif %} + {% endfor %} +
                                                                  + {% endif %} + {% endif %} +
                                                                  + + + {% endif %} +
                                                                  + {% if mode == 'new' %} +

                                                                  {{ \"PLUGIN_ADMIN.ADD_PAGE\"|tu }}

                                                                  + {% elseif mode == 'edit' %} +

                                                                  + {{ context.menu }} +

                                                                  + {% else %} +

                                                                  {{ \"PLUGIN_ADMIN.MANAGE_PAGES\"|tu }}

                                                                  + {% endif %} +{% endblock %} + +{% block content %} +
                                                                  + {% if mode == 'new' %} + {% include 'partials/blueprints-new.html.twig' with { blueprints: admin.blueprints('pages/page'), data: context } %} + {% elseif mode == 'edit' %} +
                                                                  +
                                                                  + + {% if admin.multilang and page_lang %} +
                                                                  + + {% if exists and context.translatedLanguages|length > 1 %} + +
                                                                    + {% for language, route in context.translatedLanguages %} + {% if language != page_lang %} +
                                                                  • + {% endif %} + {% endfor %} +
                                                                  + {% endif %} +
                                                                  + {% endif %} + + {% if context.blueprints.fields %} + {% set normalText = \"PLUGIN_ADMIN.NORMAL\"|tu %} + {% set expertText = \"PLUGIN_ADMIN.EXPERT\"|tu %} + {% set maxLen = max([normalText|length, expertText|length]) %} + {% set normalText = _self.spanToggle(normalText, maxLen) %} + {% set expertText = _self.spanToggle(expertText, maxLen) %} +
                                                                  +
                                                                  + + + + + +
                                                                  +
                                                                  + {% endif %} + +
                                                                  + + {% if context.blueprints.fields and admin.session.expert == '0' %} + {% include 'partials/blueprints.html.twig' with { blueprints: context.blueprints, data: context } %} + {% else %} + {% include 'partials/blueprints-raw.html.twig' with { blueprints: admin.blueprints('admin/pages/'~modular~'raw'), data: context } %} + {% endif %} +
                                                                  + {% else %} +
                                                                  +
                                                                  + +
                                                                  +
                                                                  + +
                                                                  +
                                                                  + {{ \"PLUGIN_ADMIN.EXPAND_ALL\"|tu }} + {{ \"PLUGIN_ADMIN.COLLAPSE_ALL\"|tu }} +
                                                                  +
                                                                  +
                                                                  +
                                                                    + {{ _self.loop(pages, 0, _context) }} +
                                                                  + {% include 'partials/page-legend.html.twig' %} +
                                                                  + {% endif %} +
                                                                  + + {% if context %} + {% set obj_data = clone(context) %} + + {% if mode == 'edit' %} + {% do obj_data.folder('') %} + {% endif %} + {% endif %} + + {% if mode == 'list' or mode == 'edit' %} +
                                                                  + {% include 'partials/blueprints-new.html.twig' with { blueprints: admin.blueprints('admin/pages/new'), data: obj_data, form_id:'new-page' } %} +
                                                                  + +
                                                                  + {% include 'partials/blueprints-new-folder.html.twig' with { blueprints: admin.blueprints('admin/pages/new_folder'), data: obj_data, form_id:'new-folder' } %} +
                                                                  + +
                                                                  + {% include 'partials/blueprints-new.html.twig' with { blueprints: admin.blueprints('admin/pages/modular_new'), data: obj_data, form_id:'new-modular' } %} +
                                                                  + + {% for key, add_modal in config.plugins.admin.add_modals %} +
                                                                  + {% include add_modal.template|defined('partials/blueprints-new.html.twig') with { blueprints: admin.blueprints(add_modal.blueprint), data: context, form_id:'add-modal' }|merge(add_modal.with|defined({})) %} +
                                                                  + {% endfor %} + {% endif %} + + + {% if mode == 'edit' %} +
                                                                  + + {% include 'partials/page-move.html.twig' with { blueprints: admin.blueprints('admin/pages/move'), data: context } %} +
                                                                  +
                                                                  + {% include ['partials/page-revisions.html.twig', 'empty.html.twig'] ignore missing with { data: context } %} +
                                                                  + {% endif %} + + {% include 'partials/modal-changes-detected.html.twig' %} + +
                                                                  +
                                                                  +

                                                                  {{ \"PLUGIN_ADMIN.MODAL_DELETE_PAGE_CONFIRMATION_REQUIRED_TITLE\"|tu }}

                                                                  +

                                                                  + {% if context %} + {{ \"PLUGIN_ADMIN.PAGE\"|tu }}: {{ context.title }} + {% endif %} +

                                                                  +

                                                                  + {{ \"PLUGIN_ADMIN.MODAL_DELETE_PAGE_CONFIRMATION_REQUIRED_DESC\"|tu }} +

                                                                  +
                                                                  +
                                                                  + + {{ \"PLUGIN_ADMIN.CONTINUE\"|tu }} +
                                                                  +
                                                                  +
                                                                  + + {% include 'partials/admin-pro-pages-addons.html.twig' ignore missing %} + +{% endblock %} + +{% block bottom %} + +{% endblock %} +", "pages.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/pages.html.twig"); + } +} diff --git a/cache/twig/eb/ebdf4b0b7a11851ed7d2c5fa2a4794de775422c501c926062b22055f4f06fea7.php b/cache/twig/eb/ebdf4b0b7a11851ed7d2c5fa2a4794de775422c501c926062b22055f4f06fea7.php new file mode 100644 index 0000000..be9d709 --- /dev/null +++ b/cache/twig/eb/ebdf4b0b7a11851ed7d2c5fa2a4794de775422c501c926062b22055f4f06fea7.php @@ -0,0 +1,366 @@ +parent = $this->loadTemplate("partials/base.html.twig", "dashboard.html.twig", 1); + $this->blocks = array( + 'titlebar' => array($this, 'block_titlebar'), + 'widgets' => array($this, 'block_widgets'), + 'content' => array($this, 'block_content'), + 'content_bottom' => array($this, 'block_content_bottom'), + ); + } + + protected function doGetParent(array $context) + { + return "partials/base.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 3 + $context["title"] = $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.DASHBOARD"); + // line 5 + $context["clear_cache_url"] = (((($context["base_url_relative"] ?? null) . "/cache.json/task") . $this->getAttribute($this->getAttribute(($context["config"] ?? null), "system", array()), "param_sep", array())) . twig_escape_filter($this->env, "clearCache", "html_attr")); + // line 1 + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 7 + public function block_titlebar($context, array $blocks = array()) + { + // line 8 + echo "
                                                                  + "; + // line 9 + if ($this->env->getExtension('Grav\Common\Twig\TwigExtension')->authorize(array(0 => "admin.maintenance", 1 => "admin.super", 2 => "admin.cache"))) { + // line 10 + echo "
                                                                  + + + +
                                                                  + "; + } + // line 24 + echo " "; + if ($this->env->getExtension('Grav\Common\Twig\TwigExtension')->authorize(array(0 => "admin.maintenance", 1 => "admin.super"))) { + // line 25 + echo " + "; + } + // line 27 + echo "
                                                                  +

                                                                  "; + // line 28 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.DASHBOARD"), "html", null, true); + echo "

                                                                  +"; + } + + // line 31 + public function block_widgets($context, array $blocks = array()) + { + // line 32 + echo " "; + if ($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "plugins", array()), "admin", array()), "notifications", array()), "dashboard", array())) { + // line 33 + echo "
                                                                  + "; + } + // line 35 + echo " +
                                                                  + "; + // line 37 + if ($this->getAttribute($this->getAttribute(($context["grav"] ?? null), "twig", array()), "plugins_hooked_dashboard_widgets_top", array())) { + // line 38 + echo " "; + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute($this->getAttribute(($context["grav"] ?? null), "twig", array()), "plugins_hooked_dashboard_widgets_top", array())); + $context['loop'] = array( + 'parent' => $context['_parent'], + 'index0' => 0, + 'index' => 1, + 'first' => true, + ); + if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) { + $length = count($context['_seq']); + $context['loop']['revindex0'] = $length - 1; + $context['loop']['revindex'] = $length; + $context['loop']['length'] = $length; + $context['loop']['last'] = 1 === $length; + } + foreach ($context['_seq'] as $context["_key"] => $context["widget"]) { + // line 39 + echo " "; + if (($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "plugins", array()), "admin", array()), "widgets", array()), $this->getAttribute($context["widget"], "template", array())) == true)) { + // line 40 + echo "
                                                                  + "; + // line 41 + $this->loadTemplate((("partials/" . $this->getAttribute($context["widget"], "template", array())) . ".html.twig"), "dashboard.html.twig", 41)->display($context); + // line 42 + echo "
                                                                  + "; + } + // line 44 + echo " "; + ++$context['loop']['index0']; + ++$context['loop']['index']; + $context['loop']['first'] = false; + if (isset($context['loop']['length'])) { + --$context['loop']['revindex0']; + --$context['loop']['revindex']; + $context['loop']['last'] = 0 === $context['loop']['revindex0']; + } + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['widget'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 45 + echo " "; + } + // line 46 + echo "
                                                                  +"; + } + + // line 49 + public function block_content($context, array $blocks = array()) + { + // line 50 + if ($this->getAttribute($this->getAttribute(($context["grav"] ?? null), "twig", array()), "plugins_hooked_dashboard_widgets_main", array())) { + // line 51 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute($this->getAttribute(($context["grav"] ?? null), "twig", array()), "plugins_hooked_dashboard_widgets_main", array())); + $context['loop'] = array( + 'parent' => $context['_parent'], + 'index0' => 0, + 'index' => 1, + 'first' => true, + ); + if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) { + $length = count($context['_seq']); + $context['loop']['revindex0'] = $length - 1; + $context['loop']['revindex'] = $length; + $context['loop']['length'] = $length; + $context['loop']['last'] = 1 === $length; + } + foreach ($context['_seq'] as $context["_key"] => $context["widget"]) { + // line 52 + if (($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "plugins", array()), "admin", array()), "widgets", array()), $this->getAttribute($context["widget"], "template", array())) == true)) { + // line 53 + echo " "; + $this->loadTemplate((("partials/" . $this->getAttribute($context["widget"], "template", array())) . ".html.twig"), "dashboard.html.twig", 53)->display($context); + // line 54 + echo " "; + } + ++$context['loop']['index0']; + ++$context['loop']['index']; + $context['loop']['first'] = false; + if (isset($context['loop']['length'])) { + --$context['loop']['revindex0']; + --$context['loop']['revindex']; + $context['loop']['last'] = 0 === $context['loop']['revindex0']; + } + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['widget'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + } + } + + // line 59 + public function block_content_bottom($context, array $blocks = array()) + { + // line 60 + echo "
                                                                  "; + // line 61 + if ($this->getAttribute($this->getAttribute(($context["grav"] ?? null), "twig", array()), "plugins_hooked_dashboard_widgets_bottom", array())) { + // line 62 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute($this->getAttribute(($context["grav"] ?? null), "twig", array()), "plugins_hooked_dashboard_widgets_bottom", array())); + $context['loop'] = array( + 'parent' => $context['_parent'], + 'index0' => 0, + 'index' => 1, + 'first' => true, + ); + if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) { + $length = count($context['_seq']); + $context['loop']['revindex0'] = $length - 1; + $context['loop']['revindex'] = $length; + $context['loop']['length'] = $length; + $context['loop']['last'] = 1 === $length; + } + foreach ($context['_seq'] as $context["_key"] => $context["widget"]) { + // line 63 + if (($this->getAttribute($this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "plugins", array()), "admin", array()), "widgets", array()), $this->getAttribute($context["widget"], "template", array())) == true)) { + // line 64 + echo " "; + $this->loadTemplate((("partials/" . $this->getAttribute($context["widget"], "template", array())) . ".html.twig"), "dashboard.html.twig", 64)->display($context); + // line 65 + echo " "; + } + ++$context['loop']['index0']; + ++$context['loop']['index']; + $context['loop']['first'] = false; + if (isset($context['loop']['length'])) { + --$context['loop']['revindex0']; + --$context['loop']['revindex']; + $context['loop']['last'] = 0 === $context['loop']['revindex0']; + } + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['widget'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + } + // line 68 + echo "
                                                                  +"; + } + + public function getTemplateName() + { + return "dashboard.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 266 => 68, 250 => 65, 247 => 64, 245 => 63, 228 => 62, 226 => 61, 224 => 60, 221 => 59, 203 => 54, 200 => 53, 198 => 52, 181 => 51, 179 => 50, 176 => 49, 171 => 46, 168 => 45, 154 => 44, 150 => 42, 148 => 41, 145 => 40, 142 => 39, 124 => 38, 122 => 37, 118 => 35, 114 => 33, 111 => 32, 108 => 31, 102 => 28, 99 => 27, 93 => 25, 90 => 24, 81 => 20, 75 => 19, 69 => 18, 63 => 17, 57 => 16, 47 => 11, 44 => 10, 42 => 9, 39 => 8, 36 => 7, 32 => 1, 30 => 5, 28 => 3, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends 'partials/base.html.twig' %} + +{% set title = \"PLUGIN_ADMIN.DASHBOARD\"|tu %} + +{% set clear_cache_url = base_url_relative ~ '/cache.json/task' ~ config.system.param_sep ~ 'clearCache'|e('html_attr') %} + +{% block titlebar %} +
                                                                  + {% if authorize(['admin.maintenance', 'admin.super', 'admin.cache']) %} + + {% endif %} + {% if authorize(['admin.maintenance', 'admin.super']) %} + + {% endif %} +
                                                                  +

                                                                  {{ \"PLUGIN_ADMIN.DASHBOARD\"|tu }}

                                                                  +{% endblock %} + +{% block widgets %} + {% if config.plugins.admin.notifications.dashboard %} +
                                                                  + {% endif %} + +
                                                                  + {% if grav.twig.plugins_hooked_dashboard_widgets_top %} + {% for widget in grav.twig.plugins_hooked_dashboard_widgets_top %} + {% if attribute(config.plugins.admin.widgets, widget.template) == true %} +
                                                                  + {% include 'partials/' ~ widget.template ~ '.html.twig' %} +
                                                                  + {% endif %} + {% endfor %} + {% endif %} +
                                                                  +{% endblock %} + +{% block content %} + {%- if grav.twig.plugins_hooked_dashboard_widgets_main -%} + {%- for widget in grav.twig.plugins_hooked_dashboard_widgets_main -%} + {%- if attribute(config.plugins.admin.widgets, widget.template) == true %} + {% include 'partials/' ~ widget.template ~ '.html.twig' %} + {% endif -%} + {%- endfor -%} + {%- endif -%} +{% endblock %} + +{% block content_bottom %} +
                                                                  + {%- if grav.twig.plugins_hooked_dashboard_widgets_bottom -%} + {%- for widget in grav.twig.plugins_hooked_dashboard_widgets_bottom -%} + {%- if attribute(config.plugins.admin.widgets, widget.template) == true %} + {% include 'partials/' ~ widget.template ~ '.html.twig' %} + {% endif -%} + {%- endfor -%} + {%- endif -%} +
                                                                  +{% endblock %} +", "dashboard.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/dashboard.html.twig"); + } +} diff --git a/cache/twig/ec/ec0d1e84273aeda9689a24d3595e53120b3099207f72ec026047ab2f0c2bda9b.php b/cache/twig/ec/ec0d1e84273aeda9689a24d3595e53120b3099207f72ec026047ab2f0c2bda9b.php new file mode 100644 index 0000000..49d91e4 --- /dev/null +++ b/cache/twig/ec/ec0d1e84273aeda9689a24d3595e53120b3099207f72ec026047ab2f0c2bda9b.php @@ -0,0 +1,283 @@ +parent = $this->loadTemplate("forms/field.html.twig", "forms/fields/pages/pages.html.twig", 1); + $this->blocks = array( + 'global_attributes' => array($this, 'block_global_attributes'), + 'input' => array($this, 'block_input'), + ); + } + + protected function doGetParent(array $context) + { + return "forms/field.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 17 + public function block_global_attributes($context, array $blocks = array()) + { + // line 18 + echo " data-grav-selectize=\""; + echo twig_escape_filter($this->env, twig_jsonencode_filter((($this->getAttribute(($context["field"] ?? null), "selectize", array(), "any", true, true)) ? ($this->getAttribute(($context["field"] ?? null), "selectize", array())) : (array()))), "html_attr"); + echo "\" + data-grav-field=\"select\" + data-grav-disabled=\""; + // line 20 + echo (((null === ($context["originalValue"] ?? null))) ? ("true") : ("false")); + echo "\" + data-grav-default=\""; + // line 21 + echo twig_escape_filter($this->env, twig_jsonencode_filter($this->getAttribute(($context["field"] ?? null), "default", array())), "html_attr"); + echo "\" +"; + } + + // line 24 + public function block_input($context, array $blocks = array()) + { + // line 25 + echo " + "; + // line 26 + $context["start_page"] = (($this->getAttribute(($context["field"] ?? null), "start_route", array())) ? ($this->getAttribute(($context["pages"] ?? null), "find", array(0 => $this->getAttribute(($context["field"] ?? null), "start_route", array())), "method")) : (null)); + // line 27 + echo " "; + $context["show_all"] = ((($this->getAttribute(($context["field"] ?? null), "show_all", array()) === false)) ? (false) : (true)); + // line 28 + echo " "; + $context["show_fullpath"] = ((($this->getAttribute(($context["field"] ?? null), "show_fullpath", array()) === true)) ? (true) : (false)); + // line 29 + echo " "; + $context["show_slug"] = ((($this->getAttribute(($context["field"] ?? null), "show_slug", array()) === true)) ? (true) : (false)); + // line 30 + echo " "; + $context["show_modular"] = ((($this->getAttribute(($context["field"] ?? null), "show_modular", array()) === true)) ? (true) : (false)); + // line 31 + echo " "; + $context["limit_levels"] = (($this->getAttribute(($context["field"] ?? null), "limit_levels", array())) ? ($this->getAttribute(($context["field"] ?? null), "limit_levels", array())) : (false)); + // line 32 + echo " + "; + // line 33 + $context["page_list"] = $this->getAttribute($this->getAttribute(($context["grav"] ?? null), "pages", array()), "getList", array(0 => ($context["start_page"] ?? null), 1 => 0, 2 => true, 3 => ($context["show_all"] ?? null), 4 => ($context["show_fullpath"] ?? null), 5 => ($context["show_slug"] ?? null), 6 => ($context["show_modular"] ?? null), 7 => ($context["limit_levels"] ?? null)), "method"); + // line 34 + echo " +
                                                                  env, $this->getAttribute(($context["field"] ?? null), "size", array()), "html", null, true); + echo "\"> + +
                                                                  +"; + } + + // line 3 + public function getpage_options($__globals__ = null, $__pages_list__ = null, ...$__varargs__) + { + $context = $this->env->mergeGlobals(array( + "globals" => $__globals__, + "pages_list" => $__pages_list__, + "varargs" => $__varargs__, + )); + + $blocks = array(); + + ob_start(); + try { + // line 4 + echo " "; + $context["field"] = $this->getAttribute(($context["globals"] ?? null), "field", array()); + // line 5 + echo " "; + $context["value"] = $this->getAttribute(($context["globals"] ?? null), "value", array()); + // line 6 + echo " "; + if (($this->getAttribute(($context["field"] ?? null), "options", array()) && (($context["depth"] ?? null) == 0))) { + // line 7 + echo " "; + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["field"] ?? null), "options", array())); + foreach ($context['_seq'] as $context["key"] => $context["value"]) { + // line 8 + echo " + "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['key'], $context['value'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 10 + echo " "; + } + // line 11 + echo " + "; + // line 12 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable(($context["pages_list"] ?? null)); + foreach ($context['_seq'] as $context["page_route"] => $context["option"]) { + // line 13 + echo " + "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['page_route'], $context['option'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + } catch (Exception $e) { + ob_end_clean(); + + throw $e; + } catch (Throwable $e) { + ob_end_clean(); + + throw $e; + } + + return ('' === $tmp = ob_get_clean()) ? '' : new Twig_Markup($tmp, $this->env->getCharset()); + } + + public function getTemplateName() + { + return "forms/fields/pages/pages.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 179 => 13, 175 => 12, 172 => 11, 169 => 10, 158 => 8, 153 => 7, 150 => 6, 147 => 5, 144 => 4, 131 => 3, 122 => 46, 118 => 44, 116 => 43, 113 => 42, 108 => 41, 103 => 40, 98 => 39, 93 => 38, 89 => 37, 83 => 36, 79 => 35, 76 => 34, 74 => 33, 71 => 32, 68 => 31, 65 => 30, 62 => 29, 59 => 28, 56 => 27, 54 => 26, 51 => 25, 48 => 24, 42 => 21, 38 => 20, 32 => 18, 29 => 17, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends \"forms/field.html.twig\" %} + +{% macro page_options(globals, pages_list) %} + {% set field = globals.field %} + {% set value = globals.value %} + {% if field.options and depth == 0 %} + {% for key, value in field.options %} + + {% endfor %} + {% endif %} + + {% for page_route, option in pages_list %} + + {% endfor %} +{% endmacro %} + +{% block global_attributes %} + data-grav-selectize=\"{{ (field.selectize is defined ? field.selectize : {})|json_encode|e('html_attr') }}\" + data-grav-field=\"select\" + data-grav-disabled=\"{{ originalValue is null ? 'true' : 'false' }}\" + data-grav-default=\"{{ field.default|json_encode|e('html_attr') }}\" +{% endblock %} + +{% block input %} + + {% set start_page = field.start_route ? pages.find(field.start_route) : null %} + {% set show_all = field.show_all is same as(false) ? false : true %} + {% set show_fullpath = field.show_fullpath is same as(true) ? true : false %} + {% set show_slug = field.show_slug is same as(true) ? true : false %} + {% set show_modular = field.show_modular is same as(true) ? true : false %} + {% set limit_levels = field.limit_levels ?: false %} + + {% set page_list = grav.pages.getList(start_page, 0, true, show_all, show_fullpath, show_slug, show_modular, limit_levels) %} + +
                                                                  + +
                                                                  +{% endblock %} + +", "forms/fields/pages/pages.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/forms/fields/pages/pages.html.twig"); + } +} diff --git a/cache/twig/f1/f1e3343fa7d7fa28d5fc0a6c7ab48fa38aba2f51a955aa9065cc713c7c0b1e7c.php b/cache/twig/f1/f1e3343fa7d7fa28d5fc0a6c7ab48fa38aba2f51a955aa9065cc713c7c0b1e7c.php new file mode 100644 index 0000000..628e3d7 --- /dev/null +++ b/cache/twig/f1/f1e3343fa7d7fa28d5fc0a6c7ab48fa38aba2f51a955aa9065cc713c7c0b1e7c.php @@ -0,0 +1,76 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + echo "
                                                                  +

                                                                  + "; + // line 3 + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.NOTIFICATIONS"), "html", null, true); + echo " + + + +

                                                                  +
                                                                  +
                                                                  +
                                                                    +
                                                                    +
                                                                    +"; + } + + public function getTemplateName() + { + return "partials/dashboard-notifications.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 23 => 3, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("
                                                                    +

                                                                    + {{ \"PLUGIN_ADMIN.NOTIFICATIONS\"|tu }} + + + +

                                                                    +
                                                                    +
                                                                    +
                                                                      +
                                                                      +
                                                                      +", "partials/dashboard-notifications.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/dashboard-notifications.html.twig"); + } +} diff --git a/cache/twig/f6/f65dbbfd481166d28c3d415addc40988926e185cd6b9e6d071ebb0f180407d39.php b/cache/twig/f6/f65dbbfd481166d28c3d415addc40988926e185cd6b9e6d071ebb0f180407d39.php new file mode 100644 index 0000000..488765e --- /dev/null +++ b/cache/twig/f6/f65dbbfd481166d28c3d415addc40988926e185cd6b9e6d071ebb0f180407d39.php @@ -0,0 +1,146 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + $context["form_id"] = ((($context["form_id"] ?? null)) ? (($context["form_id"] ?? null)) : ("blueprints")); + // line 2 + $context["scope"] = ((($context["scope"] ?? null)) ? (($context["scope"] ?? null)) : ("data.")); + // line 3 + echo " +
                                                                      env, ($context["form_id"] ?? null), "html", null, true); + echo "\" method=\"post\" data-grav-form=\""; + echo twig_escape_filter($this->env, ($context["form_id"] ?? null), "html", null, true); + echo "\" data-grav-keepalive=\"true\"> + "; + // line 5 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["blueprints"] ?? null), "fields", array())); + $context['loop'] = array( + 'parent' => $context['_parent'], + 'index0' => 0, + 'index' => 1, + 'first' => true, + ); + if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof Countable)) { + $length = count($context['_seq']); + $context['loop']['revindex0'] = $length - 1; + $context['loop']['revindex'] = $length; + $context['loop']['length'] = $length; + $context['loop']['last'] = 1 === $length; + } + foreach ($context['_seq'] as $context["_key"] => $context["field"]) { + // line 6 + echo " "; + if ($this->getAttribute($context["field"], "type", array())) { + // line 7 + echo " "; + $context["value"] = (($this->getAttribute($context["field"], "name", array())) ? ($this->getAttribute(($context["data"] ?? null), "value", array(0 => $this->getAttribute($context["field"], "name", array())), "method")) : ($this->getAttribute(($context["data"] ?? null), "toArray", array()))); + // line 8 + echo "
                                                                      env, $this->getAttribute($context["field"], "type", array()), "html", null, true); + echo "\"> + "; + // line 9 + $this->loadTemplate(array(0 => (((("forms/fields/" . $this->getAttribute($context["field"], "type", array())) . "/") . $this->getAttribute($context["field"], "type", array())) . ".html.twig"), 1 => "forms/fields/text/text.html.twig"), "partials/blueprints-new.html.twig", 9)->display($context); + // line 10 + echo "
                                                                      + "; + } + // line 12 + echo " "; + ++$context['loop']['index0']; + ++$context['loop']['index']; + $context['loop']['first'] = false; + if (isset($context['loop']['length'])) { + --$context['loop']['revindex0']; + --$context['loop']['revindex']; + $context['loop']['last'] = 0 === $context['loop']['revindex0']; + } + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['field'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 13 + echo " + +
                                                                      + +
                                                                      + + "; + // line 19 + echo $this->env->getExtension('Grav\Common\Twig\TwigExtension')->nonceFieldFunc("admin-form", "admin-nonce"); + echo " + +
                                                                      +"; + } + + public function getTemplateName() + { + return "partials/blueprints-new.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 91 => 19, 85 => 16, 80 => 13, 66 => 12, 62 => 10, 60 => 9, 55 => 8, 52 => 7, 49 => 6, 32 => 5, 26 => 4, 23 => 3, 21 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% set form_id = form_id ? form_id : 'blueprints' %} +{% set scope = scope ?: 'data.' %} + +
                                                                      + {% for field in blueprints.fields %} + {% if field.type %} + {% set value = field.name ? data.value(field.name) : data.toArray %} +
                                                                      + {% include [\"forms/fields/#{field.type}/#{field.type}.html.twig\", 'forms/fields/text/text.html.twig'] %} +
                                                                      + {% endif %} + {% endfor %} + + +
                                                                      + +
                                                                      + + {{ nonce_field('admin-form', 'admin-nonce')|raw }} + +
                                                                      +", "partials/blueprints-new.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/blueprints-new.html.twig"); + } +} diff --git a/cache/twig/f6/f66ceec93dc9e6bc47780ce2db3d513899132edcd675cfd4ddb7fdd45329a6bd.php b/cache/twig/f6/f66ceec93dc9e6bc47780ce2db3d513899132edcd675cfd4ddb7fdd45329a6bd.php new file mode 100644 index 0000000..354e19b --- /dev/null +++ b/cache/twig/f6/f66ceec93dc9e6bc47780ce2db3d513899132edcd675cfd4ddb7fdd45329a6bd.php @@ -0,0 +1,128 @@ +parent = false; + + $this->blocks = array( + 'content' => array($this, 'block_content'), + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 2 + echo " + "; + // line 3 + $this->displayBlock('content', $context, $blocks); + } + + public function block_content($context, array $blocks = array()) + { + // line 4 + echo "
                                                                      +

                                                                      "; + // line 5 + echo $this->getAttribute(($context["header"] ?? null), "title", array()); + echo "

                                                                      + "; + // line 6 + echo $this->getAttribute(($context["page"] ?? null), "content", array()); + echo " +
                                                                      + "; + // line 8 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["page"] ?? null), "collection", array(), "method")); + foreach ($context['_seq'] as $context["_key"] => $context["module"]) { + // line 9 + echo "
                                                                      getAttribute($this, "pageLinkName", array(0 => $this->getAttribute($context["module"], "folder", array())), "method"); + echo "\" class=\"mutli-column\"> + "; + // line 10 + echo $this->getAttribute($context["module"], "content", array()); + echo " +
                                                                      + "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['module'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 13 + echo " "; + } + + // line 1 + public function getpageLinkName($__text__ = null, ...$__varargs__) + { + $context = $this->env->mergeGlobals(array( + "text" => $__text__, + "varargs" => $__varargs__, + )); + + $blocks = array(); + + ob_start(); + try { + echo twig_replace_filter(twig_lower_filter($this->env, ($context["text"] ?? null)), array("01._" => "", "02._" => "", "03._" => "", "04._" => "", "05._" => "", "06._" => "", "07._" => "", "08._" => "", "09._" => "")); + } catch (Exception $e) { + ob_end_clean(); + + throw $e; + } catch (Throwable $e) { + ob_end_clean(); + + throw $e; + } + + return ('' === $tmp = ob_get_clean()) ? '' : new Twig_Markup($tmp, $this->env->getCharset()); + } + + public function getTemplateName() + { + return "modular/contenu-multi.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 63 => 1, 59 => 13, 50 => 10, 45 => 9, 41 => 8, 36 => 6, 32 => 5, 29 => 4, 23 => 3, 20 => 2,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% macro pageLinkName(text) %}{{ text|lower|replace({'01._':'','02._':'','03._':'','04._':'','05._':'','06._':'','07._':'','08._':'','09._':''}) }}{% endmacro %} + + {% block content %} +
                                                                      +

                                                                      {{ header.title }}

                                                                      + {{ page.content }} +
                                                                      + {% for module in page.collection() %} +
                                                                      + {{ module.content }} +
                                                                      + {% endfor %} + {% endblock %} +", "modular/contenu-multi.html.twig", "/mnt/data/Sites/static-ethica.net/user/themes/ethica/templates/modular/contenu-multi.html.twig"); + } +} diff --git a/cache/twig/f9/f9b5017d2d9799f0db18a737fc29183a378d4d5f95bc0b5eef4a5d54b8a1a79a.php b/cache/twig/f9/f9b5017d2d9799f0db18a737fc29183a378d4d5f95bc0b5eef4a5d54b8a1a79a.php new file mode 100644 index 0000000..e798652 --- /dev/null +++ b/cache/twig/f9/f9b5017d2d9799f0db18a737fc29183a378d4d5f95bc0b5eef4a5d54b8a1a79a.php @@ -0,0 +1,113 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + if ($this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "plugins", array()), "admin", array()), "logo_text", array())) { + // line 2 + echo "

                                                                      +\tenv, ($context["base_url_relative"] ?? null), "html", null, true); + echo "\"> +\t\t"; + // line 4 + echo twig_escape_filter($this->env, $this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "plugins", array()), "admin", array()), "logo_text", array()), "html", null, true); + echo " +\t +\tenv, ($context["base_url_relative_frontend"] ?? null), "html", null, true); + echo "\"> +

                                                                      +"; + } else { + // line 9 + echo " +"; + } + // line 17 + echo " + + + + + +"; + } + + public function getTemplateName() + { + return "partials/logo.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 55 => 17, 49 => 14, 42 => 10, 39 => 9, 33 => 6, 28 => 4, 24 => 3, 21 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% if config.plugins.admin.logo_text %} +

                                                                      +\t +\t\t{{ config.plugins.admin.logo_text }} +\t +\t +

                                                                      +{% else %} +
                                                                      +\t + +\t\t +\t +\t +
                                                                      +{% endif %} + + + + + + +", "partials/logo.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/partials/logo.html.twig"); + } +} diff --git a/cache/twig/ff/ff7b0ce4ec8a413ba37fe4c70668b235c585141acc962245fc06dd4cfafd30b4.php b/cache/twig/ff/ff7b0ce4ec8a413ba37fe4c70668b235c585141acc962245fc06dd4cfafd30b4.php new file mode 100644 index 0000000..3dd8455 --- /dev/null +++ b/cache/twig/ff/ff7b0ce4ec8a413ba37fe4c70668b235c585141acc962245fc06dd4cfafd30b4.php @@ -0,0 +1,242 @@ +parent = $this->loadTemplate("partials/base.html.twig", "home.html.twig", 1); + $this->blocks = array( + 'javascripts' => array($this, 'block_javascripts'), + 'header_navigation' => array($this, 'block_header_navigation'), + 'content' => array($this, 'block_content'), + ); + } + + protected function doGetParent(array $context) + { + return "partials/base.html.twig"; + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 3 + $context["show_onpage_menu"] = (($this->getAttribute(($context["header"] ?? null), "onpage_menu", array()) == true) || (null === $this->getAttribute(($context["header"] ?? null), "onpage_menu", array()))); + // line 4 + $context["cc"] = $this->getAttribute(($context["taxonomy"] ?? null), "findTaxonomy", array(0 => array("category" => "sous-menu")), "method"); + // line 1 + $this->parent->display($context, array_merge($this->blocks, $blocks)); + } + + // line 8 + public function block_javascripts($context, array $blocks = array()) + { + // line 9 + echo " "; + if (($context["show_onpage_menu"] ?? null)) { + // line 10 + echo " "; + } + // line 11 + echo " "; + $this->displayParentBlock("javascripts", $context, $blocks); + echo " +"; + } + + // line 14 + public function block_header_navigation($context, array $blocks = array()) + { + // line 15 + echo " "; + if (($context["show_onpage_menu"] ?? null)) { + // line 16 + echo " + "; + } else { + // line 32 + echo " "; + $this->displayParentBlock("header_navigation", $context, $blocks); + echo " + "; + } + } + + // line 36 + public function block_content($context, array $blocks = array()) + { + // line 37 + echo " "; + echo $this->getAttribute(($context["page"] ?? null), "content", array()); + echo " + "; + // line 38 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["page"] ?? null), "collection", array(), "method")); + foreach ($context['_seq'] as $context["_key"] => $context["module"]) { + // line 39 + echo "
                                                                      getAttribute($this, "pageLinkName", array(0 => $this->getAttribute($context["module"], "folder", array())), "method"); + echo "\" class=\"column \"> + "; + // line 40 + echo $this->getAttribute($context["module"], "content", array()); + echo " +
                                                                      + "; + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['module'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + } + + // line 6 + public function getpageLinkName($__text__ = null, ...$__varargs__) + { + $context = $this->env->mergeGlobals(array( + "text" => $__text__, + "varargs" => $__varargs__, + )); + + $blocks = array(); + + ob_start(); + try { + echo twig_replace_filter(twig_lower_filter($this->env, ($context["text"] ?? null)), array("01._" => "", "02._" => "", "03._" => "", "04._" => "", "05._" => "", "06._" => "", "07._" => "", "08._" => "", "09._" => "")); + } catch (Exception $e) { + ob_end_clean(); + + throw $e; + } catch (Throwable $e) { + ob_end_clean(); + + throw $e; + } + + return ('' === $tmp = ob_get_clean()) ? '' : new Twig_Markup($tmp, $this->env->getCharset()); + } + + public function getTemplateName() + { + return "home.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 147 => 6, 136 => 40, 131 => 39, 127 => 38, 122 => 37, 119 => 36, 111 => 32, 106 => 29, 99 => 27, 93 => 26, 85 => 23, 82 => 22, 79 => 21, 75 => 20, 69 => 19, 64 => 18, 60 => 17, 57 => 16, 54 => 15, 51 => 14, 44 => 11, 41 => 10, 38 => 9, 35 => 8, 31 => 1, 29 => 4, 27 => 3, 11 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% extends 'partials/base.html.twig' %} + +{% set show_onpage_menu = header.onpage_menu == true or header.onpage_menu is null %} +{% set cc = taxonomy.findTaxonomy({'category':'sous-menu'}) %} + +{% macro pageLinkName(text) %}{{ text|lower|replace({'01._':'','02._':'','03._':'','04._':'','05._':'','06._':'','07._':'','08._':'','09._':''}) }}{% endmacro %} + +{% block javascripts %} + {% if show_onpage_menu %} + {% endif %} + {{ parent() }} +{% endblock %} + +{% block header_navigation %} + {% if show_onpage_menu %} +
                                                                        + {% for module in page.collection() %} +
                                                                      • + {{ module.menu }} + {% for child in module.collection %} + {% if child in cc %} +
                                                                          + {{ child.menu }} +
                                                                        + {% endif %} + {% endfor %} +
                                                                      • + {% endfor %} + +
                                                                      + {% else %} + {{ parent() }} + {% endif %} +{% endblock %} + +{% block content %} + {{ page.content }} + {% for module in page.collection() %} +
                                                                      + {{ module.content }} +
                                                                      + {% endfor %} +{% endblock %} +", "home.html.twig", "/mnt/data/Sites/static-ethica.net/user/themes/ethica/templates/home.html.twig"); + } +} diff --git a/cache/twig/ff/ffb161266ef718b362f1a63059c92f28726484aba26b23c90d383419feaf962c.php b/cache/twig/ff/ffb161266ef718b362f1a63059c92f28726484aba26b23c90d383419feaf962c.php new file mode 100644 index 0000000..1dbea25 --- /dev/null +++ b/cache/twig/ff/ffb161266ef718b362f1a63059c92f28726484aba26b23c90d383419feaf962c.php @@ -0,0 +1,272 @@ +parent = false; + + $this->blocks = array( + ); + } + + protected function doDisplay(array $context, array $blocks = array()) + { + // line 1 + $context["value"] = (((null === ($context["value"] ?? null))) ? ($this->getAttribute(($context["field"] ?? null), "default", array())) : (($context["value"] ?? null))); + // line 2 + $context["siblings"] = $this->getAttribute($this->getAttribute(($context["data"] ?? null), "parent", array()), "children", array()); + // line 3 + $context["canOrder"] = $this->getAttribute(($context["data"] ?? null), "order", array()); + // line 4 + $context["vertical"] = ($this->getAttribute(($context["field"] ?? null), "style", array()) == "vertical"); + // line 5 + echo " +
                                                                      +
                                                                      + +
                                                                      +
                                                                      +
                                                                      env, $this->getAttribute(($context["field"] ?? null), "size", array()), "html", null, true); + echo "\"> + + getAttribute(($context["field"] ?? null), "disabled", array()) || ($context["isDisabledToggleable"] ?? null))) { + echo "disabled=\"disabled\""; + } + // line 24 + echo " name=\""; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Common\Twig\TwigExtension')->fieldNameFilter((($context["scope"] ?? null) . $this->getAttribute(($context["field"] ?? null), "name", array()))), "html", null, true); + echo "\" + value=\"\" /> + "; + // line 26 + if ( !($context["canOrder"] ?? null)) { + // line 27 + echo "
                                                                      "; + echo $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.ORDERING_DISABLED_BECAUSE_PAGE_NO_PREFIX"); + echo "
                                                                      + "; + } + // line 29 + echo " + "; + // line 30 + if ((twig_length_filter($this->env, ($context["siblings"] ?? null)) < 200)) { + // line 31 + echo " "; + $context["sortable_count"] = 0; + // line 32 + echo "\t\t\t\t
                                                                        env, $this->getAttribute(($context["field"] ?? null), "classes", array()), "html", null, true); + echo "\"> +\t\t\t "; + // line 33 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable(($context["siblings"] ?? null)); + $context['loop'] = array( + 'parent' => $context['_parent'], + 'index0' => 0, + 'index' => 1, + 'first' => true, + ); + foreach ($context['_seq'] as $context["_key"] => $context["page"]) { + if ($this->getAttribute($context["page"], "order", array())) { + // line 34 + echo "\t\t\t\t\t
                                                                      • env, $this->getAttribute($context["page"], "slug", array()), "html", null, true); + echo "\" "; + echo ((($this->getAttribute($context["page"], "slug", array()) == $this->getAttribute(($context["data"] ?? null), "slug", array()))) ? ("data-active-id") : ("")); + echo ">"; + echo twig_escape_filter($this->env, $this->getAttribute($context["page"], "order", array()), "html", null, true); + echo " "; + echo twig_escape_filter($this->env, $this->getAttribute($context["page"], "title", array())); + echo " env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->getPageUrl($context, $context["page"]), "html", null, true); + echo "\">
                                                                      • + "; + // line 35 + $context["sortable_count"] = $this->getAttribute($context["loop"], "index", array()); + // line 36 + echo " "; + ++$context['loop']['index0']; + ++$context['loop']['index']; + $context['loop']['first'] = false; + } + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['page'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 37 + echo "\t\t\t\t
                                                                      + "; + // line 38 + if ((($context["sortable_count"] ?? null) < twig_length_filter($this->env, ($context["siblings"] ?? null)))) { + // line 39 + echo " +
                                                                        + "; + // line 41 + $context['_parent'] = $context; + $context['_seq'] = twig_ensure_traversable(($context["siblings"] ?? null)); + foreach ($context['_seq'] as $context["_key"] => $context["page"]) { + if ( !$this->getAttribute($context["page"], "order", array())) { + // line 42 + echo "
                                                                      • getAttribute($context["page"], "slug", array()) == $this->getAttribute(($context["data"] ?? null), "slug", array()))) ? ("data-active-id") : ("")); + echo ">"; + echo twig_escape_filter($this->env, $this->getAttribute($context["page"], "title", array())); + echo " env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->getPageUrl($context, $context["page"]), "html", null, true); + echo "\">
                                                                      • + "; + } + } + $_parent = $context['_parent']; + unset($context['_seq'], $context['_iterated'], $context['_key'], $context['page'], $context['_parent'], $context['loop']); + $context = array_intersect_key($context, $_parent) + $_parent; + // line 44 + echo "
                                                                      + "; + } + // line 46 + echo "\t\t\t"; + } else { + // line 47 + echo "
                                                                      "; + echo twig_escape_filter($this->env, $this->env->getExtension('Grav\Plugin\Admin\AdminTwigExtension')->tuFilter("PLUGIN_ADMIN.ORDERING_DISABLED_BECAUSE_TOO_MANY_SIBLINGS"), "html", null, true); + echo "
                                                                      +\t\t\t"; + } + // line 49 + echo "
                                                                      +
                                                                      +
                                                                      +"; + } + + public function getTemplateName() + { + return "forms/fields/order/order.html.twig"; + } + + public function isTraitable() + { + return false; + } + + public function getDebugInfo() + { + return array ( 188 => 49, 182 => 47, 179 => 46, 175 => 44, 161 => 42, 156 => 41, 152 => 39, 150 => 38, 147 => 37, 137 => 36, 135 => 35, 122 => 34, 111 => 33, 106 => 32, 103 => 31, 101 => 30, 98 => 29, 92 => 27, 90 => 26, 84 => 24, 80 => 23, 72 => 18, 66 => 17, 59 => 14, 53 => 12, 45 => 10, 43 => 9, 36 => 7, 30 => 6, 27 => 5, 25 => 4, 23 => 3, 21 => 2, 19 => 1,); + } + + /** @deprecated since 1.27 (to be removed in 2.0). Use getSourceContext() instead */ + public function getSource() + { + @trigger_error('The '.__METHOD__.' method is deprecated since version 1.27 and will be removed in 2.0. Use getSourceContext() instead.', E_USER_DEPRECATED); + + return $this->getSourceContext()->getCode(); + } + + public function getSourceContext() + { + return new Twig_Source("{% set value = (value is null ? field.default : value) %} +{% set siblings = data.parent.children %} +{% set canOrder = data.order %} +{% set vertical = field.style == 'vertical' %} + +
                                                                      +
                                                                      + +
                                                                      +
                                                                      +
                                                                      + + + {% if not canOrder %} +
                                                                      {{ \"PLUGIN_ADMIN.ORDERING_DISABLED_BECAUSE_PAGE_NO_PREFIX\"|tu|raw }}
                                                                      + {% endif %} + + {% if siblings|length < 200 %} + {% set sortable_count = 0 %} +\t\t\t\t
                                                                        +\t\t\t {% for page in siblings if page.order %} +\t\t\t\t\t
                                                                      • {{ page.order }} {{ page.title|e }}
                                                                      • + {% set sortable_count = loop.index %} + {% endfor %} +\t\t\t\t
                                                                      + {% if sortable_count < siblings|length %} + +
                                                                        + {% for page in siblings if not page.order %} +
                                                                      • {{ page.title|e }}
                                                                      • + {% endfor %} +
                                                                      + {% endif %} +\t\t\t{% else %} +
                                                                      {{ \"PLUGIN_ADMIN.ORDERING_DISABLED_BECAUSE_TOO_MANY_SIBLINGS\"|tu }}
                                                                      +\t\t\t{% endif %} +
                                                                      +
                                                                      +
                                                                      +", "forms/fields/order/order.html.twig", "/mnt/data/Sites/static-ethica.net/user/plugins/admin/themes/grav/templates/forms/fields/order/order.html.twig"); + } +} diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..9fb3b9c --- /dev/null +++ b/composer.json @@ -0,0 +1,68 @@ +{ + "name": "getgrav/grav", + "type": "project", + "description": "Modern, Crazy Fast, Ridiculously Easy and Amazingly Powerful Flat-File CMS", + "keywords": ["cms","flat-file cms","flat cms","flatfile cms","php"], + "homepage": "http://getgrav.org", + "license": "MIT", + "require": { + "php": ">=5.5.9", + "twig/twig": "~1.24", + "erusev/parsedown": "~1.6", + "erusev/parsedown-extra": "~0.7", + "symfony/yaml": "~2.8", + "symfony/console": "~2.8", + "symfony/event-dispatcher": "~2.8", + "symfony/var-dumper": "~2.8", + "symfony/polyfill-iconv": "~1.0", + "doctrine/cache": "1.6.*", + "doctrine/collections": "1.3", + "filp/whoops": "~2.0", + "matthiasmullie/minify": "^1.3", + "monolog/monolog": "~1.0", + "gregwar/image": "2.*", + "donatj/phpuseragentparser": "~0.3", + "pimple/pimple": "~3.0", + "rockettheme/toolbox": "~1.0", + "maximebf/debugbar": "~1.10", + "ext-mbstring": "*", + "ext-openssl": "*", + "ext-curl": "*", + "ext-zip": "*", + "league/climate": "^3.2", + "antoligy/dom-string-iterators": "^1.0", + "miljar/php-exif": "^0.6.3", + "composer/ca-bundle": "^1.0" + }, + "require-dev": { + "codeception/codeception": "^2.1", + "phpunit/php-code-coverage": "~2.0", + "fzaninotto/faker": "^1.5", + "victorjonsson/markdowndocs": "dev-master" + }, + "repositories": [ + { + "type": "vcs", + "url": "https://github.com/trilbymedia/PHP-Markdown-Documentation-Generator" + } + ], + "autoload": { + "psr-4": { + "Grav\\": "system/src/Grav" + }, + "files": ["system/defines.php"] + }, + "archive": { + "exclude": ["VERSION"] + }, + "scripts": { + "post-create-project-cmd": "bin/grav install", + "test": "vendor/bin/codecept run unit", + "test-windows": "vendor\\bin\\codecept run unit" + }, + "extra": { + "branch-alias": { + "dev-develop": "1.x-dev" + } + } +} diff --git a/composer.lock b/composer.lock new file mode 100644 index 0000000..138dd9f --- /dev/null +++ b/composer.lock @@ -0,0 +1,3536 @@ +{ + "_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#composer-lock-the-lock-file", + "This file is @generated automatically" + ], + "content-hash": "24c56b5fbd83e5c8173f1c38c2805b68", + "packages": [ + { + "name": "antoligy/dom-string-iterators", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/antoligy/dom-string-iterators.git", + "reference": "9a624b082493fee9b972840dbd677494edb94cf7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/antoligy/dom-string-iterators/zipball/9a624b082493fee9b972840dbd677494edb94cf7", + "reference": "9a624b082493fee9b972840dbd677494edb94cf7", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Public Domain" + ], + "authors": [ + { + "name": "Alex Wilson", + "email": "a@ax.gy" + }, + { + "name": "Kornel Lesinski", + "email": "pornel@pornel.net" + }, + { + "name": "Patrick Galbraith", + "email": "patrick.j.galbraith@gmail.com" + } + ], + "description": "Composer package for DOMWordsIterator and DOMLettersIterator", + "time": "2015-11-04T17:33:14+00:00" + }, + { + "name": "composer/ca-bundle", + "version": "1.0.8", + "source": { + "type": "git", + "url": "https://github.com/composer/ca-bundle.git", + "reference": "9dd73a03951357922d8aee6cc084500de93e2343" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/9dd73a03951357922d8aee6cc084500de93e2343", + "reference": "9dd73a03951357922d8aee6cc084500de93e2343", + "shasum": "" + }, + "require": { + "ext-openssl": "*", + "ext-pcre": "*", + "php": "^5.3.2 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.5", + "psr/log": "^1.0", + "symfony/process": "^2.5 || ^3.0" + }, + "suggest": { + "symfony/process": "This is necessary to reliably check whether openssl_x509_parse is vulnerable on older php versions, but can be ignored on PHP 5.5.6+" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\CaBundle\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", + "keywords": [ + "cabundle", + "cacert", + "certificate", + "ssl", + "tls" + ], + "time": "2017-09-11T07:24:36+00:00" + }, + { + "name": "doctrine/cache", + "version": "v1.6.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/cache.git", + "reference": "eb152c5100571c7a45470ff2a35095ab3f3b900b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/cache/zipball/eb152c5100571c7a45470ff2a35095ab3f3b900b", + "reference": "eb152c5100571c7a45470ff2a35095ab3f3b900b", + "shasum": "" + }, + "require": { + "php": "~5.5|~7.0" + }, + "conflict": { + "doctrine/common": ">2.2,<2.4" + }, + "require-dev": { + "phpunit/phpunit": "~4.8|~5.0", + "predis/predis": "~1.0", + "satooshi/php-coveralls": "~0.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Caching library offering an object-oriented API for many cache backends", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "cache", + "caching" + ], + "time": "2017-07-22T12:49:21+00:00" + }, + { + "name": "doctrine/collections", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/collections.git", + "reference": "6c1e4eef75f310ea1b3e30945e9f06e652128b8a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/collections/zipball/6c1e4eef75f310ea1b3e30945e9f06e652128b8a", + "reference": "6c1e4eef75f310ea1b3e30945e9f06e652128b8a", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\Collections\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Collections Abstraction library", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "array", + "collections", + "iterator" + ], + "time": "2015-04-14T22:21:58+00:00" + }, + { + "name": "donatj/phpuseragentparser", + "version": "v0.7.0", + "source": { + "type": "git", + "url": "https://github.com/donatj/PhpUserAgent.git", + "reference": "73c819d4c7de034f1bfb7c7a36259192d7d7472a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/donatj/PhpUserAgent/zipball/73c819d4c7de034f1bfb7c7a36259192d7d7472a", + "reference": "73c819d4c7de034f1bfb7c7a36259192d7d7472a", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "camspiers/json-pretty": "0.1.*", + "donatj/drop": "*", + "phpunit/phpunit": ">=4.8" + }, + "type": "library", + "autoload": { + "files": [ + "Source/UserAgentParser.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jesse G. Donat", + "email": "donatj@gmail.com", + "homepage": "http://donatstudios.com", + "role": "Developer" + } + ], + "description": "Simple, streamlined PHP user-agent parser", + "homepage": "http://donatstudios.com/PHP-Parser-HTTP_USER_AGENT", + "keywords": [ + "browser", + "browser detection", + "parser", + "user agent", + "useragent" + ], + "time": "2017-03-01T22:19:13+00:00" + }, + { + "name": "erusev/parsedown", + "version": "1.6.3", + "source": { + "type": "git", + "url": "https://github.com/erusev/parsedown.git", + "reference": "728952b90a333b5c6f77f06ea9422b94b585878d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/erusev/parsedown/zipball/728952b90a333b5c6f77f06ea9422b94b585878d", + "reference": "728952b90a333b5c6f77f06ea9422b94b585878d", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Parsedown": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Emanuil Rusev", + "email": "hello@erusev.com", + "homepage": "http://erusev.com" + } + ], + "description": "Parser for Markdown.", + "homepage": "http://parsedown.org", + "keywords": [ + "markdown", + "parser" + ], + "time": "2017-05-14T14:47:48+00:00" + }, + { + "name": "erusev/parsedown-extra", + "version": "0.7.1", + "source": { + "type": "git", + "url": "https://github.com/erusev/parsedown-extra.git", + "reference": "0db5cce7354e4b76f155d092ab5eb3981c21258c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/erusev/parsedown-extra/zipball/0db5cce7354e4b76f155d092ab5eb3981c21258c", + "reference": "0db5cce7354e4b76f155d092ab5eb3981c21258c", + "shasum": "" + }, + "require": { + "erusev/parsedown": "~1.4" + }, + "type": "library", + "autoload": { + "psr-0": { + "ParsedownExtra": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Emanuil Rusev", + "email": "hello@erusev.com", + "homepage": "http://erusev.com" + } + ], + "description": "An extension of Parsedown that adds support for Markdown Extra.", + "homepage": "https://github.com/erusev/parsedown-extra", + "keywords": [ + "markdown", + "markdown extra", + "parsedown", + "parser" + ], + "time": "2015-11-01T10:19:22+00:00" + }, + { + "name": "filp/whoops", + "version": "2.1.10", + "source": { + "type": "git", + "url": "https://github.com/filp/whoops.git", + "reference": "ffbbd2c06c64b08fb47974eed5dbce4ca2bb0eec" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filp/whoops/zipball/ffbbd2c06c64b08fb47974eed5dbce4ca2bb0eec", + "reference": "ffbbd2c06c64b08fb47974eed5dbce4ca2bb0eec", + "shasum": "" + }, + "require": { + "php": "^5.5.9 || ^7.0", + "psr/log": "^1.0.1" + }, + "require-dev": { + "mockery/mockery": "0.9.*", + "phpunit/phpunit": "^4.8 || ^5.0", + "symfony/var-dumper": "^2.6 || ^3.0" + }, + "suggest": { + "symfony/var-dumper": "Pretty print complex values better with var-dumper available", + "whoops/soap": "Formats errors as SOAP responses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "psr-4": { + "Whoops\\": "src/Whoops/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Filipe Dobreira", + "homepage": "https://github.com/filp", + "role": "Developer" + } + ], + "description": "php error handling for cool kids", + "homepage": "https://filp.github.io/whoops/", + "keywords": [ + "error", + "exception", + "handling", + "library", + "whoops", + "zf2" + ], + "time": "2017-08-03T18:23:40+00:00" + }, + { + "name": "gregwar/cache", + "version": "v1.0.12", + "target-dir": "Gregwar/Cache", + "source": { + "type": "git", + "url": "https://github.com/Gregwar/Cache.git", + "reference": "305d0f5a12c0beecbbd7e1de236f59f39e0c0ac3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Gregwar/Cache/zipball/305d0f5a12c0beecbbd7e1de236f59f39e0c0ac3", + "reference": "305d0f5a12c0beecbbd7e1de236f59f39e0c0ac3", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "type": "library", + "autoload": { + "psr-0": { + "Gregwar\\Cache": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gregwar", + "email": "g.passault@gmail.com" + } + ], + "description": "A lightweight file-system cache system", + "keywords": [ + "cache", + "caching", + "file-system", + "system" + ], + "time": "2016-09-23T08:16:04+00:00" + }, + { + "name": "gregwar/image", + "version": "v2.0.21", + "target-dir": "Gregwar/Image", + "source": { + "type": "git", + "url": "https://github.com/Gregwar/Image.git", + "reference": "c9899e4c71009338f89a8c63c12c681692533ede" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Gregwar/Image/zipball/c9899e4c71009338f89a8c63c12c681692533ede", + "reference": "c9899e4c71009338f89a8c63c12c681692533ede", + "shasum": "" + }, + "require": { + "ext-gd": "*", + "gregwar/cache": "^1.0.6", + "php": "^5.3 || ^7.0" + }, + "require-dev": { + "sllh/php-cs-fixer-styleci-bridge": "~1.0", + "symfony/phpunit-bridge": "^2.7.4 || ^3.0" + }, + "suggest": { + "behat/transliterator": "Transliterator provides ability to set non-latin1 pretty names" + }, + "type": "library", + "autoload": { + "psr-0": { + "Gregwar\\Image": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Grégoire Passault", + "email": "g.passault@gmail.com", + "homepage": "http://www.gregwar.com/" + } + ], + "description": "Image handling", + "homepage": "https://github.com/Gregwar/Image", + "keywords": [ + "gd", + "image" + ], + "time": "2017-01-24T09:29:39+00:00" + }, + { + "name": "league/climate", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/climate.git", + "reference": "b103fc8faa3780c802cc507d5f0ff534ecc94fb5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/climate/zipball/b103fc8faa3780c802cc507d5f0ff534ecc94fb5", + "reference": "b103fc8faa3780c802cc507d5f0ff534ecc94fb5", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "seld/cli-prompt": "~1.0" + }, + "require-dev": { + "mikey179/vfsstream": "~1.4", + "mockery/mockery": "~0.9", + "phpunit/phpunit": "~4.6" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\CLImate\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Joe Tannenbaum", + "email": "hey@joe.codes", + "homepage": "http://joe.codes/", + "role": "Developer" + } + ], + "description": "PHP's best friend for the terminal. CLImate allows you to easily output colored text, special formats, and more.", + "keywords": [ + "cli", + "colors", + "command", + "php", + "terminal" + ], + "time": "2016-04-04T20:24:59+00:00" + }, + { + "name": "matthiasmullie/minify", + "version": "1.3.52", + "source": { + "type": "git", + "url": "https://github.com/matthiasmullie/minify.git", + "reference": "134b25a63d83a80ae128aedc9a99987e064b4382" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/matthiasmullie/minify/zipball/134b25a63d83a80ae128aedc9a99987e064b4382", + "reference": "134b25a63d83a80ae128aedc9a99987e064b4382", + "shasum": "" + }, + "require": { + "ext-pcre": "*", + "matthiasmullie/path-converter": "~1.1", + "php": ">=5.3.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~1.0", + "matthiasmullie/scrapbook": "~1.0", + "phpunit/phpunit": "~4.8" + }, + "suggest": { + "psr/cache-implementation": "Cache implementation to use with Minify::cache" + }, + "bin": [ + "bin/minifycss", + "bin/minifyjs" + ], + "type": "library", + "autoload": { + "psr-4": { + "MatthiasMullie\\Minify\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Matthias Mullie", + "email": "minify@mullie.eu", + "homepage": "http://www.mullie.eu", + "role": "Developer" + } + ], + "description": "CSS & JS minifier", + "homepage": "http://www.minifier.org", + "keywords": [ + "JS", + "css", + "javascript", + "minifier", + "minify" + ], + "time": "2017-09-15T13:02:11+00:00" + }, + { + "name": "matthiasmullie/path-converter", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/matthiasmullie/path-converter.git", + "reference": "08551ec1b156e923c242a10ab484bd4d6ead6631" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/matthiasmullie/path-converter/zipball/08551ec1b156e923c242a10ab484bd4d6ead6631", + "reference": "08551ec1b156e923c242a10ab484bd4d6ead6631", + "shasum": "" + }, + "require": { + "ext-pcre": "*", + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "MatthiasMullie\\PathConverter\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Matthias Mullie", + "email": "pathconverter@mullie.eu", + "homepage": "http://www.mullie.eu", + "role": "Developer" + } + ], + "description": "Relative path converter", + "homepage": "http://github.com/matthiasmullie/path-converter", + "keywords": [ + "converter", + "path", + "paths", + "relative" + ], + "time": "2017-01-26T08:54:49+00:00" + }, + { + "name": "maximebf/debugbar", + "version": "v1.14.0", + "source": { + "type": "git", + "url": "https://github.com/maximebf/php-debugbar.git", + "reference": "e23a98f2d65607d8aa6c7b409a513f8fdf4acdde" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/e23a98f2d65607d8aa6c7b409a513f8fdf4acdde", + "reference": "e23a98f2d65607d8aa6c7b409a513f8fdf4acdde", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "psr/log": "^1.0", + "symfony/var-dumper": "^2.6|^3.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0|^5.0" + }, + "suggest": { + "kriswallsmith/assetic": "The best way to manage assets", + "monolog/monolog": "Log using Monolog", + "predis/predis": "Redis storage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.14-dev" + } + }, + "autoload": { + "psr-4": { + "DebugBar\\": "src/DebugBar/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Maxime Bouroumeau-Fuseau", + "email": "maxime.bouroumeau@gmail.com", + "homepage": "http://maximebf.com" + }, + { + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" + } + ], + "description": "Debug bar in the browser for php application", + "homepage": "https://github.com/maximebf/php-debugbar", + "keywords": [ + "debug", + "debugbar" + ], + "time": "2017-08-17T07:17:00+00:00" + }, + { + "name": "miljar/php-exif", + "version": "v0.6.3", + "source": { + "type": "git", + "url": "https://github.com/PHPExif/php-exif.git", + "reference": "e43cc30608824d7f3466653b52bbbb71874b5b02" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPExif/php-exif/zipball/e43cc30608824d7f3466653b52bbbb71874b5b02", + "reference": "e43cc30608824d7f3466653b52bbbb71874b5b02", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "phpmd/phpmd": "~2.2", + "phpunit/phpunit": "3.7.*", + "satooshi/php-coveralls": "~0.6", + "sebastian/phpcpd": "1.4.*@stable", + "squizlabs/php_codesniffer": "1.4.*@stable" + }, + "suggest": { + "ext-exif": "Use exif PHP extension as adapter", + "lib-exiftool": "Use perl lib exiftool as adapter" + }, + "type": "library", + "autoload": { + "psr-0": { + "PHPExif": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Tom Van Herreweghe", + "homepage": "http://theanalogguy.be", + "role": "Developer" + } + ], + "description": "Object-Oriented EXIF parsing", + "keywords": [ + "IPTC", + "exif", + "exiftool", + "jpeg", + "tiff" + ], + "time": "2017-02-06T14:40:26+00:00" + }, + { + "name": "monolog/monolog", + "version": "1.23.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd8c787753b3a2ad11bc60c063cff1358a32a3b4", + "reference": "fd8c787753b3a2ad11bc60c063cff1358a32a3b4", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "psr/log": "~1.0" + }, + "provide": { + "psr/log-implementation": "1.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "doctrine/couchdb": "~1.0@dev", + "graylog2/gelf-php": "~1.0", + "jakub-onderka/php-parallel-lint": "0.9", + "php-amqplib/php-amqplib": "~2.4", + "php-console/php-console": "^3.1.3", + "phpunit/phpunit": "~4.5", + "phpunit/phpunit-mock-objects": "2.3.0", + "ruflin/elastica": ">=0.90 <3.0", + "sentry/sentry": "^0.13", + "swiftmailer/swiftmailer": "^5.3|^6.0" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-mongo": "Allow sending log messages to a MongoDB server", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "php-console/php-console": "Allow sending log messages to Google Chrome", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server", + "sentry/sentry": "Allow sending log messages to a Sentry server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "http://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "time": "2017-06-19T01:22:40+00:00" + }, + { + "name": "pimple/pimple", + "version": "v3.2.2", + "source": { + "type": "git", + "url": "https://github.com/silexphp/Pimple.git", + "reference": "4d45fb62d96418396ec58ba76e6f065bca16e10a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silexphp/Pimple/zipball/4d45fb62d96418396ec58ba76e6f065bca16e10a", + "reference": "4d45fb62d96418396ec58ba76e6f065bca16e10a", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "psr/container": "^1.0" + }, + "require-dev": { + "symfony/phpunit-bridge": "^3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2.x-dev" + } + }, + "autoload": { + "psr-0": { + "Pimple": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Pimple, a simple Dependency Injection Container", + "homepage": "http://pimple.sensiolabs.org", + "keywords": [ + "container", + "dependency injection" + ], + "time": "2017-07-23T07:32:15+00:00" + }, + { + "name": "psr/container", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "time": "2017-02-14T16:28:37+00:00" + }, + { + "name": "psr/log", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2016-10-10T12:19:37+00:00" + }, + { + "name": "rockettheme/toolbox", + "version": "1.3.8", + "source": { + "type": "git", + "url": "https://github.com/rockettheme/toolbox.git", + "reference": "2f7c83780bbcf527e057f15efe755e10694eb2bc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/rockettheme/toolbox/zipball/2f7c83780bbcf527e057f15efe755e10694eb2bc", + "reference": "2f7c83780bbcf527e057f15efe755e10694eb2bc", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "pimple/pimple": "~3.0", + "symfony/event-dispatcher": ">2.5", + "symfony/yaml": ">2.5" + }, + "require-dev": { + "phpunit/phpunit": "~5.1.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "RocketTheme\\Toolbox\\ArrayTraits\\": "ArrayTraits/src", + "RocketTheme\\Toolbox\\Blueprints\\": "Blueprints/src", + "RocketTheme\\Toolbox\\DI\\": "DI/src", + "RocketTheme\\Toolbox\\Event\\": "Event/src", + "RocketTheme\\Toolbox\\File\\": "File/src", + "RocketTheme\\Toolbox\\ResourceLocator\\": "ResourceLocator/src", + "RocketTheme\\Toolbox\\Session\\": "Session/src", + "RocketTheme\\Toolbox\\StreamWrapper\\": "StreamWrapper/src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "RocketTheme Toolbox Library", + "homepage": "http://www.rockettheme.com", + "keywords": [ + "php", + "rockettheme" + ], + "time": "2017-09-23T13:39:25+00:00" + }, + { + "name": "seld/cli-prompt", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/cli-prompt.git", + "reference": "a19a7376a4689d4d94cab66ab4f3c816019ba8dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/cli-prompt/zipball/a19a7376a4689d4d94cab66ab4f3c816019ba8dd", + "reference": "a19a7376a4689d4d94cab66ab4f3c816019ba8dd", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Seld\\CliPrompt\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be" + } + ], + "description": "Allows you to prompt for user input on the command line, and optionally hide the characters they type", + "keywords": [ + "cli", + "console", + "hidden", + "input", + "prompt" + ], + "time": "2017-03-18T11:32:45+00:00" + }, + { + "name": "symfony/console", + "version": "v2.8.27", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "c0807a2ca978e64d8945d373a9221a5c35d1a253" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/c0807a2ca978e64d8945d373a9221a5c35d1a253", + "reference": "c0807a2ca978e64d8945d373a9221a5c35d1a253", + "shasum": "" + }, + "require": { + "php": ">=5.3.9", + "symfony/debug": "^2.7.2|~3.0.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/event-dispatcher": "~2.1|~3.0.0", + "symfony/process": "~2.1|~3.0.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Console Component", + "homepage": "https://symfony.com", + "time": "2017-08-27T14:29:03+00:00" + }, + { + "name": "symfony/debug", + "version": "v3.0.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/debug.git", + "reference": "697c527acd9ea1b2d3efac34d9806bf255278b0a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/debug/zipball/697c527acd9ea1b2d3efac34d9806bf255278b0a", + "reference": "697c527acd9ea1b2d3efac34d9806bf255278b0a", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "psr/log": "~1.0" + }, + "conflict": { + "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" + }, + "require-dev": { + "symfony/class-loader": "~2.8|~3.0", + "symfony/http-kernel": "~2.8|~3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Debug\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Debug Component", + "homepage": "https://symfony.com", + "time": "2016-07-30T07:22:48+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v2.8.27", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "1377400fd641d7d1935981546aaef780ecd5bf6d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/1377400fd641d7d1935981546aaef780ecd5bf6d", + "reference": "1377400fd641d7d1935981546aaef780ecd5bf6d", + "shasum": "" + }, + "require": { + "php": ">=5.3.9" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "^2.0.5|~3.0.0", + "symfony/dependency-injection": "~2.6|~3.0.0", + "symfony/expression-language": "~2.6|~3.0.0", + "symfony/stopwatch": "~2.3|~3.0.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony EventDispatcher Component", + "homepage": "https://symfony.com", + "time": "2017-06-02T07:47:27+00:00" + }, + { + "name": "symfony/polyfill-iconv", + "version": "v1.5.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-iconv.git", + "reference": "1ea0e08453819ecc7130e1fb0ee10862c2f33ed0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/1ea0e08453819ecc7130e1fb0ee10862c2f33ed0", + "reference": "1ea0e08453819ecc7130e1fb0ee10862c2f33ed0", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-iconv": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.5-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Iconv\\": "" + }, + "files": [ + "bootstrap.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": "Symfony polyfill for the Iconv extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "iconv", + "polyfill", + "portable", + "shim" + ], + "time": "2017-06-14T15:44:48+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.5.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "7c8fae0ac1d216eb54349e6a8baa57d515fe8803" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7c8fae0ac1d216eb54349e6a8baa57d515fe8803", + "reference": "7c8fae0ac1d216eb54349e6a8baa57d515fe8803", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.5-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.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": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "time": "2017-06-14T15:44:48+00:00" + }, + { + "name": "symfony/var-dumper", + "version": "v2.8.27", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "83ebf3e92c0b2231fa63b8e584a2a3d3cd9876ef" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/83ebf3e92c0b2231fa63b8e584a2a3d3cd9876ef", + "reference": "83ebf3e92c0b2231fa63b8e584a2a3d3cd9876ef", + "shasum": "" + }, + "require": { + "php": ">=5.3.9", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0" + }, + "require-dev": { + "ext-iconv": "*", + "twig/twig": "~1.34|~2.4" + }, + "suggest": { + "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", + "ext-symfony_debug": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "files": [ + "Resources/functions/dump.php" + ], + "psr-4": { + "Symfony\\Component\\VarDumper\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "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": "Symfony mechanism for exploring and dumping PHP variables", + "homepage": "https://symfony.com", + "keywords": [ + "debug", + "dump" + ], + "time": "2017-08-27T14:29:03+00:00" + }, + { + "name": "symfony/yaml", + "version": "v2.8.27", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "4c29dec8d489c4e37cf87ccd7166cd0b0e6a45c5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/4c29dec8d489c4e37cf87ccd7166cd0b0e6a45c5", + "reference": "4c29dec8d489c4e37cf87ccd7166cd0b0e6a45c5", + "shasum": "" + }, + "require": { + "php": ">=5.3.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.8-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Yaml Component", + "homepage": "https://symfony.com", + "time": "2017-06-01T20:52:29+00:00" + }, + { + "name": "twig/twig", + "version": "v1.35.0", + "source": { + "type": "git", + "url": "https://github.com/twigphp/Twig.git", + "reference": "daa657073e55b0a78cce8fdd22682fddecc6385f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/daa657073e55b0a78cce8fdd22682fddecc6385f", + "reference": "daa657073e55b0a78cce8fdd22682fddecc6385f", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "psr/container": "^1.0", + "symfony/debug": "~2.7", + "symfony/phpunit-bridge": "~3.3@dev" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.35-dev" + } + }, + "autoload": { + "psr-0": { + "Twig_": "lib/" + }, + "psr-4": { + "Twig\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + }, + { + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" + }, + { + "name": "Twig Team", + "homepage": "http://twig.sensiolabs.org/contributors", + "role": "Contributors" + } + ], + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "http://twig.sensiolabs.org", + "keywords": [ + "templating" + ], + "time": "2017-09-27T18:06:46+00:00" + } + ], + "packages-dev": [ + { + "name": "behat/gherkin", + "version": "v4.4.5", + "source": { + "type": "git", + "url": "https://github.com/Behat/Gherkin.git", + "reference": "5c14cff4f955b17d20d088dec1bde61c0539ec74" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Behat/Gherkin/zipball/5c14cff4f955b17d20d088dec1bde61c0539ec74", + "reference": "5c14cff4f955b17d20d088dec1bde61c0539ec74", + "shasum": "" + }, + "require": { + "php": ">=5.3.1" + }, + "require-dev": { + "phpunit/phpunit": "~4.5|~5", + "symfony/phpunit-bridge": "~2.7|~3", + "symfony/yaml": "~2.3|~3" + }, + "suggest": { + "symfony/yaml": "If you want to parse features, represented in YAML files" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.4-dev" + } + }, + "autoload": { + "psr-0": { + "Behat\\Gherkin": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + } + ], + "description": "Gherkin DSL parser for PHP 5.3", + "homepage": "http://behat.org/", + "keywords": [ + "BDD", + "Behat", + "Cucumber", + "DSL", + "gherkin", + "parser" + ], + "time": "2016-10-30T11:50:56+00:00" + }, + { + "name": "codeception/codeception", + "version": "2.3.5", + "source": { + "type": "git", + "url": "https://github.com/Codeception/Codeception.git", + "reference": "e807cd458eb9f7ae7464f33ad835a2f54aa73194" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Codeception/Codeception/zipball/e807cd458eb9f7ae7464f33ad835a2f54aa73194", + "reference": "e807cd458eb9f7ae7464f33ad835a2f54aa73194", + "shasum": "" + }, + "require": { + "behat/gherkin": "~4.4.0", + "ext-json": "*", + "ext-mbstring": "*", + "facebook/webdriver": ">=1.1.3 <2.0", + "guzzlehttp/guzzle": ">=4.1.4 <7.0", + "guzzlehttp/psr7": "~1.0", + "php": ">=5.4.0 <8.0", + "phpunit/php-code-coverage": ">=2.2.4 <6.0", + "phpunit/phpunit": ">4.8.20 <7.0", + "phpunit/phpunit-mock-objects": ">2.3 <5.0", + "sebastian/comparator": ">1.1 <3.0", + "sebastian/diff": "^1.4", + "stecman/symfony-console-completion": "^0.7.0", + "symfony/browser-kit": ">=2.7 <4.0", + "symfony/console": ">=2.7 <4.0", + "symfony/css-selector": ">=2.7 <4.0", + "symfony/dom-crawler": ">=2.7.5 <4.0", + "symfony/event-dispatcher": ">=2.7 <4.0", + "symfony/finder": ">=2.7 <4.0", + "symfony/yaml": ">=2.7 <4.0" + }, + "require-dev": { + "codeception/specify": "~0.3", + "facebook/graph-sdk": "~5.3", + "flow/jsonpath": "~0.2", + "league/factory-muffin": "^3.0", + "league/factory-muffin-faker": "^1.0", + "mongodb/mongodb": "^1.0", + "monolog/monolog": "~1.8", + "pda/pheanstalk": "~3.0", + "php-amqplib/php-amqplib": "~2.4", + "predis/predis": "^1.0", + "squizlabs/php_codesniffer": "~2.0", + "symfony/process": ">=2.7 <4.0", + "vlucas/phpdotenv": "^2.4.0" + }, + "suggest": { + "codeception/specify": "BDD-style code blocks", + "codeception/verify": "BDD-style assertions", + "flow/jsonpath": "For using JSONPath in REST module", + "league/factory-muffin": "For DataFactory module", + "league/factory-muffin-faker": "For Faker support in DataFactory module", + "phpseclib/phpseclib": "for SFTP option in FTP Module", + "symfony/phpunit-bridge": "For phpunit-bridge support" + }, + "bin": [ + "codecept" + ], + "type": "library", + "extra": { + "branch-alias": [] + }, + "autoload": { + "psr-4": { + "Codeception\\": "src\\Codeception", + "Codeception\\Extension\\": "ext" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Bodnarchuk", + "email": "davert@mail.ua", + "homepage": "http://codegyre.com" + } + ], + "description": "BDD-style testing framework", + "homepage": "http://codeception.com/", + "keywords": [ + "BDD", + "TDD", + "acceptance testing", + "functional testing", + "unit testing" + ], + "time": "2017-08-10T20:28:02+00:00" + }, + { + "name": "doctrine/instantiator", + "version": "1.0.5", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", + "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", + "shasum": "" + }, + "require": { + "php": ">=5.3,<8.0-DEV" + }, + "require-dev": { + "athletic/athletic": "~0.1.8", + "ext-pdo": "*", + "ext-phar": "*", + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "~2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://ocramius.github.com/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://github.com/doctrine/instantiator", + "keywords": [ + "constructor", + "instantiate" + ], + "time": "2015-06-14T21:17:01+00:00" + }, + { + "name": "facebook/webdriver", + "version": "1.4.1", + "source": { + "type": "git", + "url": "https://github.com/facebook/php-webdriver.git", + "reference": "eadb0b7a7c3e6578185197fd40158b08c3164c83" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/facebook/php-webdriver/zipball/eadb0b7a7c3e6578185197fd40158b08c3164c83", + "reference": "eadb0b7a7c3e6578185197fd40158b08c3164c83", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-zip": "*", + "php": "^5.5 || ~7.0", + "symfony/process": "^2.8 || ^3.1" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.0", + "php-mock/php-mock-phpunit": "^1.1", + "phpunit/phpunit": "4.6.* || ~5.0", + "satooshi/php-coveralls": "^1.0", + "squizlabs/php_codesniffer": "^2.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-community": "1.5-dev" + } + }, + "autoload": { + "psr-4": { + "Facebook\\WebDriver\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "A PHP client for Selenium WebDriver", + "homepage": "https://github.com/facebook/php-webdriver", + "keywords": [ + "facebook", + "php", + "selenium", + "webdriver" + ], + "time": "2017-04-28T14:54:49+00:00" + }, + { + "name": "fzaninotto/faker", + "version": "v1.7.1", + "source": { + "type": "git", + "url": "https://github.com/fzaninotto/Faker.git", + "reference": "d3ed4cc37051c1ca52d22d76b437d14809fc7e0d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/d3ed4cc37051c1ca52d22d76b437d14809fc7e0d", + "reference": "d3ed4cc37051c1ca52d22d76b437d14809fc7e0d", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "ext-intl": "*", + "phpunit/phpunit": "^4.0 || ^5.0", + "squizlabs/php_codesniffer": "^1.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8-dev" + } + }, + "autoload": { + "psr-4": { + "Faker\\": "src/Faker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "François Zaninotto" + } + ], + "description": "Faker is a PHP library that generates fake data for you.", + "keywords": [ + "data", + "faker", + "fixtures" + ], + "time": "2017-08-15T16:48:10+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "6.3.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/f4db5a78a5ea468d4831de7f0bf9d9415e348699", + "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699", + "shasum": "" + }, + "require": { + "guzzlehttp/promises": "^1.0", + "guzzlehttp/psr7": "^1.4", + "php": ">=5.5" + }, + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "^4.0 || ^5.0", + "psr/log": "^1.0" + }, + "suggest": { + "psr/log": "Required for using the Log middleware" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.2-dev" + } + }, + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "rest", + "web service" + ], + "time": "2017-06-22T18:50:49+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "v1.3.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "shasum": "" + }, + "require": { + "php": ">=5.5.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "time": "2016-12-20T10:07:11+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "1.4.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c", + "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "psr/http-message": "~1.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Schultze", + "homepage": "https://github.com/Tobion" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "request", + "response", + "stream", + "uri", + "url" + ], + "time": "2017-03-20T17:10:46+00:00" + }, + { + "name": "phpdocumentor/reflection-common", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "shasum": "" + }, + "require": { + "php": ">=5.5" + }, + "require-dev": { + "phpunit/phpunit": "^4.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "time": "2017-09-11T18:02:19+00:00" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "3.2.2", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "4aada1f93c72c35e22fb1383b47fee43b8f1d157" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/4aada1f93c72c35e22fb1383b47fee43b8f1d157", + "reference": "4aada1f93c72c35e22fb1383b47fee43b8f1d157", + "shasum": "" + }, + "require": { + "php": ">=5.5", + "phpdocumentor/reflection-common": "^1.0@dev", + "phpdocumentor/type-resolver": "^0.3.0", + "webmozart/assert": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "^4.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "time": "2017-08-08T06:39:58+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "0.3.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "fb3933512008d8162b3cdf9e18dba9309b7c3773" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/fb3933512008d8162b3cdf9e18dba9309b7c3773", + "reference": "fb3933512008d8162b3cdf9e18dba9309b7c3773", + "shasum": "" + }, + "require": { + "php": "^5.5 || ^7.0", + "phpdocumentor/reflection-common": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^0.9.4", + "phpunit/phpunit": "^5.2||^4.8.24" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "time": "2017-06-03T08:32:36+00:00" + }, + { + "name": "phpspec/prophecy", + "version": "v1.7.2", + "source": { + "type": "git", + "url": "https://github.com/phpspec/prophecy.git", + "reference": "c9b8c6088acd19d769d4cc0ffa60a9fe34344bd6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/c9b8c6088acd19d769d4cc0ffa60a9fe34344bd6", + "reference": "c9b8c6088acd19d769d4cc0ffa60a9fe34344bd6", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.0.2", + "php": "^5.3|^7.0", + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", + "sebastian/comparator": "^1.1|^2.0", + "sebastian/recursion-context": "^1.0|^2.0|^3.0" + }, + "require-dev": { + "phpspec/phpspec": "^2.5|^3.2", + "phpunit/phpunit": "^4.8 || ^5.6.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.7.x-dev" + } + }, + "autoload": { + "psr-0": { + "Prophecy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + }, + { + "name": "Marcello Duarte", + "email": "marcello.duarte@gmail.com" + } + ], + "description": "Highly opinionated mocking framework for PHP 5.3+", + "homepage": "https://github.com/phpspec/prophecy", + "keywords": [ + "Double", + "Dummy", + "fake", + "mock", + "spy", + "stub" + ], + "time": "2017-09-04T11:05:03+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "2.2.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", + "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "phpunit/php-file-iterator": "~1.3", + "phpunit/php-text-template": "~1.2", + "phpunit/php-token-stream": "~1.3", + "sebastian/environment": "^1.3.2", + "sebastian/version": "~1.0" + }, + "require-dev": { + "ext-xdebug": ">=2.1.4", + "phpunit/phpunit": "~4" + }, + "suggest": { + "ext-dom": "*", + "ext-xdebug": ">=2.2.1", + "ext-xmlwriter": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "time": "2015-10-06T15:47:00+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "1.4.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5", + "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "time": "2016-10-03T07:40:28+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "time": "2015-06-21T13:50:34+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "1.0.9", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", + "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "time": "2017-02-26T11:10:40+00:00" + }, + { + "name": "phpunit/php-token-stream", + "version": "1.4.11", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-token-stream.git", + "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/e03f8f67534427a787e21a385a67ec3ca6978ea7", + "reference": "e03f8f67534427a787e21a385a67ec3ca6978ea7", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Wrapper around PHP's tokenizer extension.", + "homepage": "https://github.com/sebastianbergmann/php-token-stream/", + "keywords": [ + "tokenizer" + ], + "time": "2017-02-27T10:12:30+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "4.8.36", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "46023de9a91eec7dfb06cc56cb4e260017298517" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/46023de9a91eec7dfb06cc56cb4e260017298517", + "reference": "46023de9a91eec7dfb06cc56cb4e260017298517", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-json": "*", + "ext-pcre": "*", + "ext-reflection": "*", + "ext-spl": "*", + "php": ">=5.3.3", + "phpspec/prophecy": "^1.3.1", + "phpunit/php-code-coverage": "~2.1", + "phpunit/php-file-iterator": "~1.4", + "phpunit/php-text-template": "~1.2", + "phpunit/php-timer": "^1.0.6", + "phpunit/phpunit-mock-objects": "~2.3", + "sebastian/comparator": "~1.2.2", + "sebastian/diff": "~1.2", + "sebastian/environment": "~1.3", + "sebastian/exporter": "~1.2", + "sebastian/global-state": "~1.0", + "sebastian/version": "~1.0", + "symfony/yaml": "~2.1|~3.0" + }, + "suggest": { + "phpunit/php-invoker": "~1.1" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.8.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "time": "2017-06-21T08:07:12+00:00" + }, + { + "name": "phpunit/phpunit-mock-objects", + "version": "2.3.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", + "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", + "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.0.2", + "php": ">=5.3.3", + "phpunit/php-text-template": "~1.2", + "sebastian/exporter": "~1.2" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "suggest": { + "ext-soap": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Mock Object library for PHPUnit", + "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", + "keywords": [ + "mock", + "xunit" + ], + "time": "2015-10-02T06:51:40+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" + ], + "time": "2016-08-06T14:39:51+00:00" + }, + { + "name": "sebastian/comparator", + "version": "1.2.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", + "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "sebastian/diff": "~1.2", + "sebastian/exporter": "~1.2 || ~2.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "http://www.github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "time": "2017-01-29T09:50:25+00:00" + }, + { + "name": "sebastian/diff", + "version": "1.4.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4", + "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff" + ], + "time": "2017-05-22T07:24:03+00:00" + }, + { + "name": "sebastian/environment", + "version": "1.3.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea", + "reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8 || ^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "time": "2016-08-18T05:49:44+00:00" + }, + { + "name": "sebastian/exporter", + "version": "1.2.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4", + "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "sebastian/recursion-context": "~1.0" + }, + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "http://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "time": "2016-06-17T09:04:28+00:00" + }, + { + "name": "sebastian/global-state", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", + "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.2" + }, + "suggest": { + "ext-uopz": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "time": "2015-10-12T03:26:01+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "1.0.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7", + "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "time": "2016-10-03T07:41:43+00:00" + }, + { + "name": "sebastian/version", + "version": "1.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", + "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", + "shasum": "" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "time": "2015-06-21T13:59:46+00:00" + }, + { + "name": "stecman/symfony-console-completion", + "version": "0.7.0", + "source": { + "type": "git", + "url": "https://github.com/stecman/symfony-console-completion.git", + "reference": "5461d43e53092b3d3b9dbd9d999f2054730f4bbb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/stecman/symfony-console-completion/zipball/5461d43e53092b3d3b9dbd9d999f2054730f4bbb", + "reference": "5461d43e53092b3d3b9dbd9d999f2054730f4bbb", + "shasum": "" + }, + "require": { + "php": ">=5.3.2", + "symfony/console": "~2.3 || ~3.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.6.x-dev" + } + }, + "autoload": { + "psr-4": { + "Stecman\\Component\\Symfony\\Console\\BashCompletion\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Stephen Holdaway", + "email": "stephen@stecman.co.nz" + } + ], + "description": "Automatic BASH completion for Symfony Console Component based applications.", + "time": "2016-02-24T05:08:54+00:00" + }, + { + "name": "symfony/browser-kit", + "version": "v3.3.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/browser-kit.git", + "reference": "aee7120b058c268363e606ff5fe8271da849a1b5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/aee7120b058c268363e606ff5fe8271da849a1b5", + "reference": "aee7120b058c268363e606ff5fe8271da849a1b5", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "symfony/dom-crawler": "~2.8|~3.0" + }, + "require-dev": { + "symfony/css-selector": "~2.8|~3.0", + "symfony/process": "~2.8|~3.0" + }, + "suggest": { + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\BrowserKit\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony BrowserKit Component", + "homepage": "https://symfony.com", + "time": "2017-07-29T21:54:42+00:00" + }, + { + "name": "symfony/css-selector", + "version": "v3.3.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/css-selector.git", + "reference": "c5f5263ed231f164c58368efbce959137c7d9488" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/c5f5263ed231f164c58368efbce959137c7d9488", + "reference": "c5f5263ed231f164c58368efbce959137c7d9488", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\CssSelector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony CssSelector Component", + "homepage": "https://symfony.com", + "time": "2017-07-29T21:54:42+00:00" + }, + { + "name": "symfony/dom-crawler", + "version": "v3.3.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/dom-crawler.git", + "reference": "6b511d7329b203a620f09a2288818d27dcc915ae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/6b511d7329b203a620f09a2288818d27dcc915ae", + "reference": "6b511d7329b203a620f09a2288818d27dcc915ae", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "symfony/css-selector": "~2.8|~3.0" + }, + "suggest": { + "symfony/css-selector": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\DomCrawler\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony DomCrawler Component", + "homepage": "https://symfony.com", + "time": "2017-09-11T15:55:22+00:00" + }, + { + "name": "symfony/finder", + "version": "v3.3.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "b2260dbc80f3c4198f903215f91a1ac7fe9fe09e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/b2260dbc80f3c4198f903215f91a1ac7fe9fe09e", + "reference": "b2260dbc80f3c4198f903215f91a1ac7fe9fe09e", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Finder Component", + "homepage": "https://symfony.com", + "time": "2017-07-29T21:54:42+00:00" + }, + { + "name": "symfony/process", + "version": "v3.3.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "b7666e9b438027a1ea0e1ee813ec5042d5d7f6f0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/b7666e9b438027a1ea0e1ee813ec5042d5d7f6f0", + "reference": "b7666e9b438027a1ea0e1ee813ec5042d5d7f6f0", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Process Component", + "homepage": "https://symfony.com", + "time": "2017-07-29T21:54:42+00:00" + }, + { + "name": "victorjonsson/markdowndocs", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/trilbymedia/PHP-Markdown-Documentation-Generator.git", + "reference": "c9fa153b28a79f5da89ec32aa501be92db212aed" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/trilbymedia/PHP-Markdown-Documentation-Generator/zipball/c9fa153b28a79f5da89ec32aa501be92db212aed", + "reference": "c9fa153b28a79f5da89ec32aa501be92db212aed", + "shasum": "" + }, + "require": { + "php": ">=5.5.0", + "symfony/console": ">=2.6" + }, + "require-dev": { + "phpunit/phpunit": "3.7.23" + }, + "bin": [ + "bin/phpdoc-md" + ], + "type": "library", + "autoload": { + "psr-0": { + "PHPDocsMD": "src/" + } + }, + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Victor Jonsson", + "email": "kontakt@victorjonsson.se" + } + ], + "description": "Command line tool for generating markdown-formatted class documentation", + "homepage": "https://github.com/victorjonsson/PHP-Markdown-Documentation-Generator", + "support": { + "source": "https://github.com/trilbymedia/PHP-Markdown-Documentation-Generator/tree/master" + }, + "time": "2017-09-20T13:29:22+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/webmozart/assert.git", + "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", + "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.6", + "sebastian/version": "^1.0.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "time": "2016-11-23T20:04:58+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": { + "victorjonsson/markdowndocs": 20 + }, + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": ">=5.5.9", + "ext-mbstring": "*", + "ext-openssl": "*", + "ext-curl": "*", + "ext-zip": "*" + }, + "platform-dev": [] +} diff --git a/images/.gitkeep b/images/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/images/0/1/3/0/3/01303267ac266a0a30f67dd9180150be56cb6c53-spinozapp006.jpeg b/images/0/1/3/0/3/01303267ac266a0a30f67dd9180150be56cb6c53-spinozapp006.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..5e4c4d28dea8cfa20497215af15a79021e036760 GIT binary patch literal 21971 zcmb5Vb9^Sj5;pqA#v9wo#v9wVZQIGlwr$(q7#rKRZD*s+-t0N&e&7A~*5EhouI`?i zs;6uIuKwKxAWMl!iUB}CKmZ0`2jK4~fLmBeR8U1;iHpeGgwD#r)SSqbk)DBw@`tmf zojH-DlsJ);f~Yu=D+dD=Es^67LmNvM4Wh%z;9%f^NGK>kBp?tK0}m4w4F??v#3IJR!N(^gBt*p|AtNCm!y_Oh_*V(YS5YWP zC`4#zL;^G*8o~c>`r8ixLW9tP#Djs506>8tU_g++g8*Cr2mlo9i`D;2AmE^2U%mWF z#QqwCfAoLT03e`X;1GY;0q|g7<&eRU0RWJ)XTO*~X(_vIA9XdujoD?T3?{@x;1a>% zQlNnel)+=;`>q^1&8tfxW4dx`_&+yR8KGn#{{mA2$)7Z39+_zPcb}gaV?F9z2-L@%)N+?Pjx_MsUKfuCv^u zuIplTvP5ZY6;ZgT#hI|Ut$y-@B|*3w!V{mH9Dmtm)7$#;F97?UjmyJN@}wJ)E@6dO z0Q^5p;qmg~V0Er{WOVrsS)Ao~)>g8qt{dlAQ#@BkyWLmi)|&!%2Xtt(!$pC5D03eNA@8H?E_ySW^! zZlxQx#_=hq9d_NKvay*$C(?>p&Q^BIwwIGNKJI5)mj}I|88>IUNqL!s@P!H-k|~=F zY%A5x*OerrZxTQTm3#`|$qPZ%_=lhCM%PsyzYjqf(_er*|95+_GRv6tcC&|vpNktQ z_BC;xX?bg_OA|U-7zYwj=$y1e*ozl&btf;sS3f!bHKaRD=*D(>k-qozp{G}e&mnCV zqsOP0$46nk-XOMI@;YEvECB%k*5%DrO<}NVPB*j5>zvnkr19G}b!~WU#D`ZW5XFZx zfvIh2jg0UO-QCnXpPjtx*bUq6t+00W)ZM0gUi+L^4IRJ9df0a=`)E$c{h?U$!hiq( zL{xvOBV;vQPmTTv5Fk;6@gFqh*f)pw$7wlldqrCD6@RMr;aSN)czUo$Z1+IY)uUNH zdOBKal|8-Zt4dmoX~2BUjuFTQ1q|n`YufB+P1`A>&I7>knj_oJrglQ3fE;!U8jqZ} zKhn+17dmA}M)_Lr`D>gnM$hj%61-g|r4U_Xrx|C)hbt^r8|riBxB>(KAkktfw(}Fd zZ_Cb3>ACTgq_EE%ch+=R(&80U8z~hhF4pFV%ci+Kq!kspF;Bl|4)fGr^_MuF4bMvb!hsf8+>G~Ot5x)aSwc?q-;T9Q^mQ~0fgiKUc| zHur-a{d>Mby&$}&Zw*stR_6LXKF+V^i@&s==ylui>Gh?!P!Tf(WWXul3ss25Vg;0b ztph`R+KiSvg*IiS(SGFC35Tr?Uw$o>5E{+fhMkr1=B(JLr)hnf&Qje!o|q_8wzxD^ zUU^Eh; zh6IZAxX19==)vYy??d$Mx3wH*?HcloB)Dp`?#ywI-=N&==kj7)(76%d&O^9XW?xp=~-iWEaD8*A51^vN#gZnHa){Idln$-g z`v>>LPxxdd$yja7^CxOo2n09;02zR_+`_3=O`3A>86ix!+;p8r6>;_-Q2-#Rsq8q} z^$pqWzTxXSozb&5lgj`AKm-4!t_WSxYHL5*N2KTU=KqTT!&$Df&WrfXN4n{JF+E~e zy*-%21W*8g1JIBGI8<9D)9YJh-X;+j|1tw8NvO4pYJJ5wUV5x&>bT+1e|ia*3j8Mt z93_H9p=bJ_HuQ?SI^!QN|DvH!Ts&IyvLCngZg`)X4O7|I@tG-A@}+>3FaeY({v_m} z=6I1^9cmo*KaFy#n1yT242$!n&?!*@C{^O6kPn`DmS6q8Bsdc?00aya6b1|o;(u}+ z6a)+$0E9q+L`5SaW@KU(KxSYeVHJcTB_kI?7Z&*v?a*HW9|Qt)wvh@&5mk#xa^FUo zLZ!MwO{!6~i*T?Q8NCBf9rikEP^f%kEsPb;UrdCwjf}iYDv%`KIN6#=O`t~CH|HDD zXSjN42alzd)^51OOJujAaT`;q0F3z0o|@3UX8A#v9V29x%Tk1+wIx!U#3_TJ#ZGG4 zpwf-3T)D+s9+VWrrd!gQ39Bq2u^-AygS*My{AIfQ*VtxiUcM|X&EYkCDwiIh2Q|`| z2<;Pc)~=2bbdAZE@flbI>cwP_o@NWl&xMf->4~k_W5i*c-;f)oQmJ5`ex#kWO%%|u zxZXiIbrWe74LZ?!$nwxkJl?c^?yna;d)p}6s4Pu8)!#X2f+Vs`MsOW?nw6OIAaL?z zm^1)@%bKM}Eb`ppO|TkKfClnba_vNFd7cfHi+s?ebS}p}2qsII4EQdq@LwSlj}MLA z4)M(modj&elo`I~M^q<3#7tKbqDWW1lU)84b{Qw79C2oovsw97T$V81okkK{@P;W$Pk7rHGw%tkOpUJJ z{GXmTL5CqN5^P~gQ@%m7Q1L5UghMN_dK?x9*e0Z_i!C@?2DQ6xsRX;8lr#GhOGr+{P}rvdo+q9N#trCAodjWu8|aGR~q3Y`RT zbeX+^C|s>Bsy~`swT%UN3v)%(?PM2qAc~8hqY_IHzBN`!bdI&D=I6n9jrXhyUwKNs ztWud3Hsh?v6#87sVO`l~Mv`WO-)M?u$y8m|kr&H@SfXr%Xu;j8|El^p)vXhiF2#Pw zs=O<6S5f%0R|+)@T*>T(~a99bXVW0apVovmR^=)MwfrTsrV)e7Ehu<2IrPc2>Nd7z7kRs z+Aj+ey)#Z3j5^1N$mFZ6l1L(=MV3pXKCh%5swJ&T{c3D0p`uVc*Rx)d=xBuK@WiBp z(BH!xPrEmAu`>dK>bUmp8I1;ZsY3mBS3u|tt}0T@sMVn~TSD>Xs2+P58VTEi&7*^f$}R39 z4a=p~k5L;_2sSVt`Bj#1A~&j4_^8vDwZA%dzNUP6@gPjmgF}e*$0TO)ww_WHDd@}Q zgj&bk_}zIq;rJ{UaH!a0eVJjsB8Pcs@I+J#;TG@J`Knp;e2YePVMEJdmQqJWy++pA zHS0~aSxffjiE~kXoMu{aD4vCeIFs4H|A-g8i?gEDvSgf7DTKD+r7Qc)!-C6C$LDp2 znqBWN0PdZhK!l!UU-d;q4{;s|GK$-vRdz+!Hr_=fhg3k;ky~t|)q%Mv+EgQWUD>|L zRfT^{O@x|G|Q#7bwfsg?05!)|AX3O!bzx~r{H zjxG=nC?e>%6i?jQp3+*C+})CHQXkYh^3~o6U$ZB1_E)J#;hbskNvv6=kQ*96Gl^9|sW>eM?*7Vjf7(m^f+HAwZDLqxW;?RdB-x#`8^;r6E&hV4&527 zH&OSv@TMOH`WDVr$lXHMFVi)_YGFfMvpqjKmm(_jg>T$vT)t#UxK7je%h(@AG-d_A zyUab6!iN3=xGiU{1{B$M$ zUK!&&=)Ix=1O=}4`$yraz7&t^yvnzc%=hj5Zu=ty|Gm~9dN5XUURt_tT8b#el`&Rw zOX=!(WwezX@ujTziuV%uSJwJt29>-4di#oHoa;EHv_7X&b!9m|_&hP@SL4 zcU(&g>kr16FMfYic%qs3jIr-*-M8ddIC|BIAr+TS+aV* z5!%-*oFeqBxyM9vB7L=O`Q3aa;w;Z28%4VQT*%2MnoB`^Y444cGy{hXoKuW4QVF#@ zi7|0ewQ8y6|G{%ta9y9$BFy4(AYrucAC@Z#7m4O^m?}C1KX(#?>NEO_(!?jj>1ZO2 zUZ>sZXtYtOlVorrZKw2~YAX6))f5665*iHpKlA!Er9d!Z6h;z3MMFn$R3@i@hQ3>5 zA_1X<0#XJgBbUI&Ifb8lXw1eY&V~JV%0UB(|I=0>`9Y7a9Ww^DReYATzQLJ*HJdcT z5jARh5k!e(2inoA22TnEKdVN|tdz%8481h1YGE?Mz<3e(eI=3wQuPSF%oGVtlB(r*SYII92Ou&T8^E2`Z#)$aSqod z_G84HqA^1KnS@G775nYpbF|)39hQ4}FYI5xDI*O_m+IHP5=;>*?%Ix9;jBVUSat}(VnVId}rM2gr8XVin5&APc!W9h6CZkv(IS_P+L~p_DQ;eO3u4*KB1c8TjT(gdQGa?3_`fq7uuACQ|j} zhT)&uhF4TfsX{#a3EH8qMgM+J=cTJC+LnJVM8g zp%M`fE5}w^fHlkxYvwbVakZ%)*P3dHnkiS^5hs-z!2?T(TVoT8VT=_?De@d4RWJ z7_6}jSg;UFFJ0wmw&F@-dkfSOZJsu6S0%2V#j1oJpL;JD$CZk23fq&dkjp~E3)f;J z&o?ipcvwQj{fS69ly(_o)_wJztB?;ihtKgKE8MloN@)OaXCyTPMGZEL!9iN|7Y({+S+Q-fC#U>Am0RhPd|)|X{siCs{aW_vUMp4F ze0i>%fioJMGj<2_mD&Z&a>AH3VCDq>x$q>?(45kx`K76j^Yc_0ue2O!XO1jN zXNO$oVWthD_o^u$EVG~YlF3QnS5?peoFLM-RweQ$S%K?#hnAi#Si}4-cE!m%p?Eah zU}&xcwv$_{cL~l|uVP$7gmzMwy0X|Hc`^74RYE!c3dtHMk7;jA9?LL}*1{ckU1X~6 z8teSF=ojx#+yz|Gz~Z(ju0ChGhKS31%sCff(|Mxnr++;CF6b@8_kQS6lzlQ+3PoHh zmQ2lyCN|9b2+Vn~PYlc0ZuK!`6h_l&i=FWPl!mixYg=s}2^ksUfaHv&ABb{t<2i|6 zK*(cP9t-dYG~Q|=I%!LE4VU>rFCTRU-II~LqFh36UEdWi5+&p9D{)XLnS;!cw{e^; zjMqz7Ogdc>5uIQRbva#go2@ChgtcO62aR<3LUyFI9%$3FV`iN_P+;qpXxz<*a{_BS z_!~a7NkeRPI|hV!#&RhwL-47-xq5t!=%l?i$3UZu8`rR#ZUWi(K_hsiux>v+3^bQf zKWE~BVx-b>^)m%ZDJN8c8~k@ZR3Y!yglk>ZP=vn`U>{nQHd?s|A8Sf@7!uZf>RQpd zLX034m4RL%pXv|sq`Y`c64hY$8Y$ZLC}RoCVrbGv=%!k|$b>t^LbklCEUr2yaSgZV zG6kM2&SL)<@^K*I5r>$D(_(|O41GqM##!Q&2s=rp9$1u2EJKEDt+Uo@_-39Q3=(?> zeOY7%{ZP?~hftOoO zZbI;-y~|MnPqiP~eo}a_<*q7(cf#`r_0$2=;0J06YXq=wIyMC_nW&)@?Y$c8n#!(8 z&B4{=ar+wTQtvAr+m3OO(M7)QgCSl?%}$wp0+JEMf3Q4nToB#SFZl`r-ZsO#XX+j!171kBdeYtHw4FvF3J8 zZ^UZ5{2z|bj@m;tovTl?e^c4{LHJpZR;T)Q{wp-a9&oEuIL!9UNWfP@uY%2F2vt9M zbozZ=QhjX~HS2opQu%b?;n{-%bPm77{6^dW1Y&Epa_)##I+`eVv%%+Ig)iRxI zR5=LZW=A1ATb+MO)Gp0!I2pKZq7banm8W7d7uh9u&`a`BA#vp#{LTnvk%oF+t=kBYGWT=>1__3HuF!O@FtrCey5y|Zez|lWtvAQF5p&C z?p-b!Df098U%&)0#y%@|rz+9#8Rsj41KOY~39g334o&g)Qt>AD{x)T&-JuUp+8ryu zP}zFc68?<*GXWfMMroy8|DZzlfF3uMxR_K?>F0|Zt@wkTV)@%*CMm?RT(=%o5UvS4 z*9{)pQl)O^TQ%Cy$e0h!UjV5Z$fL?|et3!I!j_)q~f{>{VP%C80uVFtyI6eUOP^))(C`h zjF$%?HvITmsFvbKE*zH&kq~^n#}Vwu4AZ$&A)}Mm5f$o>(PU%wygxUDhM}s)pk9{b z$CNJI(WSt{%sYm@+CeJZx{wGMlECDyRq6TOQ1w>iRjtaY#^feaP9v8NRq6NR=Q6SC zpy0sVHzRwBDrMB}6?f9$JL>VZ&UOZPfBXrWI6n997j-jP)!fVqv>1EmPV!IGFVwpB zpydb!<7MV<%lb<>kvApSjP&6TBzVMjk(t@8Ev{E8dg{p*dbWFO;y5T7LxlocNmUA;jx; zRY8A1xl`w*b)GjqjlIN_gE{d$lgyw?l)0BDNW-mBOU}pe(X3#NLZQG@Tk+uYoYf^W#6Y-zC(FuA!q>6ff zH>=?5-54eCMmY$(&Lp-P0ls-W)Nm`z1eT1h!WhFZammOO*w{v=Zw*lCDC@4+QrzT?WknAq0d@z(Zuz^_y$=R+`-Y1vsl85sW|>RChzHstW5)EqWQF zZPNSxY+ny5l#_k-m0(x>BdGi}$I>%hORqj@>x}zbsHHT)VSzSrve3J z7E5y=mKJE=jYzIM%yE|d4HQj`gJ9-^t=s74PjRo$r0So;m&c+?b;}ppskYf8vxW>3 z%k_-9f6WvpCTgEH$ZpEC_#O<;hr?3LQ6^B!yy)@tRqh8$unn z@1)s62k9Lx6E`VM$3gvrN$A;Qe@8NFUgeUJIz2O6fpoo$b+11QUfv8E}{rsqu{{oMBL885+M*Cp8Y`O*oe_T z)?LrnrW$b@#9p^F0t@aK0lfv59GsUufG6Jj2Y-T|v|_^-iwUdIXYr@?5jL_&Lk09ewy5hyC--`vJH|Nf@9NyI^`AI;gP92^nQC+N!1qbzyN?_9#6PJ{}f z=P(5~d7phJhvsF_YkFpAY!)+ zA`#B+-8sw3A=;_iYg2I!i2W8Ob>*iA1l>BmJy5q1ZqA_M*~I`u^{JMHX=C6>gmNiI z3I7R&%4wfUxhf`2MNyVb?4M)kY%uU1Ba(xEVsqy~0CDajr>nl40mofy$+x zv(ZJLB_28q*#?2WaaTaZVX?esk-p`;X&=5Oq)bM#?|}o?oCJI_E5WByNv5lKt3A8v z8iHQRxS7iq!HNt!dx%N^SridbdypzhNtU7unxPG zvdWqtfntVIb0I`rekgaauV+2q2!fI#(DnzB%_eDx&BK=6bP z+MV7!oG(QP6D7UTGrO6`+^#T7*H3ACF^zB%fmZlBQmL>;Eg8IibBPTt*swse*|>cQ zd)ebQNnv3s3)OuU2ty;u*n>~V4F3TloKen&5-7{>ZR2{m2cA)~;Jx(7x0nllwRGCn zr1JRfqA)hpN*q3w^G4CZg3H=}iVn#lnx|mDiJ;~-c+Vw|QNz*&ET{O}Fsu-KE^S@C zl5jR3hts!|riCcvhcg%}g!tG+17-`aWD*$~rrZPwh;JFwfXB{TIM8&qXGQY+>n{vl-5YF~f4($8FG5wAg8D;nR1d+yE45x==?>p` zBWZ{6)M-&E&2ud!nLXU6f)O)5&qK8CajXSdA66QEPd626f;+O)Mz=9e#)lvlY7AI1 z?F5_8dWuVv!cWcJE?dp}V4czwPa)>Sb&bOKF|yJxU%1FS0gsKnoZ;-#nvx{ds9VVposdEN|7zeY|zztClkDQd{E-PeOZxX3yrS-0zj%lX zqyfk%iF3}yPM>tD=;64vAcd1lRJoPtS(w4z9YS-tVbd#FOHhlpMYE5U9WgYXg%4^h z4-x~@lj9`_GYM8Zf*R47r)%c*6cCDj-f=wXrnoE3wr1O_I;CW$dGfdsQ&I7QywV;~ z@HseO-C784=j?swY_XivhM(3ozh+{ht6qlNZWG71jTyFb`H+=dOC>&y@Y%5oFtKiI zKGILOLZJcTpHr>PT3RkvM_exX-{lad9~A2Ko=4>G167uu{{s9_B84pHUQ+3ohhEY9 zmnMselA0ZV?X&;>f~V~zb44!eI{u{fo0KM%DOu5g(RgO;SS&rPN8V4^nn9nc24fNn z#3(a3n!hh_Pzbc5%K3UKvXSw594@Y#WEJhirR8HB`f`1L@kd$U9e=F~bblu3P>s;g zoY|e@zDml4diIZYr`uU9S64F^{_{*V7{+eL>Bm@xGkZ$d6s+hedgv^K;h;~Ty7{Yr z8FxxTO4H#lK(k7&sHO9nS4s`5-#O}Y?pq|m5xkfo-Q_d6MJn6FPG3EF;rCB&r)74$ zoCycOgV?FZjQ1yCKaw}ArA-#R760>8bUfYxN7TT1*LUoA9McHY?C@%RKMQsXu+wdtHNAY!z{zpy}-)sJhjk-@(8W5jCKX#1Ba zYT2)dzW|G{E{M;i@fW{1BhM5&0*@MMglIzTOy_xt|FmNUg`rx#+;NELWg7i z0-)PxHA+TN!HiGz@2!5YF}ZrbRHzA41dZ4=~CsmUBC$a)H}c9UIFZ;o27Gm)iwGi#Fmz3 zn0x^rIU-mjWw*|;OYn(0YHb$z(RJ3{F6(7z#r8=f>ou{Acs)m0(U1H~NL`j@+Gy1f z4PYxxvzly(M2h)25wbPwT9y9Df7Phc}0clImOwoRjTS*-+avu4*)N&My z0Yoj2>1LZz-IdQ}KWIwcgJzBzkt|tS#FXt1LK$oA{-#%GWNH8i)c;V8d}RfJ5@6m%jxlv(lM2b z1(`|LHVW48a)@4N6fq$y{79%ZBw`$SH+jrmeNKlbM>pyNyPx7xZZ6UITOS+A(Z%~Y za{AjqIXsN7_0vQW9ZUIc#|6;~RF_kvZHL0_W--hVdse2R9Yaz^>ulcT!}JuEH{uM1 zV&gIo$c&AUgJu?(`7z0v>819_M8V~k0zPRA;@KdZvV+dE69Vnc5mRRHT>bhhb;N4^ zj%w?j3OGr$y-m(}lE<&Ztn(|BS+fkQRUE?JpL@R-^AvDV}5y^YxV9EL+leok6cp)?@*Kgd3 zxAR=fU4_Si3YXS!x{`6T}Z8+mcfJF=`!ch-R-ga{A{dCe2J4{he8>KPS~5!Jn;x&#nKIS_I^vD2QI0zFxKWhP1tSq z-G}v!LNGx?wZoya?r41&#@Ij}K4YePeGQHuj$eNOINB`+-@|->83xL?$!}Q7T8*c6 zn)oMr6zAEzSTSAC?IM$)fcelHny9C)g8ehO3)PmK_M)-fOVpPN9PG^tX~$`3yt(W5`->9=Pk!TxC_`tQ z1(NLe8EFN&T9Pr}=30yJSr?72Z={V(@3efBIy0ri_I}sCD&;~#X}RO^`)O9Z3D(Tl z@?8)~Bs7)9_u}hO1O|lPc`B34=AC)(b!Esf7;GIZeX1lGfs-QM4ZKV3rIRvQ4vSJ_ z{&4U({^><2o;J<45JF*AESIZaw~J~F7y?J;PKO_LytgPYAxh}@mN&fA6+ctuMs!gH z%_~?eejE=3V@@49aw-V7QAyUWddY`oeAX6Q^M1M}6frOK;tx;?&K4AWA(ulmMf%QX znce`&Ek061i;HaRI<4-hQo8`LowmNfB`R8mGA&HdGwy+l+*L}Qh6U7D{o255EkcNg zBmF6P06}sJj^+#Phi7@%O4jh{@|eGA7radc?M4OP6g#~2c>$XSZWS9;>74w0m-ZNp zf+ChmRzvaO`8qkl}v47RgmhD>e?nuUHXUIQ^RF$2@I>|GBu zqe9enDGWOR0eH-+0ao+jfxj<`yv|Nnnx05Cy{moG7hxh6(DRPu8A>Qn77y6FmL6Y# zh>yr>1P#KtCP>0D&;b7i4d2oZAGgO@RI-J&Pd`9nUB6_RDk_hxwr zanI;aCf{FHVv%tR3beEqs)PLwg_49KLX>bAFJ#ppJGB}4na<+p)-`b-d13)DjrZMV z9G^kSzOCqg3@0n6Wxf(I`AsmM-Lcea8wuKYULP1D+1m9saln~9EsTG2!b^BZL!!g_+gmm1Lq39tH zIvl0%uAa(e%KI)PsTz*QT9`=c@Fefz<$^KyVIp-Ti?1C%H|Polb(LZ=wD4huN6^mZ zp`y1I*;Ktay7w1&lq^R}>+8OJ8zFx2;!l{iP+CPn9#fXrbkfeyFGr(wd729P4g2^G zlw$S3UxYCt;Yo|Q#H(dY*8jp)?M9fV8qR|R_ z#E0=nTz|V%|4?Xy7Rn$#PvKwhBeh-^p@mtw94ED&`_!k&|9EKpasf!LgI^?M--nQe5g7)yXM4L}1_1V5^R<5gUjQWm@XICU-`_d^ zAFn4MG9wX#AhDys|M7T2o`pV5{pVuSrPIYI8WnX6iI3mBnuGuI%N?)Vzh0l3#H>9w zq7DpZd~}^y*+x{Mg_s`L@d{o01H-!rB0uRE2~`HGLh+Ca<7h&(JN1E(2~UsAb7W>R zRI^sZeOV_iFJb&>;?x~aM?Np%JopEsNAJ+YK*T*S32>2}XH=&ekCpU9A&4dF2JCQli4^Gs2N-5>@fE&AYzeN`uu`c|Dv?T| zRw*A)*e`KbLH%Ny{6F4Q;Q#pkpEDHz1c*%hk84N8Tf=~ag1v_S<4A>UvDITk7aRyq z6@Ed)2u5NfMMoV^EJ96#naa~42(DTPjZv+(}#fntJuedv^!Q|Fg*1L^`(mj~kq zK@R79br~_HtuKNr?d$XxKr}6SG13E8{4M*#*XOOvXk^@aJ9=owOe)SLl!cfb4Th4W zT-k_0HrW82tQvi|y+> zbSM%}Md2W@8Y_}7JzDpSEP^bGmBNIayx>tmE-+^c;#hiJiZpu9bf*jLyNI0Ks2Y(39sCOY#v6Q`-(0KNB{6lq#M6* z0}j-MRzH~)P)=|)2qzT}BU`knGuT@z``4mTFA*TS@|2qTeAOy@^vpC1G z0nvhOQE`;ZrgegX7{Z%it8KsSjG%5^Ll9vtO{p0FlcS>p9;DlPbk>9-S3ktMAg=t2 z-;uVT?er&Xh#X8(27GkSXQWSt{_ZFq22F3d* z)hk_F304P|9N-v;31GI|PE_7u_Dj&Z)T3IFz3&23A|lFybxWjEL^H~dlq`YbB1d=* zJ=%{_1*l4B+#{6RpmhFKuyT+Wh-H-OZA|`qpcyz=WKzUZY0||HG2*{stNEjeC;3Br z(jKzy-`X6xwRB1H11+e}37r08sSsRnSE&44@UMi-6+VS|&1R{&i(} zef?<~(y@X6H_Le_@o=nNP{_FkL88Fhkf=Bt7H$x5yvz%ohZy4o|7R(1x_0zd^loR; z!6szunjet^$ia9VDYJWmX=n_?i8aL?F7(n8)YU*QSnD{77AosmMpK+af)=wP0~JAM z7%d_QcJ_n;M><$gDe+C|YL9wBv?!NaNp55&jJFCRp`yT$`!M%pO$A5*#C~$eLN%36 zA{*#z|20lrG%Fs0L^2`-&G7UBaw7E-!2iL;>n>O@e-Bv@LWrnH;?RZ>wzw>m%AW|V z*Ch3o=hZQ-7w6TO>8Wqd*XgqwdR0YsDdzE;hZkqvQP$M)gGbl4J^OzidX&CGJ(5{N ztO89#koa2QT0ss{xthkyxme;d3%^uRNyz4Ol7igZq>tzqBKzEWf3^eAu_Q9<$=Gm1 z9J&IC0I;FI51>;hVYZBfz=N9Gnb_&q++d*vH3E}Zl=2OmvNA5A$@*w>W2sRR9}zLw z8q4bh459!=L7s#D9{$kOpnNNN-ptk~<(tA$3jw{cJq|d$d%y0|JtyrH?~y{=>=YgEcx0%$)#x54=vI&tk)68na)`sKYYYTpFWr=I+@J=uAZ#&|Gx@3j z`24r=lp1eTh+f+8a^Gq82F$Hh|dM51N31UrFQ@S)s!%b*1C{TSgGA=qHUHLJvZa zwbkvd-vYX^P}2R$w$K00ow9A~>92$JgzrJmSdQe5oIXV`Cxz?cjghL;!*W@j*j@0$fSh16SYhldMT2ukWa&I?>Cc=bn51aA z8;>2*RxgWm^yFD#+TUn)o*vqEf8RXws+@^0UV>D{#siYA$ve3Q1`F<8U>| z41t%B<8-@T!+d?FGoT#pQiZt8I0u)r*RRZ3C>oqBR`SRQ_vaZra@i^iD@9A}M>~fE zxXp`8G3(m4)^Tax`^eqh$j<59snwO+g~K*>yHp9IqC}GMfNT>JnHJ5ECZoVn<_uFu zFHw2?iyo$z1hEZr0^6_lp-!;~QBlxjE82*l_3sA$1oVdkQ-CoU253ggQ^yHN&hu~ z(2P{Kag5()huQmDnkpQd`UHr%k1$T3hP3X+G`MY=-T6sDVuKzdfrA2__K?=-4QR0S zM4D!!?JZpy9b5(4Bv0$t9O<77!Tl1pv(r6CW`LUwMKC*S%2jY z>^-ZZobOe}8K@s#&~e1176^W1;EEv?fcR=E-HJ7>K{aBos_rHACrHNOrNvnM`hNm9 z6v*pEt~^E4=_2y>4~w@6eS}YM^@FcZ@rCTmxP9R2#P-KtiH9Rx1{YY&$$}6UbHjmf zbOF0c21H$PjPB7eQ$)CEIeZv17VgkP*p9S|CBgbJPe{8dAtID;Eo8m0T%pohJFcoB zpNe8ab&)qX#CKvm9CyJ|u!CwbY$KmTwKZHX^N}iQZ4ES52fujVEHs3q%@sW{77XHb z1HA~30w(ZSffP`AkI{h~av}O;bMSKwm&x;+Q*HoXJa5B~Y_I|Eq6=OP3A*yRJJL0v zsZH!fyK#*W)-q@>h4<$Mc#w{PjtFlw=L|OxP+n%l-&?Fn)(wy-Pqf#CfE?11K%!Jv zYl97wwP%P=<)84p=Y2pSTS>?;*c76F1&GKOq&_r<1*H)il%~IHrm#+;?`AE>1P9WJu z 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 literal 0 HcmV?d00001 diff --git a/images/0/3/e/0/a/03e0ad16d752611274eee99c70fc6ea56d7db379-a2010connexions.jpeg b/images/0/3/e/0/a/03e0ad16d752611274eee99c70fc6ea56d7db379-a2010connexions.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..7ac902ca42538cfc1be74e71647287ee006c3955 GIT binary patch literal 59064 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 O02l}L&p7q`KmXYvMVIIR literal 0 HcmV?d00001 diff --git a/images/0/5/3/3/6/05336aa5a2541097a4695a04b49473279c90d8b6-d2013marse12345alllinksethicamodif.jpeg b/images/0/5/3/3/6/05336aa5a2541097a4695a04b49473279c90d8b6-d2013marse12345alllinksethicamodif.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..d5f64ee55bcd7ef458732640af835c08eee3d009 GIT binary patch literal 29068 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 literal 0 HcmV?d00001 diff --git a/images/0/5/3/3/6/05336aa5a2541097a4695a04b49473279c90d8b6-d2013marse12345alllinksethicamodif.jpeg.xmp b/images/0/5/3/3/6/05336aa5a2541097a4695a04b49473279c90d8b6-d2013marse12345alllinksethicamodif.jpeg.xmp new file mode 100644 index 0000000..f9f32f3 --- /dev/null +++ b/images/0/5/3/3/6/05336aa5a2541097a4695a04b49473279c90d8b6-d2013marse12345alllinksethicamodif.jpeg.xmp @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/0/5/a/5/9/05a59c372ee7643d4219f88596c71da239b3c327-e1p17-cor2a.jpeg b/images/0/5/a/5/9/05a59c372ee7643d4219f88596c71da239b3c327-e1p17-cor2a.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f727d8496341fdaae487cb5700dc4b96f5300467 GIT binary patch literal 19816 zcmb6Ab9g3A&^HX9v27b0TN~T9ZQHhOo10`~+qSjY*mm+}ulv29=l%ZtdgiEOy1J|8 z>^^IHs()4UwfeOSK$H}f5Cs4M0Ri;C55U(a;HQwHh=8)3A{U{VF|DP&i5a0QBOL=F zrHhk=tr?+&q!^*3yoeZ~D+j|58bSvb18WOs4?-S74p!)|4S)~;3fPsO5 zL%>2pd=~^57${gI1Y~3+1SBLBbX*J+RBSXPBupYqY&<*y0s<5aVp3v!Qe1oj{C`S- zzC|IxA>bh);qg(CQ1So&E?@lsBuF3{pm-1i}4gZ&5@LL;wKjQ65lhm@(cpUu`<20TmFf zID0In8L_OI++5aX{GVcCPE-qLhYP9Y=CR8E7(a9lQTC-swKT>Ayj6G9$1EqX8ht3I znu|Com_C@je%{J19PvhfcXcdj^q%Sa*ohN+_yQDV%Wi)GNYNSr01!0V@PlP$#4)1g z&M4!=F|6)6Su-rOf?UIH+I|W2boL?5VqL#8e8xbf70+CW)2GwX&~6#6aaAb(P+JAo z-4{KaM>({}E8e?hKTfa1NqS*hr+feaI(3g|+dy*=9o)4~)q=?iw>MOfYT1q2uF=E` zy&UI^yNr6=Cu-7O(wm_2CHkhTrQMlVuZr>TBaBUR!$nBQN~IQ1JN7)&=)S4u7AJf+ zkxu3((3ZnFL-%jk&>d%tBW>PFtpLL91Tx!TQdNpRHSaZ&GB2Z?qui9k)|O8Y_mbfI z&%9sHVau0Jz8NeJB^(+S6W;Mu5TnnvE$*9UcBrLcYNrH#yWMBZhqp25`~Uzb$}+hf z6m!fR4H^t<^KbrKU?0~?2~FzI+r?(FnG|d3VRfYi-nYAvMM?Ya zD!5JEIX-=T=qu-n4%?3i|#zphaKW8>wd2&tc*MT@Bdv(MT%=*&~tr_ zS_^<^mt^TRti7IFvf9uV`Rvyh2SAWiO^{|G#}uyq1`rOpPs|q4*a(d?Nc!02Io+UbAHjEJ*}t02NzfkU<(kBb z`-#IiGG?o07_pQC0H$55Wh&dv8;=M$Z$9M+qATU8yHxAnQwjjE&f1kqJHBp9g!yIM zy{?Acr#sEQTGe~6{QmQv2gk>@1(&V|=1e8vS&eLy#pXye6J4)qteB6G-=kOiz$fHt zH|dR%@rp9#?3ovmOY7`e>vG|dS1S9$VZ8LM-J&~;b#ZLG&DeZX>G=!Ll9=`$oTpl{ z_$$o_2sa@YZT#w*uuGZY${(CLdO1*VrrxQ$+i2?Knm5&_oR`e6hydbm_O|Bv_vE++C(LBGR7SXf7lo}vm#rS%!>hKGajae$?^)a<;s3ntvAIRu zPS8Vl3YG0%_~B!%sk;7>C!{C1_j>q5;dSKYD1P%Ump{sg#6~<8i!m?k{r<6c*G1?5 z{i{KwXOI1@(qF=~Y_%yYYcR+4%+*SNWx^AgxB| z1>W(g-loS1U@jit#i)$rG`(g$yne=zF8J!HG57g4FF2XdjA{0DC^TTQS+W@s{!=DK zs*bGE=iH|Wn?X{wA)_L3rf%`o!;kCm zY|(l^pkxYee=-E?2uA;f|3tqF(2O$#ajmIhXV$3sHi#CtZar8l z1uFdwOfJ|f%-v<25`kh|t>yG%JKBBvU6y-I;P&Eqmj8dE{|I#Q>z~jZB0(=Cw3hif zLV&OD2gu*d1)e;?mq+ufeDBScv!_jtxB~C%SB&Y03H|>g2mt$;t@zPx3!jzB73(S+ z_ESc-A&bcU|F-|TTG9Xi)c-BlOo#wrU?31+Fc1(BP>_F(|CVC_7!oo#3L+{Y5d$L= zKQRe28YwHffS^1Xi~jdI4f)?94t&4n8cVt0NcAR!VK>)0HSCB*8tE^CHGS%fU++>W zq$FcIy5J{b?nQD`fB6?AC!RUEDuRkHI=Jwa#(Q;G?K;4W07c_#9nSzoez#!x+S}+I8C8skJJK3HOp59AemRF|^(3 zfNIbD5Sk4(_x%Z(g_|v-xQ9OZ)Z8#u{1d8Jy{HNY0lwl3fRICL*JQTOClJj)6=jmQ zn`9DGjg?Bi^-RYi6*c11srS-zkVwqyx@AArE52>WA-^(!KekBPU9;esq?Ulmkt!17 zJ<^kog>!e0aB1!CqV{b2=fI+Ws!aWkm6tt3i2B#Z!5AiIJaA-X{+qs=wcrRO1UvPg z?%RniCfC0MW5mdlFSuFTt(z&uoE>?MGARRq&r*KTZQOKejuQnaV=Jg|cOF^lT zNc^j25*urujMyN}US{>bzW}xb`S;dps6p``J(u$_Z`RLZC$-aL&`z0u57ZwVL)zj; zuO~`ZwQhXh(@RaKnQjz#nL8yE+3;ik4SY{l2`;i(dg6BIie@8xFK~DQr;0RoWRCqe z6gpYTPPP+qQ9a`orFsyX#3PxX?dqM5v9iRNTxgE1q$`!WM}cud9cgqY`8uIl-rUm0 z7eEN|xl&*{xn+u1v#0+HU{|pvFSQjd>7*(D`AYZf3*n>7{tP~*&nIK++T@FTY5zls~46b37q^>5S!kzU30VggvH2B5;})iL^yrot={#HvaOwJ z95WR_lt|_xBCxw-9V~_`6wIT(kQvoOfc6umR-N;+ux%K>un~{-Eh4Dg);330(618Q z3i~KGA6X_Iu^XGLNOPAkE~4ukrA`k#ZKqLd0b$i)@h2rTL(JWlL-&T>Ah^|jYTPqn zyr<`EZrWh(U7X`>WiA3aRS15B9Oj~fs8MSw$K513&X0sq0!)8e%Vfflm9w;>>iN3$ zt?Q%OB@_hFVQV0}Y9QLBJPSR(lCJ^7d2YgMAdOiJrQ{heHx!rSQF`Z`Ku z(YS{_tlQ%Lpv_1+kZSR1j7AJZg2swkJpU=l*!~NEA5nTIBP3kQv{k~Yb{+8Mc(TGh z=*Rog6V`2$BUKUccgGt^q7n5ldGX{8cF8jGpuHk5|~U+)S<;;-Pjb%WwS0!GJ~l!tMuvv|xUHOQ^vK;j11>6*PBGh1<(TsMcu*RIkC~HRW=F7um5NK{-mF&YaWx`ffW}MvM@xtH$1k zYh%r#o6euPn4#J&h6|f^rv_qWt<3VJx1HDqz_d&(6cSNXOPaTyhhPa-xr{@-Z+kK8 z0+4`SCd>Lx``KFLDFkydd=E+xLaYt#-Bx)+;v=8u{8hfL20xrHO!mW$DM*dK&r zNHfVm1A+9T&3GE?)(-T&9OBzXZ&y7vRQv%5$v*aP`u3~fYu)03(g5Os#J4fl)~a^# zT7tIG1pYIX&yAHri>cptTM8(AihBw{hMbgr^#l>5ohE{k>oFzb@0f|h_p7YKmx4Jf6cOyfjOG`T#}S8HEcWS5uUHaxtWnebZ(>H26_*aw z&A1t`ZhB|67jeW7n?iAa)P*>Ze|F>av)&chLV51RhVX72t zQCBwRzOWQfY(QYY+r=+erJoXkWLRs`=cTSnXaGKXLI%X)#hl{G`Sxe_Zo6i<+x(9l zQyYC5eXTp3U0Gtx;>40+dWvYq#^2`7=#Z{6-aCDgK&ssZ7?FTwC-)(RwxNgrf6o}z}g3SE9dGH+HgOB5d!UfLT3ScCA-W} zc3myr7;!X?#)_yi9O72yq=&#x{(BtZUx0F_5!Ce4!2*;88m1n37!)CmU+ZdKX|8M+ z{>|stUd=0T8}6x>D0mZ-O~n={cNbp(T)#GoN^F(F`Y(V|Wdn`N+bUc);pVDG=jWB9 z^{pOf-uAio4&~e17hoYC;R`_V?fbAJ0lqySU~q7#|M7hOkMF|>j*Nmz#E(cwETAxl z#=s<~WROr$&#dUsCm(SAp9A#0!Q}(`8?Dpp z>Ef(Yj5)4=>+l((vm4={9FS|2&{SS(Wb8iAmiu7=S7w=WP(AF&`zv}xazBNDfJzV; z9JuznMZ-8cWn?BkxJv?(k4s|ENJHgt@DKh zg6kt26fB=SI?cePT@_o~7WtE=1LnJ6JPwh)7u71;mlfkna-i_xStblg)l8_toe1XF z#}lQ>$s*?Mhl0i0dY+;;u@E<^Q>2n_$gKp}@>1o!H{fL=jCx999ZO_G6eL<^+@7gT zRzlYA?ST;hL(3=U9i1hyI=*vH1MTfd`w`Sa1i$wO7z4tU&Z9N)x<2OitoSj`DOSfV$l4Cn=;okmuBckJYd7<$d^|-x#RIB9pos~dfYRD+0xH|(VRqGGGAJ7T5d&td}7~?_TK^_6z>DGjUim-X7ooT@rNnQ?mZO6ZQJE zW8X^a(p`gzUHl9T2L#8UA=8KT(1c3tFB3IW1RYf_9^3nc^V*s!(D-q#cM2(AR`bKo zB9%ES+>FeSv?xD7T3^5J3*hxV-6DwpEfQc5(BEL&e^dSqQXzp5Au}QpGYKewq7X6| zIMkEy3o050BoxeDqcS`83CSDnkvat?-hi?Ep4U$*{D1dM;C#TxX$-*U!9~wunX+_s zqtuJ!x6M&;c4DlViPZ;r8L{T9OA>XQf<~1q%a3d%Zet8TlaoS+`< z^n=_Q1}1aP8%93Ssr%QcO?JR)WYv-=+MaY3Q}O5QOMY2gYDpe&gmE2c>qSOJ!*Lr9 zX$iQ2Y7bbWvE3gGm^L-1WI)*-R{q&_g@l^ z4=Up|Q|_nY!%LT0#9*)eKt6o$Pwf_DT8hYmV5qKGASy#7J=1f&@`S%l+rl`_5=@9p zVSg?1kTC*fEd;LQDSa+Yz5J7DDrK`QS*M20!5)cM=xo{~*Jj#qZ18jPhiSnJt*Ifd z*1ft=?SN-UL@FO~IGY>TFJU^{1eTmL+)-H{4JT2oo(AO1S37uvRuVr&OFqIJ)!M_w znFjwkr3dyAF_!(xGoQD2&kwsm`+d7eW_{qL(tQZWSW}$jn)qT!Dj0qqaIbML)=cPI z7oO?%+ew;>Ns`Hfwl9Fl0qeG_uJ3sw#)`|Yt;`@S3(A~-wO43 zP@iZdb{0DuSG24@M7hmevPi&w4}$x^av@IO}mkhz&(3Bs$W4G3Aj{P}wN>mvA^SaSVv z-+pJkzP%{UaIHnS(-hc--A2TJyWlSafiO`P^kF)Dmn6pA+3brW8@Zh@Plx-e>CCz-Xp2@z#57- z-$Xi|2nX_D4ECIUrBQS0GRidHg_>1v+3hLiwK6v+Q}Tlp8Nmy}vF?$p( z`VF~QPF!?%zRRV;r{wL)y%1a1`tkYZIn2K7{(4MQsDmzsX1M6U-Tg`&K6GKLp6k%j z;+mGb_jEG{;n@pPccqZnujK>Axd~d@;;)iEZkB~$;I!XnWi}gM!7%S|_(7wQ%SnD3 z0sJ)cH=umeC^(>_&FhLTZ%x;5W2DCs=si&fgX0VEy|4ex_Yv`)(V1S?P9N!3^E*Fd zexc*)YPT2*qDp@kYL0>j(<0jTe6zHE==}0{28D~kpV7|QINzl3^a-2cbr8(u3m|`) z7k@`65-!lOwzss%P1NIu#s?N=v0bh!zlUGtTZs+8!@wVe02FlS!odF?n;?#sNzP9A z0wDMMsBW>m2nA1N)?v45%LG-onP5yV8GWyPs0H~}{GaW@(y|XH+&2zd1gv0P zRc41xT6pL;yHVj}8%ycudjb~P2NG6Bo-}qz1#LxsenMGgrZHtXql(2dzPDBEEsy;6 zXQTaPPzn(LyNGyCYcD6Qvmh%~V#3eis2vy0gVNXB2e0n*2BfUcSJvePQ8E59b%4~`PY4pHeGNDeg0@bN#M15)|9cqNU?2B%x<`5R~n z4?vCSI?F2IFe|)#n1Fbo_{%j(LN8uB4m5X-i!zO?I%=vSxWW~35$E$65s+PqOD-4a z@vgH4HIidaI$6!yHE6742_dpTr5`aqf>hfW2Ss6cT=`gt33G`qwtkZ%*KE+Ec)8 zv?B#fhxxVKIPUQ0@o7y6?)v-hX45kR&CFH)y&1=DtL&=JUws2Rd)xk?M4}o(`dx-ka3{iH9|BrTM2quYJVy@W1YDtZSjOz zb;eChn{tf#$5>j{YzGuq6V-D&W4teSyQEGA-a?ZZ4^FU^WT|I zXX5MyYSJ%+>iK#ek1fyKXs0ySw_dS!-aIm9S<*~GZ?i;WxRNtTIft6l_luu?NnWyS z@)}hPc$1h1(}09`+Mer#3D`(0+L=xt#O6}yIXG&m*_w@suL7NzGomp73fm#FoW`O;>xVp1Ei& zvY35u+MrRrY{lD|K1-4h0y@3{=>J`L{!oDb5Zk4?fL9_$UU=G7+UF}mDVKk$y^*Q; zGDN}xYS36y(uhblAS^(OHS9A1V}6GB){$C5sh(dktYmT|+x6-}?J}%t$=`htnO_gg z5`vWjwB6h?gzktf(Af7rDfqZs@7TiKu`wf-`~@(da?I>pJH(tA)(Bp~v4r<8ogB9s z{b1gIYBQTn%qQT;SQ6+h*qKe|k2Knj3WZgddlYETN{V><9adkAH(Q@8J?xuBBN}{$ zyQxN9CR0#@ssjLB;|=oW!aQwx@H=~Wb~q6wF7wMq%Y=RauG4r&H%2?#s&F zBZJJM@1Heymi@5>mlE-wEHv5?DkiOd$Ilk z44MN&nNPDnQl`!n3r^DXPtuI!!E%l-PwDNIp~NIb33Z_t{%LBC*(zE6t1F1XCW{MC z5E5_X_MW6;?}K%7r9ftb)~IYq%~UjF7~d0!Srvaq9_ukres;HM=R)`E=#e}OO4i;S z`3i>KG%rpnS?RMv`#|BfLk__$&h0i^%u)Y-G+;YOOe&=-Sw{)x$&+p7xB}dfgSrFVG%LujQ#hDfQ&TXu@3I#iDC{}(_30w57F3Md#jAQFCi{q=p<40HT@ zH}d}{I>JYExy}z#xLkMyKyZ?pC?14H1i?y6;fMKqNmPlF8orE`x`BaQ;3V(moSnbs z*I&@2pkTP%J~u^dlVV?M7zUnd(H|L?(YkxY}!7|yWrL#_ep3?XHAmX@m7N7D2Ik)yn*@x(n$ zW5NR}D{HS)ki2%X_!}|H7m~3D5yd;EdaPlh{RIGrDh61%ThH4|#mMpa>_^=c8R26-AF zk(b=~#i2Y)39MOL^9nKUYfYaOW1!g6CU&IwF>btlKTMLWbNAtZp*gj=xm2Fk$d3Lq zW_~gENtRnaQF*M^{xyqcQw!RehGDHvF-YwkLey*}dIZYM{cuVh-F9D!Hig)o=j?fd z2~ad;Joxk!^bS_-dVwu1C9?@#qZcUj;NM2wNYVN0l;}fnELPaQSs&W(y@e;RlD~(x z?STFWn^V(S*$)1e7q=9{J(@q90#Zguc+T=0_TFiBkuk@IH^KW=i0*#W_7=dZkn+R` zLlOEEqXw4oocZx0O&Mz4j`(K|m^c#<3jGdyfY&-PdIXK8oYj7Q|D@(S)4F>;$KK{} zT1)U319Cx}w$5bN1~Ut)w&;*N;V)8+sdZi~l5nHr)=7;rJd`YP^Qd!4ts9*9Su;$lj{x1e75XNyWx9!_A{5zBAd;&g9thN6oaTm<_Jj96@4yA zupx;$tu_-bMiR$SRH%YN^%FP3HGHj{%VQ1+!!e%bJb7hPwMJ38awH9pE{7+@->O@3 z8y-wLR_9C@&1Z~FLQK%n@p+d5B@`H5M;&MRb%}y_VvV&?pxgJv`d*dKaNTnS6IaD; zeatPR;hlb3N_bviI1K-kxK5LHxno?Oe1Z{&gJDf~$#@4D)1WwxliwQnqjbK`Z=Fs4 z$kpv?uf&^=^tp)*K0};yaa*g0*@uMjju&`P*JL_s;^6+NtE*`vO7k-aqw+{D=@)42 z_M)-fG+t$e=Zl#?qv%Q8F;I9(d>l>`mIv59=+(>@g?(yQBoZW|m0>8-P2i+#;ZZ&; zT#w&@o`uK)ekm|4+9wB@@1pWw=}sHj`&R!HSo{OunIOuwEKM|A=$R4P(#zQ^QXGqy zn|pe-`4$Vm<;;C;h7cqdOrL_v0mnJ7c8Evpjj%qUN&$8Tt7g*_kZSgmooe1trMqjc z1oI&+INpT8pP^H2{0pG#7!5)MRpp`5+2QMCUjHbkuDrw=(TQPAgFsdJAWs}Yfp?g< zLhXRf3^C2e-q5-y1R%-pm@0_Fj>aF&l&Q*wFqalx#%P&raq-~jVsUT9n+kuj2KZGiK+5@kp#lr*N>VkXo z0yGH(5IP{k?j+v=DaP~f#F-T*CznRiE0Ax-n~|rltJ3_eYTQG8fRsT|z~d&;^g1-a zH2|SG3bOkllqG$gLVAG1=iWUv;f*0hPS{hqsPSKm`&3+RKeQ7q;rG8(2eAM_mZP6)E zHq0Os`9rCn$b6gROz}bLK7)?hn+NRqlDBT=z;sbPODa*nC~#p6CEu4f%~K8gGHii0 z$&C8LeM*g|>kA-`TEtJ?o_|Vp2AM+{z5}bfO*0}RYk3vL`p78&)2tQ^hntc}ERS6c zy3fkXoC1XUr{(Mi1g7K7JU1#Tx<;fTdSmxt%%?S%m5ZOy;Jc-)eN2mV#r#RUH|3pVZZx{0ou2756ig>{9b63%z{niLGuY(VC93N!f*i7RquFWB=8( zGRj6Elj4?mUqx)D2^~g8&>(GTf=woV%e%=o-}b(fz=5Rpc)M#XOX_88&T&VWU+Cn3U^xbaZDDLA_msQr_G@wau<=oU@~8$?cwbdkaXaUa82M)1GR+7&<U|Rzpv$)*xX^PJm4X52p37>PN_s&%$^%{0|%`LmwzK&Cu53%UFF?ba!AwWgu z(A}`L(kH;Qui@$G@N`B8SnUHx8SelW2cf$75&nlSYNuE+;9S%HjBhpXblknN#Wjx^ z8y1UNhjrl9T_noiUY!m z_5%3kD40iVAn*gE!T^pPHly+R$*V{k|3bEVoZjLDdi$jNp`;tYxjag(r?Yf-BYL7% zUBRu!1_eCCOR`ASJ%($zXBSVPfRaXFl#vJjfgw>!N^Ps%TD~)z2jrR2fuAgf_ zD73R>DNu!}>gPs6cvHpJP>1lv;Wa$xg7z6Q^xR5-*skZ|@9-Io=$2+Prjqg?PdW6y zVs&8ZEQnjIQK`l(P%6YMnhH_r5+9!Ygw7y>XvqcaBV98}7)S8j^5h1o)EwJwrNBIq zx8!6CohMie2EyjTAyz$+A`jPsEY+&YyNC`u;WzG_AqSKFhj}%yJKvXq$hV8)ipQ58 zPENrCF}vcR*d>EbQ(24zNFd`>!ODHvEgn4&y$6s-x8*Y4_!sc_7Ju9=NCQPB{#8dF z6}PB|itHr5B@%t8XyCxKA{~;(GAZAeX(Vp3)Px9`pOKqIDD{}ZkgewjU2>r2s1_ zk(ySpaBUXLaPX)%d=lyqt#$M?IyMDtqNiwia{L=nDP{^1wE z6NSKE9UBMM+;?ji4V~^`nMOYOY@88JhJv7zfSHjR~c+qQ{dSA7|>{_0 ziZh^k$U|5Cnj7_53x7=N10-3`7{dC3Q1H@}Sr%M?FIc$`&1B?$`NHp}VSxZ#B5}F= z;w7+9Q=NA7pa$tVv@U5lbtC)_LhGj3#0<3cBfL1;Cytpx@sjVt<>V{oq4%SL;X0;v zs8@zHY2{ooBWS2del&p;{nz+Mw+SQ#?rhPX_SvTn{kSfA#rjVXfY8ELU3;Hx~P z+fR89F9%!B5i*HMResFD7^)*pR=Zn%w+Q~weSO9dZV!faO_iq|U5Cxkb|Z&RW~`VZ z!8q6Wcj7VV(rrOevJ2B-J$fYf%EDFAG17V_^5}xKdCz-|`6#%wZ^;i8qRx5N>-aBmGYS5ue)m;xh?%P}Sxasm2V7yxZ3#L+! zm42-tDv*JpbuQNdY)q41vhl{il*BM|o!md5#g?)r#6t|EDTiYmIPoq9O6GbyJL@}p zHlZv>7<%CgK=vJD`!9bS@GprG@ot=3X%d!khWqaO^q>4kXE^3YxEUc?nEze7Y<$yU z(Eb>XTL^}QgzJGBpqbilKFy63ZhaU7$gnY(G!pR9`#-@U*t=0sr3pAQVk7{J@4`1{ zntMTtrcj1(P2`vqsrBySTaa5(ihC{^^x217?F;blc+37~)=hBVM&a7bZh!9dd;#9O zZNG)T&oPSQB$JAr^?&`=R7d{Z<+m7j03iTG?+efqs~e0v8%LNVV&l5~@^ixO z8d*nJ=%1|76hKLVb>X$iV;c5$;veT`m}VeO7;n6DX@GQJmgS%RewJ%7P>AxE4q0yd z3D|#}8QggR?meQ~qzRh;s{aHT!yyHxkV;Yir^7$a-3+WF0ykeR$AH}bRR7W2LGJmf z|6Bd98}5Jff0%sV0Lc%e@3ekkFktZi#YX@@NPzzUk_3kUL_+@WxF|z?-`@WOr2pkk zAl{2irZoUN`SJ*e_h!Hchuu6Dg#t$u8Xb$_B^4o)@AJb=;wF*4#dMAkN)9L3a=8oP zi+j!#Aj`LA&o>&8&B(?z<>n`ok|et4g3cx9)KS7T#J`YUN#FbE*U=Ts*UcN`s%L|^#( zQuCc1GKG+rmm&wyASPr?&oU6F44IG&;!P&A?<4GhoKoU-DSr~KsSpN7eOuHkNg-# zLL%@%9)X>uHO%VR3~VK3lV|;2Sn(%=Nq`T?LGN>>KQ8OQ)8$s#STmL`nK{s3*cG*B zlU)Su!0EKCZU4f_`8G#`zIdBoE!ma?4;a64>`$bKQLW>~H1cZN z!k_q%?E4xd5xX@OK*U84zXDp1F*L4vSlinHZL zc%^*!zW~|FW7I)^0)-FP2<#*^y$R65S&wa6Z14YQ<(-|b=So!g{Uo(l3iX%RONuNZ zy=k#FsoKuwu372#K`c$Vl7uqH#de`_Y=hW3nd||KvhnSR!4t~|a+41~ok#|6E%{}O zP+Ei}z)DlowALkbP8kZdXQhBG$!fMKlTVQ7Y&p(eoq!e>BDNV0WTs1Cbxd4|Qz-JS z>o+rAJ@~TT->5AvjK*)6EwvoalacxGqAY-@iu3NpkSCp+;}AUce48c3w^@GUcHd$9 z{};CVPL=qF+adBR7|aneBosK*U-$jrED6NFK{gNGqao!!rT`RKF?(Ra-0~qDziOS8 z`@ibM+FnYu`T+A+VSypPY9~$eTSAQD%aSUFlZ|l5Q??I zyfgc~(@HWHNreRj{7)KRlfv`Z*&v07<*T{(w~SET1nv3-bAXM0S94S5JA$mYa1&YO z!sFwB`?*y18Oj9YDIIF1iyH-25un%>MY`Fq>N!2D4LI zt@1$E2XS=s=fL_K1hyJ)#|Q@-xxop2{&O*esF_%8toGgw0-tkponh@6NjD5@}arDEgSeA;p16pL- zpcch+iR}P^BcK*xMda`|#1JkzqK1dTKyP|?YpM`3Hx)oNAZPgp55+du0Hzb7sR|S$ zg-$wv9N9YVI<*270t*2^OJ0h{L3u9>_1kF@5uAZ356Xbqy3n0yXaH*eKs;r5ZtLs& zBcj0eh~VG~Nbx@6VU+bMq}cb$RFd%so;FQN{#($0Q6D-tvr+H#hhap zm$kyb;D;5VX@B64(vaURkYYQiD1QhrAqj2X9maQhoj? zle&ny6Xpp8fK=zfQx`0f1^?czWg092k!U5?k9>Lb+N^!{b{;oj4b^qn?2i~IXe<@h z@wZFUFGyGp$ua{QL?*_WSfNZB%b0g3-AXhd2%JPR*fX3w87fM{K=L=+47Rh%%+6tqMgpqWDC6XzYIdK5>-C$T{V ztax|C&m+w!k3@HKqPnr?a^6E`C}pBDqOiC55L%y7AeJ2OSk0n~95A{|dhEWYbSO{#F?5dzA(>>vXV?n!E7Gj zlH)58!~x|TozO9B)2qTaH#E0@o&O%)w2$VGIfo0AcwTPr#-`+c{UQUzq{+2SCU6os z;~e^a5Y9=}5p53S+j2lM3i0$f@)6sn0h}p0wCKt+xdF3u-}IsfD@-Jre+7frI{+52 zz$#Abg*V@jF)#QB6Bfh?C>L`SGGR3I9l0n-lPUkK!Pq<9hU2``fdb9;N~6y*)g*sXQ`; z6AsC5NZmRUa(yzcKQ-i;bVQiAcn3qyr}`c49{BdakSDxh+1JBpHy0*$h`mA-$*@NfNlP@>bT3TSYV z#x>M%e+NmIc()Yhkl-6&Lqk}zs&!_Jab#wYznp}%o%5f~+9ihtOJxhAAP+PcjP8Q+ zBj|*w44l*t5`kt8#Z}p|G{brZ=SU**-}>W&cfP!ip%zC+vu@JAaZEl3GO-zS4XQ0N z-OCN{cXR64CyL%j1I2S=k>n$7%7wM%ao#_t18($`k&(raToyl>l+RbsCrl4tlb;!d z&LeI@;%q6Ox2xQ7O_r|&-aPYrLxcc?T>4YkFe3S!+7&-~vB(!*JiI`K5gNIMN$3r* z+qm<*?F$+F(IL9s#q`d=?^8kuwpdOQ#!nUaL5Y5n(>v6UO7JJ&OxE~=BZsCtsJ#{}~FX+mKNX8adidY`lg6ZSG z{X;g;VAOusB7tb3185@Nxxw2%W`Zju%V6G_vao;fVH*;UQJpyM3>X%1BBcIx!;IeZf(kNVQ6c6Zhe=1y}QA`3NJ30y)Jq}BlOVOA*i+@n{hCvUK z9kHLZ6cZ_4m;{nZTNZ&4@uH3p`3uk`Ac-sj_M9WaoqhlOBlZ6rt`fpO4D)8{jkA#g<)rI8Y@^6JiS&t5NhCjC_uU>;ZJ zKOWF@45JgB5^znHn)kiw(5(!S4JXhDNUG0eYeICun(2&3XZpn@!ca^joY z5&lY|C%s=1f)W7*BAMz&cZ(T5z#rsPaqgur%Eoc3A3-83*E_hj57GO8o38|pNVtub ze@D(EmFQ-|Bgoal%xn}GgaJ)M%0yHb5DRdJrX- zP(ZH>_}I(tsiQgK6T$rtD1j_Pe_)D|WNK4aswlt0exkeT0ko{++$rXPYR42-eQ>+6 z&hCMZ@PJ3?!6lcB+^B3+$sgi6jgN=$dbWW{0VxjVMp7dYJ3~uMwvhsG7cW{{qp$7= ztGtQG_5NhdrqMfbDWjR>Q~_gzNDTBhS(aabc0e1A zrE$K#2BLB$-xx`Hqqh&Du=Bo+^~>NmvKv8lEhmn<9AP!G93ns!4Tb&uMfKx(GzAni zA`!epbdqEUDJ6k4LU{Z#AY;iq^{=ohLk3lTCy_HaxH?PfKHoK#LH4*qxNQ4A;=J+{ z%sU6^=JerbQ8F~U0^xc&yqCHpWMcrSSkleIahl1i?lkeASsPFNbnW{5UEU;p`EWbC z{_QnrwfOz1hAUbAUH~DBkB-TTn~#V-Z+pSgsPJs7QXR&sy`BUIsXuR;x^JDkTu@#r zjDNW_ewho9cPz7|V@P`UAoN;kJ+R!kjrcvKv9xPI?*T(Bz)WRkUkqUviEm*8Sf~8% z!>T148XOr)wicuv{@D&ARpNv`9N)g38x{fRaaAj!XlJ<()Go2hWBID#S=*k$(U-gs; z%3B#bUrR3KbWgaLKgjy3AwmU_vcvuc{5iW+?FZ;^sfsyg`8J!|5UdOM_WIA3a8i(} z#N*fs-&H^*N|Vi?5SGyH?Jwv@40yqS-yrsEG>M2LRNNXE_-bh1 zncvE*7u{|(JGcWDU*&^An;Jo~z}5}TsX{lx0~=9WEIbm#h3K>M5V7||Ejt?zUYj#E zNrFkay--Nq2zm$P?Ig0_niT3-bz6U39~R10p8)YsGog|Rc-M?~-CXu6IsFQ@GJhq- z$nx=PUVxQU3RT+PgGh-;?)|S`N$7lNyk>oJwQ56o${)BAWYXb2a7w}CSO9kggT2mQ zeKNn+PqMJ_{Cc@ez5O~p6&5LuNQ=={K6kEA1t97Pu7JtKo_+~qfk@ho%e$nN!U@lx z`0hNURF`UZ5b`p8JVfP+#wii14N9%nCipTsFAs;uH_Vh`Gw_GwDg_D>t>+TPc_U3R z^^LRen^&Ww0t4&+)Fq-awLYSh%!%*JYc&a^IKPeYt8HysYztRwkzpnt8?J$jB~o_m zqMQR@8sP{mjv=ELR++Hu8^gZA>ydN$w_cR^B$eN~@%o!Wtw}tN+39DuPRVnt5`e}NSU?_!6xN^%;aUsa42Z71d1+i zSk&>$AS%6qKrNll5XnJUO9zya@PSByCOc-EQ3!O|B!b2-Rx?y3uOP?Uh#>H#tgc`u zra_o|KN=7Mk|j1|d3%8w2TX$iKEKj*{0@AF=+22j^&i^&1+9n92$E^~6TgcpXu~C# z1wfCCUcPPKmKB;}wl%N_+VBs&dI%#t9A}bfpH> zT&xo6p#V0o23k8vNhLOZ9iC6wj72w@tbBmjKS5~SN-$AH0#+5qB1;#J1RmLfNDnFx zDT>&c8Nda!w#QzmDSeTdpoFNH;0ES~al(*-z<-=Nv0g|bz#@r-T#o86f|(f&>@Lwf zLshagI+qHfjeu}mpAjP}6hx95W&xl%akwO)!;a@aebVX@tENO!59 z(-u;#reK$?UwvRjs3v@ayP5vDt;Pfp3f(>NgrS9$ken5BivpEdmIie4y$ZlB;V>=u z`G4BTsU&QWNxmm1fe8gy{eOGpoeuz1F}+HBGNA>~ z>4JLdsFgY;0T;O52_Mp^0OY`+WRO^JIw(THl77S+aZDP~0D3wfDU$Vq7fz)XCQyI` znZO6y!vP2;5)_eF0uqlvQdE{%CT@D{ykSgmAZ07eObgh0oDoqhqri;_g- z*@aMXIMzb~ zK{n~$JvK<%b*xNC(JWgp&OT0fkPx?#gmNZR{{Rf8Bj*+*5+X1o?a{nb2|D`t#<(pE z$h^o&$<9Y^VG(qyEh?{f4J!+1)(>a(R5s!ebixzS(D_UQwsqI=53?T1Zs|PmK9~Ri z0LSieIsDNDG?p;C?*6|o`of7iF&?Y>$vWe>4><)*8zq4$+<8BnDc!;%XaO)PWwGGb z)BB#Rq<@wlcm%l$nsoKZa6<+Q2c?iXTYypoEkvGYZIM@zLktNN7y5a~IxnV6V)X;F z1x}0`5irVGNWfxAN=$h@Q~n@*nQx`Oq&D=z77;{!fsW&yF)h6Dn|m5WM1qF)RmSrA z-rhu~G0}qo4R#R=&%!lO9hF8a;u4 z>=_47%kUqk&}cNH0AqJdQjjrQVJO55rq=%e;e=J+87Lzl6fM#I^vYr;=Cm0lET&gi zA1p?769vfLHA+T`9=O6K(P&7=6y)lArrc~Ic9w{@g$!S@)qf0wBkI{G<%k-Nj=kTZ z8iE6K3FITV;Yia0IifX{2ml*)d-ukH4?A*%mq)3|gaLiEl2eltc@=AC_^@C=QmUNm zc%%%8%0%Z zRn3r2RRCOKa?&*doHKwR04o5gT-O~o?lL4)Y_ zKSo&>y_oDN+5F1DOflHS1gstK2uok9EE|5RVM#}0t_fqHtfFW**E*hY;bE)!UJrbU z4N}Yv0oh~+45ppqgH0ekgKM!k{Q{?xxLTfL27xAs**j#yGX`lXsHgfkx(w_xJ12qX zoU=|z@fXMUwsPDEo*OmJ9X7A&3dkb<8AlirswC9ZO$4Y!TmcbqF;MXn3aM#kIG|3} z0y=a2WPy@0WQ3AOGw|TB+Y!znC@a-~$^ik>7D>Q%V_1Pmi{CWxfSqKZj<u?A_zm zaWII&%Ib_PB(C@v*mwNO?3I)zjM|R_vSjz(BdZ{eSeq(NxB!|(l$a%lTJPKFZN8Y) zNIP;s34;6-MV~1kXZ30d*MiC zVXb_feJ8Xtk7IP85q6L*p={}nyvG_q=s-JS1h^NG!PDp{;t4dr zp`hFaN##-BI8TNePn;TN#zg>fkc)P#i&%;x$qU8A z4{Rnh@eA4|_sCW}6Zbg0m!ai9tb`JRr9v8fd$@&=gKfApG`Qmm&>A{S(YtTYR{+IH z5V0r-Nz{QN6ka56a9q1I&6@gPeeH>KnE<93W$Q4lM3s6VbGuuYH^$=TSwa8c*AKtm-f9g`kk}3o$QeOdtXS| zB3`8Y!d}Sd=<6I(;)-9;V`9;@A{EoOt8orVLEbh*G6;eJJwJ#W(h67|QdLS2E(imm zETwEq4b#RXDnLt2MnW-QNV*|-0R%}CpYwQ~8}Q?`ScolN#%%a!eqZDFfB*m;K7}kQ z0>Lm(IUrPkDMjD=qNfA^HLy@Sst0!*s&Z+39e@X5`c6Lv!eGYo{QfGY3~OZt@|5OzXI!LV2u@pnlNTIXGHg?X`FXRoFwZ4ubxpVkTh zNFhl1>6SF8B06)%H85cD{%Hgu69ge-qMVpAAe?~>ltt|xaYFSeC`C4cLVDu1$&)~n zr1Rjw30j`ZGi#DlHUcr!aU28nIQ&8P$GVX8a=nkZ=k096!;ymZs{n^#qD4qM0qX_< zU;K!qhwgw&fHy@TO1+Ca4ni?5(q%iUub;KnJI?~4JjiqsR;Ut+j8+^VORDZ*L`yC( zsze#!G|-&HC8?VU(iH&&1SN#2D9MH%gtsJ!!9k75CU5}eRaKWAl1`PAR=+{zA5H~KszbAVtUtnftno%JaeF)@)K8tJIG3~w|n&QfEx=0p+TA5Ygru&pc4|u zF*=^wyiTyV1Q*q8Yl!cKkm!Valk=(OGTl_D0sM;k{{ZqKDzyU`000F6{{ZB_|Jg)F BASwU= literal 0 HcmV?d00001 diff --git a/images/0/9/d/7/f/09d7fc0d95cc230216fd1f3ddc9746ac3bb0c5d1-01-logoscam.jpeg b/images/0/9/d/7/f/09d7fc0d95cc230216fd1f3ddc9746ac3bb0c5d1-01-logoscam.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a611eef1b84e6d44850bf00c3a1e7f771f77e7f8 GIT binary patch literal 10382 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 H@Db18Gw9;S9eM1rnKMlHk__#X~&h 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
                                                                        |+WSB~p5^mor1NNhlv7 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 literal 0 HcmV?d00001 diff --git a/images/1/0/7/9/5/107955b88be6eb65752eb3151937aa3165cea0c2-dalli01.jpeg b/images/1/0/7/9/5/107955b88be6eb65752eb3151937aa3165cea0c2-dalli01.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..de7c0040bc03cea5564e127ab1bb870afa8a394a GIT binary patch literal 30822 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 z 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 S&c2*|IoUe-a@_E5<^KReOyR8n literal 0 HcmV?d00001 diff --git a/images/1/2/f/b/e/12fbee37c40c19951c964f601e92e9bdeb9e2a62-e1def1.jpeg b/images/1/2/f/b/e/12fbee37c40c19951c964f601e92e9bdeb9e2a62-e1def1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..752634784342fee3845b6465c18e528923a8d558 GIT binary patch literal 10655 zcmb8UbyOVB5-7Yl!I#C|oxtLp!H@p|UWly-IXnXaj>ewuw+2H+{lE6M{95D)-n@C)$t2oROgl9SR=*Ak(z zdCmC-YGp&?4t~x}!{X*@_tu6+QAvSDNkdM7#$AY;m4n9F&D_E6ofnN5jSxS^(*i&S zfP#dKjEsZ=f1seCprT=+qrn?4Cgw9NATB;W5Elpp5m69>2*?P5KoVLKGD=EnYHAQM z9RnQ|0|gZ|)t^of;Hqe-XgKKTI8+2c0;>P#_S69Yq9br1#3CWk0T6)*NI-p2@63zqu+~O0bIOXnEg+Bw^eb0}ID_Iowo;bDR zy?)~2NA{66b*m*vq~zZ|Ncz6Te0=fs=U#W9Ndf?j=pYRRzp^BVS2yqL^+F14_!LXO z)ew`h7Q%od=JzkF$c6@NjS?$f)pT^e+}1KnCE0 zP=ItAcmy=ue3JBFLRubP_`*SlFDC>P#5)g(?~B(}znIGpU}4m2^=jI?XH8IMzn^(eU+VYpLP z>_NS@X%*A=jVHv9qV~$tyI2uCZT&fo_Uev}Q^2*(M_ikFL6rGCn-bSOHYe}94v;d^)^?)Uc z=a6+3&=y{qNFV$Qu^FuwqJI6+Oz$(%TspU%p*v zb4!MSg$0-)<2A#DkPTy#gv#o)9ZVBL7|F$R?+u5uH!yJOe%fM{aPg8$eG0X3rE7+P z^TnI8%7JY1Dd(@-0aw6pjA~)GjJNo9VE&`NR1WxRCm*Q&h6_&Z6)x}E5_L^+T$vGw zIr)|*@=Q6TI%4v8;Inexck4k{ySajCyZW?)^)IE1Z=HA{LpI42tEj2ZF{IeUsd8WI z7-WC>Ui}$0OJOW&E4(1tDYnqxkd|B~07%u@fo;s4xBCHdQf^?wEJ~DZ{PF!0;Og>7 zeVMx3X4VowpK27T5jy|s!ec@FhkK8eG7If_oMg`)d8B05>7Du6L(#xbxi7b*Yr?I} z0iRs2+&Qo_48Sw{hGMld*m)Zn0Wp|gt?5%PIcjAVL?$niP4IHtrolYO}5gKdfC6R~U?mdkM4Bw0Y>~9BJi_ z3AOfGJOR2sbqc#P;>4i(B~7W0#!S1}h!=&kryEYi@e1<_eS5B#WA2Tee_D{Bc7KhG{UEvZ-)){ZzUKS@fg&MALpRH2-Ap zLa;&mx>;h?{ZF(Z0RI1e$N;~;aRvShmq2iQ0>DK`fPnw=hYmn6g92&(iXr|HbLuiD zp-57Pi%P>|7XS$f6$2ffq9FZ=UI=g;h))X!(eX%W#v$X;^J-|BJNsvIOS*inY9BkM zk#>z=;nTJVs2)EdV37HDOhc7Gyr|+Tmpl&Hq3XBa^toU4sPw@TZIar&Shx;fYQL5| z+`eMZSK{*OAS6a1zzeW#;P;MVtqo)kU8IB3CDY63_*HKxv-H~;?aMaCGb&3DTPN)u z21NCt@B3K=vwaX@({d=upcx4I?Q1pKVWBpSqUzkd3*=J)VGQT%CFmhgd|6*Y^ z=wDdDs5@9J#%%6ShDiJSFCg|MEhrLaM5GEnAa&k|8*BdzJoX;2(dhfs&D+2J33CHU(yPcXQxy-gHE-@)m)@Mp*4+AC`IeHxoyUnaQlLM0MseLqu%eO~O#k$U-R-i9I?YIi?MvuIm=_2n)JXd`|0}C0g;=(oj zFRLLEnNn%&)JrDA=TQ?rRsK}<=5LOsUj4{Ta7fu#@#x0W9(}ebqrF%Wp81;29`Okv z_pw(S%TmZn-?oP>q?OA+Sr4f8h4>~Ce!K9JJb#;r@rt^H1;952$bCJ)Y6eN~w$V_@bwDwt3U1r5`1E#dN6n zsiw|4bX;5UPQ;U5B!_x4b8;n&!p0B%xsQ|eFb%&aG*#Z`SYy=r;1y_x%HI!6T?p72 zGrnwkmO%NcRM`j5`fH*<7Ajz_&|5W;2b%CZAvw~=T{K5cA;{=+?e{dYA8z+q81+q- z$?1pkPN*pgeo;%f>W(|drLHdeb#oFdTdyDIZo8R=YXx3+(~E~T5_snrw>z*7+jFYz ziywuK=dhUY#w^mLr9bO6vHWbKbn!N_L1v;BiF&fWiEd|nXW{u1Aj-Ac*Wtl3IsUHj z5j>=Hoa);lk)M3THO;kLBYA`>oV>Jd!!SjzBxP#)&0c3#RwZw)m}z|1wyU1EP*;cb z3BV?=$Rx5oI)MoWKLJh)BJHdjdizrbMI~ySc?L;R9eO z5_!L9bL9TKXGHg9p)3BjP;_n$pya`U%}TVzzLxFxXerHyb3H1$CV3Q%)bd}D49(k? zBtKJ!7i)o+t+-$$9QncAC7$7qmVf-q(LuyZ)RqvPvVyTgYRjm=Qn|othf6~KHJN3*k!K!ksqeJthsegZF*$F3+Mp8cen{H08MU0L7K{~Tq7ujD5 zz7EhVE|#o(#-vvdP@-CXnT3TpD(1D_05`708Zx=B8;nCESp0H%G%+&Z+vLDiAEQ>p zmO>(RpK`{e8WV>_N#`P<4adR3D>5I=!j1pS!^qUMSksvzuOjJg0nwqLvda$JS#cTn zl*AXPc^xj2t=L@?6SK?)?(*0Tc5Gce`N0le_&#N{<%@rSv2D!K-c3PRtwSh>c$%4Y6KEz^>s$$j^v!ZAlv8g z_&mB!H-qxS7^Sk_T|VG28fB3Tvx$%RoiS@yjf|nCZYk8IZnL_T)!JfZ!CMVKCGqrQ z&i8Q3AhMwvFEK=oWjUHYZz;Z8XK0LrZ>{q{;x}@eqa$1?#em$FScmymiZkleC2)nW z6kCjrrgK_)G_BcXzw^}ErC`z&`cJ$S0c;+|Hn1Y&~ z(Tl+ZqqG^oh1j0G zQ&4$)@yo{)y3u;W&u&)sMtek;myBeWLcl$edAJlu8h7PJBBC;NtQA%P~wI7Bbkp6DP;B^Uj@d6Fy zKV=I90FV|erD^Vur{NrzU3E;;KDKfq$^GxN1wn%L3GfPXx3eQ7WWu`hTH0`lgfQ{< zpawO=bqni`$#NgRM|NnfeEpT|n-s=0t29L$Q1yt|SNu9a(M9?EIYlqL*Jvm%F-y$;N&6?dg;)L0J~BOx}wJewS+pR-=aSG)~!y+=(K@B)8t_c~bp zO(0?Ond~E^Nm`BK%07E+ZwrXRDIcond-%q0wBr248Czyqe_70Gntw{bv)ugLHbFt1 zwI=sycErQ8jH_YiqB26n_Rv#QO)&qGI1gcjA1BL2`3a!h&mI%O-g}zJeNx)&{_ZRR z(W7ixf7<@K{d8-b{W%iK^vK)s9UY6+qbC5->wS?FO6%@$2TsRuc6oq&w)yYWF$O z=1lqb8&(`t55^s%Gf~uu2&*4&WuW6iudISMc5TmuOr3Eq44mgYu4(00r?)76Q3_f` zdf}nQ9Al_wKI9wdbwBv+i#Ty04TM~Y5q(^N=%+7dgxQ=sQ=H%z=~oRAVRoi;VUfr` z0gSLST>11c*0t{EBAJOr01FAaHCgiH(I%TV>R4|2tG2DjlV#bA#^ZICkhutPS4U~R zwV`gEAD)Ge#FDskU<@oiC$(Ve(?U{dn{8zi+GHPYqu#fX(S4ld#j8Im5Bc5MHZnSQ zpbm86r13==QR3gzX7DpJu1eG@FF1F7a9&DQoTrGXt`2Xk`wmB*71USlB#`xY*PI$o zv)2hoXd$4MPLH86xDa9)b`jv@ zD|z_nVp?6~-ZoU0sCJ~kSgtA+(I|2C+pP(XjUG%Mxm57^a!JQ8+!AbU!)Tz&4)%WHJ?7j#DW!ts>F# zO+NPe-fw#;POwi%o&bT^(|%Vl8@m+x36+P%7)>vltYL^% z;n|y@Ez9&Ep;SukT_m2{P8hXW zc?C@XNuVC0(IArD25ZwIL67ir&ikS`U1yYqnase@_~)~J=Va7A8fp^qiDfaw`+Ki6 zoQ{`3$GcXouKVv*DLZIrD=#Uy0zYMwd=+qKht4tfEWhP|3fy!X;C~azWPO!&uMFip z)K6Ib@Um>Ip08r`p3x_Cgw} ziUJw?mfS%qdaPltAfTvFErB-X(sGeEI_;SE`KK(xxf#>1#o!W`xC*1fu(3T1wn?En zl=;0Bo-QeP8^l;B%UM8R2$e|yQCcH-jK@_( zB{%#5>oMkx-*0!TFikY@`PV>?*07mfP^4Ux)HHU0>UskFdm<%jYN7QzQ}k^^nc z&_}4hTk~0_E|9}r0}>Fq8%1rP|FvVzNX5d*-RR7w|AzVZ-hF3-fyK^%o>wp=j1Kd) zUVjnCr>ysY5AM7LOR7H~MC&JjsPdNYHwPtsMq9)mz7~Ze~H>_l?d+Pxeoj){YGWLk=+Ko7Np|sg8?)zeT)&n7wEMi8Y9cDtk zzeipvxja-fJHJZbG#Wb#Exy8qryzfiQ2>9+E_i1!jx!kKY!Gsc1o;E}=RSo4-SkQ` z&HqqNMj&S$=%_TY|4`0gLK8ui+Fdl7Fp86ZD+*ceob&h{+QA?-|Dmh``ejrx^oIX* zKJkah;o1Z7AAqb5@Qh;%O$@>*LXTp1zAmueO?PRv{bw)=xMc1<))|b@6$Sxz3c=Ae z8056?9UO?q;kHnKoMHdz?F|^fsm8!9me^Ow)JN3-T zlPLBS;*@z0AVhSqA+|ot>KdipPBwSz@+xXshPhu$q1b$H*w3}YS0?cCc8|mI*e&oF z>KEAyoe=9Bg-PAOo&c7@w~b5M{Woyz;oDaotpv`U#+~3i3_Ae!9cdO4Acrun$wURG z%Hzf2G0``!);nScW`IU+B81U2 zMmN!tCKz!fsK zp`))yv>$+qS?<|xDc1&}gP%KZ@je5L(Pe>myFSLVxZr}Ub-AU}WPWq{baxWlkC9?6 zc1j;r8yj^(9F$90`iw8z^d~M$P^5sjxe{8^ zgU0BZ8LQS7Wvh<5dux4S4v1>O?lfQIVEEZBM(LY^tqa;S`stY9c8Zk|g4xMM4C(zH z=b`|p@v4OD(39eaSKvIPLE+| z+*?>dNb0X>WE7(EVHx{@AFsSmxptMmNv4?BQ`Z>{DLF^(p_z}|K%7Ky zqgrO9zj|U1>%Kq3P4UOldy;JA{nvL#Sa^FkfW$XHT#8174M)R~l$|&h!s_}c^tlu^ zf*NR)?#Nt@et)2eh&urL$c#XEKk7i7>j^zQb6Uasy#jifE=zOPeZ0F&*GA z?0#7#WDsKlYDFfRPtYMPGc8c&<&#V*4Jsg#}V5+`rki zo!zI<|H^-u5JE|h6Vhz!5v4szU@${(L44v3L1=8)$T9FE6vE=re9vvdh)mLzu%C)e)5OPGcIOOsQ*<%jqZ zn(psDiz>+Y%PCRh+RYbl;nsQf=D0sR3%%B0Bxy#xhGbY9c?3$89b&oP8YMhHJz-K< z*w=&Et}&YsdSgmrAEnmiXVDK+8dGXtG$DTt~j3n_%eohY_}CdFJgi& zHbh8+js4!o3ImtWoK-uRTJ@H%8_-&wp&Pw}G>Mn;DhXoFk@txO7e*kw(igxvY9V7@ zQoDg~kYo&Kt|cdOMFqS|mJlrs$3N=PZyDJm`1dD&33jMapYtY5(_{f zoS#~Nd9I)jK90#fCgZq=i}pq}S#LN>qp*p1I?vi7kDePixADqYBVvzr-)~*uUS-Zo zEIDS5T@4F{-nyo49#Nmej;N1-7PuAg*j91Tn)aCecvg73bUjN_9DGuK7CL9UHiO0( zK;zl@;-suX+Y>J)+IV{c%IBQ#$2|`kp)NBIV|=IRX>$AOcm$%J^#piriZ2u@VAFey zZj@qT*&`5&+cT`G-(mTZxC7~$Z>wKiHx1qU2li0(42qEPwKOw(94VyV%N-i&M)5|q1(vmMn zCt2a_c8zQU7RnJ<{UAa|4-#-s+K0R6TQm^8UP)avfVNq~a*#7f6;{Mt$Tix1%gK5a zds8q}KQzp|84fsSwfPZu(42V_^&x&G!u>2xsIZ|krJ`Q=P9(}o0&fK9#ipv=Nwj@! z(GRLbIjg7@S>1TP_b?mv8@_q9%{y|bR>IEh5K-+aBcbEjT0UsgV=pYlD$|rb^~p&p z5koMRmC=wd=v7hjdcbxBxHSKo08-k&8?+@7dw)&l)15pF(b#`Q8H1a%5mh`eYgDP; z&yARcFEU)W?IVi=OBN_L6M?bMwxa$36QE%gs*kM^7)BU>sp-VuU+?h0(AemEAxLtY z3zfxOha~n^V-Fw|2X2(@ZqP4W639Yc%P?X7RET~4qFxUh5s_Yjg7@1P6gh?DZ_+{fx_JYNG4b_EJfOjW4^Q!D>7%X9Q7f0TS zAIsPxqlFnQtX%^0+`cqX+O7sIU9a z<4_>#zh9%2)k6OQ8h7cqU?Pi(E0HR~bU<@u?RcO3E>RdmUl1bxfV`ys-4F+Ig3&^h z)8LGVhJL)7V(cxQA6$?!-*mc+o+43CN(VZ50&q;d=sJ*jpCz3A=G zFJ};3--$MKoWp% zyLNf?Y%t9^Rvp+diXOvu;W%r9yU=zP1r;#;Wr04T7iBr;D;g_d+q$d?)~ao~A-mO4 Ve^qo#UEy0&apG~|tMD}U{{j5On5qB( literal 0 HcmV?d00001 diff --git a/images/1/6/a/5/c/16a5c982bac05d26d82384d91c1d048f0ddc838a-e1p17-cor2a.jpeg b/images/1/6/a/5/c/16a5c982bac05d26d82384d91c1d048f0ddc838a-e1p17-cor2a.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f727d8496341fdaae487cb5700dc4b96f5300467 GIT binary patch literal 19816 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 BASwU= literal 0 HcmV?d00001 diff --git a/images/1/7/0/9/c/1709cbbf93ce7e24c3569233a4d501c86abe48f1-f1e1d1.jpeg b/images/1/7/0/9/c/1709cbbf93ce7e24c3569233a4d501c86abe48f1-f1e1d1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..d70dd4f4b56d0a312fac2cb0afea6981be40df3d GIT binary patch literal 11961 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 literal 0 HcmV?d00001 diff --git a/images/1/d/2/5/a/1d25aeef99d8a551404f85d6987703b281dd6b86-00-matrice-logo.png b/images/1/d/2/5/a/1d25aeef99d8a551404f85d6987703b281dd6b86-00-matrice-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1594ece1c5040aa8546637db0eaa292f1aa41b19 GIT binary patch literal 50246 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 literal 0 HcmV?d00001 diff --git a/images/1/f/e/e/4/1fee4b4459896f6cc2636747703a2e241bcb8fde-e1d103.jpeg b/images/1/f/e/e/4/1fee4b4459896f6cc2636747703a2e241bcb8fde-e1d103.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..7dc0519f8957a64b0c7b7b4a5b346c3b375f62e2 GIT binary patch literal 8130 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 literal 0 HcmV?d00001 diff --git a/images/2/2/1/1/b/2211b32a59296e4fd09ad1f052672be3bd98fbb1-spinoza08.jpeg b/images/2/2/1/1/b/2211b32a59296e4fd09ad1f052672be3bd98fbb1-spinoza08.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..dded06c77d77ff51abd3ba0b51780af35b090fe4 GIT binary patch literal 31139 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 literal 0 HcmV?d00001 diff --git a/images/2/8/f/1/c/28f1ca264dc1014b0c2ad7a0bd88cceece08f6cb-10-tygryzemail.jpeg b/images/2/8/f/1/c/28f1ca264dc1014b0c2ad7a0bd88cceece08f6cb-10-tygryzemail.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c68b1c013e104c85b44d0c0a41c57c7e918cd9fc GIT binary patch literal 17186 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 literal 0 HcmV?d00001 diff --git a/images/2/9/2/3/3/2923399d82ed90a99d6197caf0774fa372c382b0-spinoza01.jpeg b/images/2/9/2/3/3/2923399d82ed90a99d6197caf0774fa372c382b0-spinoza01.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..7e1089da554e36d11e94d7417635dbf58e42cee9 GIT binary patch literal 34934 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

                                                                        !rBGs|FN2i=@V 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�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 K80hB1bN|^$m7@#* literal 0 HcmV?d00001 diff --git a/images/2/c/7/6/3/2c763fab532c10d510060d5e657e59ede4ac13d8-f1e1d1.jpeg b/images/2/c/7/6/3/2c763fab532c10d510060d5e657e59ede4ac13d8-f1e1d1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..d70dd4f4b56d0a312fac2cb0afea6981be40df3d GIT binary patch literal 11961 zcmb7q1yo#1^XK4$GkDO!-Q9u{B)Ge~1P=j%ySuvu65N9YcXxMphY(~*-h1Eo_P=}f zob9Tqsp|e!-=03xb-U}{m-&}<0GhOflmq|*0s>(0N`RMV0H3ImxUh=65--@?gu%+* z)Ew-}!pID!c5$+_GY3mazXMAvh`$57ax>G=gB@H9Z7iKXfd#px9Nr}h_ zh=_@PcLMS13I_{^0tBKEVS+G;{=dshCjbP5pofTof*=Jzf*_zk5HH;Td;kOh66*D* z{B&b&>G$^!J^B47RM+kjGJq?x^SXMe47U(Kt z@b9|+mWs;4@B-b$?*(?2_=dxHTyq+!|84xO8HL?N#(l1HzEaO@I=SK{ny)hE_(~Cg zZs%hAzX758P-l9=(m6^M_79{+oU>}aH6od)%^yU`{~HGN=2Cqukb9>IMa?D?{hQJX zoxn_XD}FoH?A!MqrPZwe!a_j0IPlHd+oSV-U{#YW$Y_XVw`Me(Ueb)ok+@*3tod~P zFEEk8u3~M6K2ugEc{pw=1sS%4@p@bYdH#C*u3#QTqD@-Df5Et;2uHMKRfb{9Gdetz zPP8AdDRy@CIB4>(HIk#N+X!qsCQa_SlhLl3FO% z?vLgE+dorGa=fCWSrzjS5K7ndJ3Cjh+%%hRFv(|%xF*}?-%U_z6R^&NyXXJF0Q?qF zp}hPReAS(2to2KMW%@$Dn~>BN4mfu)$Nz?*q9G#8Un!A?gDT8q^bPe5{;Fq*)nzkv zF!^H;$xA=M8>5a=Owj6W#Q7M%m9siZUZQ%xRf^(2BNy0uH8?8sh0MU2HNU_1_5Xma z28^dO&uV}5g(Po`6($Wg(wbMB$G?j3G3YoND@8lL{wgAvm=Hxy77Bcp^7wYCLD%Eg zqCxi=8{xvB;!N*gAiplv``~O3Qg4JWq%5wZ}42ET)Dq^$f_-kf`6#n?YrG_|nQ$Ri_Rnda^~*dz~jLMpPYd z>yC-&-Sq0Xcsyw9Zu;-YZJif!aw-d&-Uk9uUl$ew8UPX!0t)gqFuX3M-{o};LIcn- zFkwJoGG-wKG!hmpQgU`yHV&WH^#*)hg%B{1H)~I0NLwvQ?|QU;vGR)(_ST*xcP~HQ zAD2s__ZvNvUd_^LPa8J9`HPU?Gcp88CN6L`8%@Klic#$;j4jzR>W=7&gP2bBC4ez= zJj5Z5^ro!=ej@;T)dbVZ{M4eT!ECN06Dmymo=5tf2BfbFciM-v)?%tw4AlCxvew29 zg3)jfgv8MSt!$Ntv?K@i81gnwf5=|QpalhJpw5~d$i%t}HQtO+nNK)A@`pM|n2?KO zJE%$SNgtJd1?-gM_@(#9X634*mXH}IVel8qsDEh);7|6%n#}YG0cALM5j6?5NH^K@ zBtO_gqf_yG78DYCb8kcEqB^GWi1f3;(O&S!wDSd;OL}Myt;Q^{^1<3vI;LspLi6&= zk9M5RmK0v_@aze0t3tZO##mIZ#RJ|4Az;`X6gE&2|;e#u10> zl?9PN5XP#2<>(S>bl-QU0A^LHKvM^1>^HG;je3DW7Dyo{$9RzK7V|?5c92KKN)Up6JYFQ-MsP2GcETRcf6MC z%o%uwP$4xGWn*H>v&bvFM%XR5VHIB1(S|e&-$WpV1$9B!H*nXxi zE^pJ0+AfSV^E8-q9`DX%Y>o2fqV;pnXsU_F-=;oQEjqp55LIQyIQ}Yl_|3h)P{ZSJy03Y*-?2wEKHyxOnZxK#g zjyn7SIx8Lv2+G=sVlE`Hs^`|`#bX5J?^zSGB;VggIfBhrG1QC+e_QB`24Pt-L9K`ip&YzJ|iFsZ^F~jAk(lD6O5=*?^DqBuR_52e@}qO4 zCKR0=ujgGhEOx4(mK6|iAbeN&(f8s7@ERBiK(B!j66#M#{7XQ90BFJnVCKK#;OkCB z5MlP3^(!WL=1Y3p)fH2+NnSQKw#n5Aj&LcVE-q6LjLv}(XPxYJ+B@j zM&<&C9@gsne0g=2d=13_C@45sL>O2YnBUigc(p<3BrMPvq^!btt&%v? znaq5Oa4gw`OJbjENW+?g#Uh4d6Hd+;-4kGlH#ax;q*RnHtlX$+fGNU!GK6lbL{<~J zrJF;nmi_i_P(5B+$TMp}kvpaaH!RGlSMF3wH3{mcXe5_7&sg|#Mps80vY`~x17yaz zjh6H=ibz(m=Eudv?Ri)(5J5#sAKfm?;LixhHe;+G(P0Yf2Kf(Sec9RTIW|djvz{1Q zIx|?DLA&^ka}g?BYWuU17Oyl}6@SFmlg28?4x`G(#tV{keclnY%02%{N zdl-clVOi_xaa?34&GjURYZC9nq8)iU|F&3Zs$=PV5{*OezLb%H0Vac|cWnfYe!jPQ zdzxjhVMTy)BK2JH%Bn%;IPT`+yHPW_a@OZ;04+zhm`l5&&v|Niyjo8I?wa>Ib_2{- z90EE_1Rv*K_+Dl`7Qc%KoCvE5+zz*1#9j{d2!j@5m@Ql;+-k@m9Df}obtqr_=!UPy z3H41QT{l~sk}x~tBOFLfeYncoHW6FY)zq@Pc5L?c)8J3G;Kp=O@rAa4 z=PJ^g!q5*)DuWzU5gO<_WY|zrF1!|Vw-Su=B2HsGSry<0vnSH5rxB_Wcp?iAQ<)bR_WwkVy89^2??G z-#6%|q5&gWrsjIeDnnI7CX^p@)hv3T(iSqT4crRg>>pLrO``fdLOsBm3E1N%LDNa6 z*a_suWhFK}{1|<35^XZRz|NOLx1);GZe*;Grdvd}hN&ckPdbw?5A<%6akyG9Z^D zE^1PfS;3E9gFWF=c}#8CJ@FQkdDQ$5Ev+v668q{pz~bA%l<}`Jzm~M~=yMQAiugEG zSRY6&3-u>)_jcy3Vsi_l07v9OC9-w;+qYY$To1_>S8#|%wiGk@^QbRFQEa^2_ zsoGioae8Sq2*|O4YR?W>*;>GMM@Z=Yfc8dK_||%Hj&%*w`|>iH3Y!@yq~RDPIMpNH zX?Jn_y~J`~m2a4F7TMn3Vv5*VhNgp-X{FAT5Te!?p1i}OJ{@J8PGXS> z_@p9|V`b?XIN!YcbupZJU2T)mr+=hHBGMX-C^cBNmV>w_UA6|8KSQ`qv{k~C<|(P2 zPdV4Q+n15N-^uD6=`lkjJ;|$#TU1k{F-BStS*;IF)XroN@QFBLN9# z(%IX)B0DA0R|y<(TyLqKNY8lSE6^)zau_Si7*cr@zo@9QI37C%F!w9RHl0^0sa?2)*pdvyQZ}U(6VDGT{hNi?5%N#G~2=(>E%d|u;#*@wPVrB=1bu% z`srPfm9hsY=t*T0ktIJ6pbxvb5+dGo{7O)l)7g4)8-4MH(`KPcaSa=4@yoJOSGB;| z4%g)WO|X-XIy|zUMXP2n-2C4}B+~1eTosB|(;xnypYVdbtK?FTsQEj>s#8AWW!JvO zlSoUl3@Du1@REk*9_gS>zQStu zFA=is_}R(DGNse`dh+2UPAxibNTbTq6GKf~)p8JhMxK7c^yI8Rt8t)WD04iDA~oG% zx<(g!UOZkvV1x7&ZZfZDcl-xLS(p{S;+A;$ot-zfigqhAzBFHkQ15K@-;C8sRcUiH z)MHC!r1s8et$M=8?^5C$)n8k#X`~D#NMC;B%!12;2rZSfk?G0Wcr*9OHEdC}p={!J zhutYC@i8S>WyLAq7rf+>YAX+XGqM@1ENGVu`t!A*aO-%jhVbVnky;*`4OGI_C)wgC zVF~(Bc}>4A)H{b@Qr>6f)mz$gP1%?lb5B=u*>qCuyxFq5X*Wc6TvOJDY%!)va*?X* zBt(H0s~>2OQ@I4-hKU9IDp9bY3%VafH%|H{R#$H`Ur5$ZS`=vq@|u9rO$lYpeQVX7 zG}#jK;b}j0;tg4nqouhvnvv0>HEk*2fRuubO%*rihxsk3djuO*6VgGc<~%diSE?9E z1_p7rF8mK_E^Q4bp$uxA#j@}5(hkI8Z5C>z#ePB>RxyS&AdzYsD@&%DjGu)H4coGh z)Z>c!S3iT|hd)JH9+m}eRwb4^`F(6L>2B7t3`oM=TGtGyq_)cq$_2w4Z3ID5%G64} z%e(#*{krd@Lwh~bLqS18!~K(Ed)?`hum~#}`c62+o?oDWU(*1&9aS6uNdO3vJRI#p zP$24(tfyQM?*-C5)6N}t3GQfkcFzR_#j5n`-d>-G3Wi=sW@qNfqOw7wKkD*Mz{bbZ zDegvh)haL1`@3_el4oc&s&%v@|5*Tn6Yy>CZ5BE#^k z;|%a2)deutC3pp~LCRTxOx$siwm&k6lI2#w`_0i_Px$xW$2sL3a&WwfGym1_0;n}U zACiC6#6a}wwbo#z(5@N&$x}s1CN6@-^a@q_y^R@~+-O59nvKu#cXNp} z-pc^HNcGif{!k*iOZLIwn~5mmyT0@G$zfF|B{%fzyz>R^ZV}v&I#TfL;7Isf$!dlA zcfAVtR=FDlE-~F7)Zs=EBar+I>mC#LoM8fc_2WmxCkBORxEq0w3d&D2egxD_3$HWu zEl`IxGw97vHQ`~7Ng~eptXjpGYA=)lTZwnHg7TA3UT?;$mB<=0ENRV=4+syV!A-1esg)qH!1f0hlA!CfKC7gSRymn9=*iVmt%tRD3OCSRZf)NDzXxgd*A%dD2!k=u_Fmeub$S z*J+GXAP(Q={1h%s0Qa*B;94q3*nc|8Zm%Qk^~^63A`KXyy`vV1NsS2ASxL+3F4JCn zM-FYMi>HK{nFOerOqibx!`4Hu=+SEZ(u(vr-V4+G5WOx*zMfx>{LA2p7~~vP1DD$h zSp%tMtTXlLM=$ML=W_8ZD7{GT^W0xIuxJ;@xv&7J^;!)Zs9+D#=dbX5xF4yP(!z1U zFdt@!?=nkX0Bt8?KUNl7#}>1HwM~03xqf+Gs`Ci1^H{3Wdp?~x^P0|Q#`l*O$NGwJ z9GKnapvOJ>W1nih_?}&(h_q9U&EnjuONzjm%`{fZDKdn0x<@m~NGGO}KTTep{A1U-dQ z)vIc*5ri@8HeF$6b1mfU{qN-OJ+{kgsvu2f{02f7QzR71;CW_O!|uG@?}**+UI6ZQ zf`7DEBKH@HDI$h61|hEFWHvjGY5xGQ4#9L_=;bQMfHr!(p-xDmQm z5MpgIl6SYzeZ}^CMlpyDZCR|SZI_=*&?+(w!(-%4xp*h&n&c1N9VvvJz8tSTl|H-s zz17YNwFAArN)BO{Q^fsiQ$6apk zvf!gxYS9aYuo?M);*UZrq`W(#d3)~Ylnh+PsM-?BTH~{}#KdFk`51A+)QUcjy$jSL zZPdhJM}G_H1BSST#{4>2INsS6{DdL>=Iu(L7-mp_E0JQ!Tm*M_?TDu8FE-=Jjdoo$9)a{5XyYMob9FYue9L7D)9jNka4kFj!9qo z-l#!npns{WdX1}!kRkgEAnev_@Rfy^j!Oo{yT0$dmj#FaP)W@(MEa>1T~Hz;n)qF+ z(;VXAoV-IgBAG?IqwvF=KFP+OJOQy_Q#?r1{@VQZnvi7Nbf@^OQ)iOc#vu9TGv;#) zd}b(Xl^e$h+{cYKwPeG!Csxq)xyH!wd(ci2+k2Qfp?)1bx{H!A`IhDs8v~P0iQtl? zyrvFzH$QQg0&%ksC<&C;RUY7=XXzMOpK#uw>lswuf#Mf{DY2Z%F_^WFKmTF6M-n(T z8yDJbiRm zsr~2{PVOW%sQCetCIDPOCy`+J7mLL9sBu{IO&P^E!uLkS-xN}65@ETEhFTBde4GWN z0T7wFRRf!SmRxtxg^v`cDeUL$)qfKo`vP7SpVsX|YgUE%x240|he*k}`x-s}#a6gF zcT}ruqM3bxk_LI7O9aqyf!(DN*C!hMmW0SvX+shh=(6a6)y6ito1V*$`aDAVa|O)mH?1*baB`vo9Aq|q)Zvs7xl+E|k+1a5;&!_!hfE|zR9@G} zcJFNA5Fv_Nv)&M@dOI6mIQo;fzW@x&e!>C|=a_Ow+zAJ_uX)O)rEAD0%EaLPUjPsl zt+KMuF8hyMszR5WqFm`tHCU5)Mm<${L^*?6u^%dkF*1_4&(jT&t9!(Q1)YSf z=c>2WAPyUboPkvGI;f_c4kUJ|0MGU)3*{8P0&DRBQUwe);$0_oUg7uthqCX>;EM$# zxN%TVfY9nx1Fbq6Lq1=O9EkYYNmUaFd>l4}z@SQsNekNL1c+8~Y8wSSw@FBo5Xn_) z7n`1U@C8PkhFu-!wj};YX6BEy7Cb=Yz(PG?bej<;_%3sfT#cmAW_?<)F|`j3^Ex1e zxy|{Tkl~OyvcPRo7agYLfCOnm-ZaTd2)k?BAzEr=UhVZUQoZqE1a8Q|$3ewl^fw8Z zvX>QFOy{KZ*(g?&l&ANbzR+6qH375Vs_^q>(pNdmfv3sn;zC2{NLbazVa%9AfYnn3 zKj=!>d|nkf=>7p?#%m+S0g;)iaI}R+mC4vrbUEH}qz74O!B5MeHB6eFhIW>zFvW&y zoP!TAz$B222w7m+Vgaj#oiOk!KXFjCnAv#*A>l$5QShtBFd=2W4=%Yruaf!{H4|r{ zgktiu5>zD`vYxdWn2~!j8M-}v+3RqQqaB>JtWYV+QwUE!2)R)eHd)?Ci?o}^B$cc2 zT`JFc!Zus0qF@~hvqj2c?0zyv+IxI;jG#HPt6#?Z*VyJ z2r4&*{NI&Mzuf_y$Y>Xl|AD78?n5KsvUAjqkgK0+d{cqXcH!lDZzdV=Jy$&kBtLs!J zo#@aGNFlc4{35q% zW8%MO7qkaL!%LTQ(hB{E_=Zx(=MIOotTfgTk9=byX?ssaHz~3;1eLfC7Q&!|MB8JuftUIz;r(g6m2K9 zMPtc0RwDH;($8)0K0fnB$&K@Wx3ggO8Slt1b4J3!FT0)#_D;a05E5QL3AXzZkH1Z_ z)-E{{Q?`eru-*zd!~|ez1W4519({U`NZgBT=$bb17Q_3L9oawi(d{7>V;Vf+|Jt(7;WXp zsA7?c&Hwi6+_a=pRgrFZTH2a(S8|pBQ>Eo@i(#@*$fjxo@c9YR3&@{hlgmnXs%tYZ z5H#ulP8BLH%FK>yAjeYHN#Pk63reV&I4^~zyM~Ub_esX%iDmOGBjD?>59u%M)-BW> z8hx8^$qqvUBXp#(PWjyz5`IDS(<~2~)FQR_yKO!;Bg9r{0D-u^`=#S}nK!wk1h&(` z;g^e4UQ8tDVX%b-ipda9IRLS}gGwqmo?02>1Gl_(40seJe8KA-emZ(oe@IsC51S7o z5`hXtsC95;8G>Y6El`0T_gc=7QPAkOfMHlyJILgp~b$T&hwH8uz~zh#Pj*OL2tBMbPK|5Yl)Yg8Vfo- zSGPrv1&bDX0ysIT1Vs%mA(UiDi20G=E%W}z`uw_GNT97tL=PjJZoh-&HXd^=&aoxg zS$dSe@UaePYun^V?`MU*#yDwK?Jr2QD*VSlp$gpKm3ooT(Q(4JJjgk_>(EHkp67ZaM5OjHHID^)1oisT!5F7KP_eJpb zOm(>F^u$*|81S*54`!p+NVc{e#Do0+UO7a$@o~bdmF_^EDaP!69cCZZxP>1db>RH& zorVVkKE{-1SEQjgK~!=!5k_Mwx9EJ{BqzwF!93nfc>!QpNRF6%VU#Hk$c!ff8u0p3 zH|lMr`WeKtUs0Svbo`(-+!xY9Q9WdeQ|^T@$&MkjpRdsH&jLmqJR#qmr?UDIkA1n6 zjGqf;rhBfInD#oUkfnq`euMfxLYB+-t+Du0v@G1aDwlIjJa%4F-bbgr^^YntXa&bG zdd`eEzm6+`_-jY!hEOfqOZxf33Yw-jQc+C<5HQz#?mA*6NC0-Z)DGJiSO=@@FP+@v zC-(GD{Js+zREDv|vW~pNKRq=xq73$-%NS0obXjUQ`U%o;1s$S|DB~|i=r~F1pT^-g zm3P*JxT)Gxb1}-pSQS^cxre4&016ZY(A$hD&y2<_1_uiD1Q`kWMC?-N{kSQ&4A+u+ z+X^!2z15(UOZ$=Jlo07)??qsamXDb&5#9_Q!SpwSaX>C(nZ`iv)Vb4 zTR&z{*}6<}ok19+jf34dPV7_#8X6}OrU>pJCJM7zOxMs9iC5*J5J(QWqvDNC%#!?0 zuW<2h5|9aa{L`+JrdBM^i=%ry%TaCLZ@lr2jgQFTWKC)od=5r9H>mlX8G5L1ZhMio zF#6$#fuQqe0+%Qkp>BW$Zgp2gLuR7JY6R%e1I6W03>D%7b43q2xkZ{=$4ts;w@vdo z!w@b~TgbraDrytL20A4#4o-Ov6EhF{4+y%!?C?EZSG7>WKDRA{SY{>O<`=-Q6uhrt zT421aEQg%^ExFV_z?u+sx-W>St&%8}bRcMt>NHk#T!(yapduG(yPX_C7A)>g>TW=( z-A<&hICWn+Uxo{#4$2t~d`Ce8P%P`OWwL=e*|4qh37F6|!e3S^p+UzGE8)JR_4b@~ zMBu5t|KwUTMP;E$(5YX#+e>I35E%1xo0*)%fq!3MfL08msgb8dQSjID5kUmpLY2N* zW|5CTcaRR-TXFQGPmv7s+`!r#I*W+hc1@N4dJ$S_1`H+T^|}{Kpm39H$m82?T@RJ- zk@qjfVZ;y)qh9r!Uk|(QP`1qUF&G-B>pe)ElV$+AoP|9dQn6p%4_AGX*gK=oH@_$sh6z4u>p!r<(*~A z&Soyx(E%bz&)WIzsVIM3yE9u2YNg<@|3p`b<}NVXG%3hP>#fw;K9FqPOsKp0$&&5o zfWQKhzfg+%H$%$QN;xR4-Zhn2k) zDtUzvqUhseS(jJpdtZJXS(moLvLxeW3d1DZ>)mHJV3BT^8JJXrB)TEG6W@2RG)iZ? zdaZ;YC9JdsZI52@0|$~8%FS($=(R_;Y6JD>ENGAZ0K}~rIp+%cpMNYhhuBMep#JMfyEj|F>fS~9Bts= ze;t=$tTNdraion5QXoioD>l(2%E6jX<7hZd4>y9!qGrMc3V>af;9%%_!Rn;ZETWH; z_79S79fc0dwIm&=>AtYg5$93aU)L*xKG7iEB*RhXlLz5JG*66bSp^5N!&r|u8#>VJ zJ}jUCY|R1ub)=HxdIk497Xi=mT6IcM_4NB&{& z<~T!PeLrDaL-B!1Cy?llZ@ELXP`!#yn(42*$Op*f#E6=wO35zKz(R3H+^zzJrWY8W zI|LkhzYNTMoBf*8rGPP^{>=99);oXix7c|B1Pz&|SAF)+@E_S5I?L|y_I#%MwRfSv zCK&d7pB@qY4WRLK&UpW6inqc%*^0sRB{ua^Lewu+)tlqVSFPsQ>0yCPLP`F~wrZEJ6 zOBI&V5`Z$LYk~|>s|2I#(15;f0V4;TX!r4B(mi^Ly7Wg=}GFK@tgpJvRZ> z&|H3|qZki|8Zv}Y6n;fO8 z+?BT7qfTe(L+4&_Ox+KR#J&!)jRs1Nm_lB167Ijsq&Sw9`Wt3B8{MIcYER~U<~u~i z&?WiH@=Ixd7PD82Hlxrw- zZY6WRk&FU~lFC1@*Ek`{ODHiEN-_}|#oOsyLd)myS_corVyKuY%zu?5w$X&2mSs$> znPbdFkJH%gFjQ`1c8>(I1rAnd;(Aikzw;Hp9M&EnA(-k9Q2&e~aVKR4 zNRCT5OvQKf8L?klivWU2u?`zirKl)q6Y!7xtvn=f3}MN}+?=j690V>QT}z6Y>%Y{5 zm2m&cXW+zI?4`<22_>l0S@J;>fVPg;E_ZCn+xCkwpWGa8eK+|8Q!_pU8yX*+2e414tpHBL$EPIM39!PI zrXrbz_1Lyn5V5e1v|G0vy~GY#ErNCG6(7_BAaMpPwZ0)U(Mp_0Y)E!#f?V znc3-@-Rk|O=j-mzwa?!GR9Q(GNdOoa7{KW30(^b|_{3BtMAVg3c}XnI7;K!(ElE6B z7@0|^-CeC6EJ?s3SjUM zl7(kh(Ba;HMblilw!!6{az&-ZoMEsA*l8ry*JQ!y0JGdm94%_-l2oGBs95ZC*)Uj$ zu=|!*$6G_iR^{iQ49kLh?v(G}+S6PtFI?!GwprM%!m=81;DT{zC~Kot0@-m7aV=HB z2g*Y&RB$E0u;7J(siZ*~Jzcy0NF!)d_BQ2PD&-ftHW665iuul6D)5enZc#`gynm3u zsK+e?qTwb17P;m*B-CKgWio;kc^QYx`BmQIM7g)cJ|$D08MJPywxxjlYC`WiT@v3FGa!_|9jRel^9rxq4!a zLjy>xbl@jiR^p(={#(PI^M2BK(4yzzKGIU>m;NNEaWwcn!^LE+=3!Z@ZFmI%!Nd8L zt}F%*a)5c3dy1pw1UjlXf$yXzyg8c?v3q7=qNfBpGNR_TH-mFq&z^;k$K1VcUzXQp z?|!Ogzw1Ij_&M}eLti5&)${s~rPk3&hFypJ`D#dc;`(tnLM7q}IyzANfPQ7M5E7mG z)}VgOkzL6gZ`vV+N1wi-$|r&5jJ0-V%3q%)_HoiZ9cw&{PwUPKD*GRLSXvCnEnT&d zNw<7N^hwfufz7F`Rv|nrO)5nWJ4U}`mdee?6jAd5(|yX)?efcTKBs?y$nooj{EnX= zrG&Qk)R{%gSn_3SN_B|3S#P`ET@eI>08#|rc2F>W4fW}wxKX#B4aaGtt6M~NrYyiR z)jUrc0j5BdGmoCH6Prs-oP(o>e%k^!8-aB+YJWyw?jMM0d+ah(e!dp3q3KygrO|5C zYI!`#*FBq+e$0g6s?;Ju%Rusy6&iOAkojdN7HxSf?Di~@&J6^1CZ-A^IpUEmNEPCg z7>dJ4kjXS!kua#BxmmA3XZ&b_^M*upVE|aZa=u;YiFM&(F$0;g2{f!TYF2b!wHm`h zL-0K8K>50EhHA@%!Eh$K6@1k)+EN+46sj0n3LF|VS|ByaEcYx&)ZC&-adN7fKx?|y zzDL7+Gg0L%jD(?wb=kdsZZlE#*>;bAO$#tAEGei$iK_@_nR8`F>N~wgTO17Slp_eU zQlH?vTrEc)T(A{&Dpd|CFF>S1imEF4IM?milF-9k?=sqXz58G#G{~40qqFPN)q_BxfN+b7@YA~s@6Dh zY|duYYf5K~LE2UjNS`g2BoNBc9_HCJIh1K&5Q=4$b1Dh(pKwg`;kqpABjqYCwKM<9 z48)_(rO2VoLj)qJJ2?)y)Xlmlf>=5D9~o=9S;QFX%5vo4?+;f}K}XgT<&eo8HM!H- zG(8|}WhqY~lVj?%WVI~KY>ufy#1jQ1b`@?pPDR#oaJV#NA#=U`BM+LU74RLg7`jI}u!W&baheD=UF;k5*%mnbgOuWHY+Iv_sNCOh^T0(;AE^tel{xBy0ROVi`jH=@s=nQU_S-U_+-oRyx!%06n&5+ z$M_^&D^M3H&`==PbeV(5AH-`i6#Zg(2CDg)3qsDmcea{LZzNHml6~CVX(9@4{Rmhk zc3@tHDvz`zj2u*TwFN};2>mpiAq=Q}@M5NVH1{}{UzVwliOotMh>o@w!9 zzJ<%7TjS8I%xb_bs=<-sLQBX!<~Dmj(W>9fJ^nkp0U9&i7aGC+<@(jlR?yD#%QfQi ztMT6X`qd*;=%2H3v-wnsMXVga^Dg$1@)BeDFuNbJ^MnQR)2cei!t`pD1H(jcf z{3GJ@C9s~MJpiM8@u+!s_oYn0%frrF&D6rnK+2)g1K4W2e2&|6&VzTuHWs5ZCK9=v zp! z2(tKyr*|1Z)i;nMH)R+UXTUA`CxGDJ9lVE<*?F%WPipuqxSfu($r4}9;$u_G_4f^z z-p%wUMY)fk(T#qdw>fr+58XXKhc-BM!;QIh62vZ?nS^Z>uCZ3H+wC*hrMoo2V$aQ(krl5=_Fbr`fG|0z6 zMdNw6kqBHNCNf|&{MQ+XBI61;VVSeIbpb>H@hIR7nB@vo`$GLM2{djpHOfT(xdaaH zp0~u$zo;dd{d6}J_|?LecPb8D0^5z&G6*j#<*a;zcjXE3YAZGbb+W}oxQuSy@#Y=Zk9vy9r zTF0#J#CO;H0=!!F+g>Dv^1rwoZfioDQmNrX+%ho_K`kudqts1qx;+% zwOHGRd(7lSJghY8NoJa|c)@k{JOm=InJ9;viD=E{`+oLuG)JMlJO+~nQd zJboM8P)Gss{fOw#7i1TG)YpKtCYe=mT~ahu#sbphj9)~k{5SwL+n&c5E$f}A)VKwW z7O*NPx8i|d$_r&lsW&F|-BFDeRq{&*KLN4X`L3a%4b`eu<%LKR z0PCRa+w*@3VWq8x;hR8@Eu*|?E&HyLi+}2Nys2yaJ7v}vbH~lbDotCyh|!#ZOYUphWa*>7<#8-0=q{~h0o{3q56%mw+ z(*E)ac1K*D5cL|+`vrQ>zu00AuKbA$5{_Y}{Zk%^1xC$QzPt6=3*=Q;|Dwot_HbWq z{z-q)vf)Ekkr8V(X24-#s}rSPVU~-Vg;u|VvYUI%Gkcl)k@V8}d{?l0De+yqxDI!^ z8Psu%sUk{?NQ=`|jVKJlRB;{QahHMx!UUUKSKq$*C%v>~&Kl@FVX8aM-sMuszB5pdbOg;~i1$O7}ylUO_8{lnnvgtP@*B7P6=q= z!DSWfwpvQrXVc;HSvHy=&+s0)uA6Kt=r9YtqjeMUruvxY7hlTZ3fRX<+J$ZYDoeL$ z8E);_zt>1vc5T~dyhm)QUe;q>uU-2&8nxD0bC~f%xwrkD%jeO1F8}p;dJ!%4?tPO` zo-c*ZLdxzHf+@jFmyc@Fjt23pq*w11?YEs$`dUF?7n;5#9_hGRlV8ouHcR;3O_&1m zj87V;N*pI;WSA`eG%mM$-JoLMCI_`WO5neQW)F`aZ5$hQ8!ZfHiv=2Qs&>pa++tPZ z4+S$10|j*&i`rFKs|=Eh6yn>gDU220@8EDrk~AMM4$i_S#HUvb+`Q=K3wSty{sj0om20S`uqtu9(Fp6=ij#b7qv2R$XxDW|q<*L3CXmp8W~H~pBy_RUQmR$K zhEO)zKN8T+G0Y&pBs%4;m$}eLd2`P>jS#p^{ z|I7&+M)Beu>B?C{{@I~h05q3Z?$Q=8Rq%lt(;(ecpAZB^7byMTLlU1=;?tt&+M={Yu zmRx4k1SPrNl-g|`)AJM$M%i>uLv+;JJG38G+Z zV>XzOo~6Sm;p~}^xPgZ0uqC0U1V1l6mO|2w7@siXU0QZe5>Kh&SIHHNwbw8=L!pSt zW-Nx1hV+%N@iUvC3jBw%=&NFj&A`4{5nFfl)J)+kTuLpy)=d#UmFvU2;;U@w9!MEiCu)jE2u)SIy2oadFhK%=r&!rGSVau0^8GGid zyk9k|@Go>rc={FmDv5O?aq~S*AnIJ*Xr<0};8?CASF-tET}ha|O=6R!*G%e#^nz`b zN`%JSPs;;MNA|TGzD1pKQ-h#-%G{qGm%Q#b`aTrs<8@n;>5D~UOCB@UO&Unf zwl&7)zBjcdXwKclM`;){Z_#tT(< z)(VgEe5{YyDG~j@-7gg+z%R%B%X$BzR{lpw!GNeF%;0FkBFZfP(E|S8THg3jBL}g^ z0ll z%rk!8d@WA^6#xbS0RavH4FL-V0rj=WFA4~VM#=&~Cc>(MZtRRIEE<$l#HM-;`HflG zq;X)L#K`4F%+xhFdGG(6G@ymRpUN9+odV)CMxhKw)wI?w2byt&!_!|94!LM4KLPzw zAFAy5i3p#715JW3jX zjQAkb_1|GtRsVEkJ?h#nrC5uv%)J~I$Qz5>m6FpNN458}w?i+b8kUPENO)Hj>*ZSq z1{(R(bhDIhrEGSJztIN5?&>Gdv}9a5J8gvwEG5c2TxFGYK=bi z?Mc|@l78TWZ!__W19{?LNm2>?jH?-u1Se65drv<72gOj3`3PTr1nFztYZ8#u()g1f zWU!$i_4>+QW$h*?k11nqrzO+*$Pt#temuc#qxZ}Al>={{ybat`k0gj_h8JIh37PBh zIS$!4H$p3cImp#opyHX=!LEPS@ekIA7$eCEx9)_hyW5-a2`g(%Yb!fH-!OjK&lg2& zexfwBH&(mrIZ{5_u9V@9MB`NYJurP&7{Eds~dkrYN9k$$ZBCjy5VAPaIrL+oIALO z`7u1Y9&ZJNN)F_cCS!nz zsy-Kmpx&a&MOK*rVt17&2lMG5;*CTOj>M2E-0iI-M`y0LD4s`IEr66&=RC*5FlIAs zS>-CPO7llbdkUq>5?)eUt}&iIzL73`jF)k-fZt$yFWw%chA-t50I`8${!yarf!`ys zMQ`3jX-eo5fR&khMrLr#QIX8wcb$8gOer!!m|`%>&+7m-xVVUJv4cq0jx{}rOa|{7 z=eA_MyBTV2Wz9`qg)~*w-B9`>x+!NqM@UoDrDmwG*ykB_+~io{zSrb2z%rRFeMvJn zwXCFS+@huyT93%tKRlaUX%aVqCBgz&q~lJE9KSYf0QqU zpgh5`5C5y~qd<1Zb0pX3x@LG4+7g0(cm<8OYBSt%2lvtyp2Z#{Ky4F9i&fE~gBRp(CBEeNpr9BfqhPldD=>jzdQkKz6|5&W&vL_eDGA$emlyX?a9VT( znm^mOUKjOaQpAF_4}#KL*lDgu#z=XFC>+d3>M+XF+w0z`Q=G)Xu)y3}-MCI-A_0S_^S?4fJ7F^*sjOoN+b zWBVg3`y$n(TXYJT{*L5$5@L2&3UknZx$YI016=t!4&ErEnLaA7lc93>XpkgGrU9@s^7d5c}Y(QSYJ)Y$OedmSL~VR}aE91|(0C zIW4ddScldbor4t!yDk_p9fP(C=EKN*Md&hA{G#rW6s%c!UNAvvd{su6?0RW$*^}4mM#4^vR5!O=s{NmX49``=l`Hu5Tvxd| zjD7>Vt*jNxo1`N1t}w$iLRE^cI**YPJYq^xx|&5Mvy+iRtr=h|3*a}pRps(hs%EEc zyUPd)OP6MVEy@Ot&0Ja%BhtOj&AQv7!@&-_05_a}xo_PJMR(uI&}e&0zlxkEU%ezRJQelr>Y!kf1E_J8a{ymX_@f~tOEEaXq zf7KAzHApZoSS2wyPr@z87(C^2C6=(g4NY48M*g5pE8?#UzAB{I1XW_0o}$%2aCJqFToRb znF8{~Dm3QuR^>tGdLo&6Hy9vIAV+JrY8uqjy>=@ba}1>(n=RQGDx}}i>RL75Mc2n< zPCh*bJAgk4Y89fXyvl9S;pFF19NjkIT2@mb;Y1B-dC4!-9d5OKZDAh<=#Tv0>!*&} z>=PSx#{{x`dCu-j-fH{YF86UKucRnmgMiKz;FAXUmA7Ow*DI~~ z&^Dt$M&tz3&%{OaHkLnGYI*90E9Sfe@>${?!bqh7tt*Oxle8@6_F^xr@%yJAILJA; z?Qhxudo=#Zx>Yn_Wd!)|!Ea|E)KjS4Q;0V9q1^1bm7w;kAPl+Pfa~l5KoXZGxPF*e z_H@vr!8dDsxyUP7c8-SmP~8?m(}jr@M_NlJ?Jd(`UVrgtlCF&OF1w_Bn za-=2`|Kuq4Y3X*Cb{#!ySSx4c9Lu!pm$%fQ;4^{053+O%p zr8K4z3e^NDW~b#)Dh>l2We?m4uf14USm6EN+nd3Rjp)BYP|A9;nyW3I6rwnwy6KsI zFfOGqs_LCPUknz!2&v4Fqpm|)vld@JrudT*@=0{4?oPvOgJ1nf0mX2~l8p7U_?laT zp&r1Tgk%vbadaJe#dmfYxjC8}MCU*!lZ;}tvwl5(0V0eUX?}}s+#ivXn0L1SrOvI? zut4S##sJP7L}m(4MD9yt1z@NJBP{-qC7AoG(E^An1y{D}f2ug+q$pOCnf9d^DTPTq zH$ql-NExQ#*77Xepcdk}vHB`Utu_Q&fN4(vaGzQCUl;G@>juD#nL~(OrrHW`Z16Jz3&ts%p)1Tfrfvfa5u##bZw_ zuK7-xZ<3MG{eVbjGq20?mqxyE=^D`q)*1h>>$=^N6A3CxeFMrnwG)}|mjjwxnH=IE z<^*rQ-Ha_!*FpCb`q-Uh$BXPxCrz=y<`G|VtTI@4wMCIJ-&UqtVUtCLBzy&v=q zEpS{K|JM1fTkzPZ(maD;6Mx%NPYDMKR-%GY^y{PU&so4^GeZC9F4V@jj?Cwy4J7f7 zR50e5O(qw0C<#R0e4Z(d=J^EV4rE=XP?kMes9E^oW% z=(teEyuW`p=lLMXP#W6(1Ry8`eh^V`?EO};XiJ+2Y0R4;re}eHtrIX^;TXl5@Rw4bav~lyvyW+cyMRvS+xZDt zS4CcHQ2g=Sd~K}PpMrFeuLo-%@jf1WDzL|qPeNMK-fbfgjv$eutz9uxVDYO|F?9xW zGIdfcM+N&<%XKD76&D(B&;MLiHzc|z71{;b7gUUX{}zj?Y@sLS@*|BMxp1eRg8dC@ z)zc&fHgvQF;=4=B3^@$9#NzgvXIQC3j<$oVnE~V=uK_`a$Gdlxt?qN`@eC>s@;>9$ z05+GRF!qaV0zxCpTJe6~z6RKF!D*UOL>KKWEWbRrtP^53WU7sMNG{SV^ph~`Y>yLaSdIik3`QxQ_f$aQ%p7@ibrX@g#g98|)i@;n%t+lK5L%e^Yj z1i>h(=>{?3;Km#l#mo`*UVASFx3uuH{R>qDp13~5UgR%Sckqa$YfudSyDtlcOE zkff^oj7Bl4Q#?iH3RJGdsVnXq)Et?fJ_cI0#%s6l1uZ|o7EH!r%Ezbfsa?i3lR9Fj zp7AS|phqS=hDm8A$OXq~q;L_K^QH?`COs&+^QL(vb2)_>rW3wPSjA-JK>P{(kulzL zgCk~pJ<-Qs&Ah3c@*{-yrzD?4=5g9O$FD`0yQ||a(kw-KN5!Hfp@kgf?Y6t1Nnbqj z#E=jMeeGL$uuP;%MfqCIJhsk`d~@R=uWu7SlMq2wI7%T^#E1q{{^s1Ls~njrRtb;o zNTRDI79y8w9O0qR zD5A*4!E~gtpvg~wz`QwQq9{7m9nK(oF|5ZT^yD(`Fyxa^DR-=g#PFKA8gf=F4Lb2U zbbJJRDuAV>8$Aq?+konjdXe)9NlayDL(Rd?CV_oOUDcf3E05DY?Sb2A%-v77A9_35 z)ot75G+7|dipn}sElzxSn@~1SeYQC8PTttTIeBez>%etlGKy-My}kIBsw+{SU*AiC zdtc3@wixPJgJaa*pqOjNCS4%7c`` zDx|2NhCBEwt@-?Hwl&nIIG}7Xc-bfJ>{T?1YITbPLV9h^1W4ZUFLb>ygB{~`Ohz&Iw*!Xlwm6SG|W9`IguM%07% zzFe;}4Ph*K5i>nPzDSw$mVrQ0Gsk?$LHfAKcE%a`V0KGS*A*6~3DV;Uew*b_41zvs zll`DWi9|CYqF|8 ziRGjf7bqz^F3RNf2}nfGr4LKG=nni>Ezqa2A_yAw8*a>E&VQkIJDprybS1-u{+LmH zEI{fNX{X2^~z1yZ(7wwy4r;>~eg{n2v=(_0G=4I71_IcJ>{eJ4q`7Zpe^gK31e z)vQCj&!nF0=~J52@~T{Ua<{ou!$-`Tyi!v{9!{6#xQg~Z&*@jc*9C;_i-Zips8nd+bW0lFM7U;Jl?9w33*{x)H*L*;>Z|<)QVA`Ci{kuxMz%mB@L0b-h9~mWZjp3){P9zWJYcyAWwGkw*_RY1Js1 zD|gyo77e<=H{>#1baX&H+Eyke8~*d#WQ;?KhH0oQ6+C?44v;WPwg zez57qsbS?$KnSfxnaiyD^z?K^&9vkVcuPig8Uoh*G*ebiR{l-rG)9=XROv>EPeRXh zW0jpoa7yNGn1KPpKPBM7Y*Iql5RY62wpKhTjMh+{vk#@<>{2lkONRHu6C*iBdsqHK zm&3E>u8db-9M3u0c9fD{-NMd!TSdL1(h^Ntlr>Bd?Z(J0PDT8paY8tPW2T2jjEqx& z8iZQXi)|g5Dp~q~|MqV;4q0Emj5x_$J^ajT-?FJ-L6npPu&@30axVe840t^z?Y0^; z0MetrWEJkDR_qvX7?{{<(uR(p4$=wipE8Ru*;Y*i4;83svbYy0;{Su<<@>d1a-9FA z@6ol-p>_Wbjy)6QiS%Ijld&LbFbPkyCPNwdfJF@*a`Z}tI#re=px>*PU*THLu_BO` z(p)yeGLRpe416!VJu9Vlq|C;b1n?Vf+6BBa8oghlfk00_2s9`=yc)+S8RE1-`yKk< zHT)={+!U@7HatfWlslyVJZFG-q#WSGaJNjC>>2R9W3o3=*EGx7K8qT#&DJC7= zRg>F(xCIgQ9G>RGhqpLa-MLXw<8!Jf-4UOb)ooWcHaNB+H*) zV>5X2q$ow_p|z;f!=Rs$yGELM(eF!tI~cwO(mM_;Op70OHpzQi^c`a_wZ)&<0OQ0-l5VB;2pGWJ*LfdVE7tN8)s6& z#*EboP(EWq;rSjRu~2ZgyR9Qk-?d&IA;Wy5GywX~f%yt{b!mCY3D3Q_C?+;}?byaPvTiasC3UYG~%!UCH zbT{GY&-@SpWoTQcK0?xUbOzI_fNl^{PI)4J)gW{xYg8LTq+>CR3m{qhDe?rerHlQ!mqwvN;4BI{!%eNNdDaL`y)sGm)R-6QI_X>?Y(Lj!bH{|E!D_ z;Zqm>D1?27(;rX01VpOo1)qy5G*3oMZB(P zRkpJTgZ(hiB$v>S!Tc8v#fh|JUt?~w7vW=M%(A2Y(~S{PZ&QaRWMNBq*CHe>C{SX~ zk+BQ0A84;Zd*vpJ(x-I1FW|9D=QnDRX0Gl?tQ*Ph(@vusH@>Lvv;E^uR38n359+02 zxRlswr}pi~G&>)ir{Uw_tLLU8Eqr zq~kon&|X2WXb*f$$JEqu9C#HqQ_Gi_eL@zn>K~cwU14Mg&jr|#R?^ZDc?De91`de~ zqq2iM>x@CnDT`I1>7||yYMY)iF6*0uC|b%Z_(%jFB=WpAZS870GXC>6$g9sytiRm? z^E2S4a!#QFL!)uwBc%krc(#zk+=yo61zGKeHgp#5-KtThrHl)YYvu|EDq1d?w5`i8 zm~`kNNM8cyR)*}Y!nM1X3Hw|EafrV6hw>i?&Sb_0_A%?v3*(eK-iN*DZEF}BYB5zQ zYJ|PNi<0XXc=1fr>$(Nx{<6Sr6WK;4S(MN)Exb<`6F~5ykYMSlPdSg1ifdG#F`+GF z$)ojqqScTLsj3+6F6Iiv4%xiI)i(g)_)U{3WSXpQ+@KCn2s-W)*JVvmt{W;*IjlrIv4EAE`^vnK>VI=IDqyFV9J#nb2iNnxq;Us&0Uq+nhpf2 zCip!^-u)pxHjZ5{6Q*a176TtDE2+XM(m6$j&cy1QIzkA}G=HGyF_?PDB&T$V+1pj! z{o~-n6Yj9YJw}(mir5r3w+SRDRG=+knjXC2+#8wvZf!FpF?Ldfq9zj$(0sI^_E1*| zWu%QQHR^%(ZR|6MQA9{<4GWSm)-P1Kq3|c^_-0*9!10zQ!Mu!j9Q7PSAZ~mSqDK=A zzq6rXL$5>lQzu z5f}8{$=`iy^9jkyPO)+i_&%11HynYMjZNgO!9p!~DdYqhJNE&UaaTG{IZIp&AL7hO zz212wfEMV^|1UFj%;Q5sQ#qA)hTyI%rX<@^S-{p1eY#c0{1Xf4oT5)1x;e!*iXObH zuHY?uVM6z`lCi;apSDIfBd_;BITtz5E*hfXHqnFE+T|0#f$thM@vCAvcS`~up0sstgg(4WH7mOHxc*!X2cYe37372*Vl&cI$U|d047qH_N;hQI%v?rs zpmC?y@68rtBci`>3i&oUYlU=#6mY@k8M@iplzPA0sI0_t$gfIB(x@>|nP(UQx=TVJ z(QSf6=4Ir(Q7J*LRfo6PWaY>;%7|Nqnmh%=c14DXs1erozzL|IYnbKU{<#d{i6b9^p3p>(QWFk6pmL{wP!vOP^ADSzh;x{tBD7#2Xb#n-tUJ z2F(xy?NyWOJ+gSx>D9(jqpna_+7X&)sgQK{&-abQyB)oz4)?Vl=T5Z!&iBELsR^F_ z-bHsCe)^#l3`<+v_6GMAYsmlmRloT!xC)9+aTl}tJ_-R04W)oYmyd-_Rihfy-nUOB z2(#g`d7VWdQ02!*f>i*jPcJfmC_hg^(y$E%--BHZJLNRlp&)T20(03agxZ2fWk=S7 zr$h1`I4&JcZ-M3X?>aT*;|IvOhW5b9+S@%yA9_mQ;iSI4I5K>9jm;+jm6ys{8ESEL z;S+$HwTDo|+94(U^G#|kl;9`Dmg?p*0dZecOay2WOp6Y8{S6&L)XLkLsYA}?T$$6_ z`P@E6AHN+` zu^%N_q<|}@hj+!`jv!G34wW-92A~LvUVsq?GmVvB45aH5D#(nq(R;%boQ9W6B5Y?j!8x>@x1Yqh zLY%G~l;L&2>VU|LKrQ_W-=&}5simPl0hrWnE4dkrek9cWH)psu4Nbi5f0??o^*dis z$)cC3Bq?=iOlvvcCT;jTHnWVc;OzP8|9*g5II|pq*-RkH=6YE?hvwj+Ov{ypw@Muw zx=gr#)9Lbi1M;eHoe|B5A3(~lCmhyGCmd;cro5)=6&}w7oY8uRtQh^xG^K|wTaM9x z{+A|d@$#o2DuWip9?f%!r|i)M5x_4I$r`f^wW~L|r=?L5iqg?c!M;xum}j+wM9stk!=1AMTd80HH{i~_7G3o2ddbbty8x3E)g0ylFg%_xVl zVc{;zTw#1!-u~(8A)z}WMkRn3Z!9+WQ3+j|+8&~ClwFl->+j7$RZSxc=t2|LEam&E ztjy^C7}vw&Ved13qx2Eq=qc?TM!fVX2Z|?%Xo~sVKUD>tAx5pey?*69JM+FUSB^1^ zz*a4t6PxcL(!ckC^jOZ&(Z9BR6t2wG9;Mw$(&>mMKVb}Ao$ zoxTm{0@{q1>*VZd|1NOwpSNh*^f6P@l6GpF|JB+yeb1UMo3a}gcVFc%K5${q;mu&+ zqT*_HD#~W+vig@{nT9;P&N!Qxc__YihCHI?6rVP2uZR=OsGc@AOl}ndwWzdZeGa8h zCJ()g6|dsExxo=lM3hLbspT?pLx*@ut<6S!dE_bmdjrwO0;@|ikpV&JN&1@T(e&lp za@$Cmvu6}^MUTf3=_C2A}-zFg5a6)`kd`*P9?fynNx=aQU|G<2)WBOaa_lO?Cc8iGCW2ViW{nN+d7Sn3W z3=It6+JL{5ZT}yxB&zMPBqt|y_ct2OjW%tH@eR?Zeph;HRgAM);G(gcOMC5OmJaB);+tZF?QQ3lCtGx; zb@}3R`r26K&~@iY_3aniY84`w=S(cz+_sIoZ<(E|TfbRxM1E4Cx;)0ZCMCmju%gdF zRU#!$@dZ8eRU@X@Fa_T3hMYjHqu0rI(-2Q5u2{@cS$v#u#urRhy|^O5#g=F&3n}E_ zbG_?>8cYJw?wK(eEgyo2O|66(fTsT%|1ed3>b1hE&d3fKgI0G5CMSTyt#WJBz!0ce zS2S!JWhd`B>TzqTSHJ;TjS9U8%D9ls zj?yskm~rTuu2F2>3u67s=zpr5qxSrZRhGv{NsK732UaDqZDB#A0#)kNea&A+PLH=i zwl5_Bmn1EGP%Px~UfX}D_ba&n1m+C2_>XRtGulpvJFfc@C*=izDYKG@AXn3T3_KjU z#0l(7O0Lay!{k-&wR;*ZAdzL-C_WXrYnTLXWfDGe8yO?Oa}Rw#TxF5#oEly-Z8RbC zmv9JPSKo-#KxngR#S?=K!_LaGoT)Ag1QYg71LJ_XmIhoHWu*Ouw#FC$T| zCNf!L2ZFKmLsbhS-##-=%l%L1D%mRMk?%6T*#F{L@JnQ;7RFG~*P{IJVnX!YQ2VyV z6j+94HZ#JY;W=4?_Q*{BJstO+Do3=K+Qa~ zp+eJ;eLr)HRCbN8klwsVTM3wlWN&qKFNqRgsjRDx8ZIh zD-A)IrrP+YC-Eg&bIr;MCPEK&iXKmQA7Y@6{gme8yqMK!duc96j2QM2$^}W(5?w%w zb_v?g#&836^E)1neZPU0=`{5zGH;~q)@(yrmN9i9|94Ns$g z3uJ74nymMow$+k80sbW%TCPpEvT;LYrNo&Kh5TpW`Tzc%v>_LF5-c<_C>&ln(t7pys+_{-@0hlqcaFEg!onsDO)6;rDyV{k#o0v)Y8@mnkp zTp34^X9?;b7_zlJw7K7YHa6nz*io@=FxB2s`e`Adof0$9D`)SAVk+6RP?P3|PHFIV zw5A9qP`Bj=*?6SA%1-k*^8w{%KJ}|WB~F{4i=HdUWv!w8mZ0wC5h_OHU2&+MXgaQm z%vY_yFqQ#m!w(s|syQeFjPG<=HgK3wUVX#EIPhMa+DfLa8@fTo)f?JOn1Qt}R()QJ z>ymAe{)cAR`S8wv>0vXPvER^(z&v*iP%^#OFa^D!5kCR+vOTpY8p9NfP&;%__*?m$ulW>MkjuCqdD`->4AR&<(#dlLBIbp2}*D zS%XQaGU7EI>KpF8G#|YDfUEoszA6>+=LbyCp-DXvXze3Q{l->9zQm|urXtI$2GFZl zaMfIg2Z?(@e`a=tshr(RMS2&v`ArcbwS2Z~>;E;H$rv~!HzLzn0_xxWhnO(Jg+nc2)#-5^>&Ty4^67GuPp1x!rRC&>b#U73 z!QG(pcZyc%kZ{JQ+h8N9TxLq3irl3WX$NOFDp?hf$*EyV%tm3l!G|*ZLC z5ue}}=O#m^Flygy86#Z%YmtQYIdRiChEL?Yqx-b9eVqvY2d!iclO zRR$syggO&^5r#5QtrVTQ38a3>bBkr1^J6H8<0?zzJ8olaD|_!sa}Ixq*K(|8C4%uo zVIqK4Gwy=~oE<2BWW+mwCH+Of=2%2aeuq_?yAl`jRU?}qM_;?b#wGYxNM9FVPn7`&hZ z)2QUJ_ivqLh3SdW3q|$FZ_?;@XL4ytgz=-gJe*UyNzfbX>nFfTyCVp`WqG9-vc%(J zRNgbngq;Z*Ayqi}6pnsH%&zNa}wlH)xX9_X% zz7c(^N|pQRie8w6{>qFLh7IJUu6_46crDPZG~1?5w8uT9AtU}WoZO}GNeH}?+kM7! zO$Aqc;uFx8tNs)|?8Q+J&000%C>N1zO`m9YM)~NVR*AO|`--l0^&DXhAb;j&)Qu-mF=MxYfZJtpN zwhY-ejVsom`U?m2SPxm$tldk?b1;p?){H}sT1`8ys+(-f;f5smRD>4+>cDKZW7*RgbZ}7&`v7#d~L~>uHn>KlBz39JLrVl#V-2SeYCs zNP_LHKc4`d`+;`}&bkIR?VS5@0Qc+wF*ReEXIW|fsG0s;H%bYT)m3cLDME<_W&8}R zhC9A?5Q@-Oq>2~__)0|oD*F6SY3P5_%)x-9|JB4ICoUr6EHPAxDs63wqgzBxiEXspFc~Lj^p?5Evd=lc2`vw4(xBUK3 ze~?=y`=nChaPm(uzMMl*o{?3t*7#wU@V^H`o;ZQH&}ryD)&GCteDTlz|2q=?UpTG# z|8F?|Q|uF%krn?e?Ab6I%ZOiW$$N9pl3w0pOv$UbLTvL};fZXjn{^%LrGyeUyPSTq zRzv}7v=>!8oK}`6hz7YL>#9bYL>ZJMIWnq2VW4Q zutB1fZE7hZnbV(bp1=bBHK;gl@^n+}ZaX@t%iS6&9NIFdy#!kC#Fy$%^zAeu*mBiN zI|l9Jp3*@?N9q(O!B3(rD%oaV6i7dh0((Ts9?C3Gn zme*`%l2+X)#ko`#-e$3_v}U^$UGHJ#C;FLfsrcZtE1fSL-O7#=|3R@X@3oq#${<0v z{YFxGj3j48wy!ddUbl(_zj#H1U=i7L*`5@Qj8PNM7iZisg5*PpmR zb3)>pfC=1Ag><$v$?UZ3LGNycE`s6I{{Y7lmk^lXWyzsvY?oCEMt(J3J4H=PjRwFI zebRf;S!5dAcIZ22jwbMWozlfKZ2oACci2Y83z5{*B72<>RO&&0ooxa+MoRG<61h9_ z=#;i2hDhA*b7))bmm9A(AyF~M6Y=^CT++CLTd8234o$ZLMtL5|JX~Rdm~s*Br@F1l zG46>ut(0vf(zaM$BLe9Se+6aV410&4uar0}c^YR^-e=2u^}n|lr4+IwnI0H@@&XOP zy-*Ls-5CR#ba8czSvBAuS^of=Sc3Pru^W^Uvn$Yb=V6CQNF3M|In{whI3VRQ%5?E} zjbC5(&F%~s0i#Vmnf_sQ8{r=bS%z~`P1Xh+gW>4O+R-6<>Mz$~c9VC-L6i2?zOh@r z3EysGz>i+^$r*<|-? zvyGx^MNSj%_}p-2hy}J}FGj}nW<-^sKExOAL*=pq%B8X5g5z8^r_?GJ{b~ym#e3%` z^4|u{Vgp9 zd;liaAG6cv$FV{q(HP*~sQ20Gw*db`SI=S@VU6#97}jjySGzr5YT?C-I@&HHKP2E{ zs8LYAR7EqRQIz(tLL{mlpNP^-0f+==0y)Ot=y8*333l)*8YyQTlK}KC))QQP$fQT^ za!x}F?5HSo8vdel5iDz^vGwQ15=!0(7^STA|J>YXQ%md62Umg6duW-n&j%iZ3!feN z@_jFOtQ9{Z4LLlC-|TatrJ%)HLXKol3%cei>^Qz_S?bxB-6}{OWJ@-ZNxcX`;c_GS4 zbDM=)c0Ya7{nAMehSeuwAtlHj6oY5vrolz5vcmN*XNrtJDUQDWo~w$-07-Mw=yIwm z*5nUD-H3#&zDKOlJkBI*MwW?|!?{R)$|JX{B%|s{AC<8Z@C1^=89KxRA~A|3r+*l& zM`j!tB-whg7-x=f)QWYf9g7;GpR08Zi`RXaf9)(d_+hi*(tZVHf>QW4`Va_FXP2^8 z;WH9Zc=22cw6sZW{R2GFIGPE>i`)vR4O2J)ch7jcb}Wntq%S2#=edf~*a^uYqN@?_ zXtbwhyo`jY&LpnvOS4Xs?B9mviwy?|5KB;!Cl|}MM8PpY`8Y|FCHE8X+{x+*EA~71Be}3 zat>NG1E`4Nucjadw*C^Fu+Pp@fuFk}oDjAl{#E~H6^ylk0Y`juoDa`|dght_T(uq# zdWt-{Z$wis+#Tg~-ifxNAWUxRIlFeQ=mC5w!n2e|R!_7jETC5gze{YnoRA)5&ZQ=+ zGD>KxV~6(c0bPppmtPSvrFh3GIFGU1XUIG6ZRG`1$7`wN0}rNuMC#$0>@&tH5dC>f zCpk&W*jX&l8=ne88|gS7ufWCfao?)JXijuYcn-@yh(LK0UaD)(*DR_V$yUNAEd?-J@m_7tbL`8d>wN;u>~5r5p+bpCbg2@9psT1m zdMd1{F@)h&-NyPc1n0)5Kn%upL5=WqjL+Wf&d?m2LXSgkWBDHz zi5-RX0Ob||pS5{pqKlLZzYorE9*Yz+dN@J@uwwdWTQh^T% zK2v48^1pQYDj-^ihP@qmG#K1iWhx#Yom)41DalC{e=`K%j16P}B=Fskuf<9w^kpl* zIBFUQcle9|k%m+tB@Zf5OQA^1+0rEO zwjAdb&9LBNWSb&+kuG+yTFNYoRL5H-9T_wt6yj|Ew6sfQ>34o~h-L&LBIGD({^R{C}@H*AgFwhooE`%~jRUWbUTy^|{Z zjktus!NJ6J`!83+I~cWkH){!va;)fvK$ZzU<$dZxKC@ZqZXCD|UYsS-XK8FKv+3?= z?Dgt!h;ihS$TtyGXd%VUmc`g+Rr`080YAoaJNtnUp6+u+H+)RQGS6|{>j1mo0Os8ZN60^59$Q{XffU*IuXXC4okSTaHL zc!?`M<>VOv)|;B@fN!3kavc@4vrryS@s08X;N9C4t{1VSU%2~SLxQN_I=Dq95F7WjfeqD_-=-Ca1ZewubhN?-l$t)Iwelka}ZZ6tX8vG2`6aG(rQson2jU+0|~OS{#tTtn02^$=w#oxoczP%&`;0MJ1C4 zyUg@za~&b9zVMgn0t>B1 zpXkLfpNXmxp zDI!pXvjr|%DW<^OWl9}bQRl_Gkr@CIAl_i$3S1Le%94wLp43vM*z3)}dQZTFTqi2a z>BwOv@9nz3S5$eM-Y@uLTX}Cacv1*O`5s@|(9SAT$r>FhHqgDGVILRq_gNvE zBuRZ;{ujTzAukjLQG7oSX$hz1m*U;(hTVZC6isz5&LrV_R+jdegMpAeinEz|!j(0c z(}DPg-)&o3PLgt#)}-ftFujbIQ|^umV%TGANF)%)Yflmq!rMt4`{N06z+p=zC%0GuWX>LUd zxyPb`UkjfGBh9sHnYG}c!GFe=gLw0-;uWBA?gS; z^r1?Gc}Ey4r3y{~V7|+ib{lNrOQgYCY2h_Zies`^Ro^#n?|MX20=Y1cUD8p=r-_qL z6_S0vspMNDk310iw+Alqr!!%o)ea-&t@%w=TP=l0!TteeNJo(rTMKm@o~{14Be}t( z8E*?{+4IfNu4NVXAwL`8x^_N4BAyoJpB6Bm=hFgkJ8JN1|JsM-tE5rF5T|G2{P8L+ zmn=|27DdpTS53!wxQr-m%%N;snLAPiNGJe9MYok;XoaGl&V|^y#Q0kh9bDniKkI#t;hXB9RV5=S4}D12Z}mDd0JKf24bM-moJR9zV>wPP++;P zlELV4vPNu|Cv*2tC~kxkaH|LTsC_#n$;PG_D5HO!$%(9qg*a*s^r}NuuPJ*nI|=F= zL1Izr`TE9a2nm48=r{5Xajoxo-vKUpuoMbh*k`8F{TQ1+mZb5E@{whjdl=yq}9HT*c zm19JsDnyqSuf8er17^{KaWH9AwKEW$O1fw2=G4bIRHXc42PO!>3eCDB^=k!SH~T*G zfp;-1wk$H5#h=r6W{tZ%cJinXO_!h2*oZxnCE`=AL;}LR*>Tv)$NhGha3(qQ-3H#< zl+wssoqhT32}4C<9NlO6gB{T>)M1CXaXkwdi{bI9dJj5m1{1}~P$QK%0xtdo zq++XA=Wrdw{Q5Hv6@oT=-BzOj^m@u$q-n|qm&n$`_EnvwTBHa$5$xhfr!c3SB^Hn0>iK>fXoWyr zj+TlG3Znp!4=qa1^+mD^sa0x6&{C+Rk1Y0U#9{l9^Q+DM)D8<`NFa`m)SjRna2j$y z9{r)0;Njz5?fl4feUzqEmS-Sm%!Q4iAL-Ln1e+dk{EJzFN5Esd-B7}xKjY!5+dyR4 z@2mwFDYUUVhog@vEdLS}RUU~U2kVbrzuKk~QzrIA>b3H3UGea_V`UUtAiB%y&#(gK zHaJ!BZ|99>u%0MO)f;vy`XQSs)ULAK&QgPdyj`jewi0k}6{*&;{OeR&yKWlAa)?=T zKz7O)7T z5!d1})F|!+W|j)HvbiCn)Qf8l@S+f1ag1ovwHNnE`}?Mp*#GQbm7KzC?Zt!pHt)8w z4*{I`hj%ubwo@Kw4?ja<9!oYC!Q(XPfp>ym6v29mVAMx*0PP!QGaXTx5#QI+r`_Kr zJ9i+0H?uGHg{=6fcux_8g!>0xyB~ByVQy6)I{7{*1Is?{T2_$`zK{?9C4OYp>%$SF zMWm=nDivV;8tq(SN+>fCy>8SQsoDSl*rv`Tk(4Jm?#Gn|^ncM zZv8MH11Ht7Z}Nd9x{meJfMteC7xgvHwOR+*!I`*aDQN?trMf8YI1KR{1qtn{77v1jNf1@5f5X6B|hMD{m4d+(FzE}=8kcaK=K zugQEf1ISQcpb#fdGK7?UHb{O2;SSgc&3&*OAA8N95q{oQ?1V_)12DqJec+ae$ilg1 z--v}i;!ua!8Iwcjbn2<6nK_8-7{WVCxE8vPa<^yGI2;NEiY1us<9v0-P`n`-CR~t4 ztrt~lH`4C6xwUxh*|itI9PR=f<_iG-@6+l$A3v&J)U|N0ViJ+kT35Ty$eYmf$c9KP47fYePN5nVd z(e8!K5+QswjChQC6%`-72x2eaCw~Z%vv{x?g%rG39(-+@r1ABPpv|YK_F7tM&zSib zBmo)s_`u&3cu->7%6H`BTXdIBj3<69%}dkhAGhdra|V`jMDFESq#9{=iP{ZsU;lGK zgw&NOFwm*E+&N^|FZ}hz=2^gm@2JA-m|Py=T@4TL!EL%rm=79j4sKzLd;hQ~R}Tl+S+r>_BGh~}xtlzd zodAVehj}Tt*;?s$d49|pPj@+LA~0_Z*NNEAqk+A)A+L5at7PtSJ?$25K5Uwr_^JdP zH|a@-?pRZc6gf=2G#f7dcW`uT@7ig(8P*F?nUFIy(cMzZi>9JaTBVndslQ#0LqaAk zBy}soUNzP6^aR!WCag6a*_-a)!4yxeJ0gCDu;hO%>*6B<0C~%xBS&pbF z(&Xbn2s*_IDzC!)!vXIARYG6E?B=Hl6}!`Iuw2jv!yrqGyp*1>{ec9A~`SiQ-QtU&+Jl(=s7bdM$@2yIL1di?Y=lnCg^0thH5x7%?8E5u<`JvX7J8 zP%j1R!6bFD3qY4oDnjePb;w}<14NouV!KHY;1)Q^lVag*x^)VLEeC(@(=mQ2)Nmh7 zjYRQ|mNwYaF0CudsK9C07(^3`FqW&zlAHr+J6}&zmjTktINp~KfXR+7 zU(}(j-wa5U2klQb}+ke=Ip+1%WH-r9|Lz05hqW%}fb?qlPI z%3&rNm5ZqNsoxg6Jo#A8(2Yk7*lb~DRHX1%yZB-b+=BrKYKiCM&aKMNOY=6@OEYPi&I^3PZ_Dsj} zY0~Tpbdm#Ez&#eI0;7Z|V)7Q#_?ut#>LaZwe#t!SK$#@N*)=e3gU4+mvAodN9cg%z z%}}<-@usjrQQuC(g62kW2%U0IG6wfFZF`B3pZmwm_)7{kD%0ViHuutr%!RJp>#l!uOaE70SAc4L^ESqj2aB_uxH3o=K;&`8!pZh<+iTm0S zKP#07t3Z8ISblF~-nw_*GonD=Rrm|ca3iXjm{UTa{vW`Y3hoOlwwfohJ|m9VcUuJ& zylPYyIiU_Kgy#7gybXqCRGsLLWA;)$ltlxC(W3%YD36)glu=Sn05^VOCDh|?eJHA| zQh4t9*~!CXI(Wd!rr1M1f*4drIKHt&VwE_p?u=w786jNS95NG$-W$nYfvKeZ_8|~|>7U+2W*PIGRHjdor-L4+ju_d56BnQsw&x}VfP`1hk@gFCJ z;!pVo{OI8F?#;Ny1Um5|)=atQRN1KlgJE20Hvv3Z`(g~48Pec}M0!1nz(h+AsnyJt z*CD7fK8sqLOrCW6bOQ`z2;@*#Q4-m5My9K1^X!%_F~e>CGtkm98s|U2`JS-h8}0mm z0L>^ukM#auVJC|}3OaZ#br)|1A|GLl;`y`tXoVLnBH_S*rbEaDZuZ1*3OmN(v#;Eg+?E{i~XulS2Qf^5AVI0t{`VxF+#s{bmWe-yizh664JQ z1Iic~F5so;$aIj3Hb!H-BKkTqKymtx>L~0BlpmOhrO{qIJ{cZct?Me|W&q6IIxcKDW$jce03%Dd;4Kvt6Yo2%R&AQqkm(Q9gBa?warQUK0rVT#tr>#z935eddZiP-_DPDut z3-`^pc2Vbl4Sv!4<-VNFL! zVH%Qtptf7prDlDYC%AeO|4xUxcwtASU(`?SyC(!1AKuoxY#FO9_%(t?67)dRzQ7ia zE9Pljm#LR=CV5?hq>eTvY=4A-zI0ta&ZqQdO?Ipy_84r60+CBFxsO57o#Z6-(%VSy zd09t|cs|HsU5-~}bDJ=6I8F|BMW>!j69YR2w#5Z%PE*rxsj}r?ra@HT1|gI#8L(GY zqTiDUgsqn|Ij3mDgyKC7WRI`R6)_0{T+-fl@4Y?XR86Uqo}PZZj{TM5j)DiDyTGa- z&%ST@Q`(u$gL}c@N8nmKkQ-YjAt}LpN4}zVYWr2A`l1-M!;Qo5o`UoSDC}Vs!REE|gCOUyymafB2ny7$rhJ5ngTjq%7r#ZV9t+nTsMc={ zY3bZ?H)+jhbHzeN5RFnhg9(Git=7LLpsJrhMwtrGJ{IAGvPDy^V1QkXX0%}SpMEC* z1GerR6jF+CvpT zwdpx@O7Y92yRRG41)bFkQhenw(|quPG5N&FzymC|2@4%KI!xXJWoCheYpZWimF1DeAlKO|O|)9`dzebIVYvYgS3M z0p)k8v%fQgAnsiIht&ixP$DO&N>sumAcKw2)DL(@o4_m^t$n~T{nysjcwd(bsB8r^ zG>!AblnlgV8I2l(CcXlt2ehY%$G(POHM4B}y{S_%BySg&cl0=GAfXx=Fj}ZjZo6S_5c+t%}iHpi%u*bS$GP{1xSPQX5PVUF~UOjrw zvSCFN2v~K13jig&&|)5(Z^OGDsGQlaE%{gCyY{Vy;uNMaPQq8Lg@Q!}$p%laSv7D? z8QEZ`YZN7ztSbON1)f$kSezVfl~^yG)c9M44rlSxu{W%VZSpNQ*5_%DQ%o9hS>!4E z%YVHC9bPum`DYTk&n{jPI6qA;jrsU`2lvwk6dr^?_ihS2_*(P$PS*M#UkZL#?{y^~$ zz?K;iVIAxA>H^>rNxS4C-rPG02d{G$*qSalUr@TR24UzB97_177`>OydQFjs)uNJ& zobNpBu6%gG9P#eQ;JOr8$pm=Dy5rXQH1;W8Y>3~jg41(I^ma)!%Lo9_VxmGfXIlM$ z>#+an6tLQW8F~oFqGS=zjC;&Yl4q!uK6yBvc6*oX_Glsa5wJ8g`+hYQ(T)GL>D-By z8#2pqk0}TL(cHanfI8f@!^oA_vphn`tBoQ01-7xTIbYe)*irn)%Wg8Dn{Y!XCm)!? zS)&gs{!=3`Ip>lsMa{>PkC7cI&eR?24~Dx@U}|O6p*HtU4+e2`I@+}2(^!WIa?Hi0 z&C4%`eA)8?+g29NSX3B{5*SRYDXH)~; zYUO75mglS%%F$|UdsnU|$ReMW&ocuNn%QMU`kCF|G^Rx{lxh-a+zFTCJ117q!@u7b z|KUm}h#wwvG~jf=%YIz*_!}|~Eu>VL^^4qcH8ETCC#$9P&dNYmjnAy`d0`?=duyY0 z^bUwd98g6RtWWdnjX?$}+e6wl9fUZdYGIMXkwQdPj%`w>OEZ&yyhH?jj$P`Ez@?D0 zIf#_jYlg|3-{13H7t@cuq0}Z?-YEYGg#b`$__DKBir9YcZ%kDXCYjIPtVs^5Do)#* zR+%kNB=5S9oIg*@Jy5@rI;Jt|q%wg>lWar0ZXY8{VlVN$l{ot4W!fySv0LWsYAY39 z8c;YI%X?G)tq*k9CXBypx=I3XqfJX|PX@ouGc>5uVs#(?i^yda0R&PV&mN1ejIm43^_m;eWlg1WNWklF&$j%VT*YUfhZEJ)>KwK)34TadCnsaQgVW)vg zEc#_}o%iqi$w?u!90lzGwqi94#$;g>yispY_IFd?0^>(Enf-;S2`PJW?`JkDUiSPZ zsAP`#6yz3Y-%don+FYAM3Ov}Il?tzUEetkF)%HPEV^j??R%|s9q>f(jzD+rFT3-2s zQtXwlPlIc<6n1+ZqXeDQ+&MktGyUu^Z@S+UbRovv+6VDzDm-IZ@GlO^M@&J@_=mhV zyA>d8*s|1|K=P>J1=l8dIUs2#gaFZtSF|1XZn-!@YJU`X2%O5w8`uKkF6lh2a^2 z)uIy_drS8Vo1eQe!~T?NZhunv6{m%qU7WIul7Yuz9tWq7TEe2PA{so%!cwd@utyFL za~-xb{oMNvYIoVZU}X=(73n4w@L_n;v{w%)OAok8I$G(M(l#RdLdn4QOb zAVMq>f&c*YZxeJ{Q&^`<)1QN;I25OA9g6hm1d(f+3|q;GQ4Z?nHQF)f+JaF9Q^Qfk7hYyMAvWbWCSJF3C5Ui5s6|ZJ1W%>n zX`~Jbs==bP`&}_8Kjtji_~2XW$DvD!zN<9wR)6z_#BUNhiSZg~nuA#F7>v78p*UJc z+A~tfgbo|ko~Jln8yoJ{!L~_=?i|6}7v&A%a1~+7SU)Q(tM_f~HP41V0A+PsjIo^i zWS_`b=*fVZ zXvTxE;JL6IGU@IJ8UNhMmGR6z479%1n~6~hxJ?wm$%0VYlfJ6%ho%fMTAyrpeb+kR z6_{K-9Pop2$315)`CV)bwW%EZA7I{@EIfN8hTV{HQHny}>|?ci7%in&0Am{vr1sw0 z!I@v)59st0SNmG4+Kvg$NAY^t)_GyvbO83D#5T)-3LPv*e^WFyR?ebV%h<4PQp>b| zvcyyy8P!W%nNcZk0*x-QYqEQ#$lh}V4%W@{4lYow5~c+pLoI5q6Pkc1Y2oTpyg0?5 z9=(d+iy~6iaTzMoabZI{AN|Cq8{^#fF-h{!?o@c&Tr&5js(<2eQ;@7*C)H_R?}RQA zj)^)=uUqjI6IS$%M+g?8zYE3RXX?<7lpDiq1$`&46>A18c{AtRGc4Nj za^K-4O$)cgU+Dz#j3u><=4TsgASnjF1a-)VRH*#Taf!?-8#C^vEq35B1!I>w$*#Cc^e5n% zSmdTg5{VL60AnClU#9seV>Rv?rxCHpj|=aIy^IX@6I2PQZc!8tDIpPEGR@ zEzdI$&E0U2>yh?x=(vKS)K>Zg&SS!x+iD>bw^>&i{{tLEgg8SY)T}@thpAAMOTtJa zPf0yR#>foWrd}V*&CSdQVmQZ$$wm5I1x`&$q*yFBdJdHoy!vXO;o`KWi%30)@>`cz z-Kp<4P|z}pmGNS_kuWvgUik|*AnfR#HR>S-MzCdmus|zxO-5QWH0AyVZAtNDRAi~c zL4snph@MgRLEPU}8D?a9*QcdJtt);G(dH56l2}I?B_Dj4;7U%$A(Exl^DOQ%<_VSD zu5~aGCPa%y8^l95n>~7(Bg8S${(BcAj$_=OsO0}=B|5Z?yvc=&sk@^d%x$|@7~Y*y!)JImmO`y zL}Wz(0Du?-Z0!O7@MZ5cZ6SfZYhmrM+nzx<6zmxe0EmD7W8=%!5|;x2WRxM+7H%=c zw29c4$0JL=t~&MGt99ShZ?>XmXWLsI?&4RYNk((M&6w%U zmRu+!x+(Y;f!#x3IY}sT;O~0OD3vN82kdxDt~@AdEc%nnXBo)oIlFLmWJENQQ)9f@ zQab43x$>@hOVCkhq*^*khDy(I0^g`M&>Q5`kjbl$d5BF%u=6sw!@_^%rvE_9`n`(2 zC`$KifEB}sB}3$PW|9oxo;bn##U^(zD7TX=GXKtu)^6Lx$TI#sz0qF?wJOzr>h*=b z4c<~|q8)yW&yIznqd{*-oKvCJ%TY)+f)v$LO21$_>^vcqwO~u!B`hYHqt~6^;MeLs z%D9;kpung$rCp=BiL%YG&kL7SyOicE295LLcQ!Ml)D0@IJ52E>)!xKN!JMGVd|KQ1 z&Y=9D<_SoZoQvC2G|8BWS4UNy*n+7oI8V$5pawCh5{V~^mO$fQdl(2Uzbr4BTy>3o zygT(LP4O>)|FTfAbt*Q&g&o{Kbxh#%nS&`ejve}XS~2tb zUm0F5mt1m9^80%0nvrPuh9J)1x~`c^o$FYG(ddT~f?WG7@WD4)tb>c!y#9{Sc2Oqj zH}MG7RN&9orO3 zh=g!YoZY1z|FYn)wXmzrHA*E;77UYP^NX~REfx+_TA4qN zAYw)!TYB1gaXkF5I0LbGaKq-5@v zi*TG+?ky1FaLEaiU&B`mxE(J2MY~x)LiD;id%w*^$fs+EPp{c0skIp=6t!?%XiH?8 z^>4t0YB!_zOZr%7#QIu%M~Is-Lw&zW>dEFhQfY#zpo1}${_yyb(U7{M6*?nikm~G}i`u5Jq@Y9te zTEi-@AwyZLf}B$;EF<1;%#pf;AngvNPV57)3$7i%(&^Isx$0| zLHgeAVumjHv>9wpW=|d6+rOyNCgATX8+Zj&X>^-XM6|L;)36CH^fF`VWmrDXwacL_ zzcF#R8kTsqb)Pas5WWP$zPc*QsUD(T(ta+&+UZYQd>q=6YEwAhWKcM-2h+-E`QTl2 zl#!91S5Dn{mz7Eh$hHFIt3l_n$+YU-OVkMi7 zyK2GHH zPFWRXnvdy2_tAjP#8%FAsfsLf~FzU=YHkuH&Dwd*(jk8%qd-V`(Bc-_O zUj4S}NoCDR4WeGmw$Qi%p!|c*(DsqDm9lcA_L$zJZ(8CEj-x0%IZ# znQhS(x|7R7D$DD@F6$zWBO58`{II>5u(;@`=Tzel;Bi}YkZseh4r zf6wv%7tR0XU9V0N==T}G16@ZP0vkE%!eS-RRy~lfS z$v3Ttx0>nqaZ~#Knu z&V}0+F+^~j_WX*ZiC-iS%)CB1xzEK&DLj!%AJBWCV@QwlU;OIYuWOo2gvIY&J^F)i!UnEI^XocQBw0v7g%rrKmdKR7UU3Hu*IwQ2*fTR|=YJ z`MFfMbD=U>UHUNJYP!hwf>HfAJdU)pz{<%SORSt1la&jUe^>!gk!BVr%{WCRE>2HL zW#=spt&0d2l8(yy9%RIhSA(1bOp4=taqaCRXLwbnXy~0h&9eF>R|V;sS!=1Sw!;h@g-)No07MtncYvVD)H#RxX z#%et)=g*bwjZJ#WTg`FU+7m-FU0*%~^2z?nd8ynTC#Pe+wRG{-qhV?ra(B%ZVwbb_ zFc)h>>p#vjr}ZE@PtZYU4&nAdT-pQSdfXoKIkfLeM<0_V`S^7^-kow*FMMrhX#Hq4 z{ldGAx6Cg$s2f@mpBdQJb+l{0oKXjy_3{>XuqYEvQIP8_N9I6Wi1z;Y_;?tZsY}X1 z@1jFKc2|eQswM4VTBPAqnz`$#Hn#JQ{NDY+9ckQC+Az7^xW)+vh?C=u`ouLwhfE5^ zVYW>>bC6gH#I%Mz_%;oc8%LZoTiI>BjUI}qooDh*Bj0;$6(_B^uNTRjk?c>dFR?SN z3A81!CAod@W){$_x=6?2D++2>qo+zueH!N&V5~MCDpluF1%I!U=#WoWj!P4Lo%M$ioF|(8Z0sf{?3k4Gn&WrTsg%h_pqZ0S^*KMg2k5RW3;4E6W+?%KR=b6@zGaTAU8jd z+J`3=SaAnCPH0*DDRY032{unEfAFtYG=G!o{v9RK|I*=q>kuGOqQ4dZxN=Gn0MI&e z2#_o#A_Vwdg#Q5G+T(ru0JWBUe1NOJB?AC&FPr}dbkq12DL9a}W{mog_8RJE*HBM| z?cFb1N!y0gGn23+4?8jAj)sD`G$6fjfqmG^rDZ@Fdgq1LU1ZCIOYfD+_sRtM{pqI^ z!+_Tw0cUSlu61jNoL9=Fd$wBNwTqmSEko zcqY{*eb4>dm=qwb>_gqVHSfB*l8-VxNB?eF|DQAC8^8U*zGcmsIwdhzEzu<`0v^xs zq|1-?A)oOSbJM$*4W{1KUiJFuB^wXjY%=9O#7{BoI8SfENnIB*@0%CKRx#H!HDZ-m zky{EX4qWyEp(wznG=J|f)0AnA00ts}anFE(nI1y;ux@o^c!SGE3v)!$+PM-K(hzMa z@N3$>eU*2zft)f_qJ#~OF4JU#>q|hiDh|KhN*WU@J=xpVBPS_$7Nivv<9^pz&Ow2b zj`eMsnJ(}Ku?~_yJ@8{H`+xp$hj3xjs4~#De(8I(7zUY9mP;NBB$zp$a@f67pLo~f zsxox-bm#t%^5j=mJH0LzygMWAZfXvktH7nyax5jUZeX087|2&JlGqI8C-934>s@Os(6)rOKL ziW*DR_x=n9N_p|(Afe(FxG*+*4SnRsoeWnpj_v|>VLdl>?A_0r9VdkS1kW$GDtZoJ(>Dy2IUz-KLePR3GP@!g;& zB!RWV{HnT9aMzZ_coz%Y&!EHnWN%MnIwO%-X=vB^uw$cgG1_IC8ye(uhU>-ndQ#m0 z>>lt?4>sV`vTIQpVOcv{lxatzKOgg2W<71~@V*-MV{E}R{9r&A(0^R;d(Vr$gS<|A zKXHgVNR*Mt8=If}kE!tDSuS$r7 zu#5VHlH~SRR2QD}B({FWt8rgmL_VUG|< z7sKg5?q1M5Ctn*NC;0dwQYpNnp*i%Ay7MQQ*^~7cQPKZQz5kypn>C(e)XVyc?ykMR QB>({AqN8=S<+TU@1YtDpFUPszMy!2x>OHAudcx za7A5Q;af4AFrO0IW^E3EOmMNk67 zhJ-PUY)@KD)ERLe_brNw)2bwKDI7&LpWY|_P+nozcrAR32|D?W3N->DDLUME$Ycig zeVu!6oZYw z9rLT9Y`Wn?NZ_-@B^xGrj4GZAvu`~QQKFGt$`Fl6gOLyyU-<6gMFfu!&syHQVH{2V zLe~Dl*?iI|Sd>oRXUGAgQ4!kwDxG0GT4MO+0dEj?R#<09CvQz_rAm=pvSaOHvcGvo z;PM1@F8Z2>$w`hJXp6+?iB2pGZ`kfcCe zIWc>2aj3-_ixLe%s}=Se6%fQ7lFIz3QQ1bgcvqH)EIzRd5U6G3@aH*ht9f`R9^v8^ zlL?9n)TnXku@`aM;qTCY5DRmI1E3a?!H zTbf*rGv#TVPU3u;`DWbEil!XEJ*ehJrLPaKUwR|L#g1Q`5i#?O;Ha1UnYWJZ#%Mj5Ovn;t51}UwpbSQ~ zqk5xpC9kmda33rl8sLrAceRLKTxG9u8@|{MZ&QPXyd*m z0#WM_E2~l$IE2EnTfdQVG~yA9RS_-3XG<=|rR@~_KnNv8X*Y@q%_fz~ptY0ii5;M6 zpJi1RSD=gYRe1aIYdHIWyO@0S6?|n#QTNGc$Jq{vIZ%;C3}6r*IN?Di-gGe^{PGI6 zUe(6TrXHm=HmZstGIi002%1zP4p!jHKR%LKvsU5R*GBQ&v^FG<|PV)13LTGb69irCpc}359niyxKMzR zZC|EN+2A`giFziVDXY}wvSo){ArN@_#jSbvtwD^R=HdJ(yN!gscesyD*P6;xZ!FJ2 zSA7#z#R|-tF^I!{zCUk&+`(K)E1W6`l3^TBR4VPiOIV^wRIn0GD=2A_b?c+3xNDL4K65PJ@GBc4T$*vs-P zEwL}t5y@A$T)t&TM6$@em?I*;x##&to%k;g22HKb#q^7awKeUm!Zt@?jG!6-9uT5<7z1jZAr`qz(GW3$SVfI4iL z%?;?^znP@(BV3L|fB~!!DtI1P1)~-<9tJ!-PXNRJJ^LXecN`mQa>A&+f5v@}yv_;d z-ODe2{R9s@{5nInyMU+1zt0u7JcDNhK^U~%7$!`3j|tCD;>64U#QX&TA|7}?{kI>@ zv(LTHu${*;d(I+;?>3fqC(dN~ZO-L}TmFv;FMPmO-@h79ErWKxhcjhlbjG$K8=JcEStKfI0BEo7m?^*Ynj?1|b3meDCY@-*GIVMiT@#oU|tgAO9PE zdif*VdfKA%B;{Nv3jG>4H}>AAa3WY)uHq9QaK;gRzXVCIbZh*cgx{{Y4vxg)9`S6r|! zyNxx=M9G_+Au6!Vc5eI*2^MA^$E;O_bq1@^#mBihC zOT<|6wHQ;DuO6XkI16kN=Y3IsDAOn6AQ?}j15m7h`wgii5sB7O+R!5SMmkM-olJHb zEuW#AVaj?5U?AHLxZsD=FVmS?qORrId3R5yEJ`3RR^=psE(ZU=!~odD_c3IXr11po)*l zsO@pN)}}2fRJ@K}NNLIBIJvWa3K_ETo>7ci&fWQae1!@god_yk)QC8J&i9-3)QAvL zOH>>Y!KkGj!<(1fiWQFz<0b4UJ743}rJU@MC7jhoeeON=Zho}S4Tvg%EZu~tRmF;7 zKt&j^+

                                                                        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

                                                                        GFMb39zKJd!{?=}z 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 JPDHLkV1l0eOELfe literal 0 HcmV?d00001 diff --git a/images/3/d/3/5/5/3d3555099ea4cf73084acf186280b71f1f2193c8-spinozapp007.jpeg b/images/3/d/3/5/5/3d3555099ea4cf73084acf186280b71f1f2193c8-spinozapp007.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..44ba61908e87a9a34a0f86047ecb096664e5b9fb GIT binary patch literal 32256 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 a`yXJ~;`9mgom5n!8JP@CHxB8)mH!1YWY9bS literal 0 HcmV?d00001 diff --git a/images/3/f/a/3/9/3fa3917ff0741e59cf4714764f6c40bfa596fa6e-2013trajectoire02.jpeg b/images/3/f/a/3/9/3fa3917ff0741e59cf4714764f6c40bfa596fa6e-2013trajectoire02.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..4f8c6356ce693fd4e69c5cfbde099a8ada8d7c1f GIT binary patch literal 17387 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 Y4~%U}Ee1ym?maG)QFx<**Wt|n+0Hd6!vFvP literal 0 HcmV?d00001 diff --git a/images/4/4/2/4/1/44241e7b165ab0894c3b86f609a1e9c052dc2a06-2011proj5.jpeg b/images/4/4/2/4/1/44241e7b165ab0894c3b86f609a1e9c052dc2a06-2011proj5.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..ec6a04ea51c1a830afa1d2e3cf542d157e4284b3 GIT binary patch literal 18737 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 literal 0 HcmV?d00001 diff --git a/images/4/a/c/6/5/4ac6509e3fc577450fd0f4912782520fcefddffc-mga4241.jpeg b/images/4/a/c/6/5/4ac6509e3fc577450fd0f4912782520fcefddffc-mga4241.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..94c22cd3734a577bf4899ab650ddc734b7261741 GIT binary patch literal 33159 zcmb4}Q*dTo_~qZAgN|+6wr!go+g2wX+sPZ-wr$(CZFQ3A?>{pab2-nhIyd{AQ~R8% zwfCyudcIe`cL9jf;!@%O5D*Z6!M_3c{sQobD2oZHDkyUknw!vBIhdLgx-ro+5>mQ4 zTiTfuN=Zu)N-K&<5V~m7;|ByJ zEEMFwLV$sRhDAa^Mn*zFLP9~u#Xv#DMngivB*MhT!y_OdK*1m;CB`Sk#V5f3?0W5P%B+fP($|R1m=bE$|

                                                                        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

                                                                        %eI+&S`8)mcwxOgR1l*4$7vX_r(+gQ$Q( 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 hbq(gwMtj!hd4HDQ8BVauql@4;FCx{U3Rm--`eM literal 0 HcmV?d00001 diff --git a/images/4/f/2/a/1/4f2a1c58267d8fd8840855fc62e21eded8c9dec0-e2015ethique01modif.jpeg b/images/4/f/2/a/1/4f2a1c58267d8fd8840855fc62e21eded8c9dec0-e2015ethique01modif.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..61cadda2e5d7701620668658e9cf4f647644a877 GIT binary patch literal 4914 zcmb7I2UJtb);?*}2x&;i5PCI0RMa5FP(p7i9i%8lkPaduRp}k1i-1T~I-&wfxq$Sd zQUpN|k)l9A1rc7b+_LWa-@o4EtaE1X{e3fga=z@DmA%ouX#ktG%PDe{^%#4ima3nJdg=9t|(FeI$(HIUEB$ADn zjf0!}(4j+URvbT$ho6h*5YPS~AS#uXhL(wrj)@0@#PIyjZLbAD(t*T5@emLW03$&V zBxtV<-~>Pbgt}A^@MnWSVPFsqEj5VwyZdK+ZybO_KmZs4K>z^gd-9*G-yQ3f-@U({ zY!k8**uTtQJ({C^M?3%J1;tdyRs72fSg+Vz3jCLw?Xl7SIWQ!t0R49c)FKf8r0U#0 z1Hjqp9OZ!KyG7H5W)0b(TJFn?W=fL9N)A`zo>jgi(hlOU9b?w5qyPL4|Z(Lnl>GF`b( zY@Fttvh^BCi{&MS$qCf22xGtG=kYoO)m!pM_-`!0A~AftQDrUWK~kBQ`U>B8T}g(% zDwZ0C`Mq@F*zf#ohV`23E1Z9*+}EyrAy%WkI9B37<_e_7SQf`i9DaeQ?-Jg^9uoUZ zWfNUeSC*r;@AqiS{WDAjsIQnfI)j%*_p7joqXSBgA+3a* z?l&cg?Y-sNJ+x|0qM-d+_&T}6&=iAV9YvGeq5xA2⁡JDFV_o6aTYq@YzM9rxWqsvn(U+iWWX6CA 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 PjnBT%NZEON|MC9=$kIc) literal 0 HcmV?d00001 diff --git a/images/5/5/c/b/2/55cb2ba910c40c1b1a03f473b694210988cf7df4-00-matrice-logo.png b/images/5/5/c/b/2/55cb2ba910c40c1b1a03f473b694210988cf7df4-00-matrice-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1594ece1c5040aa8546637db0eaa292f1aa41b19 GIT binary patch literal 50246 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 literal 0 HcmV?d00001 diff --git a/images/5/6/a/7/b/56a7bfd884b07f62fa783774438dbacc53948cdc-spinoza01.jpeg b/images/5/6/a/7/b/56a7bfd884b07f62fa783774438dbacc53948cdc-spinoza01.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..9037ffad78effdaa8d129b93cf85b0d7e0e437fc GIT binary patch literal 35157 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

                                                                        @5o`=cugr??~I!htDc|w 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 literal 0 HcmV?d00001 diff --git a/images/5/f/d/7/d/5fd7de27225a28392a84b1251011dd928f8f101d-spinoza03.jpeg b/images/5/f/d/7/d/5fd7de27225a28392a84b1251011dd928f8f101d-spinoza03.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..b59f65b24af55869f6a4024553e936057f08fa2b GIT binary patch literal 9049 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 literal 0 HcmV?d00001 diff --git a/images/6/2/0/7/8/6207845f92e48d146191c05cb74886517c777aec-spinoza04.jpeg b/images/6/2/0/7/8/6207845f92e48d146191c05cb74886517c777aec-spinoza04.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..0796608c52769fda1edd94f6bb0e02854fd76ab6 GIT binary patch literal 15808 zcmb8VWmFu&+BG_ZJ2QB2cMtA15F{{IaMu9A-Q6v?YjAf+aCdiif(8vvKF+!Cd++!6 zKHaO=>eW@%-Mg!I?Ppj0TmH8V0Le+qN&|pEAi(f_1N?gf2ui9z#MP8k1jsE+S*+~M zEXZ9sSlP+xU7Wt!T9C`i$&kxIAu{ByeC!O&JIfP#RKgoKQY3>%-4nv#^7 zn3Rn4KaBw2t0E#GVjv-5km7)GNdJGwzg_?s3CIkLhXqmsV8B3FFz{bLfat&P3H$!8 z{~JI63@qIHQ@&p$c*o#BF#KNue82c_6@Ui&UJL{a0sw%|WkUMpKfW_Ylz&oyn4rvJ zLzJZ?A;{`1Sf81ck<2JcOX&;13U-`-P3Ozy5=y_9O2X)7a5XzqM~=YDs?*2!nj4i< ze<_7yjPx%@Nu^5n;`wahs=bi*SUolQim2fEn#H#`K6B(wW^lRj@s@O^Qn_d<=+B!^ zBy68?Uar?gUzgxo?j1}{@=77> z@f6Y??D4B&l+sd*nT=F-Q>JbH=XomV<%uRtv^K`$le7m9j0q8mFfpeu7G^JS(B&y1 z$dYEE^;WwpKT<#+3sCR|8%V-k7%R)sesh%7b8E_3II!XK1}!%%4ozO?Jl}YU1XT^q z3THiNibMq!9kI2oJPwG28HjGA&X#M#dgMoPtMtPu;}pB39hInHh0mJLm}JXSr(6}3 zPP&oO)y!S299SJy*VyjIID2hihh^q|_tL;;RbjG#s-eTP&wp4{BS6PWUo@#rDI%9O zn?F2VzH;OdB3`%PwI~~R5@)@@5Vy~mgxfE&U=Sx{Of%+!%d_H~DKBcMtX83*;XD*X zw^G-VaBi48J8^XJ_*wSb`B@LVgvsLe;6>`}u88sSR_R7w|Jle?*vFIP{OV|9+Ip&mr0)3iu)L}iutkXeD*Q(7ItW=u_SKl_t@_B zQ~oaLzPrbLqEJu^X|j$aqlq@2>x=UN?H3wkm~uicSv6%sdgP?|B8A^6NGdpm zYSk9BPL=VqdxHJ0R`Usr%=wVPQTjq|KDC28y7#ItwxC$y8rIbqcz zEyX4aX#=^SwTexSsFJ_C9RMTf#!n zl8W_!+20ePL;>)|Bo-2CO-KcKq3EXL@g^Rrb+kot$avZ@=AQ@0m`!I*#jJ`8wbqRa zDa))B!at*oa+%KILbA;q$k9Ix-mtwB5*r8r0|SIX0Kx%b5dX_cFt9*402m7%gpETk z#*V-t4&|ocq@<#z`N(7V&QnP5>;;5}c{ut9;1K0K^q7i1+T~Y@eydPI7hdz09ofY; zi5UE1#POlpI%RYocWtTsCtY|Hf67n$%&JzIN<^ggu}-c({OdA3=Wt~_tn2t9cj6xw z`BzNKh_Q~>Fhji`avt`sC+QA`{s9s$b6a3Db&B0{a^?R4EW*&<{Q6E@6%V2T?pKcK zYJM$OeljH{OBgxJGT^Gr=CSp-=;8#Ufz^MOHYY#KkpcKgt4G}SQi@cxyRmf zrg3Stevb4L&LM1B%^^!x!JVsN@z5&L?=$HxR4#&WQ}5X;|H$yAFGyOsVkOPK>YJmR zbgWWa94aL)Z%WkkK|WLkgUxhfd;7aSRJ&Qu=`L{}z{3a5Q0*T^YE)Zq)4)+fscM9M zWDh=qal6I!}k1&^n`!_ z4mJ{>k%JG9*Kx4)p!`&7aa=VDgOr@x>*!nq1F|dYE2SQx!f{PF?-qqXstpC%HI=IO;>6EjI=4eYr^=Z9^Y_(>*ZJU$RDX+p)dtm-(MGy{jy zY%fRDTUitHllFUsxc)XB)i6Ax7cm&>grum>GZ|}E#53uonGh~(4$Nfzq5b#^S(NW~ zl>70Qlnpo>XFfb<1{|VJgDU60TGWF7MZBY&OV0&JEns~Qaolr>wlEuUMeF zqe(^AAA4nv&fQLs6z)K5+l%cV<}*@1?imY*H!Pz+yRv^v8Cns^)B@x=gg81GQw(fO zggO%}h7)0s@O;4Q&I?;hMKd0A0!a&I z#M4CJB#W+^!U6&AHy)}6rv(tjJxj|?if~(Ba)}wg(*LZ~qFk`2Tcw1hbtpco5y9y6 z`-S>X8&(+6O7B)u@Ba1S2Y8@RH~#6}Y3)PCtZ|p%Iin=U8xEco;&t7pc}NO0$0e zK%zni@j|-ahQ#l26Ap%pWw%ppxt7mXOH!OyHl|!~muYy!4A#X~BD;R|B*lI<<` z@GJEr{@R$r-0~dPt8`nn_1V-Z-KekDYol+dpP4B2TZT`zaQcJE-N$E!Tds$a<=m*7 zKT3W4?{r222Ee`(8tnhAufQO3c6$ow|3hByx=a-Kw}p)j61u~=l_Qg0prh!ivYS+d z-!psc2?NUhPb*~Lcg6O;|6f843Z1fy<$E0tJC|dEp?zRbe9z3z<<?#DMP>l4l)aLVlk zm#aDZN!@rmnDB<`Noj_;7O^M=9&PNje?Up>hfZ!^TqsGwKc$Wgk(;o zFhAdco->?vZ3n13CbZ?)B4vh z%&-1MRR7-Uj_l(9E3KuUmZ;<>wOT0{{Ya%!kq1Z2e@}+1JNVbZlI5h!68B`DS=6%J z#beONr|)mjmkNW?x%#PZ=YET=->7dA+b$xLC8I)DfBm2%ggmt*L^;w32KiR)-z!-f z`CM!&zV1FLmWgFQ*anlR%~wmW%P6_5lkd1bN@t7zxQMcBp7ws7m0iIEAzI*VKaF!_%t}QTuF zz~IpQcHNW-?A}_i6FY%P&VgFJ$QtH=^I_5Jsv1^6;p&7mgLNRAYM5zgdqMvy=5;3UyMiHQ0yK?kj?%s#1Dva2F#^ z&wd4uoFeg$f2GP|s>E_*Z%2QLpXO-hQMI<1A)ykiu(5HDGuKARlnU8FWg%Fx!Rb!+ z$Lq1d;gS*ElD&7w{3=pGiC@OW&CxZ8!- z?_2w>mp}K~d7L?BZS;0euj}E))fswLZW|+B7-!+hOXB4Pbz1hqZEL74rLXKnYIHMa z`sbzQy&w^5i!)y{L;lH_B2{v}dCNG(3iWfCT^GA)a+Xp6c2Jv?`Qu4-Ao`>T%M%Ma z6$`c-^$}|H#)R&wEdjvlW)!EKYtw9PYCT;Oqj92uCzxcO+}+mMU1{ViE9@5^Y{=JE z_c#T)TJ~r~wHz;62(Oif_U@YP%{3C2Dl4zpeaG<0x)G=#>mL(KOGYO&_x`<}*@M!r6?U=Ej_)LZ0ViOp+>BHL(vh#p@ZIDBdHlJi z?L*Ytb18rBNhr7K9~mBO%M-h3WG7s*2knewR9IF$J&;*QD_DXe`h{!gM0D?G6vn;R7 z)NQ#%q@mV@uv_cyVW;O?2~|#i-C;%KQVLeQi7R-`R&_6oRM$DrA^d?X^V)hdcwa9S z6kVkd!lbv7Dx$r?Unxnx=g6iIA1Upst#$M{s-pIp#&%jA!zy29?-+o)heq4i%ux={; zY0mw$S>lJT$N_7uik#tOn%L24wh!W|RwAGFOY2010%{EzTE1&hl1I9*th^h~B)};JV zoqpQWbyMew_i$V(nWmdRKn@L!lv>p>ystcHm#@Vhi}BTJW9ox4MRQL0;&-BP`m$k& zk_RV7^M-fb6Afs!DfoL`Sb@HW-uGYREZh6EwL9y!9wY=dlJ8;<{V{of^{mvBAnz={ zD};@*Hi=pLCc(1@b)v29K8p+=h4ll|pX}*0gMIY#<4H%zqcn-x3j#Il+V{VF{Zg!>Xdh~R5mQzBfb8#pu5i7FHo4;E zd1B6~~*K^4}vm^Gu10_(DqWgDewt$R`=w()H0~-I)gJP{4DKU*2VqOx} z2s<&cNYFn3y>qrCMmBmdX=|l*X!`TO8mzhfi53Zh(1#O>u$ruJdr5yY$h3@D7-G3o z$T*A>f7XtOy-`qJUr?F#IL8n{EMLC@igC+kUf6lT2+6vPF#9ZyXa78MyI3h+{_k@_ z<;`n4_#!?mU#h#=u82sUSHbZdyopRV2y~t!ggNX8c zFg~#c1*zb}Tr4VL5OYt9c)EQf2;jwsV_D_Y(&T&#D)|YYrxE7EFa*P9@f-7Vmwq-) zj^LYO@Mi=d5*#JL4M3vyQu^zYhX}dsVw#h3?TN;I zSLv7ry8~{p7mx3ytfPt(#5`U0Wyw*AUG-0v?DAO_Qwh({xVIYdngZBJ|CF=YU zWOwl$^$1CCcRBL>8EQzj$^8X!fu;T*t1qLHD*gc~@&v;YM5c|N(5+2N5ScLw z&yh=gL56(^{v&7PFvJMFl_WCu?kDWqx1`0jmbkL8rZB_)o##Q3_e?m2pfEbVEitI;TWo?f06Y+C~**7{2{5^ zUN4Y4Ml#;a*9?}m53!fG@S+ZQ{*Cd_$2VnHum&?PFpTEF|LuTTjMOz*RM<2Z2^w|J^bB z(HxvJzsDTWL@if6cR<~D`y`W$SiTcj{><1s_VnMe*n1d)@+UHWSKLYYlBr-#KOguq z&3!LOKk^iNJdh5045QsoxOpH37hVwg2jriRN3xME4uzVc9&dtJdV-|^U~)HQBx5i? zh?#sB?0hr56Ia?x88r@?DM`AM0c5fZeAWYti3IYIQG(L!`atr!ewM8a)GoyRS{;{C zU1C@_uyu}je*NN_Hs3kuq5?tyXuQ0nZis(?9;Kmr8ml~?|MU~XzDnJDRzUrE<{d4C zuC9Q=mfs2NPTtHX$z2-}f40hnY4HPESWagd%oy_YyJ|j3DHFuP+Fwv1)<_=n`_w)J z&);Y56AhIkEoyKWLV7sY!-IEjvj7D7{on251S9~koc`gP(3DmrIEAE9Rgm`VC&4jT zF?A?;Zf#II>Eh5Of$U$Js&Muf@m3SQISfAJO$A{YST1;&6TTt$z1YH7SYTXuKeQD1 z%@LjCHP8N?H4RuxDH}0U0b;&}>!#)zMrEqpEGwXh8P%XM;YMcgO*h+ec zF!Flsj=4Wnk|ujxcl4Z5trVwBr8ejd8~KEf7C@s<`(%G9-j9?N4hsmB*(K1~&!~Hm z3P1)Kra7+TcA$YF2>Fpn1>Fc#tW*dX+oSAA(J;E5y`KBGX`Vw+LQ!V|D^6w&3N~Vl z&7~SptuQ(k@9F0HnI!@B*IlyJPxuxhwX=lHk?BpVEN=ee;%2N@0&s@=)S$wWG>Vd1 zDt{OlF)~_y3TPF{*5dS(?XisCBplS=E&tK0|m%*??WN5 z5HdndKN%Xdi38}~O$V}pft2Y066+^XjtPD&m5kqS5{Qo>sA}1+ArxXjlWGtNV&p5CkAS5wW8A0t2L|`H9*S zP?bUU1Gx>e{4t9Uczoz{)a=pSS}zw%OyH86l@TlzWZq_wMC%U=__Ki2$jQa%kbyvZ z5ARC>0)pLIi$XNv5jTO>TANFQ(S+NHKJ<$8!9;0T2yDeEI|Sc*ExVJcwLy+3DurF+ z@N#dp+VFs;w|h`1PqV_YcMsn8lF|lPEYfp|bC^+je6F|IND@q1tL-=djO4HB{bwY( zu!vTeRCY@rxhhga^1k7aD;gAvUwqOd%;!DQcohCX4fp;@43&Zd5|Lob`CG%^NuRoi zp2NN2{3{ZO*+DayaDB5zOL|dD)PY4%krTt9KcTuSdG>7~?SkLe-L4H)r|5G{&@?|I z1l>yHwI|45B5p(2>c~)FaQa33)Oc*93M;l&Jqu@vEWyAe9ycHY8+@%9O?Hc9ZVxgb z;g`S}q8$v5#g3!6sO2*`;8()Bi)wG8ffHaTQ7ytCmFvM_(@P{v1FPqL2OQFVcZqumggB zrr}_KdjPrJF&DQ~%#e&JBb<7zfLE{jKR~Sw$6L3EY``TB%w&-CV&4q_27aM7s#ly& z5=_TPKJ@TeG2CrsAb4*BM3Qq|{iwlZ-NN2fU!L#vr{6vE7fw=#E;mOU#>)UrQw0UY zE1VqI%SvJ66U(L3zDx0OF6|!H+ETwq{8fMkR5F^Z9 zuDh%2x242c?uOM*=na^@G1FLV8`6J+)`R|v=}_Nz`~$R&ftQnBTBV?hhfm0@jz&Wy z2uRF)dtu7+4wDX(7`papLmbiAp@M@Sr}S$@vYF}0#CmXnPH^jYMc**3l?TNIZlXt|wI!vEN~c*xg~9o$vAjn-myaI_@yq9YlxV z5Lkay5>bj3go*-UFNj2HA2_5hxa+-vgN93i^>LsBAxE^ZLH;twaSSIkqWM+=j@v9^l0U@aiA?R@VxIjlJhI1o ztnO3T;hfvYrFkirMm=Gy0%#mk|!9HoEBtUcmA%Mq5B9!9G)n>g*!=Z* zxbCkB@-RXKCT-(%FlfXviX44GFyp(#q@mFtBPQYa{r-2l^WCch06?jm{{Zo`lYJ2S zvy8YIBW9@NwWE$+CnnX70W+d~*>@qXOEJO8KbMiYDEX~4gyD@cFiO~*IAcy{flii( zYwEu40(~H@m}PJSSB(|?!TEC>NdPnZRrf|b9?s}!1`3g}&TGkGEDHWsjT|R^0?*h} z*=wlL@-C8wm@(2IO4>8~u*GPwP`O)rRP0ad>%}~xGJC!svu)aSA)C) z;1W)wi)SinQH!>Fh1Z}vLP`ddryuF~G14X7cxq04-Aa$E0LJNyq zOxDRB11Ss4amkV5Mv}*M2%>%VXlcq5{P@Ij*Go~P7S!|)@V~w$5b&NE{l7ENKoFRM zoSj2lS(d^{~<^A)r7FEr5k>CH0Nd1%AjdYz*#^+Jj^ zS2?|BU6rC{d}x&_Pq}NOelsYf?+&ewqgAsuI|V1S;d3&I=3^h4IZCuNfe{3^_aIUO znGu)3)W|HAUScO{MxmGnQa|*-lJXCL%JM+Bim!-stRS0Vcg8y1YB94%Y-GR6{$5i# z)c*Z6x(@~VyKlxilBtM!?)RUa;*77w5e@QY?|ZW#4y$J57ZnDaNcw!rNcw_S)DX5T zPN!&2wh$C8vw^FyPPV86`8Tue73rJ0PDc8Ig7-p^OuZpP^@m9_(D?az4J4U&e8}H@ z-~YJ2|B3%`kl*nkr{G{$7B~7Ifc|6rf-cXd2XJ=>B5^3jZq0C@Gc-RqBU?VBuT#_} zTn@;da1F2}G@su0kKm0yC>!tg(@J17s9G^=EsPdupzu}_Sky1*tik#;%PbVM1sP4BttMJhwRXklvQ@Nqp%^-Umr$anQmp#MIy+4 zFa7@Acm>^g(V|)-itBn^jgg$0`;P<^RIqQ7<2u#yAYppkCE9x#6&FVf94KpLI3GX|AFkkUFsb&AOKA9-k1KHX@lx| zX0CQF|HqMj2hEbj5h;bz-L6&_(o@vjshab@>a|(EimqRE&~DX)^UEs#?0aThe$Ox# zbDivXSoGCAE{=4r7|n+c7yZh%%#kWb)UJ#56=Ub+H_CP|NLWc)-Nqk_^UhkjN6Yud zBk~n)%kMs}dS!X|haAn<{ZQ)9I|Kh17CG5*cBLB*n;%@5N^5FKlv5gCEGzxGDdjy@ zT>ggS&2(W1Fnn9pu>J z_?prxKVp(~hqB|QENWnXy@n|;C73v3Gs*ji>w+aJj+-Y48$ej)b^@HcgSTxT^L|Vs z8VmQxCXTT7{tPVBQHtYb(I+RPEDmMOy-U;(+;tT(^OnpG8|zYeof0IG{_@vBl2=g@ z-D6kxzD*p{@##4-s+3WW49y^|-7}4c_!@ZLomkm(i~?%!=eXj?{?WZN`hf{=F-P)vmMvrhEEtlK0rkLmn6EfR_Q3e0=myJDzLc4NK@>*x83kO(juU*0)m9Z#5wc{3P9t{X z>=xyP480(y+U*0Wd84|DtSHiEZ*U6^8N$o)O_J>%CK~mI)S$me^C)6>bw$2_nvv)qK&`$F1*ObmvbWXI zvnL9B>)Ii3Ys7#%>YEkVQsmH46;H$ z`%E}}K!GSsQec1Z`yYmMucGW6L_d`F#~_bvnF)av8ut6G;AhSF*UIp0W93c7ef(XE zv{}DWQdPg9fyoryUBF`{l51I+jCI3Oo2jUrDr@kW1~lliyU*v&sXI}SG9e&T@*m(d zG}A-qG;#Lu!*LYF{o76<7iO0NTUfDV3gajbHpBfH?^O7V3Dj%v zeobpROKq!PH5W|EP5EY;&pG-)8u=ge8^&M~!H?%S+S+XaN_P!SA(^N)HTHl0ik6L! zq-ue}1BE{rs(;Nq-@3v!-DvT)ct~b|;2@S+ls|?k_PXRrXIQ^MkH{~&ExWsB7D9d3FA8BE zz`~rOHck70>Y|Ky>xOX%JQ6B|pz13;QQvDONi)x}5R07~P^T9Tb6(>(LXTICI8Gg* zT)pA$yQGZzdSa%u-Fpz=DZjpCi1k zZB#Ju?9V334odT-!W6u?bO{C&AdR6qr*5M^2Y$5WX)w`E5vrJ!5{c0@al>QbQu=aM z@>gfeWX!M5z}zd)>p3Yayk{fE!Ruot`}Ga00n@tlQ~f4HYB~0E!M)+WmG*RVayC=N zZXr@rw-8a8R`5r>&>}&CS0KB}urtJM=IY@CvLm`ywg_I$q+?q7;MR zPgUAE{xuWYqo0VY=O7&(NOt$j@Shz<bMCdD$6pNh1!#4QdOOgQzh%vz3Ml5 zu7z0DS-48ZM4)qjY%wD|c2h!xG%*i7tdP5N6IQ&`k(rGuM`!zbWKMWi4H06-hmN|S zW``pIb0J@S4!fUZJJPSmM2yd=jnLfHhpdIWzkRwhC4EVLi2jRSZaXMS)m!b-N&oBI z15d{dsm&7DpWm6FcKz&MJ?gHnAW&JBYVh$N;6i#{tlh+G>?ugTgu7R8~e_XYs5Id6* z@_kEC{ynC^R%^hV^pu-ku9bS-z&-~~5aifux!s7o%q>==2u_5_r$ZEMfTPPoy7^{? zYMv_E)itg+an39pV)_FnqcpxRpYLG{Y#f-i{NODPfrUrwoRiVO^5((Pdh| zqasE1AIO&gVygTsVBou1Ikl?6B#su&M@dOt9VKqF-s^}US}m*e`juRvch7blYmw_% z#IvuDbiJI7OLD@Yb}oXv&A9tbS;5m$U8Kmj(>#Qm_xOW$Syh5Z@*R`5E@Gv(xDTnO z=C4Iju+i#TgxXwuJ@%)c2TcJejGS6X1$U0yRFcSoViOj()MQ@=7fjJ_l0WO#12%M za!Dym0+44`O#T6AGG{usfo@L9zxKQQxyR0Vv6Z7{>RKW=#9>JqUk` z504q+sqb#a-we-WHxCVpx_juk8iO@m z96n*Sl4XaCPMrNn#C2T4j+!@+onK)m*yT{21xXzSpE$A+glbt4W}texUjgE|z!9(> zJ@XVXyOpn&|1%*I^RVwuY702+%wvqBYDoAY-WvH+{)VaGGP0w^#88Q?ZEOteEb5?& zMrh4(4pVhRLqL+U+&YWu;4a!`sr4F(QW28vLhri-2Mp0$I^jOi&M9aZ;B{cD6DA1> z(OUjlpWR%vY|8Iq;8bl>u$r`_m3$+#AntcX&%}tlPgWZ8tG+R)dF6_P6}D2WrWK&7 z8>3zP_W12fcMI)@;dIX#i)6iY5-}CS3U@%5!13z-Z?MiP(+>^zAg7@;$i4El#&|=hBXmLi zTHlMG&uzV>zt98vk%iIY$MXG~bo*eVtG?@AjVr^im+;;9FXwB>z{9Wh4?y>nqY&5c z`?zb{`wsvn6$=0SXI?1|W8&w!Wq+&s7x5~#dHh_4lxaQq%2w!Y1++8J=|ppf=FWMk zd)XWElQ1Kl=j2#;V$voL(6HBXj_G5v>&On95V(eVxAh6iY6sO+=fvWOiezg@bQsR81l zBfd}M+Rhyuea-w;s-SmG#DHUWJy}3(pDW{%`bM_<`y#rv(PUvuROcIXVnT^#UWnrL z-*7}^h=A76A<(Uu%J(Sc>6_Vrf0UH$QpkZV=|R6E6692CuypN;2+bV_ZmgxT7%4Fj zR!`l|9-!_H%7(1=GwS{1KNINgvj8?j_@(0phjy3ga|+r%r(V8ji&AU!Y~iy&0x631 zq!HvuJ5t(Y27A<68)xo5TG`m9vykuqHqgr9^d@Vqpj-*Nwi7;U8Q;hfk_&6KEaMV- z$gvx*d4urbO{TPqf^jSB!n7{nSPW6MYCjwu0==gok)R6c2(MXX39W-uiWG#tSAyvix<(@BOgttoT#?IBwv#lz$E)Xxl)4yTp4_jujP`0M1zjogAP*TbMV?^E9nYpXh>)cT6WK6+ zojmZ(>rZBr*iD^aVQ1ZZq$!(a8c=JCN%2uI$;ng35izUD(_+ zZi<^@7G!8KtMRa)NxfmX@c9f0!G8+p*?-Ffb@DT|8Y$y06Ik#XH|v|Iaq^$_iFI`jwPLPus2i+I|{u?Maf18H<&7W_$# zlJP17s<81RXY8WvTOoL%KT-byR6;{bSwi$Lj}dn;5y#os{1=iwOpP-&eYepw;2YD^ z6IK4wSot${fFOm%`upd77Gt+mBB9D$^$F-3)XD0Na;{&beJyh0?jd!#g3%ySNaA;8 zlB@c4#khtORc*$BRE0iS8e&Y)t~Z9%X0l2OEQPv$Vby$1-2OtD4lZ#$e9o(jc#Um3 zNxUl`!p&UnauwC76<}z+kg!N9oIuRV(N=T@kZ0+v^CFqCL4wjdF|^eW)W?WNnoL%I zO$M`Gjs~b3KgHoCZFJ-7%dg&`u5vqE)-fo0aOrZyI{e~4jKV!g2~)NSw$zNqBsJss z^`ZXWsN;OyC}5qUb(J??S>n3*Yl$3@QvXl-eBFHWuLFM(!lK%nKk7i(J@{-GJQ0PP zSuk}?97>5D6U}snT=IVVkvV=3M*j=+z}{j%4VC+*K8de$LEfIEff|qrAQd!FM)9PC zalg8!zk@Ppw`DWG3}khUOaJxm4ci)@bFgtVDDC|lAz?WP$WTrt8>^KGXXeLS#G3wL z5W?Kf06!2etSvbki!ZN7Ys3+g$T}xe;VfwA)4R}Wm}guZ$np=6$cI9M11Dpz_b8Px zCEp&iqW)3t*D@>WXZxtDvWJ)mgyo*AcPDQ+sH?d9lC>Sjdr%rCkvnL+@fqo$IWt*4 z|6||gi}-Phc*~H)-4znMzc#w`v7*IzulV$jo<}Y3+bHCpYjc{nQN7$O$|hUto-eu* zwRk8xA?-EgFZ~T*7=+DHcMX%7g?z3cUxd-Q@a#NTZ>DracnzGe1^@RoNLMiWOKDa% zRb~24#G zEn-c-L1R$$2`3dK?tT6)@Xj-p9&j|oPP~Vd@x=-xdz-%GE}KPtmt?S@Z=;r@2Hffw z2DQg(c$(baE##v?$?!p9KN`1mKry`%INJIdT$clI3E*<+n*#nTB9Q9w&Ypnp9y-sT zpZEIAp|oEJxrjR_#PNYIW3v=I@_Re4(dEHz{y48xcWlg3EV6ocXOF@?M2$SK)}rJu z2}OWuA`iA*9pcts&cF_tX|+d&++p85;6{mRfDT4NHllpR6aE#51d4P01~$ubG9mU9 z`7~sFXivJpmvDlCr?KePuE0 z3@>c~LzFW^=r)>JnUL=fZ=A5yl-ao*uGVAFz5oueP;EN>ER~SoM9gAV(J;WG)vfwP zPDqFADb2v|;|Q7{z87ETz&X0GMjCI*SefI!mYJw1xOUtr##a&HMJ%2U9Q^IbjmgY^ z`J5+F(!m(P-v+(1{lrXf%CJ_M1raX_@rsB_%Kv>qud>4d1{$wKhsJOJ??!5^13O`N z;aJcGgetiuBDU5@q_1&5T>+oyS=+4|Tb9UCD~NqJ^Ki{pLE1b@8E+=-~4W*EuQ&JO5Syu z)I1}|SnYVVVn%1F0glcn0sPzbHp~qarOa*zBMpG?F{~9cc5{_Jk9F+E*Q_Jd2#QIl za<|M$|9x3m$y*w>Ie;mDcO%>r#6H_Hx%%2&$oYfY&J)QCDU;61-}1rbIcd7kl*VZ( z;~ueZ7620$_#);L3G9LY)?2O8%96d8AUFyCx+LlzVUcqQ*Jcl>OXUw5)H1RS8OuVD9riv zBcYL9#-Zhe^D=sH$FJX2BobQo!)ld3^^m>MQ_z{ADPQST9-nGj8SKrN`By#Na)W+9HXjmrrsE#7 z^Bu=WVzq4ZLR`ZX=aWQxN}MA&ck(aB79Ep?v>F6usUWb;KnqV-qany5B>cr>7%jen z+XnrBI4J_4KnJKYTM{0c@v$;Q`K_OoQwcp$fvw44t)>h|qE|?6s?wVD2*h{iUFpJX zU?dX*)Y5a?a5-WvE}8{q`mhav%m&cAJ9V-a{?geeKoiXyrJ86M(O1=>25<3{=m3@3 zf}9y$qz_+CHQ`q2+l4mHAui1!>Wgo2wlz6nKuC0w!2*wThK10pn(MWCX~u*vl{1I6 zl=p`gYBm6WEG6^{rSbXKMhPD$^a47wg#$ zGn3zUiHIAxbKDWb;cd>*S(P&wF1ea{a3v(7MtQ z`82w@Zlesa_H7qq%}!;#CL)x_x-QE8(mF(J5oYDtS(wo#Ss`>)FH+BDO-|34UL!NE z!!o*ike#AGO51XUZ>qcY6eX98>(}bk(1-9B<+h)vh;7g__M=szN`DrkS!Wov#7jF=G+4syR`{dplqvjPzQ`4KDe!9n`ti ztAv{@#GO#6qffP)m+s^UJFa$JIN5)!&Qba6is%-rsk?Pa5Ixab)Im|>(9)Dl@J6sH z{<9ygK4?HlqGv4?a!h#2RtMN3pubZkrOf%GhP6vAlX%ZCQ*5v5 zZnC(_=oyv$ZA@$D4bUoNrj}odqXoS*rN1sI?fUd!zPuI^9u{wBT;W!KreCg7K>tX2 z*e(pw>y%fun^()9oM>7y6e7U$6m-=|;FxM$zHe8AwUw57IxBvIHLhcJ{`H|$q?+qd>fu*RjaH`z zBSy;|URu3*nP2+#I{r|&Nb#Z$lSlnI6LLzbQ_VOSw?*ry?zk($+{VpE9-|sn%5G!) zgDQgzQ40NZU4HiqM17Zc8nW&*?sL{YBK1f&)&*6}9ZAJd=CXA-GW@<4fc5t<`FS{w z)h?Ajow>G!s)0W8_ROGcN)&W&u^)NnQ3hx%M6mP0N;_k|m}2Eeb$*ekFgtZn8m~dl zVAe%V^--#Ke+(0^DMjqJdV!^Xc=Q)$NBK#o_cB_<^bFrg5hwSYVn;Le5TmQ3L3saI zs=Cpt{zzb8eZz61T)z3;02y9!{%65K>|l-0Q1wB-Dt=36!Iv7UA*Cy}WV~omsey_s zzIlLqkUGrEJi?vMF8}QfD%l-ju`=i?VH1Yo$2|@YT$A^OLa`P}y9i}@mwl}Pg^?sG zfkX_=+6i0gCo%-p;eI;y8+v==L(T8%=KJX1D!1z*5vrsI&c0Mja&7Gzt*3Z!*$nznXhV3KbNThOWAunJu+Ma5fZY5Lel%LI{;{H{6?a53_ zCY5s8azT*9E0Jy14@BGZgksuf+Z+2x+#1P|EB$SPm;GMfJTfv}b}^2qLSY_%kcpJA!gS>mTRKqx8zWOzU6Rk2wuaysqwvwy`j-1y8ul(i640yu~d7 zxF-C%b7U?w+3UI#ZmhOS5fjjuy_oHvk{p`VW{1_i=)RSQ-vxm>&-BqB!nu|4wfxvE zbzUJD1K++$q_`3fx(o^xoLJzoAdI`=zlyU}LNDSQeMF4${sC~g*i`a0ZRjQYJN7XN zXy_8)xzzS@mtEWYhpVsk?M~MX^k_!MEUxXR_Uos+zD#wAP?RLjpN>OqQ#yt^Y9eye zj!#H^gw$HEaUY+u8TUcgsY#FuQynq3LxxV|5Rb?rs*EXbUrMqxgq5|5$AFD%ks-58 z-FDj8Gx{zLU8PpCSIP>%Qt%?KO|j}4#WB*k$9^+Tt^(j{#Pm6v@W~ccn-`J)!O%c@ zukdJLXy=Au#m{lzyr(fYeMa}jo^H3J$K*=LWtdkU=9w%t!dfbcD%xAucn$j^Wy2ud z*DxT+jajY9PjvgF+~C8?*LmZL@#c4fl45&tRyO^BCo_n@Y96W(%$qZfh!{& z0|AALlZEY10!b-x0x1PiaROHk21*(N2Ny$Y3ug}kUIGqQsILuxFaQh$6ciK$?E3%) z1_llR0}1in;Gv;^z#zgSAtAyeA|j*Vpd+JTp&}w;5Mp5A;^O1uBcl_M5aE&F;Nj!_ zLjv>-g#d?ugM@^`LqSBr`~Tg(`T>ZLKr}#cAV5R_U_>AgM4+!h01f~E1oqEQ{oe)x z`fVdH5af3+#&^&E-3b5!1_AwA2f%;;0e}%e5WeAS0{@Hs{v^L{n#A+Lp8cuBKJFSg zA`^d$zi8%Nu6tWdbyqdurEa6^(fogb|2+XZt}R^-TM)QTCn4)x zufK$+@3<0N%9wii{rkdcvUxbE4bF2WC4!e@qpTh?1=n`P8^Uw12ymGD|5AYl)&Du~ z&eX1Mi%I&upY6D$*;So0uUZ*fZ@Xs44pibiS-}CBtz|tTHuG1Onty{yPmS2;wL_&! z;eLl);QwLcyr1c49kKF+?9yg;$Sqs4XM-c0IL zCu_Cgoa~k;kU7P~*ZJV7(wo~q0iyW77(wmYp8lA)gfyKFgt|O=ro3%)*V@l#hthJ` z9(IbGa{bjcrK=%Uy3QD^LOKs(p;l>^#iCOxnyx7|M1$(lJHOwyDF-+IKPe$8_3InY zsEFs1C*y)I(;yxrQIn&w8h+k6pV#mX*{@BwOZxIwng&J3u7uH8{P=CL=JUFFt*x~&@cp>=u@=sLhaEW0ibSFGTO79uAqo{56S0e57lX$Y= z*u7pP|Nl_q;F+z!98?<;(7NQP(fw7G+c;eHx}pJt z*BI|GlNOnBp4@J~-&Rp2ja61p-D~kaRULo4Xjuq(=aMg!Us@$Aunx_*bH1i5o+7d4m$Fmy_O3oNGRPlT` zZDJG@r19A^PFnH(WA8r6Kj3g6!W$D6mh{R_F| zZ>^@T(}2dyA-^1PQ|Gnrag7(+Ug6MdP`R3QNujC3$TQtq`k&{S76`t9l?O=|7l&PCK9MWe#dtj)7ARJjs$YM4lN02qW(_5RXh}WV_bt`KrU+OmGQ>|d%miht|OZ_Rd?!eMsJsweo z*6}Ui9Iw1J;keFjwaqtQ;#Zn`U@1U84r;&S&V4cl=cymd87hm{K+JUcJ9LF1r95lBq8W0mb4{ODJWD^( z15LTfumRJAs>HEytqDCc^?1*uSh^%c zRnA{HGu2q$c<2hxC|mH_BGN;*+>M$%BlA+cA7!SM>y2}G6T=y z>saQvLBql5jw{>F>-GQVCdO%dLg0~OWsH*bD#OEDsB@Ql(C8KOSNfL=c6$gf?Inxj zO8kXa>Y0GcRup=Um_C~1vfj->oAUL4`Q`UU$cz900s#RA0|o~M1_JxXTY-TsI~Ykm{`#SPC-vB#ZpGL z=VpnFOgftEg8e=eGJ?D}XD3bMv!lv|P<7L@x_J5pu(c?eD>FR!1WiFLB`=`)S zcPDIQBedga5I_%0i>ndor>;1G;&8NCgfceUv)0}+voN}Fkw6xba|6{X-FX#XoJKjG zj0zNQ=gBp!rz+x=WROOl9f?+{rdPI6wTeg0lA8msgf44&nq1H{;i(d%mc`kzF@LAJ zihqMnS=Ar0U@O&DPej<9W1?$&3VTENKO9arEb*Jz?dx!%qsY3ihV zcDN&IY9%RsTD^C0pT&rn#W_Z=!C551V^>u^v?xv3VcHgcXL1JZuWi(520Aa}SVDY5 zgJtooN^irBXGPy0PO0|=D0Ca|A7|TamXx&r0Fc z@RhH!_1c-HLw2%#mdtP%XV}vI6>1(z2DHO#Xit-^*TY_N6K9wDNwl|yp;3Rj74wDU za{s`%cjh&f_wYyZ?O%(q`ZguH5dvwkOtSI`JH}Kg3TgjM_Zau=qdY-}emAr^k*-Uw zW+K!v5fAkIRkAD5G=@6vD>4QvZcxXAEX5&8pa$`5hX@e_T|NXnqWC0qr*A>HgbR-;z*%%D@dL+3*?ZE9V zT8_lNr|cZYHpFeXrFWujW?Nw6vC5k`bi-6DFnEDN#!-_&SiBKA{-;WKn+ct|S_H`l zD^Qc|)kZ@RH*_)#8t#qa9?^1Ee~Vj?+AA=qcu6h}#_gs~XzUr7@B zPtY5SqVzl1>l3S*>X^ZZ*%*8h(MzogM*6pVY?teL#<9Rc91=&qcg#GQ>QW_Da+%NQ za-<$=8NZzBAcEe#Ecv{-n`pg|&8q{$5(l?54z|9On|wdBh^+jC%M?3x_B8clMTR<- zyYA`AhMiLaFq)?x<>8K#PrO&nV@NTLRuyDtnStfOtIEcNBt5lEzp@0|=oU9hj$$`# zHKgBV!15)PTYk4L*useK7wUWS3ElH3%yy8x9|$(_Ld3lKKnW;5$pUrq@Z_UQ=mENA((1+W8;%i<_p9R`4$aH8=GnSWTgh*Te)pCd#2<-_lK$ysf+;|?fb%gxrF&r zouGsrSM4kCgmmb>!>#qO<9Y=br)xK!2d;({+TIwMk^9*#^a#e%H8QecpMZWInDS%U z3)@z_Z5=!4ATZ9GtvbOf&FLn5Xa}p|3qW4jvu@P_grxESOGp$0S{kqPJGo|fUF!m8 zTX)i=X!>-q0v(^VC@R=jZ3W6A_@=bGr%_s~*=!UWs%pj$>P~WjRswe~U-K{Z9k*5& z|EPs|!@Lm-vD9t^NTIPTed!xQduc0hm57o?GuL?yS{5Nn2M3r#TY|{s;bcT@s=v6i z9(>9+3iQbvNt0){qu%=Y)dp=8OJ>L%UHy*d=?+}+S)JIaO-?t4YLOMIXO>M%7q^lQ ziCX#*H|F)ZUF6mf&(g9-U+5?Bqs*GV|L+X*Ob_j&wk^wav}Takh8w zvsPI}w-d|&$?ho_u;%`31{+pvA#{^luo&+H9ff(|WgtqqELE*#p)R?BDn4vl__xp* z@DJINC$(bSX)yXF#bSh?Xz(tIUU?17CCKWPb4*ILCZAeL~?n#!(8DwD00wQY~(Z_jy zmwiQjof#%NH9jmUHGs2s$)dux7JX#f+$~cUhZ?nsB(b0>)wx3J^+oI18e4dqvlpU0 z7jfpjze0WrL>-}r9(@SL-sMXQNe%Nc1iIn@WR~aFwz|+ysj9bWO!&6SbpCY8k%gW4bqvq>tcH8pJ#mM$*sreDRB~$vLp^7Vljw-fc=7^T#ML^2X^lm}9aP1K zFW}RZE?SX)pX2N$9{Z4*!l*9~nw^bjskNJ##KurHJjGhyB9c70!O|=_7!xtDRppww zLTt5~XYL=rsInR=Z_zfF+c9MvPAkFE&%qhAUVxMog5jswAF0R+ z`fN+2+oC*O3i2l=g~Gu=1S5Pu9IZHy#w+a$K!faYfYy@jP8M(_`b1=J*Eab)CU{Cp zPGht7!}8%*8Ph=#Z1wsO-gLTfR2lZp7@;rPsu`u)O3vK3nY54~H$p%3DiNT2T6otQFmiM8wUuv!i;IAgTWuiGd*<+fz&X%r!9@ z7a6mcl4{rd8}1sv0So!Nt*fvFCq3b3IwhX&^s+4HG#wO0V}8?w?!ILOWw1ThPo&V^ zd~z@;vgHhuzvFULtW@|+GQQd}!z~PJ9z{1Ode5Cn%*VltZi3C^a{H|mn-tS7fopiU zy({&RyOU8d`aYdF== zU3J{ii+~mhubK!4ZCZ>uiQ=g-tGdb>C#q{I9#%S7w=A3@6NN}TL=jz^S@xgsQHoL$ zHk;fX2HUk$7`c;(o&6~#r679@715%*M&Fcygq%cLARPteuCV)hUCve8j595wB^yjIx?( z94eMG4xX3rOf$d&tyJUN&!^=Z<-#Qi8;>2a--)VHl(Iv>)lx@Bnv!AcOpigFTXLB{ zOrufzkvB#3Bu~87gA%DM>|`&Dqx+j!EMvl8(H_ZOTcmKvP!+o+i5-he$+bq+<{ec; z%O%eqoV!v9#tkMkNqfGFbpz^$jDL|0mdKEC#FHuaGNm$07^QC6F;fP$DaC#&1X_m8 z_+N?c^3}8riPU#h5iJ%`)xUD1)`}dlmO@&aO>GvEPH+5nKSU>Nxr59L(%qXWs?C+D zV44%(3QH@^cO0z?2X@VCYX^1sp`5CS4F0RtnUfS`inztPQiA3xAph!Ovd zpZt7~r@ODP8NXniFb|?JX5@83FpWYaRR=qj7G8Md2`#@k6uKHCtzObx9UNNCnl287 z(F&!`#tJd6ra~K|ca+|=7}r+YNJ>Lg1AbOH<3W6sLQztItukJP${9v0^L)gy!lNgn zb!(T_MN9V?_1~Ot8_E8$@jDFr$IO31vhM~2j0l22$cRM1AV|cdD1fYF_^+kF|5$oE zq)m*9DkfeRLy6g1&r}nSu_)SU_2R)7Fg{jz@;6Vs!c|F=TE@PC#?$m2VMJ;z-U7k~ zQP=hZ*|}1|MJB46JN3}a{M~LQ68CEOiAho|dz594_fShNvuAhjio~S2)G{ZTu@0AJ zwCw!HLwuy=7`=qz%WTh5!tnM>=W9C;2E!wrY1>_qYOtp{LW=2Qn z2#wi4tF2<{=Q@_#M=AxlO(Je4`71DIAGDbIMmx5f+7gq`bMi(O+qHkrgpW0bNkuF$ z33U)1{A|!7f11hJsYGrjn$nA6gm*RRK>PT_MZ{f^zw(Q7FIk|=q!?m-_vq&=l`B(;eUc};BWmL90D91_@Al%)}BES2|`^=7~>Bv~pN__2EGNL6^r_Ow*l`yo0*myce8Ru*}Z8+NYBYi|3+c z3qoTUwxM9TE0ol+d4(l1UrgBCyzT=|iq{=w4auxK4NE}#ufLVmQ}1PSZA;E{?>(b( zMAE-D?K+hUhg9#{n%ub`vB^id>LF0U;-(N}1Ivp-BF3K9_>%NQ`$|2$*(Vr|-)Zyy`60`d9XYqrwOPAE zS#0vLL28!0q+&N=-D_FZLL4lpAw!3EMLTC(KsDc2 zfDm6CV^NwPdrBc*6Qm^gw{$N|CE-pl6#C>S2Fasp@ql`xRL)_stX5>J(^~cIIN||^ zx#n%fPgEb}%mvbcBXe03$5LP&CG~00bkJmUZa0UGVP4#7Ncm0{#*~j6W8i54ehDv8 z1$fAoNMd`5%7*}Wvp0$3e1hBA!{TF?u{yWe~XYPAP^XkQhkg*cr{iA`aF4H+zJK^0M{sFG``9|H-0~) zUX6*CE%7|O&!$B?{lcs3Qr6p35Qpw6F1xA6xsi6?=K46jpR~Z{XJw{N?wXrJ>pdF( zptD8uxRvwz0xVdSM`Gihb`Ic{PcD$ZCn_`$7jjnWoyFf?;I`pVEtEgFnvFrgW=U6{ z_hhldL*u9B`2DthRLIy?8)ix-o01UD;zXG*F_KIjiYIA1@Q<>zBX=p37zFU-I-CUJ#MJ{< z{`^rr;kEY2FFdmx1s(+;<6V^_XXriNH zM+L%Pb)@ZUr;#BpO)}VLae>H|rhLO&@jk|VAuAX5xdmgjV+pIQG&PY*Q27TP-L&d;#eQ- z=BOg~@v|B@c7##W9(VNfC^HX()RgBiaBBU*0K;CWlgn|Q_9~D^g$X|3@BxT1EeB#Y zvGpH?ax|?2x~KNDA<4v{Is7X&Q+1q>XPPohJ<7t5vXvpta>7mAZS}-C>RH=nDQ<3Y zI$7P)W6~)1RUt7qow#RyhFvIM$vJH$MR!DO8CvcPeI)4YOI8;de&7HaXjEqICuZB<_u1Clo@oXeF_brOI~G$W2)tk))`;eTiM?B2HDo^92}2b@~E4 zM$$L(-v)u`94meF`g?ckU0tXUQji>XjTlp|e~UY)ZH5(H`2|+tli2yJ)q46Qws7Ul z*GOKVD8?k2AxZg$Cwptu6q;gdsj@U3^X~!I6L-*^Ux43ru9n!9HFVqR(i9q7AYQ1N zA>-vfes3|e&cb?6MRpkH3eYT6D(KjY`EpVr>4)V5EjMtJ(T2ncZ>AhH%n;6JsM@w9!;7lV)W5gh zO1|fg>%)S)omI{&7DN_f`xl$Ftfb3;GFkXL$pWRyBGsMhpW&58et$~8U}e*b8khV% z-Y5Yt{|Z>-XVPCg;f5_SvHT5!Hi{`==}l3>E2Y{BW8 zIQRR?6PbWpYRKKEbi8hgU(`4UDZ+Xd+i0se$Kbb46udETc(^r)4MRPuHp;c`3^;o` zenRE@I?pbGcfj0FgIZtKCjJQy3G)#j=+tn$~D!d@^*uu!#X1L~C0N zS7);x7P6!(7cd}Fk2T!9QETVD04ca&H-wI-GKf1+;U;!rgsaiYv&q5?v9rQ@n zGA&G=pv&_EvT2g}eS_{T@bEw{^Cp&pnr(W$bladobGC z=fua-bEZVqe=Jrbbp~Xcgd~i%Z(;i6gPcI1InsY!V&ZPv9d!};e#q%`kID`mej&>dvPa_k6n5rB*T+6Z*^8< z2Rep}oloMXU#i|-&)AuP(;wF8A_sV*QupRY)$Gd91?y~zjvZs-BywTl;Rd?B5SukG zOnV92!lu*i_yRP&NmJ^|QuG)MH6IAOWRU!Zf4U0Rrn5Czk1(r?b_qkNlCoY97|s$X zYf0a6DuNr~BTsIvCMaL1n>SlYF@`5_fU&t84PvBulc@YN5~$NjUME;SF=|<#l$<$p zmPJP6fhS6a!W`3dEI#*U<$6#?CPR(>E*PCV@@ z`Qs^|U|noawXIQPSR1P>#jr}0 za{`F5;Gg_B^P|8uM>yCD|5DjW%7OgQYI~KcP>Sh%bEm?IVp~BYUHxrZb!0)kvppBJ z45y$M@+h=$X&#}v;(p|b=-4U4>~;btM+F59m7Ek~L<&@|4N!3;?l;^lU_h*!*6m1S2wjhWz%tE=D88UrEjY=DuP}mV4_2p zIUZ$`+0CpPsh;&tMSA4H2=L8FXx)<3Tu-aVVYNzk%a?oyHuoGAtn36u#^5T8$Lc$F z>!k&)a8YdNiv)>>6dc#JlttzAO^r0Er9tfqB(c^+No>3_iJSGA8a!!sSCkfyOb=`H zMzUujXzfe6ip3zj#1U_P0p z8`Ovl3#M|Y<*^uSorPqO+3ixXiOIyPQ-|Nln}g#h>sZ++=VdlsLM*j9pG0ytZ_p2- zYN)9P_q*Cl2up=s=WJt!D%N&vufAeksv|qW1Lq;JhgZe-_W)vZjDn30eius3KfRx| zGT$%fcFvDq)g-p}C>uAInxMw-c-Et-eMxn^`eTQ$4>vSy z&>;2&2%wEGHOW&Y&CkG^%f+_NV4O%~h;+LA5%>^2xlnHP(@S7Vy7J)wo&@W36^{Zo zW`ovvrr#WxOcU>~m7ZixRhATu^n@%N;dlmw>219u$GNH23hUDZE|s*kf7s~C{kSS4 zUGzl>qf1A4u7~5LSD(Fi629rcAnGh2YDwOZuf|0+?D02Z2j6`EbLNVOrmc9LE8j243 zXLO~zcxcu*k0n=ypC`f*R<#S+atlXMaerrREy~H~bhFbe)%IbiHBMn^5R!$cfC>b1 ze@q3nt-0*w&q+PGl?_-{L$t+gs}8MKM(tDcY|`GUkmbB7vQezQ(mRdX^cWQ`Dv67c*=|x)3cnN`5mC6XnMEmNt5dO+FrqV;7JlN zH>#)6Rf${exH(1*o2livr9-uM=$r}6mZ*(| zYJokyP3^5}`LdU@q};@Yq-ityq#R;V+1T~Swn-$(#enTppH*y@W`-np&aUcP_n<=f z);WNIfWf{MuK$wZfB=YujDm`W2oAsU>f-z6ZU_YS7;Y8*yVii8@Uw@*CkSaBRbD#4 zYD0JJIf}?Jvt4T3iRx!|dH~c`pyhSNIo!AJ{BfY|I3h&iWtYQu+BQg`9|3|yZh8iU=9Wh)Cs4E6r*AHQep>7WD5Fp!XlJ*>!4AF_*#{)L!Vr}TP>zzIX)kJOr6 zwBdh8s@+!x+yyVCO={!+O5$ZN@8K>E}8Xax2J;0M9u zX&)*20%S`y>$&0oq3?3XI(rw}S-PYRODmxu#1YyOZtAlg7MnaXWFG6$F!|2t{c?T* zYE=dPqI#Uzxa2cQPgl>t!z;b?XF|>2gfnEN(AZNRvWWMDmY#$yrkjk*5Hg?#r)H8B3zib`%Pm6bxO>ZSq=XP@noeQg zTbLgM)PpIf>^)QOgN<$6l}r`UML(H=p2?D|@~#n&O|Y+Av-e;zdP3i%MH{eEm@ zeG;}3c>=U0dpl@Mj`CxuClhd~bn^7z#X((n7CQo{lNKj5^vXTD^uy3_e!+Yk6C}^@ z7WF-I-0^mk?w#<_EqMF-S;S{(sGG4vXEpxZbh+4Pdd$yR1;BzmgwgW4>#LhspiyNg z7@cVoc=9{Z&R)Xja4=cN3*O1d07Aj%fG@IPBhQav-Sd8o;cygYD#^Wh6thyYr4%wN7EGi)NUK;5B^DZIBM1ZYSm4;Q+AC*)%Nh5IooLk zcNZ;8FMnRQ=q1pHUEGW<$@VhBG`dGt+p(8vgjh>{$j=Nx>_7fUpi;Q1iS0|Vaer~d zpvsO33vt77Kdjbwqg>_Hg%KIi=%SZh+l@7`1|vP4*N5@3_Y|(41nY^R80BkZ6%Nhj zD#B11`M`jcAUGBdIScF87Uj6;>x#dGcMPH7ixLH#CD0*;EDjVsi!b*!a;sI5vX7>n z&^e)g;$^juE5FJRUX_qanoIO!Z{-XOeQx0mk=un4FSx%10=IAYYBNdG8O$snAs zopm8?@L=juaooTSF|EW7`l;S&)#|RYdr1MoRE|ZYVQS28E*ohdZ70@ETB|s;&TI)j z36F0f0hBb@+2PKu+c9DR%Cce}aG%afB?Xwtj_2j?opTQB>(V$-He#D$Hjh z0PjcXHQgR}Y-}3yBo15Gf5qdk%}~J#$_ZB;R|Z2~4sI3|*k83bc)ajIM8WL|xr9sR z0B5=-ttr&HbaQkDrJgOU;1~+364eQd>ccJA%&;c!J`8-r`WS#078*8e0;&ROIBZFq zG7l0*PiHpPaubqCUATO7?qZJ<4bSEmAKKW=GMdymf-oy*N<6|;?y}!{Zu)`N{gaod z@J9_uO{J07m86g^m5C$T${_}+CYGiyHtV`pm0TGHD5xUr-odSKQa&?X(Fe&g zYqU=L-ANy%C#OP35SZWydIwkpA3MvCDfE%dLvt@-HNoKFjnUOUK>_52JQElG+w8Df zxW0KyQM8E39ImbD?d&*1aEQ21aZP*X_O7Y!KLlvuJ7}OAQdJyZ*s>!AZ?#+2T7$Jb?Hi~`OqsbSbPGfxg zgOS2IgRr~)L|9Rtr-2ufP`5SFZN|83l5y&BGJkK`iG6UfDw++U20~owlQv3KZ#|-_ zE~;zS@Nk3Q-0^WykqMZPHeGCCDe=hA13wQ_e7vQ(1mSkAEcp|f=hqjYSutDApzG{4 zYqeLs0OslYe@|p3~aRnhY!dD196GVCD22475Qg*NMv51Qzox@OWE)BN*zM6>3Q z{`YAKW65FXNd7j}b6&S^!b9nq4C-D-rsZ^}_q>VBW$wt@Xi*7rWRLKYJv>lK5Nej& zL}lYtMVj*(zeqC{g9U1fW>jOx@y=ebR~Ou-yha4!_oAF<==WiN3=ZGn`Ssx6o3^*N z%Ou2k9;~KWv9!QR--fHCG?e-L2xYSLM}OM}yC=fy^Yf?@0ypN6!Y+H2`mlt-mEMH9 zbB)f8-5Ub zb+DWWz1bbU(=Vck{gU_CZ?v>Ibvm6!3BYgkpQ@WQ~qf{i_JD zg1Ich&FXfMh~7~acN!S0IygGPkXxK#L&2|=?Qn+*By z33G+#xSNubeJu`0IY@Ay+Si`nS+Zp&~tnMPj@`CYh5p4Qlbm_nX9o%7`)>wG|!a3(t6R^iPLGab!xmv&x9_ zZyjBxZli1!BwhARSb!KF771Lu>V+AnSF{e@DORI0_=HzaDfvZT@(bV>-r{ffS-T5ghM({mqj^qGwwg4I0V5^yW^zccVn{Qm5D?0`fO@fVrTt-)a zAExd;ck=EZ%mFmF z1MPHSy<4>r36uxd3!R#MhtT|;Ga7d>#S(GElFS;$E6Dya685b?bEnv51n&MMA862n zlZ&|}nyD<&jV_(5I$d`OThShy!ea@~JpWK$DH9N)gFF@Q~@&MP)E10(U9#ZYaZ~?*`{ZV$@ z;2M&?d?Vl`CgAoMeDf4|baC_S{76MW{TvVLXqw-o&1V|o`E)m;g!0$Ev6Ndlm`0?< z+%DLK)X-(w#D;!icU~z9aDa03z zC8g($uSc=}j=rRB-kM)bY4;dGH=*;*+Dr|GwMY^wQ=EU)Q#zzIA`+BsJ2#k z-|{`CqJcCn|LR||ZC@A~Ya@;3QAgKSWqLgb;b}3vcm0@=eUe5v{q|vG0a&^e#`$Zi zlRh6ZYb!R~S*w^p9Cb}WO*Nc9iJIpkeUX*fNZuk9IQ z3a4>;#PQ}L-4>Hdz2n9ncnR`nb+>XIjf@0V6+=MHnNfcewi19yU*ifR@mR@xtn(ao zFTy-_8&ts-!-pDy$!t@Qh9O?s&o&ue8nfTq>X^QSb3>IB9vtHaX}lA*n-5TOtvb}P zLbB9slY}Hv=XG8_q&>#c+3J<$st2M>$Hop$)w1B+=^YhledO(_L3Ll0S;h|*|20!j zmF06wt5T$bJW?=+BWR7uQcuyIfx#6X7SD^inr$)tfX(ja4&?PnqUbt_j$gW^2GcSo z?K{l6Mu7&r?iz(p6Lw0)K%^n<7DXo>&%2OvM(tBwq?Y^Mhz+c%p|XN>tSdJEu+=r_ zXBp&rBhN)NGQ!iti;FZVH9L!lbyg;O5>7=X_pq)UehtYEfO27ysSHwu=IB+1;fcx7 zxG|O=8>6;}IJB)4TpXixvK{-BJ#c*I5!-hX?EmB*SjL&zOiZrKY(cH}+Q-x%16guF zT@0UhC{i!5rfQxZ6`xu~PSWO!Yvm{m7dPQU3K*d-+;^bi!zhz!w8qn_kqpT9!mzc8 zp0_k_pPam8OXW?IJV7u5rk+sZf;2ba(=Y#p*l^~nLHej70M`G893?$X@ZoLA$S|N% z&S-}&`!on6L}bAon~9OjptBPNpy+#lEY&l_CMCKMcL+!upnGPZg42 zK`LDqf%ll!L!j)_@L$-bQu@mUnQ!W|Emm952UyMgHL z#U;;W8;n1Y=13`%vG}p`8()<~E)yjZ$Zu8BIKU$P??u5!DV0)#jGwwyFb|e*yARWvdJ(>9aU<5}%Q# zZ+mkK78hqA@0bzD)ETf5qW4N0q#jYEdSXH01h!Dgo$^14;Z_R}Nz@^c>5Tmy zlZ9yNLzp-#M>tp~+i8RO>;~%^?U^m}igNEw z{oixukblk-lbB*4ejHJ}qeM;!Y*<$s^# zh#(RYV{W`ou+A45UKM;I$gcM2cls@c{rhn0zcpb9_cJ{IzNu}nj`zMZbpJX1zDRyi zD5U}(6#BncIDThED5fjWRQ(s^pCe94xi-Svx>eHu01?GZQ(vR#PR^wN8@SRB{g-Zv zNKk-{^*_K&eXAoQYL+M@=X#WH;KB^gory3TKlE7XL28(olMR{umfn#UT0OqN@0KQAAV(w!6s{6S;(<_w~s|say?~yJgpJ%NrgQ z9y4t=yZ8q*m=r>-zpc8Tp&42!-$lM@n|yDX;JKIor$!4O@gJ@7AD!~QA0__QDiH_? z7zG&=4F&!cDE}!JM0l+dRl^-_XcDxqiplsE6_tv&d3PVXCw+o z!!<5E4dia3#9a7O+Sa}bw20}P#lb}n+!3YqQiTp?5A4}@rHdv~br`E4-ug+(V6U~w zVJ%!S&?&0Y=@JmCSw|Z%(eaCGAhbLuv%U#r`KO0hOv4{ZsMsTviJ*EMjC@?fg%A*~ zfyyi?74AJn-#x2HD(GJ!s zV(+V(oE-JuzlDzf4DLU*j$r>8-G7B(gzvE>Fm%Wh_!VE*H}~%t|5NCQa9bskM`i)l z;OKv0X~x@ta@{KKyE7Y5nh3>CV}_VK59Bh3`31nFqK$o0%J9eU;P?IjQ86RkY!i62 z9+lx|_#^HxNpG-8u+rv(>v1I!Ap-$|M#Rvb<~Le2*>~#LqKrcOBqn&*ZClWZmC6{l z=Zzh9rGx!lp+L0b1sDj^xgZsrXN@JI3K!T7*fp%&tlP~P6etCksXcehM<;)zNapa@ zJ|N21&ev5_QDHq;9n{J=aA$x>9HND( z{UV4`*KdXesZF=rMaI}L;|4JZiUmxJ=)e$Hzn5BsAlLd3gy?_8%fPN7)sd61Yx6^v zA6Vsz7m_vA1$cFXskKXqyqQsTI8EhwNDrtbRv{w9W}sjm1U%cTn4O>{^tq2E%Sq@6 zn5T{S1b&`8ucx!f5OEVty|luC%7h@lC+0`?5gmctSxmA*3Z``W3Rp!TJ@_t)(YPpz z8|7(4KQv@%+2m+drVa+vuq}!$!jXYR)FRfA?;P5;x=gvIDn=r)u9Lbs#im6^F;kEC zrjqW2CSeo{4#c9SP90U`LleRO@ zn@$`u;otj!06>A=6!-%o7#QTBURXkqc#wDLgJ8Y&02DN2df!SKJQUa6SJH>-r9Y1- zjxz!1)%cb)SFBEifBHH4ald{6ZXyvat2Zd|e=Zae8-@SDXGdC%A#!K%SrOWEqz>$B z89po%gT|@{f|``0N41Q65dgP(1*2unCQ8I?B6l4EgXJ{YmE=T{yoYyAe3LZ+W!E2M2s*EGhsJtw=d5}+m3pR zK&3r}kHi*t#pZtDQQb><9;{FP%)O1~9w`s@QBi`mi!%BL%xH$)$2GI@`hTAHhJd>q zJNVm<<(H+?$w4;O4PxkmwBW7Lx9xz;;Q;B5VI`(wUM$$kk?@b$K*aYzkCxm;Y^gOJ z@N367mgHzSA)J+$;TAK-26j@_CpZ5(2r~ zS>J}^3>B|i(YQjjsX(JwDr%Z`ky2SvXKKZwBH5ld|@mCaI38#?1_$vUKWqQUnp9k51;cG2Sk4F zf)Jg50koz?tkred8euM~g2B~r__zT%sPfal5g!VBsHTHI?hY|%tPoci=Z>XdA$`R^ zsF^ucSUinMV69t4r;}7h@>dvM0MUZ3fQ|9nQu3`I>K214upz!Kp|YO{_QO%d=xUs1 zTaKGB0I$tM2P%c6s`^&m9}(>3jE4uie5n-KEg|*?@*ZVLRNCCyOX=am;(}=?4n*!g z)gj(v;>Y3u1Z`=g%k{tV-CXbn*PH_-$%@_XQEmX&wT0qekTSwl$mtn}lL;)T6AvGx0D%BotM=jJT|jZFs*sp(Z@W^6 z02+`5OTfys=URl9x+;jc%``gm6}C()t(0aKxjzL9k-%JITCw)#6`!`P7S&}odh;() zLau5ovXGk7DA9LH0TH9c+&%vQC2pF*L3nue1^r01?7fKXWA&Ao!4!cLCA4c!ix@>} zJeYsUH0d_e&~n}bm(&m>sM|FKDhm6K*4X-aEKnA>U!?>_Tg&nR-wu34W;W=fwp}xf z9x)wg?oztNCS!-dG@ul#!l#IzV~JeAhr^K3bpcA|U&wOe@(Q#oi-5F%FKlvV*SCm@ z{p3*PCD}h%*X+0XFc!FAhea^_>NXaIt4jg&HnoGOU}7cn&+PsG0FJ<*qMF5Z?!OZ5 z$qfQl}(C2k8Z5|nfl_8A= z0*xNb;#SW_DAyIB{{ZP>hEq_)HG(*@uGxF=`68+pL_tkkK)`9k&BVM`uyQ`1xD$DW z!n&AVU%c{^u9rRtCl?2ric6v+%6^RB1Ib(qi*Q4<8GY4pC&(IA<-btv0c|NkLeSiI zs?@o$$o#R@X$QJ$ppBh1EVG>eoKhc5=C>}-Czz{vAYMM}AHxpc3%8(+9V(cHf#)o` zl{PS^hp$r08(a5{U&VilN!n|Xbt_3nh0yhl9XHIbq(mwvlH%Mj9@MK-e=|1Any3gq z$RH9SbaC4LH4&Do4lpp9eqmbf19QIDmpCD{WM!Y9s@jS{3Q)dijfqFh4CZ`Xe-Uv2 zR#Jp%n?=6h@4iZN1MM8}T&$E3g*ksf`DT0R+tu^6Zc4`Wr6{c^JfHI^y_InKiSXG{ zz#)$@S9bX>k)w*$*ClZ>Zy^Av-<8j23Xf7_ZCdkE1EZh8DJIQA|S9AwL%0ZSc2ur4+ue&DVue(>Q{s#fQ6S@qNCW^ znTH1{a{MYu5+kHve~Ei7NKwV>jR(Um9&h?<7=@7LI_n{~1ps4)WuvG*4&a0o@->$W ztLcNm=PJ7|VT#Bwn=$h1KC>8B!%>=N*XWt8q7OtX)Nt@p{IUb9z9lFeO3?sYXPVp` zp4D4LHXOeYl8}*9YK|eTIlX#?s+bk6OwToUzH9#OD0TupkN8VQW3lNzhxq&IA$zQG zD(nJiJ%2_#3lZgXj+V#SGGBCAV+KZy!n@H%Kp?`Z<)5x9WOqa z#ca@(aP

                                                                        {sZO*%>4Bz-)Ov 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 literal 0 HcmV?d00001 diff --git a/images/6/2/f/2/1/62f219528272836e6f112b7b5e56e6f7d37aae57-logoupjv-bleu.png b/images/6/2/f/2/1/62f219528272836e6f112b7b5e56e6f7d37aae57-logoupjv-bleu.png new file mode 100644 index 0000000000000000000000000000000000000000..6b4da572c991f017233335a8868a7a5ee96efcdd GIT binary patch literal 42335 zcmXt9WmFr_+YL_9P+W=@cXuyPpt!qJ++BjZ6?b=s;;zBnT}y%D?(pXKKj;0hn`AdR z+1;7BbDw+fL@3Hjp&}6=0RRA0>F?i^0RX69kc|Nm9v?50|YW08u8peDL+5%E?nn2|w zavB;rzOPWCs<$x6%0=$V7Ifd^(V)b<&fN}QOfK&2>}w6q=gvp%cijH*cXeKL!eC(n zRgk&ZLZSV+Xo+=Is}5_Kp9a)s4`9GwIUCe_U*;-l>W1>aR;lL z(itjnp{^pJQTmEBSR@lGE`DAkP#MWqSwK_IiwVCldIS|p1i(ax!)RP8_JInmC<-8h zO$ukc-g>w1l>i4uMTUs@FG%6H-VQI9tr%eu3ycDAv7>Yldg3!^aIukr{tEH{z#l5` z_@4XN(UCa-acD?+C}>d#QLz%$EvewOVL-7^H*Mk1SQ82ojvP%UjQw-yvnPBATbq*IN^5RZ%9+@;p7stnXRWpv9QwQ zpC=cY3bIbvJI$C*l8eH!*`NC$_~<;zp(taV z)m}3{ULdAIk@4;2IgnCwBHS^|nVTcRk?BFMl5;P1A}uNrxOXk16OSPyF(7%H?0cAs zv0pUT0%;x_(<<33sK0z2-Jzc-KBg3oGB6geTRjhrx{LD5FrND7?)MTEBHbP8tsWV( z)}yVMI}i5uG=eA7H`jhlQ&X!f7`=}wo6(~#y1s%afG&o(Ql=RNnn-s)91@+eC~9pQy-LXB;?-v$ z5_9A*Dj~O7D!-ed8XoW0oIr$Q#gh>g1)iQDBSFgCx*SFzIjF}`QU`*~$$ya{|hJt?@;x{AO z37Hj2!ay;HyJfI3)N%6?K!j5pC|3967dGkUR{4S90@YDB%CCU@PMAi$tH`9{+v4W#XT{_{YaUBMMMdbKVPE6jbfa+?B;*^N#aB)fJ5WmMz75T69W;mSk zdwG2Jfqa!aMKCGDS71hx+;5&w<6=OXwcGT_wu`&raQ$om0Kbi3+%ZF&1tV0jgNqg| zE4J=6nElEsaZj-V3@keQGkO|=g^b`5j2C_E4#KZz=D`V7-kGiEMDiA_x>%L#L7s8g z^_`e6401B(9xL|1D;=>4@Gs*5iVZ$RnP8ufl}JF@8WSNdPWPity4!Ky>3a~quFA3T zN8v*aX3!9RK1zu_M`GFpk>-$5(?4*GrRyyx*^y{M0k1k(@VVF|3+7u_GX*UdE|!p_ zAAX5*8>G*vTcDBXhB%o|=bi=VZ@rL zO`#T)THcllsS+5cpX`Sgl)`11Z#0iN4k5sniHdE{NBiaM+QOW1q!_qbx+Lq^ihLcd zXm}ld&f|WDCITgzx3>$xmO@fXY7IJ>>t+=RV6r6;&BQ{-M%mC)Jg~!L3JenI$TEU9BQvo)BJ_2_p5p_EpoH-mN7RZ$Q6~Sdrp<;Y5c9=V zbdv7iavJy3XZKWGSXd7HUnD9i-#V&(MAAX-EqyiWx~}TzGz5IA`z#cG-U!~BvP+8V zpZ$F+kR*WcHOZ7y43XAhfSTI>5Uz~iE=YY`=gyjy0uEKqm?#ufN7OwF0|0>J5Z1ml z&p5c=Vg7mkf{=w|Kw}jg#G~LCbDdsUDHj=*H_P{>yl_N1GOQxr8sQ6$^*5dm#uSAw zf0h6IH5^-9qyh&aUz|8~{*FH4EjD5d^H+|PM&8>PTwEla4P=X!CDQ9{Y&el@Y&_Kk zie2(hU1-#JY?Vo<^%~&Pw&pv?F6MAO5 zax{XQ24~ew2Z^K}MuyV!NJn^^l$>5nRTUIvW?y4yAqV){MECv-b@KqUNIs1quvY|L;7I~e>rFtVdwcw^|&RcaGmRS^Q}%LrXM*#GZd;e zlV{S^E$RisWXig*H1{)HqVHmXzosd}5U3fxF94K~8&c_)vTvAvRFOsf|_ZUx?vM4212W)Ut=ImVKpWSxj?&eM1aM%lS ze>O%qhQt=~+nswU%G6s<>HPgGKK>FPh{MQ@z{CdMrEg`qG-)$W9!$z8SlOGISUww< z)>Hc^GTS(j!+~R7bADOAy>k*5x{|gU1&}Y+?a!s2qCY)g?`Xm={k3y@@0nne${MK~ zqc}g=j%NOF8iE}t83mP?l2$xVcWe`!Wl&&n_9wNPsm@(1)E(Xz21B2&D&4R4H7;bf&BS4_Z?Wl2;N4=hAT;PISa#U8 zG>QCeMO*i6-}?1o__M%vWBwm*l}hk_;>iqGyAWHGwm;C~^FHvX5+0!2=`@h@HM@TT ztTR(=YjXT@K0qDfly8RWrWS5c2!ha|{n1%Y(qO|^eL902*UWx8MXoqmgV8#E+5Wb@{)`%uADtUgFgZOX}H=!%8@JRsevpgTz1=G z^=}5Sa1QT7dYi{lX~e}?oCY95z~yyX8(%-N!G)uRatp$ca@CIkA;V~%&qH>)rVQq> z#}Tv?25^AOK!9uEJLDNb?gHRnb*lULQXYT*71>jpaV!)L27qJxh{P4X_LBF7AhEA`H{;)kR8X`8$6Pl+#hIO=v6?^Xl(4e7AFU*1hrX)vM15OXSk zDYceb24>g+;$-f|hY8XiyQ?&S-jDkn$%hu)RzW$!7Mjf*P(Ca+tc9ypNnjxYsVses zt$-4-+nKn`XSTT7pjvG>k+z3x*s2F$qWzoZm;@N7jpCDc-n7Bl)V{-komBu){+jPQ zlSLDor7nah!`kj{mpIf_XP7&*G_!RnX`GjM`Lo^Bv6|w;GZv`S0RUR7o|g|deQ^d| zVar1ueg)2Os}Wc2`vf;ImtDT}KpcYbn^Zf}y*uf>Q8y^GB{Wnmx@?hp_0o}p=d-}$ zrC5>A{jB>X(^ADhrS`TGZ^hzqOYg~^bFQa4U70XN%Dpw1Q#7Lq^rn^CNSn^lc)$aT z)0BZbKFja6PY5$qln@Hun|guj!bhyb;@6MYMH_p3XYLFEt9qG9*@n$wHxfsC33x(^aQx!f>jJdck=-AEwz=%kOXd{G&wWluw@>WXa zCc)MxdQWeBT0Be)^tYYSF&ZwlfhL26072quuyZDa3{T_g>?Oy}8VXbDFCx<-qlE`_y@>B(2d(Za| zMMO+3A@sDjOcja$&E3KRfatFZ)u@yTwb;&OCX-H;@)J4g{k;)fKET5XrxP z*G?1Mkon8yiXh`Qqkw^s9;nQfeo(FhYb`oI0I7zRN>ua4TPy_O=oA?;`LGIw_4e-@ zZxNC--aEqhHmNl4tgAvL(NDxvLXZiMkF^pcQwj_b$?yc%(H1|R4B>xh|A#*{+FQ+j z>~-}3Zj$-=#W5XM=27!``>^6UOmGfSB?e(4Up$H|B3&vPT=bxH%x2e+VJpo*g<>L> z{c7z1wsG);3ZaAR^k>A*5g7dEJ}2*>l<#=cwUBvEu}{d7zJoq^U(+$jRej^uX2o;H zkxmv*HRgGDX;X^y+lB~I=b4P7#j5o)K@{%2sDT{;D!MR56UN_^E-qJhLh)_XC<@`t zY>Ue|58cN*SyR)$D-0dv?xoc<#y_8;70{^h&)_Y4eg>zfQ| z`fpY;ghGeK#Li0i(u~!7?sZJK`ia`_3IO6@87eUhtG%{9>ixGZRB5Ugp^Hq89c(0| z@Ebie9bM;(@^o8r(G-{A5d_0wKIiLN0G$-8uDq)QqC6T0`Yq6EJAI6lm9 zxB7mt0`iPk6<6EjTDW2^-x4AcHV4Ejfml1pYK5S^1}(dUOTb|0eCIG$*3*M9pg@3a z0DFpG`mYC>KjWwblIhRGJlU|4)>fmiiSmEWCXAu1Ao_vrWrSd0`OhDEop8?Twg{v> z$?HeS5#QUqkadLp5Cr+Sxq)T#Gse%7sF3jv4~tKYvWyUIIrFj{miyvH(#hXQ2p|=t zAS~8C?7>-m^`Df^R&q?clegbk?}0w1UfSK-P2M3l{+9C)zc|9%)pu%ItnoPF$j}sfAjK9ATzQ2*f?vP%H23G+yUJ4leaqb`WxtN{Yz>frh3ls>?nF|eY zvBHkfqn_IBM~ycSb{)m}q4ygOg=~ih=gg!u!oE0dXRg|N?jlS|VyRj`3Kl^0Bkfb} z5ZqWGm(IC*tptAuaY2#{U37Uw*OvTiwE!}NqM1z3Iv?GflfSk*MF#Yg;I6Yq#F=P~ z$}@X?MTYS=`qsxIK|!}7uH0~tbHQHKBSSPTz97Wr{nip`lHVgYR{9kX=s!Y`oF^BZ z$OLdDW+n7Hx-BhpA^S~?!0g4glo{*JZ^1Mn}0shy00f1tU z2C3oKDYx#vXS#9GMFK2wly#_d0e%DHDTSKon=3AxTQ#cZ`WS@r<_-u&{Gg~m zyaEl4O3xQl&7i#G&;eQJa8tb<=&V81!%LALKh3>gQ_@<*ez3Ia=tPWbL4=XG(hF=# z&QMargQ|FdfAaP@j+(M(8f@4CJGQ$;0=Q+~fcT!)EnC2V^r^+55Yk?Wcwq<#8tsWW z&;uXcUJB1$Cq>t&Bno|Y`040Uw-6CBU-bRFs8pm^ITClB3mTwmDcmk%S>F*hLG*K_ znn0LQX~j{%2!~H{x#b_VM$7iftZ7GI&1TR%!-&dm~+;=A~zuZ?nwCd-jn zK~k54+sl_@M^AVxuIZwmeu(ziS`3`>rx+(MdB3QKM;ep643iW4rp^l35M_^8U#AX4 zsBa<@-siRh0BIfnsNt#u)kTh#MfVV7C%%VcqY$ZI{q#w>sEQPh6Q#EB-B+&&RNu{# zZ%|BnY;-aT7;r}^Cxu7@^xWqi8x>_DqFJg%mKv`>!kO%sayD&R?6Z9kpQeRZC^471 zmU&SyEgTu_B3&x$g!IJ>unV;&;b&?U0+i}sj8XK;Po{Me~TY+_PUI`y3$(VLei@yR*s zhvw;%D7)FYD&SR>t}&v*+E{_?GPV?96BP7sP?)wDQm@(g69nTyra`sIyt?b5ZnM0k zy(n~q-PhOjxF{{ zDXrq5-}F2WA_GOCfXd2#Ivj_IV;jxO*QA1b4ksjn_y=VL738Z1x*_VoE`0Chpdb#PA zxb*H-!`pB)=y(9ZKuDo2YlBMrsq9@^(&5RyW@u}tF5|c}uxr9;j)%{@lT~e8~ta6}EBu7lo-8p(} zq=HgahM@9q9pM`}fXKgnlq65L;MGSpI<%Gx!TzQ$S=Z!}AI!{Vi32iXwYuCJLwZk} zB&4uMv*mCA!}wTSHf!+1Zx-(uee)IH>rQ!IHgNil1{7d1mkyck(&MhpJhIcLz~qnK zY6Gl4jp5HqqL^I=bY8!^lwE%%Zb{+M5%uU*FZUGX!R~7mnqr!5x1x#ZPDkIOws7T0 zBr|bQT8U$>0a3U}$)<|HsA!1}5DDRsF@pC}rU`Nkt4KLRD03g=U zoa54N1dhUpAogXy#DSNj{W}G&zJQ-O>G>NeK?(7ec!#cTC*AAFVuD&=RH$~=&{wsHAO)n~EGe~%%NuP28k2KUr_U1}}mCxckf*gDb>EqG8` zZ#-x|8y^BzxYMY)jCw{}xDTuV!$Y#CaW>fN%1MC3fjpfuNwMsY!YOfclel=EsW@-> zf(O}Z7Bi#HMJ9WsP|mRerj2`;QYgT|c<@LtCxJ^Y&0BYF3fXK~ZXDPzP$4nh-lXh{6Z=`j$cF@C&nflW)*Kr z$!}ZTF7mN6s!aZ+Ztq2*@^65;_BM(?ingap4jSERPdf#E26+)VFTb6}yWmlD=>?`B zm=s(O)bLcbYp=fPcU<-E>N!iZJgaGp#pUWeSVPJ8gn0jZ#r_$H<9&2k3ExD=kG-{v z>vnrlG5m2`s`Zdymty}e{*N-iDjB=y@9w4Lg|~P+41h_$<80yB+L7Djuqtuv;wr-R zK38mAg=~m${M@!s6!2}Kynw$WpNqSYa`DxTMVfEA{c`^>)@I>sz5FMU0YXzoP_K%G z>mhHjNwvH@CBB~IbmG*Vl}7E3BJZke3iiT}jaSt(79=4$N7}=Qs7%VyBrCgCmJDz6 z!cD!w8e%qi>JT01;P&D1_-( zwH?Mf8oYgHf!z)BW$*BA%vaDJ5#YQ1u-g}QbV}{Xpe`0#3U7F9LVj0APB;Jw(*}wR zZOx_+srwBNB#z|*pLCwut#<)UqoPWM%S-hrj>>WSWJd-TFUB?Lht{AyM;#Ukpa`tR<6sk{3W zIQ3m-mcAp`OX0GHu=TInomT;yX2*345xDo_wX?Uk#V2(w4B1SMTx{mm4Mts;1%STG z(N8dEcQ(tJhBz!E873Z!GT&c4g#dZFC%YbL=?A84`X2EYcs8|Chq=!6^`<=DXE;8D z4^mU!LVt;MT3|D{xrQ*N&p7JJ4qD>aDBGmhHFeZ#?WCZHC#^L|A-Hnpdq8 z9sm9owRmj0pIvF!^x?V-(;J?>*_0qIuKn8ggl4>O1eb%5`}@<+k2bQ7<{`G|NBNqm zk8I!Z-HQ_nlQ~s-+|a6dLLiE;gX*%rV>IIl`%lP7uz*e$pJpu~lwzzv(mWRnQnypt!OU7= zYG*&|zkI4p1_Y`0blXhw?M^U@bjiuxwOgM4MfBX@IC_!9EtSig<%`|opAuh2?kZG! zs}c6R>CLoJ;Q)WEn#_;M0c+nDBvaAk;xkM8(EW&{=88{nZglHiXtYC?Va4%?_&=E6 zJ2ERQvLFT;{s~3gVgBqTjRBQvXG;0v&Q_s|#6~gn+ibVAZxStbFuR`~%z(Aoxz}@$ z@8S*|l$my<=lE>eG@&e_w&a4?O?bw4-?V`3*suHN`_xE&`kG<$nJ)X1mpt@@5bdz_ z?$GIx`Z=wf>f4h`{PG5E<8gD^Yd*h}HE9XF{t>@A>>gnXoF`M3E||bT*I-mL%q! z40$;CApm_`Cbb=^K0jk_H25KYaQpqqmKCB>>(KK0M?^!3BlbhT{^tg#XObeC8yqf{ zJ{`5bUOEik+SmOZ7B0ScoE|E87_a`S&EDYrUq1n-m(KPxd-;pMjvFI(tal>Y*NjP3 zE8B(!UPEtrbYt_i#15{?e(Y8T8$haqHjBkpt|^1Ikloy>-n!%Q*=k$NiR=ZEbgeec zmjQj7_d6CuYl9Fuye+-^x33h0Bn%tDZPp-YBQXE7t}2QuLzvCm^;G!Qv3++yoMgn8 ze7#c_BEFY6hVG+hPDTCY-cJJ}$aKeGK(uK&EZy;^tQ&a-p+}ilz50PnAP02tO~LzW z^aN3Gb4m~50I*jBESqkk3LGFO?j5THi4R_$~NkSOn^%xd$w$QKD=+;!M`h_q~u$1=4IzA!zt| zAwvG{PC83NWb#0}OiyvRms&_`KG%#97OU@j2=EW0O*O2z-%FCOkB-#_29V$U@hXd9 za-y4~`le4TDIAyEW!hXtg?38yX1B2~xE_eSwBc&!>yixvxOPD*n9Nt(U(*-;#J}55 zwb^jkJQNvnDyP%TwH%`L`Ga3_INZxlo6Cb>m`OJ!1b?fGqW?r49PD|LKl?=pAhH)? zZL#(<@{hvI<&JC2FFde)1{WNw?8V`U-_UJ+Ees&m?itIqy~_mmO@^DU?Tpt6?Ta=S z01(XaC77XF62BCnv>DLiw*q&_dyL_`xg}0xc=bli)ya&v^s20ELi-~~$WWExuR=JO zAI6|L!>ucIX#cv}`|)A9R)7JKckhG{wrRBCYTt1s^^c`M3>@26 zY)s*8nubbUJ}eE_f0MU$C2+Yh;ZV88@0O;`AbS=eqA6Pgf4)U}&B^r@g(XAqLr3*9 z?G(gDS=~JUl(kXR5YO6aYfw{YlpJZUA%9r2{kwJ6Mzg74)f>0OsEpKb#QMvXapreZ zvqR(gSnrCp^C*RMTg0 zCIx(Xncf)|q!wX7p`-ld;}p0VDX$w3zP=vnqDiQ85gjAaT`BT@3Bv`GOtB-$-t)HO zQo=G#kUo76!KH*z^)K>l3-3KfQ(iH+yDcyjEvFf308Qa7lqpYDEHRAJFY~>(|gXcDLDmZ9!{|Jo}fk?y(hWh6Atp=t=B&i5xv?k zh&Wp7u2RexrkVPJY7@Csgcdw7PzfYDDh0Omcs^iM2yqjj6wa$#f2AIFAZi`a)WbvC8&sjl z2}U07+#*&c7Y*RdjUMb>UZc%2XIKqY=w5{fkTSqn$FUy6u2j9y!a9J^l{F8)F>izd zu)~I_m!N(jD>uiahf*AVz$w12g=n-D;BrAqgnxZ%b6^fZeSA)IespRrL^Xk(*U$9A z<(CCBVsNC?TC}3NH*GBrckklUn175~>jtmg;`d^whaU#`gZ?Z-Kg;PxPjGp5Yow4t2z8L`dx6J5}fCA*_c5t5zItyDT zZYOVz%2c|@J@k9)%Euj_reNH^>amH^_9FXZq7xGiUtP}71;dVV@7YJ|gp<4rsM+v^ z6^=Y0tBB>mcYZ2eAj;?wk|<%EK|cKDW{Udy<^uqD5)ea8o-U0u1VCaRKe+a?5hi-K z{`B004E4iHG5u)k9V#+M-5jI zrJ9Nvfcy|i!0(*>ejtQ0e6%S$QNa*&@lcW0nWj|L*w1=D# zHDcY1$hS$B@4{{R&)u2Nu*v+fbBu9at}v|}L7EXsCizwi=oON0zy)I#ycDS6deY$U zCF{}Eoe_Oy9BZogc}t zZc4v3v@x0?^X~fH-|qL6Qum#Mz{rFPx1|IQF@|~(3Pq;GtB+cqKvUV{Dz+DKictV~u~{*x23FW|;a(u~|?ltG5^lEy{WwIv%#hDJ;qjW{zb( zl`I32<^u7N-J>G|#QgTC{D=bh_W}%FyUpp$W6sn_Z(Cs#rNUm{7*5bZ2kApRzgWbd zahiU3nW@?Kg*=F!KCBnnxvu_YzBA$j>^UxKCmqJyi85O5!*fRFR4~(xjB)btjMxzW zjf?9G?$ax>XX<1QkEHi{Vg$72Ee?Wu7zq~R8R0;JX_};Lg5#yAsYjP_|H5Pr`W-Bn zjRCzk)#Q;`Sr}JJqhp+3M-1Y_+7*(AA4QpE-&;rUfGJl@6{o>cDVkyO21#F}guM2i zaP74K1K#cs*AAWJr--tT$ z{UDE`Mj1Fbe`UJ#T|s^?axMJs7vsRB_xbGMe3QiIOSQ^hugk8m9E7T-(;qS8P4>%N zY%f`ZJfml;-6ZM0Z53sK%8}a1V|$atUog}vk;-=d@GEld#3QRzXDlRgiWoGFiH7!A zm#LI9w7W*9bkECIC4;y@`@a500x}992Yb^~SAecRlx z4;N{JiC^o+I`4RNN*Q8+gv2>a#;suD`lFH2>WXxN-UIEJ6yqddD<#^7p8 zYRT2AgPoKQ>tMGf>)Yi^IHtcX#q&v-yD{;huw0^V;m=6y3J*@>W)ykA!aYI*@Wd{U zjtIiWMzrRCr|xR;0Ma;)u#dT!6^VHLwA7b0+z698<@8&n-4-%kb~DI9p+=X_D{u+9 zJ?~xBJj9@KvsQ+Q#$p|%h8rGvQYb0J z;1cB5aI7dQa$ku>J5C926BTYOY?x5KB8?z)l$UtF*5>h6Ez!LIP2tGb!Tr zrfZ6{x~bg4iBHQ^V2ZmV0v42bFbTw~>H)p?pCzmhN|~blo6lyaRewHPr&+3NED$;F z1>ncrXxOLDZkjC+HCVp7?4YPBy+MMtVVBEW;^xhr3~{+VPaX_d2k|q>YS_by>PyZK-zIG^>2<)oZb&c!Vf_VVPUApvv!TS-K(?j}W1mGE2w4UkUs4S%xTT*3qmW6ohQWls5% z@fn(fQhi#>u3v0&CX7RSkfK$Obo*_t4J?b>340&Q8uOC}4byw0qLa05L*%MbC=j}0 zm(s6?Av;>{L?~gyocWFT9~F!Up5(Rjzgp`^9*7GM326`i+<*T5?pBpna7(S|5YGz4 zgNL5pzuz*0_ryzamGZw_O*6cg(N(P7I%x)xh?DBT9(LJgfPJvXcTUl1fw^vLxOfvJLo3KYMi>gib& z!~@CNX88-qj3;eCzb&w}WT=hrzl2=)E5r^*TpWJChoSPJyeYj`fysje9Eqn}B7U6) z6(ATsb8pjI?r5T9bgIV3XjVwkBJ2DpXzRO+0uDSM@kXOQK}#eb4v8S+j!!_fl1^F+)5PZn28Y0Y-<^K*7XK@Wcqv0YFdChL zyR+U(Vx`VNf79Z+#p81P^%~;Rw>msgk?Z?yTj3ABIUzds5GAC^JX1)hQ0=zoKA4P3 ziRY>7;JovD{9|q;5r7F+BBs&ra3xWrC&-D+>3RMsbpmE}sM;Gmy1wI&LQ0}3xzmBaY$Ic+Rv{Rb$>Xh|S;A)>$nguSi& z4~;fvAgLjs?q{>ull1x)w-ZSP%#&<^2 z{bnj0ZAWWtG=XEG_*<^a*U&O8M1c%3OLT{V3P2XyRd+UmiCIqj1BEmWT>-7}vC)B< z<8iZt9@j&qZ=HH-II*Y~$e|`m!+-EksqUdrmqz*!~{ z`2F3a?UzV2$qY7Qq1ApI#pt8)0Gg?_XUn`L8cMOIkS~vBC>Y`q7R9c1+Hn$XU6)TV z6XNe*Gwg+{W5&4v0V9H4N_#_m>!O`?(FZDFMw-)TbKIC)Exk-d2e=DFVG}ARW^UF! z+hGv>!-ZBKz5LA)1=3YzdK#Q=1d?qc`Z62T1EM06e<)oL0e)qd+EBx^x7^X7PC?2x z3y;Ee`<4q~H|~!K>&O5ylpu&k5XP#RBIN&vTc*nSh)38A{WJj z?^crOf_ev8UH;?_aK;Q1Gyrez|Lvl@VJnmJh9soRK(3=qXVN%${aCLU5zAP-g~jBB zEO$!qKjI;l_*k*{Y1B9rkKcrB5>@-5DFlrG#aP=u9fZ{gKM)oz%*e-#szcLIPdN2W z;-JWAmO)>a?AA+xem(8p5j5$x^k@n$K;xkw`0oT_L6F?~fVV3wlmiPW1ssn^mjnfLuWW07=o%Q5>v>!n!R?7HmVd_3&o|Gge& zskQnvC#k1Mbm+AQQKSuy*7V>19)uxdUKhuB{gH3S)o;a2Qf9~&`u6<({(!l1`!efe zSt#+L9)n9s?7VeOpE&!E7Zh+N;@1BHpNcC%07)@Nh_}nU#9@&5Ce|v9^O7XGC!R}? ziTvALO!yoY7RO$9U;6e$(DUEXc<{UHyb|3)o>+y=I>u8C_qg}OiA4P11gqdIq)%8{ zg1L@R3zR+Ai*fZmKFd!^*_i$i24vfK-S$WIhhak$6J?Ka=qx>BLF7o$B>}}ky-p3Z z@hCBvz)b+rKT`QiF&aY?_Ce~1f800MjhFW3`W6$&%t(lCEuQfHJFWGC6fQ>(taEcW zQp7{Z%-5*K-i;mA9Wm%mq)#LkO#(ZG*VjKfX#_5lIBMI1izv8(mqRKDtXJYtu|Nxv zK25C($6yg#3GW=qN{O0tJqPwd(sn!4BHi{-f&8P}8NTFkldYFGQ@7gK#3*^742E7U ze8PJ-e2jaf8-3OZX;Ob#9`gW$qxyBg2>UE71-*3)PB7kBv3_zSoPx6w8?n-hNr9)=l!sEjhC?FM zitDuivAMa?-Mz2JBM;`Y_QQixzV5N1>IDb9#)U96+~sjbE-50`wx8gv4cqnwU+j?v z_2_AVL3S|YP5!a@W4V68wY7#)Zy0wBfPwaA(nl1bzwC98+i zpIK8~ssrpM-B#FmV!)k3Zyy!LZqLWB)XO#k`R|~k?K7^v{{A~2d)tt>Ke(j_DvM1^cEb&+VkD`4+Z>~b^5KM=B+qm6AJ5|% zL%JUoxul!6q{!7nEVEK!9xjgdCF?WO*Z_(r<0{Mu= zrQ}*)gI_~s%dMO-i}<`-U7KEExF2-fj-ed$GH(MAzy0HC%~iEHL2sx_is(Y z&ytk>#@m)x#d*m5xX0$mSImP3sIg{McG@ws7a=K-bO@ZWfkgmnZtT!(b*L0EKU$6v zZ|SpK4Jql#tz@~gqD*|Y3Er#@S4GHak;jBzi?E14XM@x@U)a^@VzZX-gfI0Fc{RW^ zdms%5De{l4vst$IT9QuQrVW9l9STiOmL|1ptU!!uh&n**WcrPY&Y-o;~;LK<_+*F18e_)4I=sHCu8Ldj}uDEi-5*hR&c?vt5re zm$icjVnGD1PITx@bm;j!Ziwii@@T*1jdcHoKknK#G{|y>(8j|+V9~AUkDX6u3^4GL z3G?!yr-kxCAO?q%KL!k0NGR}QTqH*l8DOE^!bh-F11;i{Q{xrJ3R#94h9h*!qJBe!H1l1f*xlMg8zp2#19#=ORQRVJ2VlSr0JM6RLNzn@JI=l>Cq#I#{$?H zn?wN6a3t-uVeBQu9KCLVvSL3VOiO@-4iO?ai}^=!pMQreVytK;i9x`}r&)Fjj?T!Y zNA)rrZzc|<=H;Cm$ZR1IR+>QrXnA^?%U8Sn#v~wCI57tgA}{}PI)J}@dARKqc!gA1 zYn-)^C8%X72ujHd)HFofK|IsQtfE$uI3*14>d)O?7x{fHcIdy7OZ&VH2G^s<0iLoy z2VP{hJ{d*JJKC6Kji}~N8N4+(*$;d^6-Z)0h5 z8t{33P$mgb8h>C;QcmJ(|CE}NXzhq@&S+=S!d4tenF&#vL=%$?X#sR8j3FIy^VNe| zr$+9Xhoth9v4#HTmi=tkL#7Y2xQbLXBF_RY*9Ce;)c1b)&RdE0!Q$etlSB55wyUM1 zx8^q%Td}S5c&8N1TiW!fbZw%E{)a3Io!=5?tSjuf-OM_nlWFMxDFZ$G&Ot zl&hTfs)YP;=}INGgMT1unhzJNB-X{uWm+dG@gegzETHPcrqKq*P9~9cvcxW!#mSw0 z8KEkK`!FRVhj!Kd%RN3w&}je5cZEd*vY^5?H!n{K5kcdLQac6Bf;{f^@SiMZ-`xE( ziYO6Vdp-ykYPB))uv8@Pf4#nN$AUF7{RYl4f7ZVYYMEwU$}-ITn4Ev1nd}AJ?ekPV zH4mTN`@#rYj8Yf85|BAjG~6h@VRP-%Wc?%EgQ|XMC^XgzPGi{;^I24M&H}TbkRhs% z4+K9yllBfH1e-VtXkqaiX~FY%gAB6rVUgfrOIs#H%YOliUO7mZTOt$Aw8nyA1C$*D zugo-6X}%a^^$-A{ibd+Q8TZ?QA1g4b)T4}Ij(l7v1V*O^Oss)<$^l4Ns(FaWznFIe z7p=;)&=`!cJdxEa!JXwirsfeaB28mvEFal;wDzh1x{wgk;|^X6^%hAoixRk>L?J3S z41}xha5R!D_s0aGcSrta^I^27xV0bH7fc%#Tt7VSB6%9#oI~E?=Rfk!cH+noAz`M> zsv4Gaq3_}c@`V^Xg<@+Ft_g2JQpcCOJg^8)wEeJLgu$m90+*wIxrg@#9zw6ep<6qh zF)GxUOwxfA6A+w1Ba-dAI4PyyK+AeX{t`ANQVtN_;O`tW*L}t{k^PEzJWWkKxO%b) zM;4|0UiSZ407`TRS41p@4+6R+WgcXsaJ*0>O<2z3xZ4S$hW7*}eW?SqLJ<+j$N&$v zIVR|=))@xFz61fG8K=hww58XHCShSY4G6*pN?`VOrR!atU zIXKMdFDSt*IpsZKmP9ZCnAyQG(OU4We(;}AFU5=N6hnNiyh6byG9RA96yV}8u%{+0q(%A|nx)wc?wx~te<%SO`(3Kw=Z_7=IoygKv zWv7clSY_YWzq!dxH`_ORvTfV0$+kJ! z)`ZD!vhAjtY}aJF-ur!@=Xd_z&*46Mt@Xj$VU=2+0|I(IpJn^g1YfNJ1iX?D*c>sq zS_Y#cwS|AY@~q3z|M@y0teZ)}NM`orG~!vYTFRu*KeBxY~a%Dy@+B!amXa#jT*s6xS;H>JH>_I7(2!|bj&E%0r&d# zmjr>28B2)x863aT`x(LN6E;o%OJ>EN%)QD{U2KuqShFQ=z+auuS(A*4MdAm|?ihoay8IAIm4>R7ei~F#zKm{YH3x z%;&h;_^EAi-#vLf??V!Eb`GP6(p(VgeNmm%X|Dz&KGb`{+Vr<*(85jv-H*#{CM*v? z4`03;x2M;!Eg?SN7YE;)sYlA-BV&~3X}D|Slw_5zQo5ZEm_6k-5gGz6Cx}Z1IY35| z_O^WxiO@qzH3odG2D<73I8Nr zik*IzS}&yR_VpS~-ExgniZO#@76%hS?Mw~EBHydOSkMgdHH2BCyWGV-UQ3ASab8o3 z5Q@&ulbfpU6evt*12!|9$*I5dvqFl@Uq-%jizcWPocEp#Wsn|gjd)D3)Y3rWKXPKg zFD`*Pt6`^) z#0PY-Vd!!8)$4cA_&dQ$pMT@q)C ztcK=zy~JehUSv@Py;n5uffvn_WBW4>`CU=7+G=>Ql5A5Qy3EgP3lcCK$C}IEjH*Q* zegXCvG7H2xTt!oXB?1@AxpxT(LMt8$3Pd>54^l^AZff+pGWNna%N01n6Q(z#7jqsG z8Yr|)gvM-o(qWP{>uJcz9tqDjpPFRDv@HXZ!K)f=)A+=6uQlrz@+lN?DMcb|;Hk(G z;Vyq5`NObkYe&hG=?p6I;zSFe$l|2Md2$P`#LPV3Vta!nAY^Z|L>HpW%_hs5?&Q#F zjBu4xqCSDv+T;k@ZL2&#Pj2K)Ge2nwB{1(QC&P#sf${J0m(DT1J=bH)1}I@O4jB8D z!yA5d1@a2LH4XyMm{vh^driu&@Du(tFwK7NHTy2}pD4mc2*N~s_5`|Zo@Q@SvNI`T zFK0X{XFtrQg3&=lgu2nJ#=>Ahv}kmAYrUm*(Cpqi5ZB2erzdoyNof|BwW05vCX`J_w z$j>wO)^$A%8SNh}NRTb8hsIGa`15E@Y_yy6?T#Ac7W3z=H&_~qp7(~Yj8N~mKUDXT zXrg;aTFjs(<*5E{@8{g(ziOX^B23_i3<3crhm$|5NZI=^G&gr!T-XdXTg|8JS7gg+ z{lr@p`b1;GHLmOF|tlPOdcfJzP@ z3@I5y2TDnS_M{qoFv)E3gR)l+mFDLMUlJLUCPG;L@BG-L^^qwZxI!Q7y5bLR1Zv!{ z2jX<)4e4kkdQ*?5xBjOOCRx|P&KCG!3B+M3qLVG%$G$poo0Xpj@*Jb16HTsxf@-v) zm`p2g_!*Fgf|z`KO>p%dEF;X&og|~7dn8J|F%K9XCjBHKH8mrd+#o_c3cr@)XW_(7 z;iF3%GQSB#fN9yB;2zQ=|7JG!Wom#6X_Pi8I77yV+u~;BJmA8Ov;w9(*QS^yyLJ7>jcRQ9^GAK5Dk!j-s097uPeNENZo zGR?`=O}VTO@_4o83s|o}vXd@4>ViQ$al#+jm7AC~+oZ)p53Ojw;Q~JEHt{y~?Dl1; zMA<6X%LpGF$ZLHEVt0>PAd5PhdC%=6kqieUlpC_snA@1=~ZI8O@> zfWvDVdvxpw#md%bwso%a1h0^M4Sh>w6%1t5qOzOWgRZ|Iq=fl$K{_%@|M@#zu|t3$M>8WHYLCQw!Ot65 z2^vSwJ*1|{3K#%bj)NS%7tnW~UC!lr2-y_;3@c4@HG8#mHH^sM^xV^d!{f$HWNDsx zZ^LBZu!Y2LV8!SMwtYxA76_9@_SE8$ZytxLg9*8>(WPefp!zj4%ZW<@NBUDGPfO&I z-d@c$oyp-m@-d>H19ro5M_8Uw`ZlF9TVSp1?nXcn>$Afa*v^Q)c8@EL$MicY1x&$L zBDR`%jjt#HR*8Ncn55=T)2;-i2q^Wa0 za$epJ(-}StcjMGImtD}A%7OCuwGPo57SimI>FZC~tFl#9S5(dmeohsOL*qm!*Et>; z(w}OUD<=pDQK@_0rz%Oz0pqv8_>e99Q8v^pJ&1P~&!2AZGIgr;u=B1ibs-VSAw!q) z`H~Dwt)<#@k0#Ggn{~1r9qMfxIKmm1mC%9aIAg5!zkj2bu((OVg;NIU>qI%5- zHYTbs^FA4R7Tcar>ml=BZf3Dhf`YJ|yEU~GQ4a$8Q%kufZXb1;$=GpT(vI#@bqs%W z#7~Q%LasJ@K2HWqX8ydr**fn)+fA>$-K!GbhMme(5InE$$qv|-l3mJmvxL(%S(}R= za^%@K4&sknuG?0{O;}^~U^dyqxbL~-_sZq-DRJ2bot+E#RUs_Ci#s}a9BwL>$e>$UZ_5acAPZv(rTFzF;i8I<-Lg6S44}8!atWG5W~KXNf*! zWy|NS!hSD7%~Qtd`v7#;S#9zn1%A71P}DxB9EJuv;L6pBwK8Vz0KTs~dFjsj@aA4D zfARjVhc{l2BEey;u7V`qx>Rf{OgwT99wi>w8Op&EgS}z1%B;>4C#n}b$b&tDxKD-j zHNTJ1Eg#JV#kBl zVKUzg`PG$(tF3`(%J4@?(IjorU3+?;aj-|Bq0qKoH=TcO6Rdrz_x9$kQGLlrlQDeXNhRu##{0E&+768lN0}KrW8R)}gCk>C zz{WI2z4z`+uw{eM1}R!NM|o$}ZLnD#j4-Vr6DM}x{ii+O*YE=_vs+ipQKh(axl-|| z29UDUG6DAY7krs-gjB7E`&Om8y(y8Vhmq6XZ94iR18Hc>R6QwQetc)1EM2U0&nz6J zV++%(wl!{DUDN5rT9-dD{DFV(7l z1@0!Z7s8F-(hy?PT9IN^^Mb}zpZmS;8ypmC(Vj)g&P}XiP(E6`8mw%&U8lp57Q{u( zj07Wb6{z@TZm(wc$Xh2%zpU+zT#5-J9^Rps2zwHBq$6REa{S{!4mH2pHm?JrU`zUp zb@HqR@D$ZLRC>d6x2Sw}c)!*|u0$|xjj!j#SxSQOaV&;odjZ5Gxz~j?R7h@wpBzv8 zBaB6AJL@l7bj^f{OO3ww-;h#nJl|&c{##M*RbU_>2|6g6d6kM(z61hP;hMr)N~5`0 zBj@oKE8Cg~0I_KyiuVFM;;M*Uq#D}N*ynK4nf9{3iOETok$YC(p=pl+e|khkm7n^( z!VEFTZ=W2UVugOqET?igokIWu%hU?F!rkp?GZh7iQM)D^X#95modINM7B5~jpBl&Sdmcur8;UECZOY8GcX{`ld+DbKIDn58{=|(bTuXaCk^5a`JU7pnpWZ@a`x%TaeG)7}6pX>0DiH-mU=_IBW)%kMWlN|F4$W9A zcln|R1!QWFi+OSRpVSCR46$knl%pougOMz!0ss+Qm=qEAlEsy8pt&%F8l5)a-&*$7 z{xMl6cOxY2&56N3_iPFT-M?F?daGkW9-CDh@_e$ib)(ShZKtS~AW1ck9oFHM<{@w-cP3#_-qx(NMfbzQz7&km zpu4ycn$UK}32uF&P|n&>p6##UoRQspMHQS0{g%4E{~>66`nDw$Y0o+^yQzQ{A4S=4 z;Q79Z*e66BSgg0VIj>x?0I%2js-~w=4*T+Z0vq!QCc<|xb%aSg8TF9MMf#JSiDl#6 zW%qj))_$_#D$`)a7e6#Va|U0(_4_4}fg%`IX*^^QL`5oXpvbfHaV^t|BThOItjyug z{ykiKI;p((O2s1tjsz1n9xi#(wX4VQ&5y2G_9^4^P_&#@_s`@kRMN5);~c5s>AvYg zTJ3nqt*ANZ5)sT|HHkfy9FJ53uy!fV;Fo^LIL>@e>Sq3)=OA@C%(ZW16vj}|XS)X; zor;ePo$BumErJejunAcC`UlykY30a?Ko)eFdRuXCtyd2&uBKt*IHJg;kIg5)k18#~ z27a!E(PFu{JQw#WVhyGpkJwc4ZF z!q@;&GreFXFyr3z)s*T>Mbn39lhrfDQ~f${R|O@@^-;bMAcZzZ za@*tddIBjuwN2|FvNRB~jlvQH*nZd}fd-C|pTGgSMyiD5Op-`CE2E(<&az-ICyr~6 z%4SE7Ei$3wM4NT|+yuc@Y3-67tAaz06?07kgT(G8-8H*|nOx_w0k;zKi8tRbr;lM# za8%dyWQkS(uHW;C9Q6`_cNdF1rgHZ%!{sLx+ z2m82;R+%p{c;;e z%vM<_U5P+v;~f3Ak{iy{-ySdn3G}>@YYo;d{8PHHz-{v(Zkse*+?kN_2~SSvvU9

                                                                        !V(oG5pZ3khPjwLr0FS1$g_Fq;e$o}kxwcm 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

                                                                        BeX3vp+fhw`yXANYjg9vWm1Vu7$~2D|9- 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 BKkxtm literal 0 HcmV?d00001 diff --git a/images/7/f/e/8/d/7fe8d0bc6a00bba3fe03910417fe8438db8a6537-affectslight.jpeg b/images/7/f/e/8/d/7fe8d0bc6a00bba3fe03910417fe8438db8a6537-affectslight.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..b1c6fdb6945de28bc99e4d08fdd00ee71e6179f8 GIT binary patch literal 14199 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 QRCQH*T2H=xUHn-3KVZCd%K!iX literal 0 HcmV?d00001 diff --git a/images/8/2/1/d/6/821d69f5513f6412ae6f16ac2bd3472fd7212379-spinoza08.jpeg b/images/8/2/1/d/6/821d69f5513f6412ae6f16ac2bd3472fd7212379-spinoza08.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..8281a981da860eaa8c0af3e743301c8dca615fe5 GIT binary patch literal 30883 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 literal 0 HcmV?d00001 diff --git a/images/8/2/4/f/c/824fcf9d63149e76d83295c14d8a00b7ed883174-commentairephilosophe.jpeg b/images/8/2/4/f/c/824fcf9d63149e76d83295c14d8a00b7ed883174-commentairephilosophe.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..d8658aaa016e95b8e7b6108425588393a79d70ca GIT binary patch literal 19509 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 literal 0 HcmV?d00001 diff --git a/images/8/b/5/e/d/8b5ed4d9cfa559bc299ac45f6658688bad81cf69-dalli01.jpeg b/images/8/b/5/e/d/8b5ed4d9cfa559bc299ac45f6658688bad81cf69-dalli01.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..de7c0040bc03cea5564e127ab1bb870afa8a394a GIT binary patch literal 30822 zcmb5Ubx>T*6E?cI1}C_?J1p*t26uON7I&B6?(R--3GM`U4elB=5RyyY_x*kM`|DQS z*{ZFnbLRA!KHc;5(>?QN_0J9fO%@~r0zg1O0F2&$fIq(h{NgH-qH2mNe596UOg2vD zmZa`%%&ereZm!l2mZUPWQlzp zRfPcjp9T#H1p^BK2mgK->;Jy~?|?t+0Awf#03;d|8UO(Ca*ovS?{$bn^TOThF!Q{T zFW-HGgmJnvJiY&q$iE%P3ua{IzV{A<cWgknY zeQQER`0OI0v8MfA06r-cn|?8@;Qh(}y|~g6b9Gs1m>UQ55j#2Pllorv?OqueORV3x zLH)ueF0&4H@WlT|E<&L?BSxwm3TJ+?ftT`LoW`dFf&71F^xssd50IBLf-e30esq2r z?Feg$slAMr!`t=RKU4Fqx;shOW#PAdrcx|txyzj&eqoi&Aw6$qbw{;NqIjfZe=R;W zGsiG`pBCU>al~k;8hN#Ta4l=!68q=QBz-3iV*P!}7FgSw()pl>c28<5-L%(XID552 zDm#*dVv#@F?RmPVme)uw9dI0&c|(x?l?Ah^hifn}gJ#w=&a8`1?mA(9f7B~11pibW zBB8#pgtd?wCiyvLNg`x~+7-!7n_B2d#gzVj^VY07V^nma+l|g@QJkBf zX%jOa!o8*|T8Fq4 zkQcug#Vgs&!1#uI-Pe_aC-JmdBVw+JrTK;EFcT3iO&L6?E=4Ptb{X%&{<9~@0KMvB zA-h9EKGL88thEtxIXw?u&9L7|>}%LmI1l}cV(gJC$3NT_PA7=sgMD}67GqrC!Fdl9 zv-x?}6*0C>F_h6?Y5!S)*xZ)crITC9Io;+Ncx6i=nPvV-Oo}agf$`Hfxv6~ihZ%F+ zoMHc=O>=!R1=F%akawPCF|U@cj4hkd>DRl#8FOnoPvXFLfn7);NDW?R%Sk_!+0oaJ zrwjyto4LoV5w%P>B5Af0{sGY3*HIQ1^sjL1k;<*PT2PH&X0PZ}=1=3Kx#MP8lIhPe z39fKnx3G;D+#a{A>YuG7{bOI2Lb5JnFT=EX!U*H3=-qqVBWlnVl%d$qcmsE?rBgn} z#L-zW1e|fWKj!F+5y$Zn7I-nphuqzq;hlGlR2=gLO&qBnsM3rraHtmafE;<9 zSk94AX&;rT3ytU5i~o`Jui8kBn0+-*lS&Ln{Qlsn$%UH3? z<&~*fH}zY*a@84*#f)4AGG>Dsahd2~Z~r0fu;%f(1^K=cfxkWj05A{i3|s&pk#!Ka zj>{vO3D=26nJMF23F~t~xNXkEK*u>jirmGE5QHsZ_$dXW)90*~80O48uyy1*HvK8n z(32d-+zpjsSixUm|66RaF6=D`DNHo7<{sf6;d~4G^&7wC?Va`=Gj4THES<3M(t5;^ z@SHq#+~&}3E6dbz|1*~ET;gR%49B2BS4c=X)Z!riFkhC`V=9`{0@-oJkXqemR8r2XX zI{YgRfMe`r><)mMzy$#AW~V!<=S5rJiXEW zwckI_b|K}z12rQW01^@c3IhHgF#mhwy#oz^LC3&E!y+SRWnH`7TzbC}5>4r|{b!mr^_nB4)1hWsQ_$HJ5J14m|hrFo*x@xJ@}P*8ciJ=z{} z&>g7ZuLtbNk@)U^FNx$|4R=N>Ethb^ z0|i8V*-cX-?m-tcO;`zF;Q^WkPnmDwV_&RrqGiUFHacWt@MjX507k-R1aCo zlm{L2JMoFU(9cPR!Z`XAXh|Df^qY@_##&XFze?d}4$fR+#hNP&g27|$DAC%?l?$}& zXY}Kx8gYnLp+)7u{mBG4!bn*S->=G!JJ;st zhmE1s>02rzAg(oxn=`b3d1e`w)h3*wT7WH>YfH*2g0})2Qgtw{sVoYYT|R}&H8OrC zn>B+VR5Ei)O6(`?KZb$9!+U*uq5tcUB-U>>>1n}LL|39B8Ox0KO|SOa^Yd1=4&TgJ zYPHp{7*69}LCDVI8%TC!k+eidwkaP(Pe}B4)_tS0!lXmgpo~Av0J&hv)p^;>L&F@1 zp%N2M8ICPa1P?ytvTFB(SUoanLmFI2{p2jmNt5`x+9SjUbtN(Nx%E-`9@dt`WJKY3 zXLwd4_dTM=#DGV4&HFsK>kH$>TqBMA)#cELEU=>(s*poXI8+pRBOQ)Oa+z9;7Csd7 zn$t6LBVH-#WKnVRL_Ze1r^+x!w#+mu25hNYK-}_LbHq8Zc)=38$RHA0mhCwXD8jD? zKP?VAL^|&-loFOKo)E_zSw=!^Tm1XF78a+l5C;5Cw*KDHR8F)J~ z$d<%Lj7--~PQHP}WNbJ)u2=ISB6&owxL5cNtY}ly(3T1RxD&r$V-stO)8XM^MJ)5( z9{~M8yhpZ@^>&VwqHA*G292F%sBR;Qxen`*Nc0yMcBw(NQeMO4a(NFKA5o)t!iH2C z>!Z}2&EH4gxW5VqA%H1d>k|F|>ST&MTfNZctlrU9?pE1vDeJ68Ctb9#x_d(p%q=#b78~n+dQP1>ow$y` zI;w2bX`j(Z+h^@RMuwbfFty6Jw|1T?roj(bp54}A7!j9AXalJmej;G$UPV2xyCs8< zY>;eq$(SJe0KGU?`{k48vPq|6Ua=#DZQVv#%pBG!k)u9!;U7kGOow93A+o&; zCmIN>wQYc07&M7zM*)D`>^Ys2tV5 zw+7AHpD+5Z3&_Qi_V%(BAXCqM^ub|YZJB`=!1s1+Q^fs24u(g-1Be+bL$o@(wN|!; z!j>3z+iPZlL+M(!oEeYo3$o!~HOl8Yy$BatyRAJ6YpZ4?hQ&^$Zz2Y+B>gD(K^`O4 zF82{G8WKMC4}i+|;tkhapvc8b9{z&n)}~KSpNe3f!Zysnnc++mjqkjn?ZC%uw?1R5 zWH=`gVPz=_7k}NeO(T6zhsYsta9_n<(K^DKps}2GqKN{D=SKj?A4n;wv2$V5J1JYrHr9>3(FA)=4D8FW-=Lxry`2zY+^^V$a#e@ zsSeI!3b?)hc!5=DoMTe|si!=HOP>Uxf9xV3_h#nT zb@GMezSkT6;|B+I{4;(o`Y@+Of<658yLHi%Z?BpzV3uDuFP$sv zxv4spj}JEp(7}KhgK^Fm5Gmvx8-#M{N1_UDO@m&?{Rey9?UUJZihO7ic^(`JMi{)p zJrA4fQ{dx7GQV|*+lDUfZl9aq4((kjfyMNq3B{T=poKA zD~&Jeex-)6oh6e=YMk9b=x4VC-+XFX3n))h?xLACkm(4X*-t~IehQODW=j~GC3{eD zKXtGyZ~Qw{e#u`;H-F8XfW-AXa35{|h-6bPu#jWPIE$H=Ta{>70xQo{vvgp;;5lfs ztpU?DfxkYLHT%_Xjqj}q<;i~z{D5Smk!CwsMw`tnR1pFV#<-*nEOOqYHY(IdSeU{L^mB){a0gi$EGb0S zs%~pbeJ0ZPJfF~8UE)Q3bJWuaTjiHK{W6FTZ(L`y#@?t8xi2$JdM%rY6ir*V>-iG> zPDA*4Zml`e*8Tu0Afi~}?RG%gX3(<38Qy*xts|iwu&0_sYvp<|eD1p{T|X>!RT8iG z`Vp&b=&4Z38M9u7a1>rKa{1=*I0?v1lE~b_?m4Fq-nJ((2V}~EYq%}JZ|d*xL6igM z*Yt?qW<0XP*2>uq|14P^ec*L_I+SxgQh-KJBUlInTR9%PqXA3AcIHHs+5GVbY{n{$ zNfgsd2as63_Y?XL0JSs? zh`x3J>&$zC<9veQ#)^4YZH)S$?rTVzzk5&m((P@`Tg!Twmn9Xa`}0Zzii%ZqzaJK} zE;l;m_vt6cwj#WGF4v4ba9|zD>DhCSsPN#4w6Y+~{2zd6q$V)eO}9a(u48NBRdVyW zaBYr(j5Dz;+LV4*`R;qX%Vgtb#R8jxU(7(ngt6uvQ;82wvtn<34Zu3%CFFC1ZKBa5v=#S#VqagZja7mQZ;8=L5`NLaMFGz7Ero zbAJGfbX*bHptEpfR|tpHCp`@a-9C?MTn_vn5?xGuDAFCPxw6*&5z(Aqbi7*+1-PTU z933!i0u)1r@~*4O246f3CnF!pj~AFcAnF<)#A@T2*~StDlDjX)wj80Ky4N>@HnVn4 z65@06f|RGn78qV*A;bw+h*d&ze)-P|#LfvVa$8ucM7rwmez}jFv2l*t@(GWiwb>Sq7j=wT3u|kYLu1uH=sA1ZN4z^m7 zvVw?^6hp~Sgo(9tRe}%n(`4!VhNU;NFqb##m-fb#ndj0OdM_fhv^I`sW;w5Z>l+*p zG2T9D!0GA+|D~ecHIf0WyET{E$$X)5lvb9J;2A1h>YDFU>{Sj&U!Ct3G$X!NMK72beo)~0tW@SuY3ZQ0dTp|FpFkkjrS`pJ z;$!F&L;L?65uSch&&&qM5G#$J9lf?bkq&Q_Cs?^5g=F8w!bd#(VqFGd1T&p;68DW$ zq3ZZZG!Q2%;cmDiu&@r$y)I3pOxHEj_MzE&6PtC{zQ~BD5#veCm;$&!0#xv^S#%iV zopmMgrNLK^TUa*DUfyds9fhjvd64hSF3Zb^u`TkE)JP8*@_8;_@Qg&XUZ<4U=(np2 z=Z8kr!Fo~wZ*}Y9IhgZUlhs?1cA>|VC0y8)SbW?qAzEK!nE9BMvrhI=Pd|^rM=0%I zp9LWk=QT*cnY$ND%%jpo3h@3?*Az;2Nb>q-d6c)WkXvVkPFRXy+}0G1ZqGyL=CFwR&b^+UpK+ir~@|9DGqwQZF%(Xqv_Hi zYqku@Zx#ClbNHqgAwkokFrDWa8jAu(gvUE=;(j-+S-l-{xP(6Y3rqia&lp>A(}Jt6 zhgs!uYSY?a1hEcv!bt1jw5h`M@RHpORYdU4c8yP>b;-(fXXNMEdL6y3D?Y_F-o-O5 z*z{@69luD{mKKuV)c)^?!DJc)AWX_W&YG*vAgBT?RxZVO&?On7gA0|H2mn*%@ir{x zm(5Wz`j5I&+{t5h3Yq)A=#$PRo-ivE15Phucz{r9kLq?Um$Tlz(Dcd#H8}FtRpsfZ zyxiJ=1P*g8TJ=@G6^q&QK|%upy4=^co=V!skbi5Zx5`X$nXw{h>6 z{sG({6ZZ7xM}_;==v7ymnQ$;s;OOo(R=KEVua*_nC8W{ z@QPdN!f`KbW@7fB-v7Czw<1RfZOrx6@>^R%=!)K3=`2b|oK30}KwrT_&oh4}nnMN3 zNU|weu%gwzv4L$`y^dqVR6T4}g{tK?nSi-%=sv_ZqVT>`Lw?t5vRg zk3;tG&+EM?CS=zwYHY(rRby)VZ3nikL4=XyiU<{BQ$>=-0aqJX-OolpLSI<7`W+tG zVuk24E8PUMMXEFL!8)evZNm9-{{#n+K=*dwgx*ZqV3X;WJlRwNVnn- z1?MOl4Vj4@JvxQXj)e+wN%=AB*SJdSJW(F90(h%iKb7?%INAE31!xbM&$p<^Q)}BP zsHGh`((RQU5~9W2J1bP`hboj&1t?rZG>hv2E#o`5^K*Xh0*J}4i);|VOj$>dd7WSpHy2@+BW(;7(TH=+KMFb9!iIr&i%7I z!Z4s8Nnf@4{7P*aXOCOj(9o;(6Hb$fA|g8Y^vsX;nZi`ES(-5OG^tw)?>t1tE?$^& zY1l`0fVrn)XMJ2lR}q-+pO{ZF?d@Zb#36!;*g(`ZQj3}OT&IQxQ8|n??m=PeIzc(+ zxT-6?)?;4%<$_|g#Vt>J&dx~AQkDXzWE@$@CrXl{c4ga8yBnid^ilZ<726GOuOLd@}6_jvlY7+U)8jftrq> zYIsNsc~e@x9Z|O;_;JO%1pIUPs)EHf%Szg2-qJz6TC7I1evQ_`3=tfm0ch*`U5%fU zIvZtzb|eQ?J|a7w!EEJAhW0hi&7i!4(T>)LHV=zyUBYCfEeZuU9FaS4;zBA0^&aasefGv+16)V_nM{)2_HOZ6_YKWfUsBCTk#}pa4_LS z(h81%%7x9Fty@D1B!|a+DQiUndm>}H=Yu(vmzW63!}HZ-OtW4b-oEFoV8_&IaEf%b z8|!y7LXUoMqtEbUGBw4U2L+^Xx5%)e#_u{TCVQac&Maw;-_5Uq-Rl=M+>*@zhGWM_ zrfNWZd#kaP*6jq#b`MaV zMh#+kYHEt6*@AP9x2Do5d(bflMqvWr)NO{PtKJBQqJvs>R~s}1w-6nBNQ+C+JNI8y zcg7#+c;Hbq^oaZe2y^4lqx*cUF!M{5*^8SS;d$V@#WQmsB!BOv!X5v&Hl`6UT^FC$ z9{>da;tv3EXG2B=bj>A*p#)imfVSGXwjX!TjAHxM%1rbZ!-uHDxjGFI=UoPC>8~?( zzcg!XB7R@;fYna3nOsH3#|92!d8dn``Hj}qDeA;5Pq!z`w~Y4h)H1Y)n#)}aJBxcw zy%I}oJ|ne~leA%d5j27tN;wHnJHQznmQt4PG|R=pdu&I zPT5YX{^7F+T{f>e&a@<_?Ra^7mV2cm8t>UI*YQk*wcJxHHpi?zxhpZ$Z1>x zbGV5{5jOZf+3GRdd5ED9bYpcCZbE1PgOsdB;YDkFWWXQub(IHK1J|!V55*9PS=rW` zxzl)cZ+(=A!ySz*U*}e^molL=gA}uGii2sIyr|SBlJ;;qO$+=3a8Ulx?@)XAKUD@R zx7Vhl>Wl>qjN(nc-uYef-2^=uR<3Nd>X)gIj?dlKUVr45;=PX+a=Z9pQdj+f~BXMrE zwRf@yOR%ZC))}P2ofm2rSal8QW?IfCT$wrQNc9spjvg!FAf@y(Q}G8SaXr2W1L7e( zfeBCB&lzhR!JYvvLMe%^CHfOWTdwz{EZ6+=Rxyk+#+T$Vx8}N1q-sb1=Xc=} zk7dehM62VGthLx2)BI#=eo}a@rDfyC5AXF{NJY#t|EfWaWj*s4ugKBw+pQ*(Op&<( zh$zmE8%e)6{3gK?KeRs89CPZDB*j{OTrlq}B2Y83!cIS5`~INto#g)MO`{WRji}EY zF26VT6Y+B^m%<~F`;+_E=)#7D?`PktrD2`IXEEl=O$d0@@sUjI$3*Yc_z6l*Dx(Xg zioDA8wD!U90;X-N)g6lmm=yS#0_`*r0gn1^M4L+tn@o;Xy69EYXsPl40tX3QX`Pj8 zE~IK*TNzr;s;S8w=s5-QzDKbybud>$G-Ew*B`N=8+e5_wSX zr3#e&x8sJ>D+wKF_d44aDQHnQ5qdth!PVHBs)NKtl<)h2rO&EY!U-I)$dg#s2z{nEN$Df;qo)3J=o)e|(tgWDm6F9KGEeK%+LRR)vJHP}2iKqqFC&FjZD?Cq|juBdL=~^-=oqtWN zvsb&Pqw+*3b`539Z1wG$7F6ppm&U{iQ!wrG{r8@XIzGkq-Ey}{66^u2<@BQb6Ii1yuJ{- zJrAN8s;_Y6&76Q}M5(!Xd0>X(#xQcEw2P*FZ*RqJ+g%Vlv)>B69vyxkonDGOGJ4bhldYE< zoS#lppp~#fE!Zr{8|?&_{Lby#vKVO>=3E)9Z)4>+camJ`Slc8tQ=DTf7{tAPX=i#$ zy9$K1asGV>z7}?0d%P8_LdcWD(?;Zj_koIHSH#+*bh%LAe{ndDbG`lK>!M}!krn8{!VT6#$@aO?l-N5HT8N;4%2`Ag=xmR?>j<$iQ`7ZYPRoJLHE1U;c zznnhbaUUVfzzcMiZ&#^0yAl-3}MZ&|^b9n>9Wj1!^mLCK~$ly#Ggx^6eZT> zPvJM+4m8f8?=)^`dl2vmn)Am+{{R-ES}$TkV#crOGqE4t8(Zk%T3s@2@sZ%*F!}t@ zmB2DCI`hezwb7cO8WvWbhmTv;y(Vk zcl!rGPBEM(%K>1WKIFRrR|d5xQi+WH{KzNz{+qXIo#lx5co(0_S%7IceBSiIMX+e= z?A_0q?c8Xeji9BAW{MjVyra09A|yx5jc`f?SQG- zks4;ZIhR|oydJ`)ij-HNomHiL>I!#(U1`8w{TJK3En=vi zbru~Of73kSUu6-OE^p3j!q4@bU=$JHI?Z4xt6e&|jlEhM8>g01{u&hN%NkUUZdFEB6V{<)X-m!l{FMA&Hy{B5X3 z?Vz8Vqt-9fd6ZVgMGBBSd}M7{Q^}~9t}ZyItp$SdZg*vD{Xh+J^S+K_C5`#iu=?@m zGR!Y_Jqq9$-&7jj6rOWSkA(Ond-m~lz^wIcoc{wD6$rt*%e-~TEKmftL;s7?_0KiKrZN4Qpms{!C!eKD(~gz;l@ew*#=c}U9n@lyBhe9)7UaZ*ag zK8h~xSf{=eD`oByA^Lf#Iag(vVS&Ph{);}-ybke!$!=kGLb%+%&O)-k z^YMILtz#DOR_13%ZBIPO3?|B_d$J1C2^cuIR{XcDOx6_0-hgn0BrS=US_zkSN)I5y zJF)T+Pu>>3G)qA!*#IFha=^t^lXq>-S$9Kh`qS4c&ARAqnhlxwRq&2ng3HVJUsa>Z zHkv>4b$sd!5%25xL5{kw>N~r`xYn)ajfZ|M81~efZ#rtRil1BphgdjbJJVjq zgTGtrxononr+uG|Ijd(b*Y>x=r|Jb;1L&@> z&N{j;miQ`*wQ^myG!{(uJKfA~lojtEKGg0jYR#+KmuiAd@V!!%m+HES2)F+LzVI|~ zl>i}kgeQb#W{}fxHn)&%K3Aq?6??;dP_OoI9VXP-b25_M{w^?)(9iH{OaQG| z`X8~9U*{vk8>cA<8e%qA6t}iHwt}N#=@%>R>@zl!B@k!frN>H{=ZuR93}Uq2PpE4w zxQi)bLMZ+mU7^o502!3YaeV@5S&$C1_4~i7z6@9*pHdgVY2#H$Eu-kP4eq-@1o?QA zzGCGC1D!S6(2Mflt;5Gktt92`&A3~in1~+#ACtXzfLmTdRHF*)=FI#?3&|SX9uvz) zQPLDjcECqXXo30?{mzvP-#3Ej(B8LfAR(Y30kH39m;W{hbTR;&sIswhVNfC(Yh(Z1 z4e9Q!$p6m936nj3|Cs|2H+&CP#S4d*y= zQxdB(;3y8}zY*uN`2FNWy7$@n4XIEQF6#E;@dw~3?+?>HWSN9}v5np!Q`B=yp;)X< zU4M@hDh2VPco(K7lIV5%`er6#LIqVJZB7>jS}8N&yiUEW?FqQ^_Wk;Fu-ZsTm%vlj z)Dao96Z(=phZ^6LxT~T`6)xuF5%v|0co6Da}ahMR;o;bqPCql z6PE!kSKk>pt2-+G(0BTwesB=k6 z6rt$2HhOYgoL(^qI6#<~=Bh<1_=Fk@O&cw< zIbN4}iVVIqpN;I(!JJ^159Ph(3A8;K!o~1TOig_LuJ?0z%r|4kv4uU8-`T5^_VcfJ z#q^#(0GaCQQmF}k<^i{ zG11(tU(Bbw9BzM^J?7kuhdG46y^aeb{K8;)S)2RhB3{xi4(+e__e&(P5^k+vZctvG z+VFEE>m=+20E-Ib7=b!BF+(gU;-tUYuh|xN&BNC<9|E*R?#V|z$TJ|Pdsm3Y;$XYX zUz=$=tA3cd>=$7WM1Pl?PI{GCa2^eBm?tCG)|$PT2|*^Pokn3mmp~JRA;DvDZ)9(WC}%4!A8Q4aT&5@o-WPf2!7Uz8T z{BA=P<*Nhb3!pQ_3Fl6SJs z2-uWDzhp=k<7V@|=^Au)EYjsE3fKoYkYgJ&+` zY}|0XPYde$E^wb~B7Xe-r_c2*%Qr+Jhuo~;=0qmAWJ7H|p^$S%ywC|;>=jCFLOCxC z1qY{UDkN*Y_@XL!oX!=30cbZ`o&L>-&&hPseNT%$4Nl0a)0|fH-n;XG;$7i6NgtP~ z`S(TU`**ex!|owcs0BuZG$xUQT9)vJKKudrN|HH%of83_A(|Qc4CFdap8q_kyq6}!X$s`IsMJwjNChC*1 z5(A}#tpoK}aT1UBybl%iBBM-^A?IeH>!Zie6uD3jmKiUlDbVf+4-h>=I}4#5Ys|TW z*g+KEZj(r1;zG$^gz#{0uNosG$&7TQPk1+4S1)T!1ChlstbU&^yM^e%H*S7&)MC}f zg!|M?EKfhZCZO3})W&;Qmpz0?|4F1tQ}AbBN?>N%X=ZNv0zfCI!VTB>h!)ZLv@9x% zFg2Chly!t#mrOt|u3LNJ!W1C74-M5A*UR!37yD=(;DEd^M{w-H<=O@SGr4UQL+GJXE$@5kL-HD3W#%*VNlCaXvvKGJ+sAcY{q>hIYoX55c< zZDBFT=|;PX2k(3i#_w1ClKmxl;EQRtat^jKUdFFY6FVZ)nnNYGD%cQAjhvDA(R2S5?a zA@u9*1q)=l5lPVIb|BCEX=U}JDsiSGp}86pL{`{yJdrlbaToW_L8$f6~> zXn>ioyH19H)XuQi6SNEoBkiaHM=;Qb z#@)m7Vn)YqB0@{B!KQ!1^0k7*x(>Gl)gCNxdK;%CxJ2#G)f0#4HU^odeg3^f156$? zVf=GE12OJOnhh6(2{GJCwewF{?xgc*5?{kj)AI;_UqLVM~$B{38BpF`=zX#E3f}6 zi{0m7%|KYxV=5cC8q->o-r`qQN(RWSj{0wcLIxX9D3K#B{SltyXj|WsAuXH3KPb8L zjSkX0bjyeLK|_|DDB3mi%MxivIlLLmRgnivOtOd$r5VfrpfRzG0Sx0JZ>m*^#-VW3 zQBN!5yzVHdO${lSc&b`Z?|!x{!u+mUIW{kx|jo3iepS%fcXC-ttn-PNW|kAi#VX zi+D3~`l_nUhQ$2MT9Rvn{D~eJlB}l2m@?=XGbhF|M^6m#E&&fx7bUN8Jr9D zXc`5)+4<&LowSyaj*{tV9V5)}jyR39$drWpk_fAXeDJDF0*3Cgii=K55`? z8yV$SSjF81B8(;T6jEWvY^e%BhM)?PRv(9podo|PZcv;h*(XhcrzDlhc3Xvgwj&pD zn2!)+5?#95U(r+UDOIamRSY`hxl^s6gc{cOYG+PHb96b#O9)MopV@DzcYppRlh4wg zj3XZGTO?kXZ66wJ7UYQYH*(Nz52K`^I1Rfuf;8HnVh4>?p(U{e@^R0UE||%`ei?yE zWbH4x>M1V6($pFu;Mq#yQF$2hw%v1D3YKr_UZ?0B1o!g7G+t6`Rgd+s%XhY1)#s2# z;^V7}{U%(7O)4_Ub0jhk>d2zY*ffJvAe(?7Yo9c!wHZ|9#qH#0(-rA@HQR;m<;Od+ z8BIkq2%gl9Yk1}wF(a?1&Rdl-A2_Io^)dZaAX=sGGw0ti)kaf8$|C;_XrX3eZL0e^ zM2pk-Xo80UtX>;K+3oZ@U}XK3ubAFC29*Bl7{lc5Et~_J7*Xe9j+R0X&Evej902V}z6vhLGDn{EgBu2%_#=RuixM>DuO0YfwU;yEyWN@fv6qu>!;(Vg7SkXH^X zi>PxLs>9yvNuF{*RvF>NdV(zw7g?{ZaK$7~G!o@g8ps;3UVnV<-xPA7xx%QfkjO#BYS*boXY_;;-kEy^s z!bRlw>0rYDNR-Thj$I>7umlh7vG$Ob|Cs^QHe~i}YkXW{mPVqLVv>o0phx;qzE1+C z%VXFi7^MOy>_<)#4V`i?5Ii-V6IUv%%_jsfRvRahtYPTQ3FhnL#$mQ!%Z7obLXmCL zI~;H7E&wvt(h$V;&^z?T?#zlRNEQD9sPh6Zx_{MmvW2EnjG=kUI|@seEM-w0A4BQk znp2kKQv2)$Ck8WCsNgckD|Tkp(W`jI`W}9XG$Q`}%(@D)>Y+t5@tQ5gdOrUfTJ3+s z{$MKdjr$^(BAG~y`D*A`sbKa=lS=dB9k2+$M-)BJJ}Uz{h+MH(0fQOW4U=Pg%Z2zV zl9+WJt8fHVef&{J5syxco!VE7`Q)n!hAP+kLvGvIEq0|U&vaB{w^=TxY2cSgAfNF> zY`4dRg5LeO?FP4r3V&wX>TiBt&aq1ndIhKah@Q+RE(*fu>3P>rw<)6<;E`32X{-?& zcwNQRlWi)yCTP6uw}!w8=*tJ~K72lTqBtqJzao zP2?~Wt0lZ2)AVVC_mRq1IFl18zfImv;HzBz7>yeG%`7W~605mmss)IIkVHsiZ!dX3 zx3$Xrp^r+~jw`x>oE%yM0s!qkwk(A$#FA6tB9eRszwxrG6#8v?zAn~t98$i-DmB12 z7zBe#xoGdXwAb&ZGT!mdk|E@W+vgS~P*?B(vr1SX#QKYa7l$HMEOATp;8JwsJi^#G zB;gqdBgY?p?;-d0n9$bghwO77(fo2399gt8^P*Ivzthyplb|MQO+$?w(AQc^%W4=A z?lKf&C(pB7X!V-1Q~$*c(>1j6Yg*T^8ffiv|(Z{48^x}|B{GzwSV&e>BJr8H-e-_?UXFrS7Y$(2zwgV_-~RAMk% z8K1n5l3_dsnL=q3J;yLH>f2ju-w)uW#hnYSI=bf~g4+VvS6>@JX2Q zi#sLX)ZVQysyttzqtm@g>U@YL3=>f7``ZcI}^PWM;cK`pITxXE?8 zI@|)iESLS(8IA?}aKUe1rX1@Wr>*J%pNn{+Gzwe@e1D9Y%c2xNXl2bquTxu}EL-{G zLXCouS)MHlnm?!%DYxY$7O1p}m4o&l22>@IS+U@{3)Ozg=-n31}l z0?Q5U5ED;-xHwG`F61SYA)}s_&%b-m(;Nphq3^n3;VfK`9b!IzH8JMTxIGG`Jrx*b z*~gba?!@9-VPJP3gLOd2`%1)?sEcJ)>R%H_>JS0pi+wx7kLT@1(y-MbT9@o0c=UEC zFhUi|<;5w_5Bt^3JF!~w!SkdaE*Z(f&b?H>%My3&9KzejOatteR^K@$LkR*jGA(pc zrW5Xw7Y5~qt_JyzKrsz~WXQU%fvtGn$G##M8LKnOWWNn=8K5kGS&r|Mzq*nr&rAz_ zUd+Dyj`$_mga|?K;O~a;3nw(B0CB8I2MTJGuxWu2Yc1ma zZc}M(me1+M=N~q+z0eU)t2~?s`rS-U;${6^ZKhiOoa+FPU&I#demf`>t;dnwZflZjEQJrGNq-k;e zZ-n^$xaT03w4_U?a#wL=W664_#6q>N4fSOd)YT}xq60i4k(@l+mN|N7_L8YzH=y?- zBifnT^z=Za(zB#+y$i{?GL(gg*BN7hD8(UY3om{RG`>Do z(30T!GT|7`Q?#O7iRYZI{snYORc;eSX9OtdSN4-qTJ-7;=hk^3RNXhEby}II_!@jt zu7w|8-@%P!(2IS_i}Dc32v_39kw#i7`}sGUtAPMSnt1CMQEN&jhKohdNz}9Mh=NnX z5gOz%H1v-CvMckUt8ff@xGL|R0a+qiKDhsfZ*;9f#TNS?picR zDehWY2rk84Tio5DP+VKQP~06_th7*}oA1B&wNLli9LyZdJ2T0ebw6tjKK<9^X(WcV zoA5K03_K+kSVL-%f~=B)*l<&C9e@?jd$CC1tr_q)$je% zt{C3B64_d~5zEz5MCV+5HW8<%5jwO$Jo$ZGEM<|C_#ePG`B!Mf*QZKcVMU&yiabA- z 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 S&c2*|IoUe-a@_E5<^KReOyR8n literal 0 HcmV?d00001 diff --git a/images/8/b/c/6/9/8bc69d6dc5f995d6b5d90e40100db77e2c18b44b-spinozapp001.jpeg b/images/8/b/c/6/9/8bc69d6dc5f995d6b5d90e40100db77e2c18b44b-spinozapp001.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..7d3cd58ace9a3ed556b14a7f5f1ffa28a3a237ca GIT binary patch literal 11232 zcmb7q1y~$Qv*;{~>n`pr?yd>03GM_ZxCi%;;7%Yo1a}D%+#$Gx;1D!G2m}Zg+}|eW zoOjRt-}~Jro@NhQ~rOahaLcm3StArgF!R^0u%&>f*$$+G5`dC zkU+q{5(oi|2=5Bsh!6h+|B)UR0ZcFmK!AWD003&6e-y4sO@sUA1|kt7lmMBKg$|2> zo<%!39Z}?O7@UZor?xhe7P=~VxKCU$G~X}14G*nn;P_73CR`rt*#j$|T|(jA&8#R7 z0NnhZD9Z$ZZ~-6^%1tx7sK6(Djb)|cFPCU;k69esNo|$6?uPrm7sI5n-hAcDw-kns zz%oaRDM9n`{aTwxPCA<_79gvmZ*4!XV;fH~%+}yzM}2E`R%=@owE63+gdYr!pv|V^PgatL;S&S^G+N0tK^sgQ>_&h=i^E1%TjY6<#P8k!fGsr}JVWO9 z%!VFU3z^WSH)b-Fq+3#eGe*A_ncZuEQu#S*am5pY{o5x^@HwNAfU{7V%;2zAtvD!$ zwk4sV=l@0ll)fK#0Yr5pM$ChD+O~w>sNYH55H*eE59CU5QQ9xil8b22BH!aTh;a}S z0Q#<~bwZi>ry2j5JnZj*gYakNdxfj94rBr_U-?b7?|i@3sj&M)h0dCr9!d8H)u z2#}3Fa?U>N6;6l!!NI={!Gu!ZKfTkeEUHi~dwaS3#Q`9oAecp`d;t}>etTs*WFFk<*YaIf6ED}j*zwZPznE(i+5N>Z= z5C8;5K!RV$;J^Aq0Ksh$8Gz#ANx--u_|)9IeEcW`G_*XDbo6R)TSSFhCLqVk=bED_hkTM=0SmOez1&zi~ z!+)6TBFjJBfT3@S5%1aNLvCGlI-*OOrrQo%0s zvu&#}Xj>Rw;p4HKTcJ^Z+sdR*5HrGx{^i@v55u||qB~XTA(`381}dVY9|g!?9p_3j zfeT~V(DTlW%Jxq!e0#opUhU+DfwgmA-9=1CO6M#!8As9M>?A478t>53*rw<*n<*4J z8!1gvJS}PadZ`=7-CvqsMf+cy<5|rKYnHhc%w#|QG+=w2Kqrp&AlV!6}e9{#N^})8R8oU;haK%umVBC2GwEQA)?SFe} zv>U6zhf5Y4=v5>7>Q#w;BFS|K_%OBO?Wq{&<0W=}!{WysX#n>8LE14wvdlBWxH*zD z;yrZ5t^~G)BE#hFTB2JMvK9}#eI6|X`9X?YkCJj7rabeg{i{g_7y*>gG$s&`&#d6j;62-D0jsx?- z$o70vVHnVJx=VgN^Omb3!CskpH)C2)h-q6YMbY9Vd4SfKueyYcL^Ro}h>EZ#^>Knz zHyYZZn*7%KlzdC9i7}LZZEg#HLFk2n>D#Ii@3LtP-8JWS*KzImuDZU~1&^CosSJ>f zOtZ6(fo!whdxvnD8ih|r@CB%w0@r4CkDm*p*Y+NsJ^-Hj_t_Fh=83YdE7?!W;?a78 zC-kf>Z(a}QD2MZ#Pv+KdtLWBVF&_?U$r`Y-Q)t@5M(eMepZW!4hRSHyYM!1BFaMhJ zdmDr`uqMnH5Seg1<|<6PvFjQKHHlV@rC0@yvYyNYi;9x?E*K`MNWNxeymUqK_aS`J zKco_sB|}}RLyjL!oz8Zoc%?^01oOYurxtE}F`w9Q#=1<WX8k?rGs=>Y;`_8}E3?b^3#! zAmDdR(-* ze{bK=|J=R<{wx__5J(*4_yGJ5BnbaSA_D;s05BplGBPR>0?O}Y2?Vc05pk)x@n|F@ z)m>nw?tyRXkRbS6JW{+G7J0S3>qoR|A3jdHh7i!nXqx5s{Jl^iiz7S$uB!L%sJ3Ossm0 z_?nb|nAo%xT~&QY9JYPTGh3k3f-}eYzWyDr@9Johq8=g)D~^TueT%kW_ra=Z(dW9> z4|7&kB&a6VvX;dS-!j2ADdo$&kqO@wTBS+V-i8TZ_SDIv>CX`MN!hXmJ

                                                                        X&3JbH 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 literal 0 HcmV?d00001 diff --git a/images/8/f/e/f/6/8fef630c9d6034a6b6e0efa58725fa12fbf57477-e1def7.jpeg b/images/8/f/e/f/6/8fef630c9d6034a6b6e0efa58725fa12fbf57477-e1def7.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..54c143460482bc99529e7369c7dfb602118b3351 GIT binary patch literal 19211 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 literal 0 HcmV?d00001 diff --git a/images/9/0/8/a/9/908a91f31238ca807543ae5bb6baf3c8aee0a82d-bptitephysiquehdmodif.jpeg b/images/9/0/8/a/9/908a91f31238ca807543ae5bb6baf3c8aee0a82d-bptitephysiquehdmodif.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..dbde78c57f4e6c1be006511db014d116b6ac06fd GIT binary patch literal 33856 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

                                                                        !V(oG5pZ3khPjwLr0FS1$g_Fq;e$o}kxwcm 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

                                                                        BeX3vp+fhw`yXANYjg9vWm1Vu7$~2D|9- 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 K1p&Hz&;QvlpCB6m literal 0 HcmV?d00001 diff --git a/images/9/a/0/5/d/9a05da05df8898c845629da2e7d2fd9ba17c7a1e-libertedepenser001.jpeg b/images/9/a/0/5/d/9a05da05df8898c845629da2e7d2fd9ba17c7a1e-libertedepenser001.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f0dec7220817e657893ebb64cfbbfe8fb49b5556 GIT binary patch literal 33660 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 literal 0 HcmV?d00001 diff --git a/images/a/0/d/d/d/a0ddd78fe06e8e257a15979de0ddd53619c54c2c-projhist.jpeg b/images/a/0/d/d/d/a0ddd78fe06e8e257a15979de0ddd53619c54c2c-projhist.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f3425185f4974a36a180848cc497fd8021192491 GIT binary patch literal 20700 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

                                                                        >6kmZa}nr;78BE6vB3*UT)Y_9;#D96RYdyZSxsm~C^|H|If;T5 zn>c$Kd`s&P1K)fdePSZ^K`WhGH?39%29)IIcE3B4tE18vS=YDrvm80wUrzUao#4=& z&%Y-|U>Hrf(^Q5;hlQarZp7jCarM8w6-5V4M7C6P9+!_9OVkx$TvJzD%cRSxZy;~m z2b&&9)W1O7gIzU)}N?s6fn@r9otv86Tj%jM;1`4*_$WW z;jOaQj8=V%{dtUMsV1q83*Ut7Us>#j_yLf7qDsE}UF0D#k?<6GUDCJGc=(5}eR z^H3OB-S&@udf(B_)n(-OybU=!e@+^Oqd)CutUkfQ0SDUr{{ZlFBH5|;L?mn`Lptff zcRB~n#YC4vPM1u0Wr6q+2FtYTlKBodci3^&VcUA2JV<8% zO9QcJ>>%vBOObmb-3C2s2THNTe2~GM{Vla^1^TA}@5EhsM$IjBxvh6tw#D%juZOI7 zc%kTa@ZYa!F~)CqhzN$XfNrQ@3Jk{y{1r0zedn!w8Tpi41?+mMry9*JS3@W5EZa~$ z$LnO(o&KrFUhna76kTw(o)Ofr<+rJJ2zsgZ81Q*dS$Tz5m+m~Ae|j!qOxFP%l0)T( z*bRV-1Lck-17ebkYR(XyKXPWz9vNZ3%$wV`VykB0F`s#6up}rS#5n<-%U^r;Cz7Nre|3=)#= z?0P>p{BC7gOzkiK07xmS_x>&2$WR8WAKbyV*6uiTu2M297duh8uS01@8+%V$hY(Fy zr@)if3=bDj(}vt|X?3ow3(p|JI+2X0TWz~MxpmHf!4PbQ{OX}k;rJsgT6$*i&vFq%RxB_-t`@|6%O%h!2SKqgmdd4Dp>~}Rj zAn>s+`g-0zTXI_W!(linn=;0i`Gu+Fyj39#68LXu`UMlZMrO zxI!2*cio;7N9#*@>fH?jaNK4cRRu^NUc;$37E33u^4TM15dk?A10WVJIXrphzjGbYw za0_sio<@bl!}@A5{yKWxs&Xg-)r|z$n?AtN*>{)u=rMl7_!GC0^WI&^1Y;VWn{ph? z&nxqL&4^^W;g{U|v(bkMZj#;Y`)Se%$H`&N3Uc@~7)oSWYo|7rdhJ}Xk)>RTz%?Fq zfdK$9&ZUb9NS<1WpzzoDnZCKO$aUpkx0M5QmdlfBqV2(bu>*_J4aoR{B--xmnEW}|3{PMaQOc~* z%}Nn0%P#7^dk~Z%m6mIC@~dt$qY{c8Ju3^l@EDD(?n0NUmma(?27;@={y6hdv;;Po>lwhKOEm&eZph!@)YV^A2Y1R6{R+7G{^4l;pO_TQ%HzGJ9saEiXUOgo< z4|P99cpkHJT&LU~%n}i57k2_^DX6bT2G;>Es+-0pcHJV14E5S*fNz8J-a52&{3Q2* zAesV-SktBlZ%Rcq8%5oXbh|MOOvVoT_3%^xC!j<4kX$aSe-!R!5HX$0$nS3m6^4o( zmg2Mwyg)Z=x##(3qY^(bo<=#4#c zx~HneiS}{b6E-+$#a7(Pw)qmbhR=BE@V>ohjypGvG}9lh#Z`Ddx$`MBgJ>JBuDxgc z810ipbr4hOJx5??h`TDv^(cG2Yr1gIj=n5~a3VqSW~>y^BVD(Ej_0cN22 zUDugrpv5(B5q(p_93FwIPK^_~WtGNo>jhn|@A9#L#W0VN>J27IaC{cPFe(cdWwz|+YE)qrgP&_BAG1o;E9 zb2mXS{{WEp)Z8FTkVef{pzDS4D9uSFHOFYu_Ug)6QD_h7-{{K)COVV{WPOM!hLBzm zY*`yJ2nu71to||lFY9^wzsVb@3j?T-KqG*a=r!U700&Rx{{Tf}sNUxZ%vT!gx(yc# U#FWi_UMLva6lqj|&=2YV**|&kn*aa+ literal 0 HcmV?d00001 diff --git a/images/a/2/a/7/3/a2a738c79041698ef780bfff1c4e935caf3ccaf2-spinoza07.jpeg b/images/a/2/a/7/3/a2a738c79041698ef780bfff1c4e935caf3ccaf2-spinoza07.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..d5790e60ff159e922af139d6e733a435ab78270a GIT binary patch literal 29360 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 Gpa0npBq%xn literal 0 HcmV?d00001 diff --git a/images/a/d/5/e/a/ad5ea987d2b973735b18bf1d95348e161fd51bb4-spinozapp008.jpeg b/images/a/d/5/e/a/ad5ea987d2b973735b18bf1d95348e161fd51bb4-spinozapp008.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..d1c0f965f439fbc979fd8d0e14de82193c3fd0f5 GIT binary patch literal 17895 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 E0PQgY(*OVf literal 0 HcmV?d00001 diff --git a/images/a/f/3/b/7/af3b735166a03263591b53706002ae34bf87c949-2013trajectoire02.jpeg b/images/a/f/3/b/7/af3b735166a03263591b53706002ae34bf87c949-2013trajectoire02.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..4f8c6356ce693fd4e69c5cfbde099a8ada8d7c1f GIT binary patch literal 17387 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 Y4~%U}Ee1ym?maG)QFx<**Wt|n+0Hd6!vFvP literal 0 HcmV?d00001 diff --git a/images/a/f/9/0/2/af90200aebca738339a40921d5a3a7ba274c0a7f-e1def1.jpeg b/images/a/f/9/0/2/af90200aebca738339a40921d5a3a7ba274c0a7f-e1def1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..752634784342fee3845b6465c18e528923a8d558 GIT binary patch literal 10655 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 Ve^qo#UEy0&apG~|tMD}U{{j5On5qB( literal 0 HcmV?d00001 diff --git a/images/a/f/e/d/5/afed52af041e1ad334889afaaf566924ca4de133-commentairephilosopheweb.jpeg b/images/a/f/e/d/5/afed52af041e1ad334889afaaf566924ca4de133-commentairephilosopheweb.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..6a798a1a99cd552f9c77405cececfd77dcd0ac05 GIT binary patch literal 18361 zcmb5UV|Zjyv%lT3(MiX)ZQB#uw(W^0wr$&f!HM2xC8`5L`3LVq~xT8t004vf&!hgIfdRlF zAiwSs_G=aAYvn)oe~Vwc|FinJ4nTzX+K38)`t{8%T0CJv3Aqxyuml(?q_Td!!%Y-1 zaU28LEUMlZWN1lCXiFF*Pv{7VP1~_N7dZ&9!-0V$L8dGjER{DeE?o)*tf&My6-3ar zo^Q)QLIFX-IX_a2N`e#Bl)?(NFaPkm;=sqJNr%-tqdGN!m!xq`a~KSP zInPbzLaG6F06T%)>K+2wO-sRzA-o0evmaLL zSw~C<=bIzZ%YUVq@ddtXl#_Mz>HLY`qN3QIUA)ast?|4mQ3EJJ1VRL<$H$l9>+Awq z@VerX^PZvvvsL+S#R~Hmk`vVS=6R;b=;ZV;D>peo4!b9wVxtd!?fAUeJw8q=rw=bP zq#r-hn9`zC1@nU{2l#yXEwzsxR8Kkx%bFVm_#!O1F%}}Ah@p_gF-)^vy^mVDWAl6u zx^$6`Iu;9Jn_5Z-U({WH#j8$u?(Z*{23mud;zkN{n{)M+?Eero=UsUHyron=rt$7J zx|==G7Btw@9*dcqExqq??l_6Ni|1*coa>!EvUB}s`r{ve(M<*XowqPGAQU#F<^k#1AWct z0`9cVZ+U&*M-P_#TnB`%XIj0FN4bpcD&Bva*G|U_=WYbBm?USS9{8mU8H?wabt1%3 z#bNpEzuCu}+!VBF%UoN?nx*z5GqwU{kN4>PJJ{+er|$mo{F}%StLLC+&D!hserP=T zke_w+hdUBAzL~s$x%r2=saPi z_2j*nOqd0ZQ$tc2&zhXdE9!8d*qWoECt5E^M*K$m13Od{724W!+q&~&ks#KNVbVKp zPy67yAfqb;&7r*6g6CU)AaeJS0x9r}$oGLiTe}7x?Pxa25 zQPq$75OdXGPIAF0AMdQSN`G|qnj%UjrmjW_a;`9`h0Z3$DMwvY{mH`uPS z*!)xDZ?iUA5m%?2{M^`2S6-TF!SWpb7rR?#y4Wn>qZNDn$rAmUI(3H5_+JQ(C>bnP$y$=A=eN$dP2& z85uQWCc(tttBYHEBbtx_a+5Z(xD$LWdE`hNyG@&8MGFI$K-)v@@$N5pKPRO-I^V2$3;qNk(`~zQCSkBqcbEu zjMdfd8WxT{00+u}PE{8dROcHKu&KgeA+&{Q(Eqxm09~|7#$?VH`*aXmJ)T>C;L`6Bsn#v|iV_(rDHGw3o4gOrqncl`}70Jq1PS zT;{6Fwp0Jh4%C^DCM6LOQQzQ^65yg3X^y?vmn-VYI&r<9p%KVFjG)`NFgbTQqx;sm zpi4I~IDzAnm`1-f0WD8ZQ=O-SHMSA~sUib^z}IxlO(?L5UTPX0Hsj`{d!$dX5d{Ys z?cFl36N!pLs&Xu!@?4jfrps1}6t!^}q2cMf%GcxDJEdJuFZ(beJ{J#P{xnQU`MD@(as!f>d7O9=v(b@k7z8BH!%Y7x`jU;&ezl07S7j^CJNp6Q_3yF)Zh8ghnn0z1df zNXfLCMX*CiFK(}s4ld0WVuvn2_v zYJ!(|TZ;`cnuZxLK?$!Mpk~p-0vW9Y(xr*n-!It328MDANu70mF3R^gf2yaofeTqO zu(9-Ku8eq1du$r1sbL$G-?AYmYiIXUQ&Ti@!0s14P$j~kkQ2l7aYf+3P(cZ3(h0D|w70BrkQ>zKR8$cnVf~uN)h0xRO*hQw zT^*z)gQdx7lwl=^Nx|X4Wx$Dbw7W95SKaHe>Od#v)jaiPdfPvR%0pE2JHf|_|0&HK zEqrA!CR6|z1UM7~1SB}b|Kza$<~AS{DjG2fIw=c?nH8E{ScHrXgIttD>?^0ie(eH- z0)Nasx+a=rc#gY$%D*-9%by6yA10(Pg;7$l4_;W$9(RJcCOW#Bh$#ToCXN-dvP_p3 z(;iQBp%u#0x~YJF0@8jLEhsIwAiOsrG9--j zfZoE+!3++kiF?RDx{`ICAe6BL{c}?_{%5HP96lx=L=vYBM=SdgI)gTNMiOT;PP3&O zHMZ55k_a(p!alVSsp9tQiidFMLpKYKW%nN0Zgw2_fFGy!hiM7l?mJ1i7_jbm0rF6E z(XHsi6m0tL?w`Ls)hoGchL1IIbD|-P3J!Go$lulEgC^{f)Wub?s2^$6lBvoH-BZr7We(wTd+DB^Qugq zXtQ?X`lprjiA)sJ)E3pztLz9lEB4Ino4zcIvbXgPIq=fMjr5YiDH+B7+KwLOX4=e- zRno0p&$hgB7VxX`f1Y3q7?F_v&tZ@m~&mHupq)82vwDl*j-$5std z;fgYPljWVER& zYwuq2$u*LpisPiUu0UF$v1&{1j_mU=yj2$SbI9_~?+yb$CnRlkY5?R2V2cQywp}-< zUC!T-AO!%Zn|tcGkb7h4%Jon3mjq&;109 zR(nPIbD@`%|DYxlU{H^>WB&vwPpIN4=}SrR5m9EOFQy_V<)C}KF~V+z@-7;e_EYI0 zD|_2?Gy%d5Mrx=5tj=KGDDa&@Q$Z)$RYZ=*G)4DzcGGC2gbG=?QZAl zK^}F)Bcuq*3)FJSH(*Khlj_K-~80b?b)nZ{vxT{+V{0Q~SPF)vTT&ulVQcxUWU`Fykns#RQe6{)#Cw93{p*HzC z2@&J>Do?gu%Wr+@3MZN%qN(=5Z8z{LPqoQTO_6XXZ0j1<^NJNo=Bh?}q=+xB{4&{3 z*MQAw2*jYV1hPg&{}A7tQRscM{iOX*0OoSeEGSMzx-4Pcw2i{usV+Lj;iAi>$-K$5 zrpVhJj(^xY_IK=^SBeTkOV&!ldbr#6jlpqNJe8f~#SrXWqfAOxuqjh=4!AR;f=1VT zDdoJ*t+Zx@0A2yHq)67sGdJeCgNn!d_nWSHyA_-C~lU}65y=aC-rE!UQ@{Z*=x;wjA7k~-Lo z`JM80&YrdNjh7dMEUnhW%r&_<5q}&`b8&?YYOX$rb=+mCB8)IfpqC@7eckZ zwT8yTM1jYvK%i<{X1|X|8Lrz#)v-eDs?ZwA#6A<*AfX!TiGkYG{!IjJ0NPu-%8h+$ z6GFeG8hdbeg~Q zbQsdnCocCkNFBeswBc<+22*$y>+IoMgUvqw`uo)9)!-1UfnqRL%#xy0!&u05E0L%Z zr{!^LEBdX7$=6``&psXYSARY^g^X?B3cXmH(8v%aaK5W_{FcACrg#=^$+?xc$)s2O zAb>4hX7Zac7V8R~{u)*8s%_57y_rJSe!^09cGZ!A{)0Fj1BI@ae4FyrGRuze} z0|K_qUTU~O=(=iAHUTt+(Z1H#t8KIEj9An~iIi})?8~|iiS0?hGEpuY4MFw$jomey`k$HW3eg z{*l$=F|OVPHS3XFec_p0Y82qBx}dL|E<*SOq>@~S%1NzuV`R026>6W-7_7*Zj7@o+BDrGAS>WfCdAgHHg6o{7x^%ejG=6;D<$03GG|Nr?LspyXX~k)#R4 z`@jo0LjIWf5?SOx05~`pB>0!a`d>-_1`b4pASPi!V@78s6&6wcud@15U_xN;lzqk? zGES;!meFf7$92QcQsbsp^5~lQC6R-(z3_-vy2WenlCd0WazR%rR$eg|z$PER?e#{n zciu@24qcK5+RTC_v?8^LpH}H+rgq`@aMX7;vS~}*P0BSR3(fl$**hs49ufLClb&WR zIT0sMe3l7a9Qg+qDYje#I4Z-`D!WZ+Z}KwHMMyuVrCjK5?x*(zA_}Eqv}xEQ+E&Po zj-Q^0y!+Jh$hQ9-vfm5E_@l1@9qqg%(!4E@!=fLApDtwqVPm*%U>$MmRC`GR5~!?H}4WS8R}fCSc_vN2U!mSir|gs z&n~l$c@WaW9zckDJ_b>BuxvDCb_V7UCaX04ltNac#<=uuYRdmzB z*n46Rs#P}NE1bw?tKzNtDqg=SUaORPR7PM0M18qh@IM8^7ifcofq{Vhuebl>Y7z)k zG!_wJQf5|VW9OhmNOUsc;KD{WQ6&|ZfjJQQHG9(Tm61u&|EnLMg}y3)5yd^pJ-2SY z=02f8`B_|PgoKLzgI}5?dR4~iVTy)>NHbEt^vl$4o(yWOab&gq+ASRq^o)?2q%meT zoK4#Lz$b)XZ(ZeGtBcDO+ML@n%VJiYgRM>OEm#nQbeZ7xVYx`E%(`t0AT-s#mjrc6 zof?$Up?8n4;A*3U_b7JG4eMO!PW!d%ugnkaOdKDX`4@&p16N^kl+X0p`_&dJPn0b$ zbZio_?t~Lgh!!!GSAUJ0jh$5;j?dw-`xys!sx^+i%%v+7?xheKWF0GCrIg{^=6Ap> z*E()i*zex^59~~lugMx!vwp+3;3^D*m#7cjoSw18>9|)(>#3%6$qESgamSjWOF6d%9Wo zA8f2|6tmZ7DP_^sk)Vr2hv&hOo!L)w%~$ilCIvqb+0lGK>%J_vsv+oIxjprqX%M|V zSdUB+?+P#Fz|u@=0?(ge(4CEwanTKRD49XBN@^FvPCNVdeBYCRIHMg5W zsYNZB3s8=-lq;)1C+C2zl%%LV4av3UOf*;uEeg>kiFvvDPFGlrp7uPn*^U?8sWzu% zDDep})}%Y4I@UlCfw8JtQ8zsyO8kWt1xZ0^cxh)R=0Jy zz*D%7xYt$<+G~%Di=yA4^P4CN>hT5ju1c9~Et!x%h2_6r>O2*$bX6DhAq<9S9A6|g z@R5o#IEYLP#G@@(fx)#54w(I`I>fJB2LA>9@}_k%r{j}DF|eF7nu%d1i6$2FOv1CI z(=$RpuJJIIW^-`-3D`^y&DfgOIJ3vz znOQ6v!izQ{xO)%?<;hu6S;06ym=|yJRkeQyr3sXnsoLd;71z7C;!#fJUe7_dChHJk z*rKc3GwUmbgh}hR&}Avzr-B*rnmfa~Z_L8|%r360AWBg;4%uY8RYD2BiBp>mphL#* zqJ`}$1F=h4t7cy8U@-X6OZ?K|7}PQMsg|?IW>XM9^5I)YXf9&(z2;u56se1FkY>XG z|D)hKbd}}Ml4|xa&^#3!y&qZBj^mhe_E*i9k;|ezxNIz{)aQZTtGrc0{JA2SF9oqh z8NHTO1rW(?fVKDUP)LQcX~W>DjOLUa&epZ0_T`p!0J5h8ozq z88B`F34*}O;(kjbZNv`;@6|x}2}3iODj})22m+@gl$Dp=(j5aHR|{7vR`J>s zVlW0ZcRiwDKrfAro;Zg=Fv3KoBKLXDNRTmBBMA%I5D~0Q?GkbD_^UagfY;D+^qeo! zK)E~bBHtIKqPs)37X=3Fz5ij?>@~A%~rkBf4Nt8bdsdIgSUQ( zB0Cxo+|vz~QER442-)sc@3_?p)9xoYuyn&HojtD`{&UqWSfSFF`u!dB3App3e4CiM zHlknrR)7z5REM!s{ik2GV1leEr{TnVs)5FjWw`eJ4FbwF17_sAi?cs;t{2 z-|LF_z=I^K@cOh`0d9ldje0#cs}g~)(=UxP3n@S9JocHs=xP3B7b9(LoytMt@wL-KcXcNE z<$QZiSM4bMuG(uzI@h!Xru(_NO-5j)1QW*Tq7LHdoC>us=I(G|e{2@Zw%qyeWz^;!aMw}O39jnpNW};H*o{|fmDpk5{)Zmok593V0 zqu+Q!mCJhs%1%wDP2@dpaYdtK-AM>GW{PTR2xDCdhd z2yaydzSN}J9*96fe36GnWD^F)7{FdueE|N%lN1lAWSdTtHF!<@q*A5S@8~Mmc1O#e zn7JQ+_lN}<2!|>7Hkp4Ec9;a)YvfEric#EqPP^IBcjFc>ilR+=pDY%E|C?_lWBkqP zq?KYdV(pyMJkqVcP%5L*(uq0M=9$qrsV&lYkh1^XB8xQm)D!U=AlQP6o3+JO4qkEC z7;4fxhU9P2lk*;zno)!aenzEc-_T)S%pD1wx+;^K6w7tQzhoG?OB=j z`tJoIS4?kHMO=>oC@j>fH&T&|-=c@^Y2{T>SKdYs_$Km7Wi!nARxc6k3p1slXIZx_ zb~rNfS!!E3KZqmu1za?_mP8zWBZvNKRKQ*}{4?LtILfvl^$0sm@h+?^mDu4P3|76H z)}JfQ?%SWj%6I# zW-t)Ae-<{0Es8nJnS~a zQ`Eh@x$xA#@py05k&x+c63$P7WVZTDd!FAK3s8%clt1v1&$=uiJ%CTSQvzOg6Y#dL zWGx4)li-ELC|tmvM;t>~;|3#`G1Rd3A9@{sXMWon5ly)O6Vqnz*=a_#q*bgQVBoWBXGJvm=vl=BtZX0{78UCHbV3RC|!0h&tNFCF}4I;AB*y#nm{I z!5$_Qf0W;(d;*~B9b>)YV4af(3<*lS2qbS}c=> zkwO?&lZ;#9vbjexpp22`y``fB_+9FV$hq%k2c>Rnpq&oP^A8vwwn$PgGp0%=GAoqP z3+#|h=tQWDW6OUxt@_umBqj`ocjE!s9;_!B1vfs-Fe}eN6e-QH!MG(lKXR5o$LW4# zH48QE3N!kZgDsQn9gFj7h!QMs;i`;~jd#5|84W7Xy|_hRf3)T^A2SuynMwi&goGuQ zRaq)-1P>rCCp0o+b?w|r+NlvdpD(Bn=+YnJk1!!=Hd-*MMxvQunpH!zEUM~=SOo3T zCxQLlL3L=wJwDnt@T$1uZT))y>H&g3K%gKtEU|S>pOTMtMbigGure_2dv6igMsH;x zTo6vIsehby4&u!yf|+ly#>%idnih`JNtnK4RJ2#`sw4xzGjb9^@7Q>T60E!G?RzO1 z_JiEK!DFUf8|kZ50_-y1&w$gg^X;}jZ|?(c&K5AfV<_@g2pMXr?v1D>ApM9)+ z>M*X$d&K@c%_0o|F^Px4{2%a>p;P$V@u5Z2sGLSO)18_M2VWSML}A<}7RX)Mm(*T4 zuBDYndL27&^R9>or=(`gu1`SkNL_Y^=H4X9Jx+TjUiXN^>UWu6RkYQwX|IJEhxiI6 zxu&$HuxHXKlNF=eMt-uM0`k!Ud9i|5_`(Oy8Y;j48bqwSp!n^XD|K?dnro%8Nyf|3 zf?6kG$9w-Oi&ytm%7$fDNcSAG=23y3HLvE|0n`nK5mnySL16Xdjc#Xv+svm+BXS*x z?&!%tk)!%V8A7 z0PsxgzU8;a3QG$uk;G%~Kn6vB5y$?_VyO}i2D zKc;ud<0n_-g{$pdd_pbXRME>3NeAsXnAbS(@5+XvAdO4bu{qayVrO`xk`g*LLLt^F zj7XnPz$#?$B+N_jvNAm%rLIiA+2u~Df3YdGc?~LsFkjMjeFr+&o<$QCiMUC4W*!H1 z^XxRI9}o-Nl#whw(@Twv?oNER++!+L0u_gvO!UDOVmOBl=^+jFG$zFScQdA zPu^?ZlW#B~ouLV6f#)$sZNOF4nP$ud9isn}5%;Ow>j~n=7Beglj&t_8lb^E2%+4ci z-rm`%L0j3fcV>je79@22lBBsynMB_mK05h@Z%3*y6BkDINt)xH0QNv$fa)5G*HT!< zUxbRuOzW<&Wr|@9wnPTBF#BezMW@Y5b-k4qaNwSy`;krxB;)a>Zt&BO`q$$NcgLYC zQD0ZIhRbUNxRWOn+KA>wHc>dPEgb`I6EOhD4g7nygw2A;Ln*` zSK-z>2T_e5!z15%9H{SX>DDbQ$kIIWp_qX5o4thdX}eCEYQxjw<<5lI$WzR0cfKHV zkJxHD0CR3BCE1ET-zd)VY=hCC%*w{0t5IsKi57||kDD7mbmLj0`U_y80t#A15w?Y8 zz6R}@Nm)4UbsJT2V`saNxc13M=xcre(q^liSfDQICji_~!X-0pao1QUeW?|Ag_&XA zrSwLLaQ_0NU49`9lb>`qmo@sS3Z2kC6xpN#?fTI)f4kjyLhEpZ_NEbAE87zk$0S|= zleiYfjQ=c`Kf5W`S8@FT`>%p!Np8Bp3NDrAkJTQArMDSf0kNKa<`x8DiZK^)Q;C=x zf{Ep;xE{f)qDqP~J#rbvz|H$$RvErE5rD?$B~1*Xo9@)uRlhp|Km5$qCjhbYnQv9fmEl z;O`%FPZqnB0lwe9ZUQ)I<{^QT+UWuj0Sj29d~7)NFW-2xg5O4}Mwou;6~$M682>uL zv*8KH{{#ekb^M#88Hf*=Pf0{<@eQ(TJbE49Z2gI5`Sgcav=Q#{7sQ#72e{!d`dTKY3Pb&f{Ax| zGLBzFtaMD#aWBluG~WvMeagt73d(@4GTO<6KYC)?ErOXaBKwXFH~on7oJKL)Ey{;* zb;i{R;ck2iKQH7;Ve}G5(7<3%l z(^vQw<)wf#Dco=oXAuR?l-ezaCDZP-;PScU5FUHcF_9UU3iZsB9<$!-XLEz8oCPm~ zf}EbyWv|>mdE2sDW80b-g4zri?i<*fs$?KI-y8y5|I*2HMm+=^9+e!XODeUOAeZ`z?wKSk z@Kz)jJpr@5-HG~+-kB8Pnt+@=P_hMA>~v1}Rg3SLN6#k!4e=I7ceddn1l2xUj2*k? zJFxlV2ukiTB5v#wCjF9$<8HEw4AQ>!1FpUZZ4Yie*-YdRMvb3%#`q879;<`W%$wnW z%+Kl%z=OF-YvtxbjDdDj9^}9);;cX9Vo&eQe)$GL8%zBri=}eQVbRZKo^J;dj^62J zL~H1B=Ye*}Q$NGEe(worzad19W8W0T=GvOUE>i#984z0I^Ie=wGrVZ3ow_V>gZ*t| zpWZ(irb6OOSSWjnmGf;=C6g)1qT6?~ST8$U8^*+Y`V4Be-}A}POdseVAo+KpuRk@b zKl<<+wY=jT*T$_ORsUqXdej-v5#o@U^SfM%&CyPfiy=C4o=GW}4^386kK!gR%Y>%l zei8$hFF}vf|%7JlKg$hctbw`7a?bXk1Uy$e#f5Dy>*^ zRhyJQze3*N%eeh){2IiPLv>0YqAciSg?bERsFnPe zxVuRD1EB~5UQsCG>?l9{QG8`H|EpsA@ATt;fjnxQ`^CP_)8rToB|P=@9l9TO<$bGK z@x4UgY2e)bDmX-FDq@H71A7@oyBkEu4=2F9wZ^>`Mc^BHN51ZwEpDm+pDH|eNuF&u zooTO*w0TyH8;O3JIO+g#^?@+sp!V5FxT!>a_v&jd;fwn;07XDwB0C1@6VQq)U{YM| zj56*q{johS%d!l36w7~5dm)L@3S2&^veze9;WeWisfl!|I#se3d^IbHqROQSF2M(- zX_F$bl`6<1!qXb`F5(vb$QOYPLHW4;xYCChVvcPfUtcPya%&*WdcxXiAm5DIK64^F z%gvyU+CkKV2mh?&HerFM#2E0x1fl=-n*KAu^FQzZ={9}U)TksZ#3Ibf#)Wgv ziH%qPt)~CeYeK#C{rjE7uK3XR2D{qqA;O=9sAm30Pu`ne5vFL+Yrc){IrO*aP{>@( z=uIHOqRpbX^_BK0;m~G4L3TeM21Z!F2fQtov}9IAR`ITR=+BTu>oMjlIMr z$3A7uKcs~-fT%GH8|Y>0I7A+jfkNq=PA+;$gH{Qk05t7NvdAgjOEx8U@EqD$^*2(V z5+e!QW7Z+0142v0JV?10X{6h+Ns;s?X;7j+hCAsUXmJ% zf-oE0Kca>LXrPY0 zu1tG4J>8XMf{N0qm4hVVBGLJsa*DK%#JQql_zQ4sA3$K14x}>F2tg#8XoIiEi=C4G zgWPrf3O)t!zrp_s|5vZ^zn!rE4Zbq-SLBW7f(HI4`u}Nzq2BU5buzwfey0L<%Lqoi z8|Ay2@ZJ2q=1(c2RZQw#pu1s?E8W%9O7Q;9ZybEMYq5jC@21=Z-MaQcEQ@Cn3kl_z z)bFgs911gBu^}ikYc3vlkGPf)m5dXh_y`L(A#_O}uPnj+&!?m1UCzU8Q+!ijkjyD+ zL=s9v?EOZXHN;WoZCI8)_5Bmj;ZfUH{AwJc`UxPq6lyTy4q!aBh1kd5@<&@b*+p9uXf*ieONQSy$IApu*^R-6b&Rd8rv$EKlvBM^fz2*Uo25bK z6CTAM^BWs*#b_rHazU^tCThJ;i*RC4rjef1EHWCBp8#ih0v6OLcF9h+a2J6ACJshO zxKTngj}BCtEOn?1v3)MurZh=%9M=XCxUsO^)*zB(#UL9QaI z7Lh*WoDzIgTYkBL8-!O}5BNH$83jf?X=YDk%a+YGyjalmP*%t2cpINwIu`>IZ#ZkE zaPN#rn98p@`N+T83Ge&u6+YN#{gbnLZ zW;!G?){JG5XY5}Ucv@cR&Ovbpj=49lOP{&mG&5v|{3qb3NLwBJKsK8C681ae3P>`W zq|jj3YKW0G|Lbs2|ChFXoeVI@{~PuD4{iG&*hXCV1>1J7u9^RjwV@I{5Vto!B3yhw zsCGQmxp^Bnf17OkGxc-m($MnIw~uv3D8=9tkka=+@$lXJMtw{O92M3NRuXlQcrqPY z4}XwR$&U)KV&*>r!KQo`af>@Fx_YW%;*Nf49O-mTTPjwYsGr)NY@7ZzKPndxx!zV^Ak^?(eHe7WPPKi;i z(h$QL{gj33>Lc+=lr5tXD!hLnl;RtyC+;wG{f{cf!OC!had%DoTWn~=U6k^SPr%P0 z37r<}znxad*g;-B4j-kk*=vChQZesukdOD*rY_4FR*k89=Il>umEUS)Q_(8|>?*@Y zgo7akkqTr}r%-~fVEa2LMwPIPnNJ&}-mt4Gj03;Mz;=H0*QLR)T<&0_xP_Q}jDtfX zw(Q5|=(jpU2iw3Stm$D{F3L*(W36AT8z1o>=?+>nO_4RZnBuLpz~jBHcho?F8Z@C%an%X$qx6H+c?D}Tb zAr?29O1n&J`L^|c6ykY8aE$RXQ{Z!ZJcHm7EUyx3AZ9_+2_?a4IrqnY&Sd2K=QJ>S z>hRqfr)L%7%E_Cz)ad42k?XQ$1E4K3EfS6LQp-Bo6gE;oMD6B;!Xk%YR_P9K4`vD2P7^?hn)$N-AY^8gd-bSIgi zw?PiCS6NNgi1lYgmJ?%;>Gxus7J7j_KL%*~myocLik=4hA#@~nA)LNu7Vic8$9glNFadQT$6zWhMBIVv= z`|L0q&TKD@qnDrwrJBeanTeVgP=d?{La>MEwVLtR3nEV0DKfbOyhe@Fo#0>9X2?CD zA5WD23JACUI)qyL3I7PGghirdz3O9Zwsy9-25|D+42A#WR*F)!r>36Knj%6J9Tt4T zpDmPevB^4BL|ed%1j+RXP28_~jco1$aYKO{MH|2QJ&GDb7ZE&&5Z?6>V&Xtj2)URx z0OvZng2j60W9waVsB_Nu;Jpyt2lm^8tfb=_Owv3SuA+U>`%nHi#7?KEar+TF<*LuKWdkWoohTB6HTGoaST8P01rS*qTfK@a=Tf?5?9=%*o zS9oj3^dY7S0t(v=;3lepMkXH$;C$c*1NIuKWH{4Naz%(S^kBgLvcaGTnDY90m;&jx zuGS`3fMse9Z=RIaSp_NALHSeUh$_H~5Bv2063V|yqm>{FeTFv5BpnII zXJ&w@HanD~VK4egg! zD~!9-m3cr*-!&FP)-?^1VGsq$>WP8FAlj_R5ca#U=TM?KFfOa9X0i4U5KHZR*SEqy zok^J6rkt!oGZSW zaTvx1C%$PVuz7d4n9f~@SoQ4U(IVfl|9YO<~*n+H7XY9iYl| zoA_c(4H1TmzJ_|^)Tv{!_+N=ryHj8`QB9DIcn>w}kBcyWnrkst&w(5~*)Ghlj}Hs) z4qhTFO#)wdz8@TmNGdfAy-Ltrk)EB99QJaj@FEg9i_-q8GW59zFDM#J}C_n2eKJ#w@PE}>Pupp*#shwn=9=ow8OvZwojES z!zM>QULi85T1R9sm4xWrf}!F<0B4XH44uTjBej04QWH`18XkaX|2n={r@>^TP1#|` znN&7-oo{G%tmD~zoi(lKUk~jlx~7^FuR zGuctCXF5PfF$zK5VT)N)xdQbtBwCuuur~&4(RQG$Hqn5(B7w(&Wd2?V4$KnMue{Fs zfu*50ZSK-d6D`|0_>Z`Alb)y@y!-dLoYn~TJR`YR%&Tag{40R~Pepvt&qpuqM zYmHTS!%9Q15e*awZ2IjluX}q3KhY4bd|ilpY3w8SVQMesFkLmeHn;^%NflhwqG67M zN>`(svp;!@UF3na4Jv5cA)lc}xG zfiw|%@CcM_kL^g_gb!O&Ug=X)V3W_hbmjbQ5@JbMjg6Uik(BUY2(g2G4-gO0S>PCW zh_Q%of+W$<6QJxT>TLN$>dfoHN2DxVf>^iyNF-5Pv;9Oe0UaF%!0ZKrb44IX-1l`9 zVd$*0|G_|QOEBu{nM$7Au)BPU7_%>nx#+tFg~ge_c}K?R?!yEg7M1){y~*@D7Z@l2xxC41e*14cXa_DPq!a)s4?UytHNdY*hlJ-PcmAr7&QIzbb9I+_`T>;IEz~_+U^?qWo0^(&` zCYN_Hw&8Ej_}^v|ORBoPgX(xRy0=_a5tqggekOCgwhPNLu8>6?N0uf8&Fn3dMNVNpxj{+^K%nEnZ#m)#LzVQ=~-2!BLw2W-uV2pR_10SF8m zc51#qi$8&)IX!h0gr+$DGcNZ!b5JZM9NNnreXuc1lHkt-a@x>A)`!-z0`(iP#6DzG zmO=u)Ur_ZaCxg<_80|yS^ zRbyBhdO)??pN7aorLfA z>wJdrj0`QDT8Gfcx>WAjEIKKo)Iw~AwJs}ytVMC^8Xf{#3L&7d9vsp*?e)ndPJjzF zBlP2-?%zAd)zZmu$(gJ@q%*RyqCWA=Ta?8SBayY*dWFGmRlq(<;Of;ug)&Z>6q|&z z-_qzYAi}}}7d9~iHAPm1l7&54cJJl`HIN zthJ8`QQIkxWiSW6e4m?m@n)pg@D@dM@0m4hMJzHYDU`3LQpW?+;ebD-bH&jyi(Z2 zVvJ}*&dZ!!Kr-3rh8^c-A#888)IDy>roX14k?(B>jRq z_!kkw2w-DDwbaG{fcuy5x5rT0Y)#95t;P3KD-l-{_xwBgJ}f6s<~EAG$2%J839-A) z1m=^GVjUMvK=vQ1n8i7S-59auOPlAMm z(d`7Y+e~TB%mKUSo*lYOt|D;wenaQvwET zXd||k@3=CYA)-4%aR&(%ifm6G`u$8AZaRnRS=_%f?tUfwE?mEgYW@LQ1%^(A?x83L zwjzSQFhtgin;5hEzY^)H#diTlJ!pw3^b-A|{M5Mi5zD*K$0`pj%Q5NGJ z{68pakzg+Px#5N?D$GE#%XjJSE5JBYI5eh*qX6?4S z80++6rrCNfBSHg|VnU8W%8gfH8% zZ{bdB=M2Un%o1nyoW|>u+`H!YLF%g!M2c$|TU#5ZUQRxtVGB8biA0>ngXegG4QjRg zNe5qcwjLUPW>|Spo#I=mPT23@6qi3W{vm7bZx6|+tHJ*O(Uq!QG4VTyQF>FtW1xf5 zgII3Be=>^iraqTu2o-=fm$X*CJwPs3wnqZQ;+^l4zCa9 z11$l}pyA8nU}fJ?G%PiWOrG3h%J~;@p(voLm*&?7;KUkPrgjpm^DIi4yHo^cWz;+x zGs{r|Dd42`Y5kZws9NFnTqMgB7xs$kTXYHdxk-N4`xqc2=lcr`)ObkMDmyRg2j>&g z-M%2gT`5&hUknAb7z3ThcJcb3!mrT$5q^vKYhlsBdxsN!zlnN}Vvi3I)**VUs3}gH zZ%}w4=ecFbc^E?Rdn4r^-p|R;dmZr2?r3llns-hL46BQoMu#t-%xtU1(y5L0>=s+1 zdqh96)B1+gya+DOQ5jZFu2>~B2MU$k)T~1@Mh-}?>H3~x=jNlYk}>@(-Gf}_1YE4V z5651ioG^5dNN6YlIQt?kC|R6*ToMCm7Q8660PN&M3%0ef$>J+UZTMh1pFv~&N{R6n zJn#HMUcfahdWBPxVgPrzZ}baOsnLMa4(Pt(!|WNw&SSy)NciR(jDC6f;y)ZtK4`3{ z4c7cc7?m0qPux%{j;FZ83bEoSY$?c(Q1(?E58hzXRkh^@UZaAmwA}feOT!r9A;IMU K1p&Hz&;QvlpCB6m literal 0 HcmV?d00001 diff --git a/images/b/2/8/1/6/b2816731e1283abd9c751db85393d576c85702cb-spinozapp005.jpeg b/images/b/2/8/1/6/b2816731e1283abd9c751db85393d576c85702cb-spinozapp005.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..dfe1425e9fed4f15c5c58ea2c3b7fd646f13d58d GIT binary patch literal 26644 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 literal 0 HcmV?d00001 diff --git a/images/b/7/2/3/d/b723d570c446096984511c61ec581c8b6c4089f3-2011proj6.jpeg b/images/b/7/2/3/d/b723d570c446096984511c61ec581c8b6c4089f3-2011proj6.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..8dc1b523891c1ace3225b5c02b883ba8b237838b GIT binary patch literal 21740 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 literal 0 HcmV?d00001 diff --git a/images/b/7/c/f/6/b7cf6f50d421d0229493f9805daa859da9f66587-01-logoscam.jpeg b/images/b/7/c/f/6/b7cf6f50d421d0229493f9805daa859da9f66587-01-logoscam.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a611eef1b84e6d44850bf00c3a1e7f771f77e7f8 GIT binary patch literal 10382 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 literal 0 HcmV?d00001 diff --git a/images/b/9/0/8/b/b908ba8f22a8efac4036cd97e3740009cf504125-spinoza12.jpeg b/images/b/9/0/8/b/b908ba8f22a8efac4036cd97e3740009cf504125-spinoza12.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..cba34dab1a9825861279f3cb831c2dd084747ff6 GIT binary patch literal 31230 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 BG&ukO literal 0 HcmV?d00001 diff --git a/images/b/9/8/e/d/b98edb6a2b004c048f0819b86c31ad8d3b4ba641-logoeu.png b/images/b/9/8/e/d/b98edb6a2b004c048f0819b86c31ad8d3b4ba641-logoeu.png new file mode 100644 index 0000000000000000000000000000000000000000..f48d61f19f980c0d6302ff7bc359d0bf9d744d79 GIT binary patch literal 88634 zcmV)BK*PU@P)YtDpFUPszMy!2x>OHAudcx za7A5Q;af4AFrO0IW^E3EOmMNk67 zhJ-PUY)@KD)ERLe_brNw)2bwKDI7&LpWY|_P+nozcrAR32|D?W3N->DDLUME$Ycig zeVu!6oZYw z9rLT9Y`Wn?NZ_-@B^xGrj4GZAvu`~QQKFGt$`Fl6gOLyyU-<6gMFfu!&syHQVH{2V zLe~Dl*?iI|Sd>oRXUGAgQ4!kwDxG0GT4MO+0dEj?R#<09CvQz_rAm=pvSaOHvcGvo z;PM1@F8Z2>$w`hJXp6+?iB2pGZ`kfcCe zIWc>2aj3-_ixLe%s}=Se6%fQ7lFIz3QQ1bgcvqH)EIzRd5U6G3@aH*ht9f`R9^v8^ zlL?9n)TnXku@`aM;qTCY5DRmI1E3a?!H zTbf*rGv#TVPU3u;`DWbEil!XEJ*ehJrLPaKUwR|L#g1Q`5i#?O;Ha1UnYWJZ#%Mj5Ovn;t51}UwpbSQ~ zqk5xpC9kmda33rl8sLrAceRLKTxG9u8@|{MZ&QPXyd*m z0#WM_E2~l$IE2EnTfdQVG~yA9RS_-3XG<=|rR@~_KnNv8X*Y@q%_fz~ptY0ii5;M6 zpJi1RSD=gYRe1aIYdHIWyO@0S6?|n#QTNGc$Jq{vIZ%;C3}6r*IN?Di-gGe^{PGI6 zUe(6TrXHm=HmZstGIi002%1zP4p!jHKR%LKvsU5R*GBQ&v^FG<|PV)13LTGb69irCpc}359niyxKMzR zZC|EN+2A`giFziVDXY}wvSo){ArN@_#jSbvtwD^R=HdJ(yN!gscesyD*P6;xZ!FJ2 zSA7#z#R|-tF^I!{zCUk&+`(K)E1W6`l3^TBR4VPiOIV^wRIn0GD=2A_b?c+3xNDL4K65PJ@GBc4T$*vs-P zEwL}t5y@A$T)t&TM6$@em?I*;x##&to%k;g22HKb#q^7awKeUm!Zt@?jG!6-9uT5<7z1jZAr`qz(GW3$SVfI4iL z%?;?^znP@(BV3L|fB~!!DtI1P1)~-<9tJ!-PXNRJJ^LXecN`mQa>A&+f5v@}yv_;d z-ODe2{R9s@{5nInyMU+1zt0u7JcDNhK^U~%7$!`3j|tCD;>64U#QX&TA|7}?{kI>@ zv(LTHu${*;d(I+;?>3fqC(dN~ZO-L}TmFv;FMPmO-@h79ErWKxhcjhlbjG$K8=JcEStKfI0BEo7m?^*Ynj?1|b3meDCY@-*GIVMiT@#oU|tgAO9PE zdif*VdfKA%B;{Nv3jG>4H}>AAa3WY)uHq9QaK;gRzXVCIbZh*cgx{{Y4vxg)9`S6r|! zyNxx=M9G_+Au6!Vc5eI*2^MA^$E;O_bq1@^#mBihC zOT<|6wHQ;DuO6XkI16kN=Y3IsDAOn6AQ?}j15m7h`wgii5sB7O+R!5SMmkM-olJHb zEuW#AVaj?5U?AHLxZsD=FVmS?qORrId3R5yEJ`3RR^=psE(ZU=!~odD_c3IXr11po)*l zsO@pN)}}2fRJ@K}NNLIBIJvWa3K_ETo>7ci&fWQae1!@god_yk)QC8J&i9-3)QAvL zOH>>Y!KkGj!<(1fiWQFz<0b4UJ743}rJU@MC7jhoeeON=Zho}S4Tvg%EZu~tRmF;7 zKt&j^+

                                                                        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

                                                                        GFMb39zKJd!{?=}z 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 JPDHLkV1l0eOELfe literal 0 HcmV?d00001 diff --git a/images/b/9/e/0/6/b9e067f6c540daf815cea7869e05b6fb1c13df86-projhist.jpeg b/images/b/9/e/0/6/b9e067f6c540daf815cea7869e05b6fb1c13df86-projhist.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f3425185f4974a36a180848cc497fd8021192491 GIT binary patch literal 20700 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

                                                                        >6kmZa}nr;78BE6vB3*UT)Y_9;#D96RYdyZSxsm~C^|H|If;T5 zn>c$Kd`s&P1K)fdePSZ^K`WhGH?39%29)IIcE3B4tE18vS=YDrvm80wUrzUao#4=& z&%Y-|U>Hrf(^Q5;hlQarZp7jCarM8w6-5V4M7C6P9+!_9OVkx$TvJzD%cRSxZy;~m z2b&&9)W1O7gIzU)}N?s6fn@r9otv86Tj%jM;1`4*_$WW z;jOaQj8=V%{dtUMsV1q83*Ut7Us>#j_yLf7qDsE}UF0D#k?<6GUDCJGc=(5}eR z^H3OB-S&@udf(B_)n(-OybU=!e@+^Oqd)CutUkfQ0SDUr{{ZlFBH5|;L?mn`Lptff zcRB~n#YC4vPM1u0Wr6q+2FtYTlKBodci3^&VcUA2JV<8% zO9QcJ>>%vBOObmb-3C2s2THNTe2~GM{Vla^1^TA}@5EhsM$IjBxvh6tw#D%juZOI7 zc%kTa@ZYa!F~)CqhzN$XfNrQ@3Jk{y{1r0zedn!w8Tpi41?+mMry9*JS3@W5EZa~$ z$LnO(o&KrFUhna76kTw(o)Ofr<+rJJ2zsgZ81Q*dS$Tz5m+m~Ae|j!qOxFP%l0)T( z*bRV-1Lck-17ebkYR(XyKXPWz9vNZ3%$wV`VykB0F`s#6up}rS#5n<-%U^r;Cz7Nre|3=)#= z?0P>p{BC7gOzkiK07xmS_x>&2$WR8WAKbyV*6uiTu2M297duh8uS01@8+%V$hY(Fy zr@)if3=bDj(}vt|X?3ow3(p|JI+2X0TWz~MxpmHf!4PbQ{OX}k;rJsgT6$*i&vFq%RxB_-t`@|6%O%h!2SKqgmdd4Dp>~}Rj zAn>s+`g-0zTXI_W!(linn=;0i`Gu+Fyj39#68LXu`UMlZMrO zxI!2*cio;7N9#*@>fH?jaNK4cRRu^NUc;$37E33u^4TM15dk?A10WVJIXrphzjGbYw za0_sio<@bl!}@A5{yKWxs&Xg-)r|z$n?AtN*>{)u=rMl7_!GC0^WI&^1Y;VWn{ph? z&nxqL&4^^W;g{U|v(bkMZj#;Y`)Se%$H`&N3Uc@~7)oSWYo|7rdhJ}Xk)>RTz%?Fq zfdK$9&ZUb9NS<1WpzzoDnZCKO$aUpkx0M5QmdlfBqV2(bu>*_J4aoR{B--xmnEW}|3{PMaQOc~* z%}Nn0%P#7^dk~Z%m6mIC@~dt$qY{c8Ju3^l@EDD(?n0NUmma(?27;@={y6hdv;;Po>lwhKOEm&eZph!@)YV^A2Y1R6{R+7G{^4l;pO_TQ%HzGJ9saEiXUOgo< z4|P99cpkHJT&LU~%n}i57k2_^DX6bT2G;>Es+-0pcHJV14E5S*fNz8J-a52&{3Q2* zAesV-SktBlZ%Rcq8%5oXbh|MOOvVoT_3%^xC!j<4kX$aSe-!R!5HX$0$nS3m6^4o( zmg2Mwyg)Z=x##(3qY^(bo<=#4#c zx~HneiS}{b6E-+$#a7(Pw)qmbhR=BE@V>ohjypGvG}9lh#Z`Ddx$`MBgJ>JBuDxgc z810ipbr4hOJx5??h`TDv^(cG2Yr1gIj=n5~a3VqSW~>y^BVD(Ej_0cN22 zUDugrpv5(B5q(p_93FwIPK^_~WtGNo>jhn|@A9#L#W0VN>J27IaC{cPFe(cdWwz|+YE)qrgP&_BAG1o;E9 zb2mXS{{WEp)Z8FTkVef{pzDS4D9uSFHOFYu_Ug)6QD_h7-{{K)COVV{WPOM!hLBzm zY*`yJ2nu71to||lFY9^wzsVb@3j?T-KqG*a=r!U700&Rx{{Tf}sNUxZ%vT!gx(yc# U#FWi_UMLva6lqj|&=2YV**|&kn*aa+ literal 0 HcmV?d00001 diff --git a/images/b/d/9/6/3/bd96360b6ae8bac7169fab574b6a2762ff34400b-spinoza03.jpeg b/images/b/d/9/6/3/bd96360b6ae8bac7169fab574b6a2762ff34400b-spinoza03.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..0a69eec82a2b20f584593cd37ca8181fa86ea843 GIT binary patch literal 8705 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 literal 0 HcmV?d00001 diff --git a/images/c/7/0/4/2/c70427012c749f9440744ac3b0568d31f54ab885-hoteleden.jpeg b/images/c/7/0/4/2/c70427012c749f9440744ac3b0568d31f54ab885-hoteleden.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c36cc42ff7a8e91125376671e57d26185ba0ae42 GIT binary patch literal 6940 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 QRCQH*T2H=xUHn-3KVZCd%K!iX literal 0 HcmV?d00001 diff --git a/images/c/d/2/4/1/cd2414ba3a4b2561aac3fd7f27b4be595af51a27-ethique01-1.jpeg b/images/c/d/2/4/1/cd2414ba3a4b2561aac3fd7f27b4be595af51a27-ethique01-1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..bac295bb210678532857ddcb691656bb53404488 GIT binary patch literal 6064 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 literal 0 HcmV?d00001 diff --git a/images/d/1/7/c/a/d17ca8563598125785a02c5a741371b15e724908-2011proj5.jpeg b/images/d/1/7/c/a/d17ca8563598125785a02c5a741371b15e724908-2011proj5.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..ec6a04ea51c1a830afa1d2e3cf542d157e4284b3 GIT binary patch literal 18737 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 literal 0 HcmV?d00001 diff --git a/images/d/4/5/1/7/d45176eb31c56e145ef1b543703f66a5c4fd2c03-thumb-pdf.png b/images/d/4/5/1/7/d45176eb31c56e145ef1b543703f66a5c4fd2c03-thumb-pdf.png new file mode 100644 index 0000000000000000000000000000000000000000..16f2aa7e8e3e0b59f0d5a5fa63359f522ef9691b GIT binary patch literal 5776 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 RN3AAl_Cqy4bQgVF`Y$LaB7pz^ literal 0 HcmV?d00001 diff --git a/images/d/5/b/5/6/d5b56dbfac983520f655594d44c5bb5837cd964c-04--logo-fmshblanc.png b/images/d/5/b/5/6/d5b56dbfac983520f655594d44c5bb5837cd964c-04--logo-fmshblanc.png new file mode 100644 index 0000000000000000000000000000000000000000..fbf8ca8dd2c5d135ff74a4810fbfb3be08ac2ba3 GIT binary patch literal 67199 zcmXtAWmJ@Fv>ud3=}@FoS`i89PU!|IX^|38zd zmd{AvYGepky5Fm^?81JN%KNCvP~_*mF1HLPRA;olqk@X#Cc3uVq@Fj1Mr8bb_qCh+ zd2&LIwZ`-6(=SzY7FCX#J%775=#FHFFh99C-Dx*ak6B(>(XzB;9Lko=Mvb1I9&<1= z2hH#qRR!Y{5X>C^JKXHI=GT&w!^C*E`L#Szy&(7JPYa*T(t4%xuM?9+Ivh+)|DBzm zOTqLZrf0EB6)*p~_uP?{ktz9XsE`-mCvQmIay;)_ zXx91w^)pWL;`Q@;o?C{fz?2j!6ayC*!A{FQVfFF;K3QYC_deTOAs0f_ZEo(Gyg%h1 zFi?e4j!GSFGy_(b4ev0xS<5DC%=`}Z$SEm1=jI;WB{sRB$9XIG)Yv^H2{U%dP=T{p z!ERnwnBZMn-X=<__4wH=`pWv_6N=274WEKe{57Df+_J zwm>7B@~=s=C(r5SMnQJumgCe1dDQxRt1srq1kJ!JSFg%%&-)$2Pm6kPG1N9Uiv};R zu3`%b30v-9%t;cvzw zpnUf*U9fLx2n!|VwTnWz9&H(|9AQe8e~oHWb$U?8rq-C>lk)C06BAQke}9DI*RqGG z^%Qe|OHVpFx}1D{O-+V>`X5N<#rXLXwg!}xRmmL`W~!v6T8s{VP2r(LL_{LCV5`X6 zA3b`6hbq$LEOt#7eCk+vIw(aVhspGx3OXV4Mo3p#D;YbznRjQ|pQ;w-R^Mai#!ws- zE&%~q46in+U}iBp{`Cy zLb9^F9Dde*Fs^ESKW=&;{J;Qzegw8){o?#IM?{92&1HLIgJU3dmQRDG*QjyLV3=BJ zc332qYya9@o-*0i_xiX)tlY8No9dV(cWtqQpv@yv?W=NKPLjH)Y~X82JbQ|~^8XLCK-wUj@u)3mbtnf^xm zwARLjKW()6g-cHbtahZ}({Jw-VyJHjI^EFar1*FA`-wrP%|xe;zW$r3bygZQgAUp~ zm(n^^o30aUvFZ8djV_Fe3Lh`AmnWKnXY~Fj9gfSGQmH~NbWjL>I3Aj4%RIFa;Ngie z^IoB_{ef1c8WM zB=ew*YwY6-Lxb;kUcMc&of$H8cjw1=2h|3yGhNYzu~AN8p;8^D>7z$80U|=NPS3e~ zT+H+Th>DA6Ci@$8aWW^16Eilw*ts|!>O0*0DxYg+W1ZI>liYfnmp4=)S8FycCsPE|(2E3DCP zUTn`+rcFZ?XXj$3=^fi!8ML9@HLS9ZNTzKUTojHqu61OsIz4W`{OxKLYa`}_Cr&w2u%R=S%vZ#K9sVWS2UemDs(K}r5B+3TjH ztc-!m5c5t5>A4hinkM#X&3f8XbloZ{axmoLVBX8xI)vivYaVGo5a4z*YSTZ(4a?sj38sT{@s3g z;X8I*WivPmH}!Ld2pP)a&W(~Y0eDK(?*53RWMp>sZc^;@$-?t5B}RgZwO`GAOSQwy zzbGcDJYOGukK&%WgX>f`tCx1x`^k|lmt+Kpt9UgdncU!qe$==`JY z5of!M$L5#cW4ofhM^1wOh)INF$=qaUq>YWK)!4{T1ocbfXjN3;PTMIV78X_s<A_&#$+HdJb?>Y3>O{<|{yK~I%D&b7vxEN2qKW!Q~IfO_Nyb8JR3;SK;IHh9kB0wFVoXi@jvz?^+O~&H^?WxOG<6@TS>gWZx^-;#L zE0rzp2nh(P2Q5pDYl$f-*>XllHD{9VnnyvG**!d@xSl8*dQE!sOX*#w={xb>y1L}2 zbRzC~w`u&RDVkh%VmpP~ zNQPY_izTRoVfntH5HsVwR~qYYcubrKN8G!1mRQDi2eSik(^Zvo-;|PUetdOR@O$|PfDmD97-;=R8PkTu7$)_Z?dpS4VvS*5FdH)Tnf zTGW#}Q`}eIgIRi1Oa4ATlv3)uR+wlsdaO_@H}(62=f5hRsXIJ1&irN8>O*n&?p@C* zZ1WFCpSPejbVc91r;?;Y{)ywdNvVGI^>@1Zp>A5?xKF;6NJCpIAvM+xOR1)E9)L

                                                                        c)) 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 p-P^kld>$OM4Yk3q4CFe&bjxzcmKUq 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 literal 0 HcmV?d00001 diff --git a/images/d/c/7/d/d/dc7dd4e661c0ba22354930bfa9b7619fa116bfe3-nuittrouble2.jpeg b/images/d/c/7/d/d/dc7dd4e661c0ba22354930bfa9b7619fa116bfe3-nuittrouble2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..b2735e5b21a91302b97f1bf3854768f4f8d49b16 GIT binary patch literal 12573 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 Xjg(0lnBgHG($*#iu>@fzzpnj1dcyY< literal 0 HcmV?d00001 diff --git a/images/d/f/c/f/0/dfcf05491a1672d32fb11f24a20da77ec2b6d4cf-spinoza06.jpeg b/images/d/f/c/f/0/dfcf05491a1672d32fb11f24a20da77ec2b6d4cf-spinoza06.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..896bcbf70756fb4420a03e0577fe8edab1844cb4 GIT binary patch literal 28707 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ȸfKLoi_h1hPA_;JWM7t>mF2*f9Y->c-9I&O6SP zm8-ide@_;Psgj|%weaG(^IMAORQ Lume9`PTk*3FU80Ob!j(9=}_g{OfX#Ny!?K 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 literal 0 HcmV?d00001 diff --git a/images/e/2/6/5/e/e265e5f9bd54f34832e713953e0b8ef2ddd36990-spinoza12.jpeg b/images/e/2/6/5/e/e265e5f9bd54f34832e713953e0b8ef2ddd36990-spinoza12.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..e1e22f67e990fec0d9f1e83e6872acdba57e442a GIT binary patch literal 30972 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 XTHbHR^lj@~kMMu-c>e$#f3N@9A^5x_ literal 0 HcmV?d00001 diff --git a/images/e/4/0/b/9/e40b93dbe089352f5edd5bd64f5506de709d6f01-e1p17a.jpeg b/images/e/4/0/b/9/e40b93dbe089352f5edd5bd64f5506de709d6f01-e1p17a.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..2417dee5229a46b4a2c28cff14c672f1ca5b3783 GIT binary patch literal 12044 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

                                                                        c)) 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 p-P^kld>$OM42m}ot2$leWf0FZ_ z@0|PHwf?(q%}h)6Q(e{FySr<5&(q4&R{*LYBQFDhKp?;r_5q$A0YOO(X>l!84FPf+ zOJ;jlD;sieb`~~rIxi19XB%>P1zBf&wwO= z00$2b4~GB?5D*X$ks!!OFnW%Lh62HOj){r!90LOjmlzKVn-B*B1D^t)kc5Pcj0_8p zlA4l~nwXS~^iL%qm?#n=5;`(6Iw>{=HtGLwdKv^UkU>nKBsdTy0LB2pVSt{70U`hd zfZfM~rAEj~59~LNgJr2Aa{p|QLK6k%M&>_ocXilgnz*opIV4%iU z+Ce}S>&yA?7S}&Yq5%Mm1;3N=A{#6Fl{G;yj78YY2>>$uroN=#!oCyr1Mq%Gjlar= z4!*-}!pztw&7Hi4S0a7g%)GQ$o9~c+5Db74)L!58ezvg&07;;qk26Y{I4vx)0~I!3+{ysRr2fgw|f6z5KQ&5l3;1j6zOUG3%3;jk>IQQ z7hd*{L_hoHUXLB-v~0{PQkR+KWX1wFMI<377L@W>4iS@SJFs zOyKBuA%GD%g)UmNE3iEd00^&eVhSo^PoKT|qYOtq+1y-=zt7`fXZkAm4+q~0iD2nR zuej@v=SCVUe>gD0aql0!Y$X~D_0#&a41=SF2>rD~|0|3%YVEh11VB)a%R{(^+SG#>r z%Gu1MBnOUoP!I{1`wIr?{nMB5ascwD7OcpVPSTzxc5+xh*EI-j+Du*b!*GmHhoOY2 z@AEJ=2onG>5+tKed>{M2u#+Rboykv$IEP^XZkr@V^6QLAyU{a*lILF8tV?vc6JA0b$u#${N;Mibk`Z{OE;UFXWvp2v1Io2Y4g ziQtG=@A9`~+%dn%yGB@@ZTOnPu$Yk4NV5#U(F}25;(!U3ywX=??o4lLMWAnOENiz4 zGmb5e&(F&9(Vw_3KZNzmUm}-dIG$AZvF@3Gsf=iq=Q4x!?v!ayN#)gsx79k`I=@Io z`gNkaYbv#=BY6sn?xK;-f{908lUs50QIBH8&x<;|0@BOnCB+3HlGNl^48Mq!rhZfv zUKLn*tY3al6mdxub!yt(+@JxQLWf~fl@$tr!2lQq4i4d;Nei3R@BjiL1|}9c8#{*> zHYXR9f|81wTU-){1~!Y4VK5K^c)oEdqvDKAKdL}YSn73#_XZ-dwp0ShqLUi=O(~_7 zL0{f)qWvj`(GT$92DpVOHQS%PPT03p6s)S>6k?f38Pk^0YgzNl`J6E9BoT?4>)wKs_mR?hqb>jSQPpq3v O5< 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 O6C6*pz9Ox7TKzxMQ}{ao literal 0 HcmV?d00001 diff --git a/images/e/5/9/4/4/e5944d3b6d14eae13dfd4f801277a38886176aa9-ptitephysique4b.jpeg b/images/e/5/9/4/4/e5944d3b6d14eae13dfd4f801277a38886176aa9-ptitephysique4b.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..48055f03d4ea09b82edd28196a7b3eb04335dff5 GIT binary patch literal 33243 zcmb4qV~{4n*5=!`ZQItgZ5z|JZJX1!ZQGc(J#E`|Z{NH7ZS3F8il~aHM4XeAnFr5P z->cs{07NMgndlh_DP5c_Y|RKI zrNjxP6hy@dT{#)4XbBx$46H4jJqURTIoY7U*8#!+Fc45sP!O=68yFZEI0P&t#7{wh zfq{ZWLO@1FLO?=7LC3{FLB&QxLc%1%#KyxTARs`&ASNZoC&k4l!2i!6KtEj}z#-rv zA>r{+kx=pfzsvUk00|O^7U&NM5HSE42?zuU=z9o&3jhFv{HO{9_@4p{3IqZM0EdA5 zsm1(H&Hq#P(*_6_1oV3i01E;H07e8s{CV+Ka1oa)ZD?Dx;N}pep(r)N>T0`5Xlmn- zSSlcS362UfK}+kp7I!q?)LD0ZoM)Kh|TV zC4Pm>eD8T*ty)bHZ2yxSKPPim-|p!cNMC0bU46y`i=Qa*l<1DeUA~V0mZs_P8^AwT znBxPn>c{^sw{luV<7cx5&h-ZzMNv2TaEQdQ;H|wHM1rBc2kX6r^6J+ADG96cQZQGo z3p4rJA$mW-W8#@`uy(dT_t?iRDJD+%sGC9N2D4z--f7jF;ChRP<)BD+XO#c6yS3m$ zjjz)*7p?Ks<2A$ge4k(Dx>gkJceA%JouNS_DX#$-m)PwgLwolslU}5n6k8$q-+$3L z>?FYVI*l}JrQrKUjVc^Q^s)@3TPikhb_{3SX2BuUAn;z?Rq!+MzaP9l>MjEx^-fXp z+6rtdX{L=3h5C}L7^i>(n?O@GypruRC{YBIx@}a`sfu?|+9nHGTno8%yTl9x zFJeA8JC{5dv=@FsXsLj6{tNZ;K^GzCzFwU1R zkIQndT02a`N(;C>3p=DROTO&g3khMYQY-72tU5B4si;kzmuDh*MI$vpAaEY7S1O_!k*8m4f&sZH|xbkyc0JX0;8f|uwUl_}9! zY2)Y~7;-;BJgPdYYM@!lPOefsIjNwaxuH(>O4N+9Ak$)FBix~x%sZmy5&allRZ2}O z$}{mQ{;JvHNEEEir`aWYVF5R@zKmRIhyUF;nY;u=V7vZ+==~AW8vbNBth2S|B;zCp z)~pJjlG?zPtN%256&Z7vXi7C?RZ_H^W@^4whR(M%<&lf}W-j`%cn!CS>;dAavQ~|; zw=fYn{$#2N8A7sx>Vygt|GEF&HoXU*AtX3VQYY6s@IjVg<9sU5G$lGuJ>vM^7oIseVkN zwO|c-D5K<{Q7xO>MZe(uF=vd30AOGs5D;K6(Ek{{A8YpW00kf+qktizf-?~kF*36d zld!U(36hct2@Cv~Imn+@Kw!YIGLUO-=Z-kcvf;QoK}2ecj;^R&M}=+~C~Q;FI=WmQ ztp?wK1hw1)q~U@TVEStiuL%xz%E2lb>+I&P1|}GLbnvYf@}1H}KQ@Igd^s88VT%mY z^b(7^@F^CV1=cB^k2@oc1&IZ69&m?f4g1MSs0Qm2{H7|ULaAs2sPGWga3!Ux7-Cp- z4@R;~5Y*&o_|?ERfA=KB~3K-@;T;i^_a?WiV~W2+?`G?U0GSNr7iR7!I)CrLdn3t z$x`<@%&x^&p%754{?JASjIv%niZ2~*H(v7Y-+&u=gK3Go>ZW-h69=^QiFg-1Vb92w zXItE(bjh9MS%T4ZZWE}`{Q2rqTYd*}#QRnT3Dsk&jn zXC4DDjHH()2Iq+yzG|c3lnJ)g{Yd!lr#)0qeJ{I)phpa{S>ztn{twQ6?4IF*9GPE zOhM2&Ee=>L%W?6oJ4ZfU?B-hXX7`Q+*_K;#%NY!Hg6|xahF&%ULT{4wP=>EZ`2{>X zd*w`&Pp6DOT4^p(-W94g&3)!jJus#W8ZOBWN!}cbRI@rhzNbPynVsf45Jd(P)wk7# z%*(Q{z3`m1z`azWRP0v1(H!s`Hz{m^fti9Cx$kVc6Mf=iDAIGHbH06?`zvQKn51JD z^MG$MhJi5MSWl+0H?}lB=DwxwDlKah)|!8C-6*8cRqATD+-f|Huw^pxIbT)j#>yja z)eRi#68Ih=k|EthEK&VTe(%lg&37R&V}F@mU9m!yuJ#&EgpF$eFX6X?mqoyv(Snb( zpFy?}+a=2yQzi#Sr;fDJrKYiJyY-4WCfUu*;Qb5hWr+Y}T-i4u>NNMXbH;E+Y3|N4 zY(sAoqWE66CR1(9FYxpq9!ja0=EDw-^nzVL_rj&~#YyY%qlvd-SR>4~U_WLwQUEd# zZEliytB)_7Z(Lb#)M?zQ*NoxiGUZF_8;4w`98ds3NTfEgvsRzJc-K>$E3AxW`bt7o z9~Mh#%}(vF`+#o%#hc7HlH6h=qAOcq)4$GXKrhYEPA`QELP7;Q;X@no*^DVmy7QUS zu+(LgApshx%{63Ki%a&c{QNgy!8I#q;X2g{E}6qmlzVzGx=aY3PPOE%V1nd(f`Ow{j^lBbBtbloj$)?cFUJ~3ip&{VF6@rMGLWr0*qThtCu^;pT8T-MR#$FS4ZXVT5XC?$#vK^ImPwDG;D<8r z_ai+0bhoN2;jojAPZ9}2&0HYVqA%2|kgwzl1>2OPS(8`i?RqGhyY7@yrNFFicSKA% zndVC5N@Cr3Qcb_K+ACkb?Qg6j>JVBPl9*i$M7Px@Oo_Smiyk)m$5v z+BRCv##IrknGQ_shnrq6_kY*G+Mmyw!7q7;*f!deXT&~vwac_3U4j-X$FnVq zgRBIpv6k^(3MrbNa{8}Kh+9BYh*6d7o7ke}Eb2Nr|6ZCH;G2|7k!K7Y0E0DZsg(z|n6Z6A9A$V*O1*i?n!Xf9#@t}MI z==b{c{5KbNjO{{X#|qkIv?_-G)nwANxoG{3G19hCcZs;6MfOHPx9@>N*MD82o} z`oLdEjKAjl27n~NYn7>L1onC5{MhE~hYS2e9^p^nqI#1y!vV6josBAYIThe^SU^(( zhK7_eebtm)C|YKg>^FcA6HnMz-MF4lGn)C+e^^?qPRF@qKc^wANoi%xARg)ATFeij zX;=S!X5OsF`(4ia{&x1twFO<6j3}*d75&6{9V==LC{?8-%Bo*pzDY9=cDfCOWvT( z_=*K=^63S;q=gE8OInRRt2Mgtb`U-%{pLgeb}&Ubm4?o-=zJC?g;J7IQb{(I77YPD zp%8@urSRou=zg?jNO4jwrRn?^ADkB+IaD!N-`XO-#GYJ$*GLaah;3%Zp{WzqWpHA3 zgUs6>aAJw&a~}GYdU~4?WJc>&(WXqa4UrK$93@$O?S!3D*w7mkm~a6MO{M@nBjh@j zM}onV>(-`S@lm7Whp4-w^iq$R2mCjYy#e%=VtPL48;S6c#%Jq37I=1y)V!=S^NkB~ znlwRh?K8WSIV^k>a{7k9I&fC_$(wvkwVHW@FlkTgBmeAC#9gp-BFb(U@jT=mtb`e8^zRX3ip~#(_}QD z4%l7o-o@hfAqrs%1;=Uup?UJGHys@KaD8lpcaLoG9mpO2ip#b$=$tk_&}pEC3I4l8 zeJ-QPHl<88q3|yNXMKpyF%Or%Z8pLua29@YET}%8$Dbs6g?Yl|d~y(xqIP|Mgm9m2uQP!vDZ+7S1duwT6}mrKqAZSyJQh)vh#%qX}yk9aHm@=S0@ zh1sf-^t{>Hxc5sv{mr`?e`34BPom~;HI>$Jl+zn8%}34sBgy@TL+%?Q;=nOFqUJ9f zH6}f*B=U9;Tv7u?aU`n6t$2Gh2kL%BV$*OAGC=zt6luN%mWJdg>y(#CAXdUO?X^Ycp6bUav%)fzbk2YiDOrYKV)w=gzQ z;`LN7TxaP5Kg~Bl{&()ePgjFp(tX`ye|trf4Pm$e{b;70F4+LK?GD943FSSe*7P5%^!aP3q)<%MAY|U%)RmuA2(XCaP`AcOI$gZ#N}{6~UVN^yyorLT1ymTuP=^cc$e{?2{XKm^laqHT<@JA1|92t;~M~uj@im{^qy}J<+T0F1RuekU-8yy!=WEnU5LJ- z)4B`TS>&`49pB$xeWPf1OI1L{Uq6u zK#+-;1W||;L75F4NEn421L6@01(Xc)>u*q50{iE7oe~OeS(T0cPqqS_A6T`Kfm}Xi zENOEyP~yCx+=N61!PJ3ZwPYWG(T~lGHT_*De%-uJD3~XeI{XK+bCp$roL_U&@vj1f8ASz?IX-A8z@Hv=tqL5Rid+v$zZKgak z8zpI_v1faVPvf;bQ1_y>pf2H8q6JIG91!3r2%8dh;0u31ECfg{QybfzKEP?gs<2EG zFmM%P!kbbzMowZ_Z5v>(bK;hQ=;Tbbf&#a+PLF6cvxfvZUotPTu|uxlKwR7yMnk~G z9>=QPHPB`*#uv%A^DdpGJ1*d#-se){Xw=ASr1YOECwy3liL6``@$f$jze4u81Gdy37trvP(O7hgZqS=ei3HbIk}zX`M{ygkjR z1^TC^V?$1{WVt1eAdG;O%9HEYkWhpP`$s-^W5&8*dTd0=Q)b8jXu*V@SeUttQ@af_ zbGF=gY*RlW$xzB4(p|^!`%UG1uZ&}#*=!L^mjv7@S`Q{p=sVmsaLIPn~{JEXlFoGqg`abL9*gGq78zic~u738Or|V0R@l!}NQNKIosfs&B zwiYQkBeET{v>9CzLJXI;nQ^__UBUIKsF@9w;pCHu%S@(ZbE_^FtSv2qY%vq_#$H0 zk?pYVoUyh=m2^I*rhsROqZAGK`?uiN9~&Y#!3G_iO+1t=fg?mkd;NrVs`|oyo!#_o zwfzix1*@zRe5&PzmbvH({OhvadHYJ`L4n}NT(WP#XdHX;#9F!EKWx0%H|Oq(_=GO- zr~sWe2){jbg=)T%OuBvus;T1IED{bN0F-a!O3EK`rmWKj`buSp4w%GEQXR0;0+8rK zx!>UPGH^q_(rnV}btEFP+=aL;eo3@mM$XH(0gX0j(RAjm_aa-AV^QC6|acaz&} z@xRb$c}kdefg^oYXS~9=F8^R`ksY=E3A8p2dz2RRlp@bV5uW_41cTzBE`+8K{~UvW zqZ}_0;~lufDnRG&l}|!#fx6*TFegFIp(gx{k-x~}v3o<&mNiI!UGezi1$1H0Mw3ye zBtN)l=0*V*j)%@2@rl5fOmR~hUaDW*1Q`z1pf-~-R7N2FaZlmyDQ*3v7Qwn8!3%>Z z<-E#SI1bicyr(BwTToU*=YL|<|3GvI(KNpIYA&8ZSp}oM!LJK15=PsFAgjcuI#IbX z>16mIvlID2sNBQvo}mq@lAOD~7GJm~Jd5TQrwaLK_1maD$bC;bR;nGe zm}@x+w=*yCg-%xI&6~zu;@sotL5W>>JWT~+nTRW36T=2Q4+bEDN2SS`$jGl|m3er^ z3Zk9?Yqd24p$@M-fKE9&Jq9pJG$yp>}(I&9dp zKTxm+osnEyDQ%!*iEXom*z341BPQkJ66lwf_YjM2L>0IeYSD0U`Sc|8=dAmO{XEIB z;k~kp#45z7H!p3=xE}lAuA>SLR-VMc`I&W8mS$U>I*8Ls-PGF-HC0#YV72teZK5$^ z1UQ8w@k)%ZVzlga_5|TwNla9PqwZ}TmE{SiZ8pf8ww`8KnqPe_*J7O0x7<{GL}TMX z=D-;R@beHla~0P2yCcrRD1Blx;QpzRmq7DZ+<%l>wD!jP?Lm@f^ zzx4+Sq=73sWi0z*rO6plI&PY0*z%*HQL0)Mc42*~W&rZeh=%c_AxrYj>+5Hu^2=sYnY^nT5A}EPm25V(lb%VXqLPMA-Ci!^* zq^f*h=^M~srTJ?Cx4hMGA320QouXiOO}ZXn8$d@cfho8a^A;D#CXd+kY#YG$n{B8C z{GXi4$ILP-wJNOpS>29rM735X@3BxrX13;tDH{mV?qk|7h%)Tw&;S+G=wGc#B~CbI zT;pJm?lE!Q9lykzr|H7s{6#o^_ENDP>P_xYMg8*>$f#y1K~PJH3hkamtn|>4K|K zF`9~TC_S;}lz~HA8{ehc;X}U%cu&(o-fSIB>-P&K#xT>7Yv0J<$=vg6zf=g%D_y%c z8w?Q%CU1>Sf*@A|O?$lNYqeMreE2qY{dojefzaMV0a?YJv3Sb%h2$&TbGR6M4jt??thQim)fc>m#jRP+JCh2H{AsSUP(z+FQUI;~X+DVs= zVp@f3_v(E%YgcoJa}27wT4COWeQmSoF=@g}n#HcPHG+1Kqhj-2?guKQwJ7*!FPqHgoq#0coh?42iryd9G~>H1v{0 z)z-DxVz{UHKnK*ZwefXR4OduY(b1%gf??1}zP3M5wWT;)y0DMYUMen9?!qULU?Lop zv6>k^(3{(B=jQz3rVHag`;VOTGDLZ9BE8|LIj?0mH}^?!WqsE66axf(y~Isr>rAxC#g^?>JV>S!WK3EM#*;&(4+r(NhCj+o|6CYUn$-3v|B5KMc8uMkDzjV10d1Nv0*;BH%_@F|+gSqkO^kRCYQDZGvs z*LEOzP%T}>?Khw0qJlI-dR<0LATY<_fPX#9T2ZOm&)W=i)Rwr#MpRn~V8HQ8S1&U? zDEBPn`>~fERNIK-Yq;aDnIY4+W^h-qD|@(aap|9xFSa$e>fE*f(^;{>x7asqsRI>~ zyS$PlZqr-g<&D!mgw4nY?z2rr(KWs6s%jmjr%vUU;#lQ^iQy>aLgiPF=AtQH_{iT#xJ- zTc}0SF)h-ov3ejB_dJ(-b%3HS6zOd>R%A+hL+?ZeMKIaTO=uRmtUo9Hw)Z!JzQF~b zN0G^Kf*Y=&=3}A;(M2L#2jl>*u9rA9Y4uYJ&Sks((^f$XzTpZWF^ zFhT6wJ2`C)o$f^^!}uuDF$>O;f#_1AX)FTmNmAU#A8LGT!yM-5W7 zZ0?I{*td#e(tS*WI(|! zW<()h(%_EaSTsk6act*dlk)B=@(m~dv$E)L4bpmD09~~*;OYBND zC-}8%l7>M*QyC znP3Zc@x^D>86ILy2f=u5ek)(G5snNBqwK6er=Z}zeg zmpu(|+!)}^CkaE}{Y$dF1ZWh*iUwZ@Dl_36A~lZbPLXwyGFZr z;BW>b^r>_ti_6RuQa{bR`{s^QA3bU1*z=F)?%?ithJFK*b0!8!#F3%o2oJ|Kj&yhB z7&A3gizF_}M0;(!P?;wZPe7n!f>K zPv9N|DhmJ)^PDrAV*{jHsK0w#IQB4xdjUo|mz|-%79``jrGN{wwn z`5J|$yH`XwJhQm8fGtKGSs-hFO2Wx#%4CWFZJqZUP{*endS%2!MnyJ5j?PS z_JS6Whg0>4YNVZgc9)d>p0;hPfiUyBaIq89bX|08={LY)qlTS*FIOgvX_BjRTy=5N zK25fQGJ+nc;WPGZ&G~)^_GoBdWwg|TewGl7C3M5+L4k*6i#yu4j8TcO6T^L=Xceeu z&ODv}pC?9}D&B%Kg+r)W4LS`J9iT1!oDn5cxyfyW70gAd#E@V9CT7}2X0(^F)2@pz z$S5EP^Kt4~{^?P!SC6Du#iQQ|2!fkDGCHC!ok&_^V4Kv!DRGBQtWt}p2ajL%Bx5;f zj$31d$C>Kq-0q$DNTmZ(!5cDzRJFz4bxc_kxgg>;=%H|lwYH9;W(~JaVEsHqZ^Y%fAj0{PTpLkBv(^;Q{le`yo-FElE%|p=P zT{w%z8Yk^KlZdvefb}xT8?Uc%>fWa+W!_{iuOD)@<0~)HXDbq7(;Cnr-6?l-e>n?s zmubQZSGYcmpEMIF$YJ0X@qJM1$!gyYPQqRjTtR5x%l2mPcW^e(9yH}}+yTFUEyagv zvT47T41U&D!WkEwSB)-mG~5%w`2pT}(J1Wc(O3?MM8$5-{2s3$B7deV?H%IbtyH_S zSZ#N~RkwzlI$%a0tZr4z@_tny2-x-a6idu|d8kEmwM|QN1-5?PbKBUMJ|d8MSR3N0 zU~HzTd?YKB1B7yijkFJmPZ9MbVv(e)qqm}iIcZtRs`>~=MmS>D6^^ZI3ENwS6iq9_ z5MQ6qwrZ+wlGeBxgmS*Jg3~c_b-6a4SO*2V3YIbZagK6_c@si+?hh5X%<+7$sGz(P zrJ%h5CoZyV^;fa$?j9Li$x z*&Y$JoKe4@a~|%gv&9ly(=_Cg}_w@65TyDqth~`n(&*f zb;(TKhKaRp!fLzaR>C&%gn@f?vx7#Ef|vsFa++57mXL((g5z?|q0)HmqzmZO#Xm7i zqK&V#DmJBm{g`i$vfeN3RJJANJ;%G3==dP9vSw6<(})UHBZE@yqcYWiPJ(JssCQ2A z@ziKExoLuiJJF_XM^sbOkXb6HEtg;8jEj9#&Bo5IRb|x18`#3oHOe?kK7QsX5O? z?w*n{RzV1ubxs&_l|B&Z5NiqjW_?*Xw17i!+MHrcGyqF~#U%T-V$cY&c;1&LN$5XN z4dM@M@WXTbFUj%0Xblhm=?6nlG;lx+i2uP22!Bum#@qj)H}VrLr5}*B4$5yeVrlOs z3HmXPr)sMtb;v+v3>)?JZ}v-p)q8O2>RZ22?W{01W$gHQCNle1Qm1;q3s|A$+4${4 zN6Mibg%1m-Je+QLkKb^#R8ZA)#uQ5ytkWSlNU>yE|L%wtIu-pC;Wk%!TF*>IM6RI` zsJy2+<=xgmJYukQE-9a0mvuKxS0{nhxaYyRUf@u={HpdVFN42<*M7ccxDH2Tv4uH# zN`*1jN_^Pl)g()3$dVctn-g)&(Tj443?Cn=5LKOIg4+Bb#GFGPgaGvv8pne$dc1{| zFC5G(Zlx`Bz51ZyL)R7S?+52j=ArAJ)N^`LevHUl&C{w1%m@o~$d!wS1TZ4^k~g%Z zLXKZE<|vgS7c*jSl&Fz0El!pw zJ3Qbd>-~}70YP9c;IOS%+wPW%3S!n=cgt~D!+}=Ucle!V=GC@lfs#`@^v{4jrk$lD zfJhCitt0mdYh)lb<(b?2kbWt6OFkkM=F;I=>15G-K!<0+uQ>tqA(*-$Bc5kQ9kjjd z$R-|PW0)+yV7wOjV9Ly7)%(WTyr=hPbN32<1LE;mERr%QgtTH$ z^gB;(u{sL!#dudA{DGRRICRi&kv6bZXNS;c|3K}|o9ZhK^MsnPXDr!nyo`(!>!SJV zw%%kMIKc}{f$6kT>ceGn`5dZ&>fn}(w~iZwvqIBiZ1XEtw>YWYnO^f6O!k49d?pXI z`VK!Xj)=ip&g-6vRiL`ke3>40sI?0>=ahr@iO!?Ga%N~?ky7ts zrHP_x;$*7#cZ7I9=Oui$SrtYRWJCudj4WiO=i(3=l?eLUF{>uc4V$Y5ck?_AO*J4) z);+yn?aDm6g)DB_6w%AmJX4wtop!7uhEcjP)u*!`E5hNH>10vF@|Y^9=TX@@CU@l- z(~F9^iKUmhQ4grjN*tSytOk_}oBHzdB`MRIqas}vE#08X@_9?O-|FuVpIL(#L{hgU zp*p{@&)P|csTUPZyJWI6NBcS`-l)XVL@))qdqg@&q7LJ6WRbMLjS7aJcAQA7ovF6` zI4fFap_s;(7&Sb-a+&?~C5>-v+1h)OviQT3XRfxRwsNHSVR2UAukc zlZ2D=hlQmSCtIP?1|ebKExLe0O5_XDNqG`b6vyEgW)Tto{7^0_I$TOg#8&4J`9pIM zTD933(qwgvy~Y*XR@hqH^85x2fH$h*;49WG7=Yt}AK|?(XPb2%?J=@a^OzmWbYL@< zxDEFXD9vKqbBf-I9MA-f90n0G?;v*~N3;|pkp9rxh2^>W+}n(yrxI8Gi2n- zp3%dO&`R4F9-K~aro4KOp%QDl_kPBx`EI`j9PT|31?B7CJdk73Ab#!X+6{bc5#A`# zW!*fI&qY(X=R{`hPSUe4sT#ulmD}}T7&3i4B2V@_yco&8w`_YcW1QVZw5Z0|(=MQ) zGdaFxgrlroI7rG@d3q!WcJUv@2DjM9J@qKpMsq!!dbs}OIz`jFf~VhH_;!lilG26F z_&O1x>|i|~>n(%2NPixcdPfU00)${5 zO;`^KmBkrtZ}o3?Q!9b~rNt8-*-vb^ihj8~70K0#)E4Un+@x7MbP%Jo$sYWr9NyeG&V)MNitn=UMIfLjrLj5y4yfUgMH zkR~8(cL`#60y24v!EVgdS*voI9JOWZZ3h@$&Rt|$^OM30&GuvP%@Z#E& zSlViu4pfP5HW9RZVUzOc%nu3;#)^q(C->85hWR6kCXK}&UKW-UTkHpGRn0AxYJGT< zI-6O-7vf&MH_0a2rc|6m{x*jThDEfs?U_?ldv2ZHQFlmgpaMKwXidBGNz&0VqfN(A zY#S7w2Q~|4hj*nVQGMOtN<1zV`0Ga4(L#o{Q$@p>%D)e`!Os+;8=)D^!66|P z0C$!=Ri)sob(X~wk#F?VcZc0%9nvWeA@?jSP}ws7{6;`dIoKl{KQ4%v64&%RbX`sa zf}ue~5cYI-^Bo-bOMo=@fLLkfh&`!GPBvhnt+)e+t}>xp*!4|Z^3-YfHe{iBE_+?` zceK2Z>?WdO%lkahYOeB-28bn;;qEplcIpmpQBFy$EpInW=3hHG46iY#Okt(i!C9~0hfshDbx?QiBXWvaZ?Pxiw+H3Zgg}%$l4nuk5k4 zuladi!m7or*++sNPZvcC(YE522K^hL=^XwIFGD zFYz5l-}g+1r&MsAj>BV#Q)*n%G|4iC|1#j=;`ZO%ODAXbY&-_-#C~k2-uw#R+|&C8 z#C!uF<|k_92kcKzY)fp7e2mH)Y>1?Jj98?@N(jGfEK?M|8YWc#;D_0-Y5@ikOI_7t zgkA%to{44ug;jgj8$owpBmK(|KHZW<&?7W*x!tA$i>N3+(D|u}|sytpA$H3+0%MN5n=C zvIqg#ID7*XzUXrcKLmi*yhs!$ErF>xA}PcmFOD8)Un7d)y~=iDJACp%4BW)BRy@SQ zMU;1W!w!N~UAfoA+m95JEE>B!KA$~){!+HQxVh!hQPf$))iIxdXlO=rQ;bB@yto}i zr9K!2(d4-wYN^YDn0|8EQVJ4kd2i@AtH@gin&zAFD=PpoldKZK3Z$_be2p$5FVz|J zEbEtt2aDAcu*}`~7}SC1G|Zn6qhM5|!!PMog(~Aay#o`1hP2Z0`}gehxalKu(3vTq z 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 K>7VESzX<>g#~d>N literal 0 HcmV?d00001 diff --git a/images/e/8/5/9/c/e859c96d90d8565703a08d74792a0cbce60da381-thumb-pdf.png b/images/e/8/5/9/c/e859c96d90d8565703a08d74792a0cbce60da381-thumb-pdf.png new file mode 100644 index 0000000000000000000000000000000000000000..16f2aa7e8e3e0b59f0d5a5fa63359f522ef9691b GIT binary patch literal 5776 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 literal 0 HcmV?d00001 diff --git a/images/e/a/a/a/c/eaaacac8968aa1d9f9f5e6827b55d4b2cd0bd4d1-spinoza10.jpeg b/images/e/a/a/a/c/eaaacac8968aa1d9f9f5e6827b55d4b2cd0bd4d1-spinoza10.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..b202d0d365c55c8d66444277fb2ed99b2f2bc87e GIT binary patch literal 14423 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 literal 0 HcmV?d00001 diff --git a/images/e/a/b/4/d/eab4d18bb9f3daf8eb3752a131c6df6002e0aa9c-notedessinehd.jpeg b/images/e/a/b/4/d/eab4d18bb9f3daf8eb3752a131c6df6002e0aa9c-notedessinehd.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..682413b0e8c6d12623e6497be3774322baf310ae GIT binary patch literal 17067 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 H@Db18Gw9;S9eM1rnKMlHk__#X~&h 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 VS=(9BbaFQ*-d&(J7V_Wv{{wt2v=jgU literal 0 HcmV?d00001 diff --git a/images/e/d/6/0/d/ed60dd1c9794bccfb1cb9c4bdd968d5c547d0971-spinozapp003.jpeg b/images/e/d/6/0/d/ed60dd1c9794bccfb1cb9c4bdd968d5c547d0971-spinozapp003.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..eca6fb3dd0666323231ab8337131d8aff6f063dc GIT binary patch literal 11583 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

                                                                        7;oX1=m4h(pE0({$qbUbrhADX~)QO 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/grav install"); +} + +if (PHP_SAPI == 'cli-server') { + if (!isset($_SERVER['PHP_CLI_ROUTER'])) { + die("PHP webserver requires a router to run Grav, please use:

                                                                        php -S {$_SERVER["SERVER_NAME"]}:{$_SERVER["SERVER_PORT"]} system/router.php
                                                                        "); + } +} + +use Grav\Common\Grav; +use RocketTheme\Toolbox\Event\Event; + +if (version_compare($ver = PHP_VERSION, $req = GRAV_PHP_MIN, '<')) { + die(sprintf('You are running PHP %s, but Grav needs at least PHP %s to run.', $ver, $req)); +} + +// Register the auto-loader. +$loader = require_once $autoload; + +// Set timezone to default, falls back to system if php.ini not set +date_default_timezone_set(@date_default_timezone_get()); + +// Set internal encoding if mbstring loaded +if (!extension_loaded('mbstring')) { + die("'mbstring' extension is not loaded. This is required for Grav to run correctly"); +} +mb_internal_encoding('UTF-8'); + +// Get the Grav instance +$grav = Grav::instance( + array( + 'loader' => $loader + ) +); + +// Process the page +try { + $grav->process(); +} catch (\Exception $e) { + $grav->fireEvent('onFatalException', new Event(array('exception' => $e))); + throw $e; +} diff --git a/logs/.gitkeep b/logs/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/logs/popularity/daily.json b/logs/popularity/daily.json new file mode 100644 index 0000000..8bedbae --- /dev/null +++ b/logs/popularity/daily.json @@ -0,0 +1 @@ +{"11-12-2017":6,"12-12-2017":226,"18-12-2017":2,"19-12-2017":329,"20-12-2017":3,"21-12-2017":1,"24-12-2017":2,"11-01-2018":5,"22-01-2018":281,"25-01-2018":1,"29-01-2018":296,"30-01-2018":18,"31-01-2018":4,"08-02-2018":1,"09-02-2018":3,"14-02-2018":57,"15-02-2018":82,"16-02-2018":28,"17-02-2018":117,"19-02-2018":28,"20-02-2018":324,"21-02-2018":62,"27-02-2018":103,"28-02-2018":229,"06-03-2018":25,"22-03-2018":145,"23-03-2018":31,"24-03-2018":130,"25-03-2018":94,"11-04-2018":19} \ No newline at end of file diff --git a/logs/popularity/monthly.json b/logs/popularity/monthly.json new file mode 100644 index 0000000..26a0d1c --- /dev/null +++ b/logs/popularity/monthly.json @@ -0,0 +1 @@ +{"11-2017":956,"12-2017":2103,"01-2018":605,"02-2018":1034,"03-2018":425,"04-2018":19} \ No newline at end of file diff --git a/logs/popularity/totals.json b/logs/popularity/totals.json new file mode 100644 index 0000000..de1969f --- /dev/null +++ b/logs/popularity/totals.json @@ -0,0 +1 @@ +{"\/":5098,"\/home-2":6,"\/home-en":35,"\/home-fr":3} \ No newline at end of file diff --git a/logs/popularity/visitors.json b/logs/popularity/visitors.json new file mode 100644 index 0000000..028348d --- /dev/null +++ b/logs/popularity/visitors.json @@ -0,0 +1 @@ +{"127.0.0.1":1523460088} \ No newline at end of file diff --git a/robots.txt b/robots.txt new file mode 100644 index 0000000..3b558d6 --- /dev/null +++ b/robots.txt @@ -0,0 +1,11 @@ +User-agent: * +Disallow: /backup/ +Disallow: /bin/ +Disallow: /cache/ +Disallow: /grav/ +Disallow: /logs/ +Disallow: /system/ +Disallow: /vendor/ +Disallow: /user/ +Allow: /user/pages/ +Allow: /user/themes/ diff --git a/system/assets/debugger.css b/system/assets/debugger.css new file mode 100644 index 0000000..556da6a --- /dev/null +++ b/system/assets/debugger.css @@ -0,0 +1,54 @@ +div.phpdebugbar { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} + +.phpdebugbar pre { + padding: 1rem; +} + +.phpdebugbar div.phpdebugbar-header > div > * { + padding: 5px 15px; +} + +.phpdebugbar div.phpdebugbar-header > div.phpdebugbar-header-right > * { + padding: 5px 8px; +} + +.phpdebugbar div.phpdebugbar-header, .phpdebugbar a.phpdebugbar-restore-btn { + background-image: url(grav.png); +} + +.phpdebugbar a.phpdebugbar-restore-btn { + width: 13px; +} + +.phpdebugbar a.phpdebugbar-tab.phpdebugbar-active { + background: #3DB9EC; + color: #fff; + margin-top: -1px; + padding-top: 6px; +} + +.phpdebugbar .phpdebugbar-widgets-toolbar { + padding-left: 5px; +} + +.phpdebugbar input[type=text] { + padding: 0; + display: inline; +} + +.phpdebugbar dl.phpdebugbar-widgets-varlist, ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-label { + font-family: "DejaVu Sans Mono", Menlo, Monaco, Consolas, Courier, monospace; + font-size: 12px; +} + +ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-label { + text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff; + top: 0; +} + +.phpdebugbar pre, .phpdebugbar code { + margin: 0; + font-size: 14px; +} diff --git a/system/assets/grav.png b/system/assets/grav.png new file mode 100644 index 0000000000000000000000000000000000000000..3379934675630df9f249bb6740691f1480d13e78 GIT binary patch literal 548 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+3?vf;>QaFebFq_W2nPqp?T7vkfZU1zpAgso z|NsB~{rmIh&#zv+di3bgy?ghrUAuPa(xp?UP8~gZbno81TeogqyLRn@1qN}=VxbUr>CbUCnv|p$45m)g@uLr`T2QydAYf{ zIXOAm+1XiHS(%!e8X6kv>gob5y?LQs1?UEik|4ieAeR`xuy2)~1W*rWfk$L90|Vb2 z5N2eb5_}gZC{yAZQ4*Y=R#Ki=l*-_klAn~S;FejGTAp8&U98|7Z1!T$rXHX=5s*6P zqSVBa%=|oskj&gv26KH&eM6HKs@j%7`Qx50jv*3Lb0^#_YcddMaSxmrbkL0LsJzi^ z-cSGXU$EVZ`(hz(X?fo>EnV#Lnp5o$RzK~lnX?*6-$d`l z8H2YcuH+|Z?dyHZQ+ez**XsVNX0?fRPNFMRyN+9Y@;;**@bP0l+XkKVe0xy literal 0 HcmV?d00001 diff --git a/system/assets/jquery/jquery-2.1.4.min.js b/system/assets/jquery/jquery-2.1.4.min.js new file mode 100644 index 0000000..49990d6 --- /dev/null +++ b/system/assets/jquery/jquery-2.1.4.min.js @@ -0,0 +1,4 @@ +/*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){ +return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|&#?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*\s*$/g,ia={option:[1,""],thead:[1,"","
                                                                        "],col:[2,"","
                                                                        "],tr:[2,"","
                                                                        "],td:[3,"","
                                                                        "],_default:[0,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n("'); + return true; + } + + return false; + } + + /** + * Generate HTML from item URL + * + * @access public + * @param Item $item + * @return bool + */ + public function generateHtmlFromUrl(Item $item) + { + if (preg_match('/youtube\.com\/watch\?v=(.*)/', $item->getUrl(), $matches)) { + $item->setContent(''); + return true; + } + + return false; + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Logging/Logger.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Logging/Logger.php new file mode 100644 index 0000000..caec463 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Logging/Logger.php @@ -0,0 +1,114 @@ +format('Y-m-d H:i:s').'] '.$message; + } + } + + /** + * Get all logged messages. + * + * @static + * + * @return array + */ + public static function getMessages() + { + return self::$messages; + } + + /** + * Remove all logged messages. + * + * @static + */ + public static function deleteMessages() + { + self::$messages = array(); + } + + /** + * Set a different timezone. + * + * @static + * + * @see http://php.net/manual/en/timezones.php + * + * @param string $timezone Timezone + */ + public static function setTimeZone($timezone) + { + self::$timezone = $timezone ?: self::$timezone; + } + + /** + * Get all messages serialized into a string. + * + * @static + * + * @return string + */ + public static function toString() + { + return implode(PHP_EOL, self::$messages).PHP_EOL; + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/Atom.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/Atom.php new file mode 100644 index 0000000..bb2d40a --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/Atom.php @@ -0,0 +1,378 @@ + 'http://www.w3.org/2005/Atom', + ); + + /** + * Get the path to the items XML tree. + * + * @param SimpleXMLElement $xml Feed xml + * @return SimpleXMLElement[] + */ + public function getItemsTree(SimpleXMLElement $xml) + { + return XmlParser::getXPathResult($xml, 'atom:entry', $this->namespaces) + ?: XmlParser::getXPathResult($xml, 'entry'); + } + + /** + * Find the feed url. + * + * @param SimpleXMLElement $xml Feed xml + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findFeedUrl(SimpleXMLElement $xml, Feed $feed) + { + $feed->setFeedUrl($this->getUrl($xml, 'self')); + } + + /** + * Find the site url. + * + * @param SimpleXMLElement $xml Feed xml + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findSiteUrl(SimpleXMLElement $xml, Feed $feed) + { + $feed->setSiteUrl($this->getUrl($xml, 'alternate', true)); + } + + /** + * Find the feed description. + * + * @param SimpleXMLElement $xml Feed xml + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findFeedDescription(SimpleXMLElement $xml, Feed $feed) + { + $description = XmlParser::getXPathResult($xml, 'atom:subtitle', $this->namespaces) + ?: XmlParser::getXPathResult($xml, 'subtitle'); + + $feed->setDescription(XmlParser::getValue($description)); + } + + /** + * Find the feed logo url. + * + * @param SimpleXMLElement $xml Feed xml + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findFeedLogo(SimpleXMLElement $xml, Feed $feed) + { + $logo = XmlParser::getXPathResult($xml, 'atom:logo', $this->namespaces) + ?: XmlParser::getXPathResult($xml, 'logo'); + + $feed->setLogo(XmlParser::getValue($logo)); + } + + /** + * Find the feed icon. + * + * @param SimpleXMLElement $xml Feed xml + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findFeedIcon(SimpleXMLElement $xml, Feed $feed) + { + $icon = XmlParser::getXPathResult($xml, 'atom:icon', $this->namespaces) + ?: XmlParser::getXPathResult($xml, 'icon'); + + $feed->setIcon(XmlParser::getValue($icon)); + } + + /** + * Find the feed title. + * + * @param SimpleXMLElement $xml Feed xml + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findFeedTitle(SimpleXMLElement $xml, Feed $feed) + { + $title = XmlParser::getXPathResult($xml, 'atom:title', $this->namespaces) + ?: XmlParser::getXPathResult($xml, 'title'); + + $feed->setTitle(Filter::stripWhiteSpace(XmlParser::getValue($title)) ?: $feed->getSiteUrl()); + } + + /** + * Find the feed language. + * + * @param SimpleXMLElement $xml Feed xml + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findFeedLanguage(SimpleXMLElement $xml, Feed $feed) + { + $language = XmlParser::getXPathResult($xml, '*[not(self::atom:entry)]/@xml:lang', $this->namespaces) + ?: XmlParser::getXPathResult($xml, '@xml:lang'); + + $feed->setLanguage(XmlParser::getValue($language)); + } + + /** + * Find the feed id. + * + * @param SimpleXMLElement $xml Feed xml + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findFeedId(SimpleXMLElement $xml, Feed $feed) + { + $id = XmlParser::getXPathResult($xml, 'atom:id', $this->namespaces) + ?: XmlParser::getXPathResult($xml, 'id'); + + $feed->setId(XmlParser::getValue($id)); + } + + /** + * Find the feed date. + * + * @param SimpleXMLElement $xml Feed xml + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findFeedDate(SimpleXMLElement $xml, Feed $feed) + { + $updated = XmlParser::getXPathResult($xml, 'atom:updated', $this->namespaces) + ?: XmlParser::getXPathResult($xml, 'updated'); + + $feed->setDate($this->getDateParser()->getDateTime(XmlParser::getValue($updated))); + } + + /** + * Find the item published date. + * + * @param SimpleXMLElement $entry Feed item + * @param Item $item Item object + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findItemPublishedDate(SimpleXMLElement $entry, Item $item, Feed $feed) + { + $date = XmlParser::getXPathResult($entry, 'atom:published', $this->namespaces) + ?: XmlParser::getXPathResult($entry, 'published'); + + $item->setPublishedDate(!empty($date) ? $this->getDateParser()->getDateTime((string) current($date)) : null); + } + + /** + * Find the item updated date. + * + * @param SimpleXMLElement $entry Feed item + * @param Item $item Item object + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findItemUpdatedDate(SimpleXMLElement $entry, Item $item, Feed $feed) + { + $date = XmlParser::getXPathResult($entry, 'atom:updated', $this->namespaces) + ?: XmlParser::getXPathResult($entry, 'updated'); + + $item->setUpdatedDate(!empty($date) ? $this->getDateParser()->getDateTime((string) current($date)) : null); + } + + /** + * Find the item title. + * + * @param SimpleXMLElement $entry Feed item + * @param Item $item Item object + */ + public function findItemTitle(SimpleXMLElement $entry, Item $item) + { + $title = XmlParser::getXPathResult($entry, 'atom:title', $this->namespaces) + ?: XmlParser::getXPathResult($entry, 'title'); + + $item->setTitle(Filter::stripWhiteSpace(XmlParser::getValue($title)) ?: $item->getUrl()); + } + + /** + * Find the item author. + * + * @param SimpleXMLElement $xml Feed + * @param SimpleXMLElement $entry Feed item + * @param \PicoFeed\Parser\Item $item Item object + */ + public function findItemAuthor(SimpleXMLElement $xml, SimpleXMLElement $entry, Item $item) + { + $author = XmlParser::getXPathResult($entry, 'atom:author/atom:name', $this->namespaces) + ?: XmlParser::getXPathResult($entry, 'author/name') + ?: XmlParser::getXPathResult($xml, 'atom:author/atom:name', $this->namespaces) + ?: XmlParser::getXPathResult($xml, 'author/name'); + + $item->setAuthor(XmlParser::getValue($author)); + } + + /** + * Find the item content. + * + * @param SimpleXMLElement $entry Feed item + * @param \PicoFeed\Parser\Item $item Item object + */ + public function findItemContent(SimpleXMLElement $entry, Item $item) + { + $item->setContent($this->getContent($entry)); + } + + /** + * Find the item URL. + * + * @param SimpleXMLElement $entry Feed item + * @param \PicoFeed\Parser\Item $item Item object + */ + public function findItemUrl(SimpleXMLElement $entry, Item $item) + { + $item->setUrl($this->getUrl($entry, 'alternate', true)); + } + + /** + * Genereate the item id. + * + * @param SimpleXMLElement $entry Feed item + * @param \PicoFeed\Parser\Item $item Item object + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findItemId(SimpleXMLElement $entry, Item $item, Feed $feed) + { + $id = XmlParser::getXPathResult($entry, 'atom:id', $this->namespaces) + ?: XmlParser::getXPathResult($entry, 'id'); + + if (!empty($id)) { + $item->setId($this->generateId(XmlParser::getValue($id))); + } else { + $item->setId($this->generateId( + $item->getTitle(), $item->getUrl(), $item->getContent() + )); + } + } + + /** + * Find the item enclosure. + * + * @param SimpleXMLElement $entry Feed item + * @param \PicoFeed\Parser\Item $item Item object + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findItemEnclosure(SimpleXMLElement $entry, Item $item, Feed $feed) + { + $enclosure = $this->findLink($entry, 'enclosure'); + + if ($enclosure) { + $item->setEnclosureUrl(Url::resolve((string) $enclosure['href'], $feed->getSiteUrl())); + $item->setEnclosureType((string) $enclosure['type']); + } + } + + /** + * Find the item language. + * + * @param SimpleXMLElement $entry Feed item + * @param \PicoFeed\Parser\Item $item Item object + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findItemLanguage(SimpleXMLElement $entry, Item $item, Feed $feed) + { + $language = XmlParser::getXPathResult($entry, './/@xml:lang'); + $item->setLanguage(XmlParser::getValue($language) ?: $feed->getLanguage()); + } + + /** + * Find the item categories. + * + * @param SimpleXMLElement $entry Feed item + * @param Item $item Item object + * @param Feed $feed Feed object + */ + public function findItemCategories(SimpleXMLElement $entry, Item $item, Feed $feed) + { + $categories = XmlParser::getXPathResult($entry, 'atom:category/@term', $this->namespaces) + ?: XmlParser::getXPathResult($entry, 'category/@term'); + $item->setCategoriesFromXml($categories); + } + + /** + * Get the URL from a link tag. + * + * @param SimpleXMLElement $xml XML tag + * @param string $rel Link relationship: alternate, enclosure, related, self, via + * @return string + */ + private function getUrl(SimpleXMLElement $xml, $rel, $fallback = false) + { + $link = $this->findLink($xml, $rel); + + if ($link) { + return (string) $link['href']; + } + + if ($fallback) { + $link = $this->findLink($xml, ''); + return $link ? (string) $link['href'] : ''; + } + + return ''; + } + + /** + * Get a link tag that match a relationship. + * + * @param SimpleXMLElement $xml XML tag + * @param string $rel Link relationship: alternate, enclosure, related, self, via + * @return SimpleXMLElement|null + */ + private function findLink(SimpleXMLElement $xml, $rel) + { + $links = XmlParser::getXPathResult($xml, 'atom:link', $this->namespaces) + ?: XmlParser::getXPathResult($xml, 'link'); + + foreach ($links as $link) { + if ($rel === (string) $link['rel']) { + return $link; + } + } + + return null; + } + + /** + * Get the entry content. + * + * @param SimpleXMLElement $entry XML Entry + * @return string + */ + private function getContent(SimpleXMLElement $entry) + { + $content = current( + XmlParser::getXPathResult($entry, 'atom:content', $this->namespaces) + ?: XmlParser::getXPathResult($entry, 'content') + ); + + if (!empty($content) && count($content->children())) { + $xml_string = ''; + + foreach ($content->children() as $child) { + $xml_string .= $child->asXML(); + } + + return $xml_string; + } elseif (trim((string) $content) !== '') { + return (string) $content; + } + + $summary = XmlParser::getXPathResult($entry, 'atom:summary', $this->namespaces) + ?: XmlParser::getXPathResult($entry, 'summary'); + + return (string) current($summary); + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/DateParser.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/DateParser.php new file mode 100644 index 0000000..0e5b80e --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/DateParser.php @@ -0,0 +1,128 @@ + length ]. + * + * @var array + */ + public $formats = array( + DATE_ATOM => null, + DATE_RSS => null, + DATE_COOKIE => null, + DATE_ISO8601 => null, + DATE_RFC822 => null, + DATE_RFC850 => null, + DATE_RFC1036 => null, + DATE_RFC1123 => null, + DATE_RFC2822 => null, + DATE_RFC3339 => null, + 'l, d M Y H:i:s' => null, + 'D, d M Y H:i:s' => 25, + 'D, d M Y h:i:s' => 25, + 'D M d Y H:i:s' => 24, + 'j M Y H:i:s' => 20, + 'Y-m-d H:i:s' => 19, + 'Y-m-d\TH:i:s' => 19, + 'd/m/Y H:i:s' => 19, + 'D, d M Y' => 16, + 'Y-m-d' => 10, + 'd-m-Y' => 10, + 'm-d-Y' => 10, + 'd.m.Y' => 10, + 'm.d.Y' => 10, + 'd/m/Y' => 10, + 'm/d/Y' => 10, + ); + + /** + * Try to parse all date format for broken feeds. + * + * @param string $value Original date format + * + * @return DateTime + */ + public function getDateTime($value) + { + $value = trim($value); + + foreach ($this->formats as $format => $length) { + $truncated_value = $value; + if ($length !== null) { + $truncated_value = substr($truncated_value, 0, $length); + } + + $date = $this->getValidDate($format, $truncated_value); + if ($date !== false) { + return $date; + } + } + + return $this->getCurrentDateTime(); + } + + /** + * Get a valid date from a given format. + * + * @param string $format Date format + * @param string $value Original date value + * + * @return DateTime|bool + */ + public function getValidDate($format, $value) + { + $date = DateTime::createFromFormat($format, $value, $this->getTimeZone()); + + if ($date !== false) { + $errors = DateTime::getLastErrors(); + + if ($errors['error_count'] === 0 && $errors['warning_count'] === 0) { + return $date; + } + } + + return false; + } + + /** + * Get the current datetime. + * + * @return DateTime + */ + public function getCurrentDateTime() + { + return new DateTime('now', $this->getTimeZone()); + } + + /** + * Get DateTimeZone instance + * + * @access public + * @return DateTimeZone + */ + public function getTimeZone() + { + return new DateTimeZone($this->config->getTimezone() ?: $this->timezone); + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/Feed.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/Feed.php new file mode 100644 index 0000000..a56e71c --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/Feed.php @@ -0,0 +1,315 @@ +$property.PHP_EOL; + } + + $output .= 'Feed::date = '.$this->date->format(DATE_RFC822).PHP_EOL; + $output .= 'Feed::isRTL() = '.($this->isRTL() ? 'true' : 'false').PHP_EOL; + $output .= 'Feed::items = '.count($this->items).' items'.PHP_EOL; + + foreach ($this->items as $item) { + $output .= '----'.PHP_EOL; + $output .= $item; + } + + return $output; + } + + /** + * Get title. + */ + public function getTitle() + { + return $this->title; + } + + /** + * Get description. + */ + public function getDescription() + { + return $this->description; + } + + /** + * Get the logo url. + */ + public function getLogo() + { + return $this->logo; + } + + /** + * Get the icon url. + */ + public function getIcon() + { + return $this->icon; + } + + /** + * Get feed url. + */ + public function getFeedUrl() + { + return $this->feedUrl; + } + + /** + * Get site url. + */ + public function getSiteUrl() + { + return $this->siteUrl; + } + + /** + * Get date. + */ + public function getDate() + { + return $this->date; + } + + /** + * Get language. + */ + public function getLanguage() + { + return $this->language; + } + + /** + * Get id. + */ + public function getId() + { + return $this->id; + } + + /** + * Get feed items. + */ + public function getItems() + { + return $this->items; + } + + /** + * Return true if the feed is "Right to Left". + * + * @return bool + */ + public function isRTL() + { + return Parser::isLanguageRTL($this->language); + } + + /** + * Set feed items. + * + * @param Item[] $items + * @return Feed + */ + public function setItems(array $items) + { + $this->items = $items; + return $this; + } + + /** + * Set feed id. + * + * @param string $id + * @return Feed + */ + public function setId($id) + { + $this->id = $id; + return $this; + } + + /** + * Set feed title. + * + * @param string $title + * @return Feed + */ + public function setTitle($title) + { + $this->title = $title; + return $this; + } + + /** + * Set feed description. + * + * @param string $description + * @return Feed + */ + public function setDescription($description) + { + $this->description = $description; + return $this; + } + + /** + * Set feed url. + * + * @param string $feedUrl + * @return Feed + */ + public function setFeedUrl($feedUrl) + { + $this->feedUrl = $feedUrl; + return $this; + } + + /** + * Set feed website url. + * + * @param string $siteUrl + * @return Feed + */ + public function setSiteUrl($siteUrl) + { + $this->siteUrl = $siteUrl; + return $this; + } + + /** + * Set feed date. + * + * @param \DateTime $date + * @return Feed + */ + public function setDate($date) + { + $this->date = $date; + return $this; + } + + /** + * Set feed language. + * + * @param string $language + * @return Feed + */ + public function setLanguage($language) + { + $this->language = $language; + return $this; + } + + /** + * Set feed logo. + * + * @param string $logo + * @return Feed + */ + public function setLogo($logo) + { + $this->logo = $logo; + return $this; + } + + /** + * Set feed icon. + * + * @param string $icon + * @return Feed + */ + public function setIcon($icon) + { + $this->icon = $icon; + return $this; + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/Item.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/Item.php new file mode 100644 index 0000000..2ce772d --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/Item.php @@ -0,0 +1,533 @@ +namespaces); + } + + /** + * Get specific XML tag or attribute value. + * + * @param string $tag Tag name (examples: guid, media:content) + * @param string $attribute Tag attribute + * + * @return array|false Tag values or error + */ + public function getTag($tag, $attribute = '') + { + if ($attribute !== '') { + $attribute = '/@'.$attribute; + } + + $query = './/'.$tag.$attribute; + $elements = XmlParser::getXPathResult($this->xml, $query, $this->namespaces); + + if ($elements === false) { // xPath error + return false; + } + + return array_map(function ($element) { return (string) $element;}, $elements); + } + + /** + * Return item information. + * + * @return string + */ + public function __toString() + { + $output = ''; + + foreach (array('id', 'title', 'url', 'language', 'author', 'enclosureUrl', 'enclosureType') as $property) { + $output .= 'Item::'.$property.' = '.$this->$property.PHP_EOL; + } + + $publishedDate = $this->publishedDate != null ? $this->publishedDate->format(DATE_RFC822) : null; + $updatedDate = $this->updatedDate != null ? $this->updatedDate->format(DATE_RFC822) : null; + + $categoryString = $this->categories != null ? implode(',', $this->categories) : null; + + $output .= 'Item::date = '.$this->date->format(DATE_RFC822).PHP_EOL; + $output .= 'Item::publishedDate = '.$publishedDate.PHP_EOL; + $output .= 'Item::updatedDate = '.$updatedDate.PHP_EOL; + $output .= 'Item::isRTL() = '.($this->isRTL() ? 'true' : 'false').PHP_EOL; + $output .= 'Item::categories = ['.$categoryString.']'.PHP_EOL; + $output .= 'Item::content = '.strlen($this->content).' bytes'.PHP_EOL; + + return $output; + } + + /** + * Get title. + * + * @return string + */ + public function getTitle() + { + return $this->title; + } + + /** + * Get URL + * + * @access public + * @return string + */ + public function getUrl() + { + return $this->url; + } + + /** + * Set URL + * + * @access public + * @param string $url + * @return Item + */ + public function setUrl($url) + { + $this->url = $url; + return $this; + } + + /** + * Get id. + * + * @return string + */ + public function getId() + { + return $this->id; + } + + /** + * Get date. + * + * @return \DateTime + */ + public function getDate() + { + return $this->date; + } + + /** + * Get published date. + * + * @return \DateTime + */ + public function getPublishedDate() + { + return $this->publishedDate; + } + + /** + * Get updated date. + * + * @return \DateTime + */ + public function getUpdatedDate() + { + return $this->updatedDate; + } + + /** + * Get content. + * + * @return string + */ + public function getContent() + { + return $this->content; + } + + /** + * Set content + * + * @access public + * @param string $value + * @return Item + */ + public function setContent($value) + { + $this->content = $value; + return $this; + } + + /** + * Get enclosure url. + * + * @return string + */ + public function getEnclosureUrl() + { + return $this->enclosureUrl; + } + + /** + * Get enclosure type. + * + * @return string + */ + public function getEnclosureType() + { + return $this->enclosureType; + } + + /** + * Get language. + * + * @return string + */ + public function getLanguage() + { + return $this->language; + } + + /** + * Get categories. + * + * @return array + */ + public function getCategories() + { + return $this->categories; + } + + /** + * Get author. + * + * @return string + */ + public function getAuthor() + { + return $this->author; + } + + /** + * Return true if the item is "Right to Left". + * + * @return bool + */ + public function isRTL() + { + return Parser::isLanguageRTL($this->language); + } + + /** + * Set item id. + * + * @param string $id + * @return Item + */ + public function setId($id) + { + $this->id = $id; + return $this; + } + + /** + * Set item title. + * + * @param string $title + * @return Item + */ + public function setTitle($title) + { + $this->title = $title; + return $this; + } + + /** + * Set author. + * + * @param string $author + * @return Item + */ + public function setAuthor($author) + { + $this->author = $author; + return $this; + } + + /** + * Set item date. + * + * @param \DateTime $date + * @return Item + */ + public function setDate($date) + { + $this->date = $date; + return $this; + } + + /** + * Set item published date. + * + * @param \DateTime $publishedDate + * @return Item + */ + public function setPublishedDate($publishedDate) + { + $this->publishedDate = $publishedDate; + return $this; + } + + /** + * Set item updated date. + * + * @param \DateTime $updatedDate + * @return Item + */ + public function setUpdatedDate($updatedDate) + { + $this->updatedDate = $updatedDate; + return $this; + } + + /** + * Set enclosure url. + * + * @param string $enclosureUrl + * @return Item + */ + public function setEnclosureUrl($enclosureUrl) + { + $this->enclosureUrl = $enclosureUrl; + return $this; + } + + /** + * Set enclosure type. + * + * @param string $enclosureType + * @return Item + */ + public function setEnclosureType($enclosureType) + { + $this->enclosureType = $enclosureType; + return $this; + } + + /** + * Set item language. + * + * @param string $language + * @return Item + */ + public function setLanguage($language) + { + $this->language = $language; + return $this; + } + + /** + * Set item categories. + * + * @param array $categories + * @return Item + */ + public function setCategories($categories) + { + $this->categories = $categories; + return $this; + } + + /** + * Set item categories from xml. + * + * @param |SimpleXMLElement[] $categories + * @return Item + */ + public function setCategoriesFromXml($categories) + { + if ($categories !== false) { + $this->setCategories( + array_map( + function ($element) { + return trim((string) $element); + }, + $categories + ) + ); + } + + return $this; + } + + /** + * Set raw XML. + * + * @param \SimpleXMLElement $xml + * @return Item + */ + public function setXml($xml) + { + $this->xml = $xml; + return $this; + } + + /** + * Get raw XML. + * + * @return \SimpleXMLElement + */ + public function getXml() + { + return $this->xml; + } + + /** + * Set XML namespaces. + * + * @param array $namespaces + * @return Item + */ + public function setNamespaces($namespaces) + { + $this->namespaces = $namespaces; + return $this; + } + + /** + * Get XML namespaces. + * + * @return array + */ + public function getNamespaces() + { + return $this->namespaces; + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/MalformedXmlException.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/MalformedXmlException.php new file mode 100644 index 0000000..efaf0ff --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/MalformedXmlException.php @@ -0,0 +1,13 @@ +fallback_url = $fallback_url; + $xml_encoding = XmlParser::getEncodingFromXmlTag($content); + + // Strip XML tag to avoid multiple encoding/decoding in the next XML processing + $this->content = Filter::stripXmlTag($content); + + // Encode everything in UTF-8 + Logger::setMessage(get_called_class().': HTTP Encoding "'.$http_encoding.'" ; XML Encoding "'.$xml_encoding.'"'); + $this->content = Encoding::convert($this->content, $xml_encoding ?: $http_encoding); + + $this->itemPostProcessor = new ItemPostProcessor($this->config); + $this->itemPostProcessor->register(new ContentGeneratorProcessor($this->config)); + $this->itemPostProcessor->register(new ContentFilterProcessor($this->config)); + } + + /** + * Parse the document. + * @return Feed + * @throws MalformedXmlException + */ + public function execute() + { + Logger::setMessage(get_called_class().': begin parsing'); + + $xml = XmlParser::getSimpleXml($this->content); + + if ($xml === false) { + Logger::setMessage(get_called_class().': Applying XML workarounds'); + $this->content = Filter::normalizeData($this->content); + $xml = XmlParser::getSimpleXml($this->content); + + if ($xml === false) { + Logger::setMessage(get_called_class().': XML parsing error'); + Logger::setMessage(XmlParser::getErrors()); + throw new MalformedXmlException('XML parsing error'); + } + } + + $this->used_namespaces = $xml->getNamespaces(true); + $xml = $this->registerSupportedNamespaces($xml); + + $feed = new Feed(); + + $this->findFeedUrl($xml, $feed); + $this->checkFeedUrl($feed); + + $this->findSiteUrl($xml, $feed); + $this->checkSiteUrl($feed); + + $this->findFeedTitle($xml, $feed); + $this->findFeedDescription($xml, $feed); + $this->findFeedLanguage($xml, $feed); + $this->findFeedId($xml, $feed); + $this->findFeedDate($xml, $feed); + $this->findFeedLogo($xml, $feed); + $this->findFeedIcon($xml, $feed); + + foreach ($this->getItemsTree($xml) as $entry) { + $entry = $this->registerSupportedNamespaces($entry); + + $item = new Item(); + $item->xml = $entry; + $item->namespaces = $this->used_namespaces; + + $this->findItemAuthor($xml, $entry, $item); + + $this->findItemUrl($entry, $item); + $this->checkItemUrl($feed, $item); + + $this->findItemTitle($entry, $item); + $this->findItemContent($entry, $item); + + // Id generation can use the item url/title/content (order is important) + $this->findItemId($entry, $item, $feed); + $this->findItemDate($entry, $item, $feed); + $this->findItemEnclosure($entry, $item, $feed); + $this->findItemLanguage($entry, $item, $feed); + $this->findItemCategories($entry, $item, $feed); + + $this->itemPostProcessor->execute($feed, $item); + $feed->items[] = $item; + } + + Logger::setMessage(get_called_class().PHP_EOL.$feed); + + return $feed; + } + + /** + * Check if the feed url is correct. + * + * @param Feed $feed Feed object + */ + public function checkFeedUrl(Feed $feed) + { + if ($feed->getFeedUrl() === '') { + $feed->feedUrl = $this->fallback_url; + } else { + $feed->feedUrl = Url::resolve($feed->getFeedUrl(), $this->fallback_url); + } + } + + /** + * Check if the site url is correct. + * + * @param Feed $feed Feed object + */ + public function checkSiteUrl(Feed $feed) + { + if ($feed->getSiteUrl() === '') { + $feed->siteUrl = Url::base($feed->getFeedUrl()); + } else { + $feed->siteUrl = Url::resolve($feed->getSiteUrl(), $this->fallback_url); + } + } + + /** + * Check if the item url is correct. + * + * @param Feed $feed Feed object + * @param Item $item Item object + */ + public function checkItemUrl(Feed $feed, Item $item) + { + $item->url = Url::resolve($item->getUrl(), $feed->getSiteUrl()); + } + + /** + * Find the item date. + * + * @param SimpleXMLElement $entry Feed item + * @param Item $item Item object + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findItemDate(SimpleXMLElement $entry, Item $item, Feed $feed) + { + $this->findItemPublishedDate($entry, $item, $feed); + $this->findItemUpdatedDate($entry, $item, $feed); + + if ($item->getPublishedDate() === null) { + // Use the updated date if available, otherwise use the feed date + $item->setPublishedDate($item->getUpdatedDate() ?: $feed->getDate()); + } + + if ($item->getUpdatedDate() === null) { + // Use the published date as fallback + $item->setUpdatedDate($item->getPublishedDate()); + } + + // Use the most recent of published and updated dates + $item->setDate(max($item->getPublishedDate(), $item->getUpdatedDate())); + } + + /** + * Get Item Post Processor instance + * + * @access public + * @return ItemPostProcessor + */ + public function getItemPostProcessor() + { + return $this->itemPostProcessor; + } + + /** + * Get DateParser instance + * + * @access public + * @return DateParser + */ + public function getDateParser() + { + if ($this->dateParser === null) { + $this->dateParser = new DateParser($this->config); + } + + return $this->dateParser; + } + + /** + * Generate a unique id for an entry (hash all arguments). + * + * @return string + */ + public function generateId() + { + return hash($this->hash_algo, implode(func_get_args())); + } + + /** + * Return true if the given language is "Right to Left". + * + * @static + * @param string $language Language: fr-FR, en-US + * @return bool + */ + public static function isLanguageRTL($language) + { + $language = strtolower($language); + + $rtl_languages = array( + 'ar', // Arabic (ar-**) + 'fa', // Farsi (fa-**) + 'ur', // Urdu (ur-**) + 'ps', // Pashtu (ps-**) + 'syr', // Syriac (syr-**) + 'dv', // Divehi (dv-**) + 'he', // Hebrew (he-**) + 'yi', // Yiddish (yi-**) + ); + + foreach ($rtl_languages as $prefix) { + if (strpos($language, $prefix) === 0) { + return true; + } + } + + return false; + } + + /** + * Set Hash algorithm used for id generation. + * + * @param string $algo Algorithm name + * @return \PicoFeed\Parser\Parser + */ + public function setHashAlgo($algo) + { + $this->hash_algo = $algo ?: $this->hash_algo; + return $this; + } + + /** + * Set config object. + * + * @param \PicoFeed\Config\Config $config Config instance + * @return \PicoFeed\Parser\Parser + */ + public function setConfig($config) + { + $this->config = $config; + $this->itemPostProcessor->setConfig($config); + return $this; + } + + /** + * Enable the content grabber. + * + * @return \PicoFeed\Parser\Parser + */ + public function disableContentFiltering() + { + $this->itemPostProcessor->unregister('PicoFeed\Processor\ContentFilterProcessor'); + return $this; + } + + /** + * Enable the content grabber. + * + * @param bool $needsRuleFile true if only pages with rule files should be + * scraped + * @param null|\Closure $scraperCallback Callback function that gets called for each + * scraper execution + * @return \PicoFeed\Parser\Parser + */ + public function enableContentGrabber($needsRuleFile = false, $scraperCallback = null) + { + $processor = new ScraperProcessor($this->config); + + if ($needsRuleFile) { + $processor->getScraper()->disableCandidateParser(); + } + + if ($scraperCallback !== null) { + $processor->setExecutionCallback($scraperCallback); + } + + $this->itemPostProcessor->register($processor); + return $this; + } + + /** + * Set ignored URLs for the content grabber. + * + * @param array $urls URLs + * @return \PicoFeed\Parser\Parser + */ + public function setGrabberIgnoreUrls(array $urls) + { + $this->itemPostProcessor->getProcessor('PicoFeed\Processor\ScraperProcessor')->ignoreUrls($urls); + return $this; + } + + /** + * Register all supported namespaces to be used within an xpath query. + * + * @param SimpleXMLElement $xml Feed xml + * @return SimpleXMLElement + */ + public function registerSupportedNamespaces(SimpleXMLElement $xml) + { + foreach ($this->namespaces as $prefix => $ns) { + $xml->registerXPathNamespace($prefix, $ns); + } + + return $xml; + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/ParserException.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/ParserException.php new file mode 100644 index 0000000..b5fbb69 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/ParserException.php @@ -0,0 +1,15 @@ + 'http://purl.org/rss/1.0/', + 'dc' => 'http://purl.org/dc/elements/1.1/', + 'content' => 'http://purl.org/rss/1.0/modules/content/', + 'feedburner' => 'http://rssnamespace.org/feedburner/ext/1.0', + ); + + /** + * Get the path to the items XML tree. + * + * @param SimpleXMLElement $xml Feed xml + * @return SimpleXMLElement[] + */ + public function getItemsTree(SimpleXMLElement $xml) + { + return XmlParser::getXPathResult($xml, 'rss:item', $this->namespaces) + ?: XmlParser::getXPathResult($xml, 'item') + ?: $xml->item; + } + + /** + * Find the feed url. + * + * @param SimpleXMLElement $xml Feed xml + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findFeedUrl(SimpleXMLElement $xml, Feed $feed) + { + $feed->setFeedUrl(''); + } + + /** + * Find the site url. + * + * @param SimpleXMLElement $xml Feed xml + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findSiteUrl(SimpleXMLElement $xml, Feed $feed) + { + $value = XmlParser::getXPathResult($xml, 'rss:channel/rss:link', $this->namespaces) + ?: XmlParser::getXPathResult($xml, 'channel/link') + ?: $xml->channel->link; + + $feed->setSiteUrl(XmlParser::getValue($value)); + } + + /** + * Find the feed description. + * + * @param SimpleXMLElement $xml Feed xml + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findFeedDescription(SimpleXMLElement $xml, Feed $feed) + { + $description = XmlParser::getXPathResult($xml, 'rss:channel/rss:description', $this->namespaces) + ?: XmlParser::getXPathResult($xml, 'channel/description') + ?: $xml->channel->description; + + $feed->setDescription(XmlParser::getValue($description)); + } + + /** + * Find the feed logo url. + * + * @param SimpleXMLElement $xml Feed xml + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findFeedLogo(SimpleXMLElement $xml, Feed $feed) + { + $logo = XmlParser::getXPathResult($xml, 'rss:image/rss:url', $this->namespaces) + ?: XmlParser::getXPathResult($xml, 'image/url'); + + $feed->setLogo(XmlParser::getValue($logo)); + } + + /** + * Find the feed icon. + * + * @param SimpleXMLElement $xml Feed xml + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findFeedIcon(SimpleXMLElement $xml, Feed $feed) + { + $feed->setIcon(''); + } + + /** + * Find the feed title. + * + * @param SimpleXMLElement $xml Feed xml + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findFeedTitle(SimpleXMLElement $xml, Feed $feed) + { + $title = XmlParser::getXPathResult($xml, 'rss:channel/rss:title', $this->namespaces) + ?: XmlParser::getXPathResult($xml, 'channel/title') + ?: $xml->channel->title; + + $feed->setTitle(Filter::stripWhiteSpace(XmlParser::getValue($title)) ?: $feed->getSiteUrl()); + } + + /** + * Find the feed language. + * + * @param SimpleXMLElement $xml Feed xml + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findFeedLanguage(SimpleXMLElement $xml, Feed $feed) + { + $language = XmlParser::getXPathResult($xml, 'rss:channel/dc:language', $this->namespaces) + ?: XmlParser::getXPathResult($xml, 'channel/dc:language', $this->namespaces); + + $feed->setLanguage(XmlParser::getValue($language)); + } + + /** + * Find the feed id. + * + * @param SimpleXMLElement $xml Feed xml + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findFeedId(SimpleXMLElement $xml, Feed $feed) + { + $feed->setId($feed->getFeedUrl() ?: $feed->getSiteUrl()); + } + + /** + * Find the feed date. + * + * @param SimpleXMLElement $xml Feed xml + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findFeedDate(SimpleXMLElement $xml, Feed $feed) + { + $date = XmlParser::getXPathResult($xml, 'rss:channel/dc:date', $this->namespaces) + ?: XmlParser::getXPathResult($xml, 'channel/dc:date', $this->namespaces); + + $feed->setDate($this->getDateParser()->getDateTime(XmlParser::getValue($date))); + } + + /** + * Find the item published date. + * + * @param SimpleXMLElement $entry Feed item + * @param Item $item Item object + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findItemPublishedDate(SimpleXMLElement $entry, Item $item, Feed $feed) + { + $date = XmlParser::getXPathResult($entry, 'dc:date', $this->namespaces); + + $item->setPublishedDate(!empty($date) ? $this->getDateParser()->getDateTime(XmlParser::getValue($date)) : null); + } + + /** + * Find the item updated date. + * + * @param SimpleXMLElement $entry Feed item + * @param Item $item Item object + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findItemUpdatedDate(SimpleXMLElement $entry, Item $item, Feed $feed) + { + if ($item->publishedDate === null) { + $this->findItemPublishedDate($entry, $item, $feed); + } + $item->setUpdatedDate($item->getPublishedDate()); // No updated date in RSS 1.0 specifications + } + + /** + * Find the item title. + * + * @param SimpleXMLElement $entry Feed item + * @param \PicoFeed\Parser\Item $item Item object + */ + public function findItemTitle(SimpleXMLElement $entry, Item $item) + { + $title = XmlParser::getXPathResult($entry, 'rss:title', $this->namespaces) + ?: XmlParser::getXPathResult($entry, 'title') + ?: $entry->title; + + $item->setTitle(Filter::stripWhiteSpace(XmlParser::getValue($title)) ?: $item->getUrl()); + } + + /** + * Find the item author. + * + * @param SimpleXMLElement $xml Feed + * @param SimpleXMLElement $entry Feed item + * @param \PicoFeed\Parser\Item $item Item object + */ + public function findItemAuthor(SimpleXMLElement $xml, SimpleXMLElement $entry, Item $item) + { + $author = XmlParser::getXPathResult($entry, 'dc:creator', $this->namespaces) + ?: XmlParser::getXPathResult($xml, 'rss:channel/dc:creator', $this->namespaces) + ?: XmlParser::getXPathResult($xml, 'channel/dc:creator', $this->namespaces); + + $item->setAuthor(XmlParser::getValue($author)); + } + + /** + * Find the item content. + * + * @param SimpleXMLElement $entry Feed item + * @param \PicoFeed\Parser\Item $item Item object + */ + public function findItemContent(SimpleXMLElement $entry, Item $item) + { + $content = XmlParser::getXPathResult($entry, 'content:encoded', $this->namespaces); + + if (XmlParser::getValue($content) === '') { + $content = XmlParser::getXPathResult($entry, 'rss:description', $this->namespaces) + ?: XmlParser::getXPathResult($entry, 'description') + ?: $entry->description; + } + + $item->setContent(XmlParser::getValue($content)); + } + + /** + * Find the item URL. + * + * @param SimpleXMLElement $entry Feed item + * @param \PicoFeed\Parser\Item $item Item object + */ + public function findItemUrl(SimpleXMLElement $entry, Item $item) + { + $link = XmlParser::getXPathResult($entry, 'feedburner:origLink', $this->namespaces) + ?: XmlParser::getXPathResult($entry, 'rss:link', $this->namespaces) + ?: XmlParser::getXPathResult($entry, 'link') + ?: $entry->link; + + $item->setUrl(XmlParser::getValue($link)); + } + + /** + * Genereate the item id. + * + * @param SimpleXMLElement $entry Feed item + * @param \PicoFeed\Parser\Item $item Item object + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findItemId(SimpleXMLElement $entry, Item $item, Feed $feed) + { + $item->setId($this->generateId( + $item->getTitle(), $item->getUrl(), $item->getContent() + )); + } + + /** + * Find the item enclosure. + * + * @param SimpleXMLElement $entry Feed item + * @param \PicoFeed\Parser\Item $item Item object + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findItemEnclosure(SimpleXMLElement $entry, Item $item, Feed $feed) + { + } + + /** + * Find the item language. + * + * @param SimpleXMLElement $entry Feed item + * @param \PicoFeed\Parser\Item $item Item object + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findItemLanguage(SimpleXMLElement $entry, Item $item, Feed $feed) + { + $language = XmlParser::getXPathResult($entry, 'dc:language', $this->namespaces); + + $item->setLanguage(XmlParser::getValue($language) ?: $feed->getLanguage()); + } + + /** + * Find the item categories. + * + * @param SimpleXMLElement $entry Feed item + * @param Item $item Item object + * @param Feed $feed Feed object + */ + public function findItemCategories(SimpleXMLElement $entry, Item $item, Feed $feed) + { + $categories = XmlParser::getXPathResult($entry, 'dc:subject', $this->namespaces); + $item->setCategoriesFromXml($categories); + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/Rss20.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/Rss20.php new file mode 100644 index 0000000..57054b1 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/Rss20.php @@ -0,0 +1,317 @@ + 'http://purl.org/dc/elements/1.1/', + 'content' => 'http://purl.org/rss/1.0/modules/content/', + 'feedburner' => 'http://rssnamespace.org/feedburner/ext/1.0', + 'atom' => 'http://www.w3.org/2005/Atom', + ); + + /** + * Get the path to the items XML tree. + * + * @param SimpleXMLElement $xml Feed xml + * @return SimpleXMLElement[] + */ + public function getItemsTree(SimpleXMLElement $xml) + { + return XmlParser::getXPathResult($xml, 'channel/item'); + } + + /** + * Find the feed url. + * + * @param SimpleXMLElement $xml Feed xml + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findFeedUrl(SimpleXMLElement $xml, Feed $feed) + { + $feed->setFeedUrl(''); + } + + /** + * Find the site url. + * + * @param SimpleXMLElement $xml Feed xml + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findSiteUrl(SimpleXMLElement $xml, Feed $feed) + { + $value = XmlParser::getXPathResult($xml, 'channel/link'); + $feed->setSiteUrl(XmlParser::getValue($value)); + } + + /** + * Find the feed description. + * + * @param SimpleXMLElement $xml Feed xml + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findFeedDescription(SimpleXMLElement $xml, Feed $feed) + { + $value = XmlParser::getXPathResult($xml, 'channel/description'); + $feed->setDescription(XmlParser::getValue($value)); + } + + /** + * Find the feed logo url. + * + * @param SimpleXMLElement $xml Feed xml + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findFeedLogo(SimpleXMLElement $xml, Feed $feed) + { + $value = XmlParser::getXPathResult($xml, 'channel/image/url'); + $feed->setLogo(XmlParser::getValue($value)); + } + + /** + * Find the feed icon. + * + * @param SimpleXMLElement $xml Feed xml + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findFeedIcon(SimpleXMLElement $xml, Feed $feed) + { + $feed->setIcon(''); + } + + /** + * Find the feed title. + * + * @param SimpleXMLElement $xml Feed xml + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findFeedTitle(SimpleXMLElement $xml, Feed $feed) + { + $title = XmlParser::getXPathResult($xml, 'channel/title'); + $feed->setTitle(Filter::stripWhiteSpace(XmlParser::getValue($title)) ?: $feed->getSiteUrl()); + } + + /** + * Find the feed language. + * + * @param SimpleXMLElement $xml Feed xml + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findFeedLanguage(SimpleXMLElement $xml, Feed $feed) + { + $value = XmlParser::getXPathResult($xml, 'channel/language'); + $feed->setLanguage(XmlParser::getValue($value)); + } + + /** + * Find the feed id. + * + * @param SimpleXMLElement $xml Feed xml + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findFeedId(SimpleXMLElement $xml, Feed $feed) + { + $feed->setId($feed->getFeedUrl() ?: $feed->getSiteUrl()); + } + + /** + * Find the feed date. + * + * @param SimpleXMLElement $xml Feed xml + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findFeedDate(SimpleXMLElement $xml, Feed $feed) + { + $publish_date = XmlParser::getXPathResult($xml, 'channel/pubDate'); + $update_date = XmlParser::getXPathResult($xml, 'channel/lastBuildDate'); + + $published = !empty($publish_date) ? $this->getDateParser()->getDateTime(XmlParser::getValue($publish_date)) : null; + $updated = !empty($update_date) ? $this->getDateParser()->getDateTime(XmlParser::getValue($update_date)) : null; + + if ($published === null && $updated === null) { + $feed->setDate($this->getDateParser()->getCurrentDateTime()); // We use the current date if there is no date for the feed + } elseif ($published !== null && $updated !== null) { + $feed->setDate(max($published, $updated)); // We use the most recent date between published and updated + } else { + $feed->setDate($updated ?: $published); + } + } + + /** + * Find the item published date. + * + * @param SimpleXMLElement $entry Feed item + * @param Item $item Item object + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findItemPublishedDate(SimpleXMLElement $entry, Item $item, Feed $feed) + { + $date = XmlParser::getXPathResult($entry, 'pubDate'); + + $item->setPublishedDate(!empty($date) ? $this->getDateParser()->getDateTime(XmlParser::getValue($date)) : null); + } + + /** + * Find the item updated date. + * + * @param SimpleXMLElement $entry Feed item + * @param Item $item Item object + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findItemUpdatedDate(SimpleXMLElement $entry, Item $item, Feed $feed) + { + if ($item->publishedDate === null) { + $this->findItemPublishedDate($entry, $item, $feed); + } + $item->setUpdatedDate($item->getPublishedDate()); // No updated date in RSS 2.0 specifications + } + + /** + * Find the item title. + * + * @param SimpleXMLElement $entry Feed item + * @param \PicoFeed\Parser\Item $item Item object + */ + public function findItemTitle(SimpleXMLElement $entry, Item $item) + { + $value = XmlParser::getXPathResult($entry, 'title'); + $item->setTitle(Filter::stripWhiteSpace(XmlParser::getValue($value)) ?: $item->getUrl()); + } + + /** + * Find the item author. + * + * @param SimpleXMLElement $xml Feed + * @param SimpleXMLElement $entry Feed item + * @param \PicoFeed\Parser\Item $item Item object + */ + public function findItemAuthor(SimpleXMLElement $xml, SimpleXMLElement $entry, Item $item) + { + $value = XmlParser::getXPathResult($entry, 'dc:creator', $this->namespaces) + ?: XmlParser::getXPathResult($entry, 'author') + ?: XmlParser::getXPathResult($xml, 'channel/dc:creator', $this->namespaces) + ?: XmlParser::getXPathResult($xml, 'channel/managingEditor'); + + $item->setAuthor(XmlParser::getValue($value)); + } + + /** + * Find the item content. + * + * @param SimpleXMLElement $entry Feed item + * @param \PicoFeed\Parser\Item $item Item object + */ + public function findItemContent(SimpleXMLElement $entry, Item $item) + { + $content = XmlParser::getXPathResult($entry, 'content:encoded', $this->namespaces); + + if (XmlParser::getValue($content) === '') { + $content = XmlParser::getXPathResult($entry, 'description'); + } + + $item->setContent(XmlParser::getValue($content)); + } + + /** + * Find the item URL. + * + * @param SimpleXMLElement $entry Feed item + * @param \PicoFeed\Parser\Item $item Item object + */ + public function findItemUrl(SimpleXMLElement $entry, Item $item) + { + $link = XmlParser::getXPathResult($entry, 'feedburner:origLink', $this->namespaces) + ?: XmlParser::getXPathResult($entry, 'link') + ?: XmlParser::getXPathResult($entry, 'atom:link/@href', $this->namespaces); + + if (!empty($link)) { + $item->setUrl(XmlParser::getValue($link)); + } else { + $link = XmlParser::getXPathResult($entry, 'guid'); + $link = XmlParser::getValue($link); + + if (filter_var($link, FILTER_VALIDATE_URL) !== false) { + $item->setUrl($link); + } + } + } + + /** + * Genereate the item id. + * + * @param SimpleXMLElement $entry Feed item + * @param \PicoFeed\Parser\Item $item Item object + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findItemId(SimpleXMLElement $entry, Item $item, Feed $feed) + { + $id = XmlParser::getValue(XmlParser::getXPathResult($entry, 'guid')); + + if ($id) { + $item->setId($this->generateId($id)); + } else { + $item->setId($this->generateId( + $item->getTitle(), $item->getUrl(), $item->getContent() + )); + } + } + + /** + * Find the item enclosure. + * + * @param SimpleXMLElement $entry Feed item + * @param \PicoFeed\Parser\Item $item Item object + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findItemEnclosure(SimpleXMLElement $entry, Item $item, Feed $feed) + { + if (isset($entry->enclosure)) { + $type = XmlParser::getXPathResult($entry, 'enclosure/@type'); + $url = XmlParser::getXPathResult($entry, 'feedburner:origEnclosureLink', $this->namespaces) + ?: XmlParser::getXPathResult($entry, 'enclosure/@url'); + + $item->setEnclosureUrl(Url::resolve(XmlParser::getValue($url), $feed->getSiteUrl())); + $item->setEnclosureType(XmlParser::getValue($type)); + } + } + + /** + * Find the item language. + * + * @param SimpleXMLElement $entry Feed item + * @param \PicoFeed\Parser\Item $item Item object + * @param \PicoFeed\Parser\Feed $feed Feed object + */ + public function findItemLanguage(SimpleXMLElement $entry, Item $item, Feed $feed) + { + $language = XmlParser::getXPathResult($entry, 'dc:language', $this->namespaces); + $item->setLanguage(XmlParser::getValue($language) ?: $feed->getLanguage()); + } + + /** + * Find the item categories. + * + * @param SimpleXMLElement $entry Feed item + * @param Item $item Item object + * @param Feed $feed Feed object + */ + public function findItemCategories(SimpleXMLElement $entry, Item $item, Feed $feed) + { + $categories = XmlParser::getXPathResult($entry, 'category'); + $item->setCategoriesFromXml($categories); + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/Rss91.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/Rss91.php new file mode 100644 index 0000000..058fca1 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Parser/Rss91.php @@ -0,0 +1,13 @@ +childNodes->length === 0) { + return false; + } + + return $dom; + } + + /** + * Small wrapper around ZendXml to turn their exceptions into PicoFeed exceptions + * + * @static + * @access private + * @param string $input + * @param DOMDocument $dom + * @throws XmlEntityException + * @return SimpleXMLElement|DomDocument|boolean + */ + private static function scan($input, $dom = null) + { + try { + return Security::scan($input, $dom); + } catch(RuntimeException $e) { + throw new XmlEntityException($e->getMessage()); + } + } + + /** + * Load HTML document by using a DomDocument instance or return false on failure. + * + * @static + * @access public + * @param string $input XML content + * @return DOMDocument + */ + public static function getHtmlDocument($input) + { + $dom = new DomDocument(); + + if (empty($input)) { + return $dom; + } + + libxml_use_internal_errors(true); + + if (version_compare(PHP_VERSION, '5.4.0', '>=')) { + $dom->loadHTML($input, LIBXML_NONET); + } else { + $dom->loadHTML($input); + } + + return $dom; + } + + /** + * Convert a HTML document to XML. + * + * @static + * @access public + * @param string $html HTML document + * @return string + */ + public static function htmlToXml($html) + { + $dom = self::getHtmlDocument(''.$html); + return $dom->saveXML($dom->getElementsByTagName('body')->item(0)); + } + + /** + * Get XML parser errors. + * + * @static + * @access public + * @return string + */ + public static function getErrors() + { + $errors = array(); + + foreach (libxml_get_errors() as $error) { + $errors[] = sprintf('XML error: %s (Line: %d - Column: %d - Code: %d)', + $error->message, + $error->line, + $error->column, + $error->code + ); + } + + return implode(', ', $errors); + } + + /** + * Get the encoding from a xml tag. + * + * @static + * @access public + * @param string $data Input data + * @return string + */ + public static function getEncodingFromXmlTag($data) + { + $encoding = ''; + + if (strpos($data, '')); + $data = str_replace("'", '"', $data); + + $p1 = strpos($data, 'encoding='); + $p2 = strpos($data, '"', $p1 + 10); + + if ($p1 !== false && $p2 !== false) { + $encoding = substr($data, $p1 + 10, $p2 - $p1 - 10); + $encoding = strtolower($encoding); + } + } + + return $encoding; + } + + /** + * Get the charset from a meta tag. + * + * @static + * @access public + * @param string $data Input data + * @return string + */ + public static function getEncodingFromMetaTag($data) + { + $encoding = ''; + + if (preg_match('/;]+)/i', $data, $match) === 1) { + $encoding = strtolower($match[1]); + } + + return $encoding; + } + + /** + * Rewrite XPath query to use namespace-uri and local-name derived from prefix. + * + * @static + * @access public + * @param string $query XPath query + * @param array $ns Prefix to namespace URI mapping + * @return string + */ + public static function replaceXPathPrefixWithNamespaceURI($query, array $ns) + { + return preg_replace_callback('/([A-Z0-9]+):([A-Z0-9]+)/iu', function ($matches) use ($ns) { + // don't try to map the special prefix XML + if (strtolower($matches[1]) === 'xml') { + return $matches[0]; + } + + return '*[namespace-uri()="'.$ns[$matches[1]].'" and local-name()="'.$matches[2].'"]'; + }, + $query); + } + + /** + * Get the result elements of a XPath query. + * + * @static + * @access public + * @param SimpleXMLElement $xml XML element + * @param string $query XPath query + * @param array $ns Prefix to namespace URI mapping + * @return SimpleXMLElement[] + */ + public static function getXPathResult(SimpleXMLElement $xml, $query, array $ns = array()) + { + if (!empty($ns)) { + $query = static::replaceXPathPrefixWithNamespaceURI($query, $ns); + } + + return $xml->xpath($query); + } + + /** + * Get the first Xpath result or SimpleXMLElement value + * + * @static + * @access public + * @param mixed $value + * @return string + */ + public static function getValue($value) + { + $result = ''; + + if (is_array($value) && count($value) > 0) { + $result = (string) $value[0]; + } elseif (is_a($value, 'SimpleXMLElement')) { + return $result = (string) $value; + } + + return trim($result); + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/PicoFeedException.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/PicoFeedException.php new file mode 100644 index 0000000..2de9e4b --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/PicoFeedException.php @@ -0,0 +1,14 @@ +config->getContentFiltering(true)) { + $filter = Filter::html($item->getContent(), $feed->getSiteUrl()); + $filter->setConfig($this->config); + $item->setContent($filter->execute()); + } else { + Logger::setMessage(get_called_class().': Content filtering disabled'); + } + + return false; + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Processor/ContentGeneratorProcessor.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Processor/ContentGeneratorProcessor.php new file mode 100644 index 0000000..49adf9c --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Processor/ContentGeneratorProcessor.php @@ -0,0 +1,49 @@ +generators as $generator) { + $className = '\PicoFeed\Generator\\'.ucfirst($generator).'ContentGenerator'; + $object = new $className($this->config); + + if ($object->execute($item)) { + return true; + } + } + + return false; + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Processor/ItemPostProcessor.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Processor/ItemPostProcessor.php new file mode 100644 index 0000000..7b092b5 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Processor/ItemPostProcessor.php @@ -0,0 +1,106 @@ +processors as $processor) { + if ($processor->execute($feed, $item)) { + return true; + } + } + + return false; + } + + /** + * Register a new Item post-processor + * + * @access public + * @param ItemProcessorInterface $processor + * @return ItemPostProcessor + */ + public function register(ItemProcessorInterface $processor) + { + $this->processors[get_class($processor)] = $processor; + return $this; + } + + /** + * Remove Processor instance + * + * @access public + * @param string $class + * @return ItemPostProcessor + */ + public function unregister($class) + { + if (isset($this->processors[$class])) { + unset($this->processors[$class]); + } + + return $this; + } + + /** + * Checks whether a specific processor is registered or not + * + * @access public + * @param string $class + * @return bool + */ + public function hasProcessor($class) + { + return isset($this->processors[$class]); + } + + /** + * Get Processor instance + * + * @access public + * @param string $class + * @return ItemProcessorInterface|null + */ + public function getProcessor($class) + { + return isset($this->processors[$class]) ? $this->processors[$class] : null; + } + + public function setConfig(Config $config) + { + foreach ($this->processors as $processor) { + $processor->setConfig($config); + } + + return false; + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Processor/ItemProcessorInterface.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Processor/ItemProcessorInterface.php new file mode 100644 index 0000000..5d53226 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Processor/ItemProcessorInterface.php @@ -0,0 +1,25 @@ +executionCallback = $executionCallback; + return $this; + } + + /** + * Execute Item Processor + * + * @access public + * @param Feed $feed + * @param Item $item + * @return bool + */ + public function execute(Feed $feed, Item $item) + { + if (!in_array($item->getUrl(), $this->ignoredUrls)) { + $scraper = $this->getScraper(); + $scraper->setUrl($item->getUrl()); + $scraper->execute(); + + if ($this->executionCallback && is_callable($this->executionCallback)) { + call_user_func($this->executionCallback, $feed, $item, $scraper); + } + + if ($scraper->hasRelevantContent()) { + $item->setContent($scraper->getFilteredContent()); + } + } + + return false; + } + + /** + * Ignore list of URLs + * + * @access public + * @param array $urls + * @return $this + */ + public function ignoreUrls(array $urls) + { + $this->ignoredUrls = $urls; + return $this; + } + + /** + * Returns Scraper instance + * + * @access public + * @return Scraper + */ + public function getScraper() + { + if ($this->scraper === null) { + $this->scraper = new Scraper($this->config); + } + + return $this->scraper; + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Reader/Favicon.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Reader/Favicon.php new file mode 100644 index 0000000..d4ca07d --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Reader/Favicon.php @@ -0,0 +1,186 @@ +content; + } + + /** + * Get the icon file type (available only after the download). + * + * @return string + */ + public function getType() + { + foreach ($this->types as $type) { + if (strpos($this->content_type, $type) === 0) { + return $type; + } + } + + return 'image/x-icon'; + } + + /** + * Get data URI (http://en.wikipedia.org/wiki/Data_URI_scheme). + * + * @return string + */ + public function getDataUri() + { + if (empty($this->content)) { + return ''; + } + + return sprintf( + 'data:%s;base64,%s', + $this->getType(), + base64_encode($this->content) + ); + } + + /** + * Download and check if a resource exists. + * + * @param string $url URL + * @return \PicoFeed\Client\Client Client instance + */ + public function download($url) + { + $client = Client::getInstance(); + $client->setConfig($this->config); + + Logger::setMessage(get_called_class().' Download => '.$url); + + try { + $client->execute($url); + } catch (ClientException $e) { + Logger::setMessage(get_called_class().' Download Failed => '.$e->getMessage()); + } + + return $client; + } + + /** + * Check if a remote file exists. + * + * @param string $url URL + * @return bool + */ + public function exists($url) + { + return $this->download($url)->getContent() !== ''; + } + + /** + * Get the icon link for a website. + * + * @param string $website_link URL + * @param string $favicon_link optional URL + * @return string + */ + public function find($website_link, $favicon_link = '') + { + $website = new Url($website_link); + + if ($favicon_link !== '') { + $icons = array($favicon_link); + } else { + $icons = $this->extract($this->download($website->getBaseUrl('/'))->getContent()); + $icons[] = $website->getBaseUrl('/favicon.ico'); + } + + foreach ($icons as $icon_link) { + $icon_link = Url::resolve($icon_link, $website); + $resource = $this->download($icon_link); + $this->content = $resource->getContent(); + $this->content_type = $resource->getContentType(); + + if ($this->content !== '') { + return $icon_link; + } elseif ($favicon_link !== '') { + return $this->find($website_link); + } + } + + return ''; + } + + /** + * Extract the icon links from the HTML. + * + * @param string $html HTML + * @return array + */ + public function extract($html) + { + $icons = array(); + + if (empty($html)) { + return $icons; + } + + $dom = XmlParser::getHtmlDocument($html); + + $xpath = new DOMXpath($dom); + $elements = $xpath->query('//link[@rel="icon" or @rel="shortcut icon" or @rel="Shortcut Icon" or @rel="icon shortcut"]'); + + for ($i = 0; $i < $elements->length; ++$i) { + $icons[] = $elements->item($i)->getAttribute('href'); + } + + return $icons; + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Reader/Reader.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Reader/Reader.php new file mode 100644 index 0000000..596b02d --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Reader/Reader.php @@ -0,0 +1,189 @@ + '//feed', + 'Rss20' => '//rss[@version="2.0"]', + 'Rss92' => '//rss[@version="0.92"]', + 'Rss91' => '//rss[@version="0.91"]', + 'Rss10' => '//rdf', + ); + + /** + * Download a feed (no discovery). + * + * @param string $url Feed url + * @param string $last_modified Last modified HTTP header + * @param string $etag Etag HTTP header + * @param string $username HTTP basic auth username + * @param string $password HTTP basic auth password + * + * @return \PicoFeed\Client\Client + */ + public function download($url, $last_modified = '', $etag = '', $username = '', $password = '') + { + $url = $this->prependScheme($url); + + return Client::getInstance() + ->setConfig($this->config) + ->setLastModified($last_modified) + ->setEtag($etag) + ->setUsername($username) + ->setPassword($password) + ->execute($url); + } + + /** + * Discover and download a feed. + * + * @param string $url Feed or website url + * @param string $last_modified Last modified HTTP header + * @param string $etag Etag HTTP header + * @param string $username HTTP basic auth username + * @param string $password HTTP basic auth password + * @return Client + * @throws SubscriptionNotFoundException + */ + public function discover($url, $last_modified = '', $etag = '', $username = '', $password = '') + { + $client = $this->download($url, $last_modified, $etag, $username, $password); + + // It's already a feed or the feed was not modified + if (!$client->isModified() || $this->detectFormat($client->getContent())) { + return $client; + } + + // Try to find a subscription + $links = $this->find($client->getUrl(), $client->getContent()); + + if (empty($links)) { + throw new SubscriptionNotFoundException('Unable to find a subscription'); + } + + return $this->download($links[0], $last_modified, $etag, $username, $password); + } + + /** + * Find feed urls inside a HTML document. + * + * @param string $url Website url + * @param string $html HTML content + * + * @return array List of feed links + */ + public function find($url, $html) + { + Logger::setMessage(get_called_class().': Try to discover subscriptions'); + + $dom = XmlParser::getHtmlDocument($html); + $xpath = new DOMXPath($dom); + $links = array(); + + $queries = array( + '//link[@type="application/rss+xml"]', + '//link[@type="application/atom+xml"]', + ); + + foreach ($queries as $query) { + $nodes = $xpath->query($query); + + foreach ($nodes as $node) { + $link = $node->getAttribute('href'); + + if (!empty($link)) { + $feedUrl = new Url($link); + $siteUrl = new Url($url); + + $links[] = $feedUrl->getAbsoluteUrl($feedUrl->isRelativeUrl() ? $siteUrl->getBaseUrl() : ''); + } + } + } + + Logger::setMessage(get_called_class().': '.implode(', ', $links)); + + return $links; + } + + /** + * Get a parser instance. + * + * @param string $url Site url + * @param string $content Feed content + * @param string $encoding HTTP encoding + * @return \PicoFeed\Parser\Parser + * @throws UnsupportedFeedFormatException + */ + public function getParser($url, $content, $encoding) + { + $format = $this->detectFormat($content); + + if (empty($format)) { + throw new UnsupportedFeedFormatException('Unable to detect feed format'); + } + + $className = '\PicoFeed\Parser\\'.$format; + + $parser = new $className($content, $encoding, $url); + $parser->setHashAlgo($this->config->getParserHashAlgo()); + $parser->setConfig($this->config); + + return $parser; + } + + /** + * Detect the feed format. + * + * @param string $content Feed content + * @return string + */ + public function detectFormat($content) + { + $dom = XmlParser::getHtmlDocument($content); + $xpath = new DOMXPath($dom); + + foreach ($this->formats as $parser_name => $query) { + $nodes = $xpath->query($query); + + if ($nodes->length === 1) { + return $parser_name; + } + } + + return ''; + } + + /** + * Add the prefix "http://" if the end-user just enter a domain name. + * + * @param string $url Url + * @return string + */ + public function prependScheme($url) + { + if (!preg_match('%^https?://%', $url)) { + $url = 'http://'.$url; + } + + return $url; + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Reader/ReaderException.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Reader/ReaderException.php new file mode 100644 index 0000000..4f03dbe --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Reader/ReaderException.php @@ -0,0 +1,14 @@ + array( + '%.*%' => array( + 'test_url' => 'http://combat.blog.lemonde.fr/2013/08/31/teddy-riner-le-rookie-devenu-rambo/#xtor=RSS-3208', + 'body' => array( + '//div[@class="entry-content"]', + ), + 'strip' => array( + '//*[contains(@class, "fb-like") or contains(@class, "social")]' + ), + ) + ) +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.blogs.nytimes.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.blogs.nytimes.com.php new file mode 100644 index 0000000..ee641b0 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.blogs.nytimes.com.php @@ -0,0 +1,15 @@ + array( + '%.*%' => array( + 'title' => '//header/h1', + 'test_url' => 'http://bits.blogs.nytimes.com/2012/01/16/wikipedia-plans-to-go-dark-on-wednesday-to-protest-sopa/', + 'body' => array( + '//div[@class="postContent"]', + ), + 'strip' => array( + '//*[@class="shareToolsBox"]', + ), + ) + ) +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.igen.fr.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.igen.fr.php new file mode 100644 index 0000000..f2028f4 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.igen.fr.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.igen.fr/ailleurs/2014/05/nvidia-va-delaisser-les-smartphones-grand-public-86031', + 'body' => array( + '//div[contains(@class, "field-name-body")]' + ), + 'strip' => array( + ), + ) + ) +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.nytimes.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.nytimes.com.php new file mode 100644 index 0000000..ed27bb5 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.nytimes.com.php @@ -0,0 +1,11 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.nytimes.com/2011/05/15/world/middleeast/15prince.html', + 'body' => array( + '//div[@class="articleBody"]', + ), + ) + ) +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.over-blog.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.over-blog.com.php new file mode 100644 index 0000000..cc5d83c --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.over-blog.com.php @@ -0,0 +1,11 @@ + array( + '%.*%' => array( + 'test_url' => 'http://eliascarpe.over-blog.com/2015/12/re-upload-projets-d-avenir.html', + 'body' => array( + '//div[contains(concat(" ", normalize-space(@class), " "), " ob-section ")]', + ), + ) + ) +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.phoronix.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.phoronix.com.php new file mode 100644 index 0000000..66713f7 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.phoronix.com.php @@ -0,0 +1,12 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.phoronix.com/scan.php?page=article&item=amazon_ec2_bare&num=1', + 'body' => array( + '//div[@class="content"]', + ), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.slate.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.slate.com.php new file mode 100644 index 0000000..a795bca --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.slate.com.php @@ -0,0 +1,20 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.slate.com/articles/business/moneybox/2013/08/microsoft_ceo_steve_ballmer_retires_a_firsthand_account_of_the_company_s.html', + 'body' => array( + '//div[@class="sl-art-body"]', + ), + 'strip' => array( + '//*[contains(@class, "social") or contains(@class, "comments") or contains(@class, "sl-article-floatin-tools") or contains(@class, "sl-art-pag")]', + '//*[@id="mys_slate_logged_in"]', + '//*[@id="sl_article_tools_myslate_bottom"]', + '//*[@id="mys_myslate"]', + '//*[@class="sl-viral-container"]', + '//*[@class="sl-art-creds-cntr"]', + '//*[@class="sl-art-ad-midflex"]', + ) + ) + ) +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.theguardian.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.theguardian.com.php new file mode 100644 index 0000000..e0d6f3f --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.theguardian.com.php @@ -0,0 +1,14 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.theguardian.com/sustainable-business/2015/feb/02/2015-hyper-transparency-global-business', + 'body' => array( + '//div[contains(@class, "content__main-column--article")]', + ), + 'strip' => array( + '//div[contains(@class, "meta-container")]', + ), + ) + ) +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.wikipedia.org.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.wikipedia.org.php new file mode 100644 index 0000000..7b8f76e --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.wikipedia.org.php @@ -0,0 +1,29 @@ + array( + '%.*%' => array( + 'test_url' => 'https://en.wikipedia.org/wiki/Grace_Hopper', + 'body' => array( + '//div[@id="bodyContent"]', + ), + 'strip' => array( + "//div[@id='toc']", + "//div[@id='catlinks']", + "//div[@id='jump-to-nav']", + "//div[@class='thumbcaption']//div[@class='magnify']", + "//table[@class='navbox']", + "//table[contains(@class, 'infobox')]", + "//div[@class='dablink']", + "//div[@id='contentSub']", + "//div[@id='siteSub']", + "//table[@id='persondata']", + "//table[contains(@class, 'metadata')]", + "//*[contains(@class, 'noprint')]", + "//*[contains(@class, 'printfooter')]", + "//*[contains(@class, 'editsection')]", + "//*[contains(@class, 'error')]", + "//span[@title='pronunciation:']", + ), + ) + ) +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.wired.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.wired.com.php new file mode 100644 index 0000000..952b09a --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.wired.com.php @@ -0,0 +1,44 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.wired.com/gamelife/2013/09/ouya-free-the-games/', + 'body' => array( + '//div[@data-js="gallerySlides"]', + '//div[starts-with(@class,"post")]', + ), + 'strip' => array( + '//h1', + '//nav', + '//button', + '//figure[starts-with(@class,"rad-slide")]', + '//figure[starts-with(@class,"end-slate")]', + '//div[contains(@class,"mobile-")]', + '//div[starts-with(@class,"mob-gallery-launcher")]', + '//div[contains(@id,"mobile-")]', + '//span[contains(@class,"slide-count")]', + '//div[contains(@class,"show-ipad")]', + '//img[contains(@id,"-hero-bg")]', + '//div[@data-js="overlayWrap"]', + '//ul[contains(@class,"metadata")]', + '//div[@class="opening center"]', + '//p[contains(@class="byline-mob"]', + '//div[@id="o-gallery"]', + '//div[starts-with(@class,"sm-col")]', + '//div[contains(@class,"pad-b-huge")]', + '//a[contains(@class,"visually-hidden")]', + '//*[@class="social"]', + '//i', + '//div[@data-js="mobGalleryAd"]', + '//div[contains(@class,"footer")]', + '//div[contains(@data-js,"fader")]', + '//div[@id="sharing"]', + '//div[contains(@id,"related")]', + '//div[@id="most-pop"]', + '//ul[@id="article-tags"]', + '//style', + '//section[contains(@class,"footer")]' + ), + ) + ) +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.wsj.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.wsj.com.php new file mode 100644 index 0000000..f6e6cc1 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/.wsj.com.php @@ -0,0 +1,15 @@ + array( + '%.*%' => array( + 'test_url' => 'http://online.wsj.com/article/SB10001424127887324108204579023143974408428.html', + 'body' => array( + '//div[@class="articlePage"]', + ), + 'strip' => array( + '//*[@id="articleThumbnail_2"]', + '//*[@class="socialByline"]', + ) + ) + ) +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/01net.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/01net.com.php new file mode 100644 index 0000000..6d144f0 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/01net.com.php @@ -0,0 +1,18 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.01net.com/editorial/624550/twitter-rachete-madbits-un-specialiste-francais-de-lanalyse-dimages/', + 'body' => array( + '//div[@class="article_ventre_box"]', + ), + 'strip' => array( + '//link', + '//*[contains(@class, "article_navigation")]', + '//h1', + '//*[contains(@class, "article_toolbarMain")]', + '//*[contains(@class, "article_imagehaute_box")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/abstrusegoose.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/abstrusegoose.com.php new file mode 100644 index 0000000..752d041 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/abstrusegoose.com.php @@ -0,0 +1,8 @@ + array( + '%.*%' => array( + '%alt="(.+)" title="(.+)" */>%' => '/>
                                                                        $1
                                                                        $2', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/adventuregamers.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/adventuregamers.com.php new file mode 100644 index 0000000..98d384e --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/adventuregamers.com.php @@ -0,0 +1,23 @@ + array( + '%^/news.*%' => array( + 'test_url' => 'http://www.adventuregamers.com/news/view/31079', + 'body' => array( + '//div[@class="bodytext"]', + ) + ), + '%^/videos.*%' => array( + 'test_url' => 'http://www.adventuregamers.com/videos/view/31056', + 'body' => array( + '//iframe', + ) + ), + '%^/articles.*%' => array( + 'test_url' => 'http://www.adventuregamers.com/articles/view/31049', + 'body' => array( + '//div[@class="cleft"]', + ) + ) + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/alainonline.net.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/alainonline.net.php new file mode 100644 index 0000000..f440b23 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/alainonline.net.php @@ -0,0 +1,14 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.alainonline.net/news_details.php?lang=arabic&sid=18907', + 'body' => array( + '//div[@class="news_details"]', + ), + 'strip' => array( + '//div[@class="news_details"]/div/div[last()]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/aljazeera.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/aljazeera.com.php new file mode 100644 index 0000000..c02eb21 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/aljazeera.com.php @@ -0,0 +1,25 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.aljazeera.com/news/2015/09/xi-jinping-seattle-china-150922230118373.html', + 'body' => array( + '//article[@id="main-story"]', + ), + 'strip' => array( + '//script', + '//header', + '//ul', + '//section[contains(@class,"profile")]', + '//a[@target="_self"]', + '//div[contains(@id,"_2")]', + '//div[contains(@id,"_3")]', + '//img[@class="viewMode"]', + '//table[contains(@class,"in-article-item")]', + '//div[@data-embed-type="Brightcove"]', + '//div[@class="QuoteContainer"]', + '//div[@class="BottomByLine"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/allafrica.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/allafrica.com.php new file mode 100644 index 0000000..e8a506d --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/allafrica.com.php @@ -0,0 +1,20 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.aljazeera.com/news/2015/09/xi-jinping-seattle-china-150922230118373.html', + 'body' => array( + '//div[@class="story-body"]', + ), + 'strip' => array( + '//p[@class="kindofstory"]', + '//cite[@class="byline"]', + '//div[@class="useful-top"]', + '//div[contains(@class,"related-topics")]', + '//links', + '//sharebar', + '//related-topics', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/allgemeine-zeitung.de.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/allgemeine-zeitung.de.php new file mode 100644 index 0000000..8ede99b --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/allgemeine-zeitung.de.php @@ -0,0 +1,23 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.allgemeine-zeitung.de/lokales/polizei/mainz-gonsenheim-unbekannte-rauben-esso-tankstelle-in-kurt-schumacher-strasse-aus_14913147.htm', + 'body' => array( + '//div[contains(@class, "article")][1]', + ), + 'strip' => array( + '//read/h1', + '//*[@id="t-map"]', + '//*[contains(@class, "modules")]', + '//*[contains(@class, "adsense")]', + '//*[contains(@class, "linkbox")]', + '//*[contains(@class, "info")]', + '//*[@class="skip"]', + '//*[@class="funcs"]', + '//span[@class="nd address"]', + '//a[contains(@href, "abo-und-services")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/amazingsuperpowers.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/amazingsuperpowers.com.php new file mode 100644 index 0000000..3214c62 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/amazingsuperpowers.com.php @@ -0,0 +1,8 @@ + array( + '%.*%' => array( + '%title="(.+)" */>%' => '/>
                                                                        $1', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/anythingcomic.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/anythingcomic.com.php new file mode 100644 index 0000000..51247f7 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/anythingcomic.com.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'body' => array( + '//img[@id="comic_image"]', + '//div[@class="comment-wrapper"][position()=1]', + ), + 'strip' => array(), + 'test_url' => 'http://www.anythingcomic.com/comics/2108929/stress-free/', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/ap.org.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/ap.org.php new file mode 100644 index 0000000..5bb2bb6 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/ap.org.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://hosted.ap.org/dynamic/stories/A/AS_CHINA_GAO_ZHISHENG?SITE=AP&SECTION=HOME&TEMPLATE=DEFAULT', + 'body' => array( + '//img[@class="ap-smallphoto-img"]', + '//span[@class="entry-content"]', + ), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/areadvd.de.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/areadvd.de.php new file mode 100644 index 0000000..fc56922 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/areadvd.de.php @@ -0,0 +1,10 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.areadvd.de/news/daily-deals-angebote-bei-lautsprecher-teufel-3/', + 'body' => array('//div[contains(@class,"entry")]'), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/arstechnica.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/arstechnica.com.php new file mode 100644 index 0000000..55e01ce --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/arstechnica.com.php @@ -0,0 +1,25 @@ + array( + '%.*%' => array( + 'test_url' => 'http://arstechnica.com/tech-policy/2015/09/judge-warners-2m-happy-birthday-copyright-is-bogus/', + 'body' => array( + '//article', + ), + 'strip' => array( + '//h4[@class="post-upperdek"]', + '//h1', + '//ul[@class="lSPager lSGallery"]', + '//div[@class="lSAction"]', + '//section[@class="post-meta"]', + '//figcaption', + '//aside', + '//div[@class="gallery-image-credit"]', + '//section[@class="article-author"]', + '//*[contains(@id,"social-")]', + '//div[contains(@id,"footer")]', + ), + ), + ), +); + diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/awkwardzombie.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/awkwardzombie.com.php new file mode 100644 index 0000000..5ab7051 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/awkwardzombie.com.php @@ -0,0 +1,10 @@ + array( + '%/index.php.*comic=.*%' => array( + 'test_url' => 'http://www.awkwardzombie.com/index.php?comic=041315', + 'body' => array('//*[@id="comic"]/img'), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/backchannel.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/backchannel.com.php new file mode 100644 index 0000000..bc5932a --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/backchannel.com.php @@ -0,0 +1,18 @@ + array( + '%.*%' => array( + 'test_url' => 'https://medium.com/lessons-learned/917b8b63ae3e', + 'body' => array( + '//div[contains(@class,"section-inner")]', + ), + 'strip' => array( + '//div[contains(@class,"metabar")]', + '//img[contains(@class,"thumbnail")]', + '//h1', + '//blockquote', + '//p[contains(@class,"graf-after--h4")]' + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/bangkokpost.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/bangkokpost.com.php new file mode 100644 index 0000000..165515b --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/bangkokpost.com.php @@ -0,0 +1,19 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.bangkokpost.com/news/politics/704204/new-us-ambassador-arrives-in-bangkok', + 'body' => array( + '//article/div[@class="articleContents"]', + ), + 'strip' => array( + '//h2', + '//h4', + '//div[@class="text-size"]', + '//div[@class="relate-story"]', + '//div[@class="text-ads"]', + '//ul', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/bgr.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/bgr.com.php new file mode 100644 index 0000000..7507a2f --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/bgr.com.php @@ -0,0 +1,15 @@ + array( + '%.*%' => array( + 'test_url' => 'http://bgr.com/2015/09/27/iphone-6s-waterproof-testing/', + 'body' => array( + '//img[contains(@class,"img")]', + '//div[@class="text-column"]', + ), + 'strip' => array( + '//strong', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/bigfootjustice.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/bigfootjustice.com.php new file mode 100644 index 0000000..d06ed12 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/bigfootjustice.com.php @@ -0,0 +1,8 @@ + array( + '%.*%' => array( + '%-150x150%' => '', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/bigpicture.ru.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/bigpicture.ru.php new file mode 100644 index 0000000..55c4089 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/bigpicture.ru.php @@ -0,0 +1,31 @@ + array( + '%.*%' => array( + 'test_url' => 'http://bigpicture.ru/?p=556658', + 'body' => array( + '//div[@class="article container"]', + ), + 'strip' => array( + '//script', + '//form', + '//style', + '//h1', + '//*[@class="wp-smiley"]', + '//div[@class="ipmd"]', + '//div[@class="tags"]', + '//div[@class="social-button"]', + '//div[@class="bottom-share"]', + '//div[@class="raccoonbox"]', + '//div[@class="yndadvert"]', + '//div[@class="we-recommend"]', + '//div[@class="relap-bigpicture_ru-wrapper"]', + '//div[@id="mmail"]', + '//div[@id="mobile-ads-cut"]', + '//div[@id="liquidstorm-alt-html"]', + '//div[contains(@class, "post-tags")]', + '//*[contains(text(),"Смотрите также")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/bizjournals.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/bizjournals.com.php new file mode 100644 index 0000000..d1cc3da --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/bizjournals.com.php @@ -0,0 +1,12 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.bizjournals.com/milwaukee/news/2015/09/30/bucks-will-hike-prices-on-best-seats-at-new-arena.html', + 'body' => array( + '//figure/div/a/img', + '//p[@class="content__segment"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/biztimes.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/biztimes.com.php new file mode 100644 index 0000000..d21aa98 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/biztimes.com.php @@ -0,0 +1,22 @@ + array( + '%.*%' => array( + 'test_url' => 'https://www.biztimes.com/2017/02/10/settlement-would-revive-fowler-lake-condo-project-in-oconomowoc/', + 'body' => array( + '//h2/span[@class="subhead"]', + '//div[contains(@class,"article-content")]', + ), + 'strip' => array( + '//script', + '//div[contains(@class,"mobile-article-content")]', + '//div[contains(@class,"sharedaddy")]', + '//div[contains(@class,"author-details")]', + '//div[@class="row ad"]', + '//div[contains(@class,"relatedposts")]', + '//div[@class="col-lg-12"]', + '//div[contains(@class,"widget")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/bleepingcomputer.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/bleepingcomputer.com.php new file mode 100644 index 0000000..7b74060 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/bleepingcomputer.com.php @@ -0,0 +1,15 @@ + array( + '%.*%' => array( + 'test_url' => 'https://www.bleepingcomputer.com/news/google/chromes-sandbox-feature-infringes-on-three-patents-so-google-must-now-pay-20m/', + 'body' => array( + '//div[@class="article_section"]', + ), + 'strip' => array( + '//*[@itemprop="headline"]', + '//div[@class="cz-news-story-title-section"]' + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/blog.fefe.de.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/blog.fefe.de.php new file mode 100644 index 0000000..39c88ae --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/blog.fefe.de.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://blog.fefe.de/?ts=ad706a73', + 'body' => array( + '/html/body/ul', + ), + 'strip' => array( + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/blog.mapillary.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/blog.mapillary.com.php new file mode 100644 index 0000000..ce01651 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/blog.mapillary.com.php @@ -0,0 +1,11 @@ + array( + '%.*%' => array( + 'test_url' => 'http://blog.mapillary.com/update/2015/08/26/traffic-sign-updates.html', + 'body' => array( + '//div[contains(@class, "blog-post__content")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/brewers.mlb.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/brewers.mlb.com.php new file mode 100644 index 0000000..be406fa --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/brewers.mlb.com.php @@ -0,0 +1,22 @@ + array( + '%.*%' => array( + 'test_url' => 'http://m.brewers.mlb.com/news/article/161364798', + 'body' => array( + '//article[contains(@class,"article")]', + ), + 'strip' => array( + '//div[contains(@class,"ad-slot")]', + '//h1', + '//span[@class="timestamp"]', + '//div[contains(@class,"contributor-bottom")]', + '//div[contains(@class,"video")]', + '//ul[contains(@class,"social")]', + '//p[@class="tagline"]', + '//div[contains(@class,"social")]', + '//div[@class="button-wrap"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/buenosairesherald.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/buenosairesherald.com.php new file mode 100644 index 0000000..4e73e79 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/buenosairesherald.com.php @@ -0,0 +1,17 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.buenosairesherald.com/article/199344/manzur-named-next-governor-of-tucum%C3%A1n', + 'body' => array( + '//div[@style="float:none"]', + ), + 'strip' => array( + '//div[contains(@class, "bz_alias_short_desc_container"]', + '//td[@id="bz_show_bug_column_1"]', + '//table[@id="attachment_table"]', + '//table[@class="bz_comment_table"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/bunicomic.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/bunicomic.com.php new file mode 100644 index 0000000..ad83e43 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/bunicomic.com.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.bunicomic.com/comic/buni-623/', + 'body' => array( + '//div[@class="comic-table"]', + ), + 'strip' => array( + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/buttersafe.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/buttersafe.com.php new file mode 100644 index 0000000..1f313cd --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/buttersafe.com.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://buttersafe.com/2015/04/21/the-incredible-flexible-man/', + 'body' => array( + '//div[@id="comic"]', + '//div[@class="post-comic"]', + ), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/cad-comic.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/cad-comic.com.php new file mode 100644 index 0000000..a631c97 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/cad-comic.com.php @@ -0,0 +1,12 @@ + array( + '%/cad/.+%' => array( + 'test_url' => 'http://www.cad-comic.com/cad/20150417', + 'body' => array( + '//*[@id="content"]/img', + ), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/chaoslife.findchaos.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/chaoslife.findchaos.com.php new file mode 100644 index 0000000..ea6191e --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/chaoslife.findchaos.com.php @@ -0,0 +1,10 @@ + array( + '%.*%' => array( + 'test_url' => 'http://chaoslife.findchaos.com/pets-in-the-wild', + 'body' => array('//div[@id="comic"]'), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/chinafile.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/chinafile.com.php new file mode 100644 index 0000000..450117b --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/chinafile.com.php @@ -0,0 +1,18 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.chinafile.com/books/shanghai-faithful?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+chinafile%2FAll+%28ChinaFile%29', + 'body' => array( + '//div[contains(@class,"pane-featured-photo-panel-pane-1")]', + '//div[contains(@class,"video-above-fold")]', + '//div[@class="sc-media"]', + '//div[contains(@class,"field-name-body")]', + ), + 'strip' => array( + '//div[contains(@class,"cboxes")]', + '//div[contains(@class,"l-middle")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/cliquerefresh.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/cliquerefresh.com.php new file mode 100644 index 0000000..9dcc7e5 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/cliquerefresh.com.php @@ -0,0 +1,10 @@ + array( + '%/comic.*%' => array( + 'test_url' => 'http://cliquerefresh.com/comic/078-stating-the-obvious/', + 'body' => array('//div[@class="comicImg"]/img | //div[@class="comicImg"]/a/img'), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/cnet.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/cnet.com.php new file mode 100644 index 0000000..60767a5 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/cnet.com.php @@ -0,0 +1,37 @@ + array( + '%^/products.*%' => array( + 'test_url' => 'http://www.cnet.com/products/fibaro-flood-sensor/#ftag=CADf328eec', + 'body' => array( + '//li[contains(@class,"slide first"] || //figure[contains(@class,(promoFigure))]', + '//div[@class="quickInfo"]', + '//div[@class="col-6 ratings"]', + '//div[@id="editorReview"]', + ), + 'strip' => array( + '//script', + '//a[@class="clickToEnlarge"]', + '//div[@section="topSharebar"]', + '//div[contains(@class,"related")]', + '//div[contains(@class,"ad-")]', + '//div[@section="shortcodeGallery"]', + ), + ), + '%.*%' => array( + 'test_url' => 'http://cnet.com.feedsportal.com/c/34938/f/645093/s/4a340866/sc/28/l/0L0Scnet0N0Cnews0Cman0Eclaims0Eonline0Epsychic0Emade0Ehim0Ebuy0E10Emillion0Epowerball0Ewinning0Eticket0C0Tftag0FCAD590Aa51e/story01.htm', + 'body' => array( + '//p[@itemprop="description"]', + '//div[@itemprop="articleBody"]', + ), + 'strip' => array( + '//script', + '//a[@class="clickToEnlarge"]', + '//div[@section="topSharebar"]', + '//div[contains(@class,"related")]', + '//div[contains(@class,"ad-")]', + '//div[@section="shortcodeGallery"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/consomac.fr.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/consomac.fr.php new file mode 100644 index 0000000..9209f9c --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/consomac.fr.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://consomac.fr/news-2430-l-iphone-6-toujours-un-secret-bien-garde.html', + 'body' => array( + '//div[contains(@id, "newscontent")]', + ), + 'strip' => array( + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/cowbirdsinlove.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/cowbirdsinlove.com.php new file mode 100644 index 0000000..3214c62 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/cowbirdsinlove.com.php @@ -0,0 +1,8 @@ + array( + '%.*%' => array( + '%title="(.+)" */>%' => '/>
                                                                        $1', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/crash.net.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/crash.net.php new file mode 100644 index 0000000..9d9b35a --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/crash.net.php @@ -0,0 +1,28 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.crash.net/motogp/interview/247550/1/exclusive-andrea-dovizioso-interview.html', + 'body' => array( + '//div[@id="content"]', + ), + 'strip' => array( + '//script', + '//style', + '//*[@title="Social Networking"]', + '//*[@class="crash-ad2"]', + '//*[@class="clearfix"]', + '//*[@class="crash-ad2"]', + '//*[contains(@id, "divCB"]', + '//*[@class="pnlComment"]', + '//*[@class="comments-tabs"]', + '//*[contains(@class, "ad-twocol"]', + '//*[@class="stories-list"]', + '//*[contains(@class, "btn")]', + '//*[@class="content"]', + '//h3', + ), + ), + ), +); + diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/csmonitor.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/csmonitor.com.php new file mode 100644 index 0000000..481e4b0 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/csmonitor.com.php @@ -0,0 +1,19 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.csmonitor.com/USA/Politics/2015/0925/John-Boehner-steps-down-Self-sacrificing-but-will-it-lead-to-better-government', + 'body' => array( + '//h2[@id="summary"]', + '//div[@class="flex-video youtube"]', + '//div[contains(@class,"eza-body")]', + ), + 'strip' => array( + '//span[@id="breadcrumb"]', + '//div[@id="byline-wrapper"]', + '//div[@class="injection"]', + '//*[contains(@class,"promo_link")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/dailyjs.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/dailyjs.com.php new file mode 100644 index 0000000..20eb1d7 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/dailyjs.com.php @@ -0,0 +1,19 @@ + array( + '%.*%' => array( + 'test_url' => 'http://dailyjs.com/2014/08/07/p5js/', + 'body' => array( + '//div[@id="post"]', + ), + 'strip' => array( + '//h2[@class="post"]', + '//div[@class="meta"]', + '//*[contains(@class, "addthis_toolbox")]', + '//*[contains(@class, "addthis_default_style")]', + '//*[@class="navigation small"]', + '//*[@id="related"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/dailyreporter.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/dailyreporter.com.php new file mode 100644 index 0000000..db3fc0e --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/dailyreporter.com.php @@ -0,0 +1,15 @@ + array( + '%.*%' => array( + 'test_url' => 'http://dailyreporter.com/2016/01/09/us-supreme-court-case-could-weaken-government-workers-unions/', + 'body' => array( + '//div[contains(@class, "entry-content")]', + ), + 'strip' => array( + '//div[@class="dmcss_login_form"]', + '//*[contains(@class, "sharedaddy")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/dailytech.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/dailytech.com.php new file mode 100644 index 0000000..5d1df4a --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/dailytech.com.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.dailytech.com/Apples+First+Fixes+to+iOS+9+Land+w+iOS++901+Release/article37495.htm', + 'body' => array( + '//div[@class="NewsBodyImage"]', + '//span[@id="lblSummary"]', + '//span[@id="lblBody"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/degroupnews.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/degroupnews.com.php new file mode 100644 index 0000000..91f5c56 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/degroupnews.com.php @@ -0,0 +1,14 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.degroupnews.com/medias/vodsvod/amazon-concurrence-la-chromecast-de-google-avec-fire-tv-stick', + 'body' => array( + '//div[@class="contenu"]', + ), + 'strip' => array( + '//div[contains(@class, "a2a")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/derstandard.at.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/derstandard.at.php new file mode 100644 index 0000000..7e95a51 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/derstandard.at.php @@ -0,0 +1,14 @@ + array( + '%.*%' => array( + 'test_url' => 'http://derstandard.at/2000010267354/The-Witcher-3-Hohe-Hardware-Anforderungen-fuer-PC-Spieler?ref=rss', + 'body' => array( + '//div[@class="copytext"]', + '//ul[@id="media-list"]', + ), + 'strip' => array( + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/dilbert.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/dilbert.com.php new file mode 100644 index 0000000..b8e9b3d --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/dilbert.com.php @@ -0,0 +1,11 @@ + array( + '%.*%' => array( + 'body' => array( + '//img[@class="img-responsive img-comic"]', + ), + 'test_url' => 'http://dilbert.com/strip/2016-01-28', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/discovermagazine.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/discovermagazine.com.php new file mode 100644 index 0000000..ae0dfe7 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/discovermagazine.com.php @@ -0,0 +1,26 @@ + array( + '%.*%' => array( + 'test_url' => 'http://blogs.discovermagazine.com/neuroskeptic/2017/01/25/publishers-jeffrey-beall/', + 'body' => array( + '//div[@class="contentWell"]', + ), + 'strip' => array( + '//h1', + '//div[@class="breadcrumbs"]', + '//div[@class="mobile"]', + '//div[@class="fromIssue"]', + '//div[contains(@class,"belowDeck")]', + '//div[@class="meta"]', + '//div[@class="shareIcons"]', + '//div[@class="categories"]', + '//div[@class="navigation"]', + '//div[@class="heading"]', + '//div[contains(@id,"-ad")]', + '//div[@class="relatedArticles"]', + '//div[@id="disqus_thread"]' + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/distrowatch.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/distrowatch.com.php new file mode 100644 index 0000000..aefc8f8 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/distrowatch.com.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://distrowatch.com/?newsid=08355', + 'body' => array( + '//td[@class="NewsText"][1]', + ), + 'strip' => array( + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/dozodomo.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/dozodomo.com.php new file mode 100644 index 0000000..e116695 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/dozodomo.com.php @@ -0,0 +1,15 @@ + array( + '%.*%' => array( + 'test_url' => 'http://dozodomo.com/bento/2014/03/04/lart-des-maki-de-takayo-kiyota/', + 'body' => array( + '//div[@class="joke"]', + '//div[@class="story-cover"]', + '//div[@class="story-content"]', + ), + 'strip' => array( + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/drawingboardcomic.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/drawingboardcomic.com.php new file mode 100644 index 0000000..cd30f2e --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/drawingboardcomic.com.php @@ -0,0 +1,15 @@ + array( + '%.*%' => array( + 'body' => array('//img[@id="comicimage"]'), + 'strip' => array(), + 'test_url' => 'http://drawingboardcomic.com/index.php?comic=208', + ), + ), + 'filter' => array( + '%.*%' => array( + '%title="(.+)" */>%' => '/>
                                                                        $1', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/e-w-e.ru.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/e-w-e.ru.php new file mode 100644 index 0000000..8139cc9 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/e-w-e.ru.php @@ -0,0 +1,22 @@ + array( + '%.*%' => array( + 'test_url' => 'http://e-w-e.ru/16-prekrasnyx-izobretenij-zhenshhin/', + 'body' => array( + '//div[contains(@class, "post_text")]', + ), + 'strip' => array( + '//script', + '//form', + '//style', + '//*[@class="views_post"]', + '//*[@class="adman_mobile"]', + '//*[@class="adman_desctop"]', + '//*[contains(@rel, "nofollow")]', + '//*[contains(@class, "wp-smiley")]', + '//*[contains(text(),"ИÑточник:")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/economist.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/economist.com.php new file mode 100644 index 0000000..522032f --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/economist.com.php @@ -0,0 +1,25 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.economist.com/blogs/buttonwood/2017/02/mixed-signals?fsrc=rss', + 'body' => array( + '//article', + ), + 'strip' => array( + '//span[@class="blog-post__siblings-list-header "]', + '//h1', + '//aside', + '//div[@class="blog-post__asideable-wrapper"]', + '//div[@class="share_inline_header"]', + '//div[@id="column-right"]', + '//div[contains(@class,"blog-post__siblings-list-aside")]', + '//div[@class="video-player__wrapper"]', + '//div[@class="blog-post__bottom-panel"]', + '//div[contains(@class,"latest-updates-panel__container")]', + '//div[contains(@class,"blog-post__asideable-content")]', + '//div[@aria-label="Advertisement"]' + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/encyclopedie.naheulbeuk.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/encyclopedie.naheulbeuk.com.php new file mode 100644 index 0000000..19bcbde --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/encyclopedie.naheulbeuk.com.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://encyclopedie.naheulbeuk.com/article.php3?id_article=352', + 'body' => array( + '//td//h1[@class="titre-texte"]', + '//td//div[@class="surtitre"]', + '//td//div[@class="texte"]', + ), + ) + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/endlessorigami.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/endlessorigami.com.php new file mode 100644 index 0000000..d06ed12 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/endlessorigami.com.php @@ -0,0 +1,8 @@ + array( + '%.*%' => array( + '%-150x150%' => '', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/engadget.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/engadget.com.php new file mode 100644 index 0000000..cf9e448 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/engadget.com.php @@ -0,0 +1,10 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.engadget.com/2015/04/20/dark-matter-discovery/?ncid=rss_truncated', + 'body' => array('//div[@id="page_body"]/div[@class="container@m-"]'), + 'strip' => array('//aside[@role="banner"]'), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/escapistmagazine.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/escapistmagazine.com.php new file mode 100644 index 0000000..e86b59c --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/escapistmagazine.com.php @@ -0,0 +1,45 @@ + array( + '%/articles/view/comicsandcosplay/comics/critical-miss.*%' => array( + 'body' => array('//*[@class="body"]/span/img | //div[@class="folder_nav_links"]/following::p'), + 'test_url' => 'http://www.escapistmagazine.com/articles/view/comicsandcosplay/comics/critical-miss/13776-Critical-Miss-on-Framerates?utm_source=rss&utm_medium=rss&utm_campaign=articles', + 'strip' => array(), + ), + '%/articles/view/comicsandcosplay/comics/namegame.*%' => array( + 'body' => array('//*[@class="body"]/span/p/img[@height != "120"]'), + 'test_url' => 'http://www.escapistmagazine.com/articles/view/comicsandcosplay/comics/namegame/9759-Leaving-the-Nest?utm_source=rss&utm_medium=rss&utm_campaign=articles', + 'strip' => array(), + ), + '%/articles/view/comicsandcosplay/comics/stolen-pixels.*%' => array( + 'body' => array('//*[@class="body"]/span/p[2]/img'), + 'test_url' => 'http://www.escapistmagazine.com/articles/view/comicsandcosplay/comics/stolen-pixels/8866-Stolen-Pixels-258-Where-the-Boys-Are?utm_source=rss&utm_medium=rss&utm_campaign=articles', + 'strip' => array(), + ), + '%/articles/view/comicsandcosplay/comics/bumhugparade.*%' => array( + 'body' => array('//*[@class="body"]/span/p[2]/img'), + 'test_url' => 'http://www.escapistmagazine.com/articles/view/comicsandcosplay/comics/bumhugparade/8262-Bumhug-Parade-13?utm_source=rss&utm_medium=rss&utm_campaign=articles', + 'strip' => array(), + ), + '%/articles/view/comicsandcosplay.*/comics/escapistradiotheater%' => array( + 'body' => array('//*[@class="body"]/span/p[2]/img'), + 'test_url' => 'http://www.escapistmagazine.com/articles/view/comicsandcosplay/comics/escapistradiotheater/8265-The-Escapist-Radio-Theater-13?utm_source=rss&utm_medium=rss&utm_campaign=articles', + 'strip' => array(), + ), + '%/articles/view/comicsandcosplay/comics/paused.*%' => array( + 'body' => array('//*[@class="body"]/span/p[2]/img | //*[@class="body"]/span/div/img'), + 'test_url' => 'http://www.escapistmagazine.com/articles/view/comicsandcosplay/comics/paused/8263-Paused-16?utm_source=rss&utm_medium=rss&utm_campaign=articles', + 'strip' => array(), + ), + '%/articles/view/comicsandcosplay/comics/fraughtwithperil.*%' => array( + 'body' => array('//*[@class="body"]'), + 'test_url' => 'http://www.escapistmagazine.com/articles/view/comicsandcosplay/comics/fraughtwithperil/12166-The-Escapist-Presents-Escapist-Comics-Critical-Miss-B-lyeh-Fhlop?utm_source=rss&utm_medium=rss&utm_campaign=articles', + 'strip' => array(), + ), + '%/articles/view/video-games/columns/.*%' => array( + 'body' => array('//*[@id="article_content"]'), + 'test_url' => 'http://www.escapistmagazine.com/articles/view/video-games/columns/experienced-points/13971-What-50-Shades-and-Batman-Have-in-Common.2', + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/espn.go.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/espn.go.com.php new file mode 100644 index 0000000..76a20f7 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/espn.go.com.php @@ -0,0 +1,11 @@ + array( + '%.*%' => array( + 'test_url' => 'http://espn.go.com/nfl/story/_/id/13388208/jason-whitlock-chip-kelly-controversy', + 'body' => array( + '//p', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/exocomics.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/exocomics.com.php new file mode 100644 index 0000000..5adc59f --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/exocomics.com.php @@ -0,0 +1,15 @@ + array( + '%.*%' => array( + 'body' => array('//a[@class="comic"]/img'), + 'strip' => array(), + 'test_url' => 'http://www.exocomics.com/379', + ), + ), + 'filter' => array( + '%.*%' => array( + '%title="(.+)" */>%' => '/>
                                                                        $1', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/explosm.net.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/explosm.net.php new file mode 100644 index 0000000..3fdf02c --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/explosm.net.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://explosm.net/comics/3803/', + 'body' => array( + '//div[@id="comic-container"]', + ), + 'strip' => array( + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/extrafabulouscomics.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/extrafabulouscomics.com.php new file mode 100644 index 0000000..12697cc --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/extrafabulouscomics.com.php @@ -0,0 +1,8 @@ + array( + '%.*%' => array( + '%-150x150%' => '', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/factroom.ru.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/factroom.ru.php new file mode 100644 index 0000000..a572061 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/factroom.ru.php @@ -0,0 +1,27 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.factroom.ru/life/20-facts-about-oil', + 'body' => array( + '//div[@class="post"]', + ), + 'strip' => array( + '//script', + '//form', + '//style', + '//h1', + '//div[@id="yandex_ad2"]', + '//*[@class="jp-relatedposts"]', + '//div[contains(@class, "likely-desktop")]', + '//div[contains(@class, "likely-mobile")]', + '//p[last()]', + '//div[contains(@class, "facebook")]', + '//div[contains(@class, "desktop-underpost-direct")]', + '//div[contains(@class, "source-box")]', + '//div[contains(@class, "under-likely-desktop")]', + '//div[contains(@class, "mobile-down-post")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/fastcodesign.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/fastcodesign.com.php new file mode 100644 index 0000000..74e70a8 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/fastcodesign.com.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.fastcodesign.com/3026548/exposure/peek-inside-the-worlds-forbidden-subway-tunnels', + 'body' => array( + '//article[contains(@class, "body prose")]', + ), + 'strip' => array( + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/fastcoexist.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/fastcoexist.com.php new file mode 100644 index 0000000..6916f28 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/fastcoexist.com.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.fastcoexist.com/3026114/take-a-seat-on-this-gates-funded-future-toilet-that-will-change-how-we-think-about-poop', + 'body' => array( + '//article[contains(@class, "body prose")]', + ), + 'strip' => array( + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/fastcompany.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/fastcompany.com.php new file mode 100644 index 0000000..e0869a2 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/fastcompany.com.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.fastcompany.com/3026712/fast-feed/elon-musk-an-apple-tesla-merger-is-very-unlikely', + 'body' => array( + '//article[contains(@class, "body prose")]', + ), + 'strip' => array( + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/ffworld.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/ffworld.com.php new file mode 100644 index 0000000..20a47b2 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/ffworld.com.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.ffworld.com/?rub=news&page=voir&id=2709', + 'body' => array( + '//div[@class="news_body"]', + ), + 'strip' => array( + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/foreignpolicy.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/foreignpolicy.com.php new file mode 100644 index 0000000..3cbcddc --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/foreignpolicy.com.php @@ -0,0 +1,21 @@ + array( + '%.*%' => array( + 'test_url' => 'http://foreignpolicy.com/2016/01/09/networking-giant-pulls-nsa-linked-code-exploited-by-hackers/', + 'body' => array( + '//article', + ), + 'strip' => array( + '//div[@id="post-category"]', + '//div[@id="desktop-right"]', + '//h1', + '//section[@class="article-meta"]', + '//div[@class="side-panel-wrapper"]', + '//*[contains(@class, "share-")]', + '//*[contains(@id, "taboola-")]', + '//div[@class="comments"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/fossbytes.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/fossbytes.com.php new file mode 100644 index 0000000..6ce4725 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/fossbytes.com.php @@ -0,0 +1,18 @@ + array( + '%.*%' => array( + 'test_url' => 'http://fossbytes.com/fbi-hacked-1000-computers-to-shut-down-largest-child-pornography-site-on-the-dark-web/', + 'body' => array( + '//div[@class="entry-inner"]', + ), + 'strip' => array( + '//*[@class="at-above-post addthis_default_style addthis_toolbox at-wordpress-hide"]', + '//*[@class="at-below-post addthis_default_style addthis_toolbox at-wordpress-hide"]', + '//*[@class="at-below-post-recommended addthis_default_style addthis_toolbox at-wordpress-hide"]', + '//*[@class="code-block code-block-12 ai-desktop"]', + '//*[@class="code-block code-block-13 ai-tablet-phone"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/fototelegraf.ru.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/fototelegraf.ru.php new file mode 100644 index 0000000..ca2f85a --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/fototelegraf.ru.php @@ -0,0 +1,19 @@ + array( + '%.*%' => array( + 'test_url' => 'http://fototelegraf.ru/?p=348232', + 'body' => array( + '//div[@class="post-content"]', + ), + 'strip' => array( + '//script', + '//form', + '//style', + '//div[@class="imageButtonsBlock"]', + '//div[@class="adOnPostBtwImg"]', + '//div[contains(@class, "post-tags")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/fowllanguagecomics.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/fowllanguagecomics.com.php new file mode 100644 index 0000000..3f62f07 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/fowllanguagecomics.com.php @@ -0,0 +1,10 @@ + array( + '%.*%' => array( + 'body' => array('//*[@id="comic"] | //*[@class="post-image"]'), + 'strip' => array(), + 'test_url' => 'http://www.fowllanguagecomics.com/comic/working-out/', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/geek.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/geek.com.php new file mode 100644 index 0000000..d9ccecc --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/geek.com.php @@ -0,0 +1,17 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.geek.com/news/the-11-best-ways-to-eat-eggs-1634076/', + 'body' => array( + '//div[@class="articleinfo"]/figure', + '//div[@class="articleinfo"]/article', + '//span[@class="by"]', + ), + 'strip' => array( + '//span[@class="red"]', + '//div[@class="on-target"]' + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/geektimes.ru.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/geektimes.ru.php new file mode 100644 index 0000000..1954138 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/geektimes.ru.php @@ -0,0 +1,12 @@ + array( + '%.*%' => array( + 'test_url' => 'https://geektimes.ru/post/289151/', + 'body' => array( + "//div[contains(concat(' ',normalize-space(@class),' '),' content ')]" + ), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/gerbilwithajetpack.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/gerbilwithajetpack.com.php new file mode 100644 index 0000000..44013b3 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/gerbilwithajetpack.com.php @@ -0,0 +1,12 @@ + array( + '%.*%' => array( + 'body' => array( + '//div[@id="comic-1"]', + '//div[@class="entry"]', + ), + 'test_url' => 'http://gerbilwithajetpack.com/passing-the-digital-buck/', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/giantitp.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/giantitp.com.php new file mode 100644 index 0000000..d9c3ae5 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/giantitp.com.php @@ -0,0 +1,12 @@ + array( + '%/comics/oots.*%' => array( + 'test_url' => 'http://www.giantitp.com/comics/oots0989.html', + 'body' => array( + '//td[@align="center"]/img', + ), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/github.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/github.com.php new file mode 100644 index 0000000..726634f --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/github.com.php @@ -0,0 +1,14 @@ + array( + '%.*%' => array( + 'test_url' => 'https://github.com/audreyr/favicon-cheat-sheet', + 'body' => array( + '//article[contains(@class, "entry-content")]', + ), + 'strip' => array( + '//h1', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/gocomics.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/gocomics.com.php new file mode 100644 index 0000000..32960f0 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/gocomics.com.php @@ -0,0 +1,12 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.gocomics.com/pearlsbeforeswine/2015/05/30', + 'body' => array( + '//div[1]/p[1]/a[1]/img', + ), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/golem.de.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/golem.de.php new file mode 100644 index 0000000..8422483 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/golem.de.php @@ -0,0 +1,20 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.golem.de/news/breko-telekom-verzoegert-gezielt-den-vectoring-ausbau-1311-102974.html', + 'body' => array( + '//header[@class="cluster-header"]', + '//header[@class="paged-cluster-header"]', + '//div[@class="formatted"]', + ), + 'next_page' => array( + '//a[@id="atoc_next"]' + ), + 'strip' => array( + '//header[@class="cluster-header"]/a', + '//div[@id="iqadtile4"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/gorabbit.ru.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/gorabbit.ru.php new file mode 100644 index 0000000..4e43248 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/gorabbit.ru.php @@ -0,0 +1,19 @@ + array( + '%.*%' => array( + 'test_url' => 'http://gorabbit.ru/article/10-oshchushcheniy-za-rulem-kogda-tolko-poluchil-voditelskie-prava', + 'body' => array( + '//div[@class="detail_text"]', + ), + 'strip' => array( + '//script', + '//form', + '//style', + '//div[@class="socials"]', + '//div[@id="cr_1"]', + '//div[@class="related_items"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/habrahabr.ru.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/habrahabr.ru.php new file mode 100644 index 0000000..3f1ec16 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/habrahabr.ru.php @@ -0,0 +1,12 @@ + array( + '%.*%' => array( + 'test_url' => 'https://habrahabr.ru/company/pentestit/blog/328606/', + 'body' => array( + "//div[contains(concat(' ',normalize-space(@class),' '),' content ')]" + ), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/happletea.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/happletea.com.php new file mode 100644 index 0000000..75b0b83 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/happletea.com.php @@ -0,0 +1,18 @@ + array( + '%.*%' => array( + 'body' => array( + '//div[@id="comic"]', + '//div[@class="entry"]', + ), + 'strip' => array('//div[@class="ssba"]'), + 'test_url' => 'http://www.happletea.com/comic/mans-best-friend/', + ), + ), + 'filter' => array( + '%.*%' => array( + '%title="(.+)" */>%' => '/>
                                                                        $1', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/hardware.fr.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/hardware.fr.php new file mode 100644 index 0000000..56aec4f --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/hardware.fr.php @@ -0,0 +1,11 @@ + array( + '%^/news.*%' => array( + 'test_url' => 'http://www.hardware.fr/news/14760/intel-lance-nouveaux-ssd-nand-3d.html', + 'body' => array( + '//div[@class="content_actualite"]/div[@class="md"]', + ) + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/heise.de.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/heise.de.php new file mode 100644 index 0000000..2055b3b --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/heise.de.php @@ -0,0 +1,12 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.heise.de/security/meldung/BND-300-Millionen-Euro-fuer-Fruehwarnsystem-gegen-Cyber-Attacken-2192237.html', + 'body' => array( + '//div[@class="meldung_wrapper"]', + '//div[@class="artikel_content"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/hotshowlife.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/hotshowlife.com.php new file mode 100644 index 0000000..faf01f3 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/hotshowlife.com.php @@ -0,0 +1,23 @@ + array( + '%.*%' => array( + 'test_url' => 'https://hotshowlife.com/top-10-chempionov-produktov-po-szhiganiyu-kalorij/', + 'body' => array( + '//div[@class="entry-content"]', + ), + 'strip' => array( + '//script', + '//form', + '//style', + '//div[@class="ads2"]', + '//div[@class="mistape_caption"]', + '//div[contains(@class, "et_social_media_hidden")]', + '//div[contains(@class, "et_social_inline_bottom")]', + '//div[contains(@class, "avatar")]', + '//ul[contains(@class, "entry-tags")]', + '//div[contains(@class, "entry-meta")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/huffingtonpost.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/huffingtonpost.com.php new file mode 100644 index 0000000..b52b07b --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/huffingtonpost.com.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.huffingtonpost.com/2014/02/20/centscere-social-media-syracuse_n_4823848.html', + 'body' => array( + '//article[@class="content")]', + ), + 'strip' => array( + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/imogenquest.net.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/imogenquest.net.php new file mode 100644 index 0000000..3214c62 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/imogenquest.net.php @@ -0,0 +1,8 @@ + array( + '%.*%' => array( + '%title="(.+)" */>%' => '/>
                                                                        $1', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/indiehaven.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/indiehaven.com.php new file mode 100644 index 0000000..a40ce69 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/indiehaven.com.php @@ -0,0 +1,11 @@ + array( + '%.*%' => array( + 'test_url' => 'http://indiehaven.com/no-mans-sky-is-a-solo-space-adventure-and-im-ok-with-that/', + 'body' => array( + '//section[contains(@class, "entry-content")]', + ) + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/ing.dk.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/ing.dk.php new file mode 100644 index 0000000..5a021a0 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/ing.dk.php @@ -0,0 +1,12 @@ + array( + '%.*%' => array( + 'test_url' => 'http://ing.dk/artikel/smart-husisolering-og-styring-skal-mindske-japans-energikrise-164517', + 'body' => array( + '//section[contains(@class, "teaser")]', + '//section[contains(@class, "body")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/invisiblebread.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/invisiblebread.com.php new file mode 100644 index 0000000..90f8759 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/invisiblebread.com.php @@ -0,0 +1,8 @@ + array( + '%.*%' => array( + '%()%' => '$1', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/ir.amd.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/ir.amd.com.php new file mode 100644 index 0000000..af99fe9 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/ir.amd.com.php @@ -0,0 +1,10 @@ + array( + '%.*%' => array( + 'body' => array('//span[@class="ccbnTxt"]'), + 'strip' => array(), + 'test_url' => 'http://ir.amd.com/phoenix.zhtml?c=74093&p=RssLanding&cat=news&id=2055819', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/japantimes.co.jp.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/japantimes.co.jp.php new file mode 100644 index 0000000..9959441 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/japantimes.co.jp.php @@ -0,0 +1,21 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.japantimes.co.jp/news/2015/09/27/world/social-issues-world/pope-meets-sex-abuse-victims-philadelphia-promises-accountability/', + 'body' => array( + '//article[@role="main"]', + ), + 'strip' => array( + '//script', + '//header', + '//div[contains(@class, "meta")]', + '//div[@class="clearfix"]', + '//div[@class="OUTBRAIN"]', + '//ul[@id="content_footer_menu"]', + '//div[@class="article_footer_ad"]', + '//div[@id="disqus_thread"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/japantoday.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/japantoday.com.php new file mode 100644 index 0000000..22485d6 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/japantoday.com.php @@ -0,0 +1,15 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.japantoday.com/category/politics/view/japan-u-s-to-sign-new-base-environment-pact', + 'body' => array( + '//div[@id="article_container"]', + ), + 'strip' => array( + '//h2', + '//div[@id="article_info"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/journaldugeek.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/journaldugeek.com.php new file mode 100644 index 0000000..876b269 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/journaldugeek.com.php @@ -0,0 +1,11 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www./2014/05/20/le-playstation-now-arrive-en-beta-fermee-aux-etats-unis/', + 'body' => array( + '//div[@class="post-content"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/jsonline.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/jsonline.com.php new file mode 100644 index 0000000..5895256 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/jsonline.com.php @@ -0,0 +1,37 @@ + array( + '%.%/picture-gallery/%' => array( + 'test_url' => 'http://www.jsonline.com/picture-gallery/news/local/milwaukee/2017/02/22/photos-aclu-sues-milwaukee-police-over-profiling-stop-and-frisk/98250836/', + 'body' => array( + '//div[@class="priority-asset-gallery galleries standalone hasendslate"]', + ), + 'strip' => array( + '//div[@class="buy-photo-btn"]', + '//div[@class="gallery-thumbs thumbs pag-thumbs")]', + ), + ), + '%.*%' => array( + 'test_url' => 'http://www.jsonline.com/news/usandworld/as-many-as-a-million-expected-for-popes-last-mass-in-us-b99585180z1-329688131.html', + 'body' => array( + '//div[@itemprop="articleBody"]', + ), + 'strip' => array( + '//h1', + '//iframe', + '//span[@class="mycapture-small-btn mycapture-btn-with-text mycapture-expandable-photo-btn-small js-mycapture-btn-small"]', + '//div[@class="close-wrap"]', + '//div[contains(@class,"ui-video-wrapper")]', + '//div[contains(@class,"media-mob")]', + '//div[contains(@class,"left-mob")]', + '//div[contains(@class,"nerdbox")]', + '//p/span', + '//div[contains(@class,"oembed-asset")]', + '//*[contains(@class,"share")]', + '//div[contains(@class,"gallery-asset")]', + '//div[contains(@class,"oembed-asset")]', + '//div[@class="article-print-url"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/justcoolidea.ru.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/justcoolidea.ru.php new file mode 100644 index 0000000..089ff29 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/justcoolidea.ru.php @@ -0,0 +1,19 @@ + array( + '%.*%' => array( + 'test_url' => 'http://justcoolidea.ru/idealnyj-sad-samodelnye-proekty-dlya-berezhlivogo-domovladeltsa/', + 'body' => array( + '//section[@class="entry-content"]', + ), + 'strip' => array( + '//script', + '//form', + '//style', + '//*[contains(@class, "essb_links")]', + '//*[contains(@rel, "nofollow")]', + '//*[contains(@class, "ads")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/kanpai.fr.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/kanpai.fr.php new file mode 100644 index 0000000..c3a1abc --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/kanpai.fr.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.kanpai.fr/japon/comment-donner-lheure-en-japonais.html', + 'body' => array( + '//div[@class="single-left"]', + ), + 'strip' => array( + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/karriere.jobfinder.dk.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/karriere.jobfinder.dk.php new file mode 100644 index 0000000..25d6dfa --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/karriere.jobfinder.dk.php @@ -0,0 +1,12 @@ + array( + '%.*%' => array( + 'test_url' => 'http://karriere.jobfinder.dk/artikel/dansk-professor-skal-lede-smart-grid-forskning-20-millioner-dollars-763', + 'body' => array( + '//section[contains(@class, "teaser")]', + '//section[contains(@class, "body")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/kodi.tv.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/kodi.tv.php new file mode 100644 index 0000000..439fc90 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/kodi.tv.php @@ -0,0 +1,11 @@ + array( + '%.*%' => array( + 'test_url' => 'https://kodi.tv/article/andwere-baaaaack', + 'body' => array( + '//div[@class="l-region--content"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/koreaherald.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/koreaherald.com.php new file mode 100644 index 0000000..9651056 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/koreaherald.com.php @@ -0,0 +1,11 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.koreaherald.com/view.php?ud=20150926000018', + 'body' => array( + '//div[@id="articleText"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/koreatimes.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/koreatimes.php new file mode 100644 index 0000000..f274b4a --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/koreatimes.php @@ -0,0 +1,14 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.koreatimes.co.kr/www/news/nation/2015/12/116_192409.html', + 'body' => array( + '//div[@id="p"]', + ), + 'strip' => array( + '//div[@id="webtalks_btn_listenDiv"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lastplacecomics.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lastplacecomics.com.php new file mode 100644 index 0000000..12697cc --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lastplacecomics.com.php @@ -0,0 +1,8 @@ + array( + '%.*%' => array( + '%-150x150%' => '', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/legorafi.fr.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/legorafi.fr.php new file mode 100644 index 0000000..e6aae46 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/legorafi.fr.php @@ -0,0 +1,22 @@ + array( + '%.*%' => array( + 'test_url' => array( + 'http://www.legorafi.fr/2016/12/16/gorafi-magazine-bravo-vous-avez-bientot-presque-survecu-a-2016/', + 'http://www.legorafi.fr/2016/12/15/manuel-valls-promet-quune-fois-elu-il-debarrassera-la-france-de-manuel-valls/', + ), + 'body' => array( + '//section[@id="banner_magazine"]', + '//figure[@class="main_picture"]', + '//div[@class="content"]', + ), + 'strip' => array( + '//figcaption', + '//div[@class="sharebox"]', + '//div[@class="tags"]', + '//section[@class="taboola_article"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lejapon.fr.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lejapon.fr.php new file mode 100644 index 0000000..8f2b293 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lejapon.fr.php @@ -0,0 +1,17 @@ + array( + '%.*%' => array( + 'test_url' => 'http://lejapon.fr/guide-voyage-japon/5223/tokyo-sous-la-neige.htm', + 'body' => array( + '//div[@class="entry"]', + ), + 'strip' => array( + '//*[contains(@class, "addthis_toolbox")]', + '//*[contains(@class, "addthis_default_style")]', + '//*[@class="navigation small"]', + '//*[@id="related"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lesjoiesducode.fr.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lesjoiesducode.fr.php new file mode 100644 index 0000000..369206a --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lesjoiesducode.fr.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://lesjoiesducode.fr/post/75576211207/quand-lappli-ne-fonctionne-plus-sans-aucune-raison', + 'body' => array( + '//div[@class="blog-post-content"]', + ), + 'strip' => array( + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lfg.co.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lfg.co.php new file mode 100644 index 0000000..d978a5f --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lfg.co.php @@ -0,0 +1,12 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.lfg.co/page/871/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+LookingForGroup+%28Looking+For+Group%29&utm_content=FeedBurner', + 'body' => array( + '//*[@id="comic"]/img | //*[@class="content"]', + ), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lifehacker.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lifehacker.com.php new file mode 100644 index 0000000..b9a6933 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lifehacker.com.php @@ -0,0 +1,18 @@ + array( + '%.*%' => array( + 'test_url' => 'http://lifehacker.com/bring-water-bottle-caps-into-concerts-to-protect-your-d-1269334973', + 'body' => array( + '//div[contains(@class, "row")/img', + '//div[contains(@class, "content-column")]', + ), + 'strip' => array( + '//*[contains(@class, "meta")]', + '//span[contains(@class, "icon")]', + '//h1', + '//aside', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lifehacker.ru.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lifehacker.ru.php new file mode 100644 index 0000000..bc140f6 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lifehacker.ru.php @@ -0,0 +1,22 @@ + array( + '%.*%' => array( + 'test_url' => 'http://lifehacker.ru/2016/03/03/polymail/', + 'body' => array( + '//div[@class="post-content"]', + ), + 'strip' => array( + '//script', + '//form', + '//style', + '//*[@class="wp-thumbnail-caption"]', + '//*[contains(@class, "social-likes")]', + '//*[@class="jp-relatedposts"]', + '//*[contains(@class, "wpappbox")]', + '//*[contains(@class, "icon__image")]', + '//div[@id="hypercomments_widget"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/linux.org.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/linux.org.php new file mode 100644 index 0000000..2520d0d --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/linux.org.php @@ -0,0 +1,14 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.linux.org/threads/lua-the-scripting-interpreter.8352/', + 'body' => array( + '//div[@class="messageContent"]', + ), + 'strip' => array( + '//aside', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/linux.org.ru.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/linux.org.ru.php new file mode 100644 index 0000000..7fa0249 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/linux.org.ru.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.linux.org/threads/lua-the-scripting-interpreter.8352/', + 'body' => array( + '//div[@itemprop="articleBody"]', + ), + 'strip' => array( + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/linuxinsider.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/linuxinsider.com.php new file mode 100644 index 0000000..4e0a4cc --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/linuxinsider.com.php @@ -0,0 +1,20 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.linuxinsider.com/story/82526.html?rss=1', + 'body' => array( + '//div[@id="story"]', + ), + 'strip' => array( + '//script', + '//h1', + '//div[@id="story-toolbox1"]', + '//div[@id="story-byline"]', + '//div[@id="story"]/p', + '//div[@class="story-advertisement"]', + '//iframe', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lists.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lists.php new file mode 100644 index 0000000..c7051a2 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lists.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://lists.freebsd.org/pipermail/freebsd-announce/2013-September/001504.html', + 'body' => array( + '//pre', + ), + 'strip' => array( + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/loadingartist.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/loadingartist.com.php new file mode 100644 index 0000000..d06ed12 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/loadingartist.com.php @@ -0,0 +1,8 @@ + array( + '%.*%' => array( + '%-150x150%' => '', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/loldwell.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/loldwell.com.php new file mode 100644 index 0000000..d358e15 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/loldwell.com.php @@ -0,0 +1,10 @@ + array( + '%.*%' => array( + 'test_url' => 'http://loldwell.com/?comic=food-math-101', + 'body' => array('//*[@id="comic"]'), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lukesurl.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lukesurl.com.php new file mode 100644 index 0000000..816233d --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/lukesurl.com.php @@ -0,0 +1,15 @@ + array( + '%.*%' => array( + 'body' => array('//div[@id="comic"]//img'), + 'strip' => array(), + 'test_url' => 'http://www.lukesurl.com/archives/comic/665-3-of-clubs', + ), + ), + 'filter' => array( + '%.*%' => array( + '%title="(.+)" */>%' => '/>
                                                                        $1', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/macg.co.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/macg.co.php new file mode 100644 index 0000000..bbe6dbc --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/macg.co.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.macg.co//logiciels/2014/05/feedly-sameliore-un-petit-peu-sur-mac-82205', + 'body' => array( + '//div[contains(@class, "field-name-body")]', + ), + 'strip' => array( + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/marc.info.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/marc.info.php new file mode 100644 index 0000000..5f582a6 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/marc.info.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://marc.info/?l=openbsd-misc&m=141987113202061&w=2', + 'body' => array( + '//pre', + ), + 'strip' => array( + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/marriedtothesea.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/marriedtothesea.com.php new file mode 100644 index 0000000..469640d --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/marriedtothesea.com.php @@ -0,0 +1,12 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.marriedtothesea.com/index.php?date=052915', + 'body' => array( + '//div[@align]/a/img', + ), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/marycagle.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/marycagle.com.php new file mode 100644 index 0000000..b8665e3 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/marycagle.com.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'body' => array( + '//img[@id="cc-comic"]', + '//div[@class="cc-newsbody"]', + ), + 'strip' => array(), + 'test_url' => 'http://www.marycagle.com/letsspeakenglish/74-grim-reality/', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/maximumble.thebookofbiff.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/maximumble.thebookofbiff.com.php new file mode 100644 index 0000000..8880054 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/maximumble.thebookofbiff.com.php @@ -0,0 +1,10 @@ + array( + '%.*%' => array( + 'test_url' => 'http://maximumble.thebookofbiff.com/2015/04/20/1084-change/', + 'body' => array('//div[@id="comic"]/div/a/img'), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/medium.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/medium.com.php new file mode 100644 index 0000000..e20860e --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/medium.com.php @@ -0,0 +1,19 @@ + array( + '%.*%' => array( + 'test_url' => 'https://medium.com/lessons-learned/917b8b63ae3e', + 'body' => array( + '//div[@class="section-content"]', + ), + 'strip' => array( + '//div[contains(@class,"metabar")]', + '//img[contains(@class,"thumbnail")]', + '//h1', + '//blockquote', + '//div[@class="aspectRatioPlaceholder-fill"]', + '//footer' + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/mercworks.net.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/mercworks.net.php new file mode 100644 index 0000000..c7a27de --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/mercworks.net.php @@ -0,0 +1,17 @@ + array( + '%.*%' => array( + 'body' => array('//div[@id="comic"]', + '//div[contains(@class,"entry-content")]', + ), + 'strip' => array(), + 'test_url' => 'http://mercworks.net/comicland/healthy-choice/', + ), + ), + 'filter' => array( + '%.*%' => array( + '%title="(.+)" */>%' => '/>
                                                                        $1', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/metronieuws.nl.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/metronieuws.nl.php new file mode 100644 index 0000000..5011169 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/metronieuws.nl.php @@ -0,0 +1,10 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.metronieuws.nl/sport/2015/04/broer-fellaini-zorgde-bijna-voor-paniek-bij-mourinho', + 'body' => array('//div[contains(@class,"article-top")]/div[contains(@class,"image-component")] | //div[@class="article-full-width"]/div[1]'), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/milwaukeenns.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/milwaukeenns.php new file mode 100644 index 0000000..ddb29a5 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/milwaukeenns.php @@ -0,0 +1,14 @@ + array( + '%.*%' => array( + 'test_url' => 'http://milwaukeenns.org/2016/01/08/united-way-grant-enables-sdc-to-restore-free-tax-assistance-program/', + 'body' => array( + '//div[@class="pf-content"]', + ), + 'strip' => array( + '//div[@class="printfriendly"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/mokepon.smackjeeves.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/mokepon.smackjeeves.com.php new file mode 100644 index 0000000..1ddcd40 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/mokepon.smackjeeves.com.php @@ -0,0 +1,10 @@ + array( + '%.*%' => array( + 'test_url' => 'http://mokepon.smackjeeves.com/comics/2120096/chapter-9-page-68/', + 'body' => array('//*[@id="comic_area_inner"]/img | //*[@id="comic_area_inner"]/a/img'), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/monandroid.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/monandroid.com.php new file mode 100644 index 0000000..f87560e --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/monandroid.com.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.monandroid.com/blog/tutoriel-avance-activer-le-stockage-fusionne-sur-android-6-marshamallow-t12.html', + 'body' => array( + '//div[@class="blog-post-body"]', + ), + 'strip' => array( + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/monwindows.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/monwindows.com.php new file mode 100644 index 0000000..b2b24d7 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/monwindows.com.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.monwindows.com/tout-savoir-sur-le-centre-d-action-de-windows-phone-8-1-t40574.html', + 'body' => array( + '//div[@class="blog-post-body"]', + ), + 'strip' => array( + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/moya-planeta.ru.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/moya-planeta.ru.php new file mode 100644 index 0000000..dd84284 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/moya-planeta.ru.php @@ -0,0 +1,21 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.moya-planeta.ru/travel/view/chto_yaponcu_horosho_russkomu_ne_ponyat_20432/', + 'body' => array( + '//div[@class="full_object"]', + ), + 'strip' => array( + '//div[@class="full_object_panel object_panel"]', + '//div[@class="full_object_panel_geo object_panel"]', + '//div[@class="full_object_title"]', + '//div[@class="full_object_social_likes"]', + '//div[@class="full_object_planeta_likes"]', + '//div[@class="full_object_go2comments"]', + '//div[@id="yandex_ad_R-163191-3"]', + '//div[@class="full_object_shop_article_recommend"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/mrlovenstein.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/mrlovenstein.com.php new file mode 100644 index 0000000..b971091 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/mrlovenstein.com.php @@ -0,0 +1,9 @@ + array( + '%.*%' => array( + '%alt="(.+)" */>%' => '/>
                                                                        $1', + '%\.png%' => '_rollover.png', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/muckrock.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/muckrock.com.php new file mode 100644 index 0000000..9e354a3 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/muckrock.com.php @@ -0,0 +1,20 @@ + array( + '%.*%' => array( + 'test_url' => 'https://www.muckrock.com/news/archives/2016/jan/13/5-concerns-private-prisons/', + 'body' => array( + '//div[@class="content"]', + ), + 'strip' => array( + '//div[@class="newsletter-widget"]', + '//div[@class="contributors"]', + '//time', + '//h1', + '//div[@class="secondary"]', + '//aside', + '//div[@class="articles__related"]' + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/mynorthshorenow.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/mynorthshorenow.com.php new file mode 100644 index 0000000..b630915 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/mynorthshorenow.com.php @@ -0,0 +1,27 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.mynorthshorenow.com/story/news/local/fox-point/2017/04/04/fox-point-building-board-approves-dunwood-commons-project/99875570/', + 'body' => array( + '//div[@itemprop="articleBody"]', + ), + 'strip' => array( + '//h1', + '//iframe', + '//span[@class="mycapture-small-btn mycapture-btn-with-text mycapture-expandable-photo-btn-small js-mycapture-btn-small"]', + '//div[@class="close-wrap"]', + '//div[contains(@class,"ui-video-wrapper")]', + '//div[contains(@class,"media-mob")]', + '//div[contains(@class,"left-mob")]', + '//div[contains(@class,"nerdbox")]', + '//p/span', + '//div[contains(@class,"oembed-asset")]', + '//*[contains(@class,"share")]', + '//div[contains(@class,"gallery-asset")]', + '//div[contains(@class,"oembed-asset")]', + '//div[@class="article-print-url"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nakedCapitalism.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nakedCapitalism.php new file mode 100644 index 0000000..ec2d5fd --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nakedCapitalism.php @@ -0,0 +1,11 @@ + array( + '%.*%' => array( + 'test_url' => 'http://feedproxy.google.com/~r/NakedCapitalism/~3/JOBxEHxN8ZI/mark-blyth-liberalism-undermined-democracy-failure-democratic-party.html', + 'body' => array( + '//div[@class="pf-content"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nasa.gov.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nasa.gov.php new file mode 100644 index 0000000..c6692d0 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nasa.gov.php @@ -0,0 +1,14 @@ + array( + '%.*%' => array( + 'test_url' => 'https://www.nasa.gov/image-feature/jpl/pia20514/coy-dione', + 'body' => array( + '//div[@class="article-body"]', + ), + 'strip' => array( + '//div[@class="title-bar"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nat-geo.ru.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nat-geo.ru.php new file mode 100644 index 0000000..1a42d99 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nat-geo.ru.php @@ -0,0 +1,11 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.nat-geo.ru/fact/868093-knidos-antichnyy-naukograd/', + 'body' => array( + '//div[@class="article-inner-text"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nationaljournal.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nationaljournal.com.php new file mode 100644 index 0000000..5e612be --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nationaljournal.com.php @@ -0,0 +1,15 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.nationaljournal.com/s/354962/south-carolina-evangelicals-outstrip-establishment?mref=home_top_main', + 'body' => array( + '//div[@class="section-body"]', + ), + 'strip' => array( + '//*[contains(@class, "-related")]', + '//*[contains(@class, "social")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nature.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nature.com.php new file mode 100644 index 0000000..6b9e87f --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nature.com.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.nature.com/doifinder/10.1038/nature.2015.18340', + 'body' => array( + '//div[contains(@class,"main-content")]', + ), + 'strip' => array(), + ), + ), +); + diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nba.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nba.com.php new file mode 100644 index 0000000..c8ea926 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nba.com.php @@ -0,0 +1,15 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.nba.com/2015/news/09/25/knicks-jackson-to-spend-more-time-around-coaching-staff.ap/index.html?rss=true', + 'body' => array( + '//div[@class="paragraphs"]', + ), + 'strip' => array( + '//div[@id="nbaArticleSocialWrapper_bot"]', + '//h5', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nedroid.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nedroid.com.php new file mode 100644 index 0000000..3214c62 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nedroid.com.php @@ -0,0 +1,8 @@ + array( + '%.*%' => array( + '%title="(.+)" */>%' => '/>
                                                                        $1', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/networkworld.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/networkworld.com.php new file mode 100644 index 0000000..1852435 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/networkworld.com.php @@ -0,0 +1,20 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.networkworld.com/article/3020585/security/the-incident-response-fab-five.html', + 'body' => array( + '//figure/img[@class="hero-img"]', + '//section[@class="deck"]', + '//div[@itemprop="articleBody"] | //div[@itemprop="reviewBody"]', + '//div[@class="carousel-inside-crop"]', + ), + 'strip' => array( + '//script', + '//aside', + '//div[@class="credit"]', + '//div[@class="view-large"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/neustadt-ticker.de.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/neustadt-ticker.de.php new file mode 100644 index 0000000..e0c0d19 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/neustadt-ticker.de.php @@ -0,0 +1,15 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.neustadt-ticker.de/41302/alltag/kultur/demo-auf-der-boehmischen', + 'body' => array( + '//div[@class="entry-content"]', + ), + 'strip' => array( + '//*[contains(@class, "sharedaddy")]', + '//*[contains(@class, "yarpp-related")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nextinpact.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nextinpact.com.php new file mode 100644 index 0000000..29dd9d6 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nextinpact.com.php @@ -0,0 +1,18 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.nextinpact.com/news/101122-3d-nand-intel-lance-six-nouvelles-gammes-ssd-pour-tous-usages.htm', + 'body' => array( + '//div[@class="container_article"]', + ), + 'strip' => array( + '//div[@class="infos_article"]', + '//div[@id="actu_auteur"]', + '//div[@id="soutenir_journaliste"]', + '//section[@id="bandeau_abonnez_vous"]', + '//br' + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/niceteethcomic.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/niceteethcomic.com.php new file mode 100644 index 0000000..f41e443 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/niceteethcomic.com.php @@ -0,0 +1,10 @@ + array( + '%/archives.*%' => array( + 'test_url' => 'http://niceteethcomic.com/archives/page119/', + 'body' => array('//*[@class="comicpane"]/a/img'), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nichtlustig.de.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nichtlustig.de.php new file mode 100644 index 0000000..4d083f9 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/nichtlustig.de.php @@ -0,0 +1,8 @@ + array( + '%.*%' => array( + '%.*static.nichtlustig.de/comics/full/(\\d+).*%s' => '', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/oglaf.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/oglaf.com.php new file mode 100644 index 0000000..8b2b5b6 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/oglaf.com.php @@ -0,0 +1,19 @@ + array( + '%.*%' => array( + 'body' => array( + '//img[@id="strip"]', + '//a/div[@id="nx"]/..', + ), + 'strip' => array(), + 'test_url' => 'http://oglaf.com/slodging/', + ), + ), + 'filter' => array( + '%.*%' => array( + '%alt="(.+)" title="(.+)" */>%' => '/>
                                                                        $1
                                                                        $2
                                                                        ', + '%%' => 'Next page', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/onhax.net.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/onhax.net.php new file mode 100644 index 0000000..213849d --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/onhax.net.php @@ -0,0 +1,15 @@ + array( + '%.*%' => array( + 'test_url' => 'http://onhax.net/process-lasso-8-9-1-4-pro-key-portable-is-here-latest', + 'body' => array( + '//div[@class="postcontent"]', + ), + 'strip' => array( + '//*[@class="sharedaddy sd-sharing-enabled"]', + '//*[@class="yarpp-related"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/onmilwaukee.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/onmilwaukee.php new file mode 100644 index 0000000..f66ac4b --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/onmilwaukee.php @@ -0,0 +1,24 @@ + array( + '%.*%' => array( + 'test_url' => 'http://onmilwaukee.com/movies/articles/downerspelunking.html', + 'body' => array( + '//article[contains(@class, "show")]', + ), + 'strip' => array( + '//h1', + '//div[contains(@class,"-ad")]', + '//div[contains(@class,"_ad")]', + '//div[@id="pub_wrapper"]', + '//div[contains(@class,"share_tools")]', + '//div[@class="clearfix"]', + '//div[contains(@class,"image_control")]', + '//section[@class="ribboned"]', + '//div[contains(@class,"sidebar")]', + '//aside[@class="article_tag_list"]', + '//section[contains(@id,"more_posts")]' + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/openculture.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/openculture.com.php new file mode 100644 index 0000000..84f2bee --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/openculture.com.php @@ -0,0 +1,11 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.openculture.com/2017/03/are-we-living-inside-a-computer-simulation-watch-the-simulation-argument.html', + 'body' => array( + '//div[@class="entry"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/opennet.ru.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/opennet.ru.php new file mode 100644 index 0000000..1fb7722 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/opennet.ru.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'https://www.opennet.ru/opennews/art.shtml?num=46549', + 'body' => array( + '//*[@id="r_memo"]', + ), + 'strip' => array( + ), + ) + ) +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/openrightsgroup.org.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/openrightsgroup.org.php new file mode 100644 index 0000000..94139a7 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/openrightsgroup.org.php @@ -0,0 +1,20 @@ + array( + '%.*%' => array( + 'test_url' => 'https://www.openrightsgroup.org/blog/2014/3-days-to-go-till-orgcon2014', + 'body' => array( + '//div[contains(@class, "content")]/div', + ), + 'strip' => array( + '//h2[1]', + '//div[@class="info"]', + '//div[@class="tags"]', + '//div[@class="comments"]', + '//div[@class="breadcrumbs"]', + '//h1[@class="pageTitle"]', + '//p[@class="bookmarkThis"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/opensource.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/opensource.com.php new file mode 100644 index 0000000..60f3577 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/opensource.com.php @@ -0,0 +1,22 @@ + array( + '%.*%' => array( + 'test_url' => 'http://opensource.com/life/15/10/how-internet-things-will-change-way-we-think', + 'body' => array( + '//div[@id="article-template"]', + ), + 'strip' => array( + '//div[contains(@class,"os-article__sidebar")]', + '//div[@class="panel-pane pane-node-title"]', + '//div[@class="panel-pane pane-os-article-byline"]', + '//ul', + '//div[contains(@class,"-license")]', + '//div[contains(@class,"-tags")]', + '//div[@class="panel-pane pane-os-article-byline"]', + '//div[@class="os-article__content-below"]', + '//div[@id="comments"]' + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/optipess.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/optipess.com.php new file mode 100644 index 0000000..3214c62 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/optipess.com.php @@ -0,0 +1,8 @@ + array( + '%.*%' => array( + '%title="(.+)" */>%' => '/>
                                                                        $1', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/osnews.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/osnews.com.php new file mode 100644 index 0000000..1d1396c --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/osnews.com.php @@ -0,0 +1,11 @@ + array( + '%.*%' => array( + 'test_url' => 'http://osnews.com/story/28863/Google_said_to_be_under_US_antitrust_scrutiny_over_Android', + 'body' => array( + '//div[@class="newscontent1"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/pastebin.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/pastebin.com.php new file mode 100644 index 0000000..b20bf41 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/pastebin.com.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://pastebin.com/ed1pP9Ak', + 'body' => array( + '//div[@class="text"]', + ), + 'strip' => array( + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/peebleslab.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/peebleslab.com.php new file mode 100644 index 0000000..ce4891d --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/peebleslab.com.php @@ -0,0 +1,9 @@ + array( + '%.*%' => array( + // the extra space is required to strip the title cleanly + '%title="(.+) " */>%' => '/>
                                                                        $1', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/penny-arcade.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/penny-arcade.com.php new file mode 100644 index 0000000..dd39983 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/penny-arcade.com.php @@ -0,0 +1,21 @@ + array( + '%/news/.*%' => array( + 'test_url' => 'http://penny-arcade.com/news/post/2015/04/15/101-part-two', + 'body' => array( + '//*[@class="postBody"]/*', + ), + 'strip' => array( + ), + ), + '%/comic/.*%' => array( + 'test_url' => 'http://penny-arcade.com/comic/2015/04/15', + 'body' => array( + '//*[@id="comicFrame"]/a/img', + ), + 'strip' => array( + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/pixelbeat.org.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/pixelbeat.org.php new file mode 100644 index 0000000..fa9052e --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/pixelbeat.org.php @@ -0,0 +1,12 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.pixelbeat.org/programming/sigpipe_handling.html#1425573246', + 'body' => array( + '//div[@class="contentText"]', + ), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/plus.google.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/plus.google.com.php new file mode 100644 index 0000000..5e48a6c --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/plus.google.com.php @@ -0,0 +1,11 @@ + array( + '%.*%' => array( + 'test_url' => 'https://plus.google.com/+LarryPage/posts/Lh8SKC6sED1', + 'body' => array( + '//div[@role="article"]/div[contains(@class, "eE")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/popstrip.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/popstrip.com.php new file mode 100644 index 0000000..801a281 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/popstrip.com.php @@ -0,0 +1,8 @@ + array( + '%.*%' => array( + '%( '$1$2$1bonus.png"/>', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/publicpolicyforum.org.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/publicpolicyforum.org.php new file mode 100644 index 0000000..5dc8be8 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/publicpolicyforum.org.php @@ -0,0 +1,15 @@ + array( + '%.*%' => array( + 'test_url' => 'https://publicpolicyforum.org/blog/going-extra-mile', + 'body' => array( + '//div[contains(@class,"field-name-post-date")]', + '//div[contains(@class,"field-name-body")]', + ), + 'strip' => array( + '//img[@src="http://publicpolicyforum.org/sites/default/files/logo3.jpg"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/publy.ru.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/publy.ru.php new file mode 100644 index 0000000..bcfeeb9 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/publy.ru.php @@ -0,0 +1,24 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.publy.ru/post/19988', + 'body' => array( + '//div[@class="singlepost"]', + ), + 'strip' => array( + '//script', + '//form', + '//style', + '//*[@class="featured"]', + '//*[@class="toc_white no_bullets"]', + '//*[@class="toc_title"]', + '//*[@class="pba"]', + '//*[@class="comments"]', + '//*[contains(@class, "g-single")]', + '//*[@class="ts-fab-wrapper"]', + '//*[contains(@class, "wp_rp_wrap")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/putaindecode.fr.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/putaindecode.fr.php new file mode 100644 index 0000000..9fa5568 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/putaindecode.fr.php @@ -0,0 +1,16 @@ + array( + '%.*%' => array( + 'test_url' => 'http://putaindecode.fr/posts/js/etat-lieux-js-modulaire-front/', + 'body' => array( + '//*[@class="putainde-Post-md"]', + ), + 'strip' => array( + '//*[contains(@class, "inlineimg")]', + '//*[contains(@class, "comment-respond")]', + '//header', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/recode.net.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/recode.net.php new file mode 100644 index 0000000..343cd12 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/recode.net.php @@ -0,0 +1,20 @@ + array( + '%.*%' => array( + 'test_url' => 'http://recode.net/2015/09/26/big-tech-rolls-out-red-carpet-for-indian-prime-minister-lobbies-behind-closed-doors/', + 'body' => array( + '//img[contains(@class,"attachment-large")]', + '//div[contains(@class,"postarea")]', + '//li[@class,"author"]', + ), + 'strip' => array( + '//script', + '//div[contains(@class,"sharedaddy")]', + '//div[@class="post-send-off"]', + '//div[@class="large-12 columns"]', + '//div[contains(@class,"inner-related-article")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/retractionwatch.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/retractionwatch.com.php new file mode 100644 index 0000000..b97c73e --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/retractionwatch.com.php @@ -0,0 +1,18 @@ + array( + '%.*%' => array( + 'test_url' => 'http://retractionwatch.com/2015/11/12/psychologist-jens-forster-settles-case-by-agreeing-to-2-retractions/', + 'body' => array( + '//*[@class="main"]', + '//*[@class="entry-content"]', + ), + 'strip' => array( + '//*[contains(@class, "sharedaddy")]', + '//*[contains(@class, "jp-relatedposts")]', + '//p[@class="p1"]', + ) + ) + ) +); + diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/rockpapershotgun.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/rockpapershotgun.com.php new file mode 100644 index 0000000..7111078 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/rockpapershotgun.com.php @@ -0,0 +1,11 @@ + array( + '%.*%' => array( + 'test_url' => 'https://www.rockpapershotgun.com/2016/08/26/the-divisions-expansions-delayed-to-improve-the-game/', + 'body' => array( + '//div[@class="entry"]', + ) + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/rue89.nouvelobs.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/rue89.nouvelobs.com.php new file mode 100644 index 0000000..cb9116a --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/rue89.nouvelobs.com.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://rue89.feedsportal.com/c/33822/f/608948/s/30999fa0/sc/24/l/0L0Srue890N0C20A130C0A80C30A0Cfaisait0Eboris0Eboillon0Eex0Esarko0Eboy0E350A0E0A0A0A0Eeuros0Egare0Enord0E245315/story01.htm', + 'body' => array( + '//*[@id="article"]/div[contains(@class, "content")]', + ), + 'strip' => array( + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/rugbyrama.fr.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/rugbyrama.fr.php new file mode 100644 index 0000000..9915c23 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/rugbyrama.fr.php @@ -0,0 +1,20 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.rugbyrama.fr/rugby/top-14/2015-2016/top-14-hayman-coupe-du-monde-finale-2012-lutte.-voici-levan-chilachava-toulon_sto5283863/story.shtml', + 'body' => array( + '//div[@class="storyfull__content"]', + ), + 'strip' => array( + '//script', + '//form', + '//style', + '//*[@class="share-buttons"]', + '//*[@class="ad"]', + '//*[@class="hide-desktop"]', + '//*[@id="tracking_img"]', + ) + ) + ) +); \ No newline at end of file diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/satwcomic.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/satwcomic.com.php new file mode 100644 index 0000000..d63fc11 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/satwcomic.com.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://satwcomic.com/day-at-the-beach', + 'body' => array( + '//div[@class="container"]/center/a/img', + '//span[@itemprop="articleBody"]', + ), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/scrumalliance.org.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/scrumalliance.org.php new file mode 100644 index 0000000..7835fd9 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/scrumalliance.org.php @@ -0,0 +1,12 @@ + array( + '%.*%' => array( + 'test_url' => 'https://www.scrumalliance.org/community/articles/2015/march/an-introduction-to-agile-project-intake?feed=articles', + 'body' => array( + '//div[@class="article_content"]', + ), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/securityfocus.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/securityfocus.com.php new file mode 100644 index 0000000..0104514 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/securityfocus.com.php @@ -0,0 +1,17 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.securityfocus.com/archive/1/540139', + 'body' => array( + '//div[@id="vulnerability"]', + '//div[@class="comments_reply"]', + ), + 'strip' => array( + '//span[@class="title"]', + '//div[@id="logo_new"]', + '//div[@id="bannerAd"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/sentfromthemoon.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/sentfromthemoon.com.php new file mode 100644 index 0000000..f435417 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/sentfromthemoon.com.php @@ -0,0 +1,18 @@ + array( + '%.*%' => array( + 'body' => array( + '//div[@class="comicpane"]/a/img', + '//div[@class="entry"]', + ), + 'strip' => array(), + 'test_url' => 'http://sentfromthemoon.com/archives/1417', + ), + ), + 'filter' => array( + '%.*%' => array( + '%title="(.+)" */>%' => '/>
                                                                        $1', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/sitepoint.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/sitepoint.com.php new file mode 100644 index 0000000..ab0eb7d --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/sitepoint.com.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.sitepoint.com/creating-hello-world-app-swift/', + 'body' => array( + '//section[@class="article_body"]', + ), + 'strip' => array( + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/slashdot.org.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/slashdot.org.php new file mode 100644 index 0000000..89ced8b --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/slashdot.org.php @@ -0,0 +1,11 @@ + array( + '%.*%' => array( + 'test_url' => 'http://science.slashdot.org/story/15/04/20/0528253/pull-top-can-tabs-at-50-reach-historic-archaeological-status', + 'body' => array( + '//article/div[@class="body"] | //article[@class="layout-article"]/div[@class="elips"]', ), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/smallhousebliss.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/smallhousebliss.com.php new file mode 100644 index 0000000..8c13c44 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/smallhousebliss.com.php @@ -0,0 +1,19 @@ + array( + '%.*%' => array( + 'test_url' => 'http://smallhousebliss.com/2013/08/29/house-g-by-lode-architecture/', + 'body' => array( + '//div[@class="post-content"]', + ), + 'strip' => array( + '//*[contains(@class, "gallery")]', + '//*[contains(@class, "share")]', + '//*[contains(@class, "wpcnt")]', + '//*[contains(@class, "meta")]', + '//*[contains(@class, "postitle")]', + '//*[@id="nav-below"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/smarthomewelt.de.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/smarthomewelt.de.php new file mode 100644 index 0000000..7463abc --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/smarthomewelt.de.php @@ -0,0 +1,10 @@ + array( + '%.*%' => array( + 'test_url' => 'http://smarthomewelt.de/apple-tv-amazon-echo-smart-home/', + 'body' => array('//div[@class="entry-inner"]/p | //div[@class="entry-inner"]/div[contains(@class,"wp-caption")]'), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/smashingmagazine.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/smashingmagazine.com.php new file mode 100644 index 0000000..cbe1072 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/smashingmagazine.com.php @@ -0,0 +1,10 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.smashingmagazine.com/2015/04/17/using-sketch-for-responsive-web-design-case-study/', + 'body' => array('//article[contains(@class,"post")]/p'), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/smbc-comics.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/smbc-comics.com.php new file mode 100644 index 0000000..42262dc --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/smbc-comics.com.php @@ -0,0 +1,14 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.smbc-comics.com/comic/the-troll-toll', + 'body' => array( + '//div[@id="cc-comicbody"]', + '//div[@id="aftercomic"]', + ), + 'strip' => array( + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/snopes.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/snopes.com.php new file mode 100644 index 0000000..b0fe655 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/snopes.com.php @@ -0,0 +1,22 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.snopes.com/bacca-brides-on-tour/', + 'body' => array( + '//article', + ), + 'strip' => array( + '//span[@itemprop="author"]', + '//div[contains(@class,"author-")]', + '//h1', + '//style', + '//div[contains(@class,"socialShares")]', + '//div[contains(@class,"ad-unit")]', + '//aside', + '//div[contains(@class,"boomtrain")]', + '//footer' + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/soundandvision.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/soundandvision.com.php new file mode 100644 index 0000000..6448bb0 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/soundandvision.com.php @@ -0,0 +1,21 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.soundandvision.com/content/james-guthrie-mixing-roger-waters-and-pink-floyd-51', + 'body' => array( + '//div[@id="left"]', + ), + 'strip' => array( + '//div[@class="meta"]', + '//div[@class="ratingsbox"]', + '//h1', + '//h2', + '//addthis', + '//comment-links', + '//div[@class="book-navigation"]', + '//div[@class="comment-links"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/spiegel.de.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/spiegel.de.php new file mode 100644 index 0000000..e2e3db0 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/spiegel.de.php @@ -0,0 +1,11 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.spiegel.de/politik/ausland/afrika-angola-geht-gegen-islam-vor-und-schliesst-moscheen-a-935788.html', + 'body' => array( + '//div[contains(@class, "article-section")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/stereophile.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/stereophile.com.php new file mode 100644 index 0000000..8e410be --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/stereophile.com.php @@ -0,0 +1,11 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.stereophile.com/content/2015-rocky-mountain-audio-fest-starts-friday', + 'body' => array( + '//div[@class="content clear-block"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/stupidfox.net.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/stupidfox.net.php new file mode 100644 index 0000000..61182d7 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/stupidfox.net.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://stupidfox.net/134-sleepy-time', + 'body' => array( + '//div[@class="comicmid"]/center/a/img', + '//div[@class="stand_high"]', + ), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/subtraction.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/subtraction.com.php new file mode 100644 index 0000000..6d74427 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/subtraction.com.php @@ -0,0 +1,15 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.subtraction.com/2015/06/06/time-lapse-video-of-one-world-trade-center/', + 'body' => array('//article/div[@class="entry-content"]'), + 'strip' => array(), + ), + ), + 'filter' => array( + '%.*%' => array( + '%\+%' => '', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/sz.de.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/sz.de.php new file mode 100644 index 0000000..90bde5a --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/sz.de.php @@ -0,0 +1,10 @@ + array( + '%.*%' => array( + 'test_url' => 'http://sz.de/1.2443161', + 'body' => array('//article[@id="sitecontent"]/section[@class="topenrichment"]//img | //article[@id="sitecontent"]/section[@class="body"]/section[@class="authors"]/preceding-sibling::*[not(contains(@class, "ad"))]'), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/takprosto.cc.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/takprosto.cc.php new file mode 100644 index 0000000..624ef90 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/takprosto.cc.php @@ -0,0 +1,21 @@ + array( + '%.*%' => array( + 'test_url' => 'http://takprosto.cc/kokteyl-dlya-pohudeniya-v-domashnih-usloviyah/', + 'body' => array( + '//div[contains(@class, "entry-contentt")]', + ), + 'strip' => array( + '//script', + '//form', + '//style', + '//*[@class="views_post"]', + '//*[contains(@class, "mailchimp-box")]', + '//*[contains(@class, "essb_links")]', + '//*[contains(@rel, "nofollow")]', + '//*[contains(@class, "ads")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/techcrunch.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/techcrunch.com.php new file mode 100644 index 0000000..d6e620f --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/techcrunch.com.php @@ -0,0 +1,15 @@ + array( + '%.*%' => array( + 'test_url' => 'http://techcrunch.com/2013/08/31/indias-visa-maze/', + 'body' => array( + '//div[contains(@class, "media-container")]', + '//div[@class="body-copy"]', + ), + 'strip' => array( + '//*[contains(@class, "module-crunchbase")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/the-ebook-reader.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/the-ebook-reader.com.php new file mode 100644 index 0000000..3b01eb9 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/the-ebook-reader.com.php @@ -0,0 +1,15 @@ + array( + '%.*%' => array( + 'test_url' => 'http://blog.the-ebook-reader.com/2015/09/25/kobo-glo-hd-and-kobo-touch-2-0-covers-and-cases-roundup/', + 'body' => array( + '//div[@class="entry"]', + ), + 'strip' => array( + '//div[@id="share"]', + '//div[contains(@class,"ItemCenter")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/theatlantic.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/theatlantic.com.php new file mode 100644 index 0000000..bfad4ab --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/theatlantic.com.php @@ -0,0 +1,23 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.theatlantic.com/politics/archive/2015/09/what-does-it-mean-to-lament-the-poor-inside-panem/407317/', + 'body' => array( + '//picture[@class="img"]', + '//figure/figcaption/span', + '//div/p[@itemprop="description"]', + '//div[@class="article-body"]', + '//ul[@class="photos"]', + ), + 'strip' => array( + '//aside[@class="callout"]', + '//span[@class="credit"]', + '//figcaption[@class="credit"]', + '//aside[contains(@class,"partner-box")]', + '//div[contains(@class,"ad")]', + '//a[contains(@class,"social-icon")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/theawkwardyeti.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/theawkwardyeti.com.php new file mode 100644 index 0000000..fd4f3d5 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/theawkwardyeti.com.php @@ -0,0 +1,12 @@ + array( + '%/comic/.*%' => array( + 'test_url' => 'http://theawkwardyeti.com/comic/things-to-do/', + 'body' => array( + '//div[@id="comic"]' + ), + 'strip' => array() + ) + ) +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/thecodinglove.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/thecodinglove.com.php new file mode 100644 index 0000000..c6ec5bf --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/thecodinglove.com.php @@ -0,0 +1,10 @@ + array( + '%.*%' => array( + 'test_url' => 'http://thecodinglove.com/post/116897934767', + 'body' => array('//div[@class="bodytype"]'), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/thedoghousediaries.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/thedoghousediaries.com.php new file mode 100644 index 0000000..d2f840d --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/thedoghousediaries.com.php @@ -0,0 +1,18 @@ + array( + '%.*%' => array( + 'body' => array( + '//div[@class="comicpane"]/a/img', + '//div[@class="entry"]', + ), + 'strip' => array(), + 'test_url' => 'http://thedoghousediaries.com/6023', + ), + ), + 'filter' => array( + '%.*%' => array( + '%title="(.+)" */>%' => '/>
                                                                        $1', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/thegamercat.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/thegamercat.com.php new file mode 100644 index 0000000..f9b4637 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/thegamercat.com.php @@ -0,0 +1,10 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.thegamercat.com/comic/just-no/', + 'body' => array('//div[@id="comic"] | //div[@class="post-content"]/div[@class="entry"]/p'), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/thehindu.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/thehindu.com.php new file mode 100644 index 0000000..1e6735b --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/thehindu.com.php @@ -0,0 +1,19 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.thehindu.com/sci-tech/science/why-is-the-shape-of-cells-in-a-honeycomb-always-hexagonal/article7692306.ece?utm_source=RSS_Feed&utm_medium=RSS&utm_campaign=RSS_Syndication', + 'body' => array( + '//div/img[@class="main-image"]', + '//div[@class="photo-caption"]', + '//div[@class="articleLead"]', + '//p', + '//span[@class="upper"]', + ), + 'strip' => array( + '//div[@id="articleKeywords"]', + '//div[@class="photo-source"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/thelocal.se.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/thelocal.se.php new file mode 100644 index 0000000..c3ec250 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/thelocal.se.php @@ -0,0 +1,17 @@ + array( + '%.*%' => array( + 'test_url' => 'www.thelocal.se/20161219/this-swede-can-memorize-hundreds-of-numbers-in-only-five-minutes', + 'body' => array( + '//div[@id="article-photo"]', + '//div[@id="article-description"]', + '//div[@id="article-body"]', + ), + 'strip' => array( + '//div[@id="article-info-middle"]', + ) + ) + ) +); + diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/themerepublic.net.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/themerepublic.net.php new file mode 100644 index 0000000..bc47b27 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/themerepublic.net.php @@ -0,0 +1,10 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.themerepublic.net/2015/04/david-lopez-pitoko.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+blogspot%2FDngUJ+%28Theme+Republic%29&utm_content=FeedBurner', + 'body' => array('//*[@class="post-body"]'), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/themoscowtimes.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/themoscowtimes.com.php new file mode 100644 index 0000000..0f5bf75 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/themoscowtimes.com.php @@ -0,0 +1,18 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.themoscowtimes.com/business/article/535500.html', + 'body' => array( + '//div[@class="article_main_img"]', + '//div[@class="article_text"]', + ), + 'strip' => array( + '//div[@class="articlebottom"]', + '//p/b', + '//p/a[contains(@href, "/article.php?id=")]', + '//div[@class="disqus_wrap"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/thenewslens.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/thenewslens.com.php new file mode 100644 index 0000000..7538170 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/thenewslens.com.php @@ -0,0 +1,21 @@ + array( + '%.*%' => array( + 'test_url' => 'http://international.thenewslens.com/post/255032/', + 'body' => array( + '//div[@class="article-section"]', + ), + 'strip' => array( + '//div[contains(@class,"ad-")]', + '//div[@class="article-title-box"]', + '//div[@class="function-box"]', + '//p/span', + '//aside', + '//footer', + '//div[@class="article-infoBot-box"]', + '//div[contains(@class,"standard-container")]' + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/theodd1sout.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/theodd1sout.com.php new file mode 100644 index 0000000..d06ed12 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/theodd1sout.com.php @@ -0,0 +1,8 @@ + array( + '%.*%' => array( + '%-150x150%' => '', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/theonion.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/theonion.com.php new file mode 100644 index 0000000..acbfd36 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/theonion.com.php @@ -0,0 +1,12 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.theonion.com/article/wild-eyed-jim-harbaugh-informs-players-they-must-k-51397?utm_medium=RSS&utm_campaign=feeds', + 'body' => array( + '//div[@class="content-masthead"]/figure/div/noscript/img', + '//div[@class="content-text"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/thestandard.com.hk.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/thestandard.com.hk.php new file mode 100644 index 0000000..1163b34 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/thestandard.com.hk.php @@ -0,0 +1,22 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.thestandard.com.hk/breaking_news_detail.asp?id=67156', + 'body' => array( + '//table/tr/td/span[@class="bodyCopy"]', + ), + 'strip' => array( + '//script', + '//br', + '//map[@name="gif_bar"]', + '//img[contains(@usemap,"gif_bar")]', + '//a', + '//span[@class="bodyHeadline"]', + '//i', + '//b', + '//table', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/threepanelsoul.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/threepanelsoul.com.php new file mode 100644 index 0000000..4af6196 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/threepanelsoul.com.php @@ -0,0 +1,11 @@ + array( + '%.*%' => array( + 'body' => array( + '//img[@id="cc-comic"]', + ), + 'test_url' => 'http://www.threepanelsoul.com/comic/uncloaking', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/timesofindia.indiatimes.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/timesofindia.indiatimes.com.php new file mode 100644 index 0000000..1924680 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/timesofindia.indiatimes.com.php @@ -0,0 +1,14 @@ + array( + '%.*%' => array( + 'test_url' => 'http://timesofindia.indiatimes.com/city/mangaluru/Adani-UPCL-to-release-CSR-grant-of-Rs-3-74-crore-to-YellurGram-Panchayat/articleshow/50512116.cms', + 'body' => array( + '//div[@class="article_content clearfix"]', + '//section[@class="highlight clearfix"]', + ), + 'strip' => array( + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/travel-dealz.de.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/travel-dealz.de.php new file mode 100644 index 0000000..4ee4fcd --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/travel-dealz.de.php @@ -0,0 +1,15 @@ + array( + '%^/blog.*%' => array( + 'test_url' => 'http://travel-dealz.de/blog/venere-gutschein/', + 'body' => array('//div[@class="post-entry"]'), + 'strip' => array( + '//*[@id="jp-relatedposts"]', + '//*[@class="post-meta"]', + '//*[@class="post-data"]', + '//*[@id="author-meta"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/treehugger.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/treehugger.com.php new file mode 100644 index 0000000..55eb7e0 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/treehugger.com.php @@ -0,0 +1,14 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.treehugger.com/uncategorized/top-ten-posts-week-bunnies-2.html', + 'body' => array( + '//div[contains(@class, "promo-image")]', + '//div[contains(@id, "entry-body")]', + ), + 'strip' => array( + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/treelobsters.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/treelobsters.com.php new file mode 100644 index 0000000..3214c62 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/treelobsters.com.php @@ -0,0 +1,8 @@ + array( + '%.*%' => array( + '%title="(.+)" */>%' => '/>
                                                                        $1', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/twogag.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/twogag.com.php new file mode 100644 index 0000000..79f4f62 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/twogag.com.php @@ -0,0 +1,8 @@ + array( + '%.*%' => array( + '%http://www.twogag.com/comics-rss/([^.]+)\\.jpg%' => 'http://www.twogag.com/comics/$1.jpg', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/twokinds.keenspot.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/twokinds.keenspot.com.php new file mode 100644 index 0000000..3428fcb --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/twokinds.keenspot.com.php @@ -0,0 +1,10 @@ + array( + '%.*%' => array( + 'test_url' => 'http://twokinds.keenspot.com/archive.php?p=0', + 'body' => array('//*[@class="comic"]/div/a/img | //*[@class="comic"]/div/img | //*[@id="cg_img"]/img | //*[@id="cg_img"]/a/img'), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/undeadly.org.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/undeadly.org.php new file mode 100644 index 0000000..8b15900 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/undeadly.org.php @@ -0,0 +1,14 @@ + array( + '%.*%' => array( + 'test_url' => 'http://undeadly.org/cgi?action=article&sid=20141101181155', + 'body' => array( + '/html/body/table[3]/tbody/tr/td[1]/table[2]/tr/td[1]', + ), + 'strip' => array( + '//font', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/upi.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/upi.com.php new file mode 100644 index 0000000..ec8d1a1 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/upi.com.php @@ -0,0 +1,15 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.upi.com/Top_News/US/2015/09/26/Tech-giants-Hollywood-stars-among-guests-at-state-dinner-for-Chinas-Xi-Jinping/4541443281006/', + 'body' => array( + '//div[@class="img"]', + '//div/article[@itemprop="articleBody"]', + ), + 'strip' => array( + '//div[@align="center"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/usatoday.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/usatoday.com.php new file mode 100644 index 0000000..edd6aa4 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/usatoday.com.php @@ -0,0 +1,27 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.usatoday.com/story/life/music/2017/02/13/things-you-should-know-happened-grammy-awards-2017/97833734/', + 'body' => array( + '//div[@itemprop="articleBody"]', + ), + 'strip' => array( + '//script', + '//h1', + '//iframe', + '//span[@class="mycapture-small-btn mycapture-btn-with-text mycapture-expandable-photo-btn-small js-mycapture-btn-small"]', + '//div[@class="close-wrap"]', + '//div[contains(@class,"ui-video-wrapper")]', + '//div[contains(@class,"media-mob")]', + '//div[contains(@class,"left-mob")]', + '//div[contains(@class,"nerdbox")]', + '//div[contains(@class,"oembed-asset")]', + '//*[contains(@class,"share")]', + '//div[contains(@class,"gallery-asset")]', + '//div[contains(@class,"oembed-asset")]', + '//div[@class="article-print-url"]' + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/version2.dk.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/version2.dk.php new file mode 100644 index 0000000..a6d49f2 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/version2.dk.php @@ -0,0 +1,12 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.version2.dk/artikel/surface-pro-2-fungerer-bedre-til-arbejde-end-fornoejelse-55195', + 'body' => array( + '//section[contains(@class, "teaser")]', + '//section[contains(@class, "body")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/vgcats.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/vgcats.com.php new file mode 100644 index 0000000..b2830a3 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/vgcats.com.php @@ -0,0 +1,15 @@ + array( + '%/comics.*%' => array( + 'test_url' => 'http://www.vgcats.com/comics/?strip_id=358', + 'body' => array('//*[@align="center"]/img'), + 'strip' => array(), + ), + '%/super.*%' => array( + 'test_url' => 'http://www.vgcats.com/super/?strip_id=84', + 'body' => array('//*[@align="center"]/p/img'), + 'strip' => array(), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/vuxml.org.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/vuxml.org.php new file mode 100644 index 0000000..b9bef7a --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/vuxml.org.php @@ -0,0 +1,17 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.vuxml.org/freebsd/a5f160fa-deee-11e4-99f8-080027ef73ec.html', + 'body' => array( + '//body', + ), + 'strip' => array( + '//h1', + '//div[@class="blurb"]', + '//hr', + '//p[@class="copyright"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/wausaudailyherald.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/wausaudailyherald.com.php new file mode 100644 index 0000000..58aceea --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/wausaudailyherald.com.php @@ -0,0 +1,27 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.wausaudailyherald.com/story/news/2017/04/01/hundreds-gather-remember-attorney-killed-shooting-spree/99826062/?from=global&sessionKey=&autologin=', + 'body' => array( + '//div[@itemprop="articleBody"]', + ), + 'strip' => array( + '//h1', + '//iframe', + '//span[@class="mycapture-small-btn mycapture-btn-with-text mycapture-expandable-photo-btn-small js-mycapture-btn-small"]', + '//div[@class="close-wrap"]', + '//div[contains(@class,"ui-video-wrapper")]', + '//div[contains(@class,"media-mob")]', + '//div[contains(@class,"left-mob")]', + '//div[contains(@class,"nerdbox")]', + '//p/span', + '//div[contains(@class,"oembed-asset")]', + '//*[contains(@class,"share")]', + '//div[contains(@class,"gallery-asset")]', + '//div[contains(@class,"oembed-asset")]', + '//div[@class="article-print-url"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.bbc.co.uk.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.bbc.co.uk.php new file mode 100644 index 0000000..98fc368 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.bbc.co.uk.php @@ -0,0 +1,33 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.bbc.co.uk/news/world-middle-east-23911833', + 'body' => array( + '//div[@class="story-body__inner"] | //div[@class="article"]', + '//div[@class="indPost"]', + ), + 'strip' => array( + '//form', + '//div[@id="headline"]', + '//*[@class="warning"]', + '//span[@class="off-screen"]', + '//span[@class="story-image-copyright"]', + '//ul[@class="story-body__unordered-list"]', + '//div[@class="ad_wrapper"]', + '//div[@id="article-sidebar"]', + '//div[@class="data-table-outer"]', + '//*[@class="story-date"]', + '//*[@class="story-header"]', + '//figure[contains(@class,"has-caption")]', + '//*[@class="story-related"]', + '//*[contains(@class, "byline")]', + '//p[contains(@class, "media-message")]', + '//*[contains(@class, "story-feature")]', + '//*[@id="video-carousel-container"]', + '//*[@id="also-related-links"]', + '//*[contains(@class, "share") or contains(@class, "hidden") or contains(@class, "hyper")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.bdgest.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.bdgest.com.php new file mode 100644 index 0000000..41ef68d --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.bdgest.com.php @@ -0,0 +1,15 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.bdgest.com/chronique-6027-BD-Adrastee-Tome-2.html', + 'body' => array( + '//*[contains(@class, "chronique")]', + ), + 'strip' => array( + '//*[contains(@class, "post-review")]', + '//*[contains(@class, "footer-review")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.bgr.in.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.bgr.in.php new file mode 100644 index 0000000..63ca069 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.bgr.in.php @@ -0,0 +1,23 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.bgr.in/news/xiaomi-redmi-3-with-13-megapixel-camera-snapdragon-616-launched-price-specifications-and-features/', + 'body' => array( + '//div[@class="article-content"]', + ), + 'strip' => array( + '//*[@class="article-meta"]', + '//*[@class="contentAdsense300"]', + '//*[@class="iwpl-social-hide"]', + '//iframe[@class="iframeads"]', + '//*[@class="disqus_thread"]', + '//*[@class="outb-mobile OUTBRAIN"]', + '//*[@class="wdt_smart_alerts"]', + '//*[@class="footnote"]', + '//*[@id="gadget-widget"]', + '//header[@class="article-title entry-header"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.businessweek.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.businessweek.com.php new file mode 100644 index 0000000..0acc44e --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.businessweek.com.php @@ -0,0 +1,15 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.businessweek.com/articles/2013-09-18/elon-musks-hyperloop-will-work-says-some-very-smart-software', + 'body' => array( + '//div[@id="lead_graphic"]', + '//div[@id="article_body"]', + ), + 'strip' => array( + '//*[contains(@class, "related_item")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.cnn.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.cnn.com.php new file mode 100644 index 0000000..31d03ed --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.cnn.com.php @@ -0,0 +1,24 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.cnn.com/2013/08/31/world/meast/syria-civil-war/index.html?hpt=hp_t1', + 'body' => array( + '//div[@class="cnn_strycntntlft"]', + ), + 'strip' => array( + '//div[@class="cnn_stryshrwdgtbtm"]', + '//div[@class="cnn_strybtmcntnt"]', + '//div[@class="cnn_strylftcntnt"]', + '//div[contains(@class, "cnnGalleryContainer")]', + '//div[contains(@class, "cnn_strylftcexpbx")]', + '//div[contains(@class, "articleGalleryNavContainer")]', + '//div[contains(@class, "cnnArticleGalleryCaptionControl")]', + '//div[contains(@class, "cnnArticleGalleryNavPrevNextDisabled")]', + '//div[contains(@class, "cnnArticleGalleryNavPrevNext")]', + '//div[contains(@class, "cnn_html_media_title_new")]', + '//div[contains(@id, "disqus")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.developpez.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.developpez.com.php new file mode 100644 index 0000000..1535e43 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.developpez.com.php @@ -0,0 +1,21 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.developpez.com/actu/81757/Mozilla-annonce-la-disponibilite-de-Firefox-36-qui-passe-au-HTTP-2-et-permet-la-synchronisation-de-son-ecran-d-accueil/', + 'body' => array( + '//*[@itemprop="articleBody"]', + ), + 'strip' => array( + '//form', + '//div[@class="content"]/img', + '//a[last()]/following-sibling::*', + '//*[contains(@class,"actuTitle")]', + '//*[contains(@class,"date")]', + '//*[contains(@class,"inlineimg")]', + '//*[@id="signaler"]', + '//*[@id="signalerFrame"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.egscomics.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.egscomics.com.php new file mode 100644 index 0000000..263f075 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.egscomics.com.php @@ -0,0 +1,12 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.egscomics.com/index.php?id=1690', + 'title' => '/html/head/title', + 'body' => array( + '//img[@id="comic"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.fakingnews.firstpost.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.fakingnews.firstpost.com.php new file mode 100644 index 0000000..c948c77 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.fakingnews.firstpost.com.php @@ -0,0 +1,17 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.fakingnews.firstpost.com/2016/01/engineering-student-creates-record-in-a-decade-becomes-the-first-to-completely-exhaust-ball-pen-refill/', + 'body' => array( + '//div[@class="entry"]', + ), + 'strip' => array( + '//*[@class="socialshare_bar"]', + '//*[@class="authorbox"]', + '//*[@class="cf5_rps"]', + '//*[@class="60563 fb-comments fb-social-plugin"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.forbes.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.forbes.com.php new file mode 100644 index 0000000..fd16ed5 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.forbes.com.php @@ -0,0 +1,20 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.forbes.com/sites/andygreenberg/2013/09/05/follow-the-bitcoins-how-we-got-busted-buying-drugs-on-silk-roads-black-market/', + 'body' => array( + '//div[@id="leftRail"]/div[contains(@class, body)]', + ), + 'strip' => array( + '//aside', + '//div[contains(@class, "entity_block")]', + '//div[contains(@class, "vestpocket") and not contains(@class, "body")]', + '//div[contains(@style, "display")]', + '//div[contains(@id, "comment")]', + '//div[contains(@class, "widget")]', + '//div[contains(@class, "pagination")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.franceculture.fr.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.franceculture.fr.php new file mode 100644 index 0000000..f7ec0d8 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.franceculture.fr.php @@ -0,0 +1,14 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.franceculture.fr/emission-culture-eco-la-finance-aime-toujours-la-france-2016-01-08', + 'body' => array( + '//div[@class="text-zone"]', + ), + 'strip' => array( + '//ul[@class="tags"]', + ), + ) + ) +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.futura-sciences.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.futura-sciences.com.php new file mode 100644 index 0000000..ea94a0f --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.futura-sciences.com.php @@ -0,0 +1,19 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.futura-sciences.com/magazines/espace/infos/actu/d/astronautique-curiosity-franchi-succes-dune-dingo-gap-52289/#xtor=RSS-8', + 'body' => array( + '//div[contains(@class, "content fiche-")]', + ), + 'strip' => array( + '//h1', + '//*[contains(@class, "content-date")]', + '//*[contains(@class, "diaporama")]', + '//*[contains(@class, "slider")]', + '//*[contains(@class, "cartouche")]', + '//*[contains(@class, "noprint")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.geekculture.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.geekculture.com.php new file mode 100644 index 0000000..3d0b6c7 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.geekculture.com.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.geekculture.com/joyoftech/joyarchives/2180.html', + 'body' => array( + '//p[contains(@class,"Maintext")][2]/a/img[contains(@src,"joyimages")]', + ), + 'strip' => array(), + ), + ), +); + diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.howtogeek.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.howtogeek.com.php new file mode 100644 index 0000000..6879e76 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.howtogeek.com.php @@ -0,0 +1,14 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.howtogeek.com/235283/what-is-a-wireless-hard-drive-and-should-i-get-one/', + 'body' => array( + '//div[@class="thecontent"]', + ), + 'strip' => array( + '//*[@class="relatedside"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.lepoint.fr.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.lepoint.fr.php new file mode 100644 index 0000000..dcb7e48 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.lepoint.fr.php @@ -0,0 +1,18 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.lepoint.fr/c-est-arrive-aujourd-hui/19-septembre-1783-pour-la-premiere-fois-un-mouton-un-canard-et-un-coq-s-envoient-en-l-air-devant-louis-xvi-18-09-2012-1507704_494.php', + 'body' => array( + '//article', + ), + 'strip' => array( + '//*[contains(@class, "info_article")]', + '//*[contains(@class, "fildariane_titre")]', + '//*[contains(@class, "entete2_article")]', + '//*[contains(@class, "signature_article")]', + '//*[contains(@id, "share")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.lesnumeriques.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.lesnumeriques.com.php new file mode 100644 index 0000000..0137e20 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.lesnumeriques.com.php @@ -0,0 +1,25 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.lesnumeriques.com/blender/kitchenaid-diamond-5ksb1585-p27473/test.html', + 'body' => array( + '//*[@id="product-content"]', + '//*[@id="news-content"]', + '//*[@id="article-content"]', + ), + 'strip' => array( + '//form', + '//div[contains(@class, "price-v4"])', + '//div[contains(@class, "authors-and-date")]', + '//div[contains(@class, "mini-product")]', + '//div[@id="articles-related-authors"]', + '//div[@id="tags-socials"]', + '//div[@id="user-reviews"]', + '//div[@id="product-reviews"]', + '//div[@id="publication-breadcrumbs-and-date"]', + '//div[@id="publication-breadcrumbs-and-date"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.mac4ever.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.mac4ever.com.php new file mode 100644 index 0000000..60bc1bd --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.mac4ever.com.php @@ -0,0 +1,13 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.mac4ever.com/actu/87392_video-quand-steve-jobs-et-bill-gates-jouaient-au-bachelor-avec-le-mac', + 'body' => array( + '//div[contains(@class, "news-news-content")]', + ), + 'strip' => array( + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.makeuseof.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.makeuseof.com.php new file mode 100644 index 0000000..a274564 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.makeuseof.com.php @@ -0,0 +1,18 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.makeuseof.com/tag/having-problems-with-audio-in-windows-10-heres-a-likely-fix/', + 'body' => array( + '//div[@class="entry"]', + ), + 'strip' => array( + '//*[@class="new_sharebar"]', + '//*[@class="author"]', + '//*[@class="wdt_grouvi"]', + '//*[@class="wdt_smart_alerts"]', + '//*[@class="modal fade grouvi"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.monsieur-le-chien.fr.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.monsieur-le-chien.fr.php new file mode 100644 index 0000000..5f5e987 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.monsieur-le-chien.fr.php @@ -0,0 +1,11 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.monsieur-le-chien.fr/index.php?planche=672', + 'body' => array( + '//img[starts-with(@src, "i/planches/")]', + ), + ) + ) +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.npr.org.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.npr.org.php new file mode 100644 index 0000000..ecc0213 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.npr.org.php @@ -0,0 +1,28 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.npr.org/blogs/thesalt/2013/09/17/223345977/auto-brewery-syndrome-apparently-you-can-make-beer-in-your-gut', + 'body' => array( + '//article[contains(@class,"story")]', + ), + 'strip' => array( + '//div[@class="story-tools"]', + '//h3[@class="slug"]', + '//div[@class="storytitle"]', + '//div[@id="story-meta"]', + '//a[@id="mainContent"]', + '//div[@class="credit-caption"]', + '//div[@class="enlarge_html"]', + '//button', + '//div[contains(@id,"pullquote")]', + '//div[contains(@class,"internallink")]', + '//div[contains(@class,"video")]', + '//div[@class="simplenodate"]', + '//div[contains(@class,"share-")]', + '//div[@class="tags"]', + '//aside' + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.numerama.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.numerama.com.php new file mode 100644 index 0000000..fe4971c --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.numerama.com.php @@ -0,0 +1,15 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.numerama.com/sciences/125959-recherches-ladn-recompensees-nobel-de-chimie.html', + 'body' => array( + '//article', + ), + 'strip' => array( + '//footer', + '//section[@class="related-article"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.oneindia.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.oneindia.com.php new file mode 100644 index 0000000..320c214 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.oneindia.com.php @@ -0,0 +1,14 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.oneindia.com/india/b-luru-govt-likely-remove-word-eunuch-from-sec-36-a-karnataka-police-act-1981173.html', + 'body' => array( + '//div[@class="ecom-ad-content"]', + ), + 'strip' => array( + '//*[@id="view_cmtns"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.pseudo-sciences.org.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.pseudo-sciences.org.php new file mode 100644 index 0000000..9e467ed --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.pseudo-sciences.org.php @@ -0,0 +1,16 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.pseudo-sciences.org/spip.php?article2275', + 'body' => array( + '//div[@id="art_main"]', + ), + 'strip' => array( + '//div[@id="art_print"]', + '//div[@id="art_chapo"]', + '//img[@class="puce"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.sciencemag.org.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.sciencemag.org.php new file mode 100644 index 0000000..ae7a93a --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.sciencemag.org.php @@ -0,0 +1,16 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.sciencemag.org/news/2016/01/could-bright-foamy-wak$', + 'body' => array( + '//div[@class="row--hero"]', + '//article[contains(@class,"primary")]', + ), + 'strip' => array( + '//header[@class="article__header"]', + '//footer[@class="article__foot"]', + ), + ), + ) +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.slate.fr.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.slate.fr.php new file mode 100644 index 0000000..8c8dc89 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.slate.fr.php @@ -0,0 +1,19 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.slate.fr/monde/77034/allemagne-2013-couacs-campagne', + 'body' => array( + '//div[@class="article_content"]', + ), + 'strip' => array( + '//*[@id="slate_associated_bn"]', + '//*[@id="ligatus-article"]', + '//*[@id="article_sidebar"]', + '//div[contains(@id, "reseaux")]', + '//*[contains(@class, "smart") or contains(@class, "article_tags") or contains(@class, "article_reactions")]', + '//*[contains(@class, "OUTBRAIN") or contains(@class, "related_item") or contains(@class, "share")]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.universfreebox.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.universfreebox.com.php new file mode 100644 index 0000000..0747d0f --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.universfreebox.com.php @@ -0,0 +1,15 @@ + array( + '%.*%' => array( + 'test_url' => 'http://www.universfreebox.com/article/24305/4G-Bouygues-Telecom-lance-une-vente-flash-sur-son-forfait-Sensation-3Go', + 'body' => array( + '//div[@id="corps_corps"]', + ), + 'strip' => array( + '//*[@id="formulaire"]', + '//*[@id="commentaire"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.zeit.de.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.zeit.de.php new file mode 100644 index 0000000..316c265 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.zeit.de.php @@ -0,0 +1,41 @@ + array( + '%^/zeit-magazin.*%' => array( + 'test_url' => 'http://www.zeit.de/zeit-magazin/2015/15/pegida-kathrin-oertel-lutz-bachmann', + 'body' => array( + '//article[@class="article"]', + ), + 'strip' => array( + '//header/div/h1', + '//header/div/div[@class="article__head__subtitle"]', + '//header/div/div[@class="article__column__author"]', + '//header/div/div[@class="article__column__author"]', + '//header/div/span[@class="article__head__meta-wrap"]', + '//form', + '//style', + '//div[contains(@class, "ad-tile")]', + '//div[@class="iqd-mobile-adplace"]', + '//div[@id="iq-artikelanker"]', + '//div[@id="js-social-services"]', + '//section[@id="js-comments"]', + '//aside', + ), + ), + '%.*%' => array( + 'test_url' => 'http://www.zeit.de/politik/ausland/2015-04/thessaloniki-krise-griechenland-yannis-boutaris/', + 'body' => array( + '//div[@class="article-body"]', + ), + 'strip' => array( + '//*[@class="articleheader"]', + '//*[@class="excerpt"]', + '//div[contains(@class, "ad")]', + '//div[@itemprop="video"]', + '//*[@class="articlemeta"]', + '//*[@class="articlemeta-clear"]', + '//*[@class="zol_inarticletools"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/xkcd.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/xkcd.com.php new file mode 100644 index 0000000..8495726 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/xkcd.com.php @@ -0,0 +1,8 @@ + array( + '%.*%' => array( + '%alt="(.+)" */>%' => '/>
                                                                        $1', + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/ymatuhin.ru.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/ymatuhin.ru.php new file mode 100644 index 0000000..9fd83f1 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/ymatuhin.ru.php @@ -0,0 +1,21 @@ + array( + '%.*%' => array( + 'test_url' => 'https://ymatuhin.ru/tools/git-default-editor/', + 'body' => array( + '//section', + ), + 'strip' => array( + "//script", + "//style", + "//h1", + "//time", + "//aside", + "/html/body/section/ul", + "//amp-iframe", + "/html/body/section/h4" + ), + ) + ) +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/zdnet.com.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/zdnet.com.php new file mode 100644 index 0000000..79b35dd --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Rules/zdnet.com.php @@ -0,0 +1,23 @@ + array( + '%.*%' => array( + 'test_url' => 'http://zdnet.com.feedsportal.com/c/35462/f/675637/s/4a33c93e/sc/11/l/0L0Szdnet0N0Carticle0Cchina0Eus0Eagree0Eon0Ecybercrime0Ecooperation0Eamid0Econtinued0Etension0C0Tftag0FRSSbaffb68/story01.htm', + 'body' => array( + '//p[@class="summary"]', + '//div[contains(@class,"storyBody")]', + ), + 'strip' => array( + '//*[contains(@class,"ad-")]', + '//p/span', + '//script', + '//p[@class="summary"]', + '//div[contains(@class,"relatedContent")]', + '//div[contains(@class,"loader")]', + '//p[@class="photoDetails"]', + '//div[@class="thumbnailSlider"]', + '//div[@class="shortcodeGalleryWrapper"]', + ), + ), + ), +); diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Scraper/CandidateParser.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Scraper/CandidateParser.php new file mode 100644 index 0000000..0f74b3d --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Scraper/CandidateParser.php @@ -0,0 +1,281 @@ +dom = XmlParser::getHtmlDocument(''.$html); + $this->xpath = new DOMXPath($this->dom); + } + + /** + * Get the relevant content with the list of potential attributes. + * + * @return string + */ + public function execute() + { + $content = $this->findContentWithCandidates(); + + if (strlen($content) < 200) { + $content = $this->findContentWithArticle(); + } + + if (strlen($content) < 50) { + $content = $this->findContentWithBody(); + } + + return $this->stripGarbage($content); + } + + /** + * Find content based on the list of tag candidates. + * + * @return string + */ + public function findContentWithCandidates() + { + foreach ($this->candidatesAttributes as $candidate) { + Logger::setMessage(get_called_class().': Try this candidate: "'.$candidate.'"'); + + $nodes = $this->xpath->query('//*[(contains(@class, "'.$candidate.'") or @id="'.$candidate.'") and not (contains(@class, "nav") or contains(@class, "page"))]'); + + if ($nodes !== false && $nodes->length > 0) { + Logger::setMessage(get_called_class().': Find candidate "'.$candidate.'"'); + + return $this->dom->saveXML($nodes->item(0)); + } + } + + return ''; + } + + /** + * Find
                                                                        tag. + * + * @return string + */ + public function findContentWithArticle() + { + $nodes = $this->xpath->query('//article'); + + if ($nodes !== false && $nodes->length > 0) { + Logger::setMessage(get_called_class().': Find
                                                                        tag'); + + return $this->dom->saveXML($nodes->item(0)); + } + + return ''; + } + + /** + * Find tag. + * + * @return string + */ + public function findContentWithBody() + { + $nodes = $this->xpath->query('//body'); + + if ($nodes !== false && $nodes->length > 0) { + Logger::setMessage(get_called_class().' Find '); + + return $this->dom->saveXML($nodes->item(0)); + } + + return ''; + } + + /** + * Strip useless tags. + * + * @param string $content + * @return string + */ + public function stripGarbage($content) + { + $dom = XmlParser::getDomDocument($content); + + if ($dom !== false) { + $xpath = new DOMXPath($dom); + + $this->stripTags($xpath); + $this->stripAttributes($dom, $xpath); + + $content = $dom->saveXML($dom->documentElement); + } + + return $content; + } + + /** + * Remove blacklisted tags. + * + * @param DOMXPath $xpath + */ + public function stripTags(DOMXPath $xpath) + { + foreach ($this->stripTags as $tag) { + $nodes = $xpath->query('//'.$tag); + + if ($nodes !== false && $nodes->length > 0) { + Logger::setMessage(get_called_class().': Strip tag: "'.$tag.'"'); + + foreach ($nodes as $node) { + $node->parentNode->removeChild($node); + } + } + } + } + + /** + * Remove blacklisted attributes. + * + * @param DomDocument $dom + * @param DOMXPath $xpath + */ + public function stripAttributes(DomDocument $dom, DOMXPath $xpath) + { + foreach ($this->stripAttributes as $attribute) { + $nodes = $xpath->query('//*[contains(@class, "'.$attribute.'") or contains(@id, "'.$attribute.'")]'); + + if ($nodes !== false && $nodes->length > 0) { + Logger::setMessage(get_called_class().': Strip attribute: "'.$attribute.'"'); + + foreach ($nodes as $node) { + if ($this->shouldRemove($dom, $node)) { + $node->parentNode->removeChild($node); + } + } + } + } + } + + /** + * Find link for next page of the article. + * + * @return string + */ + public function findNextLink() + { + return null; + } + + /** + * Return false if the node should not be removed. + * + * @param DomDocument $dom + * @param \DomNode $node + * @return bool + */ + public function shouldRemove(DomDocument $dom, $node) + { + $document_length = strlen($dom->textContent); + $node_length = strlen($node->textContent); + + if ($document_length === 0) { + return true; + } + + $ratio = $node_length * 100 / $document_length; + + if ($ratio >= 90) { + Logger::setMessage(get_called_class().': Should not remove this node ('.$node->nodeName.') ratio: '.$ratio.'%'); + + return false; + } + + return true; + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Scraper/ParserInterface.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Scraper/ParserInterface.php new file mode 100644 index 0000000..3ded4b1 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Scraper/ParserInterface.php @@ -0,0 +1,20 @@ +getRulesFileList($hostname); + + foreach ($this->getRulesFolders() as $folder) { + $rule = $this->loadRuleFile($folder, $files); + + if (!empty($rule)) { + return $rule; + } + } + } + + return array(); + } + + /** + * Get the list of possible rules file names for a given hostname. + * + * @param string $hostname Hostname + * @return array + */ + public function getRulesFileList($hostname) + { + $files = array($hostname); // subdomain.domain.tld + $parts = explode('.', $hostname); + $len = count($parts); + + if ($len > 2) { + $subdomain = array_shift($parts); + $files[] = implode('.', $parts); // domain.tld + $files[] = '.'.implode('.', $parts); // .domain.tld + $files[] = $subdomain; // subdomain + } elseif ($len === 2) { + $files[] = '.'.implode('.', $parts); // .domain.tld + $files[] = $parts[0]; // domain + } + + return $files; + } + + /** + * Load a rule file from the defined folder. + * + * @param string $folder Rule directory + * @param array $files List of possible file names + * @return array + */ + public function loadRuleFile($folder, array $files) + { + foreach ($files as $file) { + $filename = $folder.'/'.$file.'.php'; + if (file_exists($filename)) { + Logger::setMessage(get_called_class().' Load rule: '.$file); + + return include $filename; + } + } + + return array(); + } + + /** + * Get the list of folders that contains rules. + * + * @return array + */ + public function getRulesFolders() + { + $folders = array(); + + if ($this->config !== null && $this->config->getGrabberRulesFolder() !== null) { + $folders[] = $this->config->getGrabberRulesFolder(); + } + + $folders[] = __DIR__ . '/../Rules'; + + return $folders; + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Scraper/RuleParser.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Scraper/RuleParser.php new file mode 100644 index 0000000..9beb59c --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Scraper/RuleParser.php @@ -0,0 +1,102 @@ +rules = $rules; + $this->dom = XmlParser::getHtmlDocument(''.$html); + $this->xpath = new DOMXPath($this->dom); + } + + /** + * Get the relevant content with predefined rules. + * + * @return string + */ + public function execute() + { + $this->stripTags(); + + return $this->findContent(); + } + + /** + * Remove HTML tags. + */ + public function stripTags() + { + if (isset($this->rules['strip']) && is_array($this->rules['strip'])) { + foreach ($this->rules['strip'] as $pattern) { + $nodes = $this->xpath->query($pattern); + + if ($nodes !== false && $nodes->length > 0) { + foreach ($nodes as $node) { + $node->parentNode->removeChild($node); + } + } + } + } + } + + /** + * Fetch content based on Xpath rules. + */ + public function findContent() + { + $content = ''; + if (isset($this->rules['body']) && is_array($this->rules['body'])) { + foreach ($this->rules['body'] as $pattern) { + $nodes = $this->xpath->query($pattern); + + if ($nodes !== false && $nodes->length > 0) { + foreach ($nodes as $node) { + $content .= $this->dom->saveXML($node); + } + } + } + } + + return $content; + } + + /** + * Fetch next link based on Xpath rules. + * + * @return string + */ + public function findNextLink() + { + if (isset($this->rules['next_page']) && is_array($this->rules['next_page'])) { + foreach ($this->rules['next_page'] as $pattern) { + $nodes = $this->xpath->query($pattern); + if ($nodes !== false && $nodes->length > 0) { + foreach ($nodes as $node) { + return $node->getAttribute('href'); + } + } + } + } + return null; + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Scraper/Scraper.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Scraper/Scraper.php new file mode 100644 index 0000000..29383b2 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Scraper/Scraper.php @@ -0,0 +1,282 @@ +enableCandidateParser = false; + return $this; + } + + /** + * Get encoding. + * + * @return string + */ + public function getEncoding() + { + return $this->encoding; + } + + /** + * Set encoding. + * + * @param string $encoding + * + * @return Scraper + */ + public function setEncoding($encoding) + { + $this->encoding = $encoding; + + return $this; + } + + /** + * Get URL to download. + * + * @return string + */ + public function getUrl() + { + return $this->url; + } + + /** + * Set URL to download. + * + * @param string $url URL + * + * @return Scraper + */ + public function setUrl($url) + { + $this->url = $url; + + return $this; + } + + /** + * Return true if the scraper found relevant content. + * + * @return bool + */ + public function hasRelevantContent() + { + return !empty($this->content); + } + + /** + * Get relevant content. + * + * @return string + */ + public function getRelevantContent() + { + return $this->content; + } + + /** + * Get raw content (unfiltered). + * + * @return string + */ + public function getRawContent() + { + return $this->html; + } + + /** + * Set raw content (unfiltered). + * + * @param string $html + * + * @return Scraper + */ + public function setRawContent($html) + { + $this->html = $html; + + return $this; + } + + /** + * Get filtered relevant content. + * + * @return string + */ + public function getFilteredContent() + { + $filter = Filter::html($this->content, $this->url); + $filter->setConfig($this->config); + + return $filter->execute(); + } + + /** + * Download the HTML content. + * + * @return bool + */ + public function download() + { + if (!empty($this->url)) { + + // Clear everything + $this->html = ''; + $this->content = ''; + $this->encoding = ''; + + try { + $client = Client::getInstance(); + $client->setConfig($this->config); + $client->setTimeout($this->config->getGrabberTimeout()); + $client->setUserAgent($this->config->getGrabberUserAgent()); + $client->execute($this->url); + + $this->url = $client->getUrl(); + $this->html = $client->getContent(); + $this->encoding = $client->getEncoding(); + + return true; + } catch (ClientException $e) { + Logger::setMessage(get_called_class().': '.$e->getMessage()); + } + } + + return false; + } + + /** + * Execute the scraper. + * + * @param string $pageContent + * @param int $recursionDepth + */ + public function execute($pageContent = '', $recursionDepth = 0) + { + $this->html = ''; + $this->encoding = ''; + $this->content = ''; + $this->download(); + $this->prepareHtml(); + + $parser = $this->getParser(); + + if ($parser !== null) { + $maxRecursions = $this->config->getMaxRecursions(); + if(!isset($maxRecursions)){ + $maxRecursions = 25; + } + $pageContent .= $parser->execute(); + // check if there is a link to next page and recursively get content (max 25 pages) + if((($nextLink = $parser->findNextLink()) !== null) && $recursionDepth < $maxRecursions){ + $nextLink = Url::resolve($nextLink,$this->url); + $this->setUrl($nextLink); + $this->execute($pageContent,$recursionDepth+1); + } + else{ + $this->content = $pageContent; + } + Logger::setMessage(get_called_class().': Content length: '.strlen($this->content).' bytes'); + } + } + + /** + * Get the parser. + * + * @return ParserInterface + */ + public function getParser() + { + $ruleLoader = new RuleLoader($this->config); + $rules = $ruleLoader->getRules($this->url); + + if (!empty($rules['grabber'])) { + Logger::setMessage(get_called_class().': Parse content with rules'); + + foreach ($rules['grabber'] as $pattern => $rule) { + $url = new Url($this->url); + $sub_url = $url->getFullPath(); + + if (preg_match($pattern, $sub_url)) { + Logger::setMessage(get_called_class().': Matched url '.$sub_url); + return new RuleParser($this->html, $rule); + } + } + } elseif ($this->enableCandidateParser) { + Logger::setMessage(get_called_class().': Parse content with candidates'); + } + + return new CandidateParser($this->html); + } + + /** + * Normalize encoding and strip head tag. + */ + public function prepareHtml() + { + $html_encoding = XmlParser::getEncodingFromMetaTag($this->html); + + $this->html = Encoding::convert($this->html, $html_encoding ?: $this->encoding); + $this->html = Filter::stripHeadTags($this->html); + + Logger::setMessage(get_called_class().': HTTP Encoding "'.$this->encoding.'" ; HTML Encoding "'.$html_encoding.'"'); + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Serialization/Subscription.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Serialization/Subscription.php new file mode 100644 index 0000000..12eccfd --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Serialization/Subscription.php @@ -0,0 +1,175 @@ +title = $title; + return $this; + } + + /** + * Get title + * + * @access public + * @return string + */ + public function getTitle() + { + return $this->title; + } + + /** + * Set feed URL + * + * @access public + * @param string $feedUrl + * @return Subscription + */ + public function setFeedUrl($feedUrl) + { + $this->feedUrl = $feedUrl; + return $this; + } + + /** + * Get feed URL + * + * @access public + * @return string + */ + public function getFeedUrl() + { + return $this->feedUrl; + } + + /** + * Set site URL + * + * @access public + * @param string $siteUrl + * @return Subscription + */ + public function setSiteUrl($siteUrl) + { + $this->siteUrl = $siteUrl; + return $this; + } + + /** + * Get site URL + * + * @access public + * @return string + */ + public function getSiteUrl() + { + return $this->siteUrl; + } + + /** + * Set category + * + * @access public + * @param string $category + * @return Subscription + */ + public function setCategory($category) + { + $this->category = $category; + return $this; + } + + /** + * Get category + * + * @access public + * @return string + */ + public function getCategory() + { + return $this->category; + } + + /** + * Set description + * + * @access public + * @param string $description + * @return Subscription + */ + public function setDescription($description) + { + $this->description = $description; + return $this; + } + + /** + * Get description + * + * @access public + * @return string + */ + public function getDescription() + { + return $this->description; + } + + /** + * Set type + * + * @access public + * @param string $type + * @return Subscription + */ + public function setType($type) + { + $this->type = $type; + return $this; + } + + /** + * Get type + * + * @access public + * @return string + */ + public function getType() + { + return $this->type; + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Serialization/SubscriptionList.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Serialization/SubscriptionList.php new file mode 100644 index 0000000..b173f89 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Serialization/SubscriptionList.php @@ -0,0 +1,75 @@ +title = $title; + return $this; + } + + /** + * Get title + * + * @access public + * @return string + */ + public function getTitle() + { + return $this->title; + } + + /** + * Add subscription + * + * @access public + * @param Subscription $subscription + * @return SubscriptionList + */ + public function addSubscription(Subscription $subscription) + { + $this->subscriptions[] = $subscription; + return $this; + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Serialization/SubscriptionListBuilder.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Serialization/SubscriptionListBuilder.php new file mode 100644 index 0000000..838e4cb --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Serialization/SubscriptionListBuilder.php @@ -0,0 +1,204 @@ +subscriptionList = $subscriptionList; + } + + /** + * Get object instance + * + * @static + * @access public + * @param SubscriptionList $subscriptionList + * @return SubscriptionListBuilder + */ + public static function create(SubscriptionList $subscriptionList) + { + return new static($subscriptionList); + } + + /** + * Build OPML feed + * + * @access public + * @param string $filename + * @return string + */ + public function build($filename = '') + { + $this->document = new DomDocument('1.0', 'UTF-8'); + $this->document->formatOutput = true; + + $opmlElement = $this->document->createElement('opml'); + $opmlElement->setAttribute('version', '1.0'); + + $headElement = $this->document->createElement('head'); + + if ($this->subscriptionList->getTitle() !== '') { + $titleElement = $this->document->createElement('title'); + $titleElement->appendChild($this->document->createTextNode($this->subscriptionList->getTitle())); + $headElement->appendChild($titleElement); + } + + $opmlElement->appendChild($headElement); + $opmlElement->appendChild($this->buildBody()); + $this->document->appendChild($opmlElement); + + if ($filename !== '') { + $this->document->save($filename); + return ''; + } + + return $this->document->saveXML(); + } + + /** + * Return true if the list has categories + * + * @access public + * @return bool + */ + public function hasCategories() + { + foreach ($this->subscriptionList->subscriptions as $subscription) { + if ($subscription->getCategory() !== '') { + return true; + } + } + + return false; + } + + /** + * Build OPML body + * + * @access protected + * @return DOMElement + */ + protected function buildBody() + { + $bodyElement = $this->document->createElement('body'); + + if ($this->hasCategories()) { + $this->buildCategories($bodyElement); + return $bodyElement; + } + + foreach ($this->subscriptionList->subscriptions as $subscription) { + $bodyElement->appendChild($this->buildSubscription($subscription)); + } + + return $bodyElement; + } + + /** + * Build categories section + * + * @access protected + * @param DOMElement $bodyElement + */ + protected function buildCategories(DOMElement $bodyElement) + { + $categories = $this->groupByCategories(); + + foreach ($categories as $category => $subscriptions) { + $bodyElement->appendChild($this->buildCategory($category, $subscriptions)); + } + } + + /** + * Build category tag + * + * @access protected + * @param string $category + * @param array $subscriptions + * @return DOMElement + */ + protected function buildCategory($category, array $subscriptions) + { + $outlineElement = $this->document->createElement('outline'); + $outlineElement->setAttribute('text', $category); + + foreach ($subscriptions as $subscription) { + $outlineElement->appendChild($this->buildSubscription($subscription)); + } + + return $outlineElement; + } + + /** + * Build subscription entry + * + * @access public + * @param Subscription $subscription + * @return DOMElement + */ + protected function buildSubscription(Subscription $subscription) + { + $outlineElement = $this->document->createElement('outline'); + $outlineElement->setAttribute('type', $subscription->getType() ?: 'rss'); + $outlineElement->setAttribute('text', $subscription->getTitle() ?: $subscription->getFeedUrl()); + $outlineElement->setAttribute('xmlUrl', $subscription->getFeedUrl()); + + if ($subscription->getTitle() !== '') { + $outlineElement->setAttribute('title', $subscription->getTitle()); + } + + if ($subscription->getDescription() !== '') { + $outlineElement->setAttribute('description', $subscription->getDescription()); + } + + if ($subscription->getSiteUrl() !== '') { + $outlineElement->setAttribute('htmlUrl', $subscription->getSiteUrl()); + } + + return $outlineElement; + } + + /** + * Group subscriptions by category + * + * @access private + * @return array + */ + private function groupByCategories() + { + $categories = array(); + + foreach ($this->subscriptionList->subscriptions as $subscription) { + $categories[$subscription->getCategory()][] = $subscription; + } + + return $categories; + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Serialization/SubscriptionListParser.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Serialization/SubscriptionListParser.php new file mode 100644 index 0000000..9085588 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Serialization/SubscriptionListParser.php @@ -0,0 +1,100 @@ +subscriptionList = new SubscriptionList(); + $this->data = trim($data); + } + + /** + * Get object instance + * + * @static + * @access public + * @param string $data + * @return SubscriptionListParser + */ + public static function create($data) + { + return new static($data); + } + + /** + * Parse a subscription list entry + * + * @access public + * @throws MalformedXmlException + * @return SubscriptionList + */ + public function parse() + { + $xml = XmlParser::getSimpleXml($this->data); + + if (! $xml || !isset($xml->head) || !isset($xml->body)) { + throw new MalformedXmlException('Unable to parse OPML file: invalid XML'); + } + + $this->parseTitle($xml->head); + $this->parseEntries($xml->body); + + return $this->subscriptionList; + } + + /** + * Parse title + * + * @access protected + * @param SimpleXMLElement $xml + */ + protected function parseTitle(SimpleXMLElement $xml) + { + $this->subscriptionList->setTitle((string) $xml->title); + } + + /** + * Parse entries + * + * @access protected + * @param SimpleXMLElement $body + */ + private function parseEntries(SimpleXMLElement $body) + { + foreach ($body->outline as $outlineElement) { + if (isset($outlineElement->outline)) { + $this->parseEntries($outlineElement); + } else { + $this->subscriptionList->subscriptions[] = SubscriptionParser::create($body, $outlineElement)->parse(); + } + } + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Serialization/SubscriptionParser.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Serialization/SubscriptionParser.php new file mode 100644 index 0000000..caff07c --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Serialization/SubscriptionParser.php @@ -0,0 +1,142 @@ +parentElement = $parentElement; + $this->outlineElement = $outlineElement; + $this->subscription = new Subscription(); + } + + /** + * Get object instance + * + * @static + * @access public + * @param SimpleXMLElement $parentElement + * @param SimpleXMLElement $outlineElement + * @return SubscriptionParser + */ + public static function create(SimpleXMLElement $parentElement, SimpleXMLElement $outlineElement) + { + return new static($parentElement, $outlineElement); + } + + /** + * Parse subscription entry + * + * @access public + * @return Subscription + */ + public function parse() + { + $this->subscription->setCategory($this->findCategory()); + $this->subscription->setTitle($this->findTitle()); + $this->subscription->setFeedUrl($this->findFeedUrl()); + $this->subscription->setSiteUrl($this->findSiteUrl()); + $this->subscription->setType($this->findType()); + $this->subscription->setDescription($this->findDescription()); + + return $this->subscription; + } + + /** + * Find category. + * + * @access protected + * @return string + */ + protected function findCategory() + { + return isset($this->parentElement['text']) ? (string) $this->parentElement['text'] : ''; + } + + /** + * Find title. + * + * @access protected + * @return string + */ + protected function findTitle() + { + return isset($this->outlineElement['title']) ? (string) $this->outlineElement['title'] : (string) $this->outlineElement['text']; + } + + /** + * Find feed url. + * + * @access protected + * @return string + */ + protected function findFeedUrl() + { + return (string) $this->outlineElement['xmlUrl']; + } + + /** + * Find site url. + * + * @access protected + * @return string + */ + protected function findSiteUrl() + { + return isset($this->outlineElement['htmlUrl']) ? (string) $this->outlineElement['htmlUrl'] : $this->findFeedUrl(); + } + + /** + * Find type. + * + * @access protected + * @return string + */ + protected function findType() + { + return isset($this->outlineElement['version']) ? (string) $this->outlineElement['version'] : + isset($this->outlineElement['type']) ? (string) $this->outlineElement['type'] : 'rss'; + } + + /** + * Find description. + * + * @access protected + * @return string + */ + protected function findDescription() + { + return isset($this->outlineElement['description']) ? (string) $this->outlineElement['description'] : $this->findTitle(); + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/AtomFeedBuilder.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/AtomFeedBuilder.php new file mode 100644 index 0000000..34f3780 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/AtomFeedBuilder.php @@ -0,0 +1,65 @@ +helper = new AtomHelper($this->getDocument()); + + $this->feedElement = $this->getDocument()->createElement('feed'); + $this->feedElement->setAttributeNodeNS(new DomAttr('xmlns', 'http://www.w3.org/2005/Atom')); + + $generator = $this->getDocument()->createElement('generator', 'PicoFeed'); + $generator->setAttribute('uri', 'https://github.com/miniflux/picoFeed'); + $this->feedElement->appendChild($generator); + + $this->helper + ->buildTitle($this->feedElement, $this->feedTitle) + ->buildId($this->feedElement, $this->feedUrl) + ->buildDate($this->feedElement, $this->feedDate) + ->buildLink($this->feedElement, $this->siteUrl) + ->buildLink($this->feedElement, $this->feedUrl, 'self', 'application/atom+xml') + ->buildAuthor($this->feedElement, $this->authorName, $this->authorEmail, $this->authorUrl) + ; + + foreach ($this->items as $item) { + $this->feedElement->appendChild($item->build()); + } + + $this->getDocument()->appendChild($this->feedElement); + + if ($filename !== '') { + $this->getDocument()->save($filename); + } + + return $this->getDocument()->saveXML(); + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/AtomHelper.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/AtomHelper.php new file mode 100644 index 0000000..def6b0b --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/AtomHelper.php @@ -0,0 +1,139 @@ +document = $document; + } + + /** + * Build node + * + * @access public + * @param DOMElement $element + * @param string $tag + * @param string $value + * @return AtomHelper + */ + public function buildNode(DOMElement $element, $tag, $value) + { + $node = $this->document->createElement($tag); + $node->appendChild($this->document->createTextNode($value)); + $element->appendChild($node); + return $this; + } + + /** + * Build title + * + * @access public + * @param DOMElement $element + * @param string $title + * @return AtomHelper + */ + public function buildTitle(DOMElement $element, $title) + { + return $this->buildNode($element, 'title', $title); + } + + /** + * Build id + * + * @access public + * @param DOMElement $element + * @param string $id + * @return AtomHelper + */ + public function buildId(DOMElement $element, $id) + { + return $this->buildNode($element, 'id', $id); + } + + /** + * Build date element + * + * @access public + * @param DOMElement $element + * @param DateTime $date + * @param string $type + * @return AtomHelper + */ + public function buildDate(DOMElement $element, DateTime $date, $type = 'updated') + { + return $this->buildNode($element, $type, $date->format(DateTime::ATOM)); + } + + /** + * Build link element + * + * @access public + * @param DOMElement $element + * @param string $url + * @param string $rel + * @param string $type + * @return AtomHelper + */ + public function buildLink(DOMElement $element, $url, $rel = 'alternate', $type = 'text/html') + { + $node = $this->document->createElement('link'); + $node->setAttribute('rel', $rel); + $node->setAttribute('type', $type); + $node->setAttribute('href', $url); + $element->appendChild($node); + + return $this; + } + + /** + * Build author element + * + * @access public + * @param DOMElement $element + * @param string $authorName + * @param string $authorEmail + * @param string $authorUrl + * @return AtomHelper + */ + public function buildAuthor(DOMElement $element, $authorName, $authorEmail, $authorUrl) + { + if (!empty($authorName)) { + $author = $this->document->createElement('author'); + $this->buildNode($author, 'name', $authorName); + + if (!empty($authorEmail)) { + $this->buildNode($author, 'email', $authorEmail); + } + + if (!empty($authorUrl)) { + $this->buildNode($author, 'uri', $authorUrl); + } + + $element->appendChild($author); + } + + return $this; + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/AtomItemBuilder.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/AtomItemBuilder.php new file mode 100644 index 0000000..dfdfe68 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/AtomItemBuilder.php @@ -0,0 +1,63 @@ +itemElement = $this->feedBuilder->getDocument()->createElement('entry'); + $this->helper = new AtomHelper($this->feedBuilder->getDocument()); + + if (!empty($this->itemId)) { + $this->helper->buildId($this->itemElement, $this->itemId); + } else { + $this->helper->buildId($this->itemElement, $this->itemUrl); + } + + $this->helper + ->buildTitle($this->itemElement, $this->itemTitle) + ->buildLink($this->itemElement, $this->itemUrl) + ->buildDate($this->itemElement, $this->itemUpdatedDate, 'updated') + ->buildDate($this->itemElement, $this->itemPublishedDate, 'published') + ->buildAuthor($this->itemElement, $this->authorName, $this->authorEmail, $this->authorUrl) + ; + + if (!empty($this->itemSummary)) { + $this->helper->buildNode($this->itemElement, 'summary', $this->itemSummary); + } + + if (!empty($this->itemContent)) { + $node = $this->feedBuilder->getDocument()->createElement('content'); + $node->setAttribute('type', 'html'); + $node->appendChild($this->feedBuilder->getDocument()->createCDATASection($this->itemContent)); + $this->itemElement->appendChild($node); + } + + return $this->itemElement; + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/FeedBuilder.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/FeedBuilder.php new file mode 100644 index 0000000..cf9d024 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/FeedBuilder.php @@ -0,0 +1,185 @@ +document = new DomDocument('1.0', 'UTF-8'); + $this->document->formatOutput = true; + } + + /** + * Get new object instance + * + * @access public + * @return static + */ + public static function create() + { + return new static(); + } + + /** + * Add feed title + * + * @access public + * @param string $title + * @return $this + */ + public function withTitle($title) + { + $this->feedTitle = $title; + return $this; + } + + /** + * Add feed url + * + * @access public + * @param string $url + * @return $this + */ + public function withFeedUrl($url) + { + $this->feedUrl = $url; + return $this; + } + + /** + * Add website url + * + * @access public + * @param string $url + * @return $this + */ + public function withSiteUrl($url) + { + $this->siteUrl = $url; + return $this; + } + + /** + * Add feed date + * + * @access public + * @param DateTime $date + * @return $this + */ + public function withDate(DateTime $date) + { + $this->feedDate = $date; + return $this; + } + + /** + * Add feed author + * + * @access public + * @param string $name + * @param string $email + * @param string $url + * @return $this + */ + public function withAuthor($name, $email = '', $url ='') + { + $this->authorName = $name; + $this->authorEmail = $email; + $this->authorUrl = $url; + return $this; + } + + /** + * Add feed item + * + * @access public + * @param ItemBuilder $item + * @return $this + */ + public function withItem(ItemBuilder $item) + { + $this->items[] = $item; + return $this; + } + + /** + * Get DOM document + * + * @access public + * @return DOMDocument + */ + public function getDocument() + { + return $this->document; + } + + /** + * Build feed + * + * @abstract + * @access public + * @param string $filename + * @return string + */ + abstract public function build($filename = ''); +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/ItemBuilder.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/ItemBuilder.php new file mode 100644 index 0000000..86985bc --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/ItemBuilder.php @@ -0,0 +1,209 @@ +feedBuilder = $feedBuilder; + } + + /** + * Get new object instance + * + * @access public + * @param FeedBuilder $feedBuilder + * @return static + */ + public static function create(FeedBuilder $feedBuilder) + { + return new static($feedBuilder); + } + + /** + * Add item title + * + * @access public + * @param string $title + * @return $this + */ + public function withTitle($title) + { + $this->itemTitle = $title; + return $this; + } + + /** + * Add item id + * + * @access public + * @param string $id + * @return $this + */ + public function withId($id) + { + $this->itemId = $id; + return $this; + } + + /** + * Add item url + * + * @access public + * @param string $url + * @return $this + */ + public function withUrl($url) + { + $this->itemUrl = $url; + return $this; + } + + /** + * Add item summary + * + * @access public + * @param string $summary + * @return $this + */ + public function withSummary($summary) + { + $this->itemSummary = $summary; + return $this; + } + + /** + * Add item content + * + * @access public + * @param string $content + * @return $this + */ + public function withContent($content) + { + $this->itemContent = $content; + return $this; + } + + /** + * Add item updated date + * + * @access public + * @param DateTime $date + * @return $this + */ + public function withUpdatedDate(DateTime $date) + { + $this->itemUpdatedDate = $date; + return $this; + } + + /** + * Add item published date + * + * @access public + * @param DateTime $date + * @return $this + */ + public function withPublishedDate(DateTime $date) + { + $this->itemPublishedDate = $date; + return $this; + } + + /** + * Add item author + * + * @access public + * @param string $name + * @param string $email + * @param string $url + * @return $this + */ + public function withAuthor($name, $email = '', $url ='') + { + $this->authorName = $name; + $this->authorEmail = $email; + $this->authorUrl = $url; + return $this; + } + + /** + * Build item + * + * @abstract + * @access public + * @return DOMElement + */ + abstract public function build(); +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/Rss20FeedBuilder.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/Rss20FeedBuilder.php new file mode 100644 index 0000000..bc3f513 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/Rss20FeedBuilder.php @@ -0,0 +1,76 @@ +helper = new Rss20Helper($this->getDocument()); + + $this->rssElement = $this->getDocument()->createElement('rss'); + $this->rssElement->setAttribute('version', '2.0'); + $this->rssElement->setAttributeNodeNS(new DomAttr('xmlns:content', 'http://purl.org/rss/1.0/modules/content/')); + $this->rssElement->setAttributeNodeNS(new DomAttr('xmlns:atom', 'http://www.w3.org/2005/Atom')); + + $this->channelElement = $this->getDocument()->createElement('channel'); + $this->helper + ->buildNode($this->channelElement, 'generator', 'PicoFeed (https://github.com/miniflux/picoFeed)') + ->buildTitle($this->channelElement, $this->feedTitle) + ->buildNode($this->channelElement, 'description', $this->feedTitle) + ->buildDate($this->channelElement, $this->feedDate) + ->buildAuthor($this->channelElement, 'webMaster', $this->authorName, $this->authorEmail) + ->buildLink($this->channelElement, $this->siteUrl) + ; + + $link = $this->getDocument()->createElement('atom:link'); + $link->setAttribute('href', $this->feedUrl); + $link->setAttribute('rel', 'self'); + $link->setAttribute('type', 'application/rss+xml'); + $this->channelElement->appendChild($link); + + foreach ($this->items as $item) { + $this->channelElement->appendChild($item->build()); + } + + $this->rssElement->appendChild($this->channelElement); + $this->getDocument()->appendChild($this->rssElement); + + if ($filename !== '') { + $this->getDocument()->save($filename); + } + + return $this->getDocument()->saveXML(); + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/Rss20Helper.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/Rss20Helper.php new file mode 100644 index 0000000..72a19e5 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/Rss20Helper.php @@ -0,0 +1,115 @@ +document = $document; + } + + /** + * Build node + * + * @access public + * @param DOMElement $element + * @param string $tag + * @param string $value + * @return $this + */ + public function buildNode(DOMElement $element, $tag, $value) + { + $node = $this->document->createElement($tag); + $node->appendChild($this->document->createTextNode($value)); + $element->appendChild($node); + return $this; + } + + /** + * Build title + * + * @access public + * @param DOMElement $element + * @param string $title + * @return $this + */ + public function buildTitle(DOMElement $element, $title) + { + return $this->buildNode($element, 'title', $title); + } + + /** + * Build date element + * + * @access public + * @param DOMElement $element + * @param DateTime $date + * @param string $type + * @return $this + */ + public function buildDate(DOMElement $element, DateTime $date, $type = 'pubDate') + { + return $this->buildNode($element, $type, $date->format(DateTime::RSS)); + } + + /** + * Build link element + * + * @access public + * @param DOMElement $element + * @param string $url + * @return $this + */ + public function buildLink(DOMElement $element, $url) + { + return $this->buildNode($element, 'link', $url); + } + + /** + * Build author element + * + * @access public + * @param DOMElement $element + * @param string $tag + * @param string $authorName + * @param string $authorEmail + * @return $this + */ + public function buildAuthor(DOMElement $element, $tag, $authorName, $authorEmail) + { + if (!empty($authorName)) { + $value = ''; + + if (!empty($authorEmail)) { + $value .= $authorEmail.' ('.$authorName.')'; + } else { + $value = $authorName; + } + + $this->buildNode($element, $tag, $value); + } + + return $this; + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/Rss20ItemBuilder.php b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/Rss20ItemBuilder.php new file mode 100644 index 0000000..125dc6a --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/lib/PicoFeed/Syndication/Rss20ItemBuilder.php @@ -0,0 +1,67 @@ +itemElement = $this->feedBuilder->getDocument()->createElement('item'); + $this->helper = new Rss20Helper($this->feedBuilder->getDocument()); + + if (!empty($this->itemId)) { + $guid = $this->feedBuilder->getDocument()->createElement('guid'); + $guid->setAttribute('isPermaLink', 'false'); + $guid->appendChild($this->feedBuilder->getDocument()->createTextNode($this->itemId)); + $this->itemElement->appendChild($guid); + } else { + $guid = $this->feedBuilder->getDocument()->createElement('guid'); + $guid->setAttribute('isPermaLink', 'true'); + $guid->appendChild($this->feedBuilder->getDocument()->createTextNode($this->itemUrl)); + $this->itemElement->appendChild($guid); + } + + $this->helper + ->buildTitle($this->itemElement, $this->itemTitle) + ->buildLink($this->itemElement, $this->itemUrl) + ->buildDate($this->itemElement, $this->itemPublishedDate) + ->buildAuthor($this->itemElement, 'author', $this->authorName, $this->authorEmail) + ; + + if (!empty($this->itemSummary)) { + $this->helper->buildNode($this->itemElement, 'description', $this->itemSummary); + } + + if (!empty($this->itemContent)) { + $node = $this->feedBuilder->getDocument()->createElement('content:encoded'); + $node->appendChild($this->feedBuilder->getDocument()->createCDATASection($this->itemContent)); + $this->itemElement->appendChild($node); + } + + return $this->itemElement; + } +} diff --git a/user/plugins/admin/vendor/fguillot/picofeed/picofeed b/user/plugins/admin/vendor/fguillot/picofeed/picofeed new file mode 100644 index 0000000..8f35737 --- /dev/null +++ b/user/plugins/admin/vendor/fguillot/picofeed/picofeed @@ -0,0 +1,135 @@ +#!/usr/bin/env php +discover($url); + + $parser = $reader->getParser( + $resource->getUrl(), + $resource->getContent(), + $resource->getEncoding() + ); + + if ($disable_filtering) { + $parser->disableContentFiltering(); + } + + return $parser->execute(); + } + catch (PicoFeedException $e) { + echo 'Exception thrown ===> "'.$e->getMessage().'"'.PHP_EOL; + return false; + } +} + +function get_item($feed, $item_id) +{ + foreach ($feed->items as $item) { + if ($item->getId() === $item_id) { + echo $item; + echo "============= CONTENT ================\n"; + echo $item->getContent(); + echo "\n============= CONTENT ================\n"; + break; + } + } +} + +function dump_feed($url) +{ + $feed = get_feed($url); + echo $feed; +} + +function debug_feed($url) +{ + get_feed($url); + print_r(Logger::getMessages()); +} + +function dump_item($url, $item_id) +{ + $feed = get_feed($url); + + if ($feed !== false) { + get_item($feed, $item_id); + } +} + +function nofilter_item($url, $item_id) +{ + $feed = get_feed($url, true); + + if ($feed !== false) { + get_item($feed, $item_id); + } +} + +function grabber($url) +{ + $grabber = new Scraper(new Config); + $grabber->setUrl($url); + $grabber->execute(); + + print_r(Logger::getMessages()); + echo "============= CONTENT ================\n"; + echo $grabber->getRelevantContent().PHP_EOL; + echo "============= FILTERED ================\n"; + echo $grabber->getFilteredContent().PHP_EOL; +} + +function fetch_favicon($url) +{ + $favicon = new Favicon(); + echo $favicon->find($url) . PHP_EOL; +} + +// Parse command line arguments +if ($argc === 4) { + switch ($argv[1]) { + case 'item': + dump_item($argv[2], $argv[3]); + die; + case 'nofilter': + nofilter_item($argv[2], $argv[3]); + die; + } +} else if ($argc === 3) { + switch ($argv[1]) { + case 'feed': + dump_feed($argv[2]); + die; + case 'debug': + debug_feed($argv[2]); + die; + case 'grabber': + grabber($argv[2]); + die; + case 'favicon': + fetch_favicon($argv[2]); + die; + } +} + +printf("Usage:\n"); +printf("%s feed \n", $argv[0]); +printf("%s debug \n", $argv[0]); +printf("%s item \n", $argv[0]); +printf("%s nofilter \n", $argv[0]); +printf("%s grabber \n", $argv[0]); +printf("%s favicon \n", $argv[0]); diff --git a/user/plugins/admin/vendor/robthree/twofactorauth/LICENSE b/user/plugins/admin/vendor/robthree/twofactorauth/LICENSE new file mode 100644 index 0000000..75a9631 --- /dev/null +++ b/user/plugins/admin/vendor/robthree/twofactorauth/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2014-2015 Rob Janssen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/user/plugins/admin/vendor/robthree/twofactorauth/README.md b/user/plugins/admin/vendor/robthree/twofactorauth/README.md new file mode 100644 index 0000000..d65eb19 --- /dev/null +++ b/user/plugins/admin/vendor/robthree/twofactorauth/README.md @@ -0,0 +1,197 @@ +# ![Logo](https://raw.githubusercontent.com/RobThree/TwoFactorAuth/master/logo.png) PHP library for Two Factor Authentication + +[![Build status](https://img.shields.io/travis/RobThree/TwoFactorAuth.svg?style=flat-square)](https://travis-ci.org/RobThree/TwoFactorAuth/) [![Latest Stable Version](https://img.shields.io/packagist/v/robthree/twofactorauth.svg?style=flat-square)](https://packagist.org/packages/robthree/twofactorauth) [![License](https://img.shields.io/packagist/l/robthree/twofactorauth.svg?style=flat-square)](LICENSE) [![Downloads](https://img.shields.io/packagist/dt/robthree/twofactorauth.svg?style=flat-square)](https://packagist.org/packages/robthree/twofactorauth) [![HHVM Status](https://img.shields.io/hhvm/RobThree/TwoFactorAuth.svg?style=flat-square)](http://hhvm.h4cc.de/package/robthree/twofactorauth) [![Code Climate](https://img.shields.io/codeclimate/github/RobThree/TwoFactorAuth.svg?style=flat-square)](https://codeclimate.com/github/RobThree/TwoFactorAuth) [![PayPal donate button](http://img.shields.io/badge/paypal-donate-orange.svg?style=flat-square)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=6MB5M2SQLP636 "Keep me off the streets") + +PHP library for [two-factor (or multi-factor) authentication](http://en.wikipedia.org/wiki/Multi-factor_authentication) using [TOTP](http://en.wikipedia.org/wiki/Time-based_One-time_Password_Algorithm) and [QR-codes](http://en.wikipedia.org/wiki/QR_code). Inspired by, based on but most importantly an *improvement* on '[PHPGangsta/GoogleAuthenticator](https://github.com/PHPGangsta/GoogleAuthenticator)'. There's a [.Net implementation](https://github.com/RobThree/TwoFactorAuth.Net) of this library as well. + +

                                                                        + +

                                                                        + +## Requirements + +* Tested on PHP 5.3, 5.4, 5.5 and 5.6, 7 and HHVM +* [cURL](http://php.net/manual/en/book.curl.php) when using the provided `GoogleQRCodeProvider` (default), `QRServerProvider` or `QRicketProvider` but you can also provide your own QR-code provider. +* [random_bytes()](http://php.net/manual/en/function.random-bytes.php), [MCrypt](http://php.net/manual/en/book.mcrypt.php), [OpenSSL](http://php.net/manual/en/book.openssl.php) or [Hash](http://php.net/manual/en/book.hash.php) depending on which built-in RNG you use (TwoFactorAuth will try to 'autodetect' and use the best available); however: feel free to provide your own (CS)RNG. + +## Installation + +Run the following command: + +`php composer.phar require robthree/twofactorauth` + +## Quick start + +If you want to hit the ground running then have a look at the [demo](demo/demo.php). It's very simple and easy! + +## Usage + +Here are some code snippets that should help you get started... + +````php +// Create a TwoFactorAuth instance +$tfa = new RobThree\Auth\TwoFactorAuth('My Company'); +```` + +The TwoFactorAuth class constructor accepts 7 parameters (all optional): + +Parameter | Default value | Use +------------------|---------------|-------------------------------------------------- +`$issuer` | `null` | Will be displayed in the app as issuer name +`$digits` | `6` | The number of digits the resulting codes will be +`$period` | `30` | The number of seconds a code will be valid +`$algorithm` | `sha1` | The algorithm used +`$qrcodeprovider` | `null` | QR-code provider (more on this later) +`$rngprovider` | `null` | Random Number Generator provider (more on this later) +`$timeprovider` | `null` | Time provider (more on this later) + +These parameters are all '`write once`'; the class will, for it's lifetime, use these values when generating / calculating codes. The number of digits, the period and algorithm are all set to values Google's Authticator app uses (and supports). You may specify `8` digits, a period of `45` seconds and the `sha256` algorithm but the authenticator app (be it Google's implementation, Authy or any other app) may or may not support these values. Your mileage may vary; keep it on the safe side if you don't control which app your audience uses. + +### Step 1: Set up secret shared key + +When a user wants to setup two-factor auth (or, more correctly, multi-factor auth) you need to create a secret. This will be your **shared secret**. This secret will need to be entered by the user in their app. This can be done manually, in which case you simply display the secret and have the user type it in the app: + +````php +$secret = $tfa->createSecret(); +```` + +The `createSecret()` method accepts two arguments: `$bits` (default: `80`) and `$requirecryptosecure` (default: `true`). The former is the number of bits generated for the shared secret. Make sure this argument is a multiple of 8 and, again, keep in mind that not all combinations may be supported by all apps. Google authenticator seems happy with 80 and 160, the default is set to 80 because that's what most sites (that I know of) currently use; however a value of 160 or higher is recommended (see [RFC 4226 - Algorithm Requirements](https://tools.ietf.org/html/rfc4226#section-4)). The latter is used to ensure that the secret is cryptographically secure; if you don't care very much for cryptographically secure secrets you can specify `false` and use a **non**-cryptographically secure RNG provider. + +````php +// Display shared secret +

                                                                        Please enter the following code in your app: ''

                                                                        +```` + +Another, more user-friendly, way to get the shared secret into the app is to generate a [QR-code](http://en.wikipedia.org/wiki/QR_code) which can be scanned by the app. To generate these QR codes you can use any one of the built-in `QRProvider` classes: + +1. `GoogleQRCodeProvider` (default) +2. `QRServerProvider` +3. `QRicketProvider` + +...or implement your own provider. To implement your own provider all you need to do is implement the `IQRCodeProvider` interface. You can use the built-in providers mentioned before to serve as an example or read the next chapter in this file. The built-in classes all use a 3rd (e.g. external) party (Google, QRServer and QRicket) for the hard work of generating QR-codes (note: each of these services might at some point not be available or impose limitations to the number of codes generated per day, hour etc.). You could, however, easily use a project like [PHP QR Code](http://phpqrcode.sourceforge.net/) (or one of the [many others](https://packagist.org/search/?q=qr)) to generate your QR-codes without depending on external sources. Later on we'll [demonstrate](#qr-code-providers) how to do this. + +The built-in providers all have some provider-specific 'tweaks' you can 'apply'. Some provide support for different colors, others may let you specify the desired image-format etc. What they all have in common is that they return a QR-code as binary blob which, in turn, will be turned into a [data URI](http://en.wikipedia.org/wiki/Data_URI_scheme) by the `TwoFactorAuth` class. This makes it easy for you to display the image without requiring extra 'roundtrips' from browser to server and vice versa. + +````php +// Display QR code to user +

                                                                        Scan the following image with your app:

                                                                        +

                                                                        +```` + +When outputting a QR-code you can choose a `$label` for the user (which, when entering a shared secret manually, will have to be chosen by the user). This label may be an empty string or `null`. Also a `$size` may be specified (in pixels, width == height) for which we use a default value of `200`. + +### Step 2: Verify secret shared key + +When the shared secret is added to the app, the app will be ready to start generating codes which 'expire' each '`$period`' number of seconds. To make sure the secret was entered, or scanned, correctly you need to verify this by having the user enter a generated code. To check if the generated code is valid you call the `verifyCode()` method: + +````php +// Verify code +$result = $tfa->verifyCode($_SESSION['secret'], $_POST['verification']); +```` + +`verifyCode()` will return either `true` (the code was valid) or `false` (the code was invalid; no points for you!). You may need to store `$secret` in a `$_SESSION` or other persistent storage between requests. The `verifyCode()` accepts, aside from `$secret` and `$code`, two more parameters. The first being `$discrepancy`. Since TOTP codes are based on time("slices") it is very important that the server (but also client) have a correct date/time. But because the two *may* differ a bit we usually allow a certain amount of leeway. Because generated codes are valid for a specific period (remember the `$period` parameter in the `TwoFactorAuth`'s constructor?) we usually check the period directly before and the period directly after the current time when validating codes. So when the current time is `14:34:21`, which results in a 'current timeslice' of `14:34:00` to `14:34:30` we also calculate/verify the codes for `14:33:30` to `14:34:00` and for `14:34:30` to `14:35:00`. This gives us a 'window' of `14:33:30` to `14:35:00`. The `$discrepancy` parameter specifies how many periods (or: timeslices) we check in either direction of the current time. The default `$discrepancy` of `1` results in (max.) 3 period checks: -1, current and +1 period. A `$discrepancy` of `4` would result in a larger window (or: bigger time difference between client and server) of -4, -3, -2, -1, current, +1, +2, +3 and +4 periods. + +The second parameter `$time` allows you to check a code for a specific point in time. This parameter has no real practical use but can be handy for unittesting etc. The default value, `null`, means: use the current time. + +### Step 3: Store `$secret` with user and we're done! + +Ok, so now the code has been verified and found to be correct. Now we can store the `$secret` with our user in our database (or elsewhere) and whenever the user begins a new session we ask for a code generated by the authentication app of their choice. All we need to do is call `verifyCode()` again with the shared secret and the entered code and we know if the user is legit or not. + +Simple as 1-2-3. + +All we need is 3 methods and a constructor: + +````php +public function __construct( + $issuer = null, + $digits = 6, + $period = 30, + $algorithm = 'sha1', + RobThree\Auth\Providers\Qr\IQRCodeProvider $qrcodeprovider = null, + RobThree\Auth\Providers\Rng\IRNGProvider $rngprovider = null +); +public function createSecret($bits = 80, $requirecryptosecure = true): string; +public function getQRCodeImageAsDataUri($label, $secret, $size = 200): string; +public function verifyCode($secret, $code, $discrepancy = 1, $time = null): bool; +```` + +### QR-code providers + +As mentioned before, this library comes with three 'built-in' QR-code providers. This chapter will touch the subject a bit but most of it should be self-explanatory. The `TwoFactorAuth`-class accepts a `$qrcodeprovider` parameter which lets you specify a built-in or custom QR-code provider. All three built-in providers do a simple HTTP request to retrieve an image using cURL and implement the [`IQRCodeProvider`](lib/Providers/Qr/IQRCodeProvider.php) interface which is all you need to implement to write your own QR-code provider. + +The default provider is the [`GoogleQRCodeProvider`](lib/Providers/Qr/GoogleQRCodeProvider.php) which uses the [Google Chart Tools](https://developers.google.com/chart/infographics/docs/qr_codes) to render QR-codes. Then we have the [`QRServerProvider`](lib/Providers/Qr/QRServerProvider.php) which uses the [goqr.me API](http://goqr.me/api/doc/create-qr-code/) and finally we have the [`QRicketProvider`](lib/Providers/Qr/QRicketProvider.php) which uses the [QRickit API](http://qrickit.com/qrickit_apps/qrickit_api.php). All three inherit from a common (abstract) baseclass named [`BaseHTTPQRCodeProvider`](lib/Providers/Qr/BaseHTTPQRCodeProvider.php) because all three share the same functionality: retrieve an image from a 3rd party over HTTP. All three classes have constructors that allow you to tweak some settings and most, if not all, arguments should speak for themselves. If you're not sure which values are supported, click the links in this paragraph for documentation on the API's that are utilized by these classes. + +If you don't like any of the built-in classes because you don't want to rely on external resources for example or because you're paranoid about sending the TOTP secret to these 3rd parties (which is useless to them since they miss *at least one* other factor in the [MFA process](http://en.wikipedia.org/wiki/Multi-factor_authentication)), feel tree to implement your own. The `IQRCodeProvider` interface couldn't be any simpler. All you need to do is implement 2 methods: + +````php +getMimeType(); +getQRCodeImage($qrtext, $size); +```` + +The `getMimeType()` method should return the [MIME type](http://en.wikipedia.org/wiki/Internet_media_type) of the image that is returned by our implementation of `getQRCodeImage()`. In this example it's simply `image/png`. The `getQRCodeImage()` method is passed two arguments: `$qrtext` and `$size`. The latter, `$size`, is simply the width/height in pixels of the image desired by the caller. The first, `$qrtext` is the text that should be encoded in the QR-code. An example of such a text would be: + +`otpauth://totp/LABEL:alice@google.com?secret=JBSWY3DPEHPK3PXP&issuer=ISSUER` + +All you need to do is return the QR-code as binary image data and you're done. All parts of the `$qrtext` have been escaped for you (but note: you *may* need to escape the entire `$qrtext` just once more when passing the data to another server as GET-parameter). + +Let's see if we can use [PHP QR Code](http://phpqrcode.sourceforge.net/) to implement our own, custom, no-3rd-parties-allowed-here, provider. We start with downloading the [required (single) file](https://github.com/t0k4rt/phpqrcode/blob/master/phpqrcode.php) and putting it in the directory where `TwoFactorAuth.php` is located as well. Now let's implement the provider: create another file named `myprovider.php` in the `Providers\Qr` directory and paste in this content: + +````php +createSecret(); +?> +

                                                                        +```` + +Voilà. Couldn't make it any simpler. + +### RNG providers + +This library also comes with three 'built-in' RNG providers ([Random Number Generator](https://en.wikipedia.org/wiki/Random_number_generation)). The RNG provider generates a number of random bytes and returns these bytes as a string. These values are then used to create the secret. By default (no RNG provider specified) TwoFactorAuth will try to determine the best available RNG provider to use. It will, by default, try to use the [`CSRNGProvider`](lib/Providers/Rng/CSRNGProvider.php) for PHP7+ or the [`MCryptRNGProvider`](lib/Providers/Rng/MCryptRNGProvider.php); if this is not available/supported for any reason it will try to use the [`OpenSSLRNGProvider`](lib/Providers/Rng/OpenSSLRNGProvider.php) and if that is also not available/supported it will try to use the final RNG provider: [`HashRNGProvider`](lib/Providers/Rng/HashRNGProvider.php). Each of these providers use their own method of generating a random sequence of bytes. The first three (`CSRNGProvider`, `OpenSSLRNGProvider` and `MCryptRNGProvider`) return a [cryptographically secure](https://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator) sequence of random bytes whereas the `HashRNGProvider` returns a **non-cryptographically secure** sequence. + +You can easily implement your own `RNGProvider` by simply implementing the `IRNGProvider` interface. Each of the 'built-in' RNG providers have some constructor parameters that allow you to 'tweak' some of the settings to use when creating the random bytes such as which source to use (`MCryptRNGProvider`) or which hashing algorithm (`HashRNGProvider`). I encourage you to have a look at some of the ['built-in' RNG providers](lib/Providers/Rng) for details and the [`IRNGProvider` interface](lib/Providers/Rng/IRNGProvider.php). + +### Time providers + +Another set of providers in this library are the Time Providers; this library provides three 'built-in' ones. The default Time Provider used is the [`LocalMachineTimeProvider`](lib/Providers/Time/LocalMachineTimeProvider.php); this provider simply returns the output of `Time()` and is *highly recommended* as default provider. The [`HttpTimeProvider`](lib/Providers/Time/HttpTimeProvider.php) executes a `HEAD` request against a given webserver (default: google.com) and tries to extract the `Date:`-HTTP header and returns it's date. Other url's/domains can be used by specifying the url in the constructor. The final Time Provider is the [`ConvertUnixTimeDotComTimeProvider`](lib/Providers/Time/ConvertUnixTimeDotComTimeProvider.php) which does a HTTP request to `convert-unix-time.com/api` and decodes the `JSON` result to retrieve the time. + +You can easily implement your own `TimeProvider` by simply implementing the `ITimeProvider` interface. + +As to *why* these Time Providers are implemented: it allows the TwoFactorAuth library to ensure the hosts time is correct (or rather: within a margin). You can use the `ensureCorrectTime()` method to ensure the hosts time is correct. By default this method will compare the hosts time (returned by calling `time()` on the `LocalMachineTimeProvider`) to Google's and convert-unix-time.com's current time. You can pass an array of `ITimeProvider`s and specify the `leniency` (second argument) allowed (default: 5 seconds). The method will throw when the TwoFactorAuth's timeprovider (which can be any `ITimeProvider`, see constructor) differs more than the given amount of seconds from any of the given `ITimeProviders`. We advise to call this method sparingly when relying on 3rd parties (which both the `HttpTimeProvider` and `ConvertUnixTimeDotComTimeProvider` do) or, if you need to ensure time is correct on a (very) regular basis to implement an `ITimeProvider` that is more efficient than the 'built-in' ones (like use a GPS signal). The `ensureCorrectTime()` method is mostly to be used to make sure the server is configured correctly. + +## Integrations + +- [CakePHP 3](https://github.com/andrej-griniuk/cakephp-two-factor-auth) + +## License + +Licensed under MIT license. See [LICENSE](https://raw.githubusercontent.com/RobThree/TwoFactorAuth/master/LICENSE) for details. + +[Logo / icon](http://www.iconmay.com/Simple/Travel_and_Tourism_Part_2/luggage_lock_safety_baggage_keys_cylinder_lock_hotel_travel_tourism_luggage_lock_icon_465) under CC0 1.0 Universal (CC0 1.0) Public Domain Dedication ([Archived page](http://riii.nl/tm7ap)) diff --git a/user/plugins/admin/vendor/robthree/twofactorauth/TwoFactorAuth.sln b/user/plugins/admin/vendor/robthree/twofactorauth/TwoFactorAuth.sln new file mode 100644 index 0000000..df901f6 --- /dev/null +++ b/user/plugins/admin/vendor/robthree/twofactorauth/TwoFactorAuth.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.30723.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{A0786B88-2ADB-4C21-ABE8-AA2D79766269}") = "TwoFactorAuth", "TwoFactorAuth.phpproj", "{E569F53A-A604-4579-91CE-4E35B27DA47B}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {E569F53A-A604-4579-91CE-4E35B27DA47B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E569F53A-A604-4579-91CE-4E35B27DA47B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E569F53A-A604-4579-91CE-4E35B27DA47B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E569F53A-A604-4579-91CE-4E35B27DA47B}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Qr/BaseHTTPQRCodeProvider.php b/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Qr/BaseHTTPQRCodeProvider.php new file mode 100644 index 0000000..5cb3add --- /dev/null +++ b/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Qr/BaseHTTPQRCodeProvider.php @@ -0,0 +1,27 @@ + $url, + CURLOPT_RETURNTRANSFER => true, + CURLOPT_CONNECTTIMEOUT => 10, + CURLOPT_DNS_CACHE_TIMEOUT => 10, + CURLOPT_TIMEOUT => 10, + CURLOPT_SSL_VERIFYPEER => $this->verifyssl, + CURLOPT_USERAGENT => 'TwoFactorAuth' + )); + $data = curl_exec($curlhandle); + + curl_close($curlhandle); + return $data; + } +} \ No newline at end of file diff --git a/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Qr/GoogleQRCodeProvider.php b/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Qr/GoogleQRCodeProvider.php new file mode 100644 index 0000000..19e086b --- /dev/null +++ b/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Qr/GoogleQRCodeProvider.php @@ -0,0 +1,39 @@ +verifyssl = $verifyssl; + + $this->errorcorrectionlevel = $errorcorrectionlevel; + $this->margin = $margin; + } + + public function getMimeType() + { + return 'image/png'; + } + + public function getQRCodeImage($qrtext, $size) + { + return $this->getContent($this->getUrl($qrtext, $size)); + } + + public function getUrl($qrtext, $size) + { + return 'https://chart.googleapis.com/chart?cht=qr' + . '&chs=' . $size . 'x' . $size + . '&chld=' . $this->errorcorrectionlevel . '|' . $this->margin + . '&chl=' . rawurlencode($qrtext); + } +} \ No newline at end of file diff --git a/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Qr/IQRCodeProvider.php b/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Qr/IQRCodeProvider.php new file mode 100644 index 0000000..83ed67b --- /dev/null +++ b/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Qr/IQRCodeProvider.php @@ -0,0 +1,9 @@ +verifyssl = $verifyssl; + + $this->errorcorrectionlevel = $errorcorrectionlevel; + $this->margin = $margin; + $this->qzone = $qzone; + $this->bgcolor = $bgcolor; + $this->color = $color; + $this->format = $format; + } + + public function getMimeType() + { + switch (strtolower($this->format)) + { + case 'png': + return 'image/png'; + case 'gif': + return 'image/gif'; + case 'jpg': + case 'jpeg': + return 'image/jpeg'; + case 'svg': + return 'image/svg+xml'; + case 'eps': + return 'application/postscript'; + } + throw new \QRException(sprintf('Unknown MIME-type: %s', $this->format)); + } + + public function getQRCodeImage($qrtext, $size) + { + return $this->getContent($this->getUrl($qrtext, $size)); + } + + private function decodeColor($value) + { + return vsprintf('%d-%d-%d', sscanf($value, "%02x%02x%02x")); + } + + public function getUrl($qrtext, $size) + { + return 'https://api.qrserver.com/v1/create-qr-code/' + . '?size=' . $size . 'x' . $size + . '&ecc=' . strtoupper($this->errorcorrectionlevel) + . '&margin=' . $this->margin + . '&qzone=' . $this->qzone + . '&bgcolor=' . $this->decodeColor($this->bgcolor) + . '&color=' . $this->decodeColor($this->color) + . '&format=' . strtolower($this->format) + . '&data=' . rawurlencode($qrtext); + } +} \ No newline at end of file diff --git a/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Qr/QRicketProvider.php b/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Qr/QRicketProvider.php new file mode 100644 index 0000000..59e27cc --- /dev/null +++ b/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Qr/QRicketProvider.php @@ -0,0 +1,54 @@ +verifyssl = false; + + $this->errorcorrectionlevel = $errorcorrectionlevel; + $this->bgcolor = $bgcolor; + $this->color = $color; + $this->format = $format; + } + + public function getMimeType() + { + switch (strtolower($this->format)) + { + case 'p': + return 'image/png'; + case 'g': + return 'image/gif'; + case 'j': + return 'image/jpeg'; + } + throw new \QRException(sprintf('Unknown MIME-type: %s', $this->format)); + } + + public function getQRCodeImage($qrtext, $size) + { + return $this->getContent($this->getUrl($qrtext, $size)); + } + + public function getUrl($qrtext, $size) + { + return 'http://qrickit.com/api/qr' + . '?qrsize=' . $size + . '&e=' . strtolower($this->errorcorrectionlevel) + . '&bgdcolor=' . $this->bgcolor + . '&fgdcolor=' . $this->color + . '&t=' . strtolower($this->format) + . '&d=' . rawurlencode($qrtext); + } +} \ No newline at end of file diff --git a/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Rng/CSRNGProvider.php b/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Rng/CSRNGProvider.php new file mode 100644 index 0000000..8dba7fc --- /dev/null +++ b/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Rng/CSRNGProvider.php @@ -0,0 +1,14 @@ +algorithm = $algorithm; + } + + public function getRandomBytes($bytecount) { + $result = ''; + $hash = mt_rand(); + for ($i = 0; $i < $bytecount; $i++) { + $hash = hash($this->algorithm, $hash.mt_rand(), true); + $result .= $hash[mt_rand(0, sizeof($hash))]; + } + return $result; + } + + public function isCryptographicallySecure() { + return false; + } +} diff --git a/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Rng/IRNGProvider.php b/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Rng/IRNGProvider.php new file mode 100644 index 0000000..6be2800 --- /dev/null +++ b/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Rng/IRNGProvider.php @@ -0,0 +1,9 @@ +source = $source; + } + + public function getRandomBytes($bytecount) { + $result = mcrypt_create_iv($bytecount, $this->source); + if ($result === false) + throw new \RNGException('mcrypt_create_iv returned an invalid value'); + return $result; + } + + public function isCryptographicallySecure() { + return true; + } +} \ No newline at end of file diff --git a/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Rng/OpenSSLRNGProvider.php b/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Rng/OpenSSLRNGProvider.php new file mode 100644 index 0000000..dc66c64 --- /dev/null +++ b/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Rng/OpenSSLRNGProvider.php @@ -0,0 +1,25 @@ +requirestrong = $requirestrong; + } + + public function getRandomBytes($bytecount) { + $result = openssl_random_pseudo_bytes($bytecount, $crypto_strong); + if ($this->requirestrong && ($crypto_strong === false)) + throw new \RNGException('openssl_random_pseudo_bytes returned non-cryptographically strong value'); + if ($result === false) + throw new \RNGException('openssl_random_pseudo_bytes returned an invalid value'); + return $result; + } + + public function isCryptographicallySecure() { + return $this->requirestrong; + } +} \ No newline at end of file diff --git a/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Rng/RNGException.php b/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Rng/RNGException.php new file mode 100644 index 0000000..eb5e913 --- /dev/null +++ b/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Rng/RNGException.php @@ -0,0 +1,5 @@ +timestamp)) + throw new \TimeException('Unable to retrieve time from convert-unix-time.com'); + return $json->timestamp; + } +} \ No newline at end of file diff --git a/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Time/HttpTimeProvider.php b/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Time/HttpTimeProvider.php new file mode 100644 index 0000000..c761bd9 --- /dev/null +++ b/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Time/HttpTimeProvider.php @@ -0,0 +1,53 @@ +url = $url; + $this->expectedtimeformat = $expectedtimeformat; + $this->options = $options; + if ($this->options === null) { + $this->options = array( + 'http' => array( + 'method' => 'HEAD', + 'follow_location' => false, + 'ignore_errors' => true, + 'max_redirects' => 0, + 'request_fulluri' => true, + 'header' => array( + 'Connection: close', + 'User-agent: TwoFactorAuth HttpTimeProvider (https://github.com/RobThree/TwoFactorAuth)' + ) + ) + ); + } + } + + public function getTime() { + try { + $context = stream_context_create($this->options); + $fd = fopen($this->url, 'rb', false, $context); + $headers = stream_get_meta_data($fd); + fclose($fd); + + foreach ($headers['wrapper_data'] as $h) { + if (strcasecmp(substr($h, 0, 5), 'Date:') === 0) + return \DateTime::createFromFormat($this->expectedtimeformat, trim(substr($h,5)))->getTimestamp(); + } + throw new \TimeException(sprintf('Unable to retrieve time from %s (Invalid or no "Date:" header found)', $this->url)); + } + catch (Exception $ex) { + throw new \TimeException(sprintf('Unable to retrieve time from %s (%s)', $this->url, $ex->getMessage())); + } + } +} \ No newline at end of file diff --git a/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Time/ITimeProvider.php b/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Time/ITimeProvider.php new file mode 100644 index 0000000..a3b87a2 --- /dev/null +++ b/user/plugins/admin/vendor/robthree/twofactorauth/lib/Providers/Time/ITimeProvider.php @@ -0,0 +1,8 @@ +issuer = $issuer; + if (!is_int($digits) || $digits <= 0) + throw new TwoFactorAuthException('Digits must be int > 0'); + $this->digits = $digits; + + if (!is_int($period) || $period <= 0) + throw new TwoFactorAuthException('Period must be int > 0'); + $this->period = $period; + + $algorithm = strtolower(trim($algorithm)); + if (!in_array($algorithm, self::$_supportedalgos)) + throw new TwoFactorAuthException('Unsupported algorithm: ' . $algorithm); + $this->algorithm = $algorithm; + $this->qrcodeprovider = $qrcodeprovider; + $this->rngprovider = $rngprovider; + $this->timeprovider = $timeprovider; + + self::$_base32 = str_split(self::$_base32dict); + self::$_base32lookup = array_flip(self::$_base32); + } + + /** + * Create a new secret + */ + public function createSecret($bits = 80, $requirecryptosecure = true) + { + $secret = ''; + $bytes = ceil($bits / 5); //We use 5 bits of each byte (since we have a 32-character 'alphabet' / BASE32) + $rngprovider = $this->getRngprovider(); + if ($requirecryptosecure && !$rngprovider->isCryptographicallySecure()) + throw new TwoFactorAuthException('RNG provider is not cryptographically secure'); + $rnd = $rngprovider->getRandomBytes($bytes); + for ($i = 0; $i < $bytes; $i++) + $secret .= self::$_base32[ord($rnd[$i]) & 31]; //Mask out left 3 bits for 0-31 values + return $secret; + } + + /** + * Calculate the code with given secret and point in time + */ + public function getCode($secret, $time = null) + { + $secretkey = $this->base32Decode($secret); + + $timestamp = "\0\0\0\0" . pack('N*', $this->getTimeSlice($this->getTime($time))); // Pack time into binary string + $hashhmac = hash_hmac($this->algorithm, $timestamp, $secretkey, true); // Hash it with users secret key + $hashpart = substr($hashhmac, ord(substr($hashhmac, -1)) & 0x0F, 4); // Use last nibble of result as index/offset and grab 4 bytes of the result + $value = unpack('N', $hashpart); // Unpack binary value + $value = $value[1] & 0x7FFFFFFF; // Drop MSB, keep only 31 bits + + return str_pad($value % pow(10, $this->digits), $this->digits, '0', STR_PAD_LEFT); + } + + /** + * Check if the code is correct. This will accept codes starting from ($discrepancy * $period) sec ago to ($discrepancy * period) sec from now + */ + public function verifyCode($secret, $code, $discrepancy = 1, $time = null) + { + $result = false; + $timetamp = $this->getTime($time); + + // To keep safe from timing-attachs we iterate *all* possible codes even though we already may have verified a code is correct + for ($i = -$discrepancy; $i <= $discrepancy; $i++) + $result |= $this->codeEquals($this->getCode($secret, $timetamp + ($i * $this->period)), $code); + + return (bool)$result; + } + + /** + * Timing-attack safe comparison of 2 codes (see http://blog.ircmaxell.com/2014/11/its-all-about-time.html) + */ + private function codeEquals($safe, $user) { + if (function_exists('hash_equals')) { + return hash_equals($safe, $user); + } + // In general, it's not possible to prevent length leaks. So it's OK to leak the length. The important part is that + // we don't leak information about the difference of the two strings. + if (strlen($safe)===strlen($user)) { + $result = 0; + for ($i = 0; $i < strlen($safe); $i++) + $result |= (ord($safe[$i]) ^ ord($user[$i])); + return $result === 0; + } + return false; + } + + /** + * Get data-uri of QRCode + */ + public function getQRCodeImageAsDataUri($label, $secret, $size = 200) + { + if (!is_int($size) || $size <= 0) + throw new TwoFactorAuthException('Size must be int > 0'); + + $qrcodeprovider = $this->getQrCodeProvider(); + return 'data:' + . $qrcodeprovider->getMimeType() + . ';base64,' + . base64_encode($qrcodeprovider->getQRCodeImage($this->getQRText($label, $secret), $size)); + } + + /** + * Compare default timeprovider with specified timeproviders and ensure the time is within the specified number of seconds (leniency) + */ + public function ensureCorrectTime(array $timeproviders = null, $leniency = 5) + { + if ($timeproviders != null && !is_array($timeproviders)) + throw new TwoFactorAuthException('No timeproviders specified'); + + if ($timeproviders == null) + $timeproviders = array( + new Providers\Time\ConvertUnixTimeDotComTimeProvider(), + new Providers\Time\HttpTimeProvider() + ); + + // Get default time provider + $timeprovider = $this->getTimeProvider(); + + // Iterate specified time providers + foreach ($timeproviders as $t) { + if (!($t instanceof ITimeProvider)) + throw new TwoFactorAuthException('Object does not implement ITimeProvider'); + + // Get time from default time provider and compare to specific time provider and throw if time difference is more than specified number of seconds leniency + if (abs($timeprovider->getTime() - $t->getTime()) > $leniency) + throw new TwoFactorAuthException(sprintf('Time for timeprovider is off by more than %d seconds when compared to %s', $leniency, get_class($t))); + } + } + + private function getTime($time) + { + return ($time === null) ? $this->getTimeProvider()->getTime() : $time; + } + + private function getTimeSlice($time = null, $offset = 0) + { + return (int)floor($time / $this->period) + ($offset * $this->period); + } + + /** + * Builds a string to be encoded in a QR code + */ + public function getQRText($label, $secret) + { + return 'otpauth://totp/' . rawurlencode($label) + . '?secret=' . rawurlencode($secret) + . '&issuer=' . rawurlencode($this->issuer) + . '&period=' . intval($this->period) + . '&algorithm=' . rawurlencode(strtoupper($this->algorithm)) + . '&digits=' . intval($this->digits); + } + + private function base32Decode($value) + { + if (strlen($value)==0) return ''; + + if (preg_match('/[^'.preg_quote(self::$_base32dict).']/', $value) !== 0) + throw new TwoFactorAuthException('Invalid base32 string'); + + $buffer = ''; + foreach (str_split($value) as $char) + { + if ($char !== '=') + $buffer .= str_pad(decbin(self::$_base32lookup[$char]), 5, 0, STR_PAD_LEFT); + } + $length = strlen($buffer); + $blocks = trim(chunk_split(substr($buffer, 0, $length - ($length % 8)), 8, ' ')); + + $output = ''; + foreach (explode(' ', $blocks) as $block) + $output .= chr(bindec(str_pad($block, 8, 0, STR_PAD_RIGHT))); + return $output; + } + + /** + * @return IQRCodeProvider + * @throws TwoFactorAuthException + */ + public function getQrCodeProvider() + { + // Set default QR Code provider if none was specified + if (null === $this->qrcodeprovider) { + return $this->qrcodeprovider = new Providers\Qr\GoogleQRCodeProvider(); + } + return $this->qrcodeprovider; + } + + /** + * @return IRNGProvider + * @throws TwoFactorAuthException + */ + public function getRngprovider() + { + if (null !== $this->rngprovider) { + return $this->rngprovider; + } + if (function_exists('random_bytes')) { + return $this->rngprovider = new Providers\Rng\CSRNGProvider(); + } + if (function_exists('mcrypt_create_iv')) { + return $this->rngprovider = new Providers\Rng\MCryptRNGProvider(); + } + if (function_exists('openssl_random_pseudo_bytes')) { + return $this->rngprovider = new Providers\Rng\OpenSSLRNGProvider(); + } + if (function_exists('hash')) { + return $this->rngprovider = new Providers\Rng\HashRNGProvider(); + } + throw new TwoFactorAuthException('Unable to find a suited RNGProvider'); + } + + /** + * @return ITimeProvider + * @throws TwoFactorAuthException + */ + public function getTimeProvider() + { + // Set default time provider if none was specified + if (null === $this->timeprovider) { + return $this->timeprovider = new Providers\Time\LocalMachineTimeProvider(); + } + return $this->timeprovider; + } +} \ No newline at end of file diff --git a/user/plugins/admin/vendor/robthree/twofactorauth/lib/TwoFactorAuthException.php b/user/plugins/admin/vendor/robthree/twofactorauth/lib/TwoFactorAuthException.php new file mode 100644 index 0000000..af51b74 --- /dev/null +++ b/user/plugins/admin/vendor/robthree/twofactorauth/lib/TwoFactorAuthException.php @@ -0,0 +1,7 @@ + + + test + +XML; + +// SimpleXML use case +$simplexml = XmlSecurity::scan($xml); +printf ("SimpleXMLElement: %s\n", ($simplexml instanceof \SimpleXMLElement) ? 'yes' : 'no'); + +// DOMDocument use case +$dom = new \DOMDocument('1.0'); +$dom = XmlSecurity::scan($xml, $dom); +printf ("DOMDocument: %s\n", ($dom instanceof \DOMDocument) ? 'yes' : 'no'); +``` + + diff --git a/user/plugins/admin/vendor/zendframework/zendxml/library/ZendXml/Exception/ExceptionInterface.php b/user/plugins/admin/vendor/zendframework/zendxml/library/ZendXml/Exception/ExceptionInterface.php new file mode 100644 index 0000000..c55eb90 --- /dev/null +++ b/user/plugins/admin/vendor/zendframework/zendxml/library/ZendXml/Exception/ExceptionInterface.php @@ -0,0 +1,14 @@ + 0) { + return true; + } + return false; + }, E_WARNING); + $result = $dom->loadXml($xml, LIBXML_NONET); + restore_error_handler(); + + if (!$result) { + // Entity load to previous setting + if (!self::isPhpFpm()) { + libxml_disable_entity_loader($loadEntities); + libxml_use_internal_errors($useInternalXmlErrors); + } + return false; + } + + // Scan for potential XEE attacks using ENTITY, if not PHP-FPM + if (!self::isPhpFpm()) { + foreach ($dom->childNodes as $child) { + if ($child->nodeType === XML_DOCUMENT_TYPE_NODE) { + if ($child->entities->length > 0) { + throw new Exception\RuntimeException(self::ENTITY_DETECT); + } + } + } + } + + // Entity load to previous setting + if (!self::isPhpFpm()) { + libxml_disable_entity_loader($loadEntities); + libxml_use_internal_errors($useInternalXmlErrors); + } + + if (isset($simpleXml)) { + $result = simplexml_import_dom($dom); + if (!$result instanceof SimpleXMLElement) { + return false; + } + return $result; + } + return $dom; + } + + /** + * Scan XML file for potential XXE/XEE attacks + * + * @param string $file + * @param DOMDocument $dom + * @throws Exception\InvalidArgumentException + * @return SimpleXMLElement|DomDocument + */ + public static function scanFile($file, DOMDocument $dom = null) + { + if (!file_exists($file)) { + throw new Exception\InvalidArgumentException( + "The file $file specified doesn't exist" + ); + } + return self::scan(file_get_contents($file), $dom); + } + + /** + * Return true if PHP is running with PHP-FPM + * + * This method is mainly used to determine whether or not heuristic checks + * (vs libxml checks) should be made, due to threading issues in libxml; + * under php-fpm, threading becomes a concern. + * + * However, PHP versions 5.5.22+ and 5.6.6+ contain a patch to the + * libxml support in PHP that makes the libxml checks viable; in such + * versions, this method will return false to enforce those checks, which + * are more strict and accurate than the heuristic checks. + * + * @return boolean + */ + public static function isPhpFpm() + { + $isVulnerableVersion = ( + version_compare(PHP_VERSION, '5.5.22', 'lt') + || ( + version_compare(PHP_VERSION, '5.6', 'gte') + && version_compare(PHP_VERSION, '5.6.6', 'lt') + ) + ); + + if (substr(php_sapi_name(), 0, 3) === 'fpm' && $isVulnerableVersion) { + return true; + } + return false; + } + + /** + * Determine and return the string(s) to use for the $generator) { + $prefix = $generator('<' . '?xml'); + if (0 === strncmp($xml, $prefix, strlen($prefix))) { + return $encoding; + } + } + + // Fallback + return 'UTF-8'; + } + + /** + * Attempt to detect the specified XML encoding. + * + * Using the file's encoding, determines if an "encoding" attribute is + * present and well-formed in the XML declaration; if so, it returns a + * list with both the ASCII representation of that declaration and the + * original file encoding. + * + * If not, a list containing only the provided file encoding is returned. + * + * @param string $xml + * @param string $fileEncoding + * @return string[] Potential XML encodings + */ + protected static function detectXmlEncoding($xml, $fileEncoding) + { + $encodingMap = self::getAsciiEncodingMap(); + $generator = $encodingMap[$fileEncoding]; + $encAttr = $generator('encoding="'); + $quote = $generator('"'); + $close = $generator('>'); + + $closePos = strpos($xml, $close); + if (false === $closePos) { + return array($fileEncoding); + } + + $encPos = strpos($xml, $encAttr); + if (false === $encPos + || $encPos > $closePos + ) { + return array($fileEncoding); + } + + $encPos += strlen($encAttr); + $quotePos = strpos($xml, $quote, $encPos); + if (false === $quotePos) { + return array($fileEncoding); + } + + $encoding = self::substr($xml, $encPos, $quotePos); + return array( + // Following line works because we're only supporting 8-bit safe encodings at this time. + str_replace('\0', '', $encoding), // detected encoding + $fileEncoding, // file encoding + ); + } + + /** + * Return a list of BOM maps. + * + * Returns a list of common encoding -> BOM maps, along with the character + * length to compare against. + * + * @link https://en.wikipedia.org/wiki/Byte_order_mark + * @return array + */ + protected static function getBomMap() + { + return array( + array( + 'encoding' => 'UTF-32BE', + 'bom' => pack('CCCC', 0x00, 0x00, 0xfe, 0xff), + 'length' => 4, + ), + array( + 'encoding' => 'UTF-32LE', + 'bom' => pack('CCCC', 0xff, 0xfe, 0x00, 0x00), + 'length' => 4, + ), + array( + 'encoding' => 'GB-18030', + 'bom' => pack('CCCC', 0x84, 0x31, 0x95, 0x33), + 'length' => 4, + ), + array( + 'encoding' => 'UTF-16BE', + 'bom' => pack('CC', 0xfe, 0xff), + 'length' => 2, + ), + array( + 'encoding' => 'UTF-16LE', + 'bom' => pack('CC', 0xff, 0xfe), + 'length' => 2, + ), + array( + 'encoding' => 'UTF-8', + 'bom' => pack('CCC', 0xef, 0xbb, 0xbf), + 'length' => 3, + ), + ); + } + + /** + * Return a map of encoding => generator pairs. + * + * Returns a map of encoding => generator pairs, where the generator is a + * callable that accepts a string and returns the appropriate byte order + * sequence of that string for the encoding. + * + * @return array + */ + protected static function getAsciiEncodingMap() + { + return array( + 'UTF-32BE' => function ($ascii) { + return preg_replace('/(.)/', "\0\0\0\\1", $ascii); + }, + 'UTF-32LE' => function ($ascii) { + return preg_replace('/(.)/', "\\1\0\0\0", $ascii); + }, + 'UTF-32odd1' => function ($ascii) { + return preg_replace('/(.)/', "\0\\1\0\0", $ascii); + }, + 'UTF-32odd2' => function ($ascii) { + return preg_replace('/(.)/', "\0\0\\1\0", $ascii); + }, + 'UTF-16BE' => function ($ascii) { + return preg_replace('/(.)/', "\0\\1", $ascii); + }, + 'UTF-16LE' => function ($ascii) { + return preg_replace('/(.)/', "\\1\0", $ascii); + }, + 'UTF-8' => function ($ascii) { + return $ascii; + }, + 'GB-18030' => function ($ascii) { + return $ascii; + }, + ); + } + + /** + * Binary-safe substr. + * + * substr() is not binary-safe; this method loops by character to ensure + * multi-byte characters are aggregated correctly. + * + * @param string $string + * @param int $start + * @param int $end + * @return string + */ + protected static function substr($string, $start, $end) + { + $substr = ''; + for ($i = $start; $i < $end; $i += 1) { + $substr .= $string[$i]; + } + return $substr; + } +} diff --git a/user/plugins/config/media.yaml b/user/plugins/config/media.yaml new file mode 100644 index 0000000..e69de29 diff --git a/user/plugins/config/plugins/langswitcher.yaml b/user/plugins/config/plugins/langswitcher.yaml new file mode 100644 index 0000000..9dd2ff2 --- /dev/null +++ b/user/plugins/config/plugins/langswitcher.yaml @@ -0,0 +1,3 @@ +enabled: true +built_in_css: true +untranslated_pages_behavior: redirect diff --git a/user/plugins/config/plugins/markdown-notices.yaml b/user/plugins/config/plugins/markdown-notices.yaml new file mode 100644 index 0000000..90adf66 --- /dev/null +++ b/user/plugins/config/plugins/markdown-notices.yaml @@ -0,0 +1,7 @@ +enabled: true +built_in_css: true +level_classes: + - yellow + - red + - blue + - green diff --git a/user/plugins/config/plugins/mediaembed.yaml b/user/plugins/config/plugins/mediaembed.yaml new file mode 100644 index 0000000..938b85f --- /dev/null +++ b/user/plugins/config/plugins/mediaembed.yaml @@ -0,0 +1,141 @@ +enabled: true +link: false +built_in_css: true +built_in_js: true +media: + width: 640 + height: 390 + adjust: true + preview: true + responsive: true + protocol: 'http://' +services: + SoundCloud: + enabled: true + type: rich + example: 'https://soundcloud.com/semiseria/verruckert-ausschnitt' + url: 'w.soundcloud.com/player/?url=http://api.soundcloud.com/tracks/{:id}' + canonical: 'http://soundcloud.com/{:id}' + endpoint: 'http://soundcloud.com/oembed?url={:canonical}&format=json' + schemes: + - 'soundcloud.com/*' + - 'soundcloud.com/*/*' + - 'soundcloud.com/*/sets/*' + - 'soundcloud.com/groups/*' + - 'snd.sc/*' + params: + auto_play: false + buying: true + download: true + hide_related: false + liking: true + sharing: true + show_artwork: true + show_comments: true + show_playcount: true + show_user: true + visual: false + Spotify: + enabled: true + type: rich + canonical: 'http://open.spotify.com/track/{:id}' + endpoint: 'https://embed.spotify.com/oembed/?url={:canonical}&format=json' + schemes: + - 'open.spotify.com/track/*' + - 'spoti.fi/*' + Flickr: + enabled: true + type: photo + canonical: 'http://www.flickr.com/photos/{:id}' + endpoint: 'http://flickr.com/services/oembed?url={:canonical}&format=json' + schemes: + - 'flickr.com/photos/*' + - 'flic.kr/*' + Imgur: + enabled: true + type: rich + canonical: 'http://imgur.com/gallery/{:id}' + endpoint: 'http://api.imgur.com/oembed?url={:canonical}&format=json' + schemes: + - 'imgur.com/gallery/*' + - 'imgur.com/a/*' + - 'imgur.com/*' + Instagram: + enabled: true + type: rich + canonical: 'http://instagram.com/p/{:id}' + endpoint: 'http://api.instagram.com/oembed?url={:canonical}&format=json' + schemes: + - 'instagr.am/p/*' + - 'instagram.com/p/*' + Dailymotion: + enabled: true + type: video + url: 'www.dailymotion.com/embed/video/{:id}' + canonical: 'http://dailymotion.com/video/{:id}' + endpoint: 'http://www.dailymotion.com/services/oembed?url={:canonical}&format=json' + schemes: + - 'dailymotion.com/video/*' + - 'dailymotion.com/*/video/*' + - 'dai\.ly/*' + params: + quality: 1080 + YouTube: + enabled: true + type: video + url: 'www.youtube.com/embed/{:id}' + canonical: 'http://www.youtube.com/watch?v={:id}' + endpoint: 'http://www.youtube.com/oembed?url={:canonical}&format=json' + schemes: + - 'youtube.com/watch?*v=*' + - 'youtube.com/embed/*' + - 'youtube.com/v/*' + - 'youtube.com/?*v=*' + - 'youtu.be/*' + params: + autoplay: 0 + modestbranding: 1 + theme: light + Vimeo: + enabled: true + type: video + url: 'player.vimeo.com/video/{:id}' + canonical: 'https://vimeo.com/{:id}' + endpoint: 'http://vimeo.com/api/oembed.json?url={:canonical}' + schemes: + - 'vimeo.com/*' + - 'vimeo.com/channels/*/*' + - 'vimeo.com/groups/*/videos/*' + params: + autoplay: 0 + Github: + enabled: true + type: rich + canonical: 'https://gist.github.com/{:id}' + endpoint: 'https://gist.github.com/{:id}.json' + schemes: + - 'gist.github.com/*' + - 'gist.github.com/*/*' + - 'gist.github.com/*?*' + Slides: + enabled: true + type: rich + canonical: 'http://slides.com/{:id}' + endpoint: 'http://slides.com/{:id}' + schemes: + - 'slides.com/*' + - 'slid.es/*' + params: + style: light + width: 1920 + height: 1400 + Twitter: + enabled: true + type: rich + canonical: 'https://twitter.com/{:id}' + endpoint: 'https://api.twitter.com/1/statuses/oembed.json?url={:canonical}' + schemes: + - 'twitter.com/*' + - 'twitter.com/*/*' + GitHub: + enabled: true diff --git a/user/plugins/config/plugins/photoswipe.yaml b/user/plugins/config/plugins/photoswipe.yaml new file mode 100755 index 0000000..7d3585c --- /dev/null +++ b/user/plugins/config/plugins/photoswipe.yaml @@ -0,0 +1,2 @@ +enabled: true +active: true \ No newline at end of file diff --git a/user/plugins/config/plugins/unitegallery.yaml b/user/plugins/config/plugins/unitegallery.yaml new file mode 100644 index 0000000..9764c92 --- /dev/null +++ b/user/plugins/config/plugins/unitegallery.yaml @@ -0,0 +1,6 @@ +enabled: true +assets_in_meta: true +gallery_theme: default +gallery_div_id: unite-gallery +thumb_width: 600 +thumb_height: 600 diff --git a/user/plugins/config/security.yaml b/user/plugins/config/security.yaml new file mode 100644 index 0000000..dd3c5c3 --- /dev/null +++ b/user/plugins/config/security.yaml @@ -0,0 +1 @@ +salt: ZJijUxdDontm4k diff --git a/user/plugins/config/site.yaml b/user/plugins/config/site.yaml new file mode 100644 index 0000000..8e7d15e --- /dev/null +++ b/user/plugins/config/site.yaml @@ -0,0 +1,17 @@ +title: 'SITE.TITLE' +default_lang: fr +author: + name: 'Kevin Tessier' + email: kevin@figureslibres.io +taxonomies: + - category + - tag +metadata: + description: 'Grav is an easy to use, yet powerful, open source flat-file CMS' +summary: + enabled: true + format: short + size: 300 + delimiter: '===' +blog: + route: /blog diff --git a/user/plugins/config/streams.yaml b/user/plugins/config/streams.yaml new file mode 100644 index 0000000..e69de29 diff --git a/user/plugins/config/system.yaml b/user/plugins/config/system.yaml new file mode 100644 index 0000000..5a97f49 --- /dev/null +++ b/user/plugins/config/system.yaml @@ -0,0 +1,142 @@ +absolute_urls: false +param_sep: ':' +wrapped_site: false +reverse_proxy_setup: false +force_ssl: false +force_lowercase_urls: true +username_regex: '^[a-z0-9_-]{3,16}$' +pwd_regex: '(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}' +intl_enabled: true +languages: + supported: + - en + - fr + include_default_lang: true + translations: true + translations_fallback: true + session_store_active: true + http_accept_language: true + override_locale: false +home: + alias: /home-fr + hide_in_urls: false + aliases: + en: /home-en + fr: /home-fr +pages: + theme: ethica + order: + by: default + dir: asc + list: + count: 20 + dateformat: + short: 'jS M Y' + long: 'F jS \a\t g:ia' + publish_dates: true + process: + markdown: true + twig: false + twig_first: false + never_cache_twig: false + events: + page: true + twig: true + markdown: + extra: false + auto_line_breaks: false + auto_url_links: true + escape_markup: true + special_chars: + '>': gt + '<': lt + types: + - txt + - xml + - html + - htm + - json + - rss + - atom + expires: 604800 + last_modified: false + etag: false + vary_accept_encoding: false + redirect_default_route: true + redirect_default_code: '302' + redirect_trailing_slash: true + ignore_files: + - .DS_Store + ignore_folders: + - .git + - .idea + ignore_hidden: true + url_taxonomy_filters: true + frontmatter: + process_twig: false + ignore_fields: + - form + - forms +cache: + enabled: false + check: + method: file + driver: auto + prefix: g + clear_images_by_default: true + cli_compatibility: false + lifetime: 604800 + gzip: false + allow_webserver_gzip: false +twig: + cache: true + debug: true + auto_reload: true + autoescape: false + undefined_functions: true + undefined_filters: true + umask_fix: false +assets: + css_pipeline: false + css_pipeline_include_externals: true + css_pipeline_before_excludes: true + css_minify: true + css_minify_windows: false + css_rewrite: true + js_pipeline: false + js_pipeline_include_externals: true + js_pipeline_before_excludes: true + js_minify: true + enable_asset_timestamp: false + collections: + jquery: 'system://assets/jquery/jquery-2.x.min.js' +errors: + display: '1' + log: true +debugger: + enabled: false + shutdown: + close_connection: true + twig: true +images: + default_image_quality: 85 + cache_all: false + cache_perms: '0755' + debug: false + auto_fix_orientation: false +media: + enable_media_timestamp: false + auto_metadata_exif: false + upload_limit: 2097152 +session: + enabled: true + timeout: 1800 + name: grav-site + secure: false + httponly: true + split: true +gpm: + releases: stable + method: auto + verify_peer: true + official_gpm_only: true diff --git a/user/plugins/email/CHANGELOG.md b/user/plugins/email/CHANGELOG.md new file mode 100644 index 0000000..be294b7 --- /dev/null +++ b/user/plugins/email/CHANGELOG.md @@ -0,0 +1,170 @@ +# v2.7.1 +## 12/05/2017 + +1. [](#new) + * Added new `onEmailSend()` event hook before sending [#70](https://github.com/getgrav/grav-plugin-email/pull/70) +1. [](#improved) + * Added examples of setting up Email plugin with various SMTP providers + * Updated RU language [#60](https://github.com/getgrav/grav-plugin-email/pull/60) + * Updated to SwiftMailer v5.4.8 + +# v2.7.0 +## 10/26/2017 + +1. [](#improved) + * Now uses a dedicated `logs/email.log` file when `debug: true` + * Improved the README.txt file with examples, and troubleshooting + * Changed default engine to `sendmail` as `mail` is deprecated and not functioning [swiftmailer#866](https://github.com/swiftmailer/swiftmailer/issues/866} + +# v2.6.2 +## 09/30/2017 + +1. [](#improved) + * Removed extraneous files from vendor folder + +# v2.6.1 +## 09/07/2017 + +1. [](#improved) + * Improved the error message when missing `from` in the configuration + * Silently catch malformed email exceptions + +# v2.6.0 +## 05/22/2017 + +1. [](#improved) + * Inherit options from plugin configuration [#39](https://github.com/getgrav/grav-plugin-email/pull/39) +1. [](#bugfix) + * Also process translation on the email subject [https://github.com/getgrav/grav-plugin-comments/issues/38](https://github.com/getgrav/grav-plugin-comments/issues/38) + +# v2.5.3 +## 01/03/2017 + +1. [](#improved) + * Updated to SwiftMailer 5.4.5 [#45](https://github.com/getgrav/grav-plugin-email/issues/45) + +# v2.5.2 +## 12/13/2016 + +1. [](#new) + * RC released as stable + +# v2.5.2-rc.1 +## 11/26/2016 + +1. [](#new) + * Added a new `process_markdown` option for emails in forms +1. [](#improved) + * Improved the `Utils::sendEmail()` method to take the email type as an option + +# v2.5.1 +## 10/19/2016 + +1. [](#improved) + * CLI command will fallback to use the `to` from email plugin config if not provided + * Explicit Composer based class loader to fix issues with class case + +# v2.5.0 +## 09/07/2016 + +1. [](#new) + * Added a new `bin/plugin email test-email` CLI command +1. [](#improved) + * Moved Email `Utils` class from Login to Email plugin + * Provide a sample base `email/base.html.twig` template for emails +1. [](#bugfix) + * Fix handling attachments with the updated file upload field + +# v2.4.3 +## 08/16/2016 + +1. [](#improved) + * Added Russian translation + * Updated Swiftmailer to 5.4.3 [#37](https://github.com/getgrav/grav-plugin-email/issues/37) + +# v2.4.2 +## 08/10/2016 + +1. [](#improved) + * Added Croatian translation + +# v2.4.1 +## 07/14/2016 + +1. [](#improved) + * Allow multiple email recipients (comma separated) [#31](https://github.com/getgrav/grav-plugin-email/issues/31) + * Added Danish and Spanish translations + +# v2.4.0 +## 05/11/2016 + +1. [](#improved) + * Now includes Swiftmailer v5.4.2 which introduces a number of bug fixes and improvements +1. [](#bugfix) + * Correct `starttls` implementation, bundled in TLS + +# v2.3.0 +## 04/20/2016 + +1. [](#improved) + * Added debug option to enable logging on SwiftMailer. + * Updated SwiftMailer from v5.1.0 to v5.4.1. + * Added an option in the Admin settings to enable `starttls` +1. [](#bugfix) + * Correctly name TLS in the Admin settings, the label was `TTS` (but the value was correctly named `tls`) + +# v2.2.0 +## 02/05/2016 + +1. [](#new) + * Allow to send attachments in forms + * Added French translation +1. [](#improved) + * Throw an exception when trying to send emails without a `from` or `to` parameters setup, to intercept less meaningful errors and provide a better description on how to fix the problem + * Changed SMTP password in admin to use a password field instead of plain text + +# v2.1.0 +## 12/18/2015 + +1. [](#new) + * Added missing `content_type` to email.yaml + * Added default values for CC and BCC + 1. [](#improved) + * Improved documentation of new email params in `README.md` + * Moved config setting of `mailer.default` to `mailer.engine` + +# v2.0.0 +## 12/11/2015 + +1. [](#new) + * Added support for from/sender name (Thomas Keitel) + * Added support for message content type (Thomas Keitel) + * Added support for reply addresses (Thomas Keitel) + * Added support for CC/BCC (Thomas Keitel) + * Added support for multiple body parts (Thomas Keitel) +1. [](#bugfix) + * Fix email engine selection (z38) + +# v1.0.0 +## 11/20/2015 + +1. [](#bugfix) + * Fix for issue with no body parameter specified + +# v0.2.1 +## 09/11/2015 + +1. [](#bugfix) + * Fix onFormProcessed event + +# v0.2.0 +## 08/11/2015 + +1. [](#improved) + * Disable `enable` in admin + +# v0.1.0 +## 08/04/2015 + +1. [](#new) + * ChangeLog started... diff --git a/user/plugins/email/LICENSE b/user/plugins/email/LICENSE new file mode 100644 index 0000000..0e788c6 --- /dev/null +++ b/user/plugins/email/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015 Grav + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/user/plugins/email/README.md b/user/plugins/email/README.md new file mode 100644 index 0000000..e499fb8 --- /dev/null +++ b/user/plugins/email/README.md @@ -0,0 +1,373 @@ +# Grav Email Plugin + +The **email plugin** for [Grav](http://github.com/getgrav/grav) adds the ability to send email. This is particularly useful for the **admin** and **login** plugins. + +# Installation + +The email plugin is easy to install with GPM. + +``` +$ bin/gpm install email +``` + +# Configuration + +By default, the plugin uses PHP Mail as the mail engine. + +``` +enabled: true +from: +from_name: +to: +to_name: +mailer: + engine: sendmail + smtp: + server: localhost + port: 25 + encryption: none + user: '' + password: '' + sendmail: + bin: '/usr/sbin/sendmail -bs' +content_type: text/html +debug: false +``` + +You can configure the Email plugin by using the Admin plugin, navigating to the Plugins list and choosing `Email`. + +That's the easiest route. Or you can also alter the Plugin configuration by copying the `user/plugins/email/email.yaml` file into `user/config/plugins/email.yaml` and make your modifications there. + +The first setting you'd likely change is your `Email from` / `Email to` names and emails. + +Also, you'd likely want to setup a SMTP server instead of using PHP Mail, as the latter is not 100% reliable and you might experience problems with emails. + +> NOTE: `engine: mail` has been deprecated from the SwiftMail library that this plugin uses as it does not funtion at all. Please use `smtp` if at all possibe, and `sendmail` if SMTP is not an option. + +### Mailtrap.io + +A good way to test emails is to use a SMTP server service that's built for testing emails, for example [https://mailtrap.io](https://mailtrap.io) + +Setup the Email plugin to use that SMTP server with the fake inbox data. For example enter this configuration in `user/config/plugins/email.yaml` or through the Admin panel: + +``` +mailer: + engine: smtp + smtp: + server: mailtrap.io + port: 2525 + encryption: none + user: YOUR_MAILTRAP_INBOX_USER + password: YOUR_MAILTRAP_INBOX_PASSWORD +``` + +That service will intercept emails and show them on their web-based interface instead of sending them for real. + +You can try and fine tune the emails there while testing. + +### Google Email + +A popular option for sending email is to simply use your Google Accounts SMTP server. To set this up you will need to do 2 things first: + +1. Enable IMAP in your Gmail `Settings` -> `Forwarding and POP/IMAP` -> `IMAP Access` +2. Enable `Less secure apps` in your [user account settings](https://myaccount.google.com/lesssecureapps) +3. If you have 2-factor authentication, you will need to create a unique application password to use rather than your personal password + +Then configure the Email plugin: + +``` +mailer: + engine: smtp + smtp: + server: smtp.gmail.com + port: 465 + encryption: ssl + user: 'YOUR_GOOGLE_EMAIL_ADDRESS' + password: 'YOUR_GOOGLE_PASSWORD' +``` + +> NOTE: Check your email sending limits: https://support.google.com/a/answer/166852?hl=en + +#### Sparkpost + +Generous email sending limits even in the free tier, and simple setup, make [Sparkpost](https://www.sparkpost.com) a great option for email sending. You just need to create an account, then setup a verified sending domain. Sparkpost does a nice job of making this process very easy and undertandable. Then just click on the SMTP Relay option to get your details for the configuration: + +``` +mailer: + engine: smtp + smtp: + server: smtp.sparkpostmail.com + port: 587 + encryption: tls + user: 'SMTP_Injection' + password: 'SEND_EMAIL_API_KEY' +``` + +Then try sending a test email... + +#### Sendgrid + +[Sendgrid](https://sendgrid.com) offers a very easy-to-setup serivce with 100 emails/day for free. The next level allows you to send 40k/email a day for just $10/month. Configuration is pretty simple, just create an account, then click SMTP integration and click the button to create an API key. The configuration is as follows: + +``` +mailer: + engine: smtp + smtp: + server: smtp.sendgrid.net + port: 587 + encryption: tls + user: 'apikey' + password: 'YOUR_SENDGRID_API_KEY' +``` + +#### Mailgun + +[Mailgun is a great service](https://www.mailgun.com/) that offers 10k/emails per month for free. Setup does require SPIF domain verification so that means you need to add at least a TXT entry in your DNS. This is pretty standard for SMTP sending services and does provide verification for remote email servers and makes your email sending more reliable. The Mailgun site, walks you through this process however, and the verification process is simple and fast. + +``` +mailer: + engine: smtp + smtp: + server: smtp.mailgun.org + port: 587 + encryption: tls + user: 'MAILGUN_EMAIL_ADDRESS' + password: 'MAILGUN_EMAIL_PASSWORD' +``` + +Adjust these configurations for your account. + +#### MailJet + +Mailjet is another great service that is easy to quickly setup and get started sending email. The free account gives you 200 emails/day or 600 emails/month. Just signup and setup your SPF and DKIM entries for your domain. Then click on the SMTP settings and use those to configure the email plugin: + +``` +mailer: + engine: smtp + smtp: + server: in-v3.mailjet.com + port: 587 + encryption: tls + user: 'MAILJUST_USERNAME_API_KEY' + password: 'MAILJUST_PASSWORD_SECRET_KEY' +``` + +It's that easy! + +#### Sendmail + +Although not as reliable as SMTP not providing as much debug information, sendmail is a simple option as long as your hosting provider is not blocking the default SMTP port `25`: + +``` +mailer: + engine: sendmail + sendmail: + bin: '/usr/sbin/sendmail -bs' +``` + +Simply adjust your binary command line to suite your environment + +### SMTP Email Services + +Solid SMTP options that even provide a FREE tier for low email volumes include: + +* SendGrid (100/day free) - https://sendgrid.com +* Mailgun - (10k/month free) - https://www.mailgun.com +* Mailjet - (6k/month free) - https://www.mailjet.com/ +* Sparkpost - (15k/month free) - https://www.sparkpost.com +* Amazon SES (62k/month free) - https://aws.amazon.com/ses/ + +If you are still unsure why should be using one in the first place, check out this article: https://zapier.com/learn/email-marketing/best-transactional-email-sending-services/ + +## Testing with CLI Command + +You can test your email configuration with the following CLI Command: + +``` +$ bin/plugin email test-email -t steve@apple.com +``` + +You can also pass in a configuration environment: + +``` +$ bin/plugin email test-email -t steve@apple.com -e mysite.com +``` + +This will use the email configuration you have located in `user/mysite.com/config/plugins/email.yaml`. Read the docs to find out more about environment-based configuration: https://learn.getgrav.org/advanced/environment-config + +# Programmatically send emails + +Add this code in your plugins: + +```php + + $to = 'email@test.com'; + $from = 'email@test.com'; + + $subject = 'Test'; + $content = 'Test'; + + $message = $this->grav['Email']->message($subject, $content, 'text/html') + ->setFrom($from) + ->setTo($to); + + $sent = $this->grav['Email']->send($message); +``` + +# Emails sent with Forms + +When executing email actions during form processing, action parameters are inherited from the global configuration but may also be overridden on a per-action basis. + +``` +title: Custom form + +form: + name: custom_form + fields: + + # Any fields you'd like to add to the form: + # Their values may be referenced in email actions via '{{ form.value.FIELDNAME|e }}' + + process: + - email: + subject: "[Custom form] {{ form.value.name|e }}" + body: "{% include 'forms/data.txt.twig' %}" + from: sender@example.com + from_name: 'Custom sender name' + to: recipient@example.com + to_name: 'Custom recipient name' + content_type: 'text/plain' + process_markdown: true +``` + +## Sending Attachments + +You can add file inputs to your form, and send those files via Email. +Just add an `attachments` field and list the file input fields names. You can have multiple file fields, and this will send all the files as attachments. Example: + +``` +form: + name: custom_form + fields: + + - + name: my-file + label: 'Add a file' + type: file + multiple: false + destination: user/data/files + accept: + - application/pdf + - application/x-pdf + - image/png + - text/plain + + process: + - + email: + body: '{% include "forms/data.html.twig" %}' + attachments: + - 'my-file' +``` + +## Additional action parameters + +To have more control over your generated email, you may also use the following additional parameters: + +* `reply_to`: Set one or more addresses that should be used to reply to the message. +* `cc` _(Carbon copy)_: Add one or more addresses to the delivery list. Many email clients will mark email in one's inbox differently depending on whether they are in the `To:` or `Cc:` list. +* `bcc` _(Blind carbon copy)_: Add one or more addresses to the delivery list that should (usually) not be listed in the message data, remaining invisible to other recipients. +* `charset`: Explicitly set a charset for the generated email body (only takes effect if `body` parameter is a string, defaults to `utf-8`) + +### Specifying email addresses + +Email-related parameters (`from`, `to`, `reply_to`, `cc`and `bcc`) allow different notations for single / multiple values: + +#### Single email address string + +``` +to: mail@example.com +``` + +#### Multiple email address strings + +``` +to: + - mail@example.com + - mail+1@example.com + - mail+2@example.com +``` + +#### Single email address with name + +``` +to: + mail: mail@example.com + name: Human-readable name +``` + +#### Multiple email addresses (with and without names) + +``` +to: + - + mail: mail@example.com + name: Human-readable name + - + mail: mail+2@example.com + name: Another human-readable name + - + mail+3@example.com + - + mail+4@example.com +``` + +## Multi-part MIME messages + +Apart from a simple string, an email body may contain different MIME parts (e.g. HTML body with plain text fallback). You may even specify a different charset for each part (default to `utf-8`): + +``` +body: + - + content_type: 'text/html' + body: "{% include 'forms/default/data.html.twig' %}" + - + content_type: 'text/plain' + body: "{% include 'forms/default/data.txt.twig' %}" + charset: 'iso-8859-1' +``` + +# Troubleshooting + +## Emails are not sent + +#### Debugging + +The first step in determining why emails are not sent is to enable debugging. This can be done via the `user/config/email.yaml` file or via the plugin settings in the admin. Just enable this and then try sending an email again. Then inspect the `logs/email.log` file for potential problems. + +#### ISP Port 25 blocking + +By default, when sending via PHP or Sendmail the machine running the webserver will attempt to send mail using the SMTP protocol. This uses port `25` which is often blocked by ISPs to protected against spamming. You can determine if this port is blocked by running this command in your temrinal (mac/linux only): + +``` +(echo >/dev/tcp/localhost/25) &>/dev/null && echo "TCP port 25 opened" || echo "TCP port 25 closed" +``` + +If it's blocked there are ways to configure relays to different ports, but the simplest solution is to use SMTP for mail sending. + + +#### Exceptions + +If you get an exception when sending email but you cannot see what the error is, you need to enable more verbose exception messages. In the `user/config/system.yaml` file ensure your have the following configuration: + +``` +errors: + display: 1 + log: true +``` + +## Configuration Issues + +As explained above in the Configuration section, if you're using the default settings, set the Plugin configuration to use a SMTP server. It can be [Gmail](https://www.digitalocean.com/community/tutorials/how-to-use-google-s-smtp-server) or another SMTP server you have at your disposal. + +This is the first thing to check. The reason is that PHP Mail, the default system used by the Plugin, is not 100% reliable and emails might not arrive. diff --git a/user/plugins/email/blueprints.yaml b/user/plugins/email/blueprints.yaml new file mode 100644 index 0000000..4c100e7 --- /dev/null +++ b/user/plugins/email/blueprints.yaml @@ -0,0 +1,181 @@ +name: Email +version: 2.7.1 +description: Enables the emailing system for Grav +icon: envelope +author: + name: Team Grav + email: devs@getgrav.org + url: http://getgrav.org +keywords: plugin, email, sender +homepage: https://github.com/getgrav/grav-plugin-email +bugs: https://github.com/getgrav/grav-plugin-email/issues +license: MIT + +dependencies: + - { name: grav, version: '>=1.1.9' } + +form: + validation: loose + fields: + enabled: + type: hidden + label: PLUGIN_ADMIN.PLUGIN_STATUS + highlight: 1 + default: 1 + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool + + mailer.engine: + type: select + label: Mail Engine + size: medium + options: + none: Disabled + smtp: SMTP + sendmail: Sendmail + + content_type: + type: select + label: Content type + size: medium + default: 'text/html' + options: + 'text/plain': Plain text + 'text/html': HTML + + charset: + type: text + size: medium + label: Charset + placeholder: "Defaults to UTF-8" + + from: + type: email + size: medium + label: Email from + placeholder: "Default email from address" + validate: + required: true + type: email + + from_name: + type: text + size: medium + label: Email from name + placeholder: "Default email from name" + + to: + type: email + size: medium + label: Email to + placeholder: "Default email to address" + multiple: true + validate: + required: true + type: email + + to_name: + type: text + size: medium + label: Email to name + placeholder: "Default email to name" + + cc: + type: email + size: medium + label: Email CC + placeholder: "Default email CC address" + multiple: true + validate: + type: email + + cc_name: + type: text + size: medium + label: Email CC name + placeholder: "Default email CC name" + + bcc: + type: email + size: medium + label: Email BCC + placeholder: "Default email BCC address" + multiple: true + validate: + type: email + + reply_to: + type: email + size: medium + label: Email reply-to + placeholder: "Default email reply-to address" + multiple: true + validate: + type: email + + reply_to_name: + type: text + size: medium + label: Email reply-to name + placeholder: "Default email reply-to name" + + body: + type: textarea + size: medium + label: Email body + placeholder: "Defaults to a table of all form fields" + + mailer.smtp.server: + type: text + size: medium + label: SMTP server + placeholder: "e.g. smtp.google.com" + + mailer.smtp.port: + type: text + size: small + label: SMTP port + placeholder: "Defaults to 25 (plaintext) / 587 (encrypted)" + validate: + type: number + min: 1 + max: 65535 + + mailer.smtp.encryption: + type: select + size: medium + label: SMTP encryption + options: + none: None + ssl: SSL + tls: TLS + + mailer.smtp.user: + type: text + size: medium + label: SMTP login name + + mailer.smtp.password: + type: password + size: medium + label: SMTP password + + mailer.sendmail.bin: + type: text + size: medium + label: Path to sendmail + placeholder: "/usr/sbin/sendmail" + + debug: + type: toggle + label: Debug + highlight: 1 + default: 0 + options: + true: PLUGIN_ADMIN.ENABLED + false: PLUGIN_ADMIN.DISABLED + validate: + type: bool diff --git a/user/plugins/email/classes/Email.php b/user/plugins/email/classes/Email.php new file mode 100644 index 0000000..1af8b33 --- /dev/null +++ b/user/plugins/email/classes/Email.php @@ -0,0 +1,191 @@ +get('plugins.email.mailer.engine') != 'none'; + } + + /** + * Returns true if debugging on emails has been enabled. + * + * @return bool + */ + public function debug() + { + return Grav::instance()['config']->get('plugins.email.debug') == 'true'; + } + + /** + * Creates an email message. + * + * @param string $subject + * @param string $body + * @param string $contentType + * @param string $charset + * @return \Swift_Message + */ + public function message($subject = null, $body = null, $contentType = null, $charset = null) + { + return new \Swift_Message($subject, $body, $contentType, $charset); + } + + /** + * Creates an attachment. + * + * @param string $data + * @param string $filename + * @param string $contentType + * @return \Swift_Attachment + */ + public function attachment($data = null, $filename = null, $contentType = null) + { + return new \Swift_Attachment($data, $filename, $contentType); + } + + /** + * Creates an embedded attachment. + * + * @param string $data + * @param string $filename + * @param string $contentType + * @return \Swift_EmbeddedFile + */ + public function embedded($data = null, $filename = null, $contentType = null) + { + return new \Swift_EmbeddedFile($data, $filename, $contentType); + } + + /** + * Creates an image attachment. + * + * @param string $data + * @param string $filename + * @param string $contentType + * @return \Swift_Image + */ + public function image($data = null, $filename = null, $contentType = null) + { + return new \Swift_Image($data, $filename, $contentType); + } + + /** + * Send email. + * + * @param \Swift_Message $message + * @return int + */ + public function send($message) + { + $mailer = $this->getMailer(); + + $result = $mailer ? $mailer->send($message) : 0; + + // Check if emails and debugging are both enabled. + if ($mailer && $this->debug()) { + + $log = new Logger('email'); + $locator = Grav::instance()['locator']; + $log_file = $locator->findResource('log://email.log', true, true); + $log->pushHandler(new StreamHandler($log_file, Logger::DEBUG)); + + // Append the SwiftMailer log to the log. + $log->addDebug($this->getLogs()); + } + + return $result; + } + + /** + * Return debugging logs if enabled + * + * @return string + */ + public function getLogs() + { + if ($this->debug()) { + return $this->logger->dump(); + } + return ''; + } + + /** + * @internal + * @return null|\Swift_Mailer + */ + protected function getMailer() + { + if (!$this->enabled()) { + return null; + } + + if (!$this->mailer) { + /** @var Config $config */ + $config = Grav::instance()['config']; + $mailer = $config->get('plugins.email.mailer.engine'); + + // Create the Transport and initialize it. + switch ($mailer) { + case 'smtp': + $transport = \Swift_SmtpTransport::newInstance(); + + $options = $config->get('plugins.email.mailer.smtp'); + if (!empty($options['server'])) { + $transport->setHost($options['server']); + } + if (!empty($options['port'])) { + $transport->setPort($options['port']); + } + if (!empty($options['encryption']) && $options['encryption'] != 'none') { + $transport->setEncryption($options['encryption']); + } + if (!empty($options['user'])) { + $transport->setUsername($options['user']); + } + if (!empty($options['password'])) { + $transport->setPassword($options['password']); + } + break; + case 'sendmail': + default: + $options = $config->get('plugins.email.mailer.sendmail'); + $bin = !empty($options['bin']) ? $options['bin'] : '/usr/sbin/sendmail'; + $transport = \Swift_SendmailTransport::newInstance($bin); + break; + } + + // Create the Mailer using your created Transport + $this->mailer = \Swift_Mailer::newInstance($transport); + + // Register the logger if we're debugging. + if ($this->debug()) { + $this->logger = new \Swift_Plugins_Loggers_ArrayLogger(); + $this->mailer->registerPlugin(new \Swift_Plugins_LoggerPlugin($this->logger)); + } + } + + return $this->mailer; + } +} diff --git a/user/plugins/email/classes/Utils.php b/user/plugins/email/classes/Utils.php new file mode 100644 index 0000000..690babf --- /dev/null +++ b/user/plugins/email/classes/Utils.php @@ -0,0 +1,57 @@ +get('plugins.email.from'); + } + + if (!isset($grav['Email']) || empty($from)) { + throw new \RuntimeException($grav['language']->translate('PLUGIN_EMAIL.PLEASE_CONFIGURE_A_FROM_ADDRESS')); + } + + if (empty($to) || empty($subject) || empty($content)) { + return false; + } + + //Initialize twig if not yet initialized + $grav['twig']->init(); + + $body = $grav['twig']->processTemplate('email/base.html.twig', ['content' => $content]); + + $message = $grav['Email']->message($subject, $body, $mimetype) + ->setFrom($from) + ->setTo($to); + + $sent = $grav['Email']->send($message); + + if ($sent < 1) { + return false; + } else { + return true; + } + } +} diff --git a/user/plugins/email/cli/TestEmailCommand.php b/user/plugins/email/cli/TestEmailCommand.php new file mode 100644 index 0000000..f1047d7 --- /dev/null +++ b/user/plugins/email/cli/TestEmailCommand.php @@ -0,0 +1,98 @@ +setName('test-email') + ->setAliases(['testemail']) + ->addOption( + 'to', + 't', + InputOption::VALUE_REQUIRED, + 'An email address to send the email to' + ) + ->addOption( + 'env', + 'e', + InputOption::VALUE_OPTIONAL, + 'The environment to trigger a specific configuration. For example: localhost, mysite.dev, www.mysite.com' + ) + ->addOption( + 'subject', + 's', + InputOption::VALUE_OPTIONAL, + 'A subject for the email' + ) + ->addOption( + 'body', + 'b', + InputOption::VALUE_OPTIONAL, + 'The body of the email' + ) + ->setDescription('Sends a test email using the plugin\'s configuration') + ->setHelp('The test-email command sends a test email using the plugin\'s configuration'); + } + + /** + * @return int|null|void + */ + protected function serve() + { + $grav = Grav::instance(); + + $this->output->writeln(''); + $this->output->writeln('Current Configuration:'); + $this->output->writeln(''); + + dump($grav['config']->get('plugins.email')); + + $this->output->writeln(''); + + require_once __DIR__ . '/../vendor/autoload.php'; + + $grav['Email'] = new Email(); + + $email_to = $this->input->getOption('to') ?: $grav['config']->get('plugins.email.to'); + $subject = $this->input->getOption('subject'); + $body = $this->input->getOption('body'); + + if (!$subject) { + $subject = 'Testing Grav Email Plugin'; + } + + if (!$body) { + $configuration = print_r($grav['config']->get('plugins.email'), true); + $body = $grav['language']->translate(['PLUGIN_EMAIL.TEST_EMAIL_BODY', $configuration]); + } + + $sent = EmailUtils::sendEmail($subject, $body, $email_to); + + if ($sent) { + $this->output->writeln("Message sent successfully!"); + } else { + $this->output->writeln("Problem sending email..."); + } + + } +} diff --git a/user/plugins/email/composer.json b/user/plugins/email/composer.json new file mode 100644 index 0000000..182c714 --- /dev/null +++ b/user/plugins/email/composer.json @@ -0,0 +1,10 @@ +{ + "require": { + "swiftmailer/swiftmailer": "~5.4" + }, + "autoload": { + "psr-4": { + "Grav\\Plugin\\Email\\": "classes/" + } + } +} diff --git a/user/plugins/email/composer.lock b/user/plugins/email/composer.lock new file mode 100644 index 0000000..a993590 --- /dev/null +++ b/user/plugins/email/composer.lock @@ -0,0 +1,72 @@ +{ + "_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#composer-lock-the-lock-file", + "This file is @generated automatically" + ], + "content-hash": "2244976b3750b669fab6abb506e9c591", + "packages": [ + { + "name": "swiftmailer/swiftmailer", + "version": "v5.4.8", + "source": { + "type": "git", + "url": "https://github.com/swiftmailer/swiftmailer.git", + "reference": "9a06dc570a0367850280eefd3f1dc2da45aef517" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/9a06dc570a0367850280eefd3f1dc2da45aef517", + "reference": "9a06dc570a0367850280eefd3f1dc2da45aef517", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "mockery/mockery": "~0.9.1", + "symfony/phpunit-bridge": "~3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.4-dev" + } + }, + "autoload": { + "files": [ + "lib/swift_required.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Corbyn" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Swiftmailer, free feature-rich PHP mailer", + "homepage": "http://swiftmailer.org", + "keywords": [ + "email", + "mail", + "mailer" + ], + "time": "2017-05-01T15:54:03+00:00" + } + ], + "packages-dev": [], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": [], + "platform-dev": [] +} diff --git a/user/plugins/email/email.php b/user/plugins/email/email.php new file mode 100644 index 0000000..6e2f1d3 --- /dev/null +++ b/user/plugins/email/email.php @@ -0,0 +1,323 @@ + ['onPluginsInitialized', 0], + 'onFormProcessed' => ['onFormProcessed', 0], + 'onTwigTemplatePaths' => ['onTwigTemplatePaths', 0] + ]; + } + + /** + * Initialize emailing. + */ + public function onPluginsInitialized() + { + require_once __DIR__ . '/vendor/autoload.php'; + + $this->email = new Email(); + + if ($this->email->enabled()) { + $this->grav['Email'] = $this->email; + } + } + + /** + * Add twig paths to plugin templates. + */ + public function onTwigTemplatePaths() + { + $twig = $this->grav['twig']; + $twig->twig_paths[] = __DIR__ . '/templates'; + } + + /** + * Send email when processing the form data. + * + * @param Event $event + */ + public function onFormProcessed(Event $event) + { + $form = $event['form']; + $action = $event['action']; + $params = $event['params']; + + if (!$this->email->enabled()) { + return; + } + + switch ($action) { + case 'email': + // Prepare Twig variables + $vars = array( + 'form' => $form + ); + + $grav = Grav::instance(); + $grav->fireEvent('onEmailSend', new Event(['params' => &$params, 'vars' => &$vars])); + + // Build message + $message = $this->buildMessage($params, $vars); + + if (isset($params['attachments'])) { + $filesToAttach = (array)$params['attachments']; + if ($filesToAttach) foreach ($filesToAttach as $fileToAttach) { + $filesValues = $form->value($fileToAttach); + + if ($filesValues) foreach($filesValues as $fileValues) { + if (isset($fileValues['file'])) { + $filename = $fileValues['file']; + } else { + $filename = ROOT_DIR . $fileValues['path']; + } + + $message->attach(\Swift_Attachment::fromPath($filename)); + } + } + } + + // Send e-mail + $this->email->send($message); + break; + } + } + + /** + * Build e-mail message. + * + * @param array $params + * @param array $vars + * @return \Swift_Message + */ + protected function buildMessage(array $params, array $vars = array()) + { + /** @var Twig $twig */ + $twig = $this->grav['twig']; + + // Extend parameters with defaults. + $params += array( + 'bcc' => $this->config->get('plugins.email.bcc', array()), + 'body' => $this->config->get('plugins.email.body', '{% include "forms/data.html.twig" %}'), + 'cc' => $this->config->get('plugins.email.cc', array()), + 'cc_name' => $this->config->get('plugins.email.cc_name'), + 'charset' => $this->config->get('plugins.email.charset', 'utf-8'), + 'from' => $this->config->get('plugins.email.from'), + 'from_name' => $this->config->get('plugins.email.from_name'), + 'content_type' => $this->config->get('plugins.email.content_type', 'text/html'), + 'reply_to' => $this->config->get('plugins.email.reply_to', array()), + 'reply_to_name' => $this->config->get('plugins.email.reply_to_name'), + 'subject' => !empty($vars['form']) && $vars['form'] instanceof Form ? $vars['form']->page()->title() : null, + 'to' => $this->config->get('plugins.email.to'), + 'to_name' => $this->config->get('plugins.email.to_name'), + 'process_markdown' => false, + ); + + // Create message object. + $message = $this->email->message(); + + if (!$params['to']) { + throw new \RuntimeException($this->grav['language']->translate('PLUGIN_EMAIL.PLEASE_CONFIGURE_A_TO_ADDRESS')); + } + if (!$params['from']) { + throw new \RuntimeException($this->grav['language']->translate('PLUGIN_EMAIL.PLEASE_CONFIGURE_A_FROM_ADDRESS')); + } + + // Process parameters. + foreach ($params as $key => $value) { + switch ($key) { + case 'bcc': + foreach ($this->parseAddressValue($value, $vars) as $address) { + try { + $message->addBcc($address->mail, $address->name); + } catch (Swift_RfcComplianceException $e) { + continue; + } + } + break; + + case 'body': + if (is_string($value)) { + $body = $twig->processString($value, $vars); + + if ($params['process_markdown']) { + $parsedown = new \Parsedown(); + $body = $parsedown->text($body); + } + + $content_type = !empty($params['content_type']) ? $twig->processString($params['content_type'], $vars) : null; + $charset = !empty($params['charset']) ? $twig->processString($params['charset'], $vars) : null; + + $message->setBody($body, $content_type, $charset); + } + elseif (is_array($value)) { + foreach ($value as $body_part) { + $body_part += array( + 'charset' => $params['charset'], + 'content_type' => $params['content_type'], + ); + + $body = !empty($body_part['body']) ? $twig->processString($body_part['body'], $vars) : null; + + if ($params['process_markdown']) { + $parsedown = new \Parsedown(); + $body = $parsedown->text($body); + } + + $content_type = !empty($body_part['content_type']) ? $twig->processString($body_part['content_type'], $vars) : null; + $charset = !empty($body_part['charset']) ? $twig->processString($body_part['charset'], $vars) : null; + + if (!$message->getBody()) { + $message->setBody($body, $content_type, $charset); + } + else { + $message->addPart($body, $content_type, $charset); + } + } + } + break; + + case 'cc': + if (is_string($value) && !empty($params['cc_name'])) { + $value = array( + 'mail' => $twig->processString($value, $vars), + 'name' => $twig->processString($params['cc_name'], $vars), + ); + } + + foreach ($this->parseAddressValue($value, $vars) as $address) { + try { + $message->addCc($address->mail, $address->name); + } catch (Swift_RfcComplianceException $e) { + continue; + } + } + break; + + case 'from': + if (is_string($value) && !empty($params['from_name'])) { + $value = array( + 'mail' => $twig->processString($value, $vars), + 'name' => $twig->processString($params['from_name'], $vars), + ); + } + + foreach ($this->parseAddressValue($value, $vars) as $address) { + try { + $message->addFrom($address->mail, $address->name); + } catch (Swift_RfcComplianceException $e) { + continue; + } + } + break; + + case 'reply_to': + if (is_string($value) && !empty($params['reply_to_name'])) { + $value = array( + 'mail' => $twig->processString($value, $vars), + 'name' => $twig->processString($params['reply_to_name'], $vars), + ); + } + + foreach ($this->parseAddressValue($value, $vars) as $address) { + try { + $message->addReplyTo($address->mail, $address->name); + } catch (Swift_RfcComplianceException $e) { + continue; + } + } + break; + + case 'subject': + $message->setSubject($twig->processString($this->grav['language']->translate($value), $vars)); + break; + + case 'to': + if (is_string($value) && !empty($params['to_name'])) { + $value = array( + 'mail' => $twig->processString($value, $vars), + 'name' => $twig->processString($params['to_name'], $vars), + ); + } + + foreach ($this->parseAddressValue($value, $vars) as $address) { + try { + $message->addTo($address->mail, $address->name); + } catch (Swift_RfcComplianceException $e) { + continue; + } + } + break; + } + } + + return $message; + } + + /** + * Return parsed e-mail address value. + * + * @param $value + * @param array $vars + * @return array + */ + protected function parseAddressValue($value, array $vars = array()) + { + $parsed = array(); + + /** @var Twig $twig */ + $twig = $this->grav['twig']; + + // Single e-mail address string + if (is_string($value)) { + $parsed[] = (object) array( + 'mail' => $twig->processString($value, $vars), + 'name' => null, + ); + } + + else { + // Cast value as array + $value = (array) $value; + + // Single e-mail address array + if (!empty($value['mail'])) { + $parsed[] = (object) array( + 'mail' => $twig->processString($value['mail'], $vars), + 'name' => !empty($value['name']) ? $twig->processString($value['name'], $vars) : NULL, + ); + } + + // Multiple addresses (either as strings or arrays) + elseif (!(empty($value['mail']) && !empty($value['name']))) { + foreach ($value as $y => $itemx) { + $addresses = $this->parseAddressValue($itemx, $vars); + + if (($address = reset($addresses))) { + $parsed[] = $address; + } + } + } + } + + return $parsed; + } +} diff --git a/user/plugins/email/email.yaml b/user/plugins/email/email.yaml new file mode 100644 index 0000000..78b9394 --- /dev/null +++ b/user/plugins/email/email.yaml @@ -0,0 +1,17 @@ +enabled: true +from: +from_name: +to: +to_name: +mailer: + engine: sendmail + smtp: + server: localhost + port: 25 + encryption: none + user: '' + password: '' + sendmail: + bin: '/usr/sbin/sendmail -bs' +content_type: text/html +debug: false \ No newline at end of file diff --git a/user/plugins/email/hebe.json b/user/plugins/email/hebe.json new file mode 100644 index 0000000..3831af4 --- /dev/null +++ b/user/plugins/email/hebe.json @@ -0,0 +1,15 @@ +{ + "project":"grav-plugin-email", + "platforms":{ + "grav":{ + "nodes":{ + "plugin":[ + { + "source":"/", + "destination":"/user/plugins/email" + } + ] + } + } + } +} diff --git a/user/plugins/email/languages.yaml b/user/plugins/email/languages.yaml new file mode 100644 index 0000000..2c6518a --- /dev/null +++ b/user/plugins/email/languages.yaml @@ -0,0 +1,56 @@ +en: + PLUGIN_EMAIL: + EMAIL_NOT_CONFIGURED: "Email not configured" + PLEASE_CONFIGURE_A_TO_ADDRESS: "Please configure a 'to' address in the Email Plugin settings, or in the form" + PLEASE_CONFIGURE_A_FROM_ADDRESS: "Please configure a 'from' address in the Email Plugin settings, or in the form" + TEST_EMAIL_BODY: "

                                                                        Testing Email

                                                                        This test email has been sent based on the following configuration:

                                                                        %1$s

                                                                        " + EMAIL_FOOTER: "GetGrav.org" + +da: + PLUGIN_EMAIL: + PLEASE_CONFIGURE_A_TO_ADDRESS: "Konfigurere venligst en 'til' email adresse i Email Plugin indstillingerne eller her i formularen" + PLEASE_CONFIGURE_A_FROM_ADDRESS: "Konfigurere venligst en 'fra' email adresse i Email Plugin indstillingerne eller her i formularen" + +de: + PLUGIN_EMAIL: + EMAIL_NOT_CONFIGURED: "E-Mail ist nicht konfiguriert" + PLEASE_CONFIGURE_A_TO_ADDRESS: "Bitte konfigurieren sie eine 'An' ('to') Adresse in den Email-Plugin-Einstellungen oder im Formular." + PLEASE_CONFIGURE_A_FROM_ADDRESS: "Bitte konfigurieren sie eine 'Von' ('from') Adresse in den Email-Plugin-Einstellungen oder im Formular." + +es: + PLUGIN_EMAIL: + PLEASE_CONFIGURE_A_TO_ADDRESS: "Por favor configura una dirección de 'remitente' en la configuración del Plugin de Email o en el formulario" + PLEASE_CONFIGURE_A_FROM_ADDRESS: "Por favor configura una dirección de 'destinatario' en la configuración del Plugin de Email o en el formulario" + +fr: + PLUGIN_EMAIL: + EMAIL_NOT_CONFIGURED: "L’e-mail n’est pas configuré" + PLEASE_CONFIGURE_A_TO_ADDRESS: "Veuillez configurer une adresse de 'destinataire' dans les paramètres du Plugin ou dans le formulaire." + PLEASE_CONFIGURE_A_FROM_ADDRESS: "Veuillez configurer une adresse 'd'expéditeur' dans les paramètres du Plugin ou dans le formulaire." + TEST_EMAIL_BODY: "

                                                                        E-mail de test

                                                                        Cet e-mail de test est basé sur la configuration suivante :

                                                                        %1$s

                                                                        " + EMAIL_FOOTER: "GetGrav.org" + +hr: + PLUGIN_EMAIL: + EMAIL_NOT_CONFIGURED: "Email nije konfiguriran" + PLEASE_CONFIGURE_A_TO_ADDRESS: "Konfigurirajte 'za' ('to') adresu u postavkama Email dodatka ili u obrascu" + PLEASE_CONFIGURE_A_FROM_ADDRESS: "Konfigurirajte 'od' ('from') adresu u postavkama Email dodatka ili u obrascu" + +it: + PLUGIN_EMAIL: + PLEASE_CONFIGURE_A_TO_ADDRESS: "Per favore, configura l'indirizzo di destinazione ('to') nella configurazione del Plugin Email, oppure direttamente nella form." + PLEASE_CONFIGURE_A_FROM_ADDRESS: "Per favore, configura l'indirizzo di provenienza ('from') nella configurazione del Plugin Email, oppure direttamente nella form" + +ro: + PLUGIN_EMAIL: + EMAIL_NOT_CONFIGURED: "Adresa de email nu este configurată" + PLEASE_CONFIGURE_A_TO_ADDRESS: "Vă rugam setaÈ›i o adresă 'către' în setările modulului Email sau în formular" + PLEASE_CONFIGURE_A_FROM_ADDRESS: "Vă rugam setaÈ›i o adresă 'de la' în setările modulului Email sau în formular" + +ru: + PLUGIN_EMAIL: + EMAIL_NOT_CONFIGURED: "Ð­Ð»ÐµÐºÑ‚Ñ€Ð¾Ð½Ð½Ð°Ñ Ð¿Ð¾Ñ‡Ñ‚Ð° не наÑтроена" + PLEASE_CONFIGURE_A_TO_ADDRESS: "ПожалуйÑта наÑтройте Ð°Ð´Ñ€ÐµÑ Ð¿Ð¾Ð»ÑƒÑ‡Ð°Ñ‚ÐµÐ»Ñ ('to') в наÑтройках плагина Email Plugin, или на форме" + PLEASE_CONFIGURE_A_FROM_ADDRESS: "ПожалуйÑта наÑтройте Ð°Ð´Ñ€ÐµÑ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²Ð¸Ñ‚ÐµÐ»Ñ ('from') в наÑтройках плагина Email Plugin, или на форме" + TEST_EMAIL_BODY: "

                                                                        ТеÑтирование Ñлектронной почты

                                                                        Это теÑтовое пиÑьмо отправлено на оÑнове Ñледующей конфигурации:

                                                                        %1$s

                                                                        " + EMAIL_FOOTER: "GetGrav.org" diff --git a/user/plugins/email/templates/email/base.html.twig b/user/plugins/email/templates/email/base.html.twig new file mode 100644 index 0000000..de554c2 --- /dev/null +++ b/user/plugins/email/templates/email/base.html.twig @@ -0,0 +1,210 @@ + + + + + + + + + + + + + + + + + + +
                                                                        +
                                                                        + + + + +
                                                                        + {{ content|raw }} +
                                                                        +
                                                                        +
                                                                        + + + + + + + + + + + + + + diff --git a/user/plugins/email/vendor/autoload.php b/user/plugins/email/vendor/autoload.php new file mode 100644 index 0000000..117c9c1 --- /dev/null +++ b/user/plugins/email/vendor/autoload.php @@ -0,0 +1,7 @@ + + * Jordi Boggiano + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Composer\Autoload; + +/** + * ClassLoader implements a PSR-0, PSR-4 and classmap class loader. + * + * $loader = new \Composer\Autoload\ClassLoader(); + * + * // register classes with namespaces + * $loader->add('Symfony\Component', __DIR__.'/component'); + * $loader->add('Symfony', __DIR__.'/framework'); + * + * // activate the autoloader + * $loader->register(); + * + * // to enable searching the include path (eg. for PEAR packages) + * $loader->setUseIncludePath(true); + * + * In this example, if you try to use a class in the Symfony\Component + * namespace or one of its children (Symfony\Component\Console for instance), + * the autoloader will first look for the class under the component/ + * directory, and it will then fallback to the framework/ directory if not + * found before giving up. + * + * This class is loosely based on the Symfony UniversalClassLoader. + * + * @author Fabien Potencier + * @author Jordi Boggiano + * @see http://www.php-fig.org/psr/psr-0/ + * @see http://www.php-fig.org/psr/psr-4/ + */ +class ClassLoader +{ + // PSR-4 + private $prefixLengthsPsr4 = array(); + private $prefixDirsPsr4 = array(); + private $fallbackDirsPsr4 = array(); + + // PSR-0 + private $prefixesPsr0 = array(); + private $fallbackDirsPsr0 = array(); + + private $useIncludePath = false; + private $classMap = array(); + private $classMapAuthoritative = false; + private $missingClasses = array(); + private $apcuPrefix; + + public function getPrefixes() + { + if (!empty($this->prefixesPsr0)) { + return call_user_func_array('array_merge', $this->prefixesPsr0); + } + + return array(); + } + + public function getPrefixesPsr4() + { + return $this->prefixDirsPsr4; + } + + public function getFallbackDirs() + { + return $this->fallbackDirsPsr0; + } + + public function getFallbackDirsPsr4() + { + return $this->fallbackDirsPsr4; + } + + public function getClassMap() + { + return $this->classMap; + } + + /** + * @param array $classMap Class to filename map + */ + public function addClassMap(array $classMap) + { + if ($this->classMap) { + $this->classMap = array_merge($this->classMap, $classMap); + } else { + $this->classMap = $classMap; + } + } + + /** + * Registers a set of PSR-0 directories for a given prefix, either + * appending or prepending to the ones previously set for this prefix. + * + * @param string $prefix The prefix + * @param array|string $paths The PSR-0 root directories + * @param bool $prepend Whether to prepend the directories + */ + public function add($prefix, $paths, $prepend = false) + { + if (!$prefix) { + if ($prepend) { + $this->fallbackDirsPsr0 = array_merge( + (array) $paths, + $this->fallbackDirsPsr0 + ); + } else { + $this->fallbackDirsPsr0 = array_merge( + $this->fallbackDirsPsr0, + (array) $paths + ); + } + + return; + } + + $first = $prefix[0]; + if (!isset($this->prefixesPsr0[$first][$prefix])) { + $this->prefixesPsr0[$first][$prefix] = (array) $paths; + + return; + } + if ($prepend) { + $this->prefixesPsr0[$first][$prefix] = array_merge( + (array) $paths, + $this->prefixesPsr0[$first][$prefix] + ); + } else { + $this->prefixesPsr0[$first][$prefix] = array_merge( + $this->prefixesPsr0[$first][$prefix], + (array) $paths + ); + } + } + + /** + * Registers a set of PSR-4 directories for a given namespace, either + * appending or prepending to the ones previously set for this namespace. + * + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param array|string $paths The PSR-4 base directories + * @param bool $prepend Whether to prepend the directories + * + * @throws \InvalidArgumentException + */ + public function addPsr4($prefix, $paths, $prepend = false) + { + if (!$prefix) { + // Register directories for the root namespace. + if ($prepend) { + $this->fallbackDirsPsr4 = array_merge( + (array) $paths, + $this->fallbackDirsPsr4 + ); + } else { + $this->fallbackDirsPsr4 = array_merge( + $this->fallbackDirsPsr4, + (array) $paths + ); + } + } elseif (!isset($this->prefixDirsPsr4[$prefix])) { + // Register directories for a new namespace. + $length = strlen($prefix); + if ('\\' !== $prefix[$length - 1]) { + throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); + } + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; + $this->prefixDirsPsr4[$prefix] = (array) $paths; + } elseif ($prepend) { + // Prepend directories for an already registered namespace. + $this->prefixDirsPsr4[$prefix] = array_merge( + (array) $paths, + $this->prefixDirsPsr4[$prefix] + ); + } else { + // Append directories for an already registered namespace. + $this->prefixDirsPsr4[$prefix] = array_merge( + $this->prefixDirsPsr4[$prefix], + (array) $paths + ); + } + } + + /** + * Registers a set of PSR-0 directories for a given prefix, + * replacing any others previously set for this prefix. + * + * @param string $prefix The prefix + * @param array|string $paths The PSR-0 base directories + */ + public function set($prefix, $paths) + { + if (!$prefix) { + $this->fallbackDirsPsr0 = (array) $paths; + } else { + $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths; + } + } + + /** + * Registers a set of PSR-4 directories for a given namespace, + * replacing any others previously set for this namespace. + * + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param array|string $paths The PSR-4 base directories + * + * @throws \InvalidArgumentException + */ + public function setPsr4($prefix, $paths) + { + if (!$prefix) { + $this->fallbackDirsPsr4 = (array) $paths; + } else { + $length = strlen($prefix); + if ('\\' !== $prefix[$length - 1]) { + throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); + } + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; + $this->prefixDirsPsr4[$prefix] = (array) $paths; + } + } + + /** + * Turns on searching the include path for class files. + * + * @param bool $useIncludePath + */ + public function setUseIncludePath($useIncludePath) + { + $this->useIncludePath = $useIncludePath; + } + + /** + * Can be used to check if the autoloader uses the include path to check + * for classes. + * + * @return bool + */ + public function getUseIncludePath() + { + return $this->useIncludePath; + } + + /** + * Turns off searching the prefix and fallback directories for classes + * that have not been registered with the class map. + * + * @param bool $classMapAuthoritative + */ + public function setClassMapAuthoritative($classMapAuthoritative) + { + $this->classMapAuthoritative = $classMapAuthoritative; + } + + /** + * Should class lookup fail if not found in the current class map? + * + * @return bool + */ + public function isClassMapAuthoritative() + { + return $this->classMapAuthoritative; + } + + /** + * APCu prefix to use to cache found/not-found classes, if the extension is enabled. + * + * @param string|null $apcuPrefix + */ + public function setApcuPrefix($apcuPrefix) + { + $this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null; + } + + /** + * The APCu prefix in use, or null if APCu caching is not enabled. + * + * @return string|null + */ + public function getApcuPrefix() + { + return $this->apcuPrefix; + } + + /** + * Registers this instance as an autoloader. + * + * @param bool $prepend Whether to prepend the autoloader or not + */ + public function register($prepend = false) + { + spl_autoload_register(array($this, 'loadClass'), true, $prepend); + } + + /** + * Unregisters this instance as an autoloader. + */ + public function unregister() + { + spl_autoload_unregister(array($this, 'loadClass')); + } + + /** + * Loads the given class or interface. + * + * @param string $class The name of the class + * @return bool|null True if loaded, null otherwise + */ + public function loadClass($class) + { + if ($file = $this->findFile($class)) { + includeFile($file); + + return true; + } + } + + /** + * Finds the path to the file where the class is defined. + * + * @param string $class The name of the class + * + * @return string|false The path if found, false otherwise + */ + public function findFile($class) + { + // class map lookup + if (isset($this->classMap[$class])) { + return $this->classMap[$class]; + } + if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) { + return false; + } + if (null !== $this->apcuPrefix) { + $file = apcu_fetch($this->apcuPrefix.$class, $hit); + if ($hit) { + return $file; + } + } + + $file = $this->findFileWithExtension($class, '.php'); + + // Search for Hack files if we are running on HHVM + if (false === $file && defined('HHVM_VERSION')) { + $file = $this->findFileWithExtension($class, '.hh'); + } + + if (null !== $this->apcuPrefix) { + apcu_add($this->apcuPrefix.$class, $file); + } + + if (false === $file) { + // Remember that this class does not exist. + $this->missingClasses[$class] = true; + } + + return $file; + } + + private function findFileWithExtension($class, $ext) + { + // PSR-4 lookup + $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext; + + $first = $class[0]; + if (isset($this->prefixLengthsPsr4[$first])) { + $subPath = $class; + while (false !== $lastPos = strrpos($subPath, '\\')) { + $subPath = substr($subPath, 0, $lastPos); + $search = $subPath.'\\'; + if (isset($this->prefixDirsPsr4[$search])) { + foreach ($this->prefixDirsPsr4[$search] as $dir) { + $length = $this->prefixLengthsPsr4[$first][$search]; + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) { + return $file; + } + } + } + } + } + + // PSR-4 fallback dirs + foreach ($this->fallbackDirsPsr4 as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) { + return $file; + } + } + + // PSR-0 lookup + if (false !== $pos = strrpos($class, '\\')) { + // namespaced class name + $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1) + . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR); + } else { + // PEAR-like class name + $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext; + } + + if (isset($this->prefixesPsr0[$first])) { + foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) { + if (0 === strpos($class, $prefix)) { + foreach ($dirs as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { + return $file; + } + } + } + } + } + + // PSR-0 fallback dirs + foreach ($this->fallbackDirsPsr0 as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { + return $file; + } + } + + // PSR-0 include paths. + if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) { + return $file; + } + + return false; + } +} + +/** + * Scope isolated include. + * + * Prevents access to $this/self from included files. + */ +function includeFile($file) +{ + include $file; +} diff --git a/user/plugins/email/vendor/composer/LICENSE b/user/plugins/email/vendor/composer/LICENSE new file mode 100644 index 0000000..f0157a6 --- /dev/null +++ b/user/plugins/email/vendor/composer/LICENSE @@ -0,0 +1,56 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: Composer +Upstream-Contact: Jordi Boggiano +Source: https://github.com/composer/composer + +Files: * +Copyright: 2016, Nils Adermann + 2016, Jordi Boggiano +License: Expat + +Files: src/Composer/Util/TlsHelper.php +Copyright: 2016, Nils Adermann + 2016, Jordi Boggiano + 2013, Evan Coury +License: Expat and BSD-2-Clause + +License: BSD-2-Clause + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + . + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + . + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: Expat + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is furnished + to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. diff --git a/user/plugins/email/vendor/composer/autoload_classmap.php b/user/plugins/email/vendor/composer/autoload_classmap.php new file mode 100644 index 0000000..7a91153 --- /dev/null +++ b/user/plugins/email/vendor/composer/autoload_classmap.php @@ -0,0 +1,9 @@ + $vendorDir . '/swiftmailer/swiftmailer/lib/swift_required.php', +); diff --git a/user/plugins/email/vendor/composer/autoload_namespaces.php b/user/plugins/email/vendor/composer/autoload_namespaces.php new file mode 100644 index 0000000..b7fc012 --- /dev/null +++ b/user/plugins/email/vendor/composer/autoload_namespaces.php @@ -0,0 +1,9 @@ + array($baseDir . '/classes'), +); diff --git a/user/plugins/email/vendor/composer/autoload_real.php b/user/plugins/email/vendor/composer/autoload_real.php new file mode 100644 index 0000000..909cb26 --- /dev/null +++ b/user/plugins/email/vendor/composer/autoload_real.php @@ -0,0 +1,70 @@ += 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); + if ($useStaticLoader) { + require_once __DIR__ . '/autoload_static.php'; + + call_user_func(\Composer\Autoload\ComposerStaticInitdec5d78def1384d1f20996ded9d7efbf::getInitializer($loader)); + } else { + $map = require __DIR__ . '/autoload_namespaces.php'; + foreach ($map as $namespace => $path) { + $loader->set($namespace, $path); + } + + $map = require __DIR__ . '/autoload_psr4.php'; + foreach ($map as $namespace => $path) { + $loader->setPsr4($namespace, $path); + } + + $classMap = require __DIR__ . '/autoload_classmap.php'; + if ($classMap) { + $loader->addClassMap($classMap); + } + } + + $loader->register(true); + + if ($useStaticLoader) { + $includeFiles = Composer\Autoload\ComposerStaticInitdec5d78def1384d1f20996ded9d7efbf::$files; + } else { + $includeFiles = require __DIR__ . '/autoload_files.php'; + } + foreach ($includeFiles as $fileIdentifier => $file) { + composerRequiredec5d78def1384d1f20996ded9d7efbf($fileIdentifier, $file); + } + + return $loader; + } +} + +function composerRequiredec5d78def1384d1f20996ded9d7efbf($fileIdentifier, $file) +{ + if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { + require $file; + + $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; + } +} diff --git a/user/plugins/email/vendor/composer/autoload_static.php b/user/plugins/email/vendor/composer/autoload_static.php new file mode 100644 index 0000000..6fe87ab --- /dev/null +++ b/user/plugins/email/vendor/composer/autoload_static.php @@ -0,0 +1,35 @@ + __DIR__ . '/..' . '/swiftmailer/swiftmailer/lib/swift_required.php', + ); + + public static $prefixLengthsPsr4 = array ( + 'G' => + array ( + 'Grav\\Plugin\\Email\\' => 18, + ), + ); + + public static $prefixDirsPsr4 = array ( + 'Grav\\Plugin\\Email\\' => + array ( + 0 => __DIR__ . '/../..' . '/classes', + ), + ); + + public static function getInitializer(ClassLoader $loader) + { + return \Closure::bind(function () use ($loader) { + $loader->prefixLengthsPsr4 = ComposerStaticInitdec5d78def1384d1f20996ded9d7efbf::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInitdec5d78def1384d1f20996ded9d7efbf::$prefixDirsPsr4; + + }, null, ClassLoader::class); + } +} diff --git a/user/plugins/email/vendor/composer/installed.json b/user/plugins/email/vendor/composer/installed.json new file mode 100644 index 0000000..e354048 --- /dev/null +++ b/user/plugins/email/vendor/composer/installed.json @@ -0,0 +1,58 @@ +[ + { + "name": "swiftmailer/swiftmailer", + "version": "v5.4.8", + "version_normalized": "5.4.8.0", + "source": { + "type": "git", + "url": "https://github.com/swiftmailer/swiftmailer.git", + "reference": "9a06dc570a0367850280eefd3f1dc2da45aef517" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/9a06dc570a0367850280eefd3f1dc2da45aef517", + "reference": "9a06dc570a0367850280eefd3f1dc2da45aef517", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "mockery/mockery": "~0.9.1", + "symfony/phpunit-bridge": "~3.2" + }, + "time": "2017-05-01T15:54:03+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.4-dev" + } + }, + "installation-source": "dist", + "autoload": { + "files": [ + "lib/swift_required.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Corbyn" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Swiftmailer, free feature-rich PHP mailer", + "homepage": "http://swiftmailer.org", + "keywords": [ + "email", + "mail", + "mailer" + ] + } +] diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/CHANGES b/user/plugins/email/vendor/swiftmailer/swiftmailer/CHANGES new file mode 100644 index 0000000..e5b605b --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/CHANGES @@ -0,0 +1,267 @@ +Changelog +========= + +5.4.8 (2017-05-01) +------------------ + + * fixed encoding inheritance in addPart() + * fixed sorting MIME children when their types are equal + +5.4.7 (2017-04-20) +------------------ + + * fixed NTLMAuthenticator clobbering bcmath scale + +5.4.6 (2017-02-13) +------------------ + + * removed exceptions thrown in destructors as they lead to fatal errors + * switched to use sha256 by default in DKIM as per the RFC + * fixed an 'Undefined variable: pipes' PHP notice + * fixed long To headers when using the mail transport + * fixed NTLMAuthenticator when no domain is passed with the username + * prevented fatal error during unserialization of a message + * fixed a PHP warning when sending a message that has a length of a multiple of 8192 + +5.4.5 (2016-12-29) +------------------ + + * SECURITY FIX: fixed CVE-2016-10074 by disallowing potentially unsafe shell characters + + Prior to 5.4.5, the mail transport (Swift_Transport_MailTransport) was vulnerable to passing + arbitrary shell arguments if the "From", "ReturnPath" or "Sender" header came + from a non-trusted source, potentially allowing Remote Code Execution + * deprecated the mail transport + +5.4.4 (2016-11-23) +------------------ + + * reverted escaping command-line args to mail (PHP mail() function already does it) + +5.4.3 (2016-07-08) +------------------ + + * fixed SimpleHeaderSet::has()/get() when the 0 index is removed + * removed the need to have mcrypt installed + * fixed broken MIME header encoding with quotes/colons and non-ascii chars + * allowed mail transport send for messages without To header + * fixed PHP 7 support + +5.4.2 (2016-05-01) +------------------ + + * fixed support for IPv6 sockets + * added auto-retry when sending messages from the memory spool + * fixed consecutive read calls in Swift_ByteStream_FileByteStream + * added support for iso-8859-15 encoding + * fixed PHP mail extra params on missing reversePath + * added methods to set custom stream context options + * fixed charset changes in QpContentEncoderProxy + * added return-path header to the ignoredHeaders list of DKIMSigner + * fixed crlf for subject using mail + * fixed add soft line break only when necessary + * fixed escaping command-line args to mail + +5.4.1 (2015-06-06) +------------------ + + * made Swiftmailer exceptions confirm to PHP base exception constructor signature + * fixed MAIL FROM & RCPT TO headers to be RFC compliant + +5.4.0 (2015-03-14) +------------------ + + * added the possibility to add extra certs to PKCS#7 signature + * fix base64 encoding with streams + * added a new RESULT_SPOOLED status for SpoolTransport + * fixed getBody() on attachments when called more than once + * removed dots from generated filenames in filespool + +5.3.1 (2014-12-05) +------------------ + + * fixed cloning of messages with attachments + +5.3.0 (2014-10-04) +------------------ + + * fixed cloning when using signers + * reverted removal of Swift_Encoding + * drop support for PHP 5.2.x + +5.2.2 (2014-09-20) +------------------ + + * fixed Japanese support + * fixed the memory spool when the message changes when in the pool + * added support for cloning messages + * fixed PHP warning in the redirect plugin + * changed the way to and cc-ed email are sent to only use one transaction + +5.2.1 (2014-06-13) +------------------ + + * SECURITY FIX: fixed CLI escaping when using sendmail as a transport + + Prior to 5.2.1, the sendmail transport (Swift_Transport_SendmailTransport) + was vulnerable to an arbitrary shell execution if the "From" header came + from a non-trusted source and no "Return-Path" is configured. + + * fixed parameter in DKIMSigner + * fixed compatibility with PHP < 5.4 + +5.2.0 (2014-05-08) +------------------ + + * fixed Swift_ByteStream_FileByteStream::read() to match to the specification + * fixed from-charset and to-charset arguments in mbstring_convert_encoding() usages + * fixed infinite loop in StreamBuffer + * fixed NullTransport to return the number of ignored emails instead of 0 + * Use phpunit and mockery for unit testing (realityking) + +5.1.0 (2014-03-18) +------------------ + + * fixed data writing to stream when sending large messages + * added support for libopendkim (https://github.com/xdecock/php-opendkim) + * merged SignedMessage and Message + * added Gmail XOAuth2 authentication + * updated the list of known mime types + * added NTLM authentication + +5.0.3 (2013-12-03) +------------------ + + * fixed double-dot bug + * fixed DKIM signer + +5.0.2 (2013-08-30) +------------------ + + * handled correct exception type while reading IoBuffer output + +5.0.1 (2013-06-17) +------------------ + + * changed the spool to only start the transport when a mail has to be sent + * fixed compatibility with PHP 5.2 + * fixed LICENSE file + +5.0.0 (2013-04-30) +------------------ + + * changed the license from LGPL to MIT + +4.3.1 (2013-04-11) +------------------ + + * removed usage of the native QP encoder when the charset is not UTF-8 + * fixed usage of uniqid to avoid collisions + * made a performance improvement when tokenizing large headers + * fixed usage of the PHP native QP encoder on PHP 5.4.7+ + +4.3.0 (2013-01-08) +------------------ + + * made the temporary directory configurable via the TMPDIR env variable + * added S/MIME signer and encryption support + +4.2.2 (2012-10-25) +------------------ + + * added the possibility to throttle messages per second in ThrottlerPlugin (mostly for Amazon SES) + * switched mime.qpcontentencoder to automatically use the PHP native encoder on PHP 5.4.7+ + * allowed specifying a whitelist with regular expressions in RedirectingPlugin + +4.2.1 (2012-07-13) +------------------ + + * changed the coding standards to PSR-1/2 + * fixed issue with autoloading + * added NativeQpContentEncoder to enhance performance (for PHP 5.3+) + +4.2.0 (2012-06-29) +------------------ + + * added documentation about how to use the Japanese support introduced in 4.1.8 + * added a way to override the default configuration in a lazy way + * changed the PEAR init script to lazy-load the initialization + * fixed a bug when calling Swift_Preferences before anything else (regression introduced in 4.1.8) + +4.1.8 (2012-06-17) +------------------ + + * added Japanese iso-2022-jp support + * changed the init script to lazy-load the initialization + * fixed docblocks (@id) which caused some problems with libraries parsing the dobclocks + * fixed Swift_Mime_Headers_IdentificationHeader::setId() when passed an array of ids + * fixed encoding of email addresses in headers + * added replacements setter to the Decorator plugin + +4.1.7 (2012-04-26) +------------------ + + * fixed QpEncoder safeMapShareId property + +4.1.6 (2012-03-23) +------------------ + + * reduced the size of serialized Messages + +4.1.5 (2012-01-04) +------------------ + + * enforced Swift_Spool::queueMessage() to return a Boolean + * made an optimization to the memory spool: start the transport only when required + * prevented stream_socket_client() from generating an error and throw a Swift_TransportException instead + * fixed a PHP warning when calling to mail() when safe_mode is off + * many doc tweaks + +4.1.4 (2011-12-16) +------------------ + + * added a memory spool (Swift_MemorySpool) + * fixed too many opened files when sending emails with attachments + +4.1.3 (2011-10-27) +------------------ + + * added STARTTLS support + * added missing @return tags on fluent methods + * added a MessageLogger plugin that logs all sent messages + * added composer.json + +4.1.2 (2011-09-13) +------------------ + + * fixed wrong detection of magic_quotes_runtime + * fixed fatal errors when no To or Subject header has been set + * fixed charset on parameter header continuations + * added documentation about how to install Swiftmailer from the PEAR channel + * fixed various typos and markup problem in the documentation + * fixed warning when cache directory does not exist + * fixed "slashes are escaped" bug + * changed require_once() to require() in autoload + +4.1.1 (2011-07-04) +------------------ + + * added missing file in PEAR package + +4.1.0 (2011-06-30) +------------------ + + * documentation has been converted to ReST + +4.1.0 RC1 (2011-06-17) +---------------------- + +New features: + + * changed the Decorator Plugin to allow replacements in all headers + * added Swift_Mime_Grammar and Swift_Validate to validate an email address + * modified the autoloader to lazy-initialize Swiftmailer + * removed Swift_Mailer::batchSend() + * added NullTransport + * added new plugins: RedirectingPlugin and ImpersonatePlugin + * added a way to send messages asynchronously (Spool) diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/LICENSE b/user/plugins/email/vendor/swiftmailer/swiftmailer/LICENSE new file mode 100644 index 0000000..485f1d6 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2013-2016 Fabien Potencier + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/README b/user/plugins/email/vendor/swiftmailer/swiftmailer/README new file mode 100644 index 0000000..c3bf031 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/README @@ -0,0 +1,15 @@ +Swift Mailer +------------ + +Swift Mailer is a component based mailing solution for PHP 5. +It is released under the MIT license. + +Homepage: http://swiftmailer.org +Documentation: http://swiftmailer.org/docs +Bugs: https://github.com/swiftmailer/swiftmailer/issues +Repository: https://github.com/swiftmailer/swiftmailer + +Swift Mailer is highly object-oriented by design and lends itself +to use in complex web application with a great deal of flexibility. + +For full details on usage, see the documentation. diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/VERSION b/user/plugins/email/vendor/swiftmailer/swiftmailer/VERSION new file mode 100644 index 0000000..6434642 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/VERSION @@ -0,0 +1 @@ +Swift-5.4.8 diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/composer.json b/user/plugins/email/vendor/swiftmailer/swiftmailer/composer.json new file mode 100644 index 0000000..8335f58 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/composer.json @@ -0,0 +1,37 @@ +{ + "name": "swiftmailer/swiftmailer", + "type": "library", + "description": "Swiftmailer, free feature-rich PHP mailer", + "keywords": ["mail","mailer","email"], + "homepage": "http://swiftmailer.org", + "license": "MIT", + "authors": [ + { + "name": "Chris Corbyn" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "mockery/mockery": "~0.9.1", + "symfony/phpunit-bridge": "~3.2" + }, + "autoload": { + "files": ["lib/swift_required.php"] + }, + "autoload-dev": { + "psr-0": { + "Swift_": "tests/unit" + } + }, + "extra": { + "branch-alias": { + "dev-master": "5.4-dev" + } + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift.php new file mode 100644 index 0000000..82c381b --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift.php @@ -0,0 +1,80 @@ +createDependenciesFor('mime.attachment') + ); + + $this->setBody($data); + $this->setFilename($filename); + if ($contentType) { + $this->setContentType($contentType); + } + } + + /** + * Create a new Attachment. + * + * @param string|Swift_OutputByteStream $data + * @param string $filename + * @param string $contentType + * + * @return Swift_Mime_Attachment + */ + public static function newInstance($data = null, $filename = null, $contentType = null) + { + return new self($data, $filename, $contentType); + } + + /** + * Create a new Attachment from a filesystem path. + * + * @param string $path + * @param string $contentType optional + * + * @return Swift_Mime_Attachment + */ + public static function fromPath($path, $contentType = null) + { + return self::newInstance()->setFile( + new Swift_ByteStream_FileByteStream($path), + $contentType + ); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/AbstractFilterableInputStream.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/AbstractFilterableInputStream.php new file mode 100644 index 0000000..a7b0e3a --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/AbstractFilterableInputStream.php @@ -0,0 +1,181 @@ +_filters[$key] = $filter; + } + + /** + * Remove an already present StreamFilter based on its $key. + * + * @param string $key + */ + public function removeFilter($key) + { + unset($this->_filters[$key]); + } + + /** + * Writes $bytes to the end of the stream. + * + * @param string $bytes + * + * @throws Swift_IoException + * + * @return int + */ + public function write($bytes) + { + $this->_writeBuffer .= $bytes; + foreach ($this->_filters as $filter) { + if ($filter->shouldBuffer($this->_writeBuffer)) { + return; + } + } + $this->_doWrite($this->_writeBuffer); + + return ++$this->_sequence; + } + + /** + * For any bytes that are currently buffered inside the stream, force them + * off the buffer. + * + * @throws Swift_IoException + */ + public function commit() + { + $this->_doWrite($this->_writeBuffer); + } + + /** + * Attach $is to this stream. + * + * The stream acts as an observer, receiving all data that is written. + * All {@link write()} and {@link flushBuffers()} operations will be mirrored. + * + * @param Swift_InputByteStream $is + */ + public function bind(Swift_InputByteStream $is) + { + $this->_mirrors[] = $is; + } + + /** + * Remove an already bound stream. + * + * If $is is not bound, no errors will be raised. + * If the stream currently has any buffered data it will be written to $is + * before unbinding occurs. + * + * @param Swift_InputByteStream $is + */ + public function unbind(Swift_InputByteStream $is) + { + foreach ($this->_mirrors as $k => $stream) { + if ($is === $stream) { + if ($this->_writeBuffer !== '') { + $stream->write($this->_writeBuffer); + } + unset($this->_mirrors[$k]); + } + } + } + + /** + * Flush the contents of the stream (empty it) and set the internal pointer + * to the beginning. + * + * @throws Swift_IoException + */ + public function flushBuffers() + { + if ($this->_writeBuffer !== '') { + $this->_doWrite($this->_writeBuffer); + } + $this->_flush(); + + foreach ($this->_mirrors as $stream) { + $stream->flushBuffers(); + } + } + + /** Run $bytes through all filters */ + private function _filter($bytes) + { + foreach ($this->_filters as $filter) { + $bytes = $filter->filter($bytes); + } + + return $bytes; + } + + /** Just write the bytes to the stream */ + private function _doWrite($bytes) + { + $this->_commit($this->_filter($bytes)); + + foreach ($this->_mirrors as $stream) { + $stream->write($bytes); + } + + $this->_writeBuffer = ''; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/ArrayByteStream.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/ArrayByteStream.php new file mode 100644 index 0000000..ef05a6d --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/ArrayByteStream.php @@ -0,0 +1,182 @@ +_array = $stack; + $this->_arraySize = count($stack); + } elseif (is_string($stack)) { + $this->write($stack); + } else { + $this->_array = array(); + } + } + + /** + * Reads $length bytes from the stream into a string and moves the pointer + * through the stream by $length. + * + * If less bytes exist than are requested the + * remaining bytes are given instead. If no bytes are remaining at all, boolean + * false is returned. + * + * @param int $length + * + * @return string + */ + public function read($length) + { + if ($this->_offset == $this->_arraySize) { + return false; + } + + // Don't use array slice + $end = $length + $this->_offset; + $end = $this->_arraySize < $end ? $this->_arraySize : $end; + $ret = ''; + for (; $this->_offset < $end; ++$this->_offset) { + $ret .= $this->_array[$this->_offset]; + } + + return $ret; + } + + /** + * Writes $bytes to the end of the stream. + * + * @param string $bytes + */ + public function write($bytes) + { + $to_add = str_split($bytes); + foreach ($to_add as $value) { + $this->_array[] = $value; + } + $this->_arraySize = count($this->_array); + + foreach ($this->_mirrors as $stream) { + $stream->write($bytes); + } + } + + /** + * Not used. + */ + public function commit() + { + } + + /** + * Attach $is to this stream. + * + * The stream acts as an observer, receiving all data that is written. + * All {@link write()} and {@link flushBuffers()} operations will be mirrored. + * + * @param Swift_InputByteStream $is + */ + public function bind(Swift_InputByteStream $is) + { + $this->_mirrors[] = $is; + } + + /** + * Remove an already bound stream. + * + * If $is is not bound, no errors will be raised. + * If the stream currently has any buffered data it will be written to $is + * before unbinding occurs. + * + * @param Swift_InputByteStream $is + */ + public function unbind(Swift_InputByteStream $is) + { + foreach ($this->_mirrors as $k => $stream) { + if ($is === $stream) { + unset($this->_mirrors[$k]); + } + } + } + + /** + * Move the internal read pointer to $byteOffset in the stream. + * + * @param int $byteOffset + * + * @return bool + */ + public function setReadPointer($byteOffset) + { + if ($byteOffset > $this->_arraySize) { + $byteOffset = $this->_arraySize; + } elseif ($byteOffset < 0) { + $byteOffset = 0; + } + + $this->_offset = $byteOffset; + } + + /** + * Flush the contents of the stream (empty it) and set the internal pointer + * to the beginning. + */ + public function flushBuffers() + { + $this->_offset = 0; + $this->_array = array(); + $this->_arraySize = 0; + + foreach ($this->_mirrors as $stream) { + $stream->flushBuffers(); + } + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/FileByteStream.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/FileByteStream.php new file mode 100644 index 0000000..9ed8523 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/FileByteStream.php @@ -0,0 +1,231 @@ +_path = $path; + $this->_mode = $writable ? 'w+b' : 'rb'; + + if (function_exists('get_magic_quotes_runtime') && @get_magic_quotes_runtime() == 1) { + $this->_quotes = true; + } + } + + /** + * Get the complete path to the file. + * + * @return string + */ + public function getPath() + { + return $this->_path; + } + + /** + * Reads $length bytes from the stream into a string and moves the pointer + * through the stream by $length. + * + * If less bytes exist than are requested the + * remaining bytes are given instead. If no bytes are remaining at all, boolean + * false is returned. + * + * @param int $length + * + * @throws Swift_IoException + * + * @return string|bool + */ + public function read($length) + { + $fp = $this->_getReadHandle(); + if (!feof($fp)) { + if ($this->_quotes) { + ini_set('magic_quotes_runtime', 0); + } + $bytes = fread($fp, $length); + if ($this->_quotes) { + ini_set('magic_quotes_runtime', 1); + } + $this->_offset = ftell($fp); + + // If we read one byte after reaching the end of the file + // feof() will return false and an empty string is returned + if ($bytes === '' && feof($fp)) { + $this->_resetReadHandle(); + + return false; + } + + return $bytes; + } + + $this->_resetReadHandle(); + + return false; + } + + /** + * Move the internal read pointer to $byteOffset in the stream. + * + * @param int $byteOffset + * + * @return bool + */ + public function setReadPointer($byteOffset) + { + if (isset($this->_reader)) { + $this->_seekReadStreamToPosition($byteOffset); + } + $this->_offset = $byteOffset; + } + + /** Just write the bytes to the file */ + protected function _commit($bytes) + { + fwrite($this->_getWriteHandle(), $bytes); + $this->_resetReadHandle(); + } + + /** Not used */ + protected function _flush() + { + } + + /** Get the resource for reading */ + private function _getReadHandle() + { + if (!isset($this->_reader)) { + $pointer = @fopen($this->_path, 'rb'); + if (!$pointer) { + throw new Swift_IoException( + 'Unable to open file for reading ['.$this->_path.']' + ); + } + $this->_reader = $pointer; + if ($this->_offset != 0) { + $this->_getReadStreamSeekableStatus(); + $this->_seekReadStreamToPosition($this->_offset); + } + } + + return $this->_reader; + } + + /** Get the resource for writing */ + private function _getWriteHandle() + { + if (!isset($this->_writer)) { + if (!$this->_writer = fopen($this->_path, $this->_mode)) { + throw new Swift_IoException( + 'Unable to open file for writing ['.$this->_path.']' + ); + } + } + + return $this->_writer; + } + + /** Force a reload of the resource for reading */ + private function _resetReadHandle() + { + if (isset($this->_reader)) { + fclose($this->_reader); + $this->_reader = null; + } + } + + /** Check if ReadOnly Stream is seekable */ + private function _getReadStreamSeekableStatus() + { + $metas = stream_get_meta_data($this->_reader); + $this->_seekable = $metas['seekable']; + } + + /** Streams in a readOnly stream ensuring copy if needed */ + private function _seekReadStreamToPosition($offset) + { + if ($this->_seekable === null) { + $this->_getReadStreamSeekableStatus(); + } + if ($this->_seekable === false) { + $currentPos = ftell($this->_reader); + if ($currentPos < $offset) { + $toDiscard = $offset - $currentPos; + fread($this->_reader, $toDiscard); + + return; + } + $this->_copyReadStream(); + } + fseek($this->_reader, $offset, SEEK_SET); + } + + /** Copy a readOnly Stream to ensure seekability */ + private function _copyReadStream() + { + if ($tmpFile = fopen('php://temp/maxmemory:4096', 'w+b')) { + /* We have opened a php:// Stream Should work without problem */ + } elseif (function_exists('sys_get_temp_dir') && is_writable(sys_get_temp_dir()) && ($tmpFile = tmpfile())) { + /* We have opened a tmpfile */ + } else { + throw new Swift_IoException('Unable to copy the file to make it seekable, sys_temp_dir is not writable, php://memory not available'); + } + $currentPos = ftell($this->_reader); + fclose($this->_reader); + $source = fopen($this->_path, 'rb'); + if (!$source) { + throw new Swift_IoException('Unable to open file for copying ['.$this->_path.']'); + } + fseek($tmpFile, 0, SEEK_SET); + while (!feof($source)) { + fwrite($tmpFile, fread($source, 4096)); + } + fseek($tmpFile, $currentPos, SEEK_SET); + fclose($source); + $this->_reader = $tmpFile; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/TemporaryFileByteStream.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/TemporaryFileByteStream.php new file mode 100644 index 0000000..1c9a80c --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/TemporaryFileByteStream.php @@ -0,0 +1,42 @@ +getPath())) === false) { + throw new Swift_IoException('Failed to get temporary file content.'); + } + + return $content; + } + + public function __destruct() + { + if (file_exists($this->getPath())) { + @unlink($this->getPath()); + } + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader.php new file mode 100644 index 0000000..4267adb --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader.php @@ -0,0 +1,67 @@ + + */ +interface Swift_CharacterReader +{ + const MAP_TYPE_INVALID = 0x01; + const MAP_TYPE_FIXED_LEN = 0x02; + const MAP_TYPE_POSITIONS = 0x03; + + /** + * Returns the complete character map. + * + * @param string $string + * @param int $startOffset + * @param array $currentMap + * @param mixed $ignoredChars + * + * @return int + */ + public function getCharPositions($string, $startOffset, &$currentMap, &$ignoredChars); + + /** + * Returns the mapType, see constants. + * + * @return int + */ + public function getMapType(); + + /** + * Returns an integer which specifies how many more bytes to read. + * + * A positive integer indicates the number of more bytes to fetch before invoking + * this method again. + * + * A value of zero means this is already a valid character. + * A value of -1 means this cannot possibly be a valid character. + * + * @param int[] $bytes + * @param int $size + * + * @return int + */ + public function validateByteSequence($bytes, $size); + + /** + * Returns the number of bytes which should be read to start each character. + * + * For fixed width character sets this should be the number of octets-per-character. + * For multibyte character sets this will probably be 1. + * + * @return int + */ + public function getInitialByteSize(); +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/GenericFixedWidthReader.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/GenericFixedWidthReader.php new file mode 100644 index 0000000..6a18e1d --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/GenericFixedWidthReader.php @@ -0,0 +1,97 @@ + + */ +class Swift_CharacterReader_GenericFixedWidthReader implements Swift_CharacterReader +{ + /** + * The number of bytes in a single character. + * + * @var int + */ + private $_width; + + /** + * Creates a new GenericFixedWidthReader using $width bytes per character. + * + * @param int $width + */ + public function __construct($width) + { + $this->_width = $width; + } + + /** + * Returns the complete character map. + * + * @param string $string + * @param int $startOffset + * @param array $currentMap + * @param mixed $ignoredChars + * + * @return int + */ + public function getCharPositions($string, $startOffset, &$currentMap, &$ignoredChars) + { + $strlen = strlen($string); + // % and / are CPU intensive, so, maybe find a better way + $ignored = $strlen % $this->_width; + $ignoredChars = $ignored ? substr($string, -$ignored) : ''; + $currentMap = $this->_width; + + return ($strlen - $ignored) / $this->_width; + } + + /** + * Returns the mapType. + * + * @return int + */ + public function getMapType() + { + return self::MAP_TYPE_FIXED_LEN; + } + + /** + * Returns an integer which specifies how many more bytes to read. + * + * A positive integer indicates the number of more bytes to fetch before invoking + * this method again. + * + * A value of zero means this is already a valid character. + * A value of -1 means this cannot possibly be a valid character. + * + * @param string $bytes + * @param int $size + * + * @return int + */ + public function validateByteSequence($bytes, $size) + { + $needed = $this->_width - $size; + + return $needed > -1 ? $needed : -1; + } + + /** + * Returns the number of bytes which should be read to start each character. + * + * @return int + */ + public function getInitialByteSize() + { + return $this->_width; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/UsAsciiReader.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/UsAsciiReader.php new file mode 100644 index 0000000..67da48f --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/UsAsciiReader.php @@ -0,0 +1,84 @@ + "\x07F") { + // Invalid char + $currentMap[$i + $startOffset] = $string[$i]; + } + } + + return $strlen; + } + + /** + * Returns mapType. + * + * @return int mapType + */ + public function getMapType() + { + return self::MAP_TYPE_INVALID; + } + + /** + * Returns an integer which specifies how many more bytes to read. + * + * A positive integer indicates the number of more bytes to fetch before invoking + * this method again. + * A value of zero means this is already a valid character. + * A value of -1 means this cannot possibly be a valid character. + * + * @param string $bytes + * @param int $size + * + * @return int + */ + public function validateByteSequence($bytes, $size) + { + $byte = reset($bytes); + if (1 == count($bytes) && $byte >= 0x00 && $byte <= 0x7F) { + return 0; + } + + return -1; + } + + /** + * Returns the number of bytes which should be read to start each character. + * + * @return int + */ + public function getInitialByteSize() + { + return 1; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/Utf8Reader.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/Utf8Reader.php new file mode 100644 index 0000000..22746bd --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/Utf8Reader.php @@ -0,0 +1,176 @@ + + */ +class Swift_CharacterReader_Utf8Reader implements Swift_CharacterReader +{ + /** Pre-computed for optimization */ + private static $length_map = array( + // N=0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x0N + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x1N + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x2N + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x3N + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x4N + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x5N + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x6N + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x7N + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x8N + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x9N + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0xAN + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0xBN + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // 0xCN + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // 0xDN + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 0xEN + 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 0, 0, // 0xFN + ); + + private static $s_length_map = array( + "\x00" => 1, "\x01" => 1, "\x02" => 1, "\x03" => 1, "\x04" => 1, "\x05" => 1, "\x06" => 1, "\x07" => 1, + "\x08" => 1, "\x09" => 1, "\x0a" => 1, "\x0b" => 1, "\x0c" => 1, "\x0d" => 1, "\x0e" => 1, "\x0f" => 1, + "\x10" => 1, "\x11" => 1, "\x12" => 1, "\x13" => 1, "\x14" => 1, "\x15" => 1, "\x16" => 1, "\x17" => 1, + "\x18" => 1, "\x19" => 1, "\x1a" => 1, "\x1b" => 1, "\x1c" => 1, "\x1d" => 1, "\x1e" => 1, "\x1f" => 1, + "\x20" => 1, "\x21" => 1, "\x22" => 1, "\x23" => 1, "\x24" => 1, "\x25" => 1, "\x26" => 1, "\x27" => 1, + "\x28" => 1, "\x29" => 1, "\x2a" => 1, "\x2b" => 1, "\x2c" => 1, "\x2d" => 1, "\x2e" => 1, "\x2f" => 1, + "\x30" => 1, "\x31" => 1, "\x32" => 1, "\x33" => 1, "\x34" => 1, "\x35" => 1, "\x36" => 1, "\x37" => 1, + "\x38" => 1, "\x39" => 1, "\x3a" => 1, "\x3b" => 1, "\x3c" => 1, "\x3d" => 1, "\x3e" => 1, "\x3f" => 1, + "\x40" => 1, "\x41" => 1, "\x42" => 1, "\x43" => 1, "\x44" => 1, "\x45" => 1, "\x46" => 1, "\x47" => 1, + "\x48" => 1, "\x49" => 1, "\x4a" => 1, "\x4b" => 1, "\x4c" => 1, "\x4d" => 1, "\x4e" => 1, "\x4f" => 1, + "\x50" => 1, "\x51" => 1, "\x52" => 1, "\x53" => 1, "\x54" => 1, "\x55" => 1, "\x56" => 1, "\x57" => 1, + "\x58" => 1, "\x59" => 1, "\x5a" => 1, "\x5b" => 1, "\x5c" => 1, "\x5d" => 1, "\x5e" => 1, "\x5f" => 1, + "\x60" => 1, "\x61" => 1, "\x62" => 1, "\x63" => 1, "\x64" => 1, "\x65" => 1, "\x66" => 1, "\x67" => 1, + "\x68" => 1, "\x69" => 1, "\x6a" => 1, "\x6b" => 1, "\x6c" => 1, "\x6d" => 1, "\x6e" => 1, "\x6f" => 1, + "\x70" => 1, "\x71" => 1, "\x72" => 1, "\x73" => 1, "\x74" => 1, "\x75" => 1, "\x76" => 1, "\x77" => 1, + "\x78" => 1, "\x79" => 1, "\x7a" => 1, "\x7b" => 1, "\x7c" => 1, "\x7d" => 1, "\x7e" => 1, "\x7f" => 1, + "\x80" => 0, "\x81" => 0, "\x82" => 0, "\x83" => 0, "\x84" => 0, "\x85" => 0, "\x86" => 0, "\x87" => 0, + "\x88" => 0, "\x89" => 0, "\x8a" => 0, "\x8b" => 0, "\x8c" => 0, "\x8d" => 0, "\x8e" => 0, "\x8f" => 0, + "\x90" => 0, "\x91" => 0, "\x92" => 0, "\x93" => 0, "\x94" => 0, "\x95" => 0, "\x96" => 0, "\x97" => 0, + "\x98" => 0, "\x99" => 0, "\x9a" => 0, "\x9b" => 0, "\x9c" => 0, "\x9d" => 0, "\x9e" => 0, "\x9f" => 0, + "\xa0" => 0, "\xa1" => 0, "\xa2" => 0, "\xa3" => 0, "\xa4" => 0, "\xa5" => 0, "\xa6" => 0, "\xa7" => 0, + "\xa8" => 0, "\xa9" => 0, "\xaa" => 0, "\xab" => 0, "\xac" => 0, "\xad" => 0, "\xae" => 0, "\xaf" => 0, + "\xb0" => 0, "\xb1" => 0, "\xb2" => 0, "\xb3" => 0, "\xb4" => 0, "\xb5" => 0, "\xb6" => 0, "\xb7" => 0, + "\xb8" => 0, "\xb9" => 0, "\xba" => 0, "\xbb" => 0, "\xbc" => 0, "\xbd" => 0, "\xbe" => 0, "\xbf" => 0, + "\xc0" => 2, "\xc1" => 2, "\xc2" => 2, "\xc3" => 2, "\xc4" => 2, "\xc5" => 2, "\xc6" => 2, "\xc7" => 2, + "\xc8" => 2, "\xc9" => 2, "\xca" => 2, "\xcb" => 2, "\xcc" => 2, "\xcd" => 2, "\xce" => 2, "\xcf" => 2, + "\xd0" => 2, "\xd1" => 2, "\xd2" => 2, "\xd3" => 2, "\xd4" => 2, "\xd5" => 2, "\xd6" => 2, "\xd7" => 2, + "\xd8" => 2, "\xd9" => 2, "\xda" => 2, "\xdb" => 2, "\xdc" => 2, "\xdd" => 2, "\xde" => 2, "\xdf" => 2, + "\xe0" => 3, "\xe1" => 3, "\xe2" => 3, "\xe3" => 3, "\xe4" => 3, "\xe5" => 3, "\xe6" => 3, "\xe7" => 3, + "\xe8" => 3, "\xe9" => 3, "\xea" => 3, "\xeb" => 3, "\xec" => 3, "\xed" => 3, "\xee" => 3, "\xef" => 3, + "\xf0" => 4, "\xf1" => 4, "\xf2" => 4, "\xf3" => 4, "\xf4" => 4, "\xf5" => 4, "\xf6" => 4, "\xf7" => 4, + "\xf8" => 5, "\xf9" => 5, "\xfa" => 5, "\xfb" => 5, "\xfc" => 6, "\xfd" => 6, "\xfe" => 0, "\xff" => 0, + ); + + /** + * Returns the complete character map. + * + * @param string $string + * @param int $startOffset + * @param array $currentMap + * @param mixed $ignoredChars + * + * @return int + */ + public function getCharPositions($string, $startOffset, &$currentMap, &$ignoredChars) + { + if (!isset($currentMap['i']) || !isset($currentMap['p'])) { + $currentMap['p'] = $currentMap['i'] = array(); + } + + $strlen = strlen($string); + $charPos = count($currentMap['p']); + $foundChars = 0; + $invalid = false; + for ($i = 0; $i < $strlen; ++$i) { + $char = $string[$i]; + $size = self::$s_length_map[$char]; + if ($size == 0) { + /* char is invalid, we must wait for a resync */ + $invalid = true; + continue; + } else { + if ($invalid == true) { + /* We mark the chars as invalid and start a new char */ + $currentMap['p'][$charPos + $foundChars] = $startOffset + $i; + $currentMap['i'][$charPos + $foundChars] = true; + ++$foundChars; + $invalid = false; + } + if (($i + $size) > $strlen) { + $ignoredChars = substr($string, $i); + break; + } + for ($j = 1; $j < $size; ++$j) { + $char = $string[$i + $j]; + if ($char > "\x7F" && $char < "\xC0") { + // Valid - continue parsing + } else { + /* char is invalid, we must wait for a resync */ + $invalid = true; + continue 2; + } + } + /* Ok we got a complete char here */ + $currentMap['p'][$charPos + $foundChars] = $startOffset + $i + $size; + $i += $j - 1; + ++$foundChars; + } + } + + return $foundChars; + } + + /** + * Returns mapType. + * + * @return int mapType + */ + public function getMapType() + { + return self::MAP_TYPE_POSITIONS; + } + + /** + * Returns an integer which specifies how many more bytes to read. + * + * A positive integer indicates the number of more bytes to fetch before invoking + * this method again. + * A value of zero means this is already a valid character. + * A value of -1 means this cannot possibly be a valid character. + * + * @param string $bytes + * @param int $size + * + * @return int + */ + public function validateByteSequence($bytes, $size) + { + if ($size < 1) { + return -1; + } + $needed = self::$length_map[$bytes[0]] - $size; + + return $needed > -1 ? $needed : -1; + } + + /** + * Returns the number of bytes which should be read to start each character. + * + * @return int + */ + public function getInitialByteSize() + { + return 1; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReaderFactory.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReaderFactory.php new file mode 100644 index 0000000..15b6c69 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReaderFactory.php @@ -0,0 +1,26 @@ +init(); + } + + public function __wakeup() + { + $this->init(); + } + + public function init() + { + if (count(self::$_map) > 0) { + return; + } + + $prefix = 'Swift_CharacterReader_'; + + $singleByte = array( + 'class' => $prefix.'GenericFixedWidthReader', + 'constructor' => array(1), + ); + + $doubleByte = array( + 'class' => $prefix.'GenericFixedWidthReader', + 'constructor' => array(2), + ); + + $fourBytes = array( + 'class' => $prefix.'GenericFixedWidthReader', + 'constructor' => array(4), + ); + + // Utf-8 + self::$_map['utf-?8'] = array( + 'class' => $prefix.'Utf8Reader', + 'constructor' => array(), + ); + + //7-8 bit charsets + self::$_map['(us-)?ascii'] = $singleByte; + self::$_map['(iso|iec)-?8859-?[0-9]+'] = $singleByte; + self::$_map['windows-?125[0-9]'] = $singleByte; + self::$_map['cp-?[0-9]+'] = $singleByte; + self::$_map['ansi'] = $singleByte; + self::$_map['macintosh'] = $singleByte; + self::$_map['koi-?7'] = $singleByte; + self::$_map['koi-?8-?.+'] = $singleByte; + self::$_map['mik'] = $singleByte; + self::$_map['(cork|t1)'] = $singleByte; + self::$_map['v?iscii'] = $singleByte; + + //16 bits + self::$_map['(ucs-?2|utf-?16)'] = $doubleByte; + + //32 bits + self::$_map['(ucs-?4|utf-?32)'] = $fourBytes; + + // Fallback + self::$_map['.*'] = $singleByte; + } + + /** + * Returns a CharacterReader suitable for the charset applied. + * + * @param string $charset + * + * @return Swift_CharacterReader + */ + public function getReaderFor($charset) + { + $charset = trim(strtolower($charset)); + foreach (self::$_map as $pattern => $spec) { + $re = '/^'.$pattern.'$/D'; + if (preg_match($re, $charset)) { + if (!array_key_exists($pattern, self::$_loaded)) { + $reflector = new ReflectionClass($spec['class']); + if ($reflector->getConstructor()) { + $reader = $reflector->newInstanceArgs($spec['constructor']); + } else { + $reader = $reflector->newInstance(); + } + self::$_loaded[$pattern] = $reader; + } + + return self::$_loaded[$pattern]; + } + } + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream.php new file mode 100644 index 0000000..717924f --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream.php @@ -0,0 +1,89 @@ +setCharacterReaderFactory($factory); + $this->setCharacterSet($charset); + } + + /** + * Set the character set used in this CharacterStream. + * + * @param string $charset + */ + public function setCharacterSet($charset) + { + $this->_charset = $charset; + $this->_charReader = null; + } + + /** + * Set the CharacterReaderFactory for multi charset support. + * + * @param Swift_CharacterReaderFactory $factory + */ + public function setCharacterReaderFactory(Swift_CharacterReaderFactory $factory) + { + $this->_charReaderFactory = $factory; + } + + /** + * Overwrite this character stream using the byte sequence in the byte stream. + * + * @param Swift_OutputByteStream $os output stream to read from + */ + public function importByteStream(Swift_OutputByteStream $os) + { + if (!isset($this->_charReader)) { + $this->_charReader = $this->_charReaderFactory + ->getReaderFor($this->_charset); + } + + $startLength = $this->_charReader->getInitialByteSize(); + while (false !== $bytes = $os->read($startLength)) { + $c = array(); + for ($i = 0, $len = strlen($bytes); $i < $len; ++$i) { + $c[] = self::$_byteMap[$bytes[$i]]; + } + $size = count($c); + $need = $this->_charReader + ->validateByteSequence($c, $size); + if ($need > 0 && + false !== $bytes = $os->read($need)) { + for ($i = 0, $len = strlen($bytes); $i < $len; ++$i) { + $c[] = self::$_byteMap[$bytes[$i]]; + } + } + $this->_array[] = $c; + ++$this->_array_size; + } + } + + /** + * Import a string a bytes into this CharacterStream, overwriting any existing + * data in the stream. + * + * @param string $string + */ + public function importString($string) + { + $this->flushContents(); + $this->write($string); + } + + /** + * Read $length characters from the stream and move the internal pointer + * $length further into the stream. + * + * @param int $length + * + * @return string + */ + public function read($length) + { + if ($this->_offset == $this->_array_size) { + return false; + } + + // Don't use array slice + $arrays = array(); + $end = $length + $this->_offset; + for ($i = $this->_offset; $i < $end; ++$i) { + if (!isset($this->_array[$i])) { + break; + } + $arrays[] = $this->_array[$i]; + } + $this->_offset += $i - $this->_offset; // Limit function calls + $chars = false; + foreach ($arrays as $array) { + $chars .= implode('', array_map('chr', $array)); + } + + return $chars; + } + + /** + * Read $length characters from the stream and return a 1-dimensional array + * containing there octet values. + * + * @param int $length + * + * @return int[] + */ + public function readBytes($length) + { + if ($this->_offset == $this->_array_size) { + return false; + } + $arrays = array(); + $end = $length + $this->_offset; + for ($i = $this->_offset; $i < $end; ++$i) { + if (!isset($this->_array[$i])) { + break; + } + $arrays[] = $this->_array[$i]; + } + $this->_offset += ($i - $this->_offset); // Limit function calls + + return call_user_func_array('array_merge', $arrays); + } + + /** + * Write $chars to the end of the stream. + * + * @param string $chars + */ + public function write($chars) + { + if (!isset($this->_charReader)) { + $this->_charReader = $this->_charReaderFactory->getReaderFor( + $this->_charset); + } + + $startLength = $this->_charReader->getInitialByteSize(); + + $fp = fopen('php://memory', 'w+b'); + fwrite($fp, $chars); + unset($chars); + fseek($fp, 0, SEEK_SET); + + $buffer = array(0); + $buf_pos = 1; + $buf_len = 1; + $has_datas = true; + do { + $bytes = array(); + // Buffer Filing + if ($buf_len - $buf_pos < $startLength) { + $buf = array_splice($buffer, $buf_pos); + $new = $this->_reloadBuffer($fp, 100); + if ($new) { + $buffer = array_merge($buf, $new); + $buf_len = count($buffer); + $buf_pos = 0; + } else { + $has_datas = false; + } + } + if ($buf_len - $buf_pos > 0) { + $size = 0; + for ($i = 0; $i < $startLength && isset($buffer[$buf_pos]); ++$i) { + ++$size; + $bytes[] = $buffer[$buf_pos++]; + } + $need = $this->_charReader->validateByteSequence( + $bytes, $size); + if ($need > 0) { + if ($buf_len - $buf_pos < $need) { + $new = $this->_reloadBuffer($fp, $need); + + if ($new) { + $buffer = array_merge($buffer, $new); + $buf_len = count($buffer); + } + } + for ($i = 0; $i < $need && isset($buffer[$buf_pos]); ++$i) { + $bytes[] = $buffer[$buf_pos++]; + } + } + $this->_array[] = $bytes; + ++$this->_array_size; + } + } while ($has_datas); + + fclose($fp); + } + + /** + * Move the internal pointer to $charOffset in the stream. + * + * @param int $charOffset + */ + public function setPointer($charOffset) + { + if ($charOffset > $this->_array_size) { + $charOffset = $this->_array_size; + } elseif ($charOffset < 0) { + $charOffset = 0; + } + $this->_offset = $charOffset; + } + + /** + * Empty the stream and reset the internal pointer. + */ + public function flushContents() + { + $this->_offset = 0; + $this->_array = array(); + $this->_array_size = 0; + } + + private function _reloadBuffer($fp, $len) + { + if (!feof($fp) && ($bytes = fread($fp, $len)) !== false) { + $buf = array(); + for ($i = 0, $len = strlen($bytes); $i < $len; ++$i) { + $buf[] = self::$_byteMap[$bytes[$i]]; + } + + return $buf; + } + + return false; + } + + private static function _initializeMaps() + { + if (!isset(self::$_charMap)) { + self::$_charMap = array(); + for ($byte = 0; $byte < 256; ++$byte) { + self::$_charMap[$byte] = chr($byte); + } + self::$_byteMap = array_flip(self::$_charMap); + } + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream/NgCharacterStream.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream/NgCharacterStream.php new file mode 100644 index 0000000..58bd140 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream/NgCharacterStream.php @@ -0,0 +1,267 @@ + + */ +class Swift_CharacterStream_NgCharacterStream implements Swift_CharacterStream +{ + /** + * The char reader (lazy-loaded) for the current charset. + * + * @var Swift_CharacterReader + */ + private $_charReader; + + /** + * A factory for creating CharacterReader instances. + * + * @var Swift_CharacterReaderFactory + */ + private $_charReaderFactory; + + /** + * The character set this stream is using. + * + * @var string + */ + private $_charset; + + /** + * The data's stored as-is. + * + * @var string + */ + private $_datas = ''; + + /** + * Number of bytes in the stream. + * + * @var int + */ + private $_datasSize = 0; + + /** + * Map. + * + * @var mixed + */ + private $_map; + + /** + * Map Type. + * + * @var int + */ + private $_mapType = 0; + + /** + * Number of characters in the stream. + * + * @var int + */ + private $_charCount = 0; + + /** + * Position in the stream. + * + * @var int + */ + private $_currentPos = 0; + + /** + * Constructor. + * + * @param Swift_CharacterReaderFactory $factory + * @param string $charset + */ + public function __construct(Swift_CharacterReaderFactory $factory, $charset) + { + $this->setCharacterReaderFactory($factory); + $this->setCharacterSet($charset); + } + + /* -- Changing parameters of the stream -- */ + + /** + * Set the character set used in this CharacterStream. + * + * @param string $charset + */ + public function setCharacterSet($charset) + { + $this->_charset = $charset; + $this->_charReader = null; + $this->_mapType = 0; + } + + /** + * Set the CharacterReaderFactory for multi charset support. + * + * @param Swift_CharacterReaderFactory $factory + */ + public function setCharacterReaderFactory(Swift_CharacterReaderFactory $factory) + { + $this->_charReaderFactory = $factory; + } + + /** + * @see Swift_CharacterStream::flushContents() + */ + public function flushContents() + { + $this->_datas = null; + $this->_map = null; + $this->_charCount = 0; + $this->_currentPos = 0; + $this->_datasSize = 0; + } + + /** + * @see Swift_CharacterStream::importByteStream() + * + * @param Swift_OutputByteStream $os + */ + public function importByteStream(Swift_OutputByteStream $os) + { + $this->flushContents(); + $blocks = 512; + $os->setReadPointer(0); + while (false !== ($read = $os->read($blocks))) { + $this->write($read); + } + } + + /** + * @see Swift_CharacterStream::importString() + * + * @param string $string + */ + public function importString($string) + { + $this->flushContents(); + $this->write($string); + } + + /** + * @see Swift_CharacterStream::read() + * + * @param int $length + * + * @return string + */ + public function read($length) + { + if ($this->_currentPos >= $this->_charCount) { + return false; + } + $ret = false; + $length = $this->_currentPos + $length > $this->_charCount ? $this->_charCount - $this->_currentPos : $length; + switch ($this->_mapType) { + case Swift_CharacterReader::MAP_TYPE_FIXED_LEN: + $len = $length * $this->_map; + $ret = substr($this->_datas, + $this->_currentPos * $this->_map, + $len); + $this->_currentPos += $length; + break; + + case Swift_CharacterReader::MAP_TYPE_INVALID: + $ret = ''; + for (; $this->_currentPos < $length; ++$this->_currentPos) { + if (isset($this->_map[$this->_currentPos])) { + $ret .= '?'; + } else { + $ret .= $this->_datas[$this->_currentPos]; + } + } + break; + + case Swift_CharacterReader::MAP_TYPE_POSITIONS: + $end = $this->_currentPos + $length; + $end = $end > $this->_charCount ? $this->_charCount : $end; + $ret = ''; + $start = 0; + if ($this->_currentPos > 0) { + $start = $this->_map['p'][$this->_currentPos - 1]; + } + $to = $start; + for (; $this->_currentPos < $end; ++$this->_currentPos) { + if (isset($this->_map['i'][$this->_currentPos])) { + $ret .= substr($this->_datas, $start, $to - $start).'?'; + $start = $this->_map['p'][$this->_currentPos]; + } else { + $to = $this->_map['p'][$this->_currentPos]; + } + } + $ret .= substr($this->_datas, $start, $to - $start); + break; + } + + return $ret; + } + + /** + * @see Swift_CharacterStream::readBytes() + * + * @param int $length + * + * @return int[] + */ + public function readBytes($length) + { + $read = $this->read($length); + if ($read !== false) { + $ret = array_map('ord', str_split($read, 1)); + + return $ret; + } + + return false; + } + + /** + * @see Swift_CharacterStream::setPointer() + * + * @param int $charOffset + */ + public function setPointer($charOffset) + { + if ($this->_charCount < $charOffset) { + $charOffset = $this->_charCount; + } + $this->_currentPos = $charOffset; + } + + /** + * @see Swift_CharacterStream::write() + * + * @param string $chars + */ + public function write($chars) + { + if (!isset($this->_charReader)) { + $this->_charReader = $this->_charReaderFactory->getReaderFor( + $this->_charset); + $this->_map = array(); + $this->_mapType = $this->_charReader->getMapType(); + } + $ignored = ''; + $this->_datas .= $chars; + $this->_charCount += $this->_charReader->getCharPositions(substr($this->_datas, $this->_datasSize), $this->_datasSize, $this->_map, $ignored); + if ($ignored !== false) { + $this->_datasSize = strlen($this->_datas) - strlen($ignored); + } else { + $this->_datasSize = strlen($this->_datas); + } + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ConfigurableSpool.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ConfigurableSpool.php new file mode 100644 index 0000000..4ae5bac --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ConfigurableSpool.php @@ -0,0 +1,63 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +/** + * Base class for Spools (implements time and message limits). + * + * @author Fabien Potencier + */ +abstract class Swift_ConfigurableSpool implements Swift_Spool +{ + /** The maximum number of messages to send per flush */ + private $_message_limit; + + /** The time limit per flush */ + private $_time_limit; + + /** + * Sets the maximum number of messages to send per flush. + * + * @param int $limit + */ + public function setMessageLimit($limit) + { + $this->_message_limit = (int) $limit; + } + + /** + * Gets the maximum number of messages to send per flush. + * + * @return int The limit + */ + public function getMessageLimit() + { + return $this->_message_limit; + } + + /** + * Sets the time limit (in seconds) per flush. + * + * @param int $limit The limit + */ + public function setTimeLimit($limit) + { + $this->_time_limit = (int) $limit; + } + + /** + * Gets the time limit (in seconds) per flush. + * + * @return int The limit + */ + public function getTimeLimit() + { + return $this->_time_limit; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/DependencyContainer.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/DependencyContainer.php new file mode 100644 index 0000000..befec9a --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/DependencyContainer.php @@ -0,0 +1,373 @@ +_store); + } + + /** + * Test if an item is registered in this container with the given name. + * + * @see register() + * + * @param string $itemName + * + * @return bool + */ + public function has($itemName) + { + return array_key_exists($itemName, $this->_store) + && isset($this->_store[$itemName]['lookupType']); + } + + /** + * Lookup the item with the given $itemName. + * + * @see register() + * + * @param string $itemName + * + * @throws Swift_DependencyException If the dependency is not found + * + * @return mixed + */ + public function lookup($itemName) + { + if (!$this->has($itemName)) { + throw new Swift_DependencyException( + 'Cannot lookup dependency "'.$itemName.'" since it is not registered.' + ); + } + + switch ($this->_store[$itemName]['lookupType']) { + case self::TYPE_ALIAS: + return $this->_createAlias($itemName); + case self::TYPE_VALUE: + return $this->_getValue($itemName); + case self::TYPE_INSTANCE: + return $this->_createNewInstance($itemName); + case self::TYPE_SHARED: + return $this->_createSharedInstance($itemName); + } + } + + /** + * Create an array of arguments passed to the constructor of $itemName. + * + * @param string $itemName + * + * @return array + */ + public function createDependenciesFor($itemName) + { + $args = array(); + if (isset($this->_store[$itemName]['args'])) { + $args = $this->_resolveArgs($this->_store[$itemName]['args']); + } + + return $args; + } + + /** + * Register a new dependency with $itemName. + * + * This method returns the current DependencyContainer instance because it + * requires the use of the fluid interface to set the specific details for the + * dependency. + * + * @see asNewInstanceOf(), asSharedInstanceOf(), asValue() + * + * @param string $itemName + * + * @return $this + */ + public function register($itemName) + { + $this->_store[$itemName] = array(); + $this->_endPoint = &$this->_store[$itemName]; + + return $this; + } + + /** + * Specify the previously registered item as a literal value. + * + * {@link register()} must be called before this will work. + * + * @param mixed $value + * + * @return $this + */ + public function asValue($value) + { + $endPoint = &$this->_getEndPoint(); + $endPoint['lookupType'] = self::TYPE_VALUE; + $endPoint['value'] = $value; + + return $this; + } + + /** + * Specify the previously registered item as an alias of another item. + * + * @param string $lookup + * + * @return $this + */ + public function asAliasOf($lookup) + { + $endPoint = &$this->_getEndPoint(); + $endPoint['lookupType'] = self::TYPE_ALIAS; + $endPoint['ref'] = $lookup; + + return $this; + } + + /** + * Specify the previously registered item as a new instance of $className. + * + * {@link register()} must be called before this will work. + * Any arguments can be set with {@link withDependencies()}, + * {@link addConstructorValue()} or {@link addConstructorLookup()}. + * + * @see withDependencies(), addConstructorValue(), addConstructorLookup() + * + * @param string $className + * + * @return $this + */ + public function asNewInstanceOf($className) + { + $endPoint = &$this->_getEndPoint(); + $endPoint['lookupType'] = self::TYPE_INSTANCE; + $endPoint['className'] = $className; + + return $this; + } + + /** + * Specify the previously registered item as a shared instance of $className. + * + * {@link register()} must be called before this will work. + * + * @param string $className + * + * @return $this + */ + public function asSharedInstanceOf($className) + { + $endPoint = &$this->_getEndPoint(); + $endPoint['lookupType'] = self::TYPE_SHARED; + $endPoint['className'] = $className; + + return $this; + } + + /** + * Specify a list of injected dependencies for the previously registered item. + * + * This method takes an array of lookup names. + * + * @see addConstructorValue(), addConstructorLookup() + * + * @param array $lookups + * + * @return $this + */ + public function withDependencies(array $lookups) + { + $endPoint = &$this->_getEndPoint(); + $endPoint['args'] = array(); + foreach ($lookups as $lookup) { + $this->addConstructorLookup($lookup); + } + + return $this; + } + + /** + * Specify a literal (non looked up) value for the constructor of the + * previously registered item. + * + * @see withDependencies(), addConstructorLookup() + * + * @param mixed $value + * + * @return $this + */ + public function addConstructorValue($value) + { + $endPoint = &$this->_getEndPoint(); + if (!isset($endPoint['args'])) { + $endPoint['args'] = array(); + } + $endPoint['args'][] = array('type' => 'value', 'item' => $value); + + return $this; + } + + /** + * Specify a dependency lookup for the constructor of the previously + * registered item. + * + * @see withDependencies(), addConstructorValue() + * + * @param string $lookup + * + * @return $this + */ + public function addConstructorLookup($lookup) + { + $endPoint = &$this->_getEndPoint(); + if (!isset($this->_endPoint['args'])) { + $endPoint['args'] = array(); + } + $endPoint['args'][] = array('type' => 'lookup', 'item' => $lookup); + + return $this; + } + + /** Get the literal value with $itemName */ + private function _getValue($itemName) + { + return $this->_store[$itemName]['value']; + } + + /** Resolve an alias to another item */ + private function _createAlias($itemName) + { + return $this->lookup($this->_store[$itemName]['ref']); + } + + /** Create a fresh instance of $itemName */ + private function _createNewInstance($itemName) + { + $reflector = new ReflectionClass($this->_store[$itemName]['className']); + if ($reflector->getConstructor()) { + return $reflector->newInstanceArgs( + $this->createDependenciesFor($itemName) + ); + } + + return $reflector->newInstance(); + } + + /** Create and register a shared instance of $itemName */ + private function _createSharedInstance($itemName) + { + if (!isset($this->_store[$itemName]['instance'])) { + $this->_store[$itemName]['instance'] = $this->_createNewInstance($itemName); + } + + return $this->_store[$itemName]['instance']; + } + + /** Get the current endpoint in the store */ + private function &_getEndPoint() + { + if (!isset($this->_endPoint)) { + throw new BadMethodCallException( + 'Component must first be registered by calling register()' + ); + } + + return $this->_endPoint; + } + + /** Get an argument list with dependencies resolved */ + private function _resolveArgs(array $args) + { + $resolved = array(); + foreach ($args as $argDefinition) { + switch ($argDefinition['type']) { + case 'lookup': + $resolved[] = $this->_lookupRecursive($argDefinition['item']); + break; + case 'value': + $resolved[] = $argDefinition['item']; + break; + } + } + + return $resolved; + } + + /** Resolve a single dependency with an collections */ + private function _lookupRecursive($item) + { + if (is_array($item)) { + $collection = array(); + foreach ($item as $k => $v) { + $collection[$k] = $this->_lookupRecursive($v); + } + + return $collection; + } + + return $this->lookup($item); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/DependencyException.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/DependencyException.php new file mode 100644 index 0000000..799d38d --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/DependencyException.php @@ -0,0 +1,27 @@ +createDependenciesFor('mime.embeddedfile') + ); + + $this->setBody($data); + $this->setFilename($filename); + if ($contentType) { + $this->setContentType($contentType); + } + } + + /** + * Create a new EmbeddedFile. + * + * @param string|Swift_OutputByteStream $data + * @param string $filename + * @param string $contentType + * + * @return Swift_Mime_EmbeddedFile + */ + public static function newInstance($data = null, $filename = null, $contentType = null) + { + return new self($data, $filename, $contentType); + } + + /** + * Create a new EmbeddedFile from a filesystem path. + * + * @param string $path + * + * @return Swift_Mime_EmbeddedFile + */ + public static function fromPath($path) + { + return self::newInstance()->setFile( + new Swift_ByteStream_FileByteStream($path) + ); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder.php new file mode 100644 index 0000000..2073abc --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder.php @@ -0,0 +1,28 @@ += $maxLineLength || 76 < $maxLineLength) { + $maxLineLength = 76; + } + + $encodedString = base64_encode($string); + $firstLine = ''; + + if (0 != $firstLineOffset) { + $firstLine = substr( + $encodedString, 0, $maxLineLength - $firstLineOffset + )."\r\n"; + $encodedString = substr( + $encodedString, $maxLineLength - $firstLineOffset + ); + } + + return $firstLine.trim(chunk_split($encodedString, $maxLineLength, "\r\n")); + } + + /** + * Does nothing. + */ + public function charsetChanged($charset) + { + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/QpEncoder.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/QpEncoder.php new file mode 100644 index 0000000..edec10c --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/QpEncoder.php @@ -0,0 +1,300 @@ + '=00', 1 => '=01', 2 => '=02', 3 => '=03', 4 => '=04', + 5 => '=05', 6 => '=06', 7 => '=07', 8 => '=08', 9 => '=09', + 10 => '=0A', 11 => '=0B', 12 => '=0C', 13 => '=0D', 14 => '=0E', + 15 => '=0F', 16 => '=10', 17 => '=11', 18 => '=12', 19 => '=13', + 20 => '=14', 21 => '=15', 22 => '=16', 23 => '=17', 24 => '=18', + 25 => '=19', 26 => '=1A', 27 => '=1B', 28 => '=1C', 29 => '=1D', + 30 => '=1E', 31 => '=1F', 32 => '=20', 33 => '=21', 34 => '=22', + 35 => '=23', 36 => '=24', 37 => '=25', 38 => '=26', 39 => '=27', + 40 => '=28', 41 => '=29', 42 => '=2A', 43 => '=2B', 44 => '=2C', + 45 => '=2D', 46 => '=2E', 47 => '=2F', 48 => '=30', 49 => '=31', + 50 => '=32', 51 => '=33', 52 => '=34', 53 => '=35', 54 => '=36', + 55 => '=37', 56 => '=38', 57 => '=39', 58 => '=3A', 59 => '=3B', + 60 => '=3C', 61 => '=3D', 62 => '=3E', 63 => '=3F', 64 => '=40', + 65 => '=41', 66 => '=42', 67 => '=43', 68 => '=44', 69 => '=45', + 70 => '=46', 71 => '=47', 72 => '=48', 73 => '=49', 74 => '=4A', + 75 => '=4B', 76 => '=4C', 77 => '=4D', 78 => '=4E', 79 => '=4F', + 80 => '=50', 81 => '=51', 82 => '=52', 83 => '=53', 84 => '=54', + 85 => '=55', 86 => '=56', 87 => '=57', 88 => '=58', 89 => '=59', + 90 => '=5A', 91 => '=5B', 92 => '=5C', 93 => '=5D', 94 => '=5E', + 95 => '=5F', 96 => '=60', 97 => '=61', 98 => '=62', 99 => '=63', + 100 => '=64', 101 => '=65', 102 => '=66', 103 => '=67', 104 => '=68', + 105 => '=69', 106 => '=6A', 107 => '=6B', 108 => '=6C', 109 => '=6D', + 110 => '=6E', 111 => '=6F', 112 => '=70', 113 => '=71', 114 => '=72', + 115 => '=73', 116 => '=74', 117 => '=75', 118 => '=76', 119 => '=77', + 120 => '=78', 121 => '=79', 122 => '=7A', 123 => '=7B', 124 => '=7C', + 125 => '=7D', 126 => '=7E', 127 => '=7F', 128 => '=80', 129 => '=81', + 130 => '=82', 131 => '=83', 132 => '=84', 133 => '=85', 134 => '=86', + 135 => '=87', 136 => '=88', 137 => '=89', 138 => '=8A', 139 => '=8B', + 140 => '=8C', 141 => '=8D', 142 => '=8E', 143 => '=8F', 144 => '=90', + 145 => '=91', 146 => '=92', 147 => '=93', 148 => '=94', 149 => '=95', + 150 => '=96', 151 => '=97', 152 => '=98', 153 => '=99', 154 => '=9A', + 155 => '=9B', 156 => '=9C', 157 => '=9D', 158 => '=9E', 159 => '=9F', + 160 => '=A0', 161 => '=A1', 162 => '=A2', 163 => '=A3', 164 => '=A4', + 165 => '=A5', 166 => '=A6', 167 => '=A7', 168 => '=A8', 169 => '=A9', + 170 => '=AA', 171 => '=AB', 172 => '=AC', 173 => '=AD', 174 => '=AE', + 175 => '=AF', 176 => '=B0', 177 => '=B1', 178 => '=B2', 179 => '=B3', + 180 => '=B4', 181 => '=B5', 182 => '=B6', 183 => '=B7', 184 => '=B8', + 185 => '=B9', 186 => '=BA', 187 => '=BB', 188 => '=BC', 189 => '=BD', + 190 => '=BE', 191 => '=BF', 192 => '=C0', 193 => '=C1', 194 => '=C2', + 195 => '=C3', 196 => '=C4', 197 => '=C5', 198 => '=C6', 199 => '=C7', + 200 => '=C8', 201 => '=C9', 202 => '=CA', 203 => '=CB', 204 => '=CC', + 205 => '=CD', 206 => '=CE', 207 => '=CF', 208 => '=D0', 209 => '=D1', + 210 => '=D2', 211 => '=D3', 212 => '=D4', 213 => '=D5', 214 => '=D6', + 215 => '=D7', 216 => '=D8', 217 => '=D9', 218 => '=DA', 219 => '=DB', + 220 => '=DC', 221 => '=DD', 222 => '=DE', 223 => '=DF', 224 => '=E0', + 225 => '=E1', 226 => '=E2', 227 => '=E3', 228 => '=E4', 229 => '=E5', + 230 => '=E6', 231 => '=E7', 232 => '=E8', 233 => '=E9', 234 => '=EA', + 235 => '=EB', 236 => '=EC', 237 => '=ED', 238 => '=EE', 239 => '=EF', + 240 => '=F0', 241 => '=F1', 242 => '=F2', 243 => '=F3', 244 => '=F4', + 245 => '=F5', 246 => '=F6', 247 => '=F7', 248 => '=F8', 249 => '=F9', + 250 => '=FA', 251 => '=FB', 252 => '=FC', 253 => '=FD', 254 => '=FE', + 255 => '=FF', + ); + + protected static $_safeMapShare = array(); + + /** + * A map of non-encoded ascii characters. + * + * @var string[] + */ + protected $_safeMap = array(); + + /** + * Creates a new QpEncoder for the given CharacterStream. + * + * @param Swift_CharacterStream $charStream to use for reading characters + * @param Swift_StreamFilter $filter if input should be canonicalized + */ + public function __construct(Swift_CharacterStream $charStream, Swift_StreamFilter $filter = null) + { + $this->_charStream = $charStream; + if (!isset(self::$_safeMapShare[$this->getSafeMapShareId()])) { + $this->initSafeMap(); + self::$_safeMapShare[$this->getSafeMapShareId()] = $this->_safeMap; + } else { + $this->_safeMap = self::$_safeMapShare[$this->getSafeMapShareId()]; + } + $this->_filter = $filter; + } + + public function __sleep() + { + return array('_charStream', '_filter'); + } + + public function __wakeup() + { + if (!isset(self::$_safeMapShare[$this->getSafeMapShareId()])) { + $this->initSafeMap(); + self::$_safeMapShare[$this->getSafeMapShareId()] = $this->_safeMap; + } else { + $this->_safeMap = self::$_safeMapShare[$this->getSafeMapShareId()]; + } + } + + protected function getSafeMapShareId() + { + return get_class($this); + } + + protected function initSafeMap() + { + foreach (array_merge( + array(0x09, 0x20), range(0x21, 0x3C), range(0x3E, 0x7E)) as $byte) { + $this->_safeMap[$byte] = chr($byte); + } + } + + /** + * Takes an unencoded string and produces a QP encoded string from it. + * + * QP encoded strings have a maximum line length of 76 characters. + * If the first line needs to be shorter, indicate the difference with + * $firstLineOffset. + * + * @param string $string to encode + * @param int $firstLineOffset, optional + * @param int $maxLineLength, optional 0 indicates the default of 76 chars + * + * @return string + */ + public function encodeString($string, $firstLineOffset = 0, $maxLineLength = 0) + { + if ($maxLineLength > 76 || $maxLineLength <= 0) { + $maxLineLength = 76; + } + + $thisLineLength = $maxLineLength - $firstLineOffset; + + $lines = array(); + $lNo = 0; + $lines[$lNo] = ''; + $currentLine = &$lines[$lNo++]; + $size = $lineLen = 0; + + $this->_charStream->flushContents(); + $this->_charStream->importString($string); + + // Fetching more than 4 chars at one is slower, as is fetching fewer bytes + // Conveniently 4 chars is the UTF-8 safe number since UTF-8 has up to 6 + // bytes per char and (6 * 4 * 3 = 72 chars per line) * =NN is 3 bytes + while (false !== $bytes = $this->_nextSequence()) { + // If we're filtering the input + if (isset($this->_filter)) { + // If we can't filter because we need more bytes + while ($this->_filter->shouldBuffer($bytes)) { + // Then collect bytes into the buffer + if (false === $moreBytes = $this->_nextSequence(1)) { + break; + } + + foreach ($moreBytes as $b) { + $bytes[] = $b; + } + } + // And filter them + $bytes = $this->_filter->filter($bytes); + } + + $enc = $this->_encodeByteSequence($bytes, $size); + + $i = strpos($enc, '=0D=0A'); + $newLineLength = $lineLen + ($i === false ? $size : $i); + + if ($currentLine && $newLineLength >= $thisLineLength) { + $lines[$lNo] = ''; + $currentLine = &$lines[$lNo++]; + $thisLineLength = $maxLineLength; + $lineLen = 0; + } + + $currentLine .= $enc; + + if ($i === false) { + $lineLen += $size; + } else { + // 6 is the length of '=0D=0A'. + $lineLen = $size - strrpos($enc, '=0D=0A') - 6; + } + } + + return $this->_standardize(implode("=\r\n", $lines)); + } + + /** + * Updates the charset used. + * + * @param string $charset + */ + public function charsetChanged($charset) + { + $this->_charStream->setCharacterSet($charset); + } + + /** + * Encode the given byte array into a verbatim QP form. + * + * @param int[] $bytes + * @param int $size + * + * @return string + */ + protected function _encodeByteSequence(array $bytes, &$size) + { + $ret = ''; + $size = 0; + foreach ($bytes as $b) { + if (isset($this->_safeMap[$b])) { + $ret .= $this->_safeMap[$b]; + ++$size; + } else { + $ret .= self::$_qpMap[$b]; + $size += 3; + } + } + + return $ret; + } + + /** + * Get the next sequence of bytes to read from the char stream. + * + * @param int $size number of bytes to read + * + * @return int[] + */ + protected function _nextSequence($size = 4) + { + return $this->_charStream->readBytes($size); + } + + /** + * Make sure CRLF is correct and HT/SPACE are in valid places. + * + * @param string $string + * + * @return string + */ + protected function _standardize($string) + { + $string = str_replace(array("\t=0D=0A", ' =0D=0A', '=0D=0A'), + array("=09\r\n", "=20\r\n", "\r\n"), $string + ); + switch ($end = ord(substr($string, -1))) { + case 0x09: + case 0x20: + $string = substr_replace($string, self::$_qpMap[$end], -1); + } + + return $string; + } + + /** + * Make a deep copy of object. + */ + public function __clone() + { + $this->_charStream = clone $this->_charStream; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/Rfc2231Encoder.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/Rfc2231Encoder.php new file mode 100644 index 0000000..b0215e8 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/Rfc2231Encoder.php @@ -0,0 +1,92 @@ +_charStream = $charStream; + } + + /** + * Takes an unencoded string and produces a string encoded according to + * RFC 2231 from it. + * + * @param string $string + * @param int $firstLineOffset + * @param int $maxLineLength optional, 0 indicates the default of 75 bytes + * + * @return string + */ + public function encodeString($string, $firstLineOffset = 0, $maxLineLength = 0) + { + $lines = array(); + $lineCount = 0; + $lines[] = ''; + $currentLine = &$lines[$lineCount++]; + + if (0 >= $maxLineLength) { + $maxLineLength = 75; + } + + $this->_charStream->flushContents(); + $this->_charStream->importString($string); + + $thisLineLength = $maxLineLength - $firstLineOffset; + + while (false !== $char = $this->_charStream->read(4)) { + $encodedChar = rawurlencode($char); + if (0 != strlen($currentLine) + && strlen($currentLine.$encodedChar) > $thisLineLength) { + $lines[] = ''; + $currentLine = &$lines[$lineCount++]; + $thisLineLength = $maxLineLength; + } + $currentLine .= $encodedChar; + } + + return implode("\r\n", $lines); + } + + /** + * Updates the charset used. + * + * @param string $charset + */ + public function charsetChanged($charset) + { + $this->_charStream->setCharacterSet($charset); + } + + /** + * Make a deep copy of object. + */ + public function __clone() + { + $this->_charStream = clone $this->_charStream; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoding.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoding.php new file mode 100644 index 0000000..2458787 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Encoding.php @@ -0,0 +1,62 @@ +lookup($key); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/CommandEvent.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/CommandEvent.php new file mode 100644 index 0000000..674e6b5 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/CommandEvent.php @@ -0,0 +1,65 @@ +_command = $command; + $this->_successCodes = $successCodes; + } + + /** + * Get the command which was sent to the server. + * + * @return string + */ + public function getCommand() + { + return $this->_command; + } + + /** + * Get the numeric response codes which indicate success for this command. + * + * @return int[] + */ + public function getSuccessCodes() + { + return $this->_successCodes; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/CommandListener.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/CommandListener.php new file mode 100644 index 0000000..7545404 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/CommandListener.php @@ -0,0 +1,24 @@ +_source = $source; + } + + /** + * Get the source object of this event. + * + * @return object + */ + public function getSource() + { + return $this->_source; + } + + /** + * Prevent this Event from bubbling any further up the stack. + * + * @param bool $cancel, optional + */ + public function cancelBubble($cancel = true) + { + $this->_bubbleCancelled = $cancel; + } + + /** + * Returns true if this Event will not bubble any further up the stack. + * + * @return bool + */ + public function bubbleCancelled() + { + return $this->_bubbleCancelled; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/ResponseEvent.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/ResponseEvent.php new file mode 100644 index 0000000..2e92ba9 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/ResponseEvent.php @@ -0,0 +1,65 @@ +_response = $response; + $this->_valid = $valid; + } + + /** + * Get the response which was received from the server. + * + * @return string + */ + public function getResponse() + { + return $this->_response; + } + + /** + * Get the success status of this Event. + * + * @return bool + */ + public function isValid() + { + return $this->_valid; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/ResponseListener.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/ResponseListener.php new file mode 100644 index 0000000..c40919d --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/ResponseListener.php @@ -0,0 +1,24 @@ +_message = $message; + $this->_result = self::RESULT_PENDING; + } + + /** + * Get the Transport used to send the Message. + * + * @return Swift_Transport + */ + public function getTransport() + { + return $this->getSource(); + } + + /** + * Get the Message being sent. + * + * @return Swift_Mime_Message + */ + public function getMessage() + { + return $this->_message; + } + + /** + * Set the array of addresses that failed in sending. + * + * @param array $recipients + */ + public function setFailedRecipients($recipients) + { + $this->_failedRecipients = $recipients; + } + + /** + * Get an recipient addresses which were not accepted for delivery. + * + * @return string[] + */ + public function getFailedRecipients() + { + return $this->_failedRecipients; + } + + /** + * Set the result of sending. + * + * @param int $result + */ + public function setResult($result) + { + $this->_result = $result; + } + + /** + * Get the result of this Event. + * + * The return value is a bitmask from + * {@see RESULT_PENDING, RESULT_SUCCESS, RESULT_TENTATIVE, RESULT_FAILED} + * + * @return int + */ + public function getResult() + { + return $this->_result; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/SendListener.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/SendListener.php new file mode 100644 index 0000000..d922e1b --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/SendListener.php @@ -0,0 +1,31 @@ +_eventMap = array( + 'Swift_Events_CommandEvent' => 'Swift_Events_CommandListener', + 'Swift_Events_ResponseEvent' => 'Swift_Events_ResponseListener', + 'Swift_Events_SendEvent' => 'Swift_Events_SendListener', + 'Swift_Events_TransportChangeEvent' => 'Swift_Events_TransportChangeListener', + 'Swift_Events_TransportExceptionEvent' => 'Swift_Events_TransportExceptionListener', + ); + } + + /** + * Create a new SendEvent for $source and $message. + * + * @param Swift_Transport $source + * @param Swift_Mime_Message + * + * @return Swift_Events_SendEvent + */ + public function createSendEvent(Swift_Transport $source, Swift_Mime_Message $message) + { + return new Swift_Events_SendEvent($source, $message); + } + + /** + * Create a new CommandEvent for $source and $command. + * + * @param Swift_Transport $source + * @param string $command That will be executed + * @param array $successCodes That are needed + * + * @return Swift_Events_CommandEvent + */ + public function createCommandEvent(Swift_Transport $source, $command, $successCodes = array()) + { + return new Swift_Events_CommandEvent($source, $command, $successCodes); + } + + /** + * Create a new ResponseEvent for $source and $response. + * + * @param Swift_Transport $source + * @param string $response + * @param bool $valid If the response is valid + * + * @return Swift_Events_ResponseEvent + */ + public function createResponseEvent(Swift_Transport $source, $response, $valid) + { + return new Swift_Events_ResponseEvent($source, $response, $valid); + } + + /** + * Create a new TransportChangeEvent for $source. + * + * @param Swift_Transport $source + * + * @return Swift_Events_TransportChangeEvent + */ + public function createTransportChangeEvent(Swift_Transport $source) + { + return new Swift_Events_TransportChangeEvent($source); + } + + /** + * Create a new TransportExceptionEvent for $source. + * + * @param Swift_Transport $source + * @param Swift_TransportException $ex + * + * @return Swift_Events_TransportExceptionEvent + */ + public function createTransportExceptionEvent(Swift_Transport $source, Swift_TransportException $ex) + { + return new Swift_Events_TransportExceptionEvent($source, $ex); + } + + /** + * Bind an event listener to this dispatcher. + * + * @param Swift_Events_EventListener $listener + */ + public function bindEventListener(Swift_Events_EventListener $listener) + { + foreach ($this->_listeners as $l) { + // Already loaded + if ($l === $listener) { + return; + } + } + $this->_listeners[] = $listener; + } + + /** + * Dispatch the given Event to all suitable listeners. + * + * @param Swift_Events_EventObject $evt + * @param string $target method + */ + public function dispatchEvent(Swift_Events_EventObject $evt, $target) + { + $this->_prepareBubbleQueue($evt); + $this->_bubble($evt, $target); + } + + /** Queue listeners on a stack ready for $evt to be bubbled up it */ + private function _prepareBubbleQueue(Swift_Events_EventObject $evt) + { + $this->_bubbleQueue = array(); + $evtClass = get_class($evt); + foreach ($this->_listeners as $listener) { + if (array_key_exists($evtClass, $this->_eventMap) + && ($listener instanceof $this->_eventMap[$evtClass])) { + $this->_bubbleQueue[] = $listener; + } + } + } + + /** Bubble $evt up the stack calling $target() on each listener */ + private function _bubble(Swift_Events_EventObject $evt, $target) + { + if (!$evt->bubbleCancelled() && $listener = array_shift($this->_bubbleQueue)) { + $listener->$target($evt); + $this->_bubble($evt, $target); + } + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportChangeEvent.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportChangeEvent.php new file mode 100644 index 0000000..a8972fd --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportChangeEvent.php @@ -0,0 +1,27 @@ +getSource(); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportChangeListener.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportChangeListener.php new file mode 100644 index 0000000..253165d --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportChangeListener.php @@ -0,0 +1,45 @@ +_exception = $ex; + } + + /** + * Get the TransportException thrown. + * + * @return Swift_TransportException + */ + public function getException() + { + return $this->_exception; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportExceptionListener.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportExceptionListener.php new file mode 100644 index 0000000..cc3c099 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportExceptionListener.php @@ -0,0 +1,24 @@ +createDependenciesFor('transport.failover') + ); + + $this->setTransports($transports); + } + + /** + * Create a new FailoverTransport instance. + * + * @param Swift_Transport[] $transports + * + * @return self + */ + public static function newInstance($transports = array()) + { + return new self($transports); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/FileSpool.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/FileSpool.php new file mode 100644 index 0000000..c82c5db --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/FileSpool.php @@ -0,0 +1,208 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +/** + * Stores Messages on the filesystem. + * + * @author Fabien Potencier + * @author Xavier De Cock + */ +class Swift_FileSpool extends Swift_ConfigurableSpool +{ + /** The spool directory */ + private $_path; + + /** + * File WriteRetry Limit. + * + * @var int + */ + private $_retryLimit = 10; + + /** + * Create a new FileSpool. + * + * @param string $path + * + * @throws Swift_IoException + */ + public function __construct($path) + { + $this->_path = $path; + + if (!file_exists($this->_path)) { + if (!mkdir($this->_path, 0777, true)) { + throw new Swift_IoException(sprintf('Unable to create path "%s".', $this->_path)); + } + } + } + + /** + * Tests if this Spool mechanism has started. + * + * @return bool + */ + public function isStarted() + { + return true; + } + + /** + * Starts this Spool mechanism. + */ + public function start() + { + } + + /** + * Stops this Spool mechanism. + */ + public function stop() + { + } + + /** + * Allow to manage the enqueuing retry limit. + * + * Default, is ten and allows over 64^20 different fileNames + * + * @param int $limit + */ + public function setRetryLimit($limit) + { + $this->_retryLimit = $limit; + } + + /** + * Queues a message. + * + * @param Swift_Mime_Message $message The message to store + * + * @throws Swift_IoException + * + * @return bool + */ + public function queueMessage(Swift_Mime_Message $message) + { + $ser = serialize($message); + $fileName = $this->_path.'/'.$this->getRandomString(10); + for ($i = 0; $i < $this->_retryLimit; ++$i) { + /* We try an exclusive creation of the file. This is an atomic operation, it avoid locking mechanism */ + $fp = @fopen($fileName.'.message', 'x'); + if (false !== $fp) { + if (false === fwrite($fp, $ser)) { + return false; + } + + return fclose($fp); + } else { + /* The file already exists, we try a longer fileName */ + $fileName .= $this->getRandomString(1); + } + } + + throw new Swift_IoException(sprintf('Unable to create a file for enqueuing Message in "%s".', $this->_path)); + } + + /** + * Execute a recovery if for any reason a process is sending for too long. + * + * @param int $timeout in second Defaults is for very slow smtp responses + */ + public function recover($timeout = 900) + { + foreach (new DirectoryIterator($this->_path) as $file) { + $file = $file->getRealPath(); + + if (substr($file, -16) == '.message.sending') { + $lockedtime = filectime($file); + if ((time() - $lockedtime) > $timeout) { + rename($file, substr($file, 0, -8)); + } + } + } + } + + /** + * Sends messages using the given transport instance. + * + * @param Swift_Transport $transport A transport instance + * @param string[] $failedRecipients An array of failures by-reference + * + * @return int The number of sent e-mail's + */ + public function flushQueue(Swift_Transport $transport, &$failedRecipients = null) + { + $directoryIterator = new DirectoryIterator($this->_path); + + /* Start the transport only if there are queued files to send */ + if (!$transport->isStarted()) { + foreach ($directoryIterator as $file) { + if (substr($file->getRealPath(), -8) == '.message') { + $transport->start(); + break; + } + } + } + + $failedRecipients = (array) $failedRecipients; + $count = 0; + $time = time(); + foreach ($directoryIterator as $file) { + $file = $file->getRealPath(); + + if (substr($file, -8) != '.message') { + continue; + } + + /* We try a rename, it's an atomic operation, and avoid locking the file */ + if (rename($file, $file.'.sending')) { + $message = unserialize(file_get_contents($file.'.sending')); + + $count += $transport->send($message, $failedRecipients); + + unlink($file.'.sending'); + } else { + /* This message has just been catched by another process */ + continue; + } + + if ($this->getMessageLimit() && $count >= $this->getMessageLimit()) { + break; + } + + if ($this->getTimeLimit() && (time() - $time) >= $this->getTimeLimit()) { + break; + } + } + + return $count; + } + + /** + * Returns a random string needed to generate a fileName for the queue. + * + * @param int $count + * + * @return string + */ + protected function getRandomString($count) + { + // This string MUST stay FS safe, avoid special chars + $base = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-'; + $ret = ''; + $strlen = strlen($base); + for ($i = 0; $i < $count; ++$i) { + $ret .= $base[((int) rand(0, $strlen - 1))]; + } + + return $ret; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/FileStream.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/FileStream.php new file mode 100644 index 0000000..0b24db1 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/FileStream.php @@ -0,0 +1,24 @@ +setFile(new Swift_ByteStream_FileByteStream($path)); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/InputByteStream.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/InputByteStream.php new file mode 100644 index 0000000..56efc75 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/InputByteStream.php @@ -0,0 +1,75 @@ +_stream = $stream; + } + + /** + * Set a string into the cache under $itemKey for the namespace $nsKey. + * + * @see MODE_WRITE, MODE_APPEND + * + * @param string $nsKey + * @param string $itemKey + * @param string $string + * @param int $mode + */ + public function setString($nsKey, $itemKey, $string, $mode) + { + $this->_prepareCache($nsKey); + switch ($mode) { + case self::MODE_WRITE: + $this->_contents[$nsKey][$itemKey] = $string; + break; + case self::MODE_APPEND: + if (!$this->hasKey($nsKey, $itemKey)) { + $this->_contents[$nsKey][$itemKey] = ''; + } + $this->_contents[$nsKey][$itemKey] .= $string; + break; + default: + throw new Swift_SwiftException( + 'Invalid mode ['.$mode.'] used to set nsKey='. + $nsKey.', itemKey='.$itemKey + ); + } + } + + /** + * Set a ByteStream into the cache under $itemKey for the namespace $nsKey. + * + * @see MODE_WRITE, MODE_APPEND + * + * @param string $nsKey + * @param string $itemKey + * @param Swift_OutputByteStream $os + * @param int $mode + */ + public function importFromByteStream($nsKey, $itemKey, Swift_OutputByteStream $os, $mode) + { + $this->_prepareCache($nsKey); + switch ($mode) { + case self::MODE_WRITE: + $this->clearKey($nsKey, $itemKey); + case self::MODE_APPEND: + if (!$this->hasKey($nsKey, $itemKey)) { + $this->_contents[$nsKey][$itemKey] = ''; + } + while (false !== $bytes = $os->read(8192)) { + $this->_contents[$nsKey][$itemKey] .= $bytes; + } + break; + default: + throw new Swift_SwiftException( + 'Invalid mode ['.$mode.'] used to set nsKey='. + $nsKey.', itemKey='.$itemKey + ); + } + } + + /** + * Provides a ByteStream which when written to, writes data to $itemKey. + * + * NOTE: The stream will always write in append mode. + * + * @param string $nsKey + * @param string $itemKey + * @param Swift_InputByteStream $writeThrough + * + * @return Swift_InputByteStream + */ + public function getInputByteStream($nsKey, $itemKey, Swift_InputByteStream $writeThrough = null) + { + $is = clone $this->_stream; + $is->setKeyCache($this); + $is->setNsKey($nsKey); + $is->setItemKey($itemKey); + if (isset($writeThrough)) { + $is->setWriteThroughStream($writeThrough); + } + + return $is; + } + + /** + * Get data back out of the cache as a string. + * + * @param string $nsKey + * @param string $itemKey + * + * @return string + */ + public function getString($nsKey, $itemKey) + { + $this->_prepareCache($nsKey); + if ($this->hasKey($nsKey, $itemKey)) { + return $this->_contents[$nsKey][$itemKey]; + } + } + + /** + * Get data back out of the cache as a ByteStream. + * + * @param string $nsKey + * @param string $itemKey + * @param Swift_InputByteStream $is to write the data to + */ + public function exportToByteStream($nsKey, $itemKey, Swift_InputByteStream $is) + { + $this->_prepareCache($nsKey); + $is->write($this->getString($nsKey, $itemKey)); + } + + /** + * Check if the given $itemKey exists in the namespace $nsKey. + * + * @param string $nsKey + * @param string $itemKey + * + * @return bool + */ + public function hasKey($nsKey, $itemKey) + { + $this->_prepareCache($nsKey); + + return array_key_exists($itemKey, $this->_contents[$nsKey]); + } + + /** + * Clear data for $itemKey in the namespace $nsKey if it exists. + * + * @param string $nsKey + * @param string $itemKey + */ + public function clearKey($nsKey, $itemKey) + { + unset($this->_contents[$nsKey][$itemKey]); + } + + /** + * Clear all data in the namespace $nsKey if it exists. + * + * @param string $nsKey + */ + public function clearAll($nsKey) + { + unset($this->_contents[$nsKey]); + } + + /** + * Initialize the namespace of $nsKey if needed. + * + * @param string $nsKey + */ + private function _prepareCache($nsKey) + { + if (!array_key_exists($nsKey, $this->_contents)) { + $this->_contents[$nsKey] = array(); + } + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/DiskKeyCache.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/DiskKeyCache.php new file mode 100644 index 0000000..453f50a --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/DiskKeyCache.php @@ -0,0 +1,321 @@ +_stream = $stream; + $this->_path = $path; + + if (function_exists('get_magic_quotes_runtime') && @get_magic_quotes_runtime() == 1) { + $this->_quotes = true; + } + } + + /** + * Set a string into the cache under $itemKey for the namespace $nsKey. + * + * @see MODE_WRITE, MODE_APPEND + * + * @param string $nsKey + * @param string $itemKey + * @param string $string + * @param int $mode + * + * @throws Swift_IoException + */ + public function setString($nsKey, $itemKey, $string, $mode) + { + $this->_prepareCache($nsKey); + switch ($mode) { + case self::MODE_WRITE: + $fp = $this->_getHandle($nsKey, $itemKey, self::POSITION_START); + break; + case self::MODE_APPEND: + $fp = $this->_getHandle($nsKey, $itemKey, self::POSITION_END); + break; + default: + throw new Swift_SwiftException( + 'Invalid mode ['.$mode.'] used to set nsKey='. + $nsKey.', itemKey='.$itemKey + ); + break; + } + fwrite($fp, $string); + $this->_freeHandle($nsKey, $itemKey); + } + + /** + * Set a ByteStream into the cache under $itemKey for the namespace $nsKey. + * + * @see MODE_WRITE, MODE_APPEND + * + * @param string $nsKey + * @param string $itemKey + * @param Swift_OutputByteStream $os + * @param int $mode + * + * @throws Swift_IoException + */ + public function importFromByteStream($nsKey, $itemKey, Swift_OutputByteStream $os, $mode) + { + $this->_prepareCache($nsKey); + switch ($mode) { + case self::MODE_WRITE: + $fp = $this->_getHandle($nsKey, $itemKey, self::POSITION_START); + break; + case self::MODE_APPEND: + $fp = $this->_getHandle($nsKey, $itemKey, self::POSITION_END); + break; + default: + throw new Swift_SwiftException( + 'Invalid mode ['.$mode.'] used to set nsKey='. + $nsKey.', itemKey='.$itemKey + ); + break; + } + while (false !== $bytes = $os->read(8192)) { + fwrite($fp, $bytes); + } + $this->_freeHandle($nsKey, $itemKey); + } + + /** + * Provides a ByteStream which when written to, writes data to $itemKey. + * + * NOTE: The stream will always write in append mode. + * + * @param string $nsKey + * @param string $itemKey + * @param Swift_InputByteStream $writeThrough + * + * @return Swift_InputByteStream + */ + public function getInputByteStream($nsKey, $itemKey, Swift_InputByteStream $writeThrough = null) + { + $is = clone $this->_stream; + $is->setKeyCache($this); + $is->setNsKey($nsKey); + $is->setItemKey($itemKey); + if (isset($writeThrough)) { + $is->setWriteThroughStream($writeThrough); + } + + return $is; + } + + /** + * Get data back out of the cache as a string. + * + * @param string $nsKey + * @param string $itemKey + * + * @throws Swift_IoException + * + * @return string + */ + public function getString($nsKey, $itemKey) + { + $this->_prepareCache($nsKey); + if ($this->hasKey($nsKey, $itemKey)) { + $fp = $this->_getHandle($nsKey, $itemKey, self::POSITION_START); + if ($this->_quotes) { + ini_set('magic_quotes_runtime', 0); + } + $str = ''; + while (!feof($fp) && false !== $bytes = fread($fp, 8192)) { + $str .= $bytes; + } + if ($this->_quotes) { + ini_set('magic_quotes_runtime', 1); + } + $this->_freeHandle($nsKey, $itemKey); + + return $str; + } + } + + /** + * Get data back out of the cache as a ByteStream. + * + * @param string $nsKey + * @param string $itemKey + * @param Swift_InputByteStream $is to write the data to + */ + public function exportToByteStream($nsKey, $itemKey, Swift_InputByteStream $is) + { + if ($this->hasKey($nsKey, $itemKey)) { + $fp = $this->_getHandle($nsKey, $itemKey, self::POSITION_START); + if ($this->_quotes) { + ini_set('magic_quotes_runtime', 0); + } + while (!feof($fp) && false !== $bytes = fread($fp, 8192)) { + $is->write($bytes); + } + if ($this->_quotes) { + ini_set('magic_quotes_runtime', 1); + } + $this->_freeHandle($nsKey, $itemKey); + } + } + + /** + * Check if the given $itemKey exists in the namespace $nsKey. + * + * @param string $nsKey + * @param string $itemKey + * + * @return bool + */ + public function hasKey($nsKey, $itemKey) + { + return is_file($this->_path.'/'.$nsKey.'/'.$itemKey); + } + + /** + * Clear data for $itemKey in the namespace $nsKey if it exists. + * + * @param string $nsKey + * @param string $itemKey + */ + public function clearKey($nsKey, $itemKey) + { + if ($this->hasKey($nsKey, $itemKey)) { + $this->_freeHandle($nsKey, $itemKey); + unlink($this->_path.'/'.$nsKey.'/'.$itemKey); + } + } + + /** + * Clear all data in the namespace $nsKey if it exists. + * + * @param string $nsKey + */ + public function clearAll($nsKey) + { + if (array_key_exists($nsKey, $this->_keys)) { + foreach ($this->_keys[$nsKey] as $itemKey => $null) { + $this->clearKey($nsKey, $itemKey); + } + if (is_dir($this->_path.'/'.$nsKey)) { + rmdir($this->_path.'/'.$nsKey); + } + unset($this->_keys[$nsKey]); + } + } + + /** + * Initialize the namespace of $nsKey if needed. + * + * @param string $nsKey + */ + private function _prepareCache($nsKey) + { + $cacheDir = $this->_path.'/'.$nsKey; + if (!is_dir($cacheDir)) { + if (!mkdir($cacheDir)) { + throw new Swift_IoException('Failed to create cache directory '.$cacheDir); + } + $this->_keys[$nsKey] = array(); + } + } + + /** + * Get a file handle on the cache item. + * + * @param string $nsKey + * @param string $itemKey + * @param int $position + * + * @return resource + */ + private function _getHandle($nsKey, $itemKey, $position) + { + if (!isset($this->_keys[$nsKey][$itemKey])) { + $openMode = $this->hasKey($nsKey, $itemKey) ? 'r+b' : 'w+b'; + $fp = fopen($this->_path.'/'.$nsKey.'/'.$itemKey, $openMode); + $this->_keys[$nsKey][$itemKey] = $fp; + } + if (self::POSITION_START == $position) { + fseek($this->_keys[$nsKey][$itemKey], 0, SEEK_SET); + } elseif (self::POSITION_END == $position) { + fseek($this->_keys[$nsKey][$itemKey], 0, SEEK_END); + } + + return $this->_keys[$nsKey][$itemKey]; + } + + private function _freeHandle($nsKey, $itemKey) + { + $fp = $this->_getHandle($nsKey, $itemKey, self::POSITION_CURRENT); + fclose($fp); + $this->_keys[$nsKey][$itemKey] = null; + } + + /** + * Destructor. + */ + public function __destruct() + { + foreach ($this->_keys as $nsKey => $null) { + $this->clearAll($nsKey); + } + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/KeyCacheInputStream.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/KeyCacheInputStream.php new file mode 100644 index 0000000..af80bdc --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/KeyCacheInputStream.php @@ -0,0 +1,51 @@ +_keyCache = $keyCache; + } + + /** + * Specify a stream to write through for each write(). + * + * @param Swift_InputByteStream $is + */ + public function setWriteThroughStream(Swift_InputByteStream $is) + { + $this->_writeThrough = $is; + } + + /** + * Writes $bytes to the end of the stream. + * + * @param string $bytes + * @param Swift_InputByteStream $is optional + */ + public function write($bytes, Swift_InputByteStream $is = null) + { + $this->_keyCache->setString( + $this->_nsKey, $this->_itemKey, $bytes, Swift_KeyCache::MODE_APPEND + ); + if (isset($is)) { + $is->write($bytes); + } + if (isset($this->_writeThrough)) { + $this->_writeThrough->write($bytes); + } + } + + /** + * Not used. + */ + public function commit() + { + } + + /** + * Not used. + */ + public function bind(Swift_InputByteStream $is) + { + } + + /** + * Not used. + */ + public function unbind(Swift_InputByteStream $is) + { + } + + /** + * Flush the contents of the stream (empty it) and set the internal pointer + * to the beginning. + */ + public function flushBuffers() + { + $this->_keyCache->clearKey($this->_nsKey, $this->_itemKey); + } + + /** + * Set the nsKey which will be written to. + * + * @param string $nsKey + */ + public function setNsKey($nsKey) + { + $this->_nsKey = $nsKey; + } + + /** + * Set the itemKey which will be written to. + * + * @param string $itemKey + */ + public function setItemKey($itemKey) + { + $this->_itemKey = $itemKey; + } + + /** + * Any implementation should be cloneable, allowing the clone to access a + * separate $nsKey and $itemKey. + */ + public function __clone() + { + $this->_writeThrough = null; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/LoadBalancedTransport.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/LoadBalancedTransport.php new file mode 100644 index 0000000..e151b8a --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/LoadBalancedTransport.php @@ -0,0 +1,45 @@ +createDependenciesFor('transport.loadbalanced') + ); + + $this->setTransports($transports); + } + + /** + * Create a new LoadBalancedTransport instance. + * + * @param array $transports + * + * @return self + */ + public static function newInstance($transports = array()) + { + return new self($transports); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/MailTransport.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/MailTransport.php new file mode 100644 index 0000000..1855698 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/MailTransport.php @@ -0,0 +1,47 @@ +createDependenciesFor('transport.mail') + ); + + $this->setExtraParams($extraParams); + } + + /** + * Create a new MailTransport instance. + * + * @param string $extraParams To be passed to mail() + * + * @return self + */ + public static function newInstance($extraParams = '-f%s') + { + return new self($extraParams); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer.php new file mode 100644 index 0000000..8314fe8 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer.php @@ -0,0 +1,114 @@ +_transport = $transport; + } + + /** + * Create a new Mailer instance. + * + * @param Swift_Transport $transport + * + * @return self + */ + public static function newInstance(Swift_Transport $transport) + { + return new self($transport); + } + + /** + * Create a new class instance of one of the message services. + * + * For example 'mimepart' would create a 'message.mimepart' instance + * + * @param string $service + * + * @return object + */ + public function createMessage($service = 'message') + { + return Swift_DependencyContainer::getInstance() + ->lookup('message.'.$service); + } + + /** + * Send the given Message like it would be sent in a mail client. + * + * All recipients (with the exception of Bcc) will be able to see the other + * recipients this message was sent to. + * + * Recipient/sender data will be retrieved from the Message object. + * + * The return value is the number of recipients who were accepted for + * delivery. + * + * @param Swift_Mime_Message $message + * @param array $failedRecipients An array of failures by-reference + * + * @return int The number of successful recipients. Can be 0 which indicates failure + */ + public function send(Swift_Mime_Message $message, &$failedRecipients = null) + { + $failedRecipients = (array) $failedRecipients; + + if (!$this->_transport->isStarted()) { + $this->_transport->start(); + } + + $sent = 0; + + try { + $sent = $this->_transport->send($message, $failedRecipients); + } catch (Swift_RfcComplianceException $e) { + foreach ($message->getTo() as $address => $name) { + $failedRecipients[] = $address; + } + } + + return $sent; + } + + /** + * Register a plugin using a known unique key (e.g. myPlugin). + * + * @param Swift_Events_EventListener $plugin + */ + public function registerPlugin(Swift_Events_EventListener $plugin) + { + $this->_transport->registerPlugin($plugin); + } + + /** + * The Transport used to send messages. + * + * @return Swift_Transport + */ + public function getTransport() + { + return $this->_transport; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer/ArrayRecipientIterator.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer/ArrayRecipientIterator.php new file mode 100644 index 0000000..e3e6cad --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer/ArrayRecipientIterator.php @@ -0,0 +1,55 @@ +_recipients = $recipients; + } + + /** + * Returns true only if there are more recipients to send to. + * + * @return bool + */ + public function hasNext() + { + return !empty($this->_recipients); + } + + /** + * Returns an array where the keys are the addresses of recipients and the + * values are the names. e.g. ('foo@bar' => 'Foo') or ('foo@bar' => NULL). + * + * @return array + */ + public function nextRecipient() + { + return array_splice($this->_recipients, 0, 1); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer/RecipientIterator.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer/RecipientIterator.php new file mode 100644 index 0000000..650f3ec --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer/RecipientIterator.php @@ -0,0 +1,32 @@ + 'Foo') or ('foo@bar' => NULL). + * + * @return array + */ + public function nextRecipient(); +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/MemorySpool.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/MemorySpool.php new file mode 100644 index 0000000..2cafb67 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/MemorySpool.php @@ -0,0 +1,110 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +/** + * Stores Messages in memory. + * + * @author Fabien Potencier + */ +class Swift_MemorySpool implements Swift_Spool +{ + protected $messages = array(); + private $flushRetries = 3; + + /** + * Tests if this Transport mechanism has started. + * + * @return bool + */ + public function isStarted() + { + return true; + } + + /** + * Starts this Transport mechanism. + */ + public function start() + { + } + + /** + * Stops this Transport mechanism. + */ + public function stop() + { + } + + /** + * @param int $retries + */ + public function setFlushRetries($retries) + { + $this->flushRetries = $retries; + } + + /** + * Stores a message in the queue. + * + * @param Swift_Mime_Message $message The message to store + * + * @return bool Whether the operation has succeeded + */ + public function queueMessage(Swift_Mime_Message $message) + { + //clone the message to make sure it is not changed while in the queue + $this->messages[] = clone $message; + + return true; + } + + /** + * Sends messages using the given transport instance. + * + * @param Swift_Transport $transport A transport instance + * @param string[] $failedRecipients An array of failures by-reference + * + * @return int The number of sent emails + */ + public function flushQueue(Swift_Transport $transport, &$failedRecipients = null) + { + if (!$this->messages) { + return 0; + } + + if (!$transport->isStarted()) { + $transport->start(); + } + + $count = 0; + $retries = $this->flushRetries; + while ($retries--) { + try { + while ($message = array_pop($this->messages)) { + $count += $transport->send($message, $failedRecipients); + } + } catch (Swift_TransportException $exception) { + if ($retries) { + // re-queue the message at the end of the queue to give a chance + // to the other messages to be sent, in case the failure was due to + // this message and not just the transport failing + array_unshift($this->messages, $message); + + // wait half a second before we try again + usleep(500000); + } else { + throw $exception; + } + } + } + + return $count; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Message.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Message.php new file mode 100644 index 0000000..242cbf3 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Message.php @@ -0,0 +1,289 @@ +createDependenciesFor('mime.message') + ); + + if (!isset($charset)) { + $charset = Swift_DependencyContainer::getInstance() + ->lookup('properties.charset'); + } + $this->setSubject($subject); + $this->setBody($body); + $this->setCharset($charset); + if ($contentType) { + $this->setContentType($contentType); + } + } + + /** + * Create a new Message. + * + * @param string $subject + * @param string $body + * @param string $contentType + * @param string $charset + * + * @return $this + */ + public static function newInstance($subject = null, $body = null, $contentType = null, $charset = null) + { + return new self($subject, $body, $contentType, $charset); + } + + /** + * Add a MimePart to this Message. + * + * @param string|Swift_OutputByteStream $body + * @param string $contentType + * @param string $charset + * + * @return $this + */ + public function addPart($body, $contentType = null, $charset = null) + { + return $this->attach(Swift_MimePart::newInstance($body, $contentType, $charset)->setEncoder($this->getEncoder())); + } + + /** + * Detach a signature handler from a message. + * + * @param Swift_Signer $signer + * + * @return $this + */ + public function attachSigner(Swift_Signer $signer) + { + if ($signer instanceof Swift_Signers_HeaderSigner) { + $this->headerSigners[] = $signer; + } elseif ($signer instanceof Swift_Signers_BodySigner) { + $this->bodySigners[] = $signer; + } + + return $this; + } + + /** + * Attach a new signature handler to the message. + * + * @param Swift_Signer $signer + * + * @return $this + */ + public function detachSigner(Swift_Signer $signer) + { + if ($signer instanceof Swift_Signers_HeaderSigner) { + foreach ($this->headerSigners as $k => $headerSigner) { + if ($headerSigner === $signer) { + unset($this->headerSigners[$k]); + + return $this; + } + } + } elseif ($signer instanceof Swift_Signers_BodySigner) { + foreach ($this->bodySigners as $k => $bodySigner) { + if ($bodySigner === $signer) { + unset($this->bodySigners[$k]); + + return $this; + } + } + } + + return $this; + } + + /** + * Get this message as a complete string. + * + * @return string + */ + public function toString() + { + if (empty($this->headerSigners) && empty($this->bodySigners)) { + return parent::toString(); + } + + $this->saveMessage(); + + $this->doSign(); + + $string = parent::toString(); + + $this->restoreMessage(); + + return $string; + } + + /** + * Write this message to a {@link Swift_InputByteStream}. + * + * @param Swift_InputByteStream $is + */ + public function toByteStream(Swift_InputByteStream $is) + { + if (empty($this->headerSigners) && empty($this->bodySigners)) { + parent::toByteStream($is); + + return; + } + + $this->saveMessage(); + + $this->doSign(); + + parent::toByteStream($is); + + $this->restoreMessage(); + } + + public function __wakeup() + { + Swift_DependencyContainer::getInstance()->createDependenciesFor('mime.message'); + } + + /** + * loops through signers and apply the signatures. + */ + protected function doSign() + { + foreach ($this->bodySigners as $signer) { + $altered = $signer->getAlteredHeaders(); + $this->saveHeaders($altered); + $signer->signMessage($this); + } + + foreach ($this->headerSigners as $signer) { + $altered = $signer->getAlteredHeaders(); + $this->saveHeaders($altered); + $signer->reset(); + + $signer->setHeaders($this->getHeaders()); + + $signer->startBody(); + $this->_bodyToByteStream($signer); + $signer->endBody(); + + $signer->addSignature($this->getHeaders()); + } + } + + /** + * save the message before any signature is applied. + */ + protected function saveMessage() + { + $this->savedMessage = array('headers' => array()); + $this->savedMessage['body'] = $this->getBody(); + $this->savedMessage['children'] = $this->getChildren(); + if (count($this->savedMessage['children']) > 0 && $this->getBody() != '') { + $this->setChildren(array_merge(array($this->_becomeMimePart()), $this->savedMessage['children'])); + $this->setBody(''); + } + } + + /** + * save the original headers. + * + * @param array $altered + */ + protected function saveHeaders(array $altered) + { + foreach ($altered as $head) { + $lc = strtolower($head); + + if (!isset($this->savedMessage['headers'][$lc])) { + $this->savedMessage['headers'][$lc] = $this->getHeaders()->getAll($head); + } + } + } + + /** + * Remove or restore altered headers. + */ + protected function restoreHeaders() + { + foreach ($this->savedMessage['headers'] as $name => $savedValue) { + $headers = $this->getHeaders()->getAll($name); + + foreach ($headers as $key => $value) { + if (!isset($savedValue[$key])) { + $this->getHeaders()->remove($name, $key); + } + } + } + } + + /** + * Restore message body. + */ + protected function restoreMessage() + { + $this->setBody($this->savedMessage['body']); + $this->setChildren($this->savedMessage['children']); + + $this->restoreHeaders(); + $this->savedMessage = array(); + } + + /** + * Clone Message Signers. + * + * @see Swift_Mime_SimpleMimeEntity::__clone() + */ + public function __clone() + { + parent::__clone(); + foreach ($this->bodySigners as $key => $bodySigner) { + $this->bodySigners[$key] = clone $bodySigner; + } + + foreach ($this->headerSigners as $key => $headerSigner) { + $this->headerSigners[$key] = clone $headerSigner; + } + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Attachment.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Attachment.php new file mode 100644 index 0000000..d5ba14b --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Attachment.php @@ -0,0 +1,149 @@ +setDisposition('attachment'); + $this->setContentType('application/octet-stream'); + $this->_mimeTypes = $mimeTypes; + } + + /** + * Get the nesting level used for this attachment. + * + * Always returns {@link LEVEL_MIXED}. + * + * @return int + */ + public function getNestingLevel() + { + return self::LEVEL_MIXED; + } + + /** + * Get the Content-Disposition of this attachment. + * + * By default attachments have a disposition of "attachment". + * + * @return string + */ + public function getDisposition() + { + return $this->_getHeaderFieldModel('Content-Disposition'); + } + + /** + * Set the Content-Disposition of this attachment. + * + * @param string $disposition + * + * @return $this + */ + public function setDisposition($disposition) + { + if (!$this->_setHeaderFieldModel('Content-Disposition', $disposition)) { + $this->getHeaders()->addParameterizedHeader('Content-Disposition', $disposition); + } + + return $this; + } + + /** + * Get the filename of this attachment when downloaded. + * + * @return string + */ + public function getFilename() + { + return $this->_getHeaderParameter('Content-Disposition', 'filename'); + } + + /** + * Set the filename of this attachment. + * + * @param string $filename + * + * @return $this + */ + public function setFilename($filename) + { + $this->_setHeaderParameter('Content-Disposition', 'filename', $filename); + $this->_setHeaderParameter('Content-Type', 'name', $filename); + + return $this; + } + + /** + * Get the file size of this attachment. + * + * @return int + */ + public function getSize() + { + return $this->_getHeaderParameter('Content-Disposition', 'size'); + } + + /** + * Set the file size of this attachment. + * + * @param int $size + * + * @return $this + */ + public function setSize($size) + { + $this->_setHeaderParameter('Content-Disposition', 'size', $size); + + return $this; + } + + /** + * Set the file that this attachment is for. + * + * @param Swift_FileStream $file + * @param string $contentType optional + * + * @return $this + */ + public function setFile(Swift_FileStream $file, $contentType = null) + { + $this->setFilename(basename($file->getPath())); + $this->setBody($file, $contentType); + if (!isset($contentType)) { + $extension = strtolower(substr($file->getPath(), strrpos($file->getPath(), '.') + 1)); + + if (array_key_exists($extension, $this->_mimeTypes)) { + $this->setContentType($this->_mimeTypes[$extension]); + } + } + + return $this; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/CharsetObserver.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/CharsetObserver.php new file mode 100644 index 0000000..b49c3a8 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/CharsetObserver.php @@ -0,0 +1,24 @@ += $maxLineLength || 76 < $maxLineLength) { + $maxLineLength = 76; + } + + $remainder = 0; + $base64ReadBufferRemainderBytes = null; + + // To reduce memory usage, the output buffer is streamed to the input buffer like so: + // Output Stream => base64encode => wrap line length => Input Stream + // HOWEVER it's important to note that base64_encode() should only be passed whole triplets of data (except for the final chunk of data) + // otherwise it will assume the input data has *ended* and it will incorrectly pad/terminate the base64 data mid-stream. + // We use $base64ReadBufferRemainderBytes to carry over 1-2 "remainder" bytes from the each chunk from OutputStream and pre-pend those onto the + // chunk of bytes read in the next iteration. + // When the OutputStream is empty, we must flush any remainder bytes. + while (true) { + $readBytes = $os->read(8192); + $atEOF = ($readBytes === false); + + if ($atEOF) { + $streamTheseBytes = $base64ReadBufferRemainderBytes; + } else { + $streamTheseBytes = $base64ReadBufferRemainderBytes.$readBytes; + } + $base64ReadBufferRemainderBytes = null; + $bytesLength = strlen($streamTheseBytes); + + if ($bytesLength === 0) { // no data left to encode + break; + } + + // if we're not on the last block of the ouput stream, make sure $streamTheseBytes ends with a complete triplet of data + // and carry over remainder 1-2 bytes to the next loop iteration + if (!$atEOF) { + $excessBytes = $bytesLength % 3; + if ($excessBytes !== 0) { + $base64ReadBufferRemainderBytes = substr($streamTheseBytes, -$excessBytes); + $streamTheseBytes = substr($streamTheseBytes, 0, $bytesLength - $excessBytes); + } + } + + $encoded = base64_encode($streamTheseBytes); + $encodedTransformed = ''; + $thisMaxLineLength = $maxLineLength - $remainder - $firstLineOffset; + + while ($thisMaxLineLength < strlen($encoded)) { + $encodedTransformed .= substr($encoded, 0, $thisMaxLineLength)."\r\n"; + $firstLineOffset = 0; + $encoded = substr($encoded, $thisMaxLineLength); + $thisMaxLineLength = $maxLineLength; + $remainder = 0; + } + + if (0 < $remainingLength = strlen($encoded)) { + $remainder += $remainingLength; + $encodedTransformed .= $encoded; + $encoded = null; + } + + $is->write($encodedTransformed); + + if ($atEOF) { + break; + } + } + } + + /** + * Get the name of this encoding scheme. + * Returns the string 'base64'. + * + * @return string + */ + public function getName() + { + return 'base64'; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/NativeQpContentEncoder.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/NativeQpContentEncoder.php new file mode 100644 index 0000000..710b5ac --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/NativeQpContentEncoder.php @@ -0,0 +1,123 @@ +charset = $charset ? $charset : 'utf-8'; + } + + /** + * Notify this observer that the entity's charset has changed. + * + * @param string $charset + */ + public function charsetChanged($charset) + { + $this->charset = $charset; + } + + /** + * Encode $in to $out. + * + * @param Swift_OutputByteStream $os to read from + * @param Swift_InputByteStream $is to write to + * @param int $firstLineOffset + * @param int $maxLineLength 0 indicates the default length for this encoding + * + * @throws RuntimeException + */ + public function encodeByteStream(Swift_OutputByteStream $os, Swift_InputByteStream $is, $firstLineOffset = 0, $maxLineLength = 0) + { + if ($this->charset !== 'utf-8') { + throw new RuntimeException( + sprintf('Charset "%s" not supported. NativeQpContentEncoder only supports "utf-8"', $this->charset)); + } + + $string = ''; + + while (false !== $bytes = $os->read(8192)) { + $string .= $bytes; + } + + $is->write($this->encodeString($string)); + } + + /** + * Get the MIME name of this content encoding scheme. + * + * @return string + */ + public function getName() + { + return 'quoted-printable'; + } + + /** + * Encode a given string to produce an encoded string. + * + * @param string $string + * @param int $firstLineOffset if first line needs to be shorter + * @param int $maxLineLength 0 indicates the default length for this encoding + * + * @throws RuntimeException + * + * @return string + */ + public function encodeString($string, $firstLineOffset = 0, $maxLineLength = 0) + { + if ($this->charset !== 'utf-8') { + throw new RuntimeException( + sprintf('Charset "%s" not supported. NativeQpContentEncoder only supports "utf-8"', $this->charset)); + } + + return $this->_standardize(quoted_printable_encode($string)); + } + + /** + * Make sure CRLF is correct and HT/SPACE are in valid places. + * + * @param string $string + * + * @return string + */ + protected function _standardize($string) + { + // transform CR or LF to CRLF + $string = preg_replace('~=0D(?!=0A)|(?_name = $name; + $this->_canonical = $canonical; + } + + /** + * Encode a given string to produce an encoded string. + * + * @param string $string + * @param int $firstLineOffset ignored + * @param int $maxLineLength - 0 means no wrapping will occur + * + * @return string + */ + public function encodeString($string, $firstLineOffset = 0, $maxLineLength = 0) + { + if ($this->_canonical) { + $string = $this->_canonicalize($string); + } + + return $this->_safeWordWrap($string, $maxLineLength, "\r\n"); + } + + /** + * Encode stream $in to stream $out. + * + * @param Swift_OutputByteStream $os + * @param Swift_InputByteStream $is + * @param int $firstLineOffset ignored + * @param int $maxLineLength optional, 0 means no wrapping will occur + */ + public function encodeByteStream(Swift_OutputByteStream $os, Swift_InputByteStream $is, $firstLineOffset = 0, $maxLineLength = 0) + { + $leftOver = ''; + while (false !== $bytes = $os->read(8192)) { + $toencode = $leftOver.$bytes; + if ($this->_canonical) { + $toencode = $this->_canonicalize($toencode); + } + $wrapped = $this->_safeWordWrap($toencode, $maxLineLength, "\r\n"); + $lastLinePos = strrpos($wrapped, "\r\n"); + $leftOver = substr($wrapped, $lastLinePos); + $wrapped = substr($wrapped, 0, $lastLinePos); + + $is->write($wrapped); + } + if (strlen($leftOver)) { + $is->write($leftOver); + } + } + + /** + * Get the name of this encoding scheme. + * + * @return string + */ + public function getName() + { + return $this->_name; + } + + /** + * Not used. + */ + public function charsetChanged($charset) + { + } + + /** + * A safer (but weaker) wordwrap for unicode. + * + * @param string $string + * @param int $length + * @param string $le + * + * @return string + */ + private function _safeWordwrap($string, $length = 75, $le = "\r\n") + { + if (0 >= $length) { + return $string; + } + + $originalLines = explode($le, $string); + + $lines = array(); + $lineCount = 0; + + foreach ($originalLines as $originalLine) { + $lines[] = ''; + $currentLine = &$lines[$lineCount++]; + + //$chunks = preg_split('/(?<=[\ \t,\.!\?\-&\+\/])/', $originalLine); + $chunks = preg_split('/(?<=\s)/', $originalLine); + + foreach ($chunks as $chunk) { + if (0 != strlen($currentLine) + && strlen($currentLine.$chunk) > $length) { + $lines[] = ''; + $currentLine = &$lines[$lineCount++]; + } + $currentLine .= $chunk; + } + } + + return implode("\r\n", $lines); + } + + /** + * Canonicalize string input (fix CRLF). + * + * @param string $string + * + * @return string + */ + private function _canonicalize($string) + { + return str_replace( + array("\r\n", "\r", "\n"), + array("\n", "\n", "\r\n"), + $string + ); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoder.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoder.php new file mode 100644 index 0000000..5cc907b --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoder.php @@ -0,0 +1,134 @@ +_dotEscape = $dotEscape; + parent::__construct($charStream, $filter); + } + + public function __sleep() + { + return array('_charStream', '_filter', '_dotEscape'); + } + + protected function getSafeMapShareId() + { + return get_class($this).($this->_dotEscape ? '.dotEscape' : ''); + } + + protected function initSafeMap() + { + parent::initSafeMap(); + if ($this->_dotEscape) { + /* Encode . as =2e for buggy remote servers */ + unset($this->_safeMap[0x2e]); + } + } + + /** + * Encode stream $in to stream $out. + * + * QP encoded strings have a maximum line length of 76 characters. + * If the first line needs to be shorter, indicate the difference with + * $firstLineOffset. + * + * @param Swift_OutputByteStream $os output stream + * @param Swift_InputByteStream $is input stream + * @param int $firstLineOffset + * @param int $maxLineLength + */ + public function encodeByteStream(Swift_OutputByteStream $os, Swift_InputByteStream $is, $firstLineOffset = 0, $maxLineLength = 0) + { + if ($maxLineLength > 76 || $maxLineLength <= 0) { + $maxLineLength = 76; + } + + $thisLineLength = $maxLineLength - $firstLineOffset; + + $this->_charStream->flushContents(); + $this->_charStream->importByteStream($os); + + $currentLine = ''; + $prepend = ''; + $size = $lineLen = 0; + + while (false !== $bytes = $this->_nextSequence()) { + // If we're filtering the input + if (isset($this->_filter)) { + // If we can't filter because we need more bytes + while ($this->_filter->shouldBuffer($bytes)) { + // Then collect bytes into the buffer + if (false === $moreBytes = $this->_nextSequence(1)) { + break; + } + + foreach ($moreBytes as $b) { + $bytes[] = $b; + } + } + // And filter them + $bytes = $this->_filter->filter($bytes); + } + + $enc = $this->_encodeByteSequence($bytes, $size); + + $i = strpos($enc, '=0D=0A'); + $newLineLength = $lineLen + ($i === false ? $size : $i); + + if ($currentLine && $newLineLength >= $thisLineLength) { + $is->write($prepend.$this->_standardize($currentLine)); + $currentLine = ''; + $prepend = "=\r\n"; + $thisLineLength = $maxLineLength; + $lineLen = 0; + } + + $currentLine .= $enc; + + if ($i === false) { + $lineLen += $size; + } else { + // 6 is the length of '=0D=0A'. + $lineLen = $size - strrpos($enc, '=0D=0A') - 6; + } + } + if (strlen($currentLine)) { + $is->write($prepend.$this->_standardize($currentLine)); + } + } + + /** + * Get the name of this encoding scheme. + * Returns the string 'quoted-printable'. + * + * @return string + */ + public function getName() + { + return 'quoted-printable'; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoderProxy.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoderProxy.php new file mode 100644 index 0000000..3214e1c --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoderProxy.php @@ -0,0 +1,98 @@ + + */ +class Swift_Mime_ContentEncoder_QpContentEncoderProxy implements Swift_Mime_ContentEncoder +{ + /** + * @var Swift_Mime_ContentEncoder_QpContentEncoder + */ + private $safeEncoder; + + /** + * @var Swift_Mime_ContentEncoder_NativeQpContentEncoder + */ + private $nativeEncoder; + + /** + * @var null|string + */ + private $charset; + + /** + * Constructor. + * + * @param Swift_Mime_ContentEncoder_QpContentEncoder $safeEncoder + * @param Swift_Mime_ContentEncoder_NativeQpContentEncoder $nativeEncoder + * @param string|null $charset + */ + public function __construct(Swift_Mime_ContentEncoder_QpContentEncoder $safeEncoder, Swift_Mime_ContentEncoder_NativeQpContentEncoder $nativeEncoder, $charset) + { + $this->safeEncoder = $safeEncoder; + $this->nativeEncoder = $nativeEncoder; + $this->charset = $charset; + } + + /** + * Make a deep copy of object. + */ + public function __clone() + { + $this->safeEncoder = clone $this->safeEncoder; + $this->nativeEncoder = clone $this->nativeEncoder; + } + + /** + * {@inheritdoc} + */ + public function charsetChanged($charset) + { + $this->charset = $charset; + $this->safeEncoder->charsetChanged($charset); + } + + /** + * {@inheritdoc} + */ + public function encodeByteStream(Swift_OutputByteStream $os, Swift_InputByteStream $is, $firstLineOffset = 0, $maxLineLength = 0) + { + $this->getEncoder()->encodeByteStream($os, $is, $firstLineOffset, $maxLineLength); + } + + /** + * {@inheritdoc} + */ + public function getName() + { + return 'quoted-printable'; + } + + /** + * {@inheritdoc} + */ + public function encodeString($string, $firstLineOffset = 0, $maxLineLength = 0) + { + return $this->getEncoder()->encodeString($string, $firstLineOffset, $maxLineLength); + } + + /** + * @return Swift_Mime_ContentEncoder + */ + private function getEncoder() + { + return 'utf-8' === $this->charset ? $this->nativeEncoder : $this->safeEncoder; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/RawContentEncoder.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/RawContentEncoder.php new file mode 100644 index 0000000..0b8526e --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/RawContentEncoder.php @@ -0,0 +1,64 @@ + + */ +class Swift_Mime_ContentEncoder_RawContentEncoder implements Swift_Mime_ContentEncoder +{ + /** + * Encode a given string to produce an encoded string. + * + * @param string $string + * @param int $firstLineOffset ignored + * @param int $maxLineLength ignored + * + * @return string + */ + public function encodeString($string, $firstLineOffset = 0, $maxLineLength = 0) + { + return $string; + } + + /** + * Encode stream $in to stream $out. + * + * @param Swift_OutputByteStream $in + * @param Swift_InputByteStream $out + * @param int $firstLineOffset ignored + * @param int $maxLineLength ignored + */ + public function encodeByteStream(Swift_OutputByteStream $os, Swift_InputByteStream $is, $firstLineOffset = 0, $maxLineLength = 0) + { + while (false !== ($bytes = $os->read(8192))) { + $is->write($bytes); + } + } + + /** + * Get the name of this encoding scheme. + * + * @return string + */ + public function getName() + { + return 'raw'; + } + + /** + * Not used. + */ + public function charsetChanged($charset) + { + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/EmbeddedFile.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/EmbeddedFile.php new file mode 100644 index 0000000..6af7571 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/EmbeddedFile.php @@ -0,0 +1,45 @@ +setDisposition('inline'); + $this->setId($this->getId()); + } + + /** + * Get the nesting level of this EmbeddedFile. + * + * Returns {@see LEVEL_RELATED}. + * + * @return int + */ + public function getNestingLevel() + { + return self::LEVEL_RELATED; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/EncodingObserver.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/EncodingObserver.php new file mode 100644 index 0000000..cc44a6e --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/EncodingObserver.php @@ -0,0 +1,24 @@ +init(); + } + + public function __wakeup() + { + $this->init(); + } + + protected function init() + { + if (count(self::$_specials) > 0) { + return; + } + + self::$_specials = array( + '(', ')', '<', '>', '[', ']', + ':', ';', '@', ',', '.', '"', + ); + + /*** Refer to RFC 2822 for ABNF grammar ***/ + + // All basic building blocks + self::$_grammar['NO-WS-CTL'] = '[\x01-\x08\x0B\x0C\x0E-\x19\x7F]'; + self::$_grammar['WSP'] = '[ \t]'; + self::$_grammar['CRLF'] = '(?:\r\n)'; + self::$_grammar['FWS'] = '(?:(?:'.self::$_grammar['WSP'].'*'. + self::$_grammar['CRLF'].')?'.self::$_grammar['WSP'].')'; + self::$_grammar['text'] = '[\x00-\x08\x0B\x0C\x0E-\x7F]'; + self::$_grammar['quoted-pair'] = '(?:\\\\'.self::$_grammar['text'].')'; + self::$_grammar['ctext'] = '(?:'.self::$_grammar['NO-WS-CTL']. + '|[\x21-\x27\x2A-\x5B\x5D-\x7E])'; + // Uses recursive PCRE (?1) -- could be a weak point?? + self::$_grammar['ccontent'] = '(?:'.self::$_grammar['ctext'].'|'. + self::$_grammar['quoted-pair'].'|(?1))'; + self::$_grammar['comment'] = '(\((?:'.self::$_grammar['FWS'].'|'. + self::$_grammar['ccontent'].')*'.self::$_grammar['FWS'].'?\))'; + self::$_grammar['CFWS'] = '(?:(?:'.self::$_grammar['FWS'].'?'. + self::$_grammar['comment'].')*(?:(?:'.self::$_grammar['FWS'].'?'. + self::$_grammar['comment'].')|'.self::$_grammar['FWS'].'))'; + self::$_grammar['qtext'] = '(?:'.self::$_grammar['NO-WS-CTL']. + '|[\x21\x23-\x5B\x5D-\x7E])'; + self::$_grammar['qcontent'] = '(?:'.self::$_grammar['qtext'].'|'. + self::$_grammar['quoted-pair'].')'; + self::$_grammar['quoted-string'] = '(?:'.self::$_grammar['CFWS'].'?"'. + '('.self::$_grammar['FWS'].'?'.self::$_grammar['qcontent'].')*'. + self::$_grammar['FWS'].'?"'.self::$_grammar['CFWS'].'?)'; + self::$_grammar['atext'] = '[a-zA-Z0-9!#\$%&\'\*\+\-\/=\?\^_`\{\}\|~]'; + self::$_grammar['atom'] = '(?:'.self::$_grammar['CFWS'].'?'. + self::$_grammar['atext'].'+'.self::$_grammar['CFWS'].'?)'; + self::$_grammar['dot-atom-text'] = '(?:'.self::$_grammar['atext'].'+'. + '(\.'.self::$_grammar['atext'].'+)*)'; + self::$_grammar['dot-atom'] = '(?:'.self::$_grammar['CFWS'].'?'. + self::$_grammar['dot-atom-text'].'+'.self::$_grammar['CFWS'].'?)'; + self::$_grammar['word'] = '(?:'.self::$_grammar['atom'].'|'. + self::$_grammar['quoted-string'].')'; + self::$_grammar['phrase'] = '(?:'.self::$_grammar['word'].'+?)'; + self::$_grammar['no-fold-quote'] = '(?:"(?:'.self::$_grammar['qtext']. + '|'.self::$_grammar['quoted-pair'].')*")'; + self::$_grammar['dtext'] = '(?:'.self::$_grammar['NO-WS-CTL']. + '|[\x21-\x5A\x5E-\x7E])'; + self::$_grammar['no-fold-literal'] = '(?:\[(?:'.self::$_grammar['dtext']. + '|'.self::$_grammar['quoted-pair'].')*\])'; + + // Message IDs + self::$_grammar['id-left'] = '(?:'.self::$_grammar['dot-atom-text'].'|'. + self::$_grammar['no-fold-quote'].')'; + self::$_grammar['id-right'] = '(?:'.self::$_grammar['dot-atom-text'].'|'. + self::$_grammar['no-fold-literal'].')'; + + // Addresses, mailboxes and paths + self::$_grammar['local-part'] = '(?:'.self::$_grammar['dot-atom'].'|'. + self::$_grammar['quoted-string'].')'; + self::$_grammar['dcontent'] = '(?:'.self::$_grammar['dtext'].'|'. + self::$_grammar['quoted-pair'].')'; + self::$_grammar['domain-literal'] = '(?:'.self::$_grammar['CFWS'].'?\[('. + self::$_grammar['FWS'].'?'.self::$_grammar['dcontent'].')*?'. + self::$_grammar['FWS'].'?\]'.self::$_grammar['CFWS'].'?)'; + self::$_grammar['domain'] = '(?:'.self::$_grammar['dot-atom'].'|'. + self::$_grammar['domain-literal'].')'; + self::$_grammar['addr-spec'] = '(?:'.self::$_grammar['local-part'].'@'. + self::$_grammar['domain'].')'; + } + + /** + * Get the grammar defined for $name token. + * + * @param string $name exactly as written in the RFC + * + * @return string + */ + public function getDefinition($name) + { + if (array_key_exists($name, self::$_grammar)) { + return self::$_grammar[$name]; + } + + throw new Swift_RfcComplianceException( + "No such grammar '".$name."' defined." + ); + } + + /** + * Returns the tokens defined in RFC 2822 (and some related RFCs). + * + * @return array + */ + public function getGrammarDefinitions() + { + return self::$_grammar; + } + + /** + * Returns the current special characters used in the syntax which need to be escaped. + * + * @return array + */ + public function getSpecials() + { + return self::$_specials; + } + + /** + * Escape special characters in a string (convert to quoted-pairs). + * + * @param string $token + * @param string[] $include additional chars to escape + * @param string[] $exclude chars from escaping + * + * @return string + */ + public function escapeSpecials($token, $include = array(), $exclude = array()) + { + foreach (array_merge(array('\\'), array_diff(self::$_specials, $exclude), $include) as $char) { + $token = str_replace($char, '\\'.$char, $token); + } + + return $token; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Header.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Header.php new file mode 100644 index 0000000..a8ddd27 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Header.php @@ -0,0 +1,93 @@ +getName(), "\r\n"); + mb_internal_encoding($old); + + return $newstring; + } + + return parent::encodeString($string, $firstLineOffset, $maxLineLength); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/HeaderEncoder/QpHeaderEncoder.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/HeaderEncoder/QpHeaderEncoder.php new file mode 100644 index 0000000..510dd66 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/HeaderEncoder/QpHeaderEncoder.php @@ -0,0 +1,65 @@ +_safeMap[$byte] = chr($byte); + } + } + + /** + * Get the name of this encoding scheme. + * + * Returns the string 'Q'. + * + * @return string + */ + public function getName() + { + return 'Q'; + } + + /** + * Takes an unencoded string and produces a QP encoded string from it. + * + * @param string $string string to encode + * @param int $firstLineOffset optional + * @param int $maxLineLength optional, 0 indicates the default of 76 chars + * + * @return string + */ + public function encodeString($string, $firstLineOffset = 0, $maxLineLength = 0) + { + return str_replace(array(' ', '=20', "=\r\n"), array('_', '_', "\r\n"), + parent::encodeString($string, $firstLineOffset, $maxLineLength) + ); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/HeaderFactory.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/HeaderFactory.php new file mode 100644 index 0000000..c65f26d --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/HeaderFactory.php @@ -0,0 +1,78 @@ +setGrammar($grammar); + } + + /** + * Set the character set used in this Header. + * + * @param string $charset + */ + public function setCharset($charset) + { + $this->clearCachedValueIf($charset != $this->_charset); + $this->_charset = $charset; + if (isset($this->_encoder)) { + $this->_encoder->charsetChanged($charset); + } + } + + /** + * Get the character set used in this Header. + * + * @return string + */ + public function getCharset() + { + return $this->_charset; + } + + /** + * Set the language used in this Header. + * + * For example, for US English, 'en-us'. + * This can be unspecified. + * + * @param string $lang + */ + public function setLanguage($lang) + { + $this->clearCachedValueIf($this->_lang != $lang); + $this->_lang = $lang; + } + + /** + * Get the language used in this Header. + * + * @return string + */ + public function getLanguage() + { + return $this->_lang; + } + + /** + * Set the encoder used for encoding the header. + * + * @param Swift_Mime_HeaderEncoder $encoder + */ + public function setEncoder(Swift_Mime_HeaderEncoder $encoder) + { + $this->_encoder = $encoder; + $this->setCachedValue(null); + } + + /** + * Get the encoder used for encoding this Header. + * + * @return Swift_Mime_HeaderEncoder + */ + public function getEncoder() + { + return $this->_encoder; + } + + /** + * Set the grammar used for the header. + * + * @param Swift_Mime_Grammar $grammar + */ + public function setGrammar(Swift_Mime_Grammar $grammar) + { + $this->_grammar = $grammar; + $this->setCachedValue(null); + } + + /** + * Get the grammar used for this Header. + * + * @return Swift_Mime_Grammar + */ + public function getGrammar() + { + return $this->_grammar; + } + + /** + * Get the name of this header (e.g. charset). + * + * @return string + */ + public function getFieldName() + { + return $this->_name; + } + + /** + * Set the maximum length of lines in the header (excluding EOL). + * + * @param int $lineLength + */ + public function setMaxLineLength($lineLength) + { + $this->clearCachedValueIf($this->_lineLength != $lineLength); + $this->_lineLength = $lineLength; + } + + /** + * Get the maximum permitted length of lines in this Header. + * + * @return int + */ + public function getMaxLineLength() + { + return $this->_lineLength; + } + + /** + * Get this Header rendered as a RFC 2822 compliant string. + * + * @throws Swift_RfcComplianceException + * + * @return string + */ + public function toString() + { + return $this->_tokensToString($this->toTokens()); + } + + /** + * Returns a string representation of this object. + * + * @return string + * + * @see toString() + */ + public function __toString() + { + return $this->toString(); + } + + /** + * Set the name of this Header field. + * + * @param string $name + */ + protected function setFieldName($name) + { + $this->_name = $name; + } + + /** + * Produces a compliant, formatted RFC 2822 'phrase' based on the string given. + * + * @param Swift_Mime_Header $header + * @param string $string as displayed + * @param string $charset of the text + * @param Swift_Mime_HeaderEncoder $encoder + * @param bool $shorten the first line to make remove for header name + * + * @return string + */ + protected function createPhrase(Swift_Mime_Header $header, $string, $charset, Swift_Mime_HeaderEncoder $encoder = null, $shorten = false) + { + // Treat token as exactly what was given + $phraseStr = $string; + // If it's not valid + if (!preg_match('/^'.$this->getGrammar()->getDefinition('phrase').'$/D', $phraseStr)) { + // .. but it is just ascii text, try escaping some characters + // and make it a quoted-string + if (preg_match('/^'.$this->getGrammar()->getDefinition('text').'*$/D', $phraseStr)) { + $phraseStr = $this->getGrammar()->escapeSpecials( + $phraseStr, array('"'), $this->getGrammar()->getSpecials() + ); + $phraseStr = '"'.$phraseStr.'"'; + } else { + // ... otherwise it needs encoding + // Determine space remaining on line if first line + if ($shorten) { + $usedLength = strlen($header->getFieldName().': '); + } else { + $usedLength = 0; + } + $phraseStr = $this->encodeWords($header, $string, $usedLength); + } + } + + return $phraseStr; + } + + /** + * Encode needed word tokens within a string of input. + * + * @param Swift_Mime_Header $header + * @param string $input + * @param string $usedLength optional + * + * @return string + */ + protected function encodeWords(Swift_Mime_Header $header, $input, $usedLength = -1) + { + $value = ''; + + $tokens = $this->getEncodableWordTokens($input); + + foreach ($tokens as $token) { + // See RFC 2822, Sect 2.2 (really 2.2 ??) + if ($this->tokenNeedsEncoding($token)) { + // Don't encode starting WSP + $firstChar = substr($token, 0, 1); + switch ($firstChar) { + case ' ': + case "\t": + $value .= $firstChar; + $token = substr($token, 1); + } + + if (-1 == $usedLength) { + $usedLength = strlen($header->getFieldName().': ') + strlen($value); + } + $value .= $this->getTokenAsEncodedWord($token, $usedLength); + + $header->setMaxLineLength(76); // Forcefully override + } else { + $value .= $token; + } + } + + return $value; + } + + /** + * Test if a token needs to be encoded or not. + * + * @param string $token + * + * @return bool + */ + protected function tokenNeedsEncoding($token) + { + return preg_match('~[\x00-\x08\x10-\x19\x7F-\xFF\r\n]~', $token); + } + + /** + * Splits a string into tokens in blocks of words which can be encoded quickly. + * + * @param string $string + * + * @return string[] + */ + protected function getEncodableWordTokens($string) + { + $tokens = array(); + + $encodedToken = ''; + // Split at all whitespace boundaries + foreach (preg_split('~(?=[\t ])~', $string) as $token) { + if ($this->tokenNeedsEncoding($token)) { + $encodedToken .= $token; + } else { + if (strlen($encodedToken) > 0) { + $tokens[] = $encodedToken; + $encodedToken = ''; + } + $tokens[] = $token; + } + } + if (strlen($encodedToken)) { + $tokens[] = $encodedToken; + } + + return $tokens; + } + + /** + * Get a token as an encoded word for safe insertion into headers. + * + * @param string $token token to encode + * @param int $firstLineOffset optional + * + * @return string + */ + protected function getTokenAsEncodedWord($token, $firstLineOffset = 0) + { + // Adjust $firstLineOffset to account for space needed for syntax + $charsetDecl = $this->_charset; + if (isset($this->_lang)) { + $charsetDecl .= '*'.$this->_lang; + } + $encodingWrapperLength = strlen( + '=?'.$charsetDecl.'?'.$this->_encoder->getName().'??=' + ); + + if ($firstLineOffset >= 75) { + //Does this logic need to be here? + $firstLineOffset = 0; + } + + $encodedTextLines = explode("\r\n", + $this->_encoder->encodeString( + $token, $firstLineOffset, 75 - $encodingWrapperLength, $this->_charset + ) + ); + + if (strtolower($this->_charset) !== 'iso-2022-jp') { + // special encoding for iso-2022-jp using mb_encode_mimeheader + foreach ($encodedTextLines as $lineNum => $line) { + $encodedTextLines[$lineNum] = '=?'.$charsetDecl. + '?'.$this->_encoder->getName(). + '?'.$line.'?='; + } + } + + return implode("\r\n ", $encodedTextLines); + } + + /** + * Generates tokens from the given string which include CRLF as individual tokens. + * + * @param string $token + * + * @return string[] + */ + protected function generateTokenLines($token) + { + return preg_split('~(\r\n)~', $token, -1, PREG_SPLIT_DELIM_CAPTURE); + } + + /** + * Set a value into the cache. + * + * @param string $value + */ + protected function setCachedValue($value) + { + $this->_cachedValue = $value; + } + + /** + * Get the value in the cache. + * + * @return string + */ + protected function getCachedValue() + { + return $this->_cachedValue; + } + + /** + * Clear the cached value if $condition is met. + * + * @param bool $condition + */ + protected function clearCachedValueIf($condition) + { + if ($condition) { + $this->setCachedValue(null); + } + } + + /** + * Generate a list of all tokens in the final header. + * + * @param string $string The string to tokenize + * + * @return array An array of tokens as strings + */ + protected function toTokens($string = null) + { + if (null === $string) { + $string = $this->getFieldBody(); + } + + $tokens = array(); + + // Generate atoms; split at all invisible boundaries followed by WSP + foreach (preg_split('~(?=[ \t])~', $string) as $token) { + $newTokens = $this->generateTokenLines($token); + foreach ($newTokens as $newToken) { + $tokens[] = $newToken; + } + } + + return $tokens; + } + + /** + * Takes an array of tokens which appear in the header and turns them into + * an RFC 2822 compliant string, adding FWSP where needed. + * + * @param string[] $tokens + * + * @return string + */ + private function _tokensToString(array $tokens) + { + $lineCount = 0; + $headerLines = array(); + $headerLines[] = $this->_name.': '; + $currentLine = &$headerLines[$lineCount++]; + + // Build all tokens back into compliant header + foreach ($tokens as $i => $token) { + // Line longer than specified maximum or token was just a new line + if (("\r\n" == $token) || + ($i > 0 && strlen($currentLine.$token) > $this->_lineLength) + && 0 < strlen($currentLine)) { + $headerLines[] = ''; + $currentLine = &$headerLines[$lineCount++]; + } + + // Append token to the line + if ("\r\n" != $token) { + $currentLine .= $token; + } + } + + // Implode with FWS (RFC 2822, 2.2.3) + return implode("\r\n", $headerLines)."\r\n"; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/DateHeader.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/DateHeader.php new file mode 100644 index 0000000..4075cbf --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/DateHeader.php @@ -0,0 +1,125 @@ + + * + * + * + * @param string $name of Header + * @param Swift_Mime_Grammar $grammar + */ + public function __construct($name, Swift_Mime_Grammar $grammar) + { + $this->setFieldName($name); + parent::__construct($grammar); + } + + /** + * Get the type of Header that this instance represents. + * + * @see TYPE_TEXT, TYPE_PARAMETERIZED, TYPE_MAILBOX + * @see TYPE_DATE, TYPE_ID, TYPE_PATH + * + * @return int + */ + public function getFieldType() + { + return self::TYPE_DATE; + } + + /** + * Set the model for the field body. + * + * This method takes a UNIX timestamp. + * + * @param int $model + */ + public function setFieldBodyModel($model) + { + $this->setTimestamp($model); + } + + /** + * Get the model for the field body. + * + * This method returns a UNIX timestamp. + * + * @return mixed + */ + public function getFieldBodyModel() + { + return $this->getTimestamp(); + } + + /** + * Get the UNIX timestamp of the Date in this Header. + * + * @return int + */ + public function getTimestamp() + { + return $this->_timestamp; + } + + /** + * Set the UNIX timestamp of the Date in this Header. + * + * @param int $timestamp + */ + public function setTimestamp($timestamp) + { + if (null !== $timestamp) { + $timestamp = (int) $timestamp; + } + $this->clearCachedValueIf($this->_timestamp != $timestamp); + $this->_timestamp = $timestamp; + } + + /** + * Get the string value of the body in this Header. + * + * This is not necessarily RFC 2822 compliant since folding white space will + * not be added at this stage (see {@link toString()} for that). + * + * @see toString() + * + * @return string + */ + public function getFieldBody() + { + if (!$this->getCachedValue()) { + if (isset($this->_timestamp)) { + $this->setCachedValue(date('r', $this->_timestamp)); + } + } + + return $this->getCachedValue(); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/IdentificationHeader.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/IdentificationHeader.php new file mode 100644 index 0000000..b114506 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/IdentificationHeader.php @@ -0,0 +1,180 @@ +setFieldName($name); + parent::__construct($grammar); + } + + /** + * Get the type of Header that this instance represents. + * + * @see TYPE_TEXT, TYPE_PARAMETERIZED, TYPE_MAILBOX + * @see TYPE_DATE, TYPE_ID, TYPE_PATH + * + * @return int + */ + public function getFieldType() + { + return self::TYPE_ID; + } + + /** + * Set the model for the field body. + * + * This method takes a string ID, or an array of IDs. + * + * @param mixed $model + * + * @throws Swift_RfcComplianceException + */ + public function setFieldBodyModel($model) + { + $this->setId($model); + } + + /** + * Get the model for the field body. + * + * This method returns an array of IDs + * + * @return array + */ + public function getFieldBodyModel() + { + return $this->getIds(); + } + + /** + * Set the ID used in the value of this header. + * + * @param string|array $id + * + * @throws Swift_RfcComplianceException + */ + public function setId($id) + { + $this->setIds(is_array($id) ? $id : array($id)); + } + + /** + * Get the ID used in the value of this Header. + * + * If multiple IDs are set only the first is returned. + * + * @return string + */ + public function getId() + { + if (count($this->_ids) > 0) { + return $this->_ids[0]; + } + } + + /** + * Set a collection of IDs to use in the value of this Header. + * + * @param string[] $ids + * + * @throws Swift_RfcComplianceException + */ + public function setIds(array $ids) + { + $actualIds = array(); + + foreach ($ids as $id) { + $this->_assertValidId($id); + $actualIds[] = $id; + } + + $this->clearCachedValueIf($this->_ids != $actualIds); + $this->_ids = $actualIds; + } + + /** + * Get the list of IDs used in this Header. + * + * @return string[] + */ + public function getIds() + { + return $this->_ids; + } + + /** + * Get the string value of the body in this Header. + * + * This is not necessarily RFC 2822 compliant since folding white space will + * not be added at this stage (see {@see toString()} for that). + * + * @see toString() + * + * @throws Swift_RfcComplianceException + * + * @return string + */ + public function getFieldBody() + { + if (!$this->getCachedValue()) { + $angleAddrs = array(); + + foreach ($this->_ids as $id) { + $angleAddrs[] = '<'.$id.'>'; + } + + $this->setCachedValue(implode(' ', $angleAddrs)); + } + + return $this->getCachedValue(); + } + + /** + * Throws an Exception if the id passed does not comply with RFC 2822. + * + * @param string $id + * + * @throws Swift_RfcComplianceException + */ + private function _assertValidId($id) + { + if (!preg_match( + '/^'.$this->getGrammar()->getDefinition('id-left').'@'. + $this->getGrammar()->getDefinition('id-right').'$/D', + $id + )) { + throw new Swift_RfcComplianceException( + 'Invalid ID given <'.$id.'>' + ); + } + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/MailboxHeader.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/MailboxHeader.php new file mode 100644 index 0000000..e4567fc --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/MailboxHeader.php @@ -0,0 +1,351 @@ +setFieldName($name); + $this->setEncoder($encoder); + parent::__construct($grammar); + } + + /** + * Get the type of Header that this instance represents. + * + * @see TYPE_TEXT, TYPE_PARAMETERIZED, TYPE_MAILBOX + * @see TYPE_DATE, TYPE_ID, TYPE_PATH + * + * @return int + */ + public function getFieldType() + { + return self::TYPE_MAILBOX; + } + + /** + * Set the model for the field body. + * + * This method takes a string, or an array of addresses. + * + * @param mixed $model + * + * @throws Swift_RfcComplianceException + */ + public function setFieldBodyModel($model) + { + $this->setNameAddresses($model); + } + + /** + * Get the model for the field body. + * + * This method returns an associative array like {@link getNameAddresses()} + * + * @throws Swift_RfcComplianceException + * + * @return array + */ + public function getFieldBodyModel() + { + return $this->getNameAddresses(); + } + + /** + * Set a list of mailboxes to be shown in this Header. + * + * The mailboxes can be a simple array of addresses, or an array of + * key=>value pairs where (email => personalName). + * Example: + * + * setNameAddresses(array( + * 'chris@swiftmailer.org' => 'Chris Corbyn', + * 'mark@swiftmailer.org' //No associated personal name + * )); + * ?> + * + * + * @see __construct() + * @see setAddresses() + * @see setValue() + * + * @param string|string[] $mailboxes + * + * @throws Swift_RfcComplianceException + */ + public function setNameAddresses($mailboxes) + { + $this->_mailboxes = $this->normalizeMailboxes((array) $mailboxes); + $this->setCachedValue(null); //Clear any cached value + } + + /** + * Get the full mailbox list of this Header as an array of valid RFC 2822 strings. + * + * Example: + * + * 'Chris Corbyn', + * 'mark@swiftmailer.org' => 'Mark Corbyn') + * ); + * print_r($header->getNameAddressStrings()); + * // array ( + * // 0 => Chris Corbyn , + * // 1 => Mark Corbyn + * // ) + * ?> + * + * + * @see getNameAddresses() + * @see toString() + * + * @throws Swift_RfcComplianceException + * + * @return string[] + */ + public function getNameAddressStrings() + { + return $this->_createNameAddressStrings($this->getNameAddresses()); + } + + /** + * Get all mailboxes in this Header as key=>value pairs. + * + * The key is the address and the value is the name (or null if none set). + * Example: + * + * 'Chris Corbyn', + * 'mark@swiftmailer.org' => 'Mark Corbyn') + * ); + * print_r($header->getNameAddresses()); + * // array ( + * // chris@swiftmailer.org => Chris Corbyn, + * // mark@swiftmailer.org => Mark Corbyn + * // ) + * ?> + * + * + * @see getAddresses() + * @see getNameAddressStrings() + * + * @return string[] + */ + public function getNameAddresses() + { + return $this->_mailboxes; + } + + /** + * Makes this Header represent a list of plain email addresses with no names. + * + * Example: + * + * setAddresses( + * array('one@domain.tld', 'two@domain.tld', 'three@domain.tld') + * ); + * ?> + * + * + * @see setNameAddresses() + * @see setValue() + * + * @param string[] $addresses + * + * @throws Swift_RfcComplianceException + */ + public function setAddresses($addresses) + { + $this->setNameAddresses(array_values((array) $addresses)); + } + + /** + * Get all email addresses in this Header. + * + * @see getNameAddresses() + * + * @return string[] + */ + public function getAddresses() + { + return array_keys($this->_mailboxes); + } + + /** + * Remove one or more addresses from this Header. + * + * @param string|string[] $addresses + */ + public function removeAddresses($addresses) + { + $this->setCachedValue(null); + foreach ((array) $addresses as $address) { + unset($this->_mailboxes[$address]); + } + } + + /** + * Get the string value of the body in this Header. + * + * This is not necessarily RFC 2822 compliant since folding white space will + * not be added at this stage (see {@link toString()} for that). + * + * @see toString() + * + * @throws Swift_RfcComplianceException + * + * @return string + */ + public function getFieldBody() + { + // Compute the string value of the header only if needed + if (null === $this->getCachedValue()) { + $this->setCachedValue($this->createMailboxListString($this->_mailboxes)); + } + + return $this->getCachedValue(); + } + + /** + * Normalizes a user-input list of mailboxes into consistent key=>value pairs. + * + * @param string[] $mailboxes + * + * @return string[] + */ + protected function normalizeMailboxes(array $mailboxes) + { + $actualMailboxes = array(); + + foreach ($mailboxes as $key => $value) { + if (is_string($key)) { + //key is email addr + $address = $key; + $name = $value; + } else { + $address = $value; + $name = null; + } + $this->_assertValidAddress($address); + $actualMailboxes[$address] = $name; + } + + return $actualMailboxes; + } + + /** + * Produces a compliant, formatted display-name based on the string given. + * + * @param string $displayName as displayed + * @param bool $shorten the first line to make remove for header name + * + * @return string + */ + protected function createDisplayNameString($displayName, $shorten = false) + { + return $this->createPhrase($this, $displayName, $this->getCharset(), $this->getEncoder(), $shorten); + } + + /** + * Creates a string form of all the mailboxes in the passed array. + * + * @param string[] $mailboxes + * + * @throws Swift_RfcComplianceException + * + * @return string + */ + protected function createMailboxListString(array $mailboxes) + { + return implode(', ', $this->_createNameAddressStrings($mailboxes)); + } + + /** + * Redefine the encoding requirements for mailboxes. + * + * All "specials" must be encoded as the full header value will not be quoted + * + * @see RFC 2822 3.2.1 + * + * @param string $token + * + * @return bool + */ + protected function tokenNeedsEncoding($token) + { + return preg_match('/[()<>\[\]:;@\,."]/', $token) || parent::tokenNeedsEncoding($token); + } + + /** + * Return an array of strings conforming the the name-addr spec of RFC 2822. + * + * @param string[] $mailboxes + * + * @return string[] + */ + private function _createNameAddressStrings(array $mailboxes) + { + $strings = array(); + + foreach ($mailboxes as $email => $name) { + $mailboxStr = $email; + if (null !== $name) { + $nameStr = $this->createDisplayNameString($name, empty($strings)); + $mailboxStr = $nameStr.' <'.$mailboxStr.'>'; + } + $strings[] = $mailboxStr; + } + + return $strings; + } + + /** + * Throws an Exception if the address passed does not comply with RFC 2822. + * + * @param string $address + * + * @throws Swift_RfcComplianceException If invalid. + */ + private function _assertValidAddress($address) + { + if (!preg_match('/^'.$this->getGrammar()->getDefinition('addr-spec').'$/D', + $address)) { + throw new Swift_RfcComplianceException( + 'Address in mailbox given ['.$address. + '] does not comply with RFC 2822, 3.6.2.' + ); + } + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/OpenDKIMHeader.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/OpenDKIMHeader.php new file mode 100644 index 0000000..d749550 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/OpenDKIMHeader.php @@ -0,0 +1,133 @@ + + */ +class Swift_Mime_Headers_OpenDKIMHeader implements Swift_Mime_Header +{ + /** + * The value of this Header. + * + * @var string + */ + private $_value; + + /** + * The name of this Header. + * + * @var string + */ + private $_fieldName; + + /** + * @param string $name + */ + public function __construct($name) + { + $this->_fieldName = $name; + } + + /** + * Get the type of Header that this instance represents. + * + * @see TYPE_TEXT, TYPE_PARAMETERIZED, TYPE_MAILBOX + * @see TYPE_DATE, TYPE_ID, TYPE_PATH + * + * @return int + */ + public function getFieldType() + { + return self::TYPE_TEXT; + } + + /** + * Set the model for the field body. + * + * This method takes a string for the field value. + * + * @param string $model + */ + public function setFieldBodyModel($model) + { + $this->setValue($model); + } + + /** + * Get the model for the field body. + * + * This method returns a string. + * + * @return string + */ + public function getFieldBodyModel() + { + return $this->getValue(); + } + + /** + * Get the (unencoded) value of this header. + * + * @return string + */ + public function getValue() + { + return $this->_value; + } + + /** + * Set the (unencoded) value of this header. + * + * @param string $value + */ + public function setValue($value) + { + $this->_value = $value; + } + + /** + * Get the value of this header prepared for rendering. + * + * @return string + */ + public function getFieldBody() + { + return $this->_value; + } + + /** + * Get this Header rendered as a RFC 2822 compliant string. + * + * @return string + */ + public function toString() + { + return $this->_fieldName.': '.$this->_value; + } + + /** + * Set the Header FieldName. + * + * @see Swift_Mime_Header::getFieldName() + */ + public function getFieldName() + { + return $this->_fieldName; + } + + /** + * Ignored. + */ + public function setCharset($charset) + { + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/ParameterizedHeader.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/ParameterizedHeader.php new file mode 100644 index 0000000..c1777d3 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/ParameterizedHeader.php @@ -0,0 +1,258 @@ +_paramEncoder = $paramEncoder; + } + + /** + * Get the type of Header that this instance represents. + * + * @see TYPE_TEXT, TYPE_PARAMETERIZED, TYPE_MAILBOX + * @see TYPE_DATE, TYPE_ID, TYPE_PATH + * + * @return int + */ + public function getFieldType() + { + return self::TYPE_PARAMETERIZED; + } + + /** + * Set the character set used in this Header. + * + * @param string $charset + */ + public function setCharset($charset) + { + parent::setCharset($charset); + if (isset($this->_paramEncoder)) { + $this->_paramEncoder->charsetChanged($charset); + } + } + + /** + * Set the value of $parameter. + * + * @param string $parameter + * @param string $value + */ + public function setParameter($parameter, $value) + { + $this->setParameters(array_merge($this->getParameters(), array($parameter => $value))); + } + + /** + * Get the value of $parameter. + * + * @param string $parameter + * + * @return string + */ + public function getParameter($parameter) + { + $params = $this->getParameters(); + + return array_key_exists($parameter, $params) ? $params[$parameter] : null; + } + + /** + * Set an associative array of parameter names mapped to values. + * + * @param string[] $parameters + */ + public function setParameters(array $parameters) + { + $this->clearCachedValueIf($this->_params != $parameters); + $this->_params = $parameters; + } + + /** + * Returns an associative array of parameter names mapped to values. + * + * @return string[] + */ + public function getParameters() + { + return $this->_params; + } + + /** + * Get the value of this header prepared for rendering. + * + * @return string + */ + public function getFieldBody() //TODO: Check caching here + { + $body = parent::getFieldBody(); + foreach ($this->_params as $name => $value) { + if (null !== $value) { + // Add the parameter + $body .= '; '.$this->_createParameter($name, $value); + } + } + + return $body; + } + + /** + * Generate a list of all tokens in the final header. + * + * This doesn't need to be overridden in theory, but it is for implementation + * reasons to prevent potential breakage of attributes. + * + * @param string $string The string to tokenize + * + * @return array An array of tokens as strings + */ + protected function toTokens($string = null) + { + $tokens = parent::toTokens(parent::getFieldBody()); + + // Try creating any parameters + foreach ($this->_params as $name => $value) { + if (null !== $value) { + // Add the semi-colon separator + $tokens[count($tokens) - 1] .= ';'; + $tokens = array_merge($tokens, $this->generateTokenLines( + ' '.$this->_createParameter($name, $value) + )); + } + } + + return $tokens; + } + + /** + * Render a RFC 2047 compliant header parameter from the $name and $value. + * + * @param string $name + * @param string $value + * + * @return string + */ + private function _createParameter($name, $value) + { + $origValue = $value; + + $encoded = false; + // Allow room for parameter name, indices, "=" and DQUOTEs + $maxValueLength = $this->getMaxLineLength() - strlen($name.'=*N"";') - 1; + $firstLineOffset = 0; + + // If it's not already a valid parameter value... + if (!preg_match('/^'.self::TOKEN_REGEX.'$/D', $value)) { + // TODO: text, or something else?? + // ... and it's not ascii + if (!preg_match('/^'.$this->getGrammar()->getDefinition('text').'*$/D', $value)) { + $encoded = true; + // Allow space for the indices, charset and language + $maxValueLength = $this->getMaxLineLength() - strlen($name.'*N*="";') - 1; + $firstLineOffset = strlen( + $this->getCharset()."'".$this->getLanguage()."'" + ); + } + } + + // Encode if we need to + if ($encoded || strlen($value) > $maxValueLength) { + if (isset($this->_paramEncoder)) { + $value = $this->_paramEncoder->encodeString( + $origValue, $firstLineOffset, $maxValueLength, $this->getCharset() + ); + } else { + // We have to go against RFC 2183/2231 in some areas for interoperability + $value = $this->getTokenAsEncodedWord($origValue); + $encoded = false; + } + } + + $valueLines = isset($this->_paramEncoder) ? explode("\r\n", $value) : array($value); + + // Need to add indices + if (count($valueLines) > 1) { + $paramLines = array(); + foreach ($valueLines as $i => $line) { + $paramLines[] = $name.'*'.$i. + $this->_getEndOfParameterValue($line, true, $i == 0); + } + + return implode(";\r\n ", $paramLines); + } else { + return $name.$this->_getEndOfParameterValue( + $valueLines[0], $encoded, true + ); + } + } + + /** + * Returns the parameter value from the "=" and beyond. + * + * @param string $value to append + * @param bool $encoded + * @param bool $firstLine + * + * @return string + */ + private function _getEndOfParameterValue($value, $encoded = false, $firstLine = false) + { + if (!preg_match('/^'.self::TOKEN_REGEX.'$/D', $value)) { + $value = '"'.$value.'"'; + } + $prepend = '='; + if ($encoded) { + $prepend = '*='; + if ($firstLine) { + $prepend = '*='.$this->getCharset()."'".$this->getLanguage(). + "'"; + } + } + + return $prepend.$value; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/PathHeader.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/PathHeader.php new file mode 100644 index 0000000..4a814b1 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/PathHeader.php @@ -0,0 +1,143 @@ +setFieldName($name); + parent::__construct($grammar); + } + + /** + * Get the type of Header that this instance represents. + * + * @see TYPE_TEXT, TYPE_PARAMETERIZED, TYPE_MAILBOX + * @see TYPE_DATE, TYPE_ID, TYPE_PATH + * + * @return int + */ + public function getFieldType() + { + return self::TYPE_PATH; + } + + /** + * Set the model for the field body. + * This method takes a string for an address. + * + * @param string $model + * + * @throws Swift_RfcComplianceException + */ + public function setFieldBodyModel($model) + { + $this->setAddress($model); + } + + /** + * Get the model for the field body. + * This method returns a string email address. + * + * @return mixed + */ + public function getFieldBodyModel() + { + return $this->getAddress(); + } + + /** + * Set the Address which should appear in this Header. + * + * @param string $address + * + * @throws Swift_RfcComplianceException + */ + public function setAddress($address) + { + if (null === $address) { + $this->_address = null; + } elseif ('' == $address) { + $this->_address = ''; + } else { + $this->_assertValidAddress($address); + $this->_address = $address; + } + $this->setCachedValue(null); + } + + /** + * Get the address which is used in this Header (if any). + * + * Null is returned if no address is set. + * + * @return string + */ + public function getAddress() + { + return $this->_address; + } + + /** + * Get the string value of the body in this Header. + * + * This is not necessarily RFC 2822 compliant since folding white space will + * not be added at this stage (see {@link toString()} for that). + * + * @see toString() + * + * @return string + */ + public function getFieldBody() + { + if (!$this->getCachedValue()) { + if (isset($this->_address)) { + $this->setCachedValue('<'.$this->_address.'>'); + } + } + + return $this->getCachedValue(); + } + + /** + * Throws an Exception if the address passed does not comply with RFC 2822. + * + * @param string $address + * + * @throws Swift_RfcComplianceException If address is invalid + */ + private function _assertValidAddress($address) + { + if (!preg_match('/^'.$this->getGrammar()->getDefinition('addr-spec').'$/D', + $address)) { + throw new Swift_RfcComplianceException( + 'Address set in PathHeader does not comply with addr-spec of RFC 2822.' + ); + } + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/UnstructuredHeader.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/UnstructuredHeader.php new file mode 100644 index 0000000..86177f1 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/UnstructuredHeader.php @@ -0,0 +1,112 @@ +setFieldName($name); + $this->setEncoder($encoder); + parent::__construct($grammar); + } + + /** + * Get the type of Header that this instance represents. + * + * @see TYPE_TEXT, TYPE_PARAMETERIZED, TYPE_MAILBOX + * @see TYPE_DATE, TYPE_ID, TYPE_PATH + * + * @return int + */ + public function getFieldType() + { + return self::TYPE_TEXT; + } + + /** + * Set the model for the field body. + * + * This method takes a string for the field value. + * + * @param string $model + */ + public function setFieldBodyModel($model) + { + $this->setValue($model); + } + + /** + * Get the model for the field body. + * + * This method returns a string. + * + * @return string + */ + public function getFieldBodyModel() + { + return $this->getValue(); + } + + /** + * Get the (unencoded) value of this header. + * + * @return string + */ + public function getValue() + { + return $this->_value; + } + + /** + * Set the (unencoded) value of this header. + * + * @param string $value + */ + public function setValue($value) + { + $this->clearCachedValueIf($this->_value != $value); + $this->_value = $value; + } + + /** + * Get the value of this header prepared for rendering. + * + * @return string + */ + public function getFieldBody() + { + if (!$this->getCachedValue()) { + $this->setCachedValue( + $this->encodeWords($this, $this->_value) + ); + } + + return $this->getCachedValue(); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Message.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Message.php new file mode 100644 index 0000000..9b36d21 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Message.php @@ -0,0 +1,223 @@ + 'Real Name'). + * + * If the second parameter is provided and the first is a string, then $name + * is associated with the address. + * + * @param mixed $address + * @param string $name optional + */ + public function setSender($address, $name = null); + + /** + * Get the sender address for this message. + * + * This has a higher significance than the From address. + * + * @return string + */ + public function getSender(); + + /** + * Set the From address of this message. + * + * It is permissible for multiple From addresses to be set using an array. + * + * If multiple From addresses are used, you SHOULD set the Sender address and + * according to RFC 2822, MUST set the sender address. + * + * An array can be used if display names are to be provided: i.e. + * array('email@address.com' => 'Real Name'). + * + * If the second parameter is provided and the first is a string, then $name + * is associated with the address. + * + * @param mixed $addresses + * @param string $name optional + */ + public function setFrom($addresses, $name = null); + + /** + * Get the From address(es) of this message. + * + * This method always returns an associative array where the keys are the + * addresses. + * + * @return string[] + */ + public function getFrom(); + + /** + * Set the Reply-To address(es). + * + * Any replies from the receiver will be sent to this address. + * + * It is permissible for multiple reply-to addresses to be set using an array. + * + * This method has the same synopsis as {@link setFrom()} and {@link setTo()}. + * + * If the second parameter is provided and the first is a string, then $name + * is associated with the address. + * + * @param mixed $addresses + * @param string $name optional + */ + public function setReplyTo($addresses, $name = null); + + /** + * Get the Reply-To addresses for this message. + * + * This method always returns an associative array where the keys provide the + * email addresses. + * + * @return string[] + */ + public function getReplyTo(); + + /** + * Set the To address(es). + * + * Recipients set in this field will receive a copy of this message. + * + * This method has the same synopsis as {@link setFrom()} and {@link setCc()}. + * + * If the second parameter is provided and the first is a string, then $name + * is associated with the address. + * + * @param mixed $addresses + * @param string $name optional + */ + public function setTo($addresses, $name = null); + + /** + * Get the To addresses for this message. + * + * This method always returns an associative array, whereby the keys provide + * the actual email addresses. + * + * @return string[] + */ + public function getTo(); + + /** + * Set the Cc address(es). + * + * Recipients set in this field will receive a 'carbon-copy' of this message. + * + * This method has the same synopsis as {@link setFrom()} and {@link setTo()}. + * + * @param mixed $addresses + * @param string $name optional + */ + public function setCc($addresses, $name = null); + + /** + * Get the Cc addresses for this message. + * + * This method always returns an associative array, whereby the keys provide + * the actual email addresses. + * + * @return string[] + */ + public function getCc(); + + /** + * Set the Bcc address(es). + * + * Recipients set in this field will receive a 'blind-carbon-copy' of this + * message. + * + * In other words, they will get the message, but any other recipients of the + * message will have no such knowledge of their receipt of it. + * + * This method has the same synopsis as {@link setFrom()} and {@link setTo()}. + * + * @param mixed $addresses + * @param string $name optional + */ + public function setBcc($addresses, $name = null); + + /** + * Get the Bcc addresses for this message. + * + * This method always returns an associative array, whereby the keys provide + * the actual email addresses. + * + * @return string[] + */ + public function getBcc(); +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/MimeEntity.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/MimeEntity.php new file mode 100644 index 0000000..30f460c --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/MimeEntity.php @@ -0,0 +1,117 @@ +setContentType('text/plain'); + if (null !== $charset) { + $this->setCharset($charset); + } + } + + /** + * Set the body of this entity, either as a string, or as an instance of + * {@link Swift_OutputByteStream}. + * + * @param mixed $body + * @param string $contentType optional + * @param string $charset optional + * + * @return $this + */ + public function setBody($body, $contentType = null, $charset = null) + { + if (isset($charset)) { + $this->setCharset($charset); + } + $body = $this->_convertString($body); + + parent::setBody($body, $contentType); + + return $this; + } + + /** + * Get the character set of this entity. + * + * @return string + */ + public function getCharset() + { + return $this->_getHeaderParameter('Content-Type', 'charset'); + } + + /** + * Set the character set of this entity. + * + * @param string $charset + * + * @return $this + */ + public function setCharset($charset) + { + $this->_setHeaderParameter('Content-Type', 'charset', $charset); + if ($charset !== $this->_userCharset) { + $this->_clearCache(); + } + $this->_userCharset = $charset; + parent::charsetChanged($charset); + + return $this; + } + + /** + * Get the format of this entity (i.e. flowed or fixed). + * + * @return string + */ + public function getFormat() + { + return $this->_getHeaderParameter('Content-Type', 'format'); + } + + /** + * Set the format of this entity (flowed or fixed). + * + * @param string $format + * + * @return $this + */ + public function setFormat($format) + { + $this->_setHeaderParameter('Content-Type', 'format', $format); + $this->_userFormat = $format; + + return $this; + } + + /** + * Test if delsp is being used for this entity. + * + * @return bool + */ + public function getDelSp() + { + return 'yes' == $this->_getHeaderParameter('Content-Type', 'delsp') ? true : false; + } + + /** + * Turn delsp on or off for this entity. + * + * @param bool $delsp + * + * @return $this + */ + public function setDelSp($delsp = true) + { + $this->_setHeaderParameter('Content-Type', 'delsp', $delsp ? 'yes' : null); + $this->_userDelSp = $delsp; + + return $this; + } + + /** + * Get the nesting level of this entity. + * + * @see LEVEL_TOP, LEVEL_ALTERNATIVE, LEVEL_MIXED, LEVEL_RELATED + * + * @return int + */ + public function getNestingLevel() + { + return $this->_nestingLevel; + } + + /** + * Receive notification that the charset has changed on this document, or a + * parent document. + * + * @param string $charset + */ + public function charsetChanged($charset) + { + $this->setCharset($charset); + } + + /** Fix the content-type and encoding of this entity */ + protected function _fixHeaders() + { + parent::_fixHeaders(); + if (count($this->getChildren())) { + $this->_setHeaderParameter('Content-Type', 'charset', null); + $this->_setHeaderParameter('Content-Type', 'format', null); + $this->_setHeaderParameter('Content-Type', 'delsp', null); + } else { + $this->setCharset($this->_userCharset); + $this->setFormat($this->_userFormat); + $this->setDelSp($this->_userDelSp); + } + } + + /** Set the nesting level of this entity */ + protected function _setNestingLevel($level) + { + $this->_nestingLevel = $level; + } + + /** Encode charset when charset is not utf-8 */ + protected function _convertString($string) + { + $charset = strtolower($this->getCharset()); + if (!in_array($charset, array('utf-8', 'iso-8859-1', 'iso-8859-15', ''))) { + // mb_convert_encoding must be the first one to check, since iconv cannot convert some words. + if (function_exists('mb_convert_encoding')) { + $string = mb_convert_encoding($string, $charset, 'utf-8'); + } elseif (function_exists('iconv')) { + $string = iconv('utf-8//TRANSLIT//IGNORE', $charset, $string); + } else { + throw new Swift_SwiftException('No suitable convert encoding function (use UTF-8 as your charset or install the mbstring or iconv extension).'); + } + + return $string; + } + + return $string; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ParameterizedHeader.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ParameterizedHeader.php new file mode 100644 index 0000000..e15c6ef --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ParameterizedHeader.php @@ -0,0 +1,34 @@ +_encoder = $encoder; + $this->_paramEncoder = $paramEncoder; + $this->_grammar = $grammar; + $this->_charset = $charset; + } + + /** + * Create a new Mailbox Header with a list of $addresses. + * + * @param string $name + * @param array|string|null $addresses + * + * @return Swift_Mime_Header + */ + public function createMailboxHeader($name, $addresses = null) + { + $header = new Swift_Mime_Headers_MailboxHeader($name, $this->_encoder, $this->_grammar); + if (isset($addresses)) { + $header->setFieldBodyModel($addresses); + } + $this->_setHeaderCharset($header); + + return $header; + } + + /** + * Create a new Date header using $timestamp (UNIX time). + * + * @param string $name + * @param int|null $timestamp + * + * @return Swift_Mime_Header + */ + public function createDateHeader($name, $timestamp = null) + { + $header = new Swift_Mime_Headers_DateHeader($name, $this->_grammar); + if (isset($timestamp)) { + $header->setFieldBodyModel($timestamp); + } + $this->_setHeaderCharset($header); + + return $header; + } + + /** + * Create a new basic text header with $name and $value. + * + * @param string $name + * @param string $value + * + * @return Swift_Mime_Header + */ + public function createTextHeader($name, $value = null) + { + $header = new Swift_Mime_Headers_UnstructuredHeader($name, $this->_encoder, $this->_grammar); + if (isset($value)) { + $header->setFieldBodyModel($value); + } + $this->_setHeaderCharset($header); + + return $header; + } + + /** + * Create a new ParameterizedHeader with $name, $value and $params. + * + * @param string $name + * @param string $value + * @param array $params + * + * @return Swift_Mime_ParameterizedHeader + */ + public function createParameterizedHeader($name, $value = null, + $params = array()) + { + $header = new Swift_Mime_Headers_ParameterizedHeader($name, $this->_encoder, strtolower($name) == 'content-disposition' ? $this->_paramEncoder : null, $this->_grammar); + if (isset($value)) { + $header->setFieldBodyModel($value); + } + foreach ($params as $k => $v) { + $header->setParameter($k, $v); + } + $this->_setHeaderCharset($header); + + return $header; + } + + /** + * Create a new ID header for Message-ID or Content-ID. + * + * @param string $name + * @param string|array $ids + * + * @return Swift_Mime_Header + */ + public function createIdHeader($name, $ids = null) + { + $header = new Swift_Mime_Headers_IdentificationHeader($name, $this->_grammar); + if (isset($ids)) { + $header->setFieldBodyModel($ids); + } + $this->_setHeaderCharset($header); + + return $header; + } + + /** + * Create a new Path header with an address (path) in it. + * + * @param string $name + * @param string $path + * + * @return Swift_Mime_Header + */ + public function createPathHeader($name, $path = null) + { + $header = new Swift_Mime_Headers_PathHeader($name, $this->_grammar); + if (isset($path)) { + $header->setFieldBodyModel($path); + } + $this->_setHeaderCharset($header); + + return $header; + } + + /** + * Notify this observer that the entity's charset has changed. + * + * @param string $charset + */ + public function charsetChanged($charset) + { + $this->_charset = $charset; + $this->_encoder->charsetChanged($charset); + $this->_paramEncoder->charsetChanged($charset); + } + + /** + * Make a deep copy of object. + */ + public function __clone() + { + $this->_encoder = clone $this->_encoder; + $this->_paramEncoder = clone $this->_paramEncoder; + } + + /** Apply the charset to the Header */ + private function _setHeaderCharset(Swift_Mime_Header $header) + { + if (isset($this->_charset)) { + $header->setCharset($this->_charset); + } + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderSet.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderSet.php new file mode 100644 index 0000000..a06ce72 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderSet.php @@ -0,0 +1,414 @@ +_factory = $factory; + if (isset($charset)) { + $this->setCharset($charset); + } + } + + /** + * Set the charset used by these headers. + * + * @param string $charset + */ + public function setCharset($charset) + { + $this->_charset = $charset; + $this->_factory->charsetChanged($charset); + $this->_notifyHeadersOfCharset($charset); + } + + /** + * Add a new Mailbox Header with a list of $addresses. + * + * @param string $name + * @param array|string $addresses + */ + public function addMailboxHeader($name, $addresses = null) + { + $this->_storeHeader($name, + $this->_factory->createMailboxHeader($name, $addresses)); + } + + /** + * Add a new Date header using $timestamp (UNIX time). + * + * @param string $name + * @param int $timestamp + */ + public function addDateHeader($name, $timestamp = null) + { + $this->_storeHeader($name, + $this->_factory->createDateHeader($name, $timestamp)); + } + + /** + * Add a new basic text header with $name and $value. + * + * @param string $name + * @param string $value + */ + public function addTextHeader($name, $value = null) + { + $this->_storeHeader($name, + $this->_factory->createTextHeader($name, $value)); + } + + /** + * Add a new ParameterizedHeader with $name, $value and $params. + * + * @param string $name + * @param string $value + * @param array $params + */ + public function addParameterizedHeader($name, $value = null, $params = array()) + { + $this->_storeHeader($name, $this->_factory->createParameterizedHeader($name, $value, $params)); + } + + /** + * Add a new ID header for Message-ID or Content-ID. + * + * @param string $name + * @param string|array $ids + */ + public function addIdHeader($name, $ids = null) + { + $this->_storeHeader($name, $this->_factory->createIdHeader($name, $ids)); + } + + /** + * Add a new Path header with an address (path) in it. + * + * @param string $name + * @param string $path + */ + public function addPathHeader($name, $path = null) + { + $this->_storeHeader($name, $this->_factory->createPathHeader($name, $path)); + } + + /** + * Returns true if at least one header with the given $name exists. + * + * If multiple headers match, the actual one may be specified by $index. + * + * @param string $name + * @param int $index + * + * @return bool + */ + public function has($name, $index = 0) + { + $lowerName = strtolower($name); + + if (!array_key_exists($lowerName, $this->_headers)) { + return false; + } + + if (func_num_args() < 2) { + // index was not specified, so we only need to check that there is at least one header value set + return (bool) count($this->_headers[$lowerName]); + } + + return array_key_exists($index, $this->_headers[$lowerName]); + } + + /** + * Set a header in the HeaderSet. + * + * The header may be a previously fetched header via {@link get()} or it may + * be one that has been created separately. + * + * If $index is specified, the header will be inserted into the set at this + * offset. + * + * @param Swift_Mime_Header $header + * @param int $index + */ + public function set(Swift_Mime_Header $header, $index = 0) + { + $this->_storeHeader($header->getFieldName(), $header, $index); + } + + /** + * Get the header with the given $name. + * + * If multiple headers match, the actual one may be specified by $index. + * Returns NULL if none present. + * + * @param string $name + * @param int $index + * + * @return Swift_Mime_Header + */ + public function get($name, $index = 0) + { + $name = strtolower($name); + + if (func_num_args() < 2) { + if ($this->has($name)) { + $values = array_values($this->_headers[$name]); + + return array_shift($values); + } + } else { + if ($this->has($name, $index)) { + return $this->_headers[$name][$index]; + } + } + } + + /** + * Get all headers with the given $name. + * + * @param string $name + * + * @return array + */ + public function getAll($name = null) + { + if (!isset($name)) { + $headers = array(); + foreach ($this->_headers as $collection) { + $headers = array_merge($headers, $collection); + } + + return $headers; + } + + $lowerName = strtolower($name); + if (!array_key_exists($lowerName, $this->_headers)) { + return array(); + } + + return $this->_headers[$lowerName]; + } + + /** + * Return the name of all Headers. + * + * @return array + */ + public function listAll() + { + $headers = $this->_headers; + if ($this->_canSort()) { + uksort($headers, array($this, '_sortHeaders')); + } + + return array_keys($headers); + } + + /** + * Remove the header with the given $name if it's set. + * + * If multiple headers match, the actual one may be specified by $index. + * + * @param string $name + * @param int $index + */ + public function remove($name, $index = 0) + { + $lowerName = strtolower($name); + unset($this->_headers[$lowerName][$index]); + } + + /** + * Remove all headers with the given $name. + * + * @param string $name + */ + public function removeAll($name) + { + $lowerName = strtolower($name); + unset($this->_headers[$lowerName]); + } + + /** + * Create a new instance of this HeaderSet. + * + * @return self + */ + public function newInstance() + { + return new self($this->_factory); + } + + /** + * Define a list of Header names as an array in the correct order. + * + * These Headers will be output in the given order where present. + * + * @param array $sequence + */ + public function defineOrdering(array $sequence) + { + $this->_order = array_flip(array_map('strtolower', $sequence)); + } + + /** + * Set a list of header names which must always be displayed when set. + * + * Usually headers without a field value won't be output unless set here. + * + * @param array $names + */ + public function setAlwaysDisplayed(array $names) + { + $this->_required = array_flip(array_map('strtolower', $names)); + } + + /** + * Notify this observer that the entity's charset has changed. + * + * @param string $charset + */ + public function charsetChanged($charset) + { + $this->setCharset($charset); + } + + /** + * Returns a string with a representation of all headers. + * + * @return string + */ + public function toString() + { + $string = ''; + $headers = $this->_headers; + if ($this->_canSort()) { + uksort($headers, array($this, '_sortHeaders')); + } + foreach ($headers as $collection) { + foreach ($collection as $header) { + if ($this->_isDisplayed($header) || $header->getFieldBody() != '') { + $string .= $header->toString(); + } + } + } + + return $string; + } + + /** + * Returns a string representation of this object. + * + * @return string + * + * @see toString() + */ + public function __toString() + { + return $this->toString(); + } + + /** Save a Header to the internal collection */ + private function _storeHeader($name, Swift_Mime_Header $header, $offset = null) + { + if (!isset($this->_headers[strtolower($name)])) { + $this->_headers[strtolower($name)] = array(); + } + if (!isset($offset)) { + $this->_headers[strtolower($name)][] = $header; + } else { + $this->_headers[strtolower($name)][$offset] = $header; + } + } + + /** Test if the headers can be sorted */ + private function _canSort() + { + return count($this->_order) > 0; + } + + /** uksort() algorithm for Header ordering */ + private function _sortHeaders($a, $b) + { + $lowerA = strtolower($a); + $lowerB = strtolower($b); + $aPos = array_key_exists($lowerA, $this->_order) ? $this->_order[$lowerA] : -1; + $bPos = array_key_exists($lowerB, $this->_order) ? $this->_order[$lowerB] : -1; + + if (-1 === $aPos && -1 === $bPos) { + // just be sure to be determinist here + return $a > $b ? -1 : 1; + } + + if ($aPos == -1) { + return 1; + } elseif ($bPos == -1) { + return -1; + } + + return $aPos < $bPos ? -1 : 1; + } + + /** Test if the given Header is always displayed */ + private function _isDisplayed(Swift_Mime_Header $header) + { + return array_key_exists(strtolower($header->getFieldName()), $this->_required); + } + + /** Notify all Headers of the new charset */ + private function _notifyHeadersOfCharset($charset) + { + foreach ($this->_headers as $headerGroup) { + foreach ($headerGroup as $header) { + $header->setCharset($charset); + } + } + } + + /** + * Make a deep copy of object. + */ + public function __clone() + { + $this->_factory = clone $this->_factory; + foreach ($this->_headers as $groupKey => $headerGroup) { + foreach ($headerGroup as $key => $header) { + $this->_headers[$groupKey][$key] = clone $header; + } + } + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleMessage.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleMessage.php new file mode 100644 index 0000000..72d40ce --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleMessage.php @@ -0,0 +1,655 @@ +getHeaders()->defineOrdering(array( + 'Return-Path', + 'Received', + 'DKIM-Signature', + 'DomainKey-Signature', + 'Sender', + 'Message-ID', + 'Date', + 'Subject', + 'From', + 'Reply-To', + 'To', + 'Cc', + 'Bcc', + 'MIME-Version', + 'Content-Type', + 'Content-Transfer-Encoding', + )); + $this->getHeaders()->setAlwaysDisplayed(array('Date', 'Message-ID', 'From')); + $this->getHeaders()->addTextHeader('MIME-Version', '1.0'); + $this->setDate(time()); + $this->setId($this->getId()); + $this->getHeaders()->addMailboxHeader('From'); + } + + /** + * Always returns {@link LEVEL_TOP} for a message instance. + * + * @return int + */ + public function getNestingLevel() + { + return self::LEVEL_TOP; + } + + /** + * Set the subject of this message. + * + * @param string $subject + * + * @return $this + */ + public function setSubject($subject) + { + if (!$this->_setHeaderFieldModel('Subject', $subject)) { + $this->getHeaders()->addTextHeader('Subject', $subject); + } + + return $this; + } + + /** + * Get the subject of this message. + * + * @return string + */ + public function getSubject() + { + return $this->_getHeaderFieldModel('Subject'); + } + + /** + * Set the date at which this message was created. + * + * @param int $date + * + * @return $this + */ + public function setDate($date) + { + if (!$this->_setHeaderFieldModel('Date', $date)) { + $this->getHeaders()->addDateHeader('Date', $date); + } + + return $this; + } + + /** + * Get the date at which this message was created. + * + * @return int + */ + public function getDate() + { + return $this->_getHeaderFieldModel('Date'); + } + + /** + * Set the return-path (the bounce address) of this message. + * + * @param string $address + * + * @return $this + */ + public function setReturnPath($address) + { + if (!$this->_setHeaderFieldModel('Return-Path', $address)) { + $this->getHeaders()->addPathHeader('Return-Path', $address); + } + + return $this; + } + + /** + * Get the return-path (bounce address) of this message. + * + * @return string + */ + public function getReturnPath() + { + return $this->_getHeaderFieldModel('Return-Path'); + } + + /** + * Set the sender of this message. + * + * This does not override the From field, but it has a higher significance. + * + * @param string $address + * @param string $name optional + * + * @return $this + */ + public function setSender($address, $name = null) + { + if (!is_array($address) && isset($name)) { + $address = array($address => $name); + } + + if (!$this->_setHeaderFieldModel('Sender', (array) $address)) { + $this->getHeaders()->addMailboxHeader('Sender', (array) $address); + } + + return $this; + } + + /** + * Get the sender of this message. + * + * @return string + */ + public function getSender() + { + return $this->_getHeaderFieldModel('Sender'); + } + + /** + * Add a From: address to this message. + * + * If $name is passed this name will be associated with the address. + * + * @param string $address + * @param string $name optional + * + * @return $this + */ + public function addFrom($address, $name = null) + { + $current = $this->getFrom(); + $current[$address] = $name; + + return $this->setFrom($current); + } + + /** + * Set the from address of this message. + * + * You may pass an array of addresses if this message is from multiple people. + * + * If $name is passed and the first parameter is a string, this name will be + * associated with the address. + * + * @param string|array $addresses + * @param string $name optional + * + * @return $this + */ + public function setFrom($addresses, $name = null) + { + if (!is_array($addresses) && isset($name)) { + $addresses = array($addresses => $name); + } + + if (!$this->_setHeaderFieldModel('From', (array) $addresses)) { + $this->getHeaders()->addMailboxHeader('From', (array) $addresses); + } + + return $this; + } + + /** + * Get the from address of this message. + * + * @return mixed + */ + public function getFrom() + { + return $this->_getHeaderFieldModel('From'); + } + + /** + * Add a Reply-To: address to this message. + * + * If $name is passed this name will be associated with the address. + * + * @param string $address + * @param string $name optional + * + * @return $this + */ + public function addReplyTo($address, $name = null) + { + $current = $this->getReplyTo(); + $current[$address] = $name; + + return $this->setReplyTo($current); + } + + /** + * Set the reply-to address of this message. + * + * You may pass an array of addresses if replies will go to multiple people. + * + * If $name is passed and the first parameter is a string, this name will be + * associated with the address. + * + * @param mixed $addresses + * @param string $name optional + * + * @return $this + */ + public function setReplyTo($addresses, $name = null) + { + if (!is_array($addresses) && isset($name)) { + $addresses = array($addresses => $name); + } + + if (!$this->_setHeaderFieldModel('Reply-To', (array) $addresses)) { + $this->getHeaders()->addMailboxHeader('Reply-To', (array) $addresses); + } + + return $this; + } + + /** + * Get the reply-to address of this message. + * + * @return string + */ + public function getReplyTo() + { + return $this->_getHeaderFieldModel('Reply-To'); + } + + /** + * Add a To: address to this message. + * + * If $name is passed this name will be associated with the address. + * + * @param string $address + * @param string $name optional + * + * @return $this + */ + public function addTo($address, $name = null) + { + $current = $this->getTo(); + $current[$address] = $name; + + return $this->setTo($current); + } + + /** + * Set the to addresses of this message. + * + * If multiple recipients will receive the message an array should be used. + * Example: array('receiver@domain.org', 'other@domain.org' => 'A name') + * + * If $name is passed and the first parameter is a string, this name will be + * associated with the address. + * + * @param mixed $addresses + * @param string $name optional + * + * @return $this + */ + public function setTo($addresses, $name = null) + { + if (!is_array($addresses) && isset($name)) { + $addresses = array($addresses => $name); + } + + if (!$this->_setHeaderFieldModel('To', (array) $addresses)) { + $this->getHeaders()->addMailboxHeader('To', (array) $addresses); + } + + return $this; + } + + /** + * Get the To addresses of this message. + * + * @return array + */ + public function getTo() + { + return $this->_getHeaderFieldModel('To'); + } + + /** + * Add a Cc: address to this message. + * + * If $name is passed this name will be associated with the address. + * + * @param string $address + * @param string $name optional + * + * @return $this + */ + public function addCc($address, $name = null) + { + $current = $this->getCc(); + $current[$address] = $name; + + return $this->setCc($current); + } + + /** + * Set the Cc addresses of this message. + * + * If $name is passed and the first parameter is a string, this name will be + * associated with the address. + * + * @param mixed $addresses + * @param string $name optional + * + * @return $this + */ + public function setCc($addresses, $name = null) + { + if (!is_array($addresses) && isset($name)) { + $addresses = array($addresses => $name); + } + + if (!$this->_setHeaderFieldModel('Cc', (array) $addresses)) { + $this->getHeaders()->addMailboxHeader('Cc', (array) $addresses); + } + + return $this; + } + + /** + * Get the Cc address of this message. + * + * @return array + */ + public function getCc() + { + return $this->_getHeaderFieldModel('Cc'); + } + + /** + * Add a Bcc: address to this message. + * + * If $name is passed this name will be associated with the address. + * + * @param string $address + * @param string $name optional + * + * @return $this + */ + public function addBcc($address, $name = null) + { + $current = $this->getBcc(); + $current[$address] = $name; + + return $this->setBcc($current); + } + + /** + * Set the Bcc addresses of this message. + * + * If $name is passed and the first parameter is a string, this name will be + * associated with the address. + * + * @param mixed $addresses + * @param string $name optional + * + * @return $this + */ + public function setBcc($addresses, $name = null) + { + if (!is_array($addresses) && isset($name)) { + $addresses = array($addresses => $name); + } + + if (!$this->_setHeaderFieldModel('Bcc', (array) $addresses)) { + $this->getHeaders()->addMailboxHeader('Bcc', (array) $addresses); + } + + return $this; + } + + /** + * Get the Bcc addresses of this message. + * + * @return array + */ + public function getBcc() + { + return $this->_getHeaderFieldModel('Bcc'); + } + + /** + * Set the priority of this message. + * + * The value is an integer where 1 is the highest priority and 5 is the lowest. + * + * @param int $priority + * + * @return $this + */ + public function setPriority($priority) + { + $priorityMap = array( + self::PRIORITY_HIGHEST => 'Highest', + self::PRIORITY_HIGH => 'High', + self::PRIORITY_NORMAL => 'Normal', + self::PRIORITY_LOW => 'Low', + self::PRIORITY_LOWEST => 'Lowest', + ); + $pMapKeys = array_keys($priorityMap); + if ($priority > max($pMapKeys)) { + $priority = max($pMapKeys); + } elseif ($priority < min($pMapKeys)) { + $priority = min($pMapKeys); + } + if (!$this->_setHeaderFieldModel('X-Priority', + sprintf('%d (%s)', $priority, $priorityMap[$priority]))) { + $this->getHeaders()->addTextHeader('X-Priority', + sprintf('%d (%s)', $priority, $priorityMap[$priority])); + } + + return $this; + } + + /** + * Get the priority of this message. + * + * The returned value is an integer where 1 is the highest priority and 5 + * is the lowest. + * + * @return int + */ + public function getPriority() + { + list($priority) = sscanf($this->_getHeaderFieldModel('X-Priority'), + '%[1-5]' + ); + + return isset($priority) ? $priority : 3; + } + + /** + * Ask for a delivery receipt from the recipient to be sent to $addresses. + * + * @param array $addresses + * + * @return $this + */ + public function setReadReceiptTo($addresses) + { + if (!$this->_setHeaderFieldModel('Disposition-Notification-To', $addresses)) { + $this->getHeaders() + ->addMailboxHeader('Disposition-Notification-To', $addresses); + } + + return $this; + } + + /** + * Get the addresses to which a read-receipt will be sent. + * + * @return string + */ + public function getReadReceiptTo() + { + return $this->_getHeaderFieldModel('Disposition-Notification-To'); + } + + /** + * Attach a {@link Swift_Mime_MimeEntity} such as an Attachment or MimePart. + * + * @param Swift_Mime_MimeEntity $entity + * + * @return $this + */ + public function attach(Swift_Mime_MimeEntity $entity) + { + $this->setChildren(array_merge($this->getChildren(), array($entity))); + + return $this; + } + + /** + * Remove an already attached entity. + * + * @param Swift_Mime_MimeEntity $entity + * + * @return $this + */ + public function detach(Swift_Mime_MimeEntity $entity) + { + $newChildren = array(); + foreach ($this->getChildren() as $child) { + if ($entity !== $child) { + $newChildren[] = $child; + } + } + $this->setChildren($newChildren); + + return $this; + } + + /** + * Attach a {@link Swift_Mime_MimeEntity} and return it's CID source. + * This method should be used when embedding images or other data in a message. + * + * @param Swift_Mime_MimeEntity $entity + * + * @return string + */ + public function embed(Swift_Mime_MimeEntity $entity) + { + $this->attach($entity); + + return 'cid:'.$entity->getId(); + } + + /** + * Get this message as a complete string. + * + * @return string + */ + public function toString() + { + if (count($children = $this->getChildren()) > 0 && $this->getBody() != '') { + $this->setChildren(array_merge(array($this->_becomeMimePart()), $children)); + $string = parent::toString(); + $this->setChildren($children); + } else { + $string = parent::toString(); + } + + return $string; + } + + /** + * Returns a string representation of this object. + * + * @see toString() + * + * @return string + */ + public function __toString() + { + return $this->toString(); + } + + /** + * Write this message to a {@link Swift_InputByteStream}. + * + * @param Swift_InputByteStream $is + */ + public function toByteStream(Swift_InputByteStream $is) + { + if (count($children = $this->getChildren()) > 0 && $this->getBody() != '') { + $this->setChildren(array_merge(array($this->_becomeMimePart()), $children)); + parent::toByteStream($is); + $this->setChildren($children); + } else { + parent::toByteStream($is); + } + } + + /** @see Swift_Mime_SimpleMimeEntity::_getIdField() */ + protected function _getIdField() + { + return 'Message-ID'; + } + + /** Turn the body of this message into a child of itself if needed */ + protected function _becomeMimePart() + { + $part = new parent($this->getHeaders()->newInstance(), $this->getEncoder(), + $this->_getCache(), $this->_getGrammar(), $this->_userCharset + ); + $part->setContentType($this->_userContentType); + $part->setBody($this->getBody()); + $part->setFormat($this->_userFormat); + $part->setDelSp($this->_userDelSp); + $part->_setNestingLevel($this->_getTopNestingLevel()); + + return $part; + } + + /** Get the highest nesting level nested inside this message */ + private function _getTopNestingLevel() + { + $highestLevel = $this->getNestingLevel(); + foreach ($this->getChildren() as $child) { + $childLevel = $child->getNestingLevel(); + if ($highestLevel < $childLevel) { + $highestLevel = $childLevel; + } + } + + return $highestLevel; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleMimeEntity.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleMimeEntity.php new file mode 100644 index 0000000..a13f1b2 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleMimeEntity.php @@ -0,0 +1,846 @@ + array(self::LEVEL_TOP, self::LEVEL_MIXED), + 'multipart/alternative' => array(self::LEVEL_MIXED, self::LEVEL_ALTERNATIVE), + 'multipart/related' => array(self::LEVEL_ALTERNATIVE, self::LEVEL_RELATED), + ); + + /** A set of filter rules to define what level an entity should be nested at */ + private $_compoundLevelFilters = array(); + + /** The nesting level of this entity */ + private $_nestingLevel = self::LEVEL_ALTERNATIVE; + + /** A KeyCache instance used during encoding and streaming */ + private $_cache; + + /** Direct descendants of this entity */ + private $_immediateChildren = array(); + + /** All descendants of this entity */ + private $_children = array(); + + /** The maximum line length of the body of this entity */ + private $_maxLineLength = 78; + + /** The order in which alternative mime types should appear */ + private $_alternativePartOrder = array( + 'text/plain' => 1, + 'text/html' => 2, + 'multipart/related' => 3, + ); + + /** The CID of this entity */ + private $_id; + + /** The key used for accessing the cache */ + private $_cacheKey; + + protected $_userContentType; + + /** + * Create a new SimpleMimeEntity with $headers, $encoder and $cache. + * + * @param Swift_Mime_HeaderSet $headers + * @param Swift_Mime_ContentEncoder $encoder + * @param Swift_KeyCache $cache + * @param Swift_Mime_Grammar $grammar + */ + public function __construct(Swift_Mime_HeaderSet $headers, Swift_Mime_ContentEncoder $encoder, Swift_KeyCache $cache, Swift_Mime_Grammar $grammar) + { + $this->_cacheKey = md5(uniqid(getmypid().mt_rand(), true)); + $this->_cache = $cache; + $this->_headers = $headers; + $this->_grammar = $grammar; + $this->setEncoder($encoder); + $this->_headers->defineOrdering(array('Content-Type', 'Content-Transfer-Encoding')); + + // This array specifies that, when the entire MIME document contains + // $compoundLevel, then for each child within $level, if its Content-Type + // is $contentType then it should be treated as if it's level is + // $neededLevel instead. I tried to write that unambiguously! :-\ + // Data Structure: + // array ( + // $compoundLevel => array( + // $level => array( + // $contentType => $neededLevel + // ) + // ) + // ) + + $this->_compoundLevelFilters = array( + (self::LEVEL_ALTERNATIVE + self::LEVEL_RELATED) => array( + self::LEVEL_ALTERNATIVE => array( + 'text/plain' => self::LEVEL_ALTERNATIVE, + 'text/html' => self::LEVEL_RELATED, + ), + ), + ); + + $this->_id = $this->getRandomId(); + } + + /** + * Generate a new Content-ID or Message-ID for this MIME entity. + * + * @return string + */ + public function generateId() + { + $this->setId($this->getRandomId()); + + return $this->_id; + } + + /** + * Get the {@link Swift_Mime_HeaderSet} for this entity. + * + * @return Swift_Mime_HeaderSet + */ + public function getHeaders() + { + return $this->_headers; + } + + /** + * Get the nesting level of this entity. + * + * @see LEVEL_TOP, LEVEL_MIXED, LEVEL_RELATED, LEVEL_ALTERNATIVE + * + * @return int + */ + public function getNestingLevel() + { + return $this->_nestingLevel; + } + + /** + * Get the Content-type of this entity. + * + * @return string + */ + public function getContentType() + { + return $this->_getHeaderFieldModel('Content-Type'); + } + + /** + * Set the Content-type of this entity. + * + * @param string $type + * + * @return $this + */ + public function setContentType($type) + { + $this->_setContentTypeInHeaders($type); + // Keep track of the value so that if the content-type changes automatically + // due to added child entities, it can be restored if they are later removed + $this->_userContentType = $type; + + return $this; + } + + /** + * Get the CID of this entity. + * + * The CID will only be present in headers if a Content-ID header is present. + * + * @return string + */ + public function getId() + { + $tmp = (array) $this->_getHeaderFieldModel($this->_getIdField()); + + return $this->_headers->has($this->_getIdField()) ? current($tmp) : $this->_id; + } + + /** + * Set the CID of this entity. + * + * @param string $id + * + * @return $this + */ + public function setId($id) + { + if (!$this->_setHeaderFieldModel($this->_getIdField(), $id)) { + $this->_headers->addIdHeader($this->_getIdField(), $id); + } + $this->_id = $id; + + return $this; + } + + /** + * Get the description of this entity. + * + * This value comes from the Content-Description header if set. + * + * @return string + */ + public function getDescription() + { + return $this->_getHeaderFieldModel('Content-Description'); + } + + /** + * Set the description of this entity. + * + * This method sets a value in the Content-ID header. + * + * @param string $description + * + * @return $this + */ + public function setDescription($description) + { + if (!$this->_setHeaderFieldModel('Content-Description', $description)) { + $this->_headers->addTextHeader('Content-Description', $description); + } + + return $this; + } + + /** + * Get the maximum line length of the body of this entity. + * + * @return int + */ + public function getMaxLineLength() + { + return $this->_maxLineLength; + } + + /** + * Set the maximum line length of lines in this body. + * + * Though not enforced by the library, lines should not exceed 1000 chars. + * + * @param int $length + * + * @return $this + */ + public function setMaxLineLength($length) + { + $this->_maxLineLength = $length; + + return $this; + } + + /** + * Get all children added to this entity. + * + * @return Swift_Mime_MimeEntity[] + */ + public function getChildren() + { + return $this->_children; + } + + /** + * Set all children of this entity. + * + * @param Swift_Mime_MimeEntity[] $children + * @param int $compoundLevel For internal use only + * + * @return $this + */ + public function setChildren(array $children, $compoundLevel = null) + { + // TODO: Try to refactor this logic + + $compoundLevel = isset($compoundLevel) ? $compoundLevel : $this->_getCompoundLevel($children); + $immediateChildren = array(); + $grandchildren = array(); + $newContentType = $this->_userContentType; + + foreach ($children as $child) { + $level = $this->_getNeededChildLevel($child, $compoundLevel); + if (empty($immediateChildren)) { + //first iteration + $immediateChildren = array($child); + } else { + $nextLevel = $this->_getNeededChildLevel($immediateChildren[0], $compoundLevel); + if ($nextLevel == $level) { + $immediateChildren[] = $child; + } elseif ($level < $nextLevel) { + // Re-assign immediateChildren to grandchildren + $grandchildren = array_merge($grandchildren, $immediateChildren); + // Set new children + $immediateChildren = array($child); + } else { + $grandchildren[] = $child; + } + } + } + + if ($immediateChildren) { + $lowestLevel = $this->_getNeededChildLevel($immediateChildren[0], $compoundLevel); + + // Determine which composite media type is needed to accommodate the + // immediate children + foreach ($this->_compositeRanges as $mediaType => $range) { + if ($lowestLevel > $range[0] && $lowestLevel <= $range[1]) { + $newContentType = $mediaType; + + break; + } + } + + // Put any grandchildren in a subpart + if (!empty($grandchildren)) { + $subentity = $this->_createChild(); + $subentity->_setNestingLevel($lowestLevel); + $subentity->setChildren($grandchildren, $compoundLevel); + array_unshift($immediateChildren, $subentity); + } + } + + $this->_immediateChildren = $immediateChildren; + $this->_children = $children; + $this->_setContentTypeInHeaders($newContentType); + $this->_fixHeaders(); + $this->_sortChildren(); + + return $this; + } + + /** + * Get the body of this entity as a string. + * + * @return string + */ + public function getBody() + { + return $this->_body instanceof Swift_OutputByteStream ? $this->_readStream($this->_body) : $this->_body; + } + + /** + * Set the body of this entity, either as a string, or as an instance of + * {@link Swift_OutputByteStream}. + * + * @param mixed $body + * @param string $contentType optional + * + * @return $this + */ + public function setBody($body, $contentType = null) + { + if ($body !== $this->_body) { + $this->_clearCache(); + } + + $this->_body = $body; + if (isset($contentType)) { + $this->setContentType($contentType); + } + + return $this; + } + + /** + * Get the encoder used for the body of this entity. + * + * @return Swift_Mime_ContentEncoder + */ + public function getEncoder() + { + return $this->_encoder; + } + + /** + * Set the encoder used for the body of this entity. + * + * @param Swift_Mime_ContentEncoder $encoder + * + * @return $this + */ + public function setEncoder(Swift_Mime_ContentEncoder $encoder) + { + if ($encoder !== $this->_encoder) { + $this->_clearCache(); + } + + $this->_encoder = $encoder; + $this->_setEncoding($encoder->getName()); + $this->_notifyEncoderChanged($encoder); + + return $this; + } + + /** + * Get the boundary used to separate children in this entity. + * + * @return string + */ + public function getBoundary() + { + if (!isset($this->_boundary)) { + $this->_boundary = '_=_swift_v4_'.time().'_'.md5(getmypid().mt_rand().uniqid('', true)).'_=_'; + } + + return $this->_boundary; + } + + /** + * Set the boundary used to separate children in this entity. + * + * @param string $boundary + * + * @throws Swift_RfcComplianceException + * + * @return $this + */ + public function setBoundary($boundary) + { + $this->_assertValidBoundary($boundary); + $this->_boundary = $boundary; + + return $this; + } + + /** + * Receive notification that the charset of this entity, or a parent entity + * has changed. + * + * @param string $charset + */ + public function charsetChanged($charset) + { + $this->_notifyCharsetChanged($charset); + } + + /** + * Receive notification that the encoder of this entity or a parent entity + * has changed. + * + * @param Swift_Mime_ContentEncoder $encoder + */ + public function encoderChanged(Swift_Mime_ContentEncoder $encoder) + { + $this->_notifyEncoderChanged($encoder); + } + + /** + * Get this entire entity as a string. + * + * @return string + */ + public function toString() + { + $string = $this->_headers->toString(); + $string .= $this->_bodyToString(); + + return $string; + } + + /** + * Get this entire entity as a string. + * + * @return string + */ + protected function _bodyToString() + { + $string = ''; + + if (isset($this->_body) && empty($this->_immediateChildren)) { + if ($this->_cache->hasKey($this->_cacheKey, 'body')) { + $body = $this->_cache->getString($this->_cacheKey, 'body'); + } else { + $body = "\r\n".$this->_encoder->encodeString($this->getBody(), 0, $this->getMaxLineLength()); + $this->_cache->setString($this->_cacheKey, 'body', $body, Swift_KeyCache::MODE_WRITE); + } + $string .= $body; + } + + if (!empty($this->_immediateChildren)) { + foreach ($this->_immediateChildren as $child) { + $string .= "\r\n\r\n--".$this->getBoundary()."\r\n"; + $string .= $child->toString(); + } + $string .= "\r\n\r\n--".$this->getBoundary()."--\r\n"; + } + + return $string; + } + + /** + * Returns a string representation of this object. + * + * @see toString() + * + * @return string + */ + public function __toString() + { + return $this->toString(); + } + + /** + * Write this entire entity to a {@see Swift_InputByteStream}. + * + * @param Swift_InputByteStream + */ + public function toByteStream(Swift_InputByteStream $is) + { + $is->write($this->_headers->toString()); + $is->commit(); + + $this->_bodyToByteStream($is); + } + + /** + * Write this entire entity to a {@link Swift_InputByteStream}. + * + * @param Swift_InputByteStream + */ + protected function _bodyToByteStream(Swift_InputByteStream $is) + { + if (empty($this->_immediateChildren)) { + if (isset($this->_body)) { + if ($this->_cache->hasKey($this->_cacheKey, 'body')) { + $this->_cache->exportToByteStream($this->_cacheKey, 'body', $is); + } else { + $cacheIs = $this->_cache->getInputByteStream($this->_cacheKey, 'body'); + if ($cacheIs) { + $is->bind($cacheIs); + } + + $is->write("\r\n"); + + if ($this->_body instanceof Swift_OutputByteStream) { + $this->_body->setReadPointer(0); + + $this->_encoder->encodeByteStream($this->_body, $is, 0, $this->getMaxLineLength()); + } else { + $is->write($this->_encoder->encodeString($this->getBody(), 0, $this->getMaxLineLength())); + } + + if ($cacheIs) { + $is->unbind($cacheIs); + } + } + } + } + + if (!empty($this->_immediateChildren)) { + foreach ($this->_immediateChildren as $child) { + $is->write("\r\n\r\n--".$this->getBoundary()."\r\n"); + $child->toByteStream($is); + } + $is->write("\r\n\r\n--".$this->getBoundary()."--\r\n"); + } + } + + /** + * Get the name of the header that provides the ID of this entity. + */ + protected function _getIdField() + { + return 'Content-ID'; + } + + /** + * Get the model data (usually an array or a string) for $field. + */ + protected function _getHeaderFieldModel($field) + { + if ($this->_headers->has($field)) { + return $this->_headers->get($field)->getFieldBodyModel(); + } + } + + /** + * Set the model data for $field. + */ + protected function _setHeaderFieldModel($field, $model) + { + if ($this->_headers->has($field)) { + $this->_headers->get($field)->setFieldBodyModel($model); + + return true; + } + + return false; + } + + /** + * Get the parameter value of $parameter on $field header. + */ + protected function _getHeaderParameter($field, $parameter) + { + if ($this->_headers->has($field)) { + return $this->_headers->get($field)->getParameter($parameter); + } + } + + /** + * Set the parameter value of $parameter on $field header. + */ + protected function _setHeaderParameter($field, $parameter, $value) + { + if ($this->_headers->has($field)) { + $this->_headers->get($field)->setParameter($parameter, $value); + + return true; + } + + return false; + } + + /** + * Re-evaluate what content type and encoding should be used on this entity. + */ + protected function _fixHeaders() + { + if (count($this->_immediateChildren)) { + $this->_setHeaderParameter('Content-Type', 'boundary', + $this->getBoundary() + ); + $this->_headers->remove('Content-Transfer-Encoding'); + } else { + $this->_setHeaderParameter('Content-Type', 'boundary', null); + $this->_setEncoding($this->_encoder->getName()); + } + } + + /** + * Get the KeyCache used in this entity. + * + * @return Swift_KeyCache + */ + protected function _getCache() + { + return $this->_cache; + } + + /** + * Get the grammar used for validation. + * + * @return Swift_Mime_Grammar + */ + protected function _getGrammar() + { + return $this->_grammar; + } + + /** + * Empty the KeyCache for this entity. + */ + protected function _clearCache() + { + $this->_cache->clearKey($this->_cacheKey, 'body'); + } + + /** + * Returns a random Content-ID or Message-ID. + * + * @return string + */ + protected function getRandomId() + { + $idLeft = md5(getmypid().'.'.time().'.'.uniqid(mt_rand(), true)); + $idRight = !empty($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : 'swift.generated'; + $id = $idLeft.'@'.$idRight; + + try { + $this->_assertValidId($id); + } catch (Swift_RfcComplianceException $e) { + $id = $idLeft.'@swift.generated'; + } + + return $id; + } + + private function _readStream(Swift_OutputByteStream $os) + { + $string = ''; + while (false !== $bytes = $os->read(8192)) { + $string .= $bytes; + } + + $os->setReadPointer(0); + + return $string; + } + + private function _setEncoding($encoding) + { + if (!$this->_setHeaderFieldModel('Content-Transfer-Encoding', $encoding)) { + $this->_headers->addTextHeader('Content-Transfer-Encoding', $encoding); + } + } + + private function _assertValidBoundary($boundary) + { + if (!preg_match('/^[a-z0-9\'\(\)\+_\-,\.\/:=\?\ ]{0,69}[a-z0-9\'\(\)\+_\-,\.\/:=\?]$/Di', $boundary)) { + throw new Swift_RfcComplianceException('Mime boundary set is not RFC 2046 compliant.'); + } + } + + private function _setContentTypeInHeaders($type) + { + if (!$this->_setHeaderFieldModel('Content-Type', $type)) { + $this->_headers->addParameterizedHeader('Content-Type', $type); + } + } + + private function _setNestingLevel($level) + { + $this->_nestingLevel = $level; + } + + private function _getCompoundLevel($children) + { + $level = 0; + foreach ($children as $child) { + $level |= $child->getNestingLevel(); + } + + return $level; + } + + private function _getNeededChildLevel($child, $compoundLevel) + { + $filter = array(); + foreach ($this->_compoundLevelFilters as $bitmask => $rules) { + if (($compoundLevel & $bitmask) === $bitmask) { + $filter = $rules + $filter; + } + } + + $realLevel = $child->getNestingLevel(); + $lowercaseType = strtolower($child->getContentType()); + + if (isset($filter[$realLevel]) && isset($filter[$realLevel][$lowercaseType])) { + return $filter[$realLevel][$lowercaseType]; + } + + return $realLevel; + } + + private function _createChild() + { + return new self($this->_headers->newInstance(), $this->_encoder, $this->_cache, $this->_grammar); + } + + private function _notifyEncoderChanged(Swift_Mime_ContentEncoder $encoder) + { + foreach ($this->_immediateChildren as $child) { + $child->encoderChanged($encoder); + } + } + + private function _notifyCharsetChanged($charset) + { + $this->_encoder->charsetChanged($charset); + $this->_headers->charsetChanged($charset); + foreach ($this->_immediateChildren as $child) { + $child->charsetChanged($charset); + } + } + + private function _sortChildren() + { + $shouldSort = false; + foreach ($this->_immediateChildren as $child) { + // NOTE: This include alternative parts moved into a related part + if ($child->getNestingLevel() == self::LEVEL_ALTERNATIVE) { + $shouldSort = true; + break; + } + } + + // Sort in order of preference, if there is one + if ($shouldSort) { + // Group the messages by order of preference + $sorted = array(); + foreach ($this->_immediateChildren as $child) { + $type = $child->getContentType(); + $level = array_key_exists($type, $this->_alternativePartOrder) ? $this->_alternativePartOrder[$type] : max($this->_alternativePartOrder) + 1; + + if (empty($sorted[$level])) { + $sorted[$level] = array(); + } + + $sorted[$level][] = $child; + } + + ksort($sorted); + + $this->_immediateChildren = array_reduce($sorted, 'array_merge', array()); + } + } + + /** + * Empties it's own contents from the cache. + */ + public function __destruct() + { + if ($this->_cache instanceof Swift_KeyCache) { + $this->_cache->clearAll($this->_cacheKey); + } + } + + /** + * Throws an Exception if the id passed does not comply with RFC 2822. + * + * @param string $id + * + * @throws Swift_RfcComplianceException + */ + private function _assertValidId($id) + { + if (!preg_match('/^'.$this->_grammar->getDefinition('id-left').'@'.$this->_grammar->getDefinition('id-right').'$/D', $id)) { + throw new Swift_RfcComplianceException('Invalid ID given <'.$id.'>'); + } + } + + /** + * Make a deep copy of object. + */ + public function __clone() + { + $this->_headers = clone $this->_headers; + $this->_encoder = clone $this->_encoder; + $this->_cacheKey = md5(uniqid(getmypid().mt_rand(), true)); + $children = array(); + foreach ($this->_children as $pos => $child) { + $children[$pos] = clone $child; + } + $this->setChildren($children); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/MimePart.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/MimePart.php new file mode 100644 index 0000000..525b7ec --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/MimePart.php @@ -0,0 +1,59 @@ +createDependenciesFor('mime.part') + ); + + if (!isset($charset)) { + $charset = Swift_DependencyContainer::getInstance() + ->lookup('properties.charset'); + } + $this->setBody($body); + $this->setCharset($charset); + if ($contentType) { + $this->setContentType($contentType); + } + } + + /** + * Create a new MimePart. + * + * @param string $body + * @param string $contentType + * @param string $charset + * + * @return self + */ + public static function newInstance($body = null, $contentType = null, $charset = null) + { + return new self($body, $contentType, $charset); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/NullTransport.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/NullTransport.php new file mode 100644 index 0000000..ddde335 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/NullTransport.php @@ -0,0 +1,36 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +/** + * Pretends messages have been sent, but just ignores them. + * + * @author Fabien Potencier + */ +class Swift_NullTransport extends Swift_Transport_NullTransport +{ + public function __construct() + { + call_user_func_array( + array($this, 'Swift_Transport_NullTransport::__construct'), + Swift_DependencyContainer::getInstance() + ->createDependenciesFor('transport.null') + ); + } + + /** + * Create a new NullTransport instance. + * + * @return self + */ + public static function newInstance() + { + return new self(); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/OutputByteStream.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/OutputByteStream.php new file mode 100644 index 0000000..1f26f9b --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/OutputByteStream.php @@ -0,0 +1,46 @@ +setThreshold($threshold); + $this->setSleepTime($sleep); + $this->_sleeper = $sleeper; + } + + /** + * Set the number of emails to send before restarting. + * + * @param int $threshold + */ + public function setThreshold($threshold) + { + $this->_threshold = $threshold; + } + + /** + * Get the number of emails to send before restarting. + * + * @return int + */ + public function getThreshold() + { + return $this->_threshold; + } + + /** + * Set the number of seconds to sleep for during a restart. + * + * @param int $sleep time + */ + public function setSleepTime($sleep) + { + $this->_sleep = $sleep; + } + + /** + * Get the number of seconds to sleep for during a restart. + * + * @return int + */ + public function getSleepTime() + { + return $this->_sleep; + } + + /** + * Invoked immediately before the Message is sent. + * + * @param Swift_Events_SendEvent $evt + */ + public function beforeSendPerformed(Swift_Events_SendEvent $evt) + { + } + + /** + * Invoked immediately after the Message is sent. + * + * @param Swift_Events_SendEvent $evt + */ + public function sendPerformed(Swift_Events_SendEvent $evt) + { + ++$this->_counter; + if ($this->_counter >= $this->_threshold) { + $transport = $evt->getTransport(); + $transport->stop(); + if ($this->_sleep) { + $this->sleep($this->_sleep); + } + $transport->start(); + $this->_counter = 0; + } + } + + /** + * Sleep for $seconds. + * + * @param int $seconds + */ + public function sleep($seconds) + { + if (isset($this->_sleeper)) { + $this->_sleeper->sleep($seconds); + } else { + sleep($seconds); + } + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/BandwidthMonitorPlugin.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/BandwidthMonitorPlugin.php new file mode 100644 index 0000000..f7e18d0 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/BandwidthMonitorPlugin.php @@ -0,0 +1,164 @@ +getMessage(); + $message->toByteStream($this); + } + + /** + * Invoked immediately following a command being sent. + * + * @param Swift_Events_CommandEvent $evt + */ + public function commandSent(Swift_Events_CommandEvent $evt) + { + $command = $evt->getCommand(); + $this->_out += strlen($command); + } + + /** + * Invoked immediately following a response coming back. + * + * @param Swift_Events_ResponseEvent $evt + */ + public function responseReceived(Swift_Events_ResponseEvent $evt) + { + $response = $evt->getResponse(); + $this->_in += strlen($response); + } + + /** + * Called when a message is sent so that the outgoing counter can be increased. + * + * @param string $bytes + */ + public function write($bytes) + { + $this->_out += strlen($bytes); + foreach ($this->_mirrors as $stream) { + $stream->write($bytes); + } + } + + /** + * Not used. + */ + public function commit() + { + } + + /** + * Attach $is to this stream. + * + * The stream acts as an observer, receiving all data that is written. + * All {@link write()} and {@link flushBuffers()} operations will be mirrored. + * + * @param Swift_InputByteStream $is + */ + public function bind(Swift_InputByteStream $is) + { + $this->_mirrors[] = $is; + } + + /** + * Remove an already bound stream. + * + * If $is is not bound, no errors will be raised. + * If the stream currently has any buffered data it will be written to $is + * before unbinding occurs. + * + * @param Swift_InputByteStream $is + */ + public function unbind(Swift_InputByteStream $is) + { + foreach ($this->_mirrors as $k => $stream) { + if ($is === $stream) { + unset($this->_mirrors[$k]); + } + } + } + + /** + * Not used. + */ + public function flushBuffers() + { + foreach ($this->_mirrors as $stream) { + $stream->flushBuffers(); + } + } + + /** + * Get the total number of bytes sent to the server. + * + * @return int + */ + public function getBytesOut() + { + return $this->_out; + } + + /** + * Get the total number of bytes received from the server. + * + * @return int + */ + public function getBytesIn() + { + return $this->_in; + } + + /** + * Reset the internal counters to zero. + */ + public function reset() + { + $this->_out = 0; + $this->_in = 0; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Decorator/Replacements.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Decorator/Replacements.php new file mode 100644 index 0000000..9f9f08b --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Decorator/Replacements.php @@ -0,0 +1,31 @@ + + * $replacements = array( + * "address1@domain.tld" => array("{a}" => "b", "{c}" => "d"), + * "address2@domain.tld" => array("{a}" => "x", "{c}" => "y") + * ) + * + * + * When using an instance of {@link Swift_Plugins_Decorator_Replacements}, + * the object should return just the array of replacements for the address + * given to {@link Swift_Plugins_Decorator_Replacements::getReplacementsFor()}. + * + * @param mixed $replacements Array or Swift_Plugins_Decorator_Replacements + */ + public function __construct($replacements) + { + $this->setReplacements($replacements); + } + + /** + * Sets replacements. + * + * @param mixed $replacements Array or Swift_Plugins_Decorator_Replacements + * + * @see __construct() + */ + public function setReplacements($replacements) + { + if (!($replacements instanceof Swift_Plugins_Decorator_Replacements)) { + $this->_replacements = (array) $replacements; + } else { + $this->_replacements = $replacements; + } + } + + /** + * Invoked immediately before the Message is sent. + * + * @param Swift_Events_SendEvent $evt + */ + public function beforeSendPerformed(Swift_Events_SendEvent $evt) + { + $message = $evt->getMessage(); + $this->_restoreMessage($message); + $to = array_keys($message->getTo()); + $address = array_shift($to); + if ($replacements = $this->getReplacementsFor($address)) { + $body = $message->getBody(); + $search = array_keys($replacements); + $replace = array_values($replacements); + $bodyReplaced = str_replace( + $search, $replace, $body + ); + if ($body != $bodyReplaced) { + $this->_originalBody = $body; + $message->setBody($bodyReplaced); + } + + foreach ($message->getHeaders()->getAll() as $header) { + $body = $header->getFieldBodyModel(); + $count = 0; + if (is_array($body)) { + $bodyReplaced = array(); + foreach ($body as $key => $value) { + $count1 = 0; + $count2 = 0; + $key = is_string($key) ? str_replace($search, $replace, $key, $count1) : $key; + $value = is_string($value) ? str_replace($search, $replace, $value, $count2) : $value; + $bodyReplaced[$key] = $value; + + if (!$count && ($count1 || $count2)) { + $count = 1; + } + } + } else { + $bodyReplaced = str_replace($search, $replace, $body, $count); + } + + if ($count) { + $this->_originalHeaders[$header->getFieldName()] = $body; + $header->setFieldBodyModel($bodyReplaced); + } + } + + $children = (array) $message->getChildren(); + foreach ($children as $child) { + list($type) = sscanf($child->getContentType(), '%[^/]/%s'); + if ('text' == $type) { + $body = $child->getBody(); + $bodyReplaced = str_replace( + $search, $replace, $body + ); + if ($body != $bodyReplaced) { + $child->setBody($bodyReplaced); + $this->_originalChildBodies[$child->getId()] = $body; + } + } + } + $this->_lastMessage = $message; + } + } + + /** + * Find a map of replacements for the address. + * + * If this plugin was provided with a delegate instance of + * {@link Swift_Plugins_Decorator_Replacements} then the call will be + * delegated to it. Otherwise, it will attempt to find the replacements + * from the array provided in the constructor. + * + * If no replacements can be found, an empty value (NULL) is returned. + * + * @param string $address + * + * @return array + */ + public function getReplacementsFor($address) + { + if ($this->_replacements instanceof Swift_Plugins_Decorator_Replacements) { + return $this->_replacements->getReplacementsFor($address); + } + + return isset($this->_replacements[$address]) ? $this->_replacements[$address] : null; + } + + /** + * Invoked immediately after the Message is sent. + * + * @param Swift_Events_SendEvent $evt + */ + public function sendPerformed(Swift_Events_SendEvent $evt) + { + $this->_restoreMessage($evt->getMessage()); + } + + /** Restore a changed message back to its original state */ + private function _restoreMessage(Swift_Mime_Message $message) + { + if ($this->_lastMessage === $message) { + if (isset($this->_originalBody)) { + $message->setBody($this->_originalBody); + $this->_originalBody = null; + } + if (!empty($this->_originalHeaders)) { + foreach ($message->getHeaders()->getAll() as $header) { + if (array_key_exists($header->getFieldName(), $this->_originalHeaders)) { + $header->setFieldBodyModel($this->_originalHeaders[$header->getFieldName()]); + } + } + $this->_originalHeaders = array(); + } + if (!empty($this->_originalChildBodies)) { + $children = (array) $message->getChildren(); + foreach ($children as $child) { + $id = $child->getId(); + if (array_key_exists($id, $this->_originalChildBodies)) { + $child->setBody($this->_originalChildBodies[$id]); + } + } + $this->_originalChildBodies = array(); + } + $this->_lastMessage = null; + } + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/ImpersonatePlugin.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/ImpersonatePlugin.php new file mode 100644 index 0000000..5834440 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/ImpersonatePlugin.php @@ -0,0 +1,69 @@ +_sender = $sender; + } + + /** + * Invoked immediately before the Message is sent. + * + * @param Swift_Events_SendEvent $evt + */ + public function beforeSendPerformed(Swift_Events_SendEvent $evt) + { + $message = $evt->getMessage(); + $headers = $message->getHeaders(); + + // save current recipients + $headers->addPathHeader('X-Swift-Return-Path', $message->getReturnPath()); + + // replace them with the one to send to + $message->setReturnPath($this->_sender); + } + + /** + * Invoked immediately after the Message is sent. + * + * @param Swift_Events_SendEvent $evt + */ + public function sendPerformed(Swift_Events_SendEvent $evt) + { + $message = $evt->getMessage(); + + // restore original headers + $headers = $message->getHeaders(); + + if ($headers->has('X-Swift-Return-Path')) { + $message->setReturnPath($headers->get('X-Swift-Return-Path')->getAddress()); + $headers->removeAll('X-Swift-Return-Path'); + } + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Logger.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Logger.php new file mode 100644 index 0000000..d9bce89 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Logger.php @@ -0,0 +1,36 @@ +_logger = $logger; + } + + /** + * Add a log entry. + * + * @param string $entry + */ + public function add($entry) + { + $this->_logger->add($entry); + } + + /** + * Clear the log contents. + */ + public function clear() + { + $this->_logger->clear(); + } + + /** + * Get this log as a string. + * + * @return string + */ + public function dump() + { + return $this->_logger->dump(); + } + + /** + * Invoked immediately following a command being sent. + * + * @param Swift_Events_CommandEvent $evt + */ + public function commandSent(Swift_Events_CommandEvent $evt) + { + $command = $evt->getCommand(); + $this->_logger->add(sprintf('>> %s', $command)); + } + + /** + * Invoked immediately following a response coming back. + * + * @param Swift_Events_ResponseEvent $evt + */ + public function responseReceived(Swift_Events_ResponseEvent $evt) + { + $response = $evt->getResponse(); + $this->_logger->add(sprintf('<< %s', $response)); + } + + /** + * Invoked just before a Transport is started. + * + * @param Swift_Events_TransportChangeEvent $evt + */ + public function beforeTransportStarted(Swift_Events_TransportChangeEvent $evt) + { + $transportName = get_class($evt->getSource()); + $this->_logger->add(sprintf('++ Starting %s', $transportName)); + } + + /** + * Invoked immediately after the Transport is started. + * + * @param Swift_Events_TransportChangeEvent $evt + */ + public function transportStarted(Swift_Events_TransportChangeEvent $evt) + { + $transportName = get_class($evt->getSource()); + $this->_logger->add(sprintf('++ %s started', $transportName)); + } + + /** + * Invoked just before a Transport is stopped. + * + * @param Swift_Events_TransportChangeEvent $evt + */ + public function beforeTransportStopped(Swift_Events_TransportChangeEvent $evt) + { + $transportName = get_class($evt->getSource()); + $this->_logger->add(sprintf('++ Stopping %s', $transportName)); + } + + /** + * Invoked immediately after the Transport is stopped. + * + * @param Swift_Events_TransportChangeEvent $evt + */ + public function transportStopped(Swift_Events_TransportChangeEvent $evt) + { + $transportName = get_class($evt->getSource()); + $this->_logger->add(sprintf('++ %s stopped', $transportName)); + } + + /** + * Invoked as a TransportException is thrown in the Transport system. + * + * @param Swift_Events_TransportExceptionEvent $evt + */ + public function exceptionThrown(Swift_Events_TransportExceptionEvent $evt) + { + $e = $evt->getException(); + $message = $e->getMessage(); + $code = $e->getCode(); + $this->_logger->add(sprintf('!! %s (code: %s)', $message, $code)); + $message .= PHP_EOL; + $message .= 'Log data:'.PHP_EOL; + $message .= $this->_logger->dump(); + $evt->cancelBubble(); + throw new Swift_TransportException($message, $code, $e->getPrevious()); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Loggers/ArrayLogger.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Loggers/ArrayLogger.php new file mode 100644 index 0000000..865bb0a --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Loggers/ArrayLogger.php @@ -0,0 +1,72 @@ +_size = $size; + } + + /** + * Add a log entry. + * + * @param string $entry + */ + public function add($entry) + { + $this->_log[] = $entry; + while (count($this->_log) > $this->_size) { + array_shift($this->_log); + } + } + + /** + * Clear the log contents. + */ + public function clear() + { + $this->_log = array(); + } + + /** + * Get this log as a string. + * + * @return string + */ + public function dump() + { + return implode(PHP_EOL, $this->_log); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Loggers/EchoLogger.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Loggers/EchoLogger.php new file mode 100644 index 0000000..3583297 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Loggers/EchoLogger.php @@ -0,0 +1,58 @@ +_isHtml = $isHtml; + } + + /** + * Add a log entry. + * + * @param string $entry + */ + public function add($entry) + { + if ($this->_isHtml) { + printf('%s%s%s', htmlspecialchars($entry, ENT_QUOTES), '
                                                                        ', PHP_EOL); + } else { + printf('%s%s', $entry, PHP_EOL); + } + } + + /** + * Not implemented. + */ + public function clear() + { + } + + /** + * Not implemented. + */ + public function dump() + { + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/MessageLogger.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/MessageLogger.php new file mode 100644 index 0000000..5ff1d93 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/MessageLogger.php @@ -0,0 +1,74 @@ +messages = array(); + } + + /** + * Get the message list. + * + * @return Swift_Mime_Message[] + */ + public function getMessages() + { + return $this->messages; + } + + /** + * Get the message count. + * + * @return int count + */ + public function countMessages() + { + return count($this->messages); + } + + /** + * Empty the message list. + */ + public function clear() + { + $this->messages = array(); + } + + /** + * Invoked immediately before the Message is sent. + * + * @param Swift_Events_SendEvent $evt + */ + public function beforeSendPerformed(Swift_Events_SendEvent $evt) + { + $this->messages[] = clone $evt->getMessage(); + } + + /** + * Invoked immediately after the Message is sent. + * + * @param Swift_Events_SendEvent $evt + */ + public function sendPerformed(Swift_Events_SendEvent $evt) + { + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Pop/Pop3Connection.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Pop/Pop3Connection.php new file mode 100644 index 0000000..fb99e4c --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Pop/Pop3Connection.php @@ -0,0 +1,31 @@ +_host = $host; + $this->_port = $port; + $this->_crypto = $crypto; + } + + /** + * Create a new PopBeforeSmtpPlugin for $host and $port. + * + * @param string $host + * @param int $port + * @param string $crypto as "tls" or "ssl" + * + * @return self + */ + public static function newInstance($host, $port = 110, $crypto = null) + { + return new self($host, $port, $crypto); + } + + /** + * Set a Pop3Connection to delegate to instead of connecting directly. + * + * @param Swift_Plugins_Pop_Pop3Connection $connection + * + * @return $this + */ + public function setConnection(Swift_Plugins_Pop_Pop3Connection $connection) + { + $this->_connection = $connection; + + return $this; + } + + /** + * Bind this plugin to a specific SMTP transport instance. + * + * @param Swift_Transport + */ + public function bindSmtp(Swift_Transport $smtp) + { + $this->_transport = $smtp; + } + + /** + * Set the connection timeout in seconds (default 10). + * + * @param int $timeout + * + * @return $this + */ + public function setTimeout($timeout) + { + $this->_timeout = (int) $timeout; + + return $this; + } + + /** + * Set the username to use when connecting (if needed). + * + * @param string $username + * + * @return $this + */ + public function setUsername($username) + { + $this->_username = $username; + + return $this; + } + + /** + * Set the password to use when connecting (if needed). + * + * @param string $password + * + * @return $this + */ + public function setPassword($password) + { + $this->_password = $password; + + return $this; + } + + /** + * Connect to the POP3 host and authenticate. + * + * @throws Swift_Plugins_Pop_Pop3Exception if connection fails + */ + public function connect() + { + if (isset($this->_connection)) { + $this->_connection->connect(); + } else { + if (!isset($this->_socket)) { + if (!$socket = fsockopen( + $this->_getHostString(), $this->_port, $errno, $errstr, $this->_timeout)) { + throw new Swift_Plugins_Pop_Pop3Exception( + sprintf('Failed to connect to POP3 host [%s]: %s', $this->_host, $errstr) + ); + } + $this->_socket = $socket; + + if (false === $greeting = fgets($this->_socket)) { + throw new Swift_Plugins_Pop_Pop3Exception( + sprintf('Failed to connect to POP3 host [%s]', trim($greeting)) + ); + } + + $this->_assertOk($greeting); + + if ($this->_username) { + $this->_command(sprintf("USER %s\r\n", $this->_username)); + $this->_command(sprintf("PASS %s\r\n", $this->_password)); + } + } + } + } + + /** + * Disconnect from the POP3 host. + */ + public function disconnect() + { + if (isset($this->_connection)) { + $this->_connection->disconnect(); + } else { + $this->_command("QUIT\r\n"); + if (!fclose($this->_socket)) { + throw new Swift_Plugins_Pop_Pop3Exception( + sprintf('POP3 host [%s] connection could not be stopped', $this->_host) + ); + } + $this->_socket = null; + } + } + + /** + * Invoked just before a Transport is started. + * + * @param Swift_Events_TransportChangeEvent $evt + */ + public function beforeTransportStarted(Swift_Events_TransportChangeEvent $evt) + { + if (isset($this->_transport)) { + if ($this->_transport !== $evt->getTransport()) { + return; + } + } + + $this->connect(); + $this->disconnect(); + } + + /** + * Not used. + */ + public function transportStarted(Swift_Events_TransportChangeEvent $evt) + { + } + + /** + * Not used. + */ + public function beforeTransportStopped(Swift_Events_TransportChangeEvent $evt) + { + } + + /** + * Not used. + */ + public function transportStopped(Swift_Events_TransportChangeEvent $evt) + { + } + + private function _command($command) + { + if (!fwrite($this->_socket, $command)) { + throw new Swift_Plugins_Pop_Pop3Exception( + sprintf('Failed to write command [%s] to POP3 host', trim($command)) + ); + } + + if (false === $response = fgets($this->_socket)) { + throw new Swift_Plugins_Pop_Pop3Exception( + sprintf('Failed to read from POP3 host after command [%s]', trim($command)) + ); + } + + $this->_assertOk($response); + + return $response; + } + + private function _assertOk($response) + { + if (substr($response, 0, 3) != '+OK') { + throw new Swift_Plugins_Pop_Pop3Exception( + sprintf('POP3 command failed [%s]', trim($response)) + ); + } + } + + private function _getHostString() + { + $host = $this->_host; + switch (strtolower($this->_crypto)) { + case 'ssl': + $host = 'ssl://'.$host; + break; + + case 'tls': + $host = 'tls://'.$host; + break; + } + + return $host; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/RedirectingPlugin.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/RedirectingPlugin.php new file mode 100644 index 0000000..c3a1f86 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/RedirectingPlugin.php @@ -0,0 +1,213 @@ +_recipient = $recipient; + $this->_whitelist = $whitelist; + } + + /** + * Set the recipient of all messages. + * + * @param mixed $recipient + */ + public function setRecipient($recipient) + { + $this->_recipient = $recipient; + } + + /** + * Get the recipient of all messages. + * + * @return mixed + */ + public function getRecipient() + { + return $this->_recipient; + } + + /** + * Set a list of regular expressions to whitelist certain recipients. + * + * @param array $whitelist + */ + public function setWhitelist(array $whitelist) + { + $this->_whitelist = $whitelist; + } + + /** + * Get the whitelist. + * + * @return array + */ + public function getWhitelist() + { + return $this->_whitelist; + } + + /** + * Invoked immediately before the Message is sent. + * + * @param Swift_Events_SendEvent $evt + */ + public function beforeSendPerformed(Swift_Events_SendEvent $evt) + { + $message = $evt->getMessage(); + $headers = $message->getHeaders(); + + // conditionally save current recipients + + if ($headers->has('to')) { + $headers->addMailboxHeader('X-Swift-To', $message->getTo()); + } + + if ($headers->has('cc')) { + $headers->addMailboxHeader('X-Swift-Cc', $message->getCc()); + } + + if ($headers->has('bcc')) { + $headers->addMailboxHeader('X-Swift-Bcc', $message->getBcc()); + } + + // Filter remaining headers against whitelist + $this->_filterHeaderSet($headers, 'To'); + $this->_filterHeaderSet($headers, 'Cc'); + $this->_filterHeaderSet($headers, 'Bcc'); + + // Add each hard coded recipient + $to = $message->getTo(); + if (null === $to) { + $to = array(); + } + + foreach ((array) $this->_recipient as $recipient) { + if (!array_key_exists($recipient, $to)) { + $message->addTo($recipient); + } + } + } + + /** + * Filter header set against a whitelist of regular expressions. + * + * @param Swift_Mime_HeaderSet $headerSet + * @param string $type + */ + private function _filterHeaderSet(Swift_Mime_HeaderSet $headerSet, $type) + { + foreach ($headerSet->getAll($type) as $headers) { + $headers->setNameAddresses($this->_filterNameAddresses($headers->getNameAddresses())); + } + } + + /** + * Filtered list of addresses => name pairs. + * + * @param array $recipients + * + * @return array + */ + private function _filterNameAddresses(array $recipients) + { + $filtered = array(); + + foreach ($recipients as $address => $name) { + if ($this->_isWhitelisted($address)) { + $filtered[$address] = $name; + } + } + + return $filtered; + } + + /** + * Matches address against whitelist of regular expressions. + * + * @param $recipient + * + * @return bool + */ + protected function _isWhitelisted($recipient) + { + if (in_array($recipient, (array) $this->_recipient)) { + return true; + } + + foreach ($this->_whitelist as $pattern) { + if (preg_match($pattern, $recipient)) { + return true; + } + } + + return false; + } + + /** + * Invoked immediately after the Message is sent. + * + * @param Swift_Events_SendEvent $evt + */ + public function sendPerformed(Swift_Events_SendEvent $evt) + { + $this->_restoreMessage($evt->getMessage()); + } + + private function _restoreMessage(Swift_Mime_Message $message) + { + // restore original headers + $headers = $message->getHeaders(); + + if ($headers->has('X-Swift-To')) { + $message->setTo($headers->get('X-Swift-To')->getNameAddresses()); + $headers->removeAll('X-Swift-To'); + } else { + $message->setTo(null); + } + + if ($headers->has('X-Swift-Cc')) { + $message->setCc($headers->get('X-Swift-Cc')->getNameAddresses()); + $headers->removeAll('X-Swift-Cc'); + } + + if ($headers->has('X-Swift-Bcc')) { + $message->setBcc($headers->get('X-Swift-Bcc')->getNameAddresses()); + $headers->removeAll('X-Swift-Bcc'); + } + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporter.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporter.php new file mode 100644 index 0000000..0f21b7d --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporter.php @@ -0,0 +1,32 @@ +_reporter = $reporter; + } + + /** + * Not used. + */ + public function beforeSendPerformed(Swift_Events_SendEvent $evt) + { + } + + /** + * Invoked immediately after the Message is sent. + * + * @param Swift_Events_SendEvent $evt + */ + public function sendPerformed(Swift_Events_SendEvent $evt) + { + $message = $evt->getMessage(); + $failures = array_flip($evt->getFailedRecipients()); + foreach ((array) $message->getTo() as $address => $null) { + $this->_reporter->notify($message, $address, array_key_exists($address, $failures) ? Swift_Plugins_Reporter::RESULT_FAIL : Swift_Plugins_Reporter::RESULT_PASS); + } + foreach ((array) $message->getCc() as $address => $null) { + $this->_reporter->notify($message, $address, array_key_exists($address, $failures) ? Swift_Plugins_Reporter::RESULT_FAIL : Swift_Plugins_Reporter::RESULT_PASS); + } + foreach ((array) $message->getBcc() as $address => $null) { + $this->_reporter->notify($message, $address, array_key_exists($address, $failures) ? Swift_Plugins_Reporter::RESULT_FAIL : Swift_Plugins_Reporter::RESULT_PASS); + } + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporters/HitReporter.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporters/HitReporter.php new file mode 100644 index 0000000..cad9d16 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporters/HitReporter.php @@ -0,0 +1,59 @@ +_failures_cache[$address])) { + $this->_failures[] = $address; + $this->_failures_cache[$address] = true; + } + } + + /** + * Get an array of addresses for which delivery failed. + * + * @return array + */ + public function getFailedRecipients() + { + return $this->_failures; + } + + /** + * Clear the buffer (empty the list). + */ + public function clear() + { + $this->_failures = $this->_failures_cache = array(); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporters/HtmlReporter.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporters/HtmlReporter.php new file mode 100644 index 0000000..c625935 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporters/HtmlReporter.php @@ -0,0 +1,39 @@ +'.PHP_EOL; + echo 'PASS '.$address.PHP_EOL; + echo ''.PHP_EOL; + flush(); + } else { + echo '
                                                                        '.PHP_EOL; + echo 'FAIL '.$address.PHP_EOL; + echo '
                                                                        '.PHP_EOL; + flush(); + } + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Sleeper.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Sleeper.php new file mode 100644 index 0000000..595c0f6 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Sleeper.php @@ -0,0 +1,24 @@ +_rate = $rate; + $this->_mode = $mode; + $this->_sleeper = $sleeper; + $this->_timer = $timer; + } + + /** + * Invoked immediately before the Message is sent. + * + * @param Swift_Events_SendEvent $evt + */ + public function beforeSendPerformed(Swift_Events_SendEvent $evt) + { + $time = $this->getTimestamp(); + if (!isset($this->_start)) { + $this->_start = $time; + } + $duration = $time - $this->_start; + + switch ($this->_mode) { + case self::BYTES_PER_MINUTE: + $sleep = $this->_throttleBytesPerMinute($duration); + break; + case self::MESSAGES_PER_SECOND: + $sleep = $this->_throttleMessagesPerSecond($duration); + break; + case self::MESSAGES_PER_MINUTE: + $sleep = $this->_throttleMessagesPerMinute($duration); + break; + default: + $sleep = 0; + break; + } + + if ($sleep > 0) { + $this->sleep($sleep); + } + } + + /** + * Invoked when a Message is sent. + * + * @param Swift_Events_SendEvent $evt + */ + public function sendPerformed(Swift_Events_SendEvent $evt) + { + parent::sendPerformed($evt); + ++$this->_messages; + } + + /** + * Sleep for $seconds. + * + * @param int $seconds + */ + public function sleep($seconds) + { + if (isset($this->_sleeper)) { + $this->_sleeper->sleep($seconds); + } else { + sleep($seconds); + } + } + + /** + * Get the current UNIX timestamp. + * + * @return int + */ + public function getTimestamp() + { + if (isset($this->_timer)) { + return $this->_timer->getTimestamp(); + } + + return time(); + } + + /** + * Get a number of seconds to sleep for. + * + * @param int $timePassed + * + * @return int + */ + private function _throttleBytesPerMinute($timePassed) + { + $expectedDuration = $this->getBytesOut() / ($this->_rate / 60); + + return (int) ceil($expectedDuration - $timePassed); + } + + /** + * Get a number of seconds to sleep for. + * + * @param int $timePassed + * + * @return int + */ + private function _throttleMessagesPerSecond($timePassed) + { + $expectedDuration = $this->_messages / ($this->_rate); + + return (int) ceil($expectedDuration - $timePassed); + } + + /** + * Get a number of seconds to sleep for. + * + * @param int $timePassed + * + * @return int + */ + private function _throttleMessagesPerMinute($timePassed) + { + $expectedDuration = $this->_messages / ($this->_rate / 60); + + return (int) ceil($expectedDuration - $timePassed); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Timer.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Timer.php new file mode 100644 index 0000000..9c8deb3 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Timer.php @@ -0,0 +1,24 @@ +register('properties.charset')->asValue($charset); + + return $this; + } + + /** + * Set the directory where temporary files can be saved. + * + * @param string $dir + * + * @return $this + */ + public function setTempDir($dir) + { + Swift_DependencyContainer::getInstance()->register('tempdir')->asValue($dir); + + return $this; + } + + /** + * Set the type of cache to use (i.e. "disk" or "array"). + * + * @param string $type + * + * @return $this + */ + public function setCacheType($type) + { + Swift_DependencyContainer::getInstance()->register('cache')->asAliasOf(sprintf('cache.%s', $type)); + + return $this; + } + + /** + * Set the QuotedPrintable dot escaper preference. + * + * @param bool $dotEscape + * + * @return $this + */ + public function setQPDotEscape($dotEscape) + { + $dotEscape = !empty($dotEscape); + Swift_DependencyContainer::getInstance() + ->register('mime.qpcontentencoder') + ->asNewInstanceOf('Swift_Mime_ContentEncoder_QpContentEncoder') + ->withDependencies(array('mime.charstream', 'mime.bytecanonicalizer')) + ->addConstructorValue($dotEscape); + + return $this; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ReplacementFilterFactory.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ReplacementFilterFactory.php new file mode 100644 index 0000000..2897474 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/ReplacementFilterFactory.php @@ -0,0 +1,27 @@ +createDependenciesFor('transport.sendmail') + ); + + $this->setCommand($command); + } + + /** + * Create a new SendmailTransport instance. + * + * @param string $command + * + * @return self + */ + public static function newInstance($command = '/usr/sbin/sendmail -bs') + { + return new self($command); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SignedMessage.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SignedMessage.php new file mode 100644 index 0000000..2e7a872 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SignedMessage.php @@ -0,0 +1,23 @@ + + * + * @deprecated + */ +class Swift_SignedMessage extends Swift_Message +{ +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signer.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signer.php new file mode 100644 index 0000000..2d8176d --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signer.php @@ -0,0 +1,20 @@ + + */ +interface Swift_Signer +{ + public function reset(); +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/BodySigner.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/BodySigner.php new file mode 100644 index 0000000..8e66e18 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/BodySigner.php @@ -0,0 +1,33 @@ + + */ +interface Swift_Signers_BodySigner extends Swift_Signer +{ + /** + * Change the Swift_Signed_Message to apply the singing. + * + * @param Swift_Message $message + * + * @return self + */ + public function signMessage(Swift_Message $message); + + /** + * Return the list of header a signer might tamper. + * + * @return array + */ + public function getAlteredHeaders(); +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/DKIMSigner.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/DKIMSigner.php new file mode 100644 index 0000000..454e84b --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/DKIMSigner.php @@ -0,0 +1,712 @@ + + */ +class Swift_Signers_DKIMSigner implements Swift_Signers_HeaderSigner +{ + /** + * PrivateKey. + * + * @var string + */ + protected $_privateKey; + + /** + * DomainName. + * + * @var string + */ + protected $_domainName; + + /** + * Selector. + * + * @var string + */ + protected $_selector; + + /** + * Hash algorithm used. + * + * @see RFC6376 3.3: Signers MUST implement and SHOULD sign using rsa-sha256. + * + * @var string + */ + protected $_hashAlgorithm = 'rsa-sha256'; + + /** + * Body canon method. + * + * @var string + */ + protected $_bodyCanon = 'simple'; + + /** + * Header canon method. + * + * @var string + */ + protected $_headerCanon = 'simple'; + + /** + * Headers not being signed. + * + * @var array + */ + protected $_ignoredHeaders = array('return-path' => true); + + /** + * Signer identity. + * + * @var string + */ + protected $_signerIdentity; + + /** + * BodyLength. + * + * @var int + */ + protected $_bodyLen = 0; + + /** + * Maximum signedLen. + * + * @var int + */ + protected $_maxLen = PHP_INT_MAX; + + /** + * Embbed bodyLen in signature. + * + * @var bool + */ + protected $_showLen = false; + + /** + * When the signature has been applied (true means time()), false means not embedded. + * + * @var mixed + */ + protected $_signatureTimestamp = true; + + /** + * When will the signature expires false means not embedded, if sigTimestamp is auto + * Expiration is relative, otherwise it's absolute. + * + * @var int + */ + protected $_signatureExpiration = false; + + /** + * Must we embed signed headers? + * + * @var bool + */ + protected $_debugHeaders = false; + + // work variables + /** + * Headers used to generate hash. + * + * @var array + */ + protected $_signedHeaders = array(); + + /** + * If debugHeaders is set store debugData here. + * + * @var string + */ + private $_debugHeadersData = ''; + + /** + * Stores the bodyHash. + * + * @var string + */ + private $_bodyHash = ''; + + /** + * Stores the signature header. + * + * @var Swift_Mime_Headers_ParameterizedHeader + */ + protected $_dkimHeader; + + private $_bodyHashHandler; + + private $_headerHash; + + private $_headerCanonData = ''; + + private $_bodyCanonEmptyCounter = 0; + + private $_bodyCanonIgnoreStart = 2; + + private $_bodyCanonSpace = false; + + private $_bodyCanonLastChar = null; + + private $_bodyCanonLine = ''; + + private $_bound = array(); + + /** + * Constructor. + * + * @param string $privateKey + * @param string $domainName + * @param string $selector + */ + public function __construct($privateKey, $domainName, $selector) + { + $this->_privateKey = $privateKey; + $this->_domainName = $domainName; + $this->_signerIdentity = '@'.$domainName; + $this->_selector = $selector; + + // keep fallback hash algorithm sha1 if php version is lower than 5.4.8 + if (PHP_VERSION_ID < 50408) { + $this->_hashAlgorithm = 'rsa-sha1'; + } + } + + /** + * Instanciate DKIMSigner. + * + * @param string $privateKey + * @param string $domainName + * @param string $selector + * + * @return self + */ + public static function newInstance($privateKey, $domainName, $selector) + { + return new static($privateKey, $domainName, $selector); + } + + /** + * Reset the Signer. + * + * @see Swift_Signer::reset() + */ + public function reset() + { + $this->_headerHash = null; + $this->_signedHeaders = array(); + $this->_bodyHash = null; + $this->_bodyHashHandler = null; + $this->_bodyCanonIgnoreStart = 2; + $this->_bodyCanonEmptyCounter = 0; + $this->_bodyCanonLastChar = null; + $this->_bodyCanonSpace = false; + } + + /** + * Writes $bytes to the end of the stream. + * + * Writing may not happen immediately if the stream chooses to buffer. If + * you want to write these bytes with immediate effect, call {@link commit()} + * after calling write(). + * + * This method returns the sequence ID of the write (i.e. 1 for first, 2 for + * second, etc etc). + * + * @param string $bytes + * + * @throws Swift_IoException + * + * @return int + */ + // TODO fix return + public function write($bytes) + { + $this->_canonicalizeBody($bytes); + foreach ($this->_bound as $is) { + $is->write($bytes); + } + } + + /** + * For any bytes that are currently buffered inside the stream, force them + * off the buffer. + */ + public function commit() + { + // Nothing to do + return; + } + + /** + * Attach $is to this stream. + * The stream acts as an observer, receiving all data that is written. + * All {@link write()} and {@link flushBuffers()} operations will be mirrored. + * + * @param Swift_InputByteStream $is + */ + public function bind(Swift_InputByteStream $is) + { + // Don't have to mirror anything + $this->_bound[] = $is; + + return; + } + + /** + * Remove an already bound stream. + * If $is is not bound, no errors will be raised. + * If the stream currently has any buffered data it will be written to $is + * before unbinding occurs. + * + * @param Swift_InputByteStream $is + */ + public function unbind(Swift_InputByteStream $is) + { + // Don't have to mirror anything + foreach ($this->_bound as $k => $stream) { + if ($stream === $is) { + unset($this->_bound[$k]); + + return; + } + } + } + + /** + * Flush the contents of the stream (empty it) and set the internal pointer + * to the beginning. + * + * @throws Swift_IoException + */ + public function flushBuffers() + { + $this->reset(); + } + + /** + * Set hash_algorithm, must be one of rsa-sha256 | rsa-sha1. + * + * @param string $hash 'rsa-sha1' or 'rsa-sha256' + * + * @throws Swift_SwiftException + * + * @return $this + */ + public function setHashAlgorithm($hash) + { + switch ($hash) { + case 'rsa-sha1': + $this->_hashAlgorithm = 'rsa-sha1'; + break; + case 'rsa-sha256': + $this->_hashAlgorithm = 'rsa-sha256'; + if (!defined('OPENSSL_ALGO_SHA256')) { + throw new Swift_SwiftException('Unable to set sha256 as it is not supported by OpenSSL.'); + } + break; + default: + throw new Swift_SwiftException('Unable to set the hash algorithm, must be one of rsa-sha1 or rsa-sha256 (%s given).', $hash); + } + + return $this; + } + + /** + * Set the body canonicalization algorithm. + * + * @param string $canon + * + * @return $this + */ + public function setBodyCanon($canon) + { + if ($canon == 'relaxed') { + $this->_bodyCanon = 'relaxed'; + } else { + $this->_bodyCanon = 'simple'; + } + + return $this; + } + + /** + * Set the header canonicalization algorithm. + * + * @param string $canon + * + * @return $this + */ + public function setHeaderCanon($canon) + { + if ($canon == 'relaxed') { + $this->_headerCanon = 'relaxed'; + } else { + $this->_headerCanon = 'simple'; + } + + return $this; + } + + /** + * Set the signer identity. + * + * @param string $identity + * + * @return $this + */ + public function setSignerIdentity($identity) + { + $this->_signerIdentity = $identity; + + return $this; + } + + /** + * Set the length of the body to sign. + * + * @param mixed $len (bool or int) + * + * @return $this + */ + public function setBodySignedLen($len) + { + if ($len === true) { + $this->_showLen = true; + $this->_maxLen = PHP_INT_MAX; + } elseif ($len === false) { + $this->_showLen = false; + $this->_maxLen = PHP_INT_MAX; + } else { + $this->_showLen = true; + $this->_maxLen = (int) $len; + } + + return $this; + } + + /** + * Set the signature timestamp. + * + * @param int $time A timestamp + * + * @return $this + */ + public function setSignatureTimestamp($time) + { + $this->_signatureTimestamp = $time; + + return $this; + } + + /** + * Set the signature expiration timestamp. + * + * @param int $time A timestamp + * + * @return $this + */ + public function setSignatureExpiration($time) + { + $this->_signatureExpiration = $time; + + return $this; + } + + /** + * Enable / disable the DebugHeaders. + * + * @param bool $debug + * + * @return Swift_Signers_DKIMSigner + */ + public function setDebugHeaders($debug) + { + $this->_debugHeaders = (bool) $debug; + + return $this; + } + + /** + * Start Body. + */ + public function startBody() + { + // Init + switch ($this->_hashAlgorithm) { + case 'rsa-sha256': + $this->_bodyHashHandler = hash_init('sha256'); + break; + case 'rsa-sha1': + $this->_bodyHashHandler = hash_init('sha1'); + break; + } + $this->_bodyCanonLine = ''; + } + + /** + * End Body. + */ + public function endBody() + { + $this->_endOfBody(); + } + + /** + * Returns the list of Headers Tampered by this plugin. + * + * @return array + */ + public function getAlteredHeaders() + { + if ($this->_debugHeaders) { + return array('DKIM-Signature', 'X-DebugHash'); + } else { + return array('DKIM-Signature'); + } + } + + /** + * Adds an ignored Header. + * + * @param string $header_name + * + * @return Swift_Signers_DKIMSigner + */ + public function ignoreHeader($header_name) + { + $this->_ignoredHeaders[strtolower($header_name)] = true; + + return $this; + } + + /** + * Set the headers to sign. + * + * @param Swift_Mime_HeaderSet $headers + * + * @return Swift_Signers_DKIMSigner + */ + public function setHeaders(Swift_Mime_HeaderSet $headers) + { + $this->_headerCanonData = ''; + // Loop through Headers + $listHeaders = $headers->listAll(); + foreach ($listHeaders as $hName) { + // Check if we need to ignore Header + if (!isset($this->_ignoredHeaders[strtolower($hName)])) { + if ($headers->has($hName)) { + $tmp = $headers->getAll($hName); + foreach ($tmp as $header) { + if ($header->getFieldBody() != '') { + $this->_addHeader($header->toString()); + $this->_signedHeaders[] = $header->getFieldName(); + } + } + } + } + } + + return $this; + } + + /** + * Add the signature to the given Headers. + * + * @param Swift_Mime_HeaderSet $headers + * + * @return Swift_Signers_DKIMSigner + */ + public function addSignature(Swift_Mime_HeaderSet $headers) + { + // Prepare the DKIM-Signature + $params = array('v' => '1', 'a' => $this->_hashAlgorithm, 'bh' => base64_encode($this->_bodyHash), 'd' => $this->_domainName, 'h' => implode(': ', $this->_signedHeaders), 'i' => $this->_signerIdentity, 's' => $this->_selector); + if ($this->_bodyCanon != 'simple') { + $params['c'] = $this->_headerCanon.'/'.$this->_bodyCanon; + } elseif ($this->_headerCanon != 'simple') { + $params['c'] = $this->_headerCanon; + } + if ($this->_showLen) { + $params['l'] = $this->_bodyLen; + } + if ($this->_signatureTimestamp === true) { + $params['t'] = time(); + if ($this->_signatureExpiration !== false) { + $params['x'] = $params['t'] + $this->_signatureExpiration; + } + } else { + if ($this->_signatureTimestamp !== false) { + $params['t'] = $this->_signatureTimestamp; + } + if ($this->_signatureExpiration !== false) { + $params['x'] = $this->_signatureExpiration; + } + } + if ($this->_debugHeaders) { + $params['z'] = implode('|', $this->_debugHeadersData); + } + $string = ''; + foreach ($params as $k => $v) { + $string .= $k.'='.$v.'; '; + } + $string = trim($string); + $headers->addTextHeader('DKIM-Signature', $string); + // Add the last DKIM-Signature + $tmp = $headers->getAll('DKIM-Signature'); + $this->_dkimHeader = end($tmp); + $this->_addHeader(trim($this->_dkimHeader->toString())."\r\n b=", true); + $this->_endOfHeaders(); + if ($this->_debugHeaders) { + $headers->addTextHeader('X-DebugHash', base64_encode($this->_headerHash)); + } + $this->_dkimHeader->setValue($string.' b='.trim(chunk_split(base64_encode($this->_getEncryptedHash()), 73, ' '))); + + return $this; + } + + /* Private helpers */ + + protected function _addHeader($header, $is_sig = false) + { + switch ($this->_headerCanon) { + case 'relaxed': + // Prepare Header and cascade + $exploded = explode(':', $header, 2); + $name = strtolower(trim($exploded[0])); + $value = str_replace("\r\n", '', $exploded[1]); + $value = preg_replace("/[ \t][ \t]+/", ' ', $value); + $header = $name.':'.trim($value).($is_sig ? '' : "\r\n"); + case 'simple': + // Nothing to do + } + $this->_addToHeaderHash($header); + } + + /** + * @deprecated This method is currently useless in this class but it must be + * kept for BC reasons due to its "protected" scope. This method + * might be overridden by custom client code. + */ + protected function _endOfHeaders() + { + } + + protected function _canonicalizeBody($string) + { + $len = strlen($string); + $canon = ''; + $method = ($this->_bodyCanon == 'relaxed'); + for ($i = 0; $i < $len; ++$i) { + if ($this->_bodyCanonIgnoreStart > 0) { + --$this->_bodyCanonIgnoreStart; + continue; + } + switch ($string[$i]) { + case "\r": + $this->_bodyCanonLastChar = "\r"; + break; + case "\n": + if ($this->_bodyCanonLastChar == "\r") { + if ($method) { + $this->_bodyCanonSpace = false; + } + if ($this->_bodyCanonLine == '') { + ++$this->_bodyCanonEmptyCounter; + } else { + $this->_bodyCanonLine = ''; + $canon .= "\r\n"; + } + } else { + // Wooops Error + // todo handle it but should never happen + } + break; + case ' ': + case "\t": + if ($method) { + $this->_bodyCanonSpace = true; + break; + } + default: + if ($this->_bodyCanonEmptyCounter > 0) { + $canon .= str_repeat("\r\n", $this->_bodyCanonEmptyCounter); + $this->_bodyCanonEmptyCounter = 0; + } + if ($this->_bodyCanonSpace) { + $this->_bodyCanonLine .= ' '; + $canon .= ' '; + $this->_bodyCanonSpace = false; + } + $this->_bodyCanonLine .= $string[$i]; + $canon .= $string[$i]; + } + } + $this->_addToBodyHash($canon); + } + + protected function _endOfBody() + { + // Add trailing Line return if last line is non empty + if (strlen($this->_bodyCanonLine) > 0) { + $this->_addToBodyHash("\r\n"); + } + $this->_bodyHash = hash_final($this->_bodyHashHandler, true); + } + + private function _addToBodyHash($string) + { + $len = strlen($string); + if ($len > ($new_len = ($this->_maxLen - $this->_bodyLen))) { + $string = substr($string, 0, $new_len); + $len = $new_len; + } + hash_update($this->_bodyHashHandler, $string); + $this->_bodyLen += $len; + } + + private function _addToHeaderHash($header) + { + if ($this->_debugHeaders) { + $this->_debugHeadersData[] = trim($header); + } + $this->_headerCanonData .= $header; + } + + /** + * @throws Swift_SwiftException + * + * @return string + */ + private function _getEncryptedHash() + { + $signature = ''; + + switch ($this->_hashAlgorithm) { + case 'rsa-sha1': + $algorithm = OPENSSL_ALGO_SHA1; + break; + case 'rsa-sha256': + $algorithm = OPENSSL_ALGO_SHA256; + break; + } + $pkeyId = openssl_get_privatekey($this->_privateKey); + if (!$pkeyId) { + throw new Swift_SwiftException('Unable to load DKIM Private Key ['.openssl_error_string().']'); + } + if (openssl_sign($this->_headerCanonData, $signature, $pkeyId, $algorithm)) { + return $signature; + } + throw new Swift_SwiftException('Unable to sign DKIM Hash ['.openssl_error_string().']'); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/DomainKeySigner.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/DomainKeySigner.php new file mode 100644 index 0000000..0365363 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/DomainKeySigner.php @@ -0,0 +1,524 @@ + + */ +class Swift_Signers_DomainKeySigner implements Swift_Signers_HeaderSigner +{ + /** + * PrivateKey. + * + * @var string + */ + protected $_privateKey; + + /** + * DomainName. + * + * @var string + */ + protected $_domainName; + + /** + * Selector. + * + * @var string + */ + protected $_selector; + + /** + * Hash algorithm used. + * + * @var string + */ + protected $_hashAlgorithm = 'rsa-sha1'; + + /** + * Canonisation method. + * + * @var string + */ + protected $_canon = 'simple'; + + /** + * Headers not being signed. + * + * @var array + */ + protected $_ignoredHeaders = array(); + + /** + * Signer identity. + * + * @var string + */ + protected $_signerIdentity; + + /** + * Must we embed signed headers? + * + * @var bool + */ + protected $_debugHeaders = false; + + // work variables + /** + * Headers used to generate hash. + * + * @var array + */ + private $_signedHeaders = array(); + + /** + * Stores the signature header. + * + * @var Swift_Mime_Headers_ParameterizedHeader + */ + protected $_domainKeyHeader; + + /** + * Hash Handler. + * + * @var resource|null + */ + private $_hashHandler; + + private $_hash; + + private $_canonData = ''; + + private $_bodyCanonEmptyCounter = 0; + + private $_bodyCanonIgnoreStart = 2; + + private $_bodyCanonSpace = false; + + private $_bodyCanonLastChar = null; + + private $_bodyCanonLine = ''; + + private $_bound = array(); + + /** + * Constructor. + * + * @param string $privateKey + * @param string $domainName + * @param string $selector + */ + public function __construct($privateKey, $domainName, $selector) + { + $this->_privateKey = $privateKey; + $this->_domainName = $domainName; + $this->_signerIdentity = '@'.$domainName; + $this->_selector = $selector; + } + + /** + * Instanciate DomainKeySigner. + * + * @param string $privateKey + * @param string $domainName + * @param string $selector + * + * @return self + */ + public static function newInstance($privateKey, $domainName, $selector) + { + return new static($privateKey, $domainName, $selector); + } + + /** + * Resets internal states. + * + * @return $this + */ + public function reset() + { + $this->_hash = null; + $this->_hashHandler = null; + $this->_bodyCanonIgnoreStart = 2; + $this->_bodyCanonEmptyCounter = 0; + $this->_bodyCanonLastChar = null; + $this->_bodyCanonSpace = false; + + return $this; + } + + /** + * Writes $bytes to the end of the stream. + * + * Writing may not happen immediately if the stream chooses to buffer. If + * you want to write these bytes with immediate effect, call {@link commit()} + * after calling write(). + * + * This method returns the sequence ID of the write (i.e. 1 for first, 2 for + * second, etc etc). + * + * @param string $bytes + * + * @throws Swift_IoException + * + * @return $this + */ + public function write($bytes) + { + $this->_canonicalizeBody($bytes); + foreach ($this->_bound as $is) { + $is->write($bytes); + } + + return $this; + } + + /** + * For any bytes that are currently buffered inside the stream, force them + * off the buffer. + * + * @throws Swift_IoException + * + * @return $this + */ + public function commit() + { + // Nothing to do + return $this; + } + + /** + * Attach $is to this stream. + * The stream acts as an observer, receiving all data that is written. + * All {@link write()} and {@link flushBuffers()} operations will be mirrored. + * + * @param Swift_InputByteStream $is + * + * @return $this + */ + public function bind(Swift_InputByteStream $is) + { + // Don't have to mirror anything + $this->_bound[] = $is; + + return $this; + } + + /** + * Remove an already bound stream. + * If $is is not bound, no errors will be raised. + * If the stream currently has any buffered data it will be written to $is + * before unbinding occurs. + * + * @param Swift_InputByteStream $is + * + * @return $this + */ + public function unbind(Swift_InputByteStream $is) + { + // Don't have to mirror anything + foreach ($this->_bound as $k => $stream) { + if ($stream === $is) { + unset($this->_bound[$k]); + + break; + } + } + + return $this; + } + + /** + * Flush the contents of the stream (empty it) and set the internal pointer + * to the beginning. + * + * @throws Swift_IoException + * + * @return $this + */ + public function flushBuffers() + { + $this->reset(); + + return $this; + } + + /** + * Set hash_algorithm, must be one of rsa-sha256 | rsa-sha1 defaults to rsa-sha256. + * + * @param string $hash + * + * @return $this + */ + public function setHashAlgorithm($hash) + { + $this->_hashAlgorithm = 'rsa-sha1'; + + return $this; + } + + /** + * Set the canonicalization algorithm. + * + * @param string $canon simple | nofws defaults to simple + * + * @return $this + */ + public function setCanon($canon) + { + if ($canon == 'nofws') { + $this->_canon = 'nofws'; + } else { + $this->_canon = 'simple'; + } + + return $this; + } + + /** + * Set the signer identity. + * + * @param string $identity + * + * @return $this + */ + public function setSignerIdentity($identity) + { + $this->_signerIdentity = $identity; + + return $this; + } + + /** + * Enable / disable the DebugHeaders. + * + * @param bool $debug + * + * @return $this + */ + public function setDebugHeaders($debug) + { + $this->_debugHeaders = (bool) $debug; + + return $this; + } + + /** + * Start Body. + */ + public function startBody() + { + } + + /** + * End Body. + */ + public function endBody() + { + $this->_endOfBody(); + } + + /** + * Returns the list of Headers Tampered by this plugin. + * + * @return array + */ + public function getAlteredHeaders() + { + if ($this->_debugHeaders) { + return array('DomainKey-Signature', 'X-DebugHash'); + } + + return array('DomainKey-Signature'); + } + + /** + * Adds an ignored Header. + * + * @param string $header_name + * + * @return $this + */ + public function ignoreHeader($header_name) + { + $this->_ignoredHeaders[strtolower($header_name)] = true; + + return $this; + } + + /** + * Set the headers to sign. + * + * @param Swift_Mime_HeaderSet $headers + * + * @return $this + */ + public function setHeaders(Swift_Mime_HeaderSet $headers) + { + $this->_startHash(); + $this->_canonData = ''; + // Loop through Headers + $listHeaders = $headers->listAll(); + foreach ($listHeaders as $hName) { + // Check if we need to ignore Header + if (!isset($this->_ignoredHeaders[strtolower($hName)])) { + if ($headers->has($hName)) { + $tmp = $headers->getAll($hName); + foreach ($tmp as $header) { + if ($header->getFieldBody() != '') { + $this->_addHeader($header->toString()); + $this->_signedHeaders[] = $header->getFieldName(); + } + } + } + } + } + $this->_endOfHeaders(); + + return $this; + } + + /** + * Add the signature to the given Headers. + * + * @param Swift_Mime_HeaderSet $headers + * + * @return $this + */ + public function addSignature(Swift_Mime_HeaderSet $headers) + { + // Prepare the DomainKey-Signature Header + $params = array('a' => $this->_hashAlgorithm, 'b' => chunk_split(base64_encode($this->_getEncryptedHash()), 73, ' '), 'c' => $this->_canon, 'd' => $this->_domainName, 'h' => implode(': ', $this->_signedHeaders), 'q' => 'dns', 's' => $this->_selector); + $string = ''; + foreach ($params as $k => $v) { + $string .= $k.'='.$v.'; '; + } + $string = trim($string); + $headers->addTextHeader('DomainKey-Signature', $string); + + return $this; + } + + /* Private helpers */ + + protected function _addHeader($header) + { + switch ($this->_canon) { + case 'nofws': + // Prepare Header and cascade + $exploded = explode(':', $header, 2); + $name = strtolower(trim($exploded[0])); + $value = str_replace("\r\n", '', $exploded[1]); + $value = preg_replace("/[ \t][ \t]+/", ' ', $value); + $header = $name.':'.trim($value)."\r\n"; + case 'simple': + // Nothing to do + } + $this->_addToHash($header); + } + + protected function _endOfHeaders() + { + $this->_bodyCanonEmptyCounter = 1; + } + + protected function _canonicalizeBody($string) + { + $len = strlen($string); + $canon = ''; + $nofws = ($this->_canon == 'nofws'); + for ($i = 0; $i < $len; ++$i) { + if ($this->_bodyCanonIgnoreStart > 0) { + --$this->_bodyCanonIgnoreStart; + continue; + } + switch ($string[$i]) { + case "\r": + $this->_bodyCanonLastChar = "\r"; + break; + case "\n": + if ($this->_bodyCanonLastChar == "\r") { + if ($nofws) { + $this->_bodyCanonSpace = false; + } + if ($this->_bodyCanonLine == '') { + ++$this->_bodyCanonEmptyCounter; + } else { + $this->_bodyCanonLine = ''; + $canon .= "\r\n"; + } + } else { + // Wooops Error + throw new Swift_SwiftException('Invalid new line sequence in mail found \n without preceding \r'); + } + break; + case ' ': + case "\t": + case "\x09": //HTAB + if ($nofws) { + $this->_bodyCanonSpace = true; + break; + } + default: + if ($this->_bodyCanonEmptyCounter > 0) { + $canon .= str_repeat("\r\n", $this->_bodyCanonEmptyCounter); + $this->_bodyCanonEmptyCounter = 0; + } + $this->_bodyCanonLine .= $string[$i]; + $canon .= $string[$i]; + } + } + $this->_addToHash($canon); + } + + protected function _endOfBody() + { + if (strlen($this->_bodyCanonLine) > 0) { + $this->_addToHash("\r\n"); + } + $this->_hash = hash_final($this->_hashHandler, true); + } + + private function _addToHash($string) + { + $this->_canonData .= $string; + hash_update($this->_hashHandler, $string); + } + + private function _startHash() + { + // Init + switch ($this->_hashAlgorithm) { + case 'rsa-sha1': + $this->_hashHandler = hash_init('sha1'); + break; + } + $this->_bodyCanonLine = ''; + } + + /** + * @throws Swift_SwiftException + * + * @return string + */ + private function _getEncryptedHash() + { + $signature = ''; + $pkeyId = openssl_get_privatekey($this->_privateKey); + if (!$pkeyId) { + throw new Swift_SwiftException('Unable to load DomainKey Private Key ['.openssl_error_string().']'); + } + if (openssl_sign($this->_canonData, $signature, $pkeyId, OPENSSL_ALGO_SHA1)) { + return $signature; + } + throw new Swift_SwiftException('Unable to sign DomainKey Hash ['.openssl_error_string().']'); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/HeaderSigner.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/HeaderSigner.php new file mode 100644 index 0000000..ef8832f --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/HeaderSigner.php @@ -0,0 +1,65 @@ + + */ +interface Swift_Signers_HeaderSigner extends Swift_Signer, Swift_InputByteStream +{ + /** + * Exclude an header from the signed headers. + * + * @param string $header_name + * + * @return self + */ + public function ignoreHeader($header_name); + + /** + * Prepare the Signer to get a new Body. + * + * @return self + */ + public function startBody(); + + /** + * Give the signal that the body has finished streaming. + * + * @return self + */ + public function endBody(); + + /** + * Give the headers already given. + * + * @param Swift_Mime_SimpleHeaderSet $headers + * + * @return self + */ + public function setHeaders(Swift_Mime_HeaderSet $headers); + + /** + * Add the header(s) to the headerSet. + * + * @param Swift_Mime_HeaderSet $headers + * + * @return self + */ + public function addSignature(Swift_Mime_HeaderSet $headers); + + /** + * Return the list of header a signer might tamper. + * + * @return array + */ + public function getAlteredHeaders(); +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/OpenDKIMSigner.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/OpenDKIMSigner.php new file mode 100644 index 0000000..8fdbaa4 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/OpenDKIMSigner.php @@ -0,0 +1,190 @@ + + */ +class Swift_Signers_OpenDKIMSigner extends Swift_Signers_DKIMSigner +{ + private $_peclLoaded = false; + + private $_dkimHandler = null; + + private $dropFirstLF = true; + + const CANON_RELAXED = 1; + const CANON_SIMPLE = 2; + const SIG_RSA_SHA1 = 3; + const SIG_RSA_SHA256 = 4; + + public function __construct($privateKey, $domainName, $selector) + { + if (!extension_loaded('opendkim')) { + throw new Swift_SwiftException('php-opendkim extension not found'); + } + + $this->_peclLoaded = true; + + parent::__construct($privateKey, $domainName, $selector); + } + + public static function newInstance($privateKey, $domainName, $selector) + { + return new static($privateKey, $domainName, $selector); + } + + public function addSignature(Swift_Mime_HeaderSet $headers) + { + $header = new Swift_Mime_Headers_OpenDKIMHeader('DKIM-Signature'); + $headerVal = $this->_dkimHandler->getSignatureHeader(); + if (!$headerVal) { + throw new Swift_SwiftException('OpenDKIM Error: '.$this->_dkimHandler->getError()); + } + $header->setValue($headerVal); + $headers->set($header); + + return $this; + } + + public function setHeaders(Swift_Mime_HeaderSet $headers) + { + $bodyLen = $this->_bodyLen; + if (is_bool($bodyLen)) { + $bodyLen = -1; + } + $hash = $this->_hashAlgorithm == 'rsa-sha1' ? OpenDKIMSign::ALG_RSASHA1 : OpenDKIMSign::ALG_RSASHA256; + $bodyCanon = $this->_bodyCanon == 'simple' ? OpenDKIMSign::CANON_SIMPLE : OpenDKIMSign::CANON_RELAXED; + $headerCanon = $this->_headerCanon == 'simple' ? OpenDKIMSign::CANON_SIMPLE : OpenDKIMSign::CANON_RELAXED; + $this->_dkimHandler = new OpenDKIMSign($this->_privateKey, $this->_selector, $this->_domainName, $headerCanon, $bodyCanon, $hash, $bodyLen); + // Hardcode signature Margin for now + $this->_dkimHandler->setMargin(78); + + if (!is_numeric($this->_signatureTimestamp)) { + OpenDKIM::setOption(OpenDKIM::OPTS_FIXEDTIME, time()); + } else { + if (!OpenDKIM::setOption(OpenDKIM::OPTS_FIXEDTIME, $this->_signatureTimestamp)) { + throw new Swift_SwiftException('Unable to force signature timestamp ['.openssl_error_string().']'); + } + } + if (isset($this->_signerIdentity)) { + $this->_dkimHandler->setSigner($this->_signerIdentity); + } + $listHeaders = $headers->listAll(); + foreach ($listHeaders as $hName) { + // Check if we need to ignore Header + if (!isset($this->_ignoredHeaders[strtolower($hName)])) { + $tmp = $headers->getAll($hName); + if ($headers->has($hName)) { + foreach ($tmp as $header) { + if ($header->getFieldBody() != '') { + $htosign = $header->toString(); + $this->_dkimHandler->header($htosign); + $this->_signedHeaders[] = $header->getFieldName(); + } + } + } + } + } + + return $this; + } + + public function startBody() + { + if (!$this->_peclLoaded) { + return parent::startBody(); + } + $this->dropFirstLF = true; + $this->_dkimHandler->eoh(); + + return $this; + } + + public function endBody() + { + if (!$this->_peclLoaded) { + return parent::endBody(); + } + $this->_dkimHandler->eom(); + + return $this; + } + + public function reset() + { + $this->_dkimHandler = null; + parent::reset(); + + return $this; + } + + /** + * Set the signature timestamp. + * + * @param int $time + * + * @return $this + */ + public function setSignatureTimestamp($time) + { + $this->_signatureTimestamp = $time; + + return $this; + } + + /** + * Set the signature expiration timestamp. + * + * @param int $time + * + * @return $this + */ + public function setSignatureExpiration($time) + { + $this->_signatureExpiration = $time; + + return $this; + } + + /** + * Enable / disable the DebugHeaders. + * + * @param bool $debug + * + * @return $this + */ + public function setDebugHeaders($debug) + { + $this->_debugHeaders = (bool) $debug; + + return $this; + } + + // Protected + + protected function _canonicalizeBody($string) + { + if (!$this->_peclLoaded) { + return parent::_canonicalizeBody($string); + } + if (false && $this->dropFirstLF === true) { + if ($string[0] == "\r" && $string[1] == "\n") { + $string = substr($string, 2); + } + } + $this->dropFirstLF = false; + if (strlen($string)) { + $this->_dkimHandler->body($string); + } + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/SMimeSigner.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/SMimeSigner.php new file mode 100644 index 0000000..d13c02e --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Signers/SMimeSigner.php @@ -0,0 +1,436 @@ + + */ +class Swift_Signers_SMimeSigner implements Swift_Signers_BodySigner +{ + protected $signCertificate; + protected $signPrivateKey; + protected $encryptCert; + protected $signThenEncrypt = true; + protected $signLevel; + protected $encryptLevel; + protected $signOptions; + protected $encryptOptions; + protected $encryptCipher; + protected $extraCerts = null; + + /** + * @var Swift_StreamFilters_StringReplacementFilterFactory + */ + protected $replacementFactory; + + /** + * @var Swift_Mime_HeaderFactory + */ + protected $headerFactory; + + /** + * Constructor. + * + * @param string|null $signCertificate + * @param string|null $signPrivateKey + * @param string|null $encryptCertificate + */ + public function __construct($signCertificate = null, $signPrivateKey = null, $encryptCertificate = null) + { + if (null !== $signPrivateKey) { + $this->setSignCertificate($signCertificate, $signPrivateKey); + } + + if (null !== $encryptCertificate) { + $this->setEncryptCertificate($encryptCertificate); + } + + $this->replacementFactory = Swift_DependencyContainer::getInstance() + ->lookup('transport.replacementfactory'); + + $this->signOptions = PKCS7_DETACHED; + + // Supported since php5.4 + if (defined('OPENSSL_CIPHER_AES_128_CBC')) { + $this->encryptCipher = OPENSSL_CIPHER_AES_128_CBC; + } else { + $this->encryptCipher = OPENSSL_CIPHER_RC2_128; + } + } + + /** + * Returns an new Swift_Signers_SMimeSigner instance. + * + * @param string $certificate + * @param string $privateKey + * + * @return self + */ + public static function newInstance($certificate = null, $privateKey = null) + { + return new self($certificate, $privateKey); + } + + /** + * Set the certificate location to use for signing. + * + * @see http://www.php.net/manual/en/openssl.pkcs7.flags.php + * + * @param string $certificate + * @param string|array $privateKey If the key needs an passphrase use array('file-location', 'passphrase') instead + * @param int $signOptions Bitwise operator options for openssl_pkcs7_sign() + * @param string $extraCerts A file containing intermediate certificates needed by the signing certificate + * + * @return $this + */ + public function setSignCertificate($certificate, $privateKey = null, $signOptions = PKCS7_DETACHED, $extraCerts = null) + { + $this->signCertificate = 'file://'.str_replace('\\', '/', realpath($certificate)); + + if (null !== $privateKey) { + if (is_array($privateKey)) { + $this->signPrivateKey = $privateKey; + $this->signPrivateKey[0] = 'file://'.str_replace('\\', '/', realpath($privateKey[0])); + } else { + $this->signPrivateKey = 'file://'.str_replace('\\', '/', realpath($privateKey)); + } + } + + $this->signOptions = $signOptions; + if (null !== $extraCerts) { + $this->extraCerts = str_replace('\\', '/', realpath($extraCerts)); + } + + return $this; + } + + /** + * Set the certificate location to use for encryption. + * + * @see http://www.php.net/manual/en/openssl.pkcs7.flags.php + * @see http://nl3.php.net/manual/en/openssl.ciphers.php + * + * @param string|array $recipientCerts Either an single X.509 certificate, or an assoc array of X.509 certificates. + * @param int $cipher + * + * @return $this + */ + public function setEncryptCertificate($recipientCerts, $cipher = null) + { + if (is_array($recipientCerts)) { + $this->encryptCert = array(); + + foreach ($recipientCerts as $cert) { + $this->encryptCert[] = 'file://'.str_replace('\\', '/', realpath($cert)); + } + } else { + $this->encryptCert = 'file://'.str_replace('\\', '/', realpath($recipientCerts)); + } + + if (null !== $cipher) { + $this->encryptCipher = $cipher; + } + + return $this; + } + + /** + * @return string + */ + public function getSignCertificate() + { + return $this->signCertificate; + } + + /** + * @return string + */ + public function getSignPrivateKey() + { + return $this->signPrivateKey; + } + + /** + * Set perform signing before encryption. + * + * The default is to first sign the message and then encrypt. + * But some older mail clients, namely Microsoft Outlook 2000 will work when the message first encrypted. + * As this goes against the official specs, its recommended to only use 'encryption -> signing' when specifically targeting these 'broken' clients. + * + * @param bool $signThenEncrypt + * + * @return $this + */ + public function setSignThenEncrypt($signThenEncrypt = true) + { + $this->signThenEncrypt = $signThenEncrypt; + + return $this; + } + + /** + * @return bool + */ + public function isSignThenEncrypt() + { + return $this->signThenEncrypt; + } + + /** + * Resets internal states. + * + * @return $this + */ + public function reset() + { + return $this; + } + + /** + * Change the Swift_Message to apply the signing. + * + * @param Swift_Message $message + * + * @return $this + */ + public function signMessage(Swift_Message $message) + { + if (null === $this->signCertificate && null === $this->encryptCert) { + return $this; + } + + // Store the message using ByteStream to a file{1} + // Remove all Children + // Sign file{1}, parse the new MIME headers and set them on the primary MimeEntity + // Set the singed-body as the new body (without boundary) + + $messageStream = new Swift_ByteStream_TemporaryFileByteStream(); + $this->toSMimeByteStream($messageStream, $message); + $message->setEncoder(Swift_DependencyContainer::getInstance()->lookup('mime.rawcontentencoder')); + + $message->setChildren(array()); + $this->streamToMime($messageStream, $message); + } + + /** + * Return the list of header a signer might tamper. + * + * @return array + */ + public function getAlteredHeaders() + { + return array('Content-Type', 'Content-Transfer-Encoding', 'Content-Disposition'); + } + + /** + * @param Swift_InputByteStream $inputStream + * @param Swift_Message $mimeEntity + */ + protected function toSMimeByteStream(Swift_InputByteStream $inputStream, Swift_Message $message) + { + $mimeEntity = $this->createMessage($message); + $messageStream = new Swift_ByteStream_TemporaryFileByteStream(); + + $mimeEntity->toByteStream($messageStream); + $messageStream->commit(); + + if (null !== $this->signCertificate && null !== $this->encryptCert) { + $temporaryStream = new Swift_ByteStream_TemporaryFileByteStream(); + + if ($this->signThenEncrypt) { + $this->messageStreamToSignedByteStream($messageStream, $temporaryStream); + $this->messageStreamToEncryptedByteStream($temporaryStream, $inputStream); + } else { + $this->messageStreamToEncryptedByteStream($messageStream, $temporaryStream); + $this->messageStreamToSignedByteStream($temporaryStream, $inputStream); + } + } elseif ($this->signCertificate !== null) { + $this->messageStreamToSignedByteStream($messageStream, $inputStream); + } else { + $this->messageStreamToEncryptedByteStream($messageStream, $inputStream); + } + } + + /** + * @param Swift_Message $message + * + * @return Swift_Message + */ + protected function createMessage(Swift_Message $message) + { + $mimeEntity = new Swift_Message('', $message->getBody(), $message->getContentType(), $message->getCharset()); + $mimeEntity->setChildren($message->getChildren()); + + $messageHeaders = $mimeEntity->getHeaders(); + $messageHeaders->remove('Message-ID'); + $messageHeaders->remove('Date'); + $messageHeaders->remove('Subject'); + $messageHeaders->remove('MIME-Version'); + $messageHeaders->remove('To'); + $messageHeaders->remove('From'); + + return $mimeEntity; + } + + /** + * @param Swift_FileStream $outputStream + * @param Swift_InputByteStream $inputStream + * + * @throws Swift_IoException + */ + protected function messageStreamToSignedByteStream(Swift_FileStream $outputStream, Swift_InputByteStream $inputStream) + { + $signedMessageStream = new Swift_ByteStream_TemporaryFileByteStream(); + + $args = array($outputStream->getPath(), $signedMessageStream->getPath(), $this->signCertificate, $this->signPrivateKey, array(), $this->signOptions); + if (null !== $this->extraCerts) { + $args[] = $this->extraCerts; + } + + if (!call_user_func_array('openssl_pkcs7_sign', $args)) { + throw new Swift_IoException(sprintf('Failed to sign S/Mime message. Error: "%s".', openssl_error_string())); + } + + $this->copyFromOpenSSLOutput($signedMessageStream, $inputStream); + } + + /** + * @param Swift_FileStream $outputStream + * @param Swift_InputByteStream $is + * + * @throws Swift_IoException + */ + protected function messageStreamToEncryptedByteStream(Swift_FileStream $outputStream, Swift_InputByteStream $is) + { + $encryptedMessageStream = new Swift_ByteStream_TemporaryFileByteStream(); + + if (!openssl_pkcs7_encrypt($outputStream->getPath(), $encryptedMessageStream->getPath(), $this->encryptCert, array(), 0, $this->encryptCipher)) { + throw new Swift_IoException(sprintf('Failed to encrypt S/Mime message. Error: "%s".', openssl_error_string())); + } + + $this->copyFromOpenSSLOutput($encryptedMessageStream, $is); + } + + /** + * @param Swift_OutputByteStream $fromStream + * @param Swift_InputByteStream $toStream + */ + protected function copyFromOpenSSLOutput(Swift_OutputByteStream $fromStream, Swift_InputByteStream $toStream) + { + $bufferLength = 4096; + $filteredStream = new Swift_ByteStream_TemporaryFileByteStream(); + $filteredStream->addFilter($this->replacementFactory->createFilter("\r\n", "\n"), 'CRLF to LF'); + $filteredStream->addFilter($this->replacementFactory->createFilter("\n", "\r\n"), 'LF to CRLF'); + + while (false !== ($buffer = $fromStream->read($bufferLength))) { + $filteredStream->write($buffer); + } + + $filteredStream->flushBuffers(); + + while (false !== ($buffer = $filteredStream->read($bufferLength))) { + $toStream->write($buffer); + } + + $toStream->commit(); + } + + /** + * Merges an OutputByteStream to Swift_Message. + * + * @param Swift_OutputByteStream $fromStream + * @param Swift_Message $message + */ + protected function streamToMime(Swift_OutputByteStream $fromStream, Swift_Message $message) + { + $bufferLength = 78; + $headerData = ''; + + $fromStream->setReadPointer(0); + + while (($buffer = $fromStream->read($bufferLength)) !== false) { + $headerData .= $buffer; + + if (false !== strpos($buffer, "\r\n\r\n")) { + break; + } + } + + $headersPosEnd = strpos($headerData, "\r\n\r\n"); + $headerData = trim($headerData); + $headerData = substr($headerData, 0, $headersPosEnd); + $headerLines = explode("\r\n", $headerData); + unset($headerData); + + $headers = array(); + $currentHeaderName = ''; + + foreach ($headerLines as $headerLine) { + // Line separated + if (ctype_space($headerLines[0]) || false === strpos($headerLine, ':')) { + $headers[$currentHeaderName] .= ' '.trim($headerLine); + continue; + } + + $header = explode(':', $headerLine, 2); + $currentHeaderName = strtolower($header[0]); + $headers[$currentHeaderName] = trim($header[1]); + } + + $messageStream = new Swift_ByteStream_TemporaryFileByteStream(); + $messageStream->addFilter($this->replacementFactory->createFilter("\r\n", "\n"), 'CRLF to LF'); + $messageStream->addFilter($this->replacementFactory->createFilter("\n", "\r\n"), 'LF to CRLF'); + + $messageHeaders = $message->getHeaders(); + + // No need to check for 'application/pkcs7-mime', as this is always base64 + if ('multipart/signed;' === substr($headers['content-type'], 0, 17)) { + if (!preg_match('/boundary=("[^"]+"|(?:[^\s]+|$))/is', $headers['content-type'], $contentTypeData)) { + throw new Swift_SwiftException('Failed to find Boundary parameter'); + } + + $boundary = trim($contentTypeData['1'], '"'); + + // Skip the header and CRLF CRLF + $fromStream->setReadPointer($headersPosEnd + 4); + + while (false !== ($buffer = $fromStream->read($bufferLength))) { + $messageStream->write($buffer); + } + + $messageStream->commit(); + + $messageHeaders->remove('Content-Transfer-Encoding'); + $message->setContentType($headers['content-type']); + $message->setBoundary($boundary); + $message->setBody($messageStream); + } else { + $fromStream->setReadPointer($headersPosEnd + 4); + + if (null === $this->headerFactory) { + $this->headerFactory = Swift_DependencyContainer::getInstance()->lookup('mime.headerfactory'); + } + + $message->setContentType($headers['content-type']); + $messageHeaders->set($this->headerFactory->createTextHeader('Content-Transfer-Encoding', $headers['content-transfer-encoding'])); + $messageHeaders->set($this->headerFactory->createTextHeader('Content-Disposition', $headers['content-disposition'])); + + while (false !== ($buffer = $fromStream->read($bufferLength))) { + $messageStream->write($buffer); + } + + $messageStream->commit(); + $message->setBody($messageStream); + } + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SmtpTransport.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SmtpTransport.php new file mode 100644 index 0000000..b97f01e --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SmtpTransport.php @@ -0,0 +1,58 @@ +createDependenciesFor('transport.smtp') + ); + + $this->setHost($host); + $this->setPort($port); + $this->setEncryption($security); + } + + /** + * Create a new SmtpTransport instance. + * + * @param string $host + * @param int $port + * @param string $security + * + * @return self + */ + public static function newInstance($host = 'localhost', $port = 25, $security = null) + { + return new self($host, $port, $security); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Spool.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Spool.php new file mode 100644 index 0000000..c16ab4b --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Spool.php @@ -0,0 +1,53 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +/** + * Interface for spools. + * + * @author Fabien Potencier + */ +interface Swift_Spool +{ + /** + * Starts this Spool mechanism. + */ + public function start(); + + /** + * Stops this Spool mechanism. + */ + public function stop(); + + /** + * Tests if this Spool mechanism has started. + * + * @return bool + */ + public function isStarted(); + + /** + * Queues a message. + * + * @param Swift_Mime_Message $message The message to store + * + * @return bool Whether the operation has succeeded + */ + public function queueMessage(Swift_Mime_Message $message); + + /** + * Sends messages using the given transport instance. + * + * @param Swift_Transport $transport A transport instance + * @param string[] $failedRecipients An array of failures by-reference + * + * @return int The number of sent emails + */ + public function flushQueue(Swift_Transport $transport, &$failedRecipients = null); +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SpoolTransport.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SpoolTransport.php new file mode 100644 index 0000000..79c9b1f --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SpoolTransport.php @@ -0,0 +1,47 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +/** + * Stores Messages in a queue. + * + * @author Fabien Potencier + */ +class Swift_SpoolTransport extends Swift_Transport_SpoolTransport +{ + /** + * Create a new SpoolTransport. + * + * @param Swift_Spool $spool + */ + public function __construct(Swift_Spool $spool) + { + $arguments = Swift_DependencyContainer::getInstance() + ->createDependenciesFor('transport.spool'); + + $arguments[] = $spool; + + call_user_func_array( + array($this, 'Swift_Transport_SpoolTransport::__construct'), + $arguments + ); + } + + /** + * Create a new SpoolTransport instance. + * + * @param Swift_Spool $spool + * + * @return self + */ + public static function newInstance(Swift_Spool $spool) + { + return new self($spool); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilter.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilter.php new file mode 100644 index 0000000..362be2e --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilter.php @@ -0,0 +1,35 @@ +_search = $search; + $this->_index = array(); + $this->_tree = array(); + $this->_replace = array(); + $this->_repSize = array(); + + $tree = null; + $i = null; + $last_size = $size = 0; + foreach ($search as $i => $search_element) { + if ($tree !== null) { + $tree[-1] = min(count($replace) - 1, $i - 1); + $tree[-2] = $last_size; + } + $tree = &$this->_tree; + if (is_array($search_element)) { + foreach ($search_element as $k => $char) { + $this->_index[$char] = true; + if (!isset($tree[$char])) { + $tree[$char] = array(); + } + $tree = &$tree[$char]; + } + $last_size = $k + 1; + $size = max($size, $last_size); + } else { + $last_size = 1; + if (!isset($tree[$search_element])) { + $tree[$search_element] = array(); + } + $tree = &$tree[$search_element]; + $size = max($last_size, $size); + $this->_index[$search_element] = true; + } + } + if ($i !== null) { + $tree[-1] = min(count($replace) - 1, $i); + $tree[-2] = $last_size; + $this->_treeMaxLen = $size; + } + foreach ($replace as $rep) { + if (!is_array($rep)) { + $rep = array($rep); + } + $this->_replace[] = $rep; + } + for ($i = count($this->_replace) - 1; $i >= 0; --$i) { + $this->_replace[$i] = $rep = $this->filter($this->_replace[$i], $i); + $this->_repSize[$i] = count($rep); + } + } + + /** + * Returns true if based on the buffer passed more bytes should be buffered. + * + * @param array $buffer + * + * @return bool + */ + public function shouldBuffer($buffer) + { + $endOfBuffer = end($buffer); + + return isset($this->_index[$endOfBuffer]); + } + + /** + * Perform the actual replacements on $buffer and return the result. + * + * @param array $buffer + * @param int $_minReplaces + * + * @return array + */ + public function filter($buffer, $_minReplaces = -1) + { + if ($this->_treeMaxLen == 0) { + return $buffer; + } + + $newBuffer = array(); + $buf_size = count($buffer); + $last_size = 0; + for ($i = 0; $i < $buf_size; ++$i) { + $search_pos = $this->_tree; + $last_found = PHP_INT_MAX; + // We try to find if the next byte is part of a search pattern + for ($j = 0; $j <= $this->_treeMaxLen; ++$j) { + // We have a new byte for a search pattern + if (isset($buffer[$p = $i + $j]) && isset($search_pos[$buffer[$p]])) { + $search_pos = $search_pos[$buffer[$p]]; + // We have a complete pattern, save, in case we don't find a better match later + if (isset($search_pos[-1]) && $search_pos[-1] < $last_found + && $search_pos[-1] > $_minReplaces) { + $last_found = $search_pos[-1]; + $last_size = $search_pos[-2]; + } + } + // We got a complete pattern + elseif ($last_found !== PHP_INT_MAX) { + // Adding replacement datas to output buffer + $rep_size = $this->_repSize[$last_found]; + for ($j = 0; $j < $rep_size; ++$j) { + $newBuffer[] = $this->_replace[$last_found][$j]; + } + // We Move cursor forward + $i += $last_size - 1; + // Edge Case, last position in buffer + if ($i >= $buf_size) { + $newBuffer[] = $buffer[$i]; + } + + // We start the next loop + continue 2; + } else { + // this byte is not in a pattern and we haven't found another pattern + break; + } + } + // Normal byte, move it to output buffer + $newBuffer[] = $buffer[$i]; + } + + return $newBuffer; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilters/StringReplacementFilter.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilters/StringReplacementFilter.php new file mode 100644 index 0000000..f64144a --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilters/StringReplacementFilter.php @@ -0,0 +1,70 @@ +_search = $search; + $this->_replace = $replace; + } + + /** + * Returns true if based on the buffer passed more bytes should be buffered. + * + * @param string $buffer + * + * @return bool + */ + public function shouldBuffer($buffer) + { + if ('' === $buffer) { + return false; + } + + $endOfBuffer = substr($buffer, -1); + foreach ((array) $this->_search as $needle) { + if (false !== strpos($needle, $endOfBuffer)) { + return true; + } + } + + return false; + } + + /** + * Perform the actual replacements on $buffer and return the result. + * + * @param string $buffer + * + * @return string + */ + public function filter($buffer) + { + return str_replace($this->_search, $this->_replace, $buffer); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilters/StringReplacementFilterFactory.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilters/StringReplacementFilterFactory.php new file mode 100644 index 0000000..e98240b --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilters/StringReplacementFilterFactory.php @@ -0,0 +1,45 @@ +_filters[$search][$replace])) { + if (!isset($this->_filters[$search])) { + $this->_filters[$search] = array(); + } + + if (!isset($this->_filters[$search][$replace])) { + $this->_filters[$search][$replace] = array(); + } + + $this->_filters[$search][$replace] = new Swift_StreamFilters_StringReplacementFilter($search, $replace); + } + + return $this->_filters[$search][$replace]; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SwiftException.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SwiftException.php new file mode 100644 index 0000000..db3d310 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/SwiftException.php @@ -0,0 +1,29 @@ +_eventDispatcher = $dispatcher; + $this->_buffer = $buf; + $this->_lookupHostname(); + } + + /** + * Set the name of the local domain which Swift will identify itself as. + * + * This should be a fully-qualified domain name and should be truly the domain + * you're using. + * + * If your server doesn't have a domain name, use the IP in square + * brackets (i.e. [127.0.0.1]). + * + * @param string $domain + * + * @return $this + */ + public function setLocalDomain($domain) + { + $this->_domain = $domain; + + return $this; + } + + /** + * Get the name of the domain Swift will identify as. + * + * @return string + */ + public function getLocalDomain() + { + return $this->_domain; + } + + /** + * Sets the source IP. + * + * @param string $source + */ + public function setSourceIp($source) + { + $this->_sourceIp = $source; + } + + /** + * Returns the IP used to connect to the destination. + * + * @return string + */ + public function getSourceIp() + { + return $this->_sourceIp; + } + + /** + * Start the SMTP connection. + */ + public function start() + { + if (!$this->_started) { + if ($evt = $this->_eventDispatcher->createTransportChangeEvent($this)) { + $this->_eventDispatcher->dispatchEvent($evt, 'beforeTransportStarted'); + if ($evt->bubbleCancelled()) { + return; + } + } + + try { + $this->_buffer->initialize($this->_getBufferParams()); + } catch (Swift_TransportException $e) { + $this->_throwException($e); + } + $this->_readGreeting(); + $this->_doHeloCommand(); + + if ($evt) { + $this->_eventDispatcher->dispatchEvent($evt, 'transportStarted'); + } + + $this->_started = true; + } + } + + /** + * Test if an SMTP connection has been established. + * + * @return bool + */ + public function isStarted() + { + return $this->_started; + } + + /** + * Send the given Message. + * + * Recipient/sender data will be retrieved from the Message API. + * The return value is the number of recipients who were accepted for delivery. + * + * @param Swift_Mime_Message $message + * @param string[] $failedRecipients An array of failures by-reference + * + * @return int + */ + public function send(Swift_Mime_Message $message, &$failedRecipients = null) + { + $sent = 0; + $failedRecipients = (array) $failedRecipients; + + if ($evt = $this->_eventDispatcher->createSendEvent($this, $message)) { + $this->_eventDispatcher->dispatchEvent($evt, 'beforeSendPerformed'); + if ($evt->bubbleCancelled()) { + return 0; + } + } + + if (!$reversePath = $this->_getReversePath($message)) { + $this->_throwException(new Swift_TransportException( + 'Cannot send message without a sender address' + ) + ); + } + + $to = (array) $message->getTo(); + $cc = (array) $message->getCc(); + $tos = array_merge($to, $cc); + $bcc = (array) $message->getBcc(); + + $message->setBcc(array()); + + try { + $sent += $this->_sendTo($message, $reversePath, $tos, $failedRecipients); + $sent += $this->_sendBcc($message, $reversePath, $bcc, $failedRecipients); + } catch (Exception $e) { + $message->setBcc($bcc); + throw $e; + } + + $message->setBcc($bcc); + + if ($evt) { + if ($sent == count($to) + count($cc) + count($bcc)) { + $evt->setResult(Swift_Events_SendEvent::RESULT_SUCCESS); + } elseif ($sent > 0) { + $evt->setResult(Swift_Events_SendEvent::RESULT_TENTATIVE); + } else { + $evt->setResult(Swift_Events_SendEvent::RESULT_FAILED); + } + $evt->setFailedRecipients($failedRecipients); + $this->_eventDispatcher->dispatchEvent($evt, 'sendPerformed'); + } + + $message->generateId(); //Make sure a new Message ID is used + + return $sent; + } + + /** + * Stop the SMTP connection. + */ + public function stop() + { + if ($this->_started) { + if ($evt = $this->_eventDispatcher->createTransportChangeEvent($this)) { + $this->_eventDispatcher->dispatchEvent($evt, 'beforeTransportStopped'); + if ($evt->bubbleCancelled()) { + return; + } + } + + try { + $this->executeCommand("QUIT\r\n", array(221)); + } catch (Swift_TransportException $e) { + } + + try { + $this->_buffer->terminate(); + + if ($evt) { + $this->_eventDispatcher->dispatchEvent($evt, 'transportStopped'); + } + } catch (Swift_TransportException $e) { + $this->_throwException($e); + } + } + $this->_started = false; + } + + /** + * Register a plugin. + * + * @param Swift_Events_EventListener $plugin + */ + public function registerPlugin(Swift_Events_EventListener $plugin) + { + $this->_eventDispatcher->bindEventListener($plugin); + } + + /** + * Reset the current mail transaction. + */ + public function reset() + { + $this->executeCommand("RSET\r\n", array(250)); + } + + /** + * Get the IoBuffer where read/writes are occurring. + * + * @return Swift_Transport_IoBuffer + */ + public function getBuffer() + { + return $this->_buffer; + } + + /** + * Run a command against the buffer, expecting the given response codes. + * + * If no response codes are given, the response will not be validated. + * If codes are given, an exception will be thrown on an invalid response. + * + * @param string $command + * @param int[] $codes + * @param string[] $failures An array of failures by-reference + * + * @return string + */ + public function executeCommand($command, $codes = array(), &$failures = null) + { + $failures = (array) $failures; + $seq = $this->_buffer->write($command); + $response = $this->_getFullResponse($seq); + if ($evt = $this->_eventDispatcher->createCommandEvent($this, $command, $codes)) { + $this->_eventDispatcher->dispatchEvent($evt, 'commandSent'); + } + $this->_assertResponseCode($response, $codes); + + return $response; + } + + /** Read the opening SMTP greeting */ + protected function _readGreeting() + { + $this->_assertResponseCode($this->_getFullResponse(0), array(220)); + } + + /** Send the HELO welcome */ + protected function _doHeloCommand() + { + $this->executeCommand( + sprintf("HELO %s\r\n", $this->_domain), array(250) + ); + } + + /** Send the MAIL FROM command */ + protected function _doMailFromCommand($address) + { + $this->executeCommand( + sprintf("MAIL FROM:<%s>\r\n", $address), array(250) + ); + } + + /** Send the RCPT TO command */ + protected function _doRcptToCommand($address) + { + $this->executeCommand( + sprintf("RCPT TO:<%s>\r\n", $address), array(250, 251, 252) + ); + } + + /** Send the DATA command */ + protected function _doDataCommand() + { + $this->executeCommand("DATA\r\n", array(354)); + } + + /** Stream the contents of the message over the buffer */ + protected function _streamMessage(Swift_Mime_Message $message) + { + $this->_buffer->setWriteTranslations(array("\r\n." => "\r\n..")); + try { + $message->toByteStream($this->_buffer); + $this->_buffer->flushBuffers(); + } catch (Swift_TransportException $e) { + $this->_throwException($e); + } + $this->_buffer->setWriteTranslations(array()); + $this->executeCommand("\r\n.\r\n", array(250)); + } + + /** Determine the best-use reverse path for this message */ + protected function _getReversePath(Swift_Mime_Message $message) + { + $return = $message->getReturnPath(); + $sender = $message->getSender(); + $from = $message->getFrom(); + $path = null; + if (!empty($return)) { + $path = $return; + } elseif (!empty($sender)) { + // Don't use array_keys + reset($sender); // Reset Pointer to first pos + $path = key($sender); // Get key + } elseif (!empty($from)) { + reset($from); // Reset Pointer to first pos + $path = key($from); // Get key + } + + return $path; + } + + /** Throw a TransportException, first sending it to any listeners */ + protected function _throwException(Swift_TransportException $e) + { + if ($evt = $this->_eventDispatcher->createTransportExceptionEvent($this, $e)) { + $this->_eventDispatcher->dispatchEvent($evt, 'exceptionThrown'); + if (!$evt->bubbleCancelled()) { + throw $e; + } + } else { + throw $e; + } + } + + /** Throws an Exception if a response code is incorrect */ + protected function _assertResponseCode($response, $wanted) + { + list($code) = sscanf($response, '%3d'); + $valid = (empty($wanted) || in_array($code, $wanted)); + + if ($evt = $this->_eventDispatcher->createResponseEvent($this, $response, + $valid)) { + $this->_eventDispatcher->dispatchEvent($evt, 'responseReceived'); + } + + if (!$valid) { + $this->_throwException( + new Swift_TransportException( + 'Expected response code '.implode('/', $wanted).' but got code '. + '"'.$code.'", with message "'.$response.'"', + $code) + ); + } + } + + /** Get an entire multi-line response using its sequence number */ + protected function _getFullResponse($seq) + { + $response = ''; + try { + do { + $line = $this->_buffer->readLine($seq); + $response .= $line; + } while (null !== $line && false !== $line && ' ' != $line[3]); + } catch (Swift_TransportException $e) { + $this->_throwException($e); + } catch (Swift_IoException $e) { + $this->_throwException( + new Swift_TransportException( + $e->getMessage()) + ); + } + + return $response; + } + + /** Send an email to the given recipients from the given reverse path */ + private function _doMailTransaction($message, $reversePath, array $recipients, array &$failedRecipients) + { + $sent = 0; + $this->_doMailFromCommand($reversePath); + foreach ($recipients as $forwardPath) { + try { + $this->_doRcptToCommand($forwardPath); + ++$sent; + } catch (Swift_TransportException $e) { + $failedRecipients[] = $forwardPath; + } + } + + if ($sent != 0) { + $this->_doDataCommand(); + $this->_streamMessage($message); + } else { + $this->reset(); + } + + return $sent; + } + + /** Send a message to the given To: recipients */ + private function _sendTo(Swift_Mime_Message $message, $reversePath, array $to, array &$failedRecipients) + { + if (empty($to)) { + return 0; + } + + return $this->_doMailTransaction($message, $reversePath, array_keys($to), + $failedRecipients); + } + + /** Send a message to all Bcc: recipients */ + private function _sendBcc(Swift_Mime_Message $message, $reversePath, array $bcc, array &$failedRecipients) + { + $sent = 0; + foreach ($bcc as $forwardPath => $name) { + $message->setBcc(array($forwardPath => $name)); + $sent += $this->_doMailTransaction( + $message, $reversePath, array($forwardPath), $failedRecipients + ); + } + + return $sent; + } + + /** Try to determine the hostname of the server this is run on */ + private function _lookupHostname() + { + if (!empty($_SERVER['SERVER_NAME']) && $this->_isFqdn($_SERVER['SERVER_NAME'])) { + $this->_domain = $_SERVER['SERVER_NAME']; + } elseif (!empty($_SERVER['SERVER_ADDR'])) { + // Set the address literal tag (See RFC 5321, section: 4.1.3) + if (false === strpos($_SERVER['SERVER_ADDR'], ':')) { + $prefix = ''; // IPv4 addresses are not tagged. + } else { + $prefix = 'IPv6:'; // Adding prefix in case of IPv6. + } + + $this->_domain = sprintf('[%s%s]', $prefix, $_SERVER['SERVER_ADDR']); + } + } + + /** Determine is the $hostname is a fully-qualified name */ + private function _isFqdn($hostname) + { + // We could do a really thorough check, but there's really no point + if (false !== $dotPos = strpos($hostname, '.')) { + return ($dotPos > 0) && ($dotPos != strlen($hostname) - 1); + } + + return false; + } + + /** + * Destructor. + */ + public function __destruct() + { + try { + $this->stop(); + } catch (Exception $e) { + } + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/CramMd5Authenticator.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/CramMd5Authenticator.php new file mode 100644 index 0000000..53f721d --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/CramMd5Authenticator.php @@ -0,0 +1,81 @@ +executeCommand("AUTH CRAM-MD5\r\n", array(334)); + $challenge = base64_decode(substr($challenge, 4)); + $message = base64_encode( + $username.' '.$this->_getResponse($password, $challenge) + ); + $agent->executeCommand(sprintf("%s\r\n", $message), array(235)); + + return true; + } catch (Swift_TransportException $e) { + $agent->executeCommand("RSET\r\n", array(250)); + + return false; + } + } + + /** + * Generate a CRAM-MD5 response from a server challenge. + * + * @param string $secret + * @param string $challenge + * + * @return string + */ + private function _getResponse($secret, $challenge) + { + if (strlen($secret) > 64) { + $secret = pack('H32', md5($secret)); + } + + if (strlen($secret) < 64) { + $secret = str_pad($secret, 64, chr(0)); + } + + $k_ipad = substr($secret, 0, 64) ^ str_repeat(chr(0x36), 64); + $k_opad = substr($secret, 0, 64) ^ str_repeat(chr(0x5C), 64); + + $inner = pack('H32', md5($k_ipad.$challenge)); + $digest = md5($k_opad.$inner); + + return $digest; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/LoginAuthenticator.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/LoginAuthenticator.php new file mode 100644 index 0000000..6ab6e33 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/LoginAuthenticator.php @@ -0,0 +1,51 @@ +executeCommand("AUTH LOGIN\r\n", array(334)); + $agent->executeCommand(sprintf("%s\r\n", base64_encode($username)), array(334)); + $agent->executeCommand(sprintf("%s\r\n", base64_encode($password)), array(235)); + + return true; + } catch (Swift_TransportException $e) { + $agent->executeCommand("RSET\r\n", array(250)); + + return false; + } + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/NTLMAuthenticator.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/NTLMAuthenticator.php new file mode 100644 index 0000000..8392658 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/NTLMAuthenticator.php @@ -0,0 +1,725 @@ + + */ +class Swift_Transport_Esmtp_Auth_NTLMAuthenticator implements Swift_Transport_Esmtp_Authenticator +{ + const NTLMSIG = "NTLMSSP\x00"; + const DESCONST = 'KGS!@#$%'; + + /** + * Get the name of the AUTH mechanism this Authenticator handles. + * + * @return string + */ + public function getAuthKeyword() + { + return 'NTLM'; + } + + /** + * Try to authenticate the user with $username and $password. + * + * @param Swift_Transport_SmtpAgent $agent + * @param string $username + * @param string $password + * + * @return bool + */ + public function authenticate(Swift_Transport_SmtpAgent $agent, $username, $password) + { + if (!function_exists('openssl_random_pseudo_bytes') || !function_exists('openssl_encrypt')) { + throw new LogicException('The OpenSSL extension must be enabled to use the NTLM authenticator.'); + } + + if (!function_exists('bcmul')) { + throw new LogicException('The BCMath functions must be enabled to use the NTLM authenticator.'); + } + + try { + // execute AUTH command and filter out the code at the beginning + // AUTH NTLM xxxx + $response = base64_decode(substr(trim($this->sendMessage1($agent)), 4)); + + // extra parameters for our unit cases + $timestamp = func_num_args() > 3 ? func_get_arg(3) : $this->getCorrectTimestamp(bcmul(microtime(true), '1000')); + $client = func_num_args() > 4 ? func_get_arg(4) : $this->getRandomBytes(8); + + // Message 3 response + $this->sendMessage3($response, $username, $password, $timestamp, $client, $agent); + + return true; + } catch (Swift_TransportException $e) { + $agent->executeCommand("RSET\r\n", array(250)); + + return false; + } + } + + protected function si2bin($si, $bits = 32) + { + $bin = null; + if ($si >= -pow(2, $bits - 1) && ($si <= pow(2, $bits - 1))) { + // positive or zero + if ($si >= 0) { + $bin = base_convert($si, 10, 2); + // pad to $bits bit + $bin_length = strlen($bin); + if ($bin_length < $bits) { + $bin = str_repeat('0', $bits - $bin_length).$bin; + } + } else { + // negative + $si = -$si - pow(2, $bits); + $bin = base_convert($si, 10, 2); + $bin_length = strlen($bin); + if ($bin_length > $bits) { + $bin = str_repeat('1', $bits - $bin_length).$bin; + } + } + } + + return $bin; + } + + /** + * Send our auth message and returns the response. + * + * @param Swift_Transport_SmtpAgent $agent + * + * @return string SMTP Response + */ + protected function sendMessage1(Swift_Transport_SmtpAgent $agent) + { + $message = $this->createMessage1(); + + return $agent->executeCommand(sprintf("AUTH %s %s\r\n", $this->getAuthKeyword(), base64_encode($message)), array(334)); + } + + /** + * Fetch all details of our response (message 2). + * + * @param string $response + * + * @return array our response parsed + */ + protected function parseMessage2($response) + { + $responseHex = bin2hex($response); + $length = floor(hexdec(substr($responseHex, 28, 4)) / 256) * 2; + $offset = floor(hexdec(substr($responseHex, 32, 4)) / 256) * 2; + $challenge = $this->hex2bin(substr($responseHex, 48, 16)); + $context = $this->hex2bin(substr($responseHex, 64, 16)); + $targetInfoH = $this->hex2bin(substr($responseHex, 80, 16)); + $targetName = $this->hex2bin(substr($responseHex, $offset, $length)); + $offset = floor(hexdec(substr($responseHex, 88, 4)) / 256) * 2; + $targetInfoBlock = substr($responseHex, $offset); + list($domainName, $serverName, $DNSDomainName, $DNSServerName, $terminatorByte) = $this->readSubBlock($targetInfoBlock); + + return array( + $challenge, + $context, + $targetInfoH, + $targetName, + $domainName, + $serverName, + $DNSDomainName, + $DNSServerName, + $this->hex2bin($targetInfoBlock), + $terminatorByte, + ); + } + + /** + * Read the blob information in from message2. + * + * @param $block + * + * @return array + */ + protected function readSubBlock($block) + { + // remove terminatorByte cause it's always the same + $block = substr($block, 0, -8); + + $length = strlen($block); + $offset = 0; + $data = array(); + while ($offset < $length) { + $blockLength = hexdec(substr(substr($block, $offset, 8), -4)) / 256; + $offset += 8; + $data[] = $this->hex2bin(substr($block, $offset, $blockLength * 2)); + $offset += $blockLength * 2; + } + + if (count($data) == 3) { + $data[] = $data[2]; + $data[2] = ''; + } + + $data[] = $this->createByte('00'); + + return $data; + } + + /** + * Send our final message with all our data. + * + * @param string $response Message 1 response (message 2) + * @param string $username + * @param string $password + * @param string $timestamp + * @param string $client + * @param Swift_Transport_SmtpAgent $agent + * @param bool $v2 Use version2 of the protocol + * + * @return string + */ + protected function sendMessage3($response, $username, $password, $timestamp, $client, Swift_Transport_SmtpAgent $agent, $v2 = true) + { + list($domain, $username) = $this->getDomainAndUsername($username); + //$challenge, $context, $targetInfoH, $targetName, $domainName, $workstation, $DNSDomainName, $DNSServerName, $blob, $ter + list($challenge, , , , , $workstation, , , $blob) = $this->parseMessage2($response); + + if (!$v2) { + // LMv1 + $lmResponse = $this->createLMPassword($password, $challenge); + // NTLMv1 + $ntlmResponse = $this->createNTLMPassword($password, $challenge); + } else { + // LMv2 + $lmResponse = $this->createLMv2Password($password, $username, $domain, $challenge, $client); + // NTLMv2 + $ntlmResponse = $this->createNTLMv2Hash($password, $username, $domain, $challenge, $blob, $timestamp, $client); + } + + $message = $this->createMessage3($domain, $username, $workstation, $lmResponse, $ntlmResponse); + + return $agent->executeCommand(sprintf("%s\r\n", base64_encode($message)), array(235)); + } + + /** + * Create our message 1. + * + * @return string + */ + protected function createMessage1() + { + return self::NTLMSIG + .$this->createByte('01') // Message 1 +.$this->createByte('0702'); // Flags + } + + /** + * Create our message 3. + * + * @param string $domain + * @param string $username + * @param string $workstation + * @param string $lmResponse + * @param string $ntlmResponse + * + * @return string + */ + protected function createMessage3($domain, $username, $workstation, $lmResponse, $ntlmResponse) + { + // Create security buffers + $domainSec = $this->createSecurityBuffer($domain, 64); + $domainInfo = $this->readSecurityBuffer(bin2hex($domainSec)); + $userSec = $this->createSecurityBuffer($username, ($domainInfo[0] + $domainInfo[1]) / 2); + $userInfo = $this->readSecurityBuffer(bin2hex($userSec)); + $workSec = $this->createSecurityBuffer($workstation, ($userInfo[0] + $userInfo[1]) / 2); + $workInfo = $this->readSecurityBuffer(bin2hex($workSec)); + $lmSec = $this->createSecurityBuffer($lmResponse, ($workInfo[0] + $workInfo[1]) / 2, true); + $lmInfo = $this->readSecurityBuffer(bin2hex($lmSec)); + $ntlmSec = $this->createSecurityBuffer($ntlmResponse, ($lmInfo[0] + $lmInfo[1]) / 2, true); + + return self::NTLMSIG + .$this->createByte('03') // TYPE 3 message +.$lmSec // LM response header +.$ntlmSec // NTLM response header +.$domainSec // Domain header +.$userSec // User header +.$workSec // Workstation header +.$this->createByte('000000009a', 8) // session key header (empty) +.$this->createByte('01020000') // FLAGS +.$this->convertTo16bit($domain) // domain name +.$this->convertTo16bit($username) // username +.$this->convertTo16bit($workstation) // workstation +.$lmResponse + .$ntlmResponse; + } + + /** + * @param string $timestamp Epoch timestamp in microseconds + * @param string $client Random bytes + * @param string $targetInfo + * + * @return string + */ + protected function createBlob($timestamp, $client, $targetInfo) + { + return $this->createByte('0101') + .$this->createByte('00') + .$timestamp + .$client + .$this->createByte('00') + .$targetInfo + .$this->createByte('00'); + } + + /** + * Get domain and username from our username. + * + * @example DOMAIN\username + * + * @param string $name + * + * @return array + */ + protected function getDomainAndUsername($name) + { + if (strpos($name, '\\') !== false) { + return explode('\\', $name); + } + + if (false !== strpos($name, '@')) { + list($user, $domain) = explode('@', $name); + + return array($domain, $user); + } + + // no domain passed + return array('', $name); + } + + /** + * Create LMv1 response. + * + * @param string $password + * @param string $challenge + * + * @return string + */ + protected function createLMPassword($password, $challenge) + { + // FIRST PART + $password = $this->createByte(strtoupper($password), 14, false); + list($key1, $key2) = str_split($password, 7); + + $desKey1 = $this->createDesKey($key1); + $desKey2 = $this->createDesKey($key2); + + $constantDecrypt = $this->createByte($this->desEncrypt(self::DESCONST, $desKey1).$this->desEncrypt(self::DESCONST, $desKey2), 21, false); + + // SECOND PART + list($key1, $key2, $key3) = str_split($constantDecrypt, 7); + + $desKey1 = $this->createDesKey($key1); + $desKey2 = $this->createDesKey($key2); + $desKey3 = $this->createDesKey($key3); + + return $this->desEncrypt($challenge, $desKey1).$this->desEncrypt($challenge, $desKey2).$this->desEncrypt($challenge, $desKey3); + } + + /** + * Create NTLMv1 response. + * + * @param string $password + * @param string $challenge + * + * @return string + */ + protected function createNTLMPassword($password, $challenge) + { + // FIRST PART + $ntlmHash = $this->createByte($this->md4Encrypt($password), 21, false); + list($key1, $key2, $key3) = str_split($ntlmHash, 7); + + $desKey1 = $this->createDesKey($key1); + $desKey2 = $this->createDesKey($key2); + $desKey3 = $this->createDesKey($key3); + + return $this->desEncrypt($challenge, $desKey1).$this->desEncrypt($challenge, $desKey2).$this->desEncrypt($challenge, $desKey3); + } + + /** + * Convert a normal timestamp to a tenth of a microtime epoch time. + * + * @param string $time + * + * @return string + */ + protected function getCorrectTimestamp($time) + { + // Get our timestamp (tricky!) + $time = number_format($time, 0, '.', ''); // save microtime to string + $time = bcadd($time, '11644473600000', 0); // add epoch time + $time = bcmul($time, 10000, 0); // tenths of a microsecond. + + $binary = $this->si2bin($time, 64); // create 64 bit binary string + $timestamp = ''; + for ($i = 0; $i < 8; ++$i) { + $timestamp .= chr(bindec(substr($binary, -(($i + 1) * 8), 8))); + } + + return $timestamp; + } + + /** + * Create LMv2 response. + * + * @param string $password + * @param string $username + * @param string $domain + * @param string $challenge NTLM Challenge + * @param string $client Random string + * + * @return string + */ + protected function createLMv2Password($password, $username, $domain, $challenge, $client) + { + $lmPass = '00'; // by default 00 + // if $password > 15 than we can't use this method + if (strlen($password) <= 15) { + $ntlmHash = $this->md4Encrypt($password); + $ntml2Hash = $this->md5Encrypt($ntlmHash, $this->convertTo16bit(strtoupper($username).$domain)); + + $lmPass = bin2hex($this->md5Encrypt($ntml2Hash, $challenge.$client).$client); + } + + return $this->createByte($lmPass, 24); + } + + /** + * Create NTLMv2 response. + * + * @param string $password + * @param string $username + * @param string $domain + * @param string $challenge Hex values + * @param string $targetInfo Hex values + * @param string $timestamp + * @param string $client Random bytes + * + * @return string + * + * @see http://davenport.sourceforge.net/ntlm.html#theNtlmResponse + */ + protected function createNTLMv2Hash($password, $username, $domain, $challenge, $targetInfo, $timestamp, $client) + { + $ntlmHash = $this->md4Encrypt($password); + $ntml2Hash = $this->md5Encrypt($ntlmHash, $this->convertTo16bit(strtoupper($username).$domain)); + + // create blob + $blob = $this->createBlob($timestamp, $client, $targetInfo); + + $ntlmv2Response = $this->md5Encrypt($ntml2Hash, $challenge.$blob); + + return $ntlmv2Response.$blob; + } + + protected function createDesKey($key) + { + $material = array(bin2hex($key[0])); + $len = strlen($key); + for ($i = 1; $i < $len; ++$i) { + list($high, $low) = str_split(bin2hex($key[$i])); + $v = $this->castToByte(ord($key[$i - 1]) << (7 + 1 - $i) | $this->uRShift(hexdec(dechex(hexdec($high) & 0xf).dechex(hexdec($low) & 0xf)), $i)); + $material[] = str_pad(substr(dechex($v), -2), 2, '0', STR_PAD_LEFT); // cast to byte + } + $material[] = str_pad(substr(dechex($this->castToByte(ord($key[6]) << 1)), -2), 2, '0'); + + // odd parity + foreach ($material as $k => $v) { + $b = $this->castToByte(hexdec($v)); + $needsParity = (($this->uRShift($b, 7) ^ $this->uRShift($b, 6) ^ $this->uRShift($b, 5) + ^ $this->uRShift($b, 4) ^ $this->uRShift($b, 3) ^ $this->uRShift($b, 2) + ^ $this->uRShift($b, 1)) & 0x01) == 0; + + list($high, $low) = str_split($v); + if ($needsParity) { + $material[$k] = dechex(hexdec($high) | 0x0).dechex(hexdec($low) | 0x1); + } else { + $material[$k] = dechex(hexdec($high) & 0xf).dechex(hexdec($low) & 0xe); + } + } + + return $this->hex2bin(implode('', $material)); + } + + /** HELPER FUNCTIONS */ + + /** + * Create our security buffer depending on length and offset. + * + * @param string $value Value we want to put in + * @param int $offset start of value + * @param bool $is16 Do we 16bit string or not? + * + * @return string + */ + protected function createSecurityBuffer($value, $offset, $is16 = false) + { + $length = strlen(bin2hex($value)); + $length = $is16 ? $length / 2 : $length; + $length = $this->createByte(str_pad(dechex($length), 2, '0', STR_PAD_LEFT), 2); + + return $length.$length.$this->createByte(dechex($offset), 4); + } + + /** + * Read our security buffer to fetch length and offset of our value. + * + * @param string $value Securitybuffer in hex + * + * @return array array with length and offset + */ + protected function readSecurityBuffer($value) + { + $length = floor(hexdec(substr($value, 0, 4)) / 256) * 2; + $offset = floor(hexdec(substr($value, 8, 4)) / 256) * 2; + + return array($length, $offset); + } + + /** + * Cast to byte java equivalent to (byte). + * + * @param int $v + * + * @return int + */ + protected function castToByte($v) + { + return (($v + 128) % 256) - 128; + } + + /** + * Java unsigned right bitwise + * $a >>> $b. + * + * @param int $a + * @param int $b + * + * @return int + */ + protected function uRShift($a, $b) + { + if ($b == 0) { + return $a; + } + + return ($a >> $b) & ~(1 << (8 * PHP_INT_SIZE - 1) >> ($b - 1)); + } + + /** + * Right padding with 0 to certain length. + * + * @param string $input + * @param int $bytes Length of bytes + * @param bool $isHex Did we provided hex value + * + * @return string + */ + protected function createByte($input, $bytes = 4, $isHex = true) + { + if ($isHex) { + $byte = $this->hex2bin(str_pad($input, $bytes * 2, '00')); + } else { + $byte = str_pad($input, $bytes, "\x00"); + } + + return $byte; + } + + /** + * Create random bytes. + * + * @param $length + * + * @return string + */ + protected function getRandomBytes($length) + { + $bytes = openssl_random_pseudo_bytes($length, $strong); + + if (false !== $bytes && true === $strong) { + return $bytes; + } + + throw new RuntimeException('OpenSSL did not produce a secure random number.'); + } + + /** ENCRYPTION ALGORITHMS */ + + /** + * DES Encryption. + * + * @param string $value An 8-byte string + * @param string $key + * + * @return string + */ + protected function desEncrypt($value, $key) + { + // 1 == OPENSSL_RAW_DATA - but constant is only available as of PHP 5.4. + return substr(openssl_encrypt($value, 'DES-ECB', $key, 1), 0, 8); + } + + /** + * MD5 Encryption. + * + * @param string $key Encryption key + * @param string $msg Message to encrypt + * + * @return string + */ + protected function md5Encrypt($key, $msg) + { + $blocksize = 64; + if (strlen($key) > $blocksize) { + $key = pack('H*', md5($key)); + } + + $key = str_pad($key, $blocksize, "\0"); + $ipadk = $key ^ str_repeat("\x36", $blocksize); + $opadk = $key ^ str_repeat("\x5c", $blocksize); + + return pack('H*', md5($opadk.pack('H*', md5($ipadk.$msg)))); + } + + /** + * MD4 Encryption. + * + * @param string $input + * + * @return string + * + * @see http://php.net/manual/en/ref.hash.php + */ + protected function md4Encrypt($input) + { + $input = $this->convertTo16bit($input); + + return function_exists('hash') ? $this->hex2bin(hash('md4', $input)) : mhash(MHASH_MD4, $input); + } + + /** + * Convert UTF-8 to UTF-16. + * + * @param string $input + * + * @return string + */ + protected function convertTo16bit($input) + { + return iconv('UTF-8', 'UTF-16LE', $input); + } + + /** + * Hex2bin replacement for < PHP 5.4. + * + * @param string $hex + * + * @return string Binary + */ + protected function hex2bin($hex) + { + if (function_exists('hex2bin')) { + return hex2bin($hex); + } else { + return pack('H*', $hex); + } + } + + /** + * @param string $message + */ + protected function debug($message) + { + $message = bin2hex($message); + $messageId = substr($message, 16, 8); + echo substr($message, 0, 16)." NTLMSSP Signature
                                                                        \n"; + echo $messageId." Type Indicator
                                                                        \n"; + + if ($messageId == '02000000') { + $map = array( + 'Challenge', + 'Context', + 'Target Information Security Buffer', + 'Target Name Data', + 'NetBIOS Domain Name', + 'NetBIOS Server Name', + 'DNS Domain Name', + 'DNS Server Name', + 'BLOB', + 'Target Information Terminator', + ); + + $data = $this->parseMessage2($this->hex2bin($message)); + + foreach ($map as $key => $value) { + echo bin2hex($data[$key]).' - '.$data[$key].' ||| '.$value."
                                                                        \n"; + } + } elseif ($messageId == '03000000') { + $i = 0; + $data[$i++] = substr($message, 24, 16); + list($lmLength, $lmOffset) = $this->readSecurityBuffer($data[$i - 1]); + + $data[$i++] = substr($message, 40, 16); + list($ntmlLength, $ntmlOffset) = $this->readSecurityBuffer($data[$i - 1]); + + $data[$i++] = substr($message, 56, 16); + list($targetLength, $targetOffset) = $this->readSecurityBuffer($data[$i - 1]); + + $data[$i++] = substr($message, 72, 16); + list($userLength, $userOffset) = $this->readSecurityBuffer($data[$i - 1]); + + $data[$i++] = substr($message, 88, 16); + list($workLength, $workOffset) = $this->readSecurityBuffer($data[$i - 1]); + + $data[$i++] = substr($message, 104, 16); + $data[$i++] = substr($message, 120, 8); + $data[$i++] = substr($message, $targetOffset, $targetLength); + $data[$i++] = substr($message, $userOffset, $userLength); + $data[$i++] = substr($message, $workOffset, $workLength); + $data[$i++] = substr($message, $lmOffset, $lmLength); + $data[$i] = substr($message, $ntmlOffset, $ntmlLength); + + $map = array( + 'LM Response Security Buffer', + 'NTLM Response Security Buffer', + 'Target Name Security Buffer', + 'User Name Security Buffer', + 'Workstation Name Security Buffer', + 'Session Key Security Buffer', + 'Flags', + 'Target Name Data', + 'User Name Data', + 'Workstation Name Data', + 'LM Response Data', + 'NTLM Response Data', + ); + + foreach ($map as $key => $value) { + echo $data[$key].' - '.$this->hex2bin($data[$key]).' ||| '.$value."
                                                                        \n"; + } + } + + echo '

                                                                        '; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/PlainAuthenticator.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/PlainAuthenticator.php new file mode 100644 index 0000000..43219f9 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/PlainAuthenticator.php @@ -0,0 +1,50 @@ +executeCommand(sprintf("AUTH PLAIN %s\r\n", $message), array(235)); + + return true; + } catch (Swift_TransportException $e) { + $agent->executeCommand("RSET\r\n", array(250)); + + return false; + } + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/XOAuth2Authenticator.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/XOAuth2Authenticator.php new file mode 100644 index 0000000..ca35e7b --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/XOAuth2Authenticator.php @@ -0,0 +1,70 @@ + + * $transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 587, 'tls') + * ->setAuthMode('XOAUTH2') + * ->setUsername('YOUR_EMAIL_ADDRESS') + * ->setPassword('YOUR_ACCESS_TOKEN'); + * + * + * @author xu.li + * + * @see https://developers.google.com/google-apps/gmail/xoauth2_protocol + */ +class Swift_Transport_Esmtp_Auth_XOAuth2Authenticator implements Swift_Transport_Esmtp_Authenticator +{ + /** + * Get the name of the AUTH mechanism this Authenticator handles. + * + * @return string + */ + public function getAuthKeyword() + { + return 'XOAUTH2'; + } + + /** + * Try to authenticate the user with $email and $token. + * + * @param Swift_Transport_SmtpAgent $agent + * @param string $email + * @param string $token + * + * @return bool + */ + public function authenticate(Swift_Transport_SmtpAgent $agent, $email, $token) + { + try { + $param = $this->constructXOAuth2Params($email, $token); + $agent->executeCommand('AUTH XOAUTH2 '.$param."\r\n", array(235)); + + return true; + } catch (Swift_TransportException $e) { + $agent->executeCommand("RSET\r\n", array(250)); + + return false; + } + } + + /** + * Construct the auth parameter. + * + * @see https://developers.google.com/google-apps/gmail/xoauth2_protocol#the_sasl_xoauth2_mechanism + */ + protected function constructXOAuth2Params($email, $token) + { + return base64_encode("user=$email\1auth=Bearer $token\1\1"); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/AuthHandler.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/AuthHandler.php new file mode 100644 index 0000000..cb36133 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/AuthHandler.php @@ -0,0 +1,263 @@ +setAuthenticators($authenticators); + } + + /** + * Set the Authenticators which can process a login request. + * + * @param Swift_Transport_Esmtp_Authenticator[] $authenticators + */ + public function setAuthenticators(array $authenticators) + { + $this->_authenticators = $authenticators; + } + + /** + * Get the Authenticators which can process a login request. + * + * @return Swift_Transport_Esmtp_Authenticator[] + */ + public function getAuthenticators() + { + return $this->_authenticators; + } + + /** + * Set the username to authenticate with. + * + * @param string $username + */ + public function setUsername($username) + { + $this->_username = $username; + } + + /** + * Get the username to authenticate with. + * + * @return string + */ + public function getUsername() + { + return $this->_username; + } + + /** + * Set the password to authenticate with. + * + * @param string $password + */ + public function setPassword($password) + { + $this->_password = $password; + } + + /** + * Get the password to authenticate with. + * + * @return string + */ + public function getPassword() + { + return $this->_password; + } + + /** + * Set the auth mode to use to authenticate. + * + * @param string $mode + */ + public function setAuthMode($mode) + { + $this->_auth_mode = $mode; + } + + /** + * Get the auth mode to use to authenticate. + * + * @return string + */ + public function getAuthMode() + { + return $this->_auth_mode; + } + + /** + * Get the name of the ESMTP extension this handles. + * + * @return bool + */ + public function getHandledKeyword() + { + return 'AUTH'; + } + + /** + * Set the parameters which the EHLO greeting indicated. + * + * @param string[] $parameters + */ + public function setKeywordParams(array $parameters) + { + $this->_esmtpParams = $parameters; + } + + /** + * Runs immediately after a EHLO has been issued. + * + * @param Swift_Transport_SmtpAgent $agent to read/write + */ + public function afterEhlo(Swift_Transport_SmtpAgent $agent) + { + if ($this->_username) { + $count = 0; + foreach ($this->_getAuthenticatorsForAgent() as $authenticator) { + if (in_array(strtolower($authenticator->getAuthKeyword()), + array_map('strtolower', $this->_esmtpParams))) { + ++$count; + if ($authenticator->authenticate($agent, $this->_username, $this->_password)) { + return; + } + } + } + throw new Swift_TransportException( + 'Failed to authenticate on SMTP server with username "'. + $this->_username.'" using '.$count.' possible authenticators' + ); + } + } + + /** + * Not used. + */ + public function getMailParams() + { + return array(); + } + + /** + * Not used. + */ + public function getRcptParams() + { + return array(); + } + + /** + * Not used. + */ + public function onCommand(Swift_Transport_SmtpAgent $agent, $command, $codes = array(), &$failedRecipients = null, &$stop = false) + { + } + + /** + * Returns +1, -1 or 0 according to the rules for usort(). + * + * This method is called to ensure extensions can be execute in an appropriate order. + * + * @param string $esmtpKeyword to compare with + * + * @return int + */ + public function getPriorityOver($esmtpKeyword) + { + return 0; + } + + /** + * Returns an array of method names which are exposed to the Esmtp class. + * + * @return string[] + */ + public function exposeMixinMethods() + { + return array('setUsername', 'getUsername', 'setPassword', 'getPassword', 'setAuthMode', 'getAuthMode'); + } + + /** + * Not used. + */ + public function resetState() + { + } + + /** + * Returns the authenticator list for the given agent. + * + * @param Swift_Transport_SmtpAgent $agent + * + * @return array + */ + protected function _getAuthenticatorsForAgent() + { + if (!$mode = strtolower($this->_auth_mode)) { + return $this->_authenticators; + } + + foreach ($this->_authenticators as $authenticator) { + if (strtolower($authenticator->getAuthKeyword()) == $mode) { + return array($authenticator); + } + } + + throw new Swift_TransportException('Auth mode '.$mode.' is invalid'); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Authenticator.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Authenticator.php new file mode 100644 index 0000000..12a9abf --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Authenticator.php @@ -0,0 +1,35 @@ +. + * + * @return string[] + */ + public function getMailParams(); + + /** + * Get params which are appended to RCPT TO:<>. + * + * @return string[] + */ + public function getRcptParams(); + + /** + * Runs when a command is due to be sent. + * + * @param Swift_Transport_SmtpAgent $agent to read/write + * @param string $command to send + * @param int[] $codes expected in response + * @param string[] $failedRecipients to collect failures + * @param bool $stop to be set true by-reference if the command is now sent + */ + public function onCommand(Swift_Transport_SmtpAgent $agent, $command, $codes = array(), &$failedRecipients = null, &$stop = false); + + /** + * Returns +1, -1 or 0 according to the rules for usort(). + * + * This method is called to ensure extensions can be execute in an appropriate order. + * + * @param string $esmtpKeyword to compare with + * + * @return int + */ + public function getPriorityOver($esmtpKeyword); + + /** + * Returns an array of method names which are exposed to the Esmtp class. + * + * @return string[] + */ + public function exposeMixinMethods(); + + /** + * Tells this handler to clear any buffers and reset its state. + */ + public function resetState(); +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpTransport.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpTransport.php new file mode 100644 index 0000000..156e2cf --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpTransport.php @@ -0,0 +1,411 @@ + 'tcp', + 'host' => 'localhost', + 'port' => 25, + 'timeout' => 30, + 'blocking' => 1, + 'tls' => false, + 'type' => Swift_Transport_IoBuffer::TYPE_SOCKET, + 'stream_context_options' => array(), + ); + + /** + * Creates a new EsmtpTransport using the given I/O buffer. + * + * @param Swift_Transport_IoBuffer $buf + * @param Swift_Transport_EsmtpHandler[] $extensionHandlers + * @param Swift_Events_EventDispatcher $dispatcher + */ + public function __construct(Swift_Transport_IoBuffer $buf, array $extensionHandlers, Swift_Events_EventDispatcher $dispatcher) + { + parent::__construct($buf, $dispatcher); + $this->setExtensionHandlers($extensionHandlers); + } + + /** + * Set the host to connect to. + * + * @param string $host + * + * @return $this + */ + public function setHost($host) + { + $this->_params['host'] = $host; + + return $this; + } + + /** + * Get the host to connect to. + * + * @return string + */ + public function getHost() + { + return $this->_params['host']; + } + + /** + * Set the port to connect to. + * + * @param int $port + * + * @return $this + */ + public function setPort($port) + { + $this->_params['port'] = (int) $port; + + return $this; + } + + /** + * Get the port to connect to. + * + * @return int + */ + public function getPort() + { + return $this->_params['port']; + } + + /** + * Set the connection timeout. + * + * @param int $timeout seconds + * + * @return $this + */ + public function setTimeout($timeout) + { + $this->_params['timeout'] = (int) $timeout; + $this->_buffer->setParam('timeout', (int) $timeout); + + return $this; + } + + /** + * Get the connection timeout. + * + * @return int + */ + public function getTimeout() + { + return $this->_params['timeout']; + } + + /** + * Set the encryption type (tls or ssl). + * + * @param string $encryption + * + * @return $this + */ + public function setEncryption($encryption) + { + $encryption = strtolower($encryption); + if ('tls' == $encryption) { + $this->_params['protocol'] = 'tcp'; + $this->_params['tls'] = true; + } else { + $this->_params['protocol'] = $encryption; + $this->_params['tls'] = false; + } + + return $this; + } + + /** + * Get the encryption type. + * + * @return string + */ + public function getEncryption() + { + return $this->_params['tls'] ? 'tls' : $this->_params['protocol']; + } + + /** + * Sets the stream context options. + * + * @param array $options + * + * @return $this + */ + public function setStreamOptions($options) + { + $this->_params['stream_context_options'] = $options; + + return $this; + } + + /** + * Returns the stream context options. + * + * @return array + */ + public function getStreamOptions() + { + return $this->_params['stream_context_options']; + } + + /** + * Sets the source IP. + * + * @param string $source + * + * @return $this + */ + public function setSourceIp($source) + { + $this->_params['sourceIp'] = $source; + + return $this; + } + + /** + * Returns the IP used to connect to the destination. + * + * @return string + */ + public function getSourceIp() + { + return isset($this->_params['sourceIp']) ? $this->_params['sourceIp'] : null; + } + + /** + * Set ESMTP extension handlers. + * + * @param Swift_Transport_EsmtpHandler[] $handlers + * + * @return $this + */ + public function setExtensionHandlers(array $handlers) + { + $assoc = array(); + foreach ($handlers as $handler) { + $assoc[$handler->getHandledKeyword()] = $handler; + } + + @uasort($assoc, array($this, '_sortHandlers')); + $this->_handlers = $assoc; + $this->_setHandlerParams(); + + return $this; + } + + /** + * Get ESMTP extension handlers. + * + * @return Swift_Transport_EsmtpHandler[] + */ + public function getExtensionHandlers() + { + return array_values($this->_handlers); + } + + /** + * Run a command against the buffer, expecting the given response codes. + * + * If no response codes are given, the response will not be validated. + * If codes are given, an exception will be thrown on an invalid response. + * + * @param string $command + * @param int[] $codes + * @param string[] $failures An array of failures by-reference + * + * @return string + */ + public function executeCommand($command, $codes = array(), &$failures = null) + { + $failures = (array) $failures; + $stopSignal = false; + $response = null; + foreach ($this->_getActiveHandlers() as $handler) { + $response = $handler->onCommand( + $this, $command, $codes, $failures, $stopSignal + ); + if ($stopSignal) { + return $response; + } + } + + return parent::executeCommand($command, $codes, $failures); + } + + /** Mixin handling method for ESMTP handlers */ + public function __call($method, $args) + { + foreach ($this->_handlers as $handler) { + if (in_array(strtolower($method), + array_map('strtolower', (array) $handler->exposeMixinMethods()) + )) { + $return = call_user_func_array(array($handler, $method), $args); + // Allow fluid method calls + if (null === $return && substr($method, 0, 3) == 'set') { + return $this; + } else { + return $return; + } + } + } + trigger_error('Call to undefined method '.$method, E_USER_ERROR); + } + + /** Get the params to initialize the buffer */ + protected function _getBufferParams() + { + return $this->_params; + } + + /** Overridden to perform EHLO instead */ + protected function _doHeloCommand() + { + try { + $response = $this->executeCommand( + sprintf("EHLO %s\r\n", $this->_domain), array(250) + ); + } catch (Swift_TransportException $e) { + return parent::_doHeloCommand(); + } + + if ($this->_params['tls']) { + try { + $this->executeCommand("STARTTLS\r\n", array(220)); + + if (!$this->_buffer->startTLS()) { + throw new Swift_TransportException('Unable to connect with TLS encryption'); + } + + try { + $response = $this->executeCommand( + sprintf("EHLO %s\r\n", $this->_domain), array(250) + ); + } catch (Swift_TransportException $e) { + return parent::_doHeloCommand(); + } + } catch (Swift_TransportException $e) { + $this->_throwException($e); + } + } + + $this->_capabilities = $this->_getCapabilities($response); + $this->_setHandlerParams(); + foreach ($this->_getActiveHandlers() as $handler) { + $handler->afterEhlo($this); + } + } + + /** Overridden to add Extension support */ + protected function _doMailFromCommand($address) + { + $handlers = $this->_getActiveHandlers(); + $params = array(); + foreach ($handlers as $handler) { + $params = array_merge($params, (array) $handler->getMailParams()); + } + $paramStr = !empty($params) ? ' '.implode(' ', $params) : ''; + $this->executeCommand( + sprintf("MAIL FROM:<%s>%s\r\n", $address, $paramStr), array(250) + ); + } + + /** Overridden to add Extension support */ + protected function _doRcptToCommand($address) + { + $handlers = $this->_getActiveHandlers(); + $params = array(); + foreach ($handlers as $handler) { + $params = array_merge($params, (array) $handler->getRcptParams()); + } + $paramStr = !empty($params) ? ' '.implode(' ', $params) : ''; + $this->executeCommand( + sprintf("RCPT TO:<%s>%s\r\n", $address, $paramStr), array(250, 251, 252) + ); + } + + /** Determine ESMTP capabilities by function group */ + private function _getCapabilities($ehloResponse) + { + $capabilities = array(); + $ehloResponse = trim($ehloResponse); + $lines = explode("\r\n", $ehloResponse); + array_shift($lines); + foreach ($lines as $line) { + if (preg_match('/^[0-9]{3}[ -]([A-Z0-9-]+)((?:[ =].*)?)$/Di', $line, $matches)) { + $keyword = strtoupper($matches[1]); + $paramStr = strtoupper(ltrim($matches[2], ' =')); + $params = !empty($paramStr) ? explode(' ', $paramStr) : array(); + $capabilities[$keyword] = $params; + } + } + + return $capabilities; + } + + /** Set parameters which are used by each extension handler */ + private function _setHandlerParams() + { + foreach ($this->_handlers as $keyword => $handler) { + if (array_key_exists($keyword, $this->_capabilities)) { + $handler->setKeywordParams($this->_capabilities[$keyword]); + } + } + } + + /** Get ESMTP handlers which are currently ok to use */ + private function _getActiveHandlers() + { + $handlers = array(); + foreach ($this->_handlers as $keyword => $handler) { + if (array_key_exists($keyword, $this->_capabilities)) { + $handlers[] = $handler; + } + } + + return $handlers; + } + + /** Custom sort for extension handler ordering */ + private function _sortHandlers($a, $b) + { + return $a->getPriorityOver($b->getHandledKeyword()); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/FailoverTransport.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/FailoverTransport.php new file mode 100644 index 0000000..311a0f2 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/FailoverTransport.php @@ -0,0 +1,88 @@ +_transports); + $sent = 0; + $this->_lastUsedTransport = null; + + for ($i = 0; $i < $maxTransports + && $transport = $this->_getNextTransport(); ++$i) { + try { + if (!$transport->isStarted()) { + $transport->start(); + } + + if ($sent = $transport->send($message, $failedRecipients)) { + $this->_lastUsedTransport = $transport; + + return $sent; + } + } catch (Swift_TransportException $e) { + $this->_killCurrentTransport(); + } + } + + if (count($this->_transports) == 0) { + throw new Swift_TransportException( + 'All Transports in FailoverTransport failed, or no Transports available' + ); + } + + return $sent; + } + + protected function _getNextTransport() + { + if (!isset($this->_currentTransport)) { + $this->_currentTransport = parent::_getNextTransport(); + } + + return $this->_currentTransport; + } + + protected function _killCurrentTransport() + { + $this->_currentTransport = null; + parent::_killCurrentTransport(); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/IoBuffer.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/IoBuffer.php new file mode 100644 index 0000000..af97adf --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/IoBuffer.php @@ -0,0 +1,67 @@ +_transports = $transports; + $this->_deadTransports = array(); + } + + /** + * Get $transports to delegate to. + * + * @return Swift_Transport[] + */ + public function getTransports() + { + return array_merge($this->_transports, $this->_deadTransports); + } + + /** + * Get the Transport used in the last successful send operation. + * + * @return Swift_Transport + */ + public function getLastUsedTransport() + { + return $this->_lastUsedTransport; + } + + /** + * Test if this Transport mechanism has started. + * + * @return bool + */ + public function isStarted() + { + return count($this->_transports) > 0; + } + + /** + * Start this Transport mechanism. + */ + public function start() + { + $this->_transports = array_merge($this->_transports, $this->_deadTransports); + } + + /** + * Stop this Transport mechanism. + */ + public function stop() + { + foreach ($this->_transports as $transport) { + $transport->stop(); + } + } + + /** + * Send the given Message. + * + * Recipient/sender data will be retrieved from the Message API. + * The return value is the number of recipients who were accepted for delivery. + * + * @param Swift_Mime_Message $message + * @param string[] $failedRecipients An array of failures by-reference + * + * @return int + */ + public function send(Swift_Mime_Message $message, &$failedRecipients = null) + { + $maxTransports = count($this->_transports); + $sent = 0; + $this->_lastUsedTransport = null; + + for ($i = 0; $i < $maxTransports + && $transport = $this->_getNextTransport(); ++$i) { + try { + if (!$transport->isStarted()) { + $transport->start(); + } + if ($sent = $transport->send($message, $failedRecipients)) { + $this->_lastUsedTransport = $transport; + break; + } + } catch (Swift_TransportException $e) { + $this->_killCurrentTransport(); + } + } + + if (count($this->_transports) == 0) { + throw new Swift_TransportException( + 'All Transports in LoadBalancedTransport failed, or no Transports available' + ); + } + + return $sent; + } + + /** + * Register a plugin. + * + * @param Swift_Events_EventListener $plugin + */ + public function registerPlugin(Swift_Events_EventListener $plugin) + { + foreach ($this->_transports as $transport) { + $transport->registerPlugin($plugin); + } + } + + /** + * Rotates the transport list around and returns the first instance. + * + * @return Swift_Transport + */ + protected function _getNextTransport() + { + if ($next = array_shift($this->_transports)) { + $this->_transports[] = $next; + } + + return $next; + } + + /** + * Tag the currently used (top of stack) transport as dead/useless. + */ + protected function _killCurrentTransport() + { + if ($transport = array_pop($this->_transports)) { + try { + $transport->stop(); + } catch (Exception $e) { + } + $this->_deadTransports[] = $transport; + } + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/MailInvoker.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/MailInvoker.php new file mode 100644 index 0000000..77489ce --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/MailInvoker.php @@ -0,0 +1,32 @@ +_invoker = $invoker; + $this->_eventDispatcher = $eventDispatcher; + } + + /** + * Not used. + */ + public function isStarted() + { + return false; + } + + /** + * Not used. + */ + public function start() + { + } + + /** + * Not used. + */ + public function stop() + { + } + + /** + * Set the additional parameters used on the mail() function. + * + * This string is formatted for sprintf() where %s is the sender address. + * + * @param string $params + * + * @return $this + */ + public function setExtraParams($params) + { + $this->_extraParams = $params; + + return $this; + } + + /** + * Get the additional parameters used on the mail() function. + * + * This string is formatted for sprintf() where %s is the sender address. + * + * @return string + */ + public function getExtraParams() + { + return $this->_extraParams; + } + + /** + * Send the given Message. + * + * Recipient/sender data will be retrieved from the Message API. + * The return value is the number of recipients who were accepted for delivery. + * + * @param Swift_Mime_Message $message + * @param string[] $failedRecipients An array of failures by-reference + * + * @return int + */ + public function send(Swift_Mime_Message $message, &$failedRecipients = null) + { + $failedRecipients = (array) $failedRecipients; + + if ($evt = $this->_eventDispatcher->createSendEvent($this, $message)) { + $this->_eventDispatcher->dispatchEvent($evt, 'beforeSendPerformed'); + if ($evt->bubbleCancelled()) { + return 0; + } + } + + $count = ( + count((array) $message->getTo()) + + count((array) $message->getCc()) + + count((array) $message->getBcc()) + ); + + $toHeader = $message->getHeaders()->get('To'); + $subjectHeader = $message->getHeaders()->get('Subject'); + + if (0 === $count) { + $this->_throwException(new Swift_TransportException('Cannot send message without a recipient')); + } + $to = $toHeader ? $toHeader->getFieldBody() : ''; + $subject = $subjectHeader ? $subjectHeader->getFieldBody() : ''; + + $reversePath = $this->_getReversePath($message); + + // Remove headers that would otherwise be duplicated + $message->getHeaders()->remove('To'); + $message->getHeaders()->remove('Subject'); + + $messageStr = $message->toString(); + + if ($toHeader) { + $message->getHeaders()->set($toHeader); + } + $message->getHeaders()->set($subjectHeader); + + // Separate headers from body + if (false !== $endHeaders = strpos($messageStr, "\r\n\r\n")) { + $headers = substr($messageStr, 0, $endHeaders)."\r\n"; //Keep last EOL + $body = substr($messageStr, $endHeaders + 4); + } else { + $headers = $messageStr."\r\n"; + $body = ''; + } + + unset($messageStr); + + if ("\r\n" != PHP_EOL) { + // Non-windows (not using SMTP) + $headers = str_replace("\r\n", PHP_EOL, $headers); + $subject = str_replace("\r\n", PHP_EOL, $subject); + $body = str_replace("\r\n", PHP_EOL, $body); + $to = str_replace("\r\n", PHP_EOL, $to); + } else { + // Windows, using SMTP + $headers = str_replace("\r\n.", "\r\n..", $headers); + $subject = str_replace("\r\n.", "\r\n..", $subject); + $body = str_replace("\r\n.", "\r\n..", $body); + $to = str_replace("\r\n.", "\r\n..", $to); + } + + if ($this->_invoker->mail($to, $subject, $body, $headers, $this->_formatExtraParams($this->_extraParams, $reversePath))) { + if ($evt) { + $evt->setResult(Swift_Events_SendEvent::RESULT_SUCCESS); + $evt->setFailedRecipients($failedRecipients); + $this->_eventDispatcher->dispatchEvent($evt, 'sendPerformed'); + } + } else { + $failedRecipients = array_merge( + $failedRecipients, + array_keys((array) $message->getTo()), + array_keys((array) $message->getCc()), + array_keys((array) $message->getBcc()) + ); + + if ($evt) { + $evt->setResult(Swift_Events_SendEvent::RESULT_FAILED); + $evt->setFailedRecipients($failedRecipients); + $this->_eventDispatcher->dispatchEvent($evt, 'sendPerformed'); + } + + $message->generateId(); + + $count = 0; + } + + return $count; + } + + /** + * Register a plugin. + * + * @param Swift_Events_EventListener $plugin + */ + public function registerPlugin(Swift_Events_EventListener $plugin) + { + $this->_eventDispatcher->bindEventListener($plugin); + } + + /** Throw a TransportException, first sending it to any listeners */ + protected function _throwException(Swift_TransportException $e) + { + if ($evt = $this->_eventDispatcher->createTransportExceptionEvent($this, $e)) { + $this->_eventDispatcher->dispatchEvent($evt, 'exceptionThrown'); + if (!$evt->bubbleCancelled()) { + throw $e; + } + } else { + throw $e; + } + } + + /** Determine the best-use reverse path for this message */ + private function _getReversePath(Swift_Mime_Message $message) + { + $return = $message->getReturnPath(); + $sender = $message->getSender(); + $from = $message->getFrom(); + $path = null; + if (!empty($return)) { + $path = $return; + } elseif (!empty($sender)) { + $keys = array_keys($sender); + $path = array_shift($keys); + } elseif (!empty($from)) { + $keys = array_keys($from); + $path = array_shift($keys); + } + + return $path; + } + + /** + * Fix CVE-2016-10074 by disallowing potentially unsafe shell characters. + * + * Note that escapeshellarg and escapeshellcmd are inadequate for our purposes, especially on Windows. + * + * @param string $string The string to be validated + * + * @return bool + */ + private function _isShellSafe($string) + { + // Future-proof + if (escapeshellcmd($string) !== $string || !in_array(escapeshellarg($string), array("'$string'", "\"$string\""))) { + return false; + } + + $length = strlen($string); + for ($i = 0; $i < $length; ++$i) { + $c = $string[$i]; + // All other characters have a special meaning in at least one common shell, including = and +. + // Full stop (.) has a special meaning in cmd.exe, but its impact should be negligible here. + // Note that this does permit non-Latin alphanumeric characters based on the current locale. + if (!ctype_alnum($c) && strpos('@_-.', $c) === false) { + return false; + } + } + + return true; + } + + /** + * Return php mail extra params to use for invoker->mail. + * + * @param $extraParams + * @param $reversePath + * + * @return string|null + */ + private function _formatExtraParams($extraParams, $reversePath) + { + if (false !== strpos($extraParams, '-f%s')) { + if (empty($reversePath) || false === $this->_isShellSafe($reversePath)) { + $extraParams = str_replace('-f%s', '', $extraParams); + } else { + $extraParams = sprintf($extraParams, $reversePath); + } + } + + return !empty($extraParams) ? $extraParams : null; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/NullTransport.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/NullTransport.php new file mode 100644 index 0000000..ad20e0e --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/NullTransport.php @@ -0,0 +1,93 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +/** + * Pretends messages have been sent, but just ignores them. + * + * @author Fabien Potencier + */ +class Swift_Transport_NullTransport implements Swift_Transport +{ + /** The event dispatcher from the plugin API */ + private $_eventDispatcher; + + /** + * Constructor. + */ + public function __construct(Swift_Events_EventDispatcher $eventDispatcher) + { + $this->_eventDispatcher = $eventDispatcher; + } + + /** + * Tests if this Transport mechanism has started. + * + * @return bool + */ + public function isStarted() + { + return true; + } + + /** + * Starts this Transport mechanism. + */ + public function start() + { + } + + /** + * Stops this Transport mechanism. + */ + public function stop() + { + } + + /** + * Sends the given message. + * + * @param Swift_Mime_Message $message + * @param string[] $failedRecipients An array of failures by-reference + * + * @return int The number of sent emails + */ + public function send(Swift_Mime_Message $message, &$failedRecipients = null) + { + if ($evt = $this->_eventDispatcher->createSendEvent($this, $message)) { + $this->_eventDispatcher->dispatchEvent($evt, 'beforeSendPerformed'); + if ($evt->bubbleCancelled()) { + return 0; + } + } + + if ($evt) { + $evt->setResult(Swift_Events_SendEvent::RESULT_SUCCESS); + $this->_eventDispatcher->dispatchEvent($evt, 'sendPerformed'); + } + + $count = ( + count((array) $message->getTo()) + + count((array) $message->getCc()) + + count((array) $message->getBcc()) + ); + + return $count; + } + + /** + * Register a plugin. + * + * @param Swift_Events_EventListener $plugin + */ + public function registerPlugin(Swift_Events_EventListener $plugin) + { + $this->_eventDispatcher->bindEventListener($plugin); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SendmailTransport.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SendmailTransport.php new file mode 100644 index 0000000..6430d5f --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SendmailTransport.php @@ -0,0 +1,160 @@ + 30, + 'blocking' => 1, + 'command' => '/usr/sbin/sendmail -bs', + 'type' => Swift_Transport_IoBuffer::TYPE_PROCESS, + ); + + /** + * Create a new SendmailTransport with $buf for I/O. + * + * @param Swift_Transport_IoBuffer $buf + * @param Swift_Events_EventDispatcher $dispatcher + */ + public function __construct(Swift_Transport_IoBuffer $buf, Swift_Events_EventDispatcher $dispatcher) + { + parent::__construct($buf, $dispatcher); + } + + /** + * Start the standalone SMTP session if running in -bs mode. + */ + public function start() + { + if (false !== strpos($this->getCommand(), ' -bs')) { + parent::start(); + } + } + + /** + * Set the command to invoke. + * + * If using -t mode you are strongly advised to include -oi or -i in the flags. + * For example: /usr/sbin/sendmail -oi -t + * Swift will append a -f flag if one is not present. + * + * The recommended mode is "-bs" since it is interactive and failure notifications + * are hence possible. + * + * @param string $command + * + * @return $this + */ + public function setCommand($command) + { + $this->_params['command'] = $command; + + return $this; + } + + /** + * Get the sendmail command which will be invoked. + * + * @return string + */ + public function getCommand() + { + return $this->_params['command']; + } + + /** + * Send the given Message. + * + * Recipient/sender data will be retrieved from the Message API. + * + * The return value is the number of recipients who were accepted for delivery. + * NOTE: If using 'sendmail -t' you will not be aware of any failures until + * they bounce (i.e. send() will always return 100% success). + * + * @param Swift_Mime_Message $message + * @param string[] $failedRecipients An array of failures by-reference + * + * @return int + */ + public function send(Swift_Mime_Message $message, &$failedRecipients = null) + { + $failedRecipients = (array) $failedRecipients; + $command = $this->getCommand(); + $buffer = $this->getBuffer(); + $count = 0; + + if (false !== strpos($command, ' -t')) { + if ($evt = $this->_eventDispatcher->createSendEvent($this, $message)) { + $this->_eventDispatcher->dispatchEvent($evt, 'beforeSendPerformed'); + if ($evt->bubbleCancelled()) { + return 0; + } + } + + if (false === strpos($command, ' -f')) { + $command .= ' -f'.escapeshellarg($this->_getReversePath($message)); + } + + $buffer->initialize(array_merge($this->_params, array('command' => $command))); + + if (false === strpos($command, ' -i') && false === strpos($command, ' -oi')) { + $buffer->setWriteTranslations(array("\r\n" => "\n", "\n." => "\n..")); + } else { + $buffer->setWriteTranslations(array("\r\n" => "\n")); + } + + $count = count((array) $message->getTo()) + + count((array) $message->getCc()) + + count((array) $message->getBcc()) + ; + $message->toByteStream($buffer); + $buffer->flushBuffers(); + $buffer->setWriteTranslations(array()); + $buffer->terminate(); + + if ($evt) { + $evt->setResult(Swift_Events_SendEvent::RESULT_SUCCESS); + $evt->setFailedRecipients($failedRecipients); + $this->_eventDispatcher->dispatchEvent($evt, 'sendPerformed'); + } + + $message->generateId(); + } elseif (false !== strpos($command, ' -bs')) { + $count = parent::send($message, $failedRecipients); + } else { + $this->_throwException(new Swift_TransportException( + 'Unsupported sendmail command flags ['.$command.']. '. + 'Must be one of "-bs" or "-t" but can include additional flags.' + )); + } + + return $count; + } + + /** Get the params to initialize the buffer */ + protected function _getBufferParams() + { + return $this->_params; + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SimpleMailInvoker.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SimpleMailInvoker.php new file mode 100644 index 0000000..4cab66b --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SimpleMailInvoker.php @@ -0,0 +1,39 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +/** + * Stores Messages in a queue. + * + * @author Fabien Potencier + */ +class Swift_Transport_SpoolTransport implements Swift_Transport +{ + /** The spool instance */ + private $_spool; + + /** The event dispatcher from the plugin API */ + private $_eventDispatcher; + + /** + * Constructor. + */ + public function __construct(Swift_Events_EventDispatcher $eventDispatcher, Swift_Spool $spool = null) + { + $this->_eventDispatcher = $eventDispatcher; + $this->_spool = $spool; + } + + /** + * Sets the spool object. + * + * @param Swift_Spool $spool + * + * @return $this + */ + public function setSpool(Swift_Spool $spool) + { + $this->_spool = $spool; + + return $this; + } + + /** + * Get the spool object. + * + * @return Swift_Spool + */ + public function getSpool() + { + return $this->_spool; + } + + /** + * Tests if this Transport mechanism has started. + * + * @return bool + */ + public function isStarted() + { + return true; + } + + /** + * Starts this Transport mechanism. + */ + public function start() + { + } + + /** + * Stops this Transport mechanism. + */ + public function stop() + { + } + + /** + * Sends the given message. + * + * @param Swift_Mime_Message $message + * @param string[] $failedRecipients An array of failures by-reference + * + * @return int The number of sent e-mail's + */ + public function send(Swift_Mime_Message $message, &$failedRecipients = null) + { + if ($evt = $this->_eventDispatcher->createSendEvent($this, $message)) { + $this->_eventDispatcher->dispatchEvent($evt, 'beforeSendPerformed'); + if ($evt->bubbleCancelled()) { + return 0; + } + } + + $success = $this->_spool->queueMessage($message); + + if ($evt) { + $evt->setResult($success ? Swift_Events_SendEvent::RESULT_SPOOLED : Swift_Events_SendEvent::RESULT_FAILED); + $this->_eventDispatcher->dispatchEvent($evt, 'sendPerformed'); + } + + return 1; + } + + /** + * Register a plugin. + * + * @param Swift_Events_EventListener $plugin + */ + public function registerPlugin(Swift_Events_EventListener $plugin) + { + $this->_eventDispatcher->bindEventListener($plugin); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php new file mode 100644 index 0000000..9f2fff4 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php @@ -0,0 +1,325 @@ +_replacementFactory = $replacementFactory; + } + + /** + * Perform any initialization needed, using the given $params. + * + * Parameters will vary depending upon the type of IoBuffer used. + * + * @param array $params + */ + public function initialize(array $params) + { + $this->_params = $params; + switch ($params['type']) { + case self::TYPE_PROCESS: + $this->_establishProcessConnection(); + break; + case self::TYPE_SOCKET: + default: + $this->_establishSocketConnection(); + break; + } + } + + /** + * Set an individual param on the buffer (e.g. switching to SSL). + * + * @param string $param + * @param mixed $value + */ + public function setParam($param, $value) + { + if (isset($this->_stream)) { + switch ($param) { + case 'timeout': + if ($this->_stream) { + stream_set_timeout($this->_stream, $value); + } + break; + + case 'blocking': + if ($this->_stream) { + stream_set_blocking($this->_stream, 1); + } + } + } + $this->_params[$param] = $value; + } + + public function startTLS() + { + return stream_socket_enable_crypto($this->_stream, true, STREAM_CRYPTO_METHOD_TLS_CLIENT); + } + + /** + * Perform any shutdown logic needed. + */ + public function terminate() + { + if (isset($this->_stream)) { + switch ($this->_params['type']) { + case self::TYPE_PROCESS: + fclose($this->_in); + fclose($this->_out); + proc_close($this->_stream); + break; + case self::TYPE_SOCKET: + default: + fclose($this->_stream); + break; + } + } + $this->_stream = null; + $this->_out = null; + $this->_in = null; + } + + /** + * Set an array of string replacements which should be made on data written + * to the buffer. + * + * This could replace LF with CRLF for example. + * + * @param string[] $replacements + */ + public function setWriteTranslations(array $replacements) + { + foreach ($this->_translations as $search => $replace) { + if (!isset($replacements[$search])) { + $this->removeFilter($search); + unset($this->_translations[$search]); + } + } + + foreach ($replacements as $search => $replace) { + if (!isset($this->_translations[$search])) { + $this->addFilter( + $this->_replacementFactory->createFilter($search, $replace), $search + ); + $this->_translations[$search] = true; + } + } + } + + /** + * Get a line of output (including any CRLF). + * + * The $sequence number comes from any writes and may or may not be used + * depending upon the implementation. + * + * @param int $sequence of last write to scan from + * + * @throws Swift_IoException + * + * @return string + */ + public function readLine($sequence) + { + if (isset($this->_out) && !feof($this->_out)) { + $line = fgets($this->_out); + if (strlen($line) == 0) { + $metas = stream_get_meta_data($this->_out); + if ($metas['timed_out']) { + throw new Swift_IoException( + 'Connection to '. + $this->_getReadConnectionDescription(). + ' Timed Out' + ); + } + } + + return $line; + } + } + + /** + * Reads $length bytes from the stream into a string and moves the pointer + * through the stream by $length. + * + * If less bytes exist than are requested the remaining bytes are given instead. + * If no bytes are remaining at all, boolean false is returned. + * + * @param int $length + * + * @throws Swift_IoException + * + * @return string|bool + */ + public function read($length) + { + if (isset($this->_out) && !feof($this->_out)) { + $ret = fread($this->_out, $length); + if (strlen($ret) == 0) { + $metas = stream_get_meta_data($this->_out); + if ($metas['timed_out']) { + throw new Swift_IoException( + 'Connection to '. + $this->_getReadConnectionDescription(). + ' Timed Out' + ); + } + } + + return $ret; + } + } + + /** Not implemented */ + public function setReadPointer($byteOffset) + { + } + + /** Flush the stream contents */ + protected function _flush() + { + if (isset($this->_in)) { + fflush($this->_in); + } + } + + /** Write this bytes to the stream */ + protected function _commit($bytes) + { + if (isset($this->_in)) { + $bytesToWrite = strlen($bytes); + $totalBytesWritten = 0; + + while ($totalBytesWritten < $bytesToWrite) { + $bytesWritten = fwrite($this->_in, substr($bytes, $totalBytesWritten)); + if (false === $bytesWritten || 0 === $bytesWritten) { + break; + } + + $totalBytesWritten += $bytesWritten; + } + + if ($totalBytesWritten > 0) { + return ++$this->_sequence; + } + } + } + + /** + * Establishes a connection to a remote server. + */ + private function _establishSocketConnection() + { + $host = $this->_params['host']; + if (!empty($this->_params['protocol'])) { + $host = $this->_params['protocol'].'://'.$host; + } + $timeout = 15; + if (!empty($this->_params['timeout'])) { + $timeout = $this->_params['timeout']; + } + $options = array(); + if (!empty($this->_params['sourceIp'])) { + $options['socket']['bindto'] = $this->_params['sourceIp'].':0'; + } + if (isset($this->_params['stream_context_options'])) { + $options = array_merge($options, $this->_params['stream_context_options']); + } + $streamContext = stream_context_create($options); + $this->_stream = @stream_socket_client($host.':'.$this->_params['port'], $errno, $errstr, $timeout, STREAM_CLIENT_CONNECT, $streamContext); + if (false === $this->_stream) { + throw new Swift_TransportException( + 'Connection could not be established with host '.$this->_params['host']. + ' ['.$errstr.' #'.$errno.']' + ); + } + if (!empty($this->_params['blocking'])) { + stream_set_blocking($this->_stream, 1); + } else { + stream_set_blocking($this->_stream, 0); + } + stream_set_timeout($this->_stream, $timeout); + $this->_in = &$this->_stream; + $this->_out = &$this->_stream; + } + + /** + * Opens a process for input/output. + */ + private function _establishProcessConnection() + { + $command = $this->_params['command']; + $descriptorSpec = array( + 0 => array('pipe', 'r'), + 1 => array('pipe', 'w'), + 2 => array('pipe', 'w'), + ); + $pipes = array(); + $this->_stream = proc_open($command, $descriptorSpec, $pipes); + stream_set_blocking($pipes[2], 0); + if ($err = stream_get_contents($pipes[2])) { + throw new Swift_TransportException( + 'Process could not be started ['.$err.']' + ); + } + $this->_in = &$pipes[0]; + $this->_out = &$pipes[1]; + } + + private function _getReadConnectionDescription() + { + switch ($this->_params['type']) { + case self::TYPE_PROCESS: + return 'Process '.$this->_params['command']; + break; + + case self::TYPE_SOCKET: + default: + $host = $this->_params['host']; + if (!empty($this->_params['protocol'])) { + $host = $this->_params['protocol'].'://'.$host; + } + $host .= ':'.$this->_params['port']; + + return $host; + break; + } + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/TransportException.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/TransportException.php new file mode 100644 index 0000000..4ae2412 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/classes/Swift/TransportException.php @@ -0,0 +1,29 @@ + + */ +class Swift_Validate +{ + /** + * Grammar Object. + * + * @var Swift_Mime_Grammar + */ + private static $grammar = null; + + /** + * Checks if an e-mail address matches the current grammars. + * + * @param string $email + * + * @return bool + */ + public static function email($email) + { + if (self::$grammar === null) { + self::$grammar = Swift_DependencyContainer::getInstance() + ->lookup('mime.grammar'); + } + + return (bool) preg_match( + '/^'.self::$grammar->getDefinition('addr-spec').'$/D', + $email + ); + } +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/dependency_maps/cache_deps.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/dependency_maps/cache_deps.php new file mode 100644 index 0000000..6023448 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/dependency_maps/cache_deps.php @@ -0,0 +1,23 @@ +register('cache') + ->asAliasOf('cache.array') + + ->register('tempdir') + ->asValue('/tmp') + + ->register('cache.null') + ->asSharedInstanceOf('Swift_KeyCache_NullKeyCache') + + ->register('cache.array') + ->asSharedInstanceOf('Swift_KeyCache_ArrayKeyCache') + ->withDependencies(array('cache.inputstream')) + + ->register('cache.disk') + ->asSharedInstanceOf('Swift_KeyCache_DiskKeyCache') + ->withDependencies(array('cache.inputstream', 'tempdir')) + + ->register('cache.inputstream') + ->asNewInstanceOf('Swift_KeyCache_SimpleKeyCacheInputStream') +; diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/dependency_maps/message_deps.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/dependency_maps/message_deps.php new file mode 100644 index 0000000..64d69d2 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/dependency_maps/message_deps.php @@ -0,0 +1,9 @@ +register('message.message') + ->asNewInstanceOf('Swift_Message') + + ->register('message.mimepart') + ->asNewInstanceOf('Swift_MimePart') +; diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/dependency_maps/mime_deps.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/dependency_maps/mime_deps.php new file mode 100644 index 0000000..d575e4f --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/dependency_maps/mime_deps.php @@ -0,0 +1,123 @@ +register('properties.charset') + ->asValue('utf-8') + + ->register('mime.grammar') + ->asSharedInstanceOf('Swift_Mime_Grammar') + + ->register('mime.message') + ->asNewInstanceOf('Swift_Mime_SimpleMessage') + ->withDependencies(array( + 'mime.headerset', + 'mime.qpcontentencoder', + 'cache', + 'mime.grammar', + 'properties.charset', + )) + + ->register('mime.part') + ->asNewInstanceOf('Swift_Mime_MimePart') + ->withDependencies(array( + 'mime.headerset', + 'mime.qpcontentencoder', + 'cache', + 'mime.grammar', + 'properties.charset', + )) + + ->register('mime.attachment') + ->asNewInstanceOf('Swift_Mime_Attachment') + ->withDependencies(array( + 'mime.headerset', + 'mime.base64contentencoder', + 'cache', + 'mime.grammar', + )) + ->addConstructorValue($swift_mime_types) + + ->register('mime.embeddedfile') + ->asNewInstanceOf('Swift_Mime_EmbeddedFile') + ->withDependencies(array( + 'mime.headerset', + 'mime.base64contentencoder', + 'cache', + 'mime.grammar', + )) + ->addConstructorValue($swift_mime_types) + + ->register('mime.headerfactory') + ->asNewInstanceOf('Swift_Mime_SimpleHeaderFactory') + ->withDependencies(array( + 'mime.qpheaderencoder', + 'mime.rfc2231encoder', + 'mime.grammar', + 'properties.charset', + )) + + ->register('mime.headerset') + ->asNewInstanceOf('Swift_Mime_SimpleHeaderSet') + ->withDependencies(array('mime.headerfactory', 'properties.charset')) + + ->register('mime.qpheaderencoder') + ->asNewInstanceOf('Swift_Mime_HeaderEncoder_QpHeaderEncoder') + ->withDependencies(array('mime.charstream')) + + ->register('mime.base64headerencoder') + ->asNewInstanceOf('Swift_Mime_HeaderEncoder_Base64HeaderEncoder') + ->withDependencies(array('mime.charstream')) + + ->register('mime.charstream') + ->asNewInstanceOf('Swift_CharacterStream_NgCharacterStream') + ->withDependencies(array('mime.characterreaderfactory', 'properties.charset')) + + ->register('mime.bytecanonicalizer') + ->asSharedInstanceOf('Swift_StreamFilters_ByteArrayReplacementFilter') + ->addConstructorValue(array(array(0x0D, 0x0A), array(0x0D), array(0x0A))) + ->addConstructorValue(array(array(0x0A), array(0x0A), array(0x0D, 0x0A))) + + ->register('mime.characterreaderfactory') + ->asSharedInstanceOf('Swift_CharacterReaderFactory_SimpleCharacterReaderFactory') + + ->register('mime.safeqpcontentencoder') + ->asNewInstanceOf('Swift_Mime_ContentEncoder_QpContentEncoder') + ->withDependencies(array('mime.charstream', 'mime.bytecanonicalizer')) + + ->register('mime.rawcontentencoder') + ->asNewInstanceOf('Swift_Mime_ContentEncoder_RawContentEncoder') + + ->register('mime.nativeqpcontentencoder') + ->withDependencies(array('properties.charset')) + ->asNewInstanceOf('Swift_Mime_ContentEncoder_NativeQpContentEncoder') + + ->register('mime.qpcontentencoderproxy') + ->asNewInstanceOf('Swift_Mime_ContentEncoder_QpContentEncoderProxy') + ->withDependencies(array('mime.safeqpcontentencoder', 'mime.nativeqpcontentencoder', 'properties.charset')) + + ->register('mime.7bitcontentencoder') + ->asNewInstanceOf('Swift_Mime_ContentEncoder_PlainContentEncoder') + ->addConstructorValue('7bit') + ->addConstructorValue(true) + + ->register('mime.8bitcontentencoder') + ->asNewInstanceOf('Swift_Mime_ContentEncoder_PlainContentEncoder') + ->addConstructorValue('8bit') + ->addConstructorValue(true) + + ->register('mime.base64contentencoder') + ->asSharedInstanceOf('Swift_Mime_ContentEncoder_Base64ContentEncoder') + + ->register('mime.rfc2231encoder') + ->asNewInstanceOf('Swift_Encoder_Rfc2231Encoder') + ->withDependencies(array('mime.charstream')) + + // As of PHP 5.4.7, the quoted_printable_encode() function behaves correctly. + // see https://github.com/php/php-src/commit/18bb426587d62f93c54c40bf8535eb8416603629 + ->register('mime.qpcontentencoder') + ->asAliasOf(PHP_VERSION_ID >= 50407 ? 'mime.qpcontentencoderproxy' : 'mime.safeqpcontentencoder') +; + +unset($swift_mime_types); diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/dependency_maps/transport_deps.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/dependency_maps/transport_deps.php new file mode 100644 index 0000000..77e432c --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/dependency_maps/transport_deps.php @@ -0,0 +1,76 @@ +register('transport.smtp') + ->asNewInstanceOf('Swift_Transport_EsmtpTransport') + ->withDependencies(array( + 'transport.buffer', + array('transport.authhandler'), + 'transport.eventdispatcher', + )) + + ->register('transport.sendmail') + ->asNewInstanceOf('Swift_Transport_SendmailTransport') + ->withDependencies(array( + 'transport.buffer', + 'transport.eventdispatcher', + )) + + ->register('transport.mail') + ->asNewInstanceOf('Swift_Transport_MailTransport') + ->withDependencies(array('transport.mailinvoker', 'transport.eventdispatcher')) + + ->register('transport.loadbalanced') + ->asNewInstanceOf('Swift_Transport_LoadBalancedTransport') + + ->register('transport.failover') + ->asNewInstanceOf('Swift_Transport_FailoverTransport') + + ->register('transport.spool') + ->asNewInstanceOf('Swift_Transport_SpoolTransport') + ->withDependencies(array('transport.eventdispatcher')) + + ->register('transport.null') + ->asNewInstanceOf('Swift_Transport_NullTransport') + ->withDependencies(array('transport.eventdispatcher')) + + ->register('transport.mailinvoker') + ->asSharedInstanceOf('Swift_Transport_SimpleMailInvoker') + + ->register('transport.buffer') + ->asNewInstanceOf('Swift_Transport_StreamBuffer') + ->withDependencies(array('transport.replacementfactory')) + + ->register('transport.authhandler') + ->asNewInstanceOf('Swift_Transport_Esmtp_AuthHandler') + ->withDependencies(array( + array( + 'transport.crammd5auth', + 'transport.loginauth', + 'transport.plainauth', + 'transport.ntlmauth', + 'transport.xoauth2auth', + ), + )) + + ->register('transport.crammd5auth') + ->asNewInstanceOf('Swift_Transport_Esmtp_Auth_CramMd5Authenticator') + + ->register('transport.loginauth') + ->asNewInstanceOf('Swift_Transport_Esmtp_Auth_LoginAuthenticator') + + ->register('transport.plainauth') + ->asNewInstanceOf('Swift_Transport_Esmtp_Auth_PlainAuthenticator') + + ->register('transport.xoauth2auth') + ->asNewInstanceOf('Swift_Transport_Esmtp_Auth_XOAuth2Authenticator') + + ->register('transport.ntlmauth') + ->asNewInstanceOf('Swift_Transport_Esmtp_Auth_NTLMAuthenticator') + + ->register('transport.eventdispatcher') + ->asNewInstanceOf('Swift_Events_SimpleEventDispatcher') + + ->register('transport.replacementfactory') + ->asSharedInstanceOf('Swift_StreamFilters_StringReplacementFilterFactory') +; diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/mime_types.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/mime_types.php new file mode 100644 index 0000000..2d7b98d --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/mime_types.php @@ -0,0 +1,1007 @@ + 'text/vnd.in3d.3dml', + '3ds' => 'image/x-3ds', + '3g2' => 'video/3gpp2', + '3gp' => 'video/3gpp', + '7z' => 'application/x-7z-compressed', + 'aab' => 'application/x-authorware-bin', + 'aac' => 'audio/x-aac', + 'aam' => 'application/x-authorware-map', + 'aas' => 'application/x-authorware-seg', + 'abw' => 'application/x-abiword', + 'ac' => 'application/pkix-attr-cert', + 'acc' => 'application/vnd.americandynamics.acc', + 'ace' => 'application/x-ace-compressed', + 'acu' => 'application/vnd.acucobol', + 'acutc' => 'application/vnd.acucorp', + 'adp' => 'audio/adpcm', + 'aep' => 'application/vnd.audiograph', + 'afm' => 'application/x-font-type1', + 'afp' => 'application/vnd.ibm.modcap', + 'ahead' => 'application/vnd.ahead.space', + 'ai' => 'application/postscript', + 'aif' => 'audio/x-aiff', + 'aifc' => 'audio/x-aiff', + 'aiff' => 'audio/x-aiff', + 'air' => 'application/vnd.adobe.air-application-installer-package+zip', + 'ait' => 'application/vnd.dvb.ait', + 'ami' => 'application/vnd.amiga.ami', + 'apk' => 'application/vnd.android.package-archive', + 'appcache' => 'text/cache-manifest', + 'apr' => 'application/vnd.lotus-approach', + 'aps' => 'application/postscript', + 'arc' => 'application/x-freearc', + 'asc' => 'application/pgp-signature', + 'asf' => 'video/x-ms-asf', + 'asm' => 'text/x-asm', + 'aso' => 'application/vnd.accpac.simply.aso', + 'asx' => 'video/x-ms-asf', + 'atc' => 'application/vnd.acucorp', + 'atom' => 'application/atom+xml', + 'atomcat' => 'application/atomcat+xml', + 'atomsvc' => 'application/atomsvc+xml', + 'atx' => 'application/vnd.antix.game-component', + 'au' => 'audio/basic', + 'avi' => 'video/x-msvideo', + 'aw' => 'application/applixware', + 'azf' => 'application/vnd.airzip.filesecure.azf', + 'azs' => 'application/vnd.airzip.filesecure.azs', + 'azw' => 'application/vnd.amazon.ebook', + 'bat' => 'application/x-msdownload', + 'bcpio' => 'application/x-bcpio', + 'bdf' => 'application/x-font-bdf', + 'bdm' => 'application/vnd.syncml.dm+wbxml', + 'bed' => 'application/vnd.realvnc.bed', + 'bh2' => 'application/vnd.fujitsu.oasysprs', + 'bin' => 'application/octet-stream', + 'blb' => 'application/x-blorb', + 'blorb' => 'application/x-blorb', + 'bmi' => 'application/vnd.bmi', + 'bmp' => 'image/bmp', + 'book' => 'application/vnd.framemaker', + 'box' => 'application/vnd.previewsystems.box', + 'boz' => 'application/x-bzip2', + 'bpk' => 'application/octet-stream', + 'btif' => 'image/prs.btif', + 'bz' => 'application/x-bzip', + 'bz2' => 'application/x-bzip2', + 'c' => 'text/x-c', + 'c11amc' => 'application/vnd.cluetrust.cartomobile-config', + 'c11amz' => 'application/vnd.cluetrust.cartomobile-config-pkg', + 'c4d' => 'application/vnd.clonk.c4group', + 'c4f' => 'application/vnd.clonk.c4group', + 'c4g' => 'application/vnd.clonk.c4group', + 'c4p' => 'application/vnd.clonk.c4group', + 'c4u' => 'application/vnd.clonk.c4group', + 'cab' => 'application/vnd.ms-cab-compressed', + 'caf' => 'audio/x-caf', + 'cap' => 'application/vnd.tcpdump.pcap', + 'car' => 'application/vnd.curl.car', + 'cat' => 'application/vnd.ms-pki.seccat', + 'cb7' => 'application/x-cbr', + 'cba' => 'application/x-cbr', + 'cbr' => 'application/x-cbr', + 'cbt' => 'application/x-cbr', + 'cbz' => 'application/x-cbr', + 'cc' => 'text/x-c', + 'cct' => 'application/x-director', + 'ccxml' => 'application/ccxml+xml', + 'cdbcmsg' => 'application/vnd.contact.cmsg', + 'cdf' => 'application/x-netcdf', + 'cdkey' => 'application/vnd.mediastation.cdkey', + 'cdmia' => 'application/cdmi-capability', + 'cdmic' => 'application/cdmi-container', + 'cdmid' => 'application/cdmi-domain', + 'cdmio' => 'application/cdmi-object', + 'cdmiq' => 'application/cdmi-queue', + 'cdx' => 'chemical/x-cdx', + 'cdxml' => 'application/vnd.chemdraw+xml', + 'cdy' => 'application/vnd.cinderella', + 'cer' => 'application/pkix-cert', + 'cfs' => 'application/x-cfs-compressed', + 'cgm' => 'image/cgm', + 'chat' => 'application/x-chat', + 'chm' => 'application/vnd.ms-htmlhelp', + 'chrt' => 'application/vnd.kde.kchart', + 'cif' => 'chemical/x-cif', + 'cii' => 'application/vnd.anser-web-certificate-issue-initiation', + 'cil' => 'application/vnd.ms-artgalry', + 'cla' => 'application/vnd.claymore', + 'class' => 'application/java-vm', + 'clkk' => 'application/vnd.crick.clicker.keyboard', + 'clkp' => 'application/vnd.crick.clicker.palette', + 'clkt' => 'application/vnd.crick.clicker.template', + 'clkw' => 'application/vnd.crick.clicker.wordbank', + 'clkx' => 'application/vnd.crick.clicker', + 'clp' => 'application/x-msclip', + 'cmc' => 'application/vnd.cosmocaller', + 'cmdf' => 'chemical/x-cmdf', + 'cml' => 'chemical/x-cml', + 'cmp' => 'application/vnd.yellowriver-custom-menu', + 'cmx' => 'image/x-cmx', + 'cod' => 'application/vnd.rim.cod', + 'com' => 'application/x-msdownload', + 'conf' => 'text/plain', + 'cpio' => 'application/x-cpio', + 'cpp' => 'text/x-c', + 'cpt' => 'application/mac-compactpro', + 'crd' => 'application/x-mscardfile', + 'crl' => 'application/pkix-crl', + 'crt' => 'application/x-x509-ca-cert', + 'csh' => 'application/x-csh', + 'csml' => 'chemical/x-csml', + 'csp' => 'application/vnd.commonspace', + 'css' => 'text/css', + 'cst' => 'application/x-director', + 'csv' => 'text/csv', + 'cu' => 'application/cu-seeme', + 'curl' => 'text/vnd.curl', + 'cww' => 'application/prs.cww', + 'cxt' => 'application/x-director', + 'cxx' => 'text/x-c', + 'dae' => 'model/vnd.collada+xml', + 'daf' => 'application/vnd.mobius.daf', + 'dart' => 'application/vnd.dart', + 'dataless' => 'application/vnd.fdsn.seed', + 'davmount' => 'application/davmount+xml', + 'dbk' => 'application/docbook+xml', + 'dcr' => 'application/x-director', + 'dcurl' => 'text/vnd.curl.dcurl', + 'dd2' => 'application/vnd.oma.dd2+xml', + 'ddd' => 'application/vnd.fujixerox.ddd', + 'deb' => 'application/x-debian-package', + 'def' => 'text/plain', + 'deploy' => 'application/octet-stream', + 'der' => 'application/x-x509-ca-cert', + 'dfac' => 'application/vnd.dreamfactory', + 'dgc' => 'application/x-dgc-compressed', + 'dic' => 'text/x-c', + 'dir' => 'application/x-director', + 'dis' => 'application/vnd.mobius.dis', + 'dist' => 'application/octet-stream', + 'distz' => 'application/octet-stream', + 'djv' => 'image/vnd.djvu', + 'djvu' => 'image/vnd.djvu', + 'dll' => 'application/x-msdownload', + 'dmg' => 'application/x-apple-diskimage', + 'dmp' => 'application/vnd.tcpdump.pcap', + 'dms' => 'application/octet-stream', + 'dna' => 'application/vnd.dna', + 'doc' => 'application/msword', + 'docm' => 'application/vnd.ms-word.document.macroenabled.12', + 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', + 'dot' => 'application/msword', + 'dotm' => 'application/vnd.ms-word.template.macroenabled.12', + 'dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', + 'dp' => 'application/vnd.osgi.dp', + 'dpg' => 'application/vnd.dpgraph', + 'dra' => 'audio/vnd.dra', + 'dsc' => 'text/prs.lines.tag', + 'dssc' => 'application/dssc+der', + 'dtb' => 'application/x-dtbook+xml', + 'dtd' => 'application/xml-dtd', + 'dts' => 'audio/vnd.dts', + 'dtshd' => 'audio/vnd.dts.hd', + 'dump' => 'application/octet-stream', + 'dvb' => 'video/vnd.dvb.file', + 'dvi' => 'application/x-dvi', + 'dwf' => 'model/vnd.dwf', + 'dwg' => 'image/vnd.dwg', + 'dxf' => 'image/vnd.dxf', + 'dxp' => 'application/vnd.spotfire.dxp', + 'dxr' => 'application/x-director', + 'ecelp4800' => 'audio/vnd.nuera.ecelp4800', + 'ecelp7470' => 'audio/vnd.nuera.ecelp7470', + 'ecelp9600' => 'audio/vnd.nuera.ecelp9600', + 'ecma' => 'application/ecmascript', + 'edm' => 'application/vnd.novadigm.edm', + 'edx' => 'application/vnd.novadigm.edx', + 'efif' => 'application/vnd.picsel', + 'ei6' => 'application/vnd.pg.osasli', + 'elc' => 'application/octet-stream', + 'emf' => 'application/x-msmetafile', + 'eml' => 'message/rfc822', + 'emma' => 'application/emma+xml', + 'emz' => 'application/x-msmetafile', + 'eol' => 'audio/vnd.digital-winds', + 'eot' => 'application/vnd.ms-fontobject', + 'eps' => 'application/postscript', + 'epub' => 'application/epub+zip', + 'es3' => 'application/vnd.eszigno3+xml', + 'esa' => 'application/vnd.osgi.subsystem', + 'esf' => 'application/vnd.epson.esf', + 'et3' => 'application/vnd.eszigno3+xml', + 'etx' => 'text/x-setext', + 'eva' => 'application/x-eva', + 'evy' => 'application/x-envoy', + 'exe' => 'application/x-msdownload', + 'exi' => 'application/exi', + 'ext' => 'application/vnd.novadigm.ext', + 'ez' => 'application/andrew-inset', + 'ez2' => 'application/vnd.ezpix-album', + 'ez3' => 'application/vnd.ezpix-package', + 'f' => 'text/x-fortran', + 'f4v' => 'video/x-f4v', + 'f77' => 'text/x-fortran', + 'f90' => 'text/x-fortran', + 'fbs' => 'image/vnd.fastbidsheet', + 'fcdt' => 'application/vnd.adobe.formscentral.fcdt', + 'fcs' => 'application/vnd.isac.fcs', + 'fdf' => 'application/vnd.fdf', + 'fe_launch' => 'application/vnd.denovo.fcselayout-link', + 'fg5' => 'application/vnd.fujitsu.oasysgp', + 'fgd' => 'application/x-director', + 'fh' => 'image/x-freehand', + 'fh4' => 'image/x-freehand', + 'fh5' => 'image/x-freehand', + 'fh7' => 'image/x-freehand', + 'fhc' => 'image/x-freehand', + 'fig' => 'application/x-xfig', + 'flac' => 'audio/x-flac', + 'fli' => 'video/x-fli', + 'flo' => 'application/vnd.micrografx.flo', + 'flv' => 'video/x-flv', + 'flw' => 'application/vnd.kde.kivio', + 'flx' => 'text/vnd.fmi.flexstor', + 'fly' => 'text/vnd.fly', + 'fm' => 'application/vnd.framemaker', + 'fnc' => 'application/vnd.frogans.fnc', + 'for' => 'text/x-fortran', + 'fpx' => 'image/vnd.fpx', + 'frame' => 'application/vnd.framemaker', + 'fsc' => 'application/vnd.fsc.weblaunch', + 'fst' => 'image/vnd.fst', + 'ftc' => 'application/vnd.fluxtime.clip', + 'fti' => 'application/vnd.anser-web-funds-transfer-initiation', + 'fvt' => 'video/vnd.fvt', + 'fxp' => 'application/vnd.adobe.fxp', + 'fxpl' => 'application/vnd.adobe.fxp', + 'fzs' => 'application/vnd.fuzzysheet', + 'g2w' => 'application/vnd.geoplan', + 'g3' => 'image/g3fax', + 'g3w' => 'application/vnd.geospace', + 'gac' => 'application/vnd.groove-account', + 'gam' => 'application/x-tads', + 'gbr' => 'application/rpki-ghostbusters', + 'gca' => 'application/x-gca-compressed', + 'gdl' => 'model/vnd.gdl', + 'geo' => 'application/vnd.dynageo', + 'gex' => 'application/vnd.geometry-explorer', + 'ggb' => 'application/vnd.geogebra.file', + 'ggt' => 'application/vnd.geogebra.tool', + 'ghf' => 'application/vnd.groove-help', + 'gif' => 'image/gif', + 'gim' => 'application/vnd.groove-identity-message', + 'gml' => 'application/gml+xml', + 'gmx' => 'application/vnd.gmx', + 'gnumeric' => 'application/x-gnumeric', + 'gph' => 'application/vnd.flographit', + 'gpx' => 'application/gpx+xml', + 'gqf' => 'application/vnd.grafeq', + 'gqs' => 'application/vnd.grafeq', + 'gram' => 'application/srgs', + 'gramps' => 'application/x-gramps-xml', + 'gre' => 'application/vnd.geometry-explorer', + 'grv' => 'application/vnd.groove-injector', + 'grxml' => 'application/srgs+xml', + 'gsf' => 'application/x-font-ghostscript', + 'gtar' => 'application/x-gtar', + 'gtm' => 'application/vnd.groove-tool-message', + 'gtw' => 'model/vnd.gtw', + 'gv' => 'text/vnd.graphviz', + 'gxf' => 'application/gxf', + 'gxt' => 'application/vnd.geonext', + 'gz' => 'application/x-gzip', + 'h' => 'text/x-c', + 'h261' => 'video/h261', + 'h263' => 'video/h263', + 'h264' => 'video/h264', + 'hal' => 'application/vnd.hal+xml', + 'hbci' => 'application/vnd.hbci', + 'hdf' => 'application/x-hdf', + 'hh' => 'text/x-c', + 'hlp' => 'application/winhlp', + 'hpgl' => 'application/vnd.hp-hpgl', + 'hpid' => 'application/vnd.hp-hpid', + 'hps' => 'application/vnd.hp-hps', + 'hqx' => 'application/mac-binhex40', + 'htke' => 'application/vnd.kenameaapp', + 'htm' => 'text/html', + 'html' => 'text/html', + 'hvd' => 'application/vnd.yamaha.hv-dic', + 'hvp' => 'application/vnd.yamaha.hv-voice', + 'hvs' => 'application/vnd.yamaha.hv-script', + 'i2g' => 'application/vnd.intergeo', + 'icc' => 'application/vnd.iccprofile', + 'ice' => 'x-conference/x-cooltalk', + 'icm' => 'application/vnd.iccprofile', + 'ico' => 'image/x-icon', + 'ics' => 'text/calendar', + 'ief' => 'image/ief', + 'ifb' => 'text/calendar', + 'ifm' => 'application/vnd.shana.informed.formdata', + 'iges' => 'model/iges', + 'igl' => 'application/vnd.igloader', + 'igm' => 'application/vnd.insors.igm', + 'igs' => 'model/iges', + 'igx' => 'application/vnd.micrografx.igx', + 'iif' => 'application/vnd.shana.informed.interchange', + 'imp' => 'application/vnd.accpac.simply.imp', + 'ims' => 'application/vnd.ms-ims', + 'in' => 'text/plain', + 'ink' => 'application/inkml+xml', + 'inkml' => 'application/inkml+xml', + 'install' => 'application/x-install-instructions', + 'iota' => 'application/vnd.astraea-software.iota', + 'ipfix' => 'application/ipfix', + 'ipk' => 'application/vnd.shana.informed.package', + 'irm' => 'application/vnd.ibm.rights-management', + 'irp' => 'application/vnd.irepository.package+xml', + 'iso' => 'application/x-iso9660-image', + 'itp' => 'application/vnd.shana.informed.formtemplate', + 'ivp' => 'application/vnd.immervision-ivp', + 'ivu' => 'application/vnd.immervision-ivu', + 'jad' => 'text/vnd.sun.j2me.app-descriptor', + 'jam' => 'application/vnd.jam', + 'jar' => 'application/java-archive', + 'java' => 'text/x-java-source', + 'jisp' => 'application/vnd.jisp', + 'jlt' => 'application/vnd.hp-jlyt', + 'jnlp' => 'application/x-java-jnlp-file', + 'joda' => 'application/vnd.joost.joda-archive', + 'jpe' => 'image/jpeg', + 'jpeg' => 'image/jpeg', + 'jpg' => 'image/jpeg', + 'jpgm' => 'video/jpm', + 'jpgv' => 'video/jpeg', + 'jpm' => 'video/jpm', + 'js' => 'application/javascript', + 'json' => 'application/json', + 'jsonml' => 'application/jsonml+json', + 'kar' => 'audio/midi', + 'karbon' => 'application/vnd.kde.karbon', + 'kfo' => 'application/vnd.kde.kformula', + 'kia' => 'application/vnd.kidspiration', + 'kml' => 'application/vnd.google-earth.kml+xml', + 'kmz' => 'application/vnd.google-earth.kmz', + 'kne' => 'application/vnd.kinar', + 'knp' => 'application/vnd.kinar', + 'kon' => 'application/vnd.kde.kontour', + 'kpr' => 'application/vnd.kde.kpresenter', + 'kpt' => 'application/vnd.kde.kpresenter', + 'kpxx' => 'application/vnd.ds-keypoint', + 'ksp' => 'application/vnd.kde.kspread', + 'ktr' => 'application/vnd.kahootz', + 'ktx' => 'image/ktx', + 'ktz' => 'application/vnd.kahootz', + 'kwd' => 'application/vnd.kde.kword', + 'kwt' => 'application/vnd.kde.kword', + 'lasxml' => 'application/vnd.las.las+xml', + 'latex' => 'application/x-latex', + 'lbd' => 'application/vnd.llamagraphics.life-balance.desktop', + 'lbe' => 'application/vnd.llamagraphics.life-balance.exchange+xml', + 'les' => 'application/vnd.hhe.lesson-player', + 'lha' => 'application/x-lzh-compressed', + 'link66' => 'application/vnd.route66.link66+xml', + 'list' => 'text/plain', + 'list3820' => 'application/vnd.ibm.modcap', + 'listafp' => 'application/vnd.ibm.modcap', + 'lnk' => 'application/x-ms-shortcut', + 'log' => 'text/plain', + 'lostxml' => 'application/lost+xml', + 'lrf' => 'application/octet-stream', + 'lrm' => 'application/vnd.ms-lrm', + 'ltf' => 'application/vnd.frogans.ltf', + 'lvp' => 'audio/vnd.lucent.voice', + 'lwp' => 'application/vnd.lotus-wordpro', + 'lzh' => 'application/x-lzh-compressed', + 'm13' => 'application/x-msmediaview', + 'm14' => 'application/x-msmediaview', + 'm1v' => 'video/mpeg', + 'm21' => 'application/mp21', + 'm2a' => 'audio/mpeg', + 'm2v' => 'video/mpeg', + 'm3a' => 'audio/mpeg', + 'm3u' => 'audio/x-mpegurl', + 'm3u8' => 'application/vnd.apple.mpegurl', + 'm4a' => 'audio/mp4', + 'm4u' => 'video/vnd.mpegurl', + 'm4v' => 'video/x-m4v', + 'ma' => 'application/mathematica', + 'mads' => 'application/mads+xml', + 'mag' => 'application/vnd.ecowin.chart', + 'maker' => 'application/vnd.framemaker', + 'man' => 'text/troff', + 'mar' => 'application/octet-stream', + 'mathml' => 'application/mathml+xml', + 'mb' => 'application/mathematica', + 'mbk' => 'application/vnd.mobius.mbk', + 'mbox' => 'application/mbox', + 'mc1' => 'application/vnd.medcalcdata', + 'mcd' => 'application/vnd.mcd', + 'mcurl' => 'text/vnd.curl.mcurl', + 'mdb' => 'application/x-msaccess', + 'mdi' => 'image/vnd.ms-modi', + 'me' => 'text/troff', + 'mesh' => 'model/mesh', + 'meta4' => 'application/metalink4+xml', + 'metalink' => 'application/metalink+xml', + 'mets' => 'application/mets+xml', + 'mfm' => 'application/vnd.mfmp', + 'mft' => 'application/rpki-manifest', + 'mgp' => 'application/vnd.osgeo.mapguide.package', + 'mgz' => 'application/vnd.proteus.magazine', + 'mid' => 'audio/midi', + 'midi' => 'audio/midi', + 'mie' => 'application/x-mie', + 'mif' => 'application/vnd.mif', + 'mime' => 'message/rfc822', + 'mj2' => 'video/mj2', + 'mjp2' => 'video/mj2', + 'mk3d' => 'video/x-matroska', + 'mka' => 'audio/x-matroska', + 'mks' => 'video/x-matroska', + 'mkv' => 'video/x-matroska', + 'mlp' => 'application/vnd.dolby.mlp', + 'mmd' => 'application/vnd.chipnuts.karaoke-mmd', + 'mmf' => 'application/vnd.smaf', + 'mmr' => 'image/vnd.fujixerox.edmics-mmr', + 'mng' => 'video/x-mng', + 'mny' => 'application/x-msmoney', + 'mobi' => 'application/x-mobipocket-ebook', + 'mods' => 'application/mods+xml', + 'mov' => 'video/quicktime', + 'movie' => 'video/x-sgi-movie', + 'mp2' => 'audio/mpeg', + 'mp21' => 'application/mp21', + 'mp2a' => 'audio/mpeg', + 'mp3' => 'audio/mpeg', + 'mp4' => 'video/mp4', + 'mp4a' => 'audio/mp4', + 'mp4s' => 'application/mp4', + 'mp4v' => 'video/mp4', + 'mpc' => 'application/vnd.mophun.certificate', + 'mpe' => 'video/mpeg', + 'mpeg' => 'video/mpeg', + 'mpg' => 'video/mpeg', + 'mpg4' => 'video/mp4', + 'mpga' => 'audio/mpeg', + 'mpkg' => 'application/vnd.apple.installer+xml', + 'mpm' => 'application/vnd.blueice.multipass', + 'mpn' => 'application/vnd.mophun.application', + 'mpp' => 'application/vnd.ms-project', + 'mpt' => 'application/vnd.ms-project', + 'mpy' => 'application/vnd.ibm.minipay', + 'mqy' => 'application/vnd.mobius.mqy', + 'mrc' => 'application/marc', + 'mrcx' => 'application/marcxml+xml', + 'ms' => 'text/troff', + 'mscml' => 'application/mediaservercontrol+xml', + 'mseed' => 'application/vnd.fdsn.mseed', + 'mseq' => 'application/vnd.mseq', + 'msf' => 'application/vnd.epson.msf', + 'msh' => 'model/mesh', + 'msi' => 'application/x-msdownload', + 'msl' => 'application/vnd.mobius.msl', + 'msty' => 'application/vnd.muvee.style', + 'mts' => 'model/vnd.mts', + 'mus' => 'application/vnd.musician', + 'musicxml' => 'application/vnd.recordare.musicxml+xml', + 'mvb' => 'application/x-msmediaview', + 'mwf' => 'application/vnd.mfer', + 'mxf' => 'application/mxf', + 'mxl' => 'application/vnd.recordare.musicxml', + 'mxml' => 'application/xv+xml', + 'mxs' => 'application/vnd.triscape.mxs', + 'mxu' => 'video/vnd.mpegurl', + 'n-gage' => 'application/vnd.nokia.n-gage.symbian.install', + 'n3' => 'text/n3', + 'nb' => 'application/mathematica', + 'nbp' => 'application/vnd.wolfram.player', + 'nc' => 'application/x-netcdf', + 'ncx' => 'application/x-dtbncx+xml', + 'nfo' => 'text/x-nfo', + 'ngdat' => 'application/vnd.nokia.n-gage.data', + 'nitf' => 'application/vnd.nitf', + 'nlu' => 'application/vnd.neurolanguage.nlu', + 'nml' => 'application/vnd.enliven', + 'nnd' => 'application/vnd.noblenet-directory', + 'nns' => 'application/vnd.noblenet-sealer', + 'nnw' => 'application/vnd.noblenet-web', + 'npx' => 'image/vnd.net-fpx', + 'nsc' => 'application/x-conference', + 'nsf' => 'application/vnd.lotus-notes', + 'ntf' => 'application/vnd.nitf', + 'nzb' => 'application/x-nzb', + 'oa2' => 'application/vnd.fujitsu.oasys2', + 'oa3' => 'application/vnd.fujitsu.oasys3', + 'oas' => 'application/vnd.fujitsu.oasys', + 'obd' => 'application/x-msbinder', + 'obj' => 'application/x-tgif', + 'oda' => 'application/oda', + 'odb' => 'application/vnd.oasis.opendocument.database', + 'odc' => 'application/vnd.oasis.opendocument.chart', + 'odf' => 'application/vnd.oasis.opendocument.formula', + 'odft' => 'application/vnd.oasis.opendocument.formula-template', + 'odg' => 'application/vnd.oasis.opendocument.graphics', + 'odi' => 'application/vnd.oasis.opendocument.image', + 'odm' => 'application/vnd.oasis.opendocument.text-master', + 'odp' => 'application/vnd.oasis.opendocument.presentation', + 'ods' => 'application/vnd.oasis.opendocument.spreadsheet', + 'odt' => 'application/vnd.oasis.opendocument.text', + 'oga' => 'audio/ogg', + 'ogg' => 'audio/ogg', + 'ogv' => 'video/ogg', + 'ogx' => 'application/ogg', + 'omdoc' => 'application/omdoc+xml', + 'onepkg' => 'application/onenote', + 'onetmp' => 'application/onenote', + 'onetoc' => 'application/onenote', + 'onetoc2' => 'application/onenote', + 'opf' => 'application/oebps-package+xml', + 'opml' => 'text/x-opml', + 'oprc' => 'application/vnd.palm', + 'org' => 'application/vnd.lotus-organizer', + 'osf' => 'application/vnd.yamaha.openscoreformat', + 'osfpvg' => 'application/vnd.yamaha.openscoreformat.osfpvg+xml', + 'otc' => 'application/vnd.oasis.opendocument.chart-template', + 'otf' => 'application/x-font-otf', + 'otg' => 'application/vnd.oasis.opendocument.graphics-template', + 'oth' => 'application/vnd.oasis.opendocument.text-web', + 'oti' => 'application/vnd.oasis.opendocument.image-template', + 'otp' => 'application/vnd.oasis.opendocument.presentation-template', + 'ots' => 'application/vnd.oasis.opendocument.spreadsheet-template', + 'ott' => 'application/vnd.oasis.opendocument.text-template', + 'oxps' => 'application/oxps', + 'oxt' => 'application/vnd.openofficeorg.extension', + 'p' => 'text/x-pascal', + 'p10' => 'application/pkcs10', + 'p12' => 'application/x-pkcs12', + 'p7b' => 'application/x-pkcs7-certificates', + 'p7c' => 'application/pkcs7-mime', + 'p7m' => 'application/pkcs7-mime', + 'p7r' => 'application/x-pkcs7-certreqresp', + 'p7s' => 'application/pkcs7-signature', + 'p8' => 'application/pkcs8', + 'pas' => 'text/x-pascal', + 'paw' => 'application/vnd.pawaafile', + 'pbd' => 'application/vnd.powerbuilder6', + 'pbm' => 'image/x-portable-bitmap', + 'pcap' => 'application/vnd.tcpdump.pcap', + 'pcf' => 'application/x-font-pcf', + 'pcl' => 'application/vnd.hp-pcl', + 'pclxl' => 'application/vnd.hp-pclxl', + 'pct' => 'image/x-pict', + 'pcurl' => 'application/vnd.curl.pcurl', + 'pcx' => 'image/x-pcx', + 'pdb' => 'application/vnd.palm', + 'pdf' => 'application/pdf', + 'pfa' => 'application/x-font-type1', + 'pfb' => 'application/x-font-type1', + 'pfm' => 'application/x-font-type1', + 'pfr' => 'application/font-tdpfr', + 'pfx' => 'application/x-pkcs12', + 'pgm' => 'image/x-portable-graymap', + 'pgn' => 'application/x-chess-pgn', + 'pgp' => 'application/pgp-encrypted', + 'php' => 'application/x-php', + 'php3' => 'application/x-php', + 'php4' => 'application/x-php', + 'php5' => 'application/x-php', + 'pic' => 'image/x-pict', + 'pkg' => 'application/octet-stream', + 'pki' => 'application/pkixcmp', + 'pkipath' => 'application/pkix-pkipath', + 'plb' => 'application/vnd.3gpp.pic-bw-large', + 'plc' => 'application/vnd.mobius.plc', + 'plf' => 'application/vnd.pocketlearn', + 'pls' => 'application/pls+xml', + 'pml' => 'application/vnd.ctc-posml', + 'png' => 'image/png', + 'pnm' => 'image/x-portable-anymap', + 'portpkg' => 'application/vnd.macports.portpkg', + 'pot' => 'application/vnd.ms-powerpoint', + 'potm' => 'application/vnd.ms-powerpoint.template.macroenabled.12', + 'potx' => 'application/vnd.openxmlformats-officedocument.presentationml.template', + 'ppam' => 'application/vnd.ms-powerpoint.addin.macroenabled.12', + 'ppd' => 'application/vnd.cups-ppd', + 'ppm' => 'image/x-portable-pixmap', + 'pps' => 'application/vnd.ms-powerpoint', + 'ppsm' => 'application/vnd.ms-powerpoint.slideshow.macroenabled.12', + 'ppsx' => 'application/vnd.openxmlformats-officedocument.presentationml.slideshow', + 'ppt' => 'application/vnd.ms-powerpoint', + 'pptm' => 'application/vnd.ms-powerpoint.presentation.macroenabled.12', + 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation', + 'pqa' => 'application/vnd.palm', + 'prc' => 'application/x-mobipocket-ebook', + 'pre' => 'application/vnd.lotus-freelance', + 'prf' => 'application/pics-rules', + 'ps' => 'application/postscript', + 'psb' => 'application/vnd.3gpp.pic-bw-small', + 'psd' => 'image/vnd.adobe.photoshop', + 'psf' => 'application/x-font-linux-psf', + 'pskcxml' => 'application/pskc+xml', + 'ptid' => 'application/vnd.pvi.ptid1', + 'pub' => 'application/x-mspublisher', + 'pvb' => 'application/vnd.3gpp.pic-bw-var', + 'pwn' => 'application/vnd.3m.post-it-notes', + 'pya' => 'audio/vnd.ms-playready.media.pya', + 'pyv' => 'video/vnd.ms-playready.media.pyv', + 'qam' => 'application/vnd.epson.quickanime', + 'qbo' => 'application/vnd.intu.qbo', + 'qfx' => 'application/vnd.intu.qfx', + 'qps' => 'application/vnd.publishare-delta-tree', + 'qt' => 'video/quicktime', + 'qwd' => 'application/vnd.quark.quarkxpress', + 'qwt' => 'application/vnd.quark.quarkxpress', + 'qxb' => 'application/vnd.quark.quarkxpress', + 'qxd' => 'application/vnd.quark.quarkxpress', + 'qxl' => 'application/vnd.quark.quarkxpress', + 'qxt' => 'application/vnd.quark.quarkxpress', + 'ra' => 'audio/x-pn-realaudio', + 'ram' => 'audio/x-pn-realaudio', + 'rar' => 'application/x-rar-compressed', + 'ras' => 'image/x-cmu-raster', + 'rcprofile' => 'application/vnd.ipunplugged.rcprofile', + 'rdf' => 'application/rdf+xml', + 'rdz' => 'application/vnd.data-vision.rdz', + 'rep' => 'application/vnd.businessobjects', + 'res' => 'application/x-dtbresource+xml', + 'rgb' => 'image/x-rgb', + 'rif' => 'application/reginfo+xml', + 'rip' => 'audio/vnd.rip', + 'ris' => 'application/x-research-info-systems', + 'rl' => 'application/resource-lists+xml', + 'rlc' => 'image/vnd.fujixerox.edmics-rlc', + 'rld' => 'application/resource-lists-diff+xml', + 'rm' => 'application/vnd.rn-realmedia', + 'rmi' => 'audio/midi', + 'rmp' => 'audio/x-pn-realaudio-plugin', + 'rms' => 'application/vnd.jcp.javame.midlet-rms', + 'rmvb' => 'application/vnd.rn-realmedia-vbr', + 'rnc' => 'application/relax-ng-compact-syntax', + 'roa' => 'application/rpki-roa', + 'roff' => 'text/troff', + 'rp9' => 'application/vnd.cloanto.rp9', + 'rpss' => 'application/vnd.nokia.radio-presets', + 'rpst' => 'application/vnd.nokia.radio-preset', + 'rq' => 'application/sparql-query', + 'rs' => 'application/rls-services+xml', + 'rsd' => 'application/rsd+xml', + 'rss' => 'application/rss+xml', + 'rtf' => 'application/rtf', + 'rtx' => 'text/richtext', + 's' => 'text/x-asm', + 's3m' => 'audio/s3m', + 'saf' => 'application/vnd.yamaha.smaf-audio', + 'sbml' => 'application/sbml+xml', + 'sc' => 'application/vnd.ibm.secure-container', + 'scd' => 'application/x-msschedule', + 'scm' => 'application/vnd.lotus-screencam', + 'scq' => 'application/scvp-cv-request', + 'scs' => 'application/scvp-cv-response', + 'scurl' => 'text/vnd.curl.scurl', + 'sda' => 'application/vnd.stardivision.draw', + 'sdc' => 'application/vnd.stardivision.calc', + 'sdd' => 'application/vnd.stardivision.impress', + 'sdkd' => 'application/vnd.solent.sdkm+xml', + 'sdkm' => 'application/vnd.solent.sdkm+xml', + 'sdp' => 'application/sdp', + 'sdw' => 'application/vnd.stardivision.writer', + 'see' => 'application/vnd.seemail', + 'seed' => 'application/vnd.fdsn.seed', + 'sema' => 'application/vnd.sema', + 'semd' => 'application/vnd.semd', + 'semf' => 'application/vnd.semf', + 'ser' => 'application/java-serialized-object', + 'setpay' => 'application/set-payment-initiation', + 'setreg' => 'application/set-registration-initiation', + 'sfd-hdstx' => 'application/vnd.hydrostatix.sof-data', + 'sfs' => 'application/vnd.spotfire.sfs', + 'sfv' => 'text/x-sfv', + 'sgi' => 'image/sgi', + 'sgl' => 'application/vnd.stardivision.writer-global', + 'sgm' => 'text/sgml', + 'sgml' => 'text/sgml', + 'sh' => 'application/x-sh', + 'shar' => 'application/x-shar', + 'shf' => 'application/shf+xml', + 'sid' => 'image/x-mrsid-image', + 'sig' => 'application/pgp-signature', + 'sil' => 'audio/silk', + 'silo' => 'model/mesh', + 'sis' => 'application/vnd.symbian.install', + 'sisx' => 'application/vnd.symbian.install', + 'sit' => 'application/x-stuffit', + 'sitx' => 'application/x-stuffitx', + 'skd' => 'application/vnd.koan', + 'skm' => 'application/vnd.koan', + 'skp' => 'application/vnd.koan', + 'skt' => 'application/vnd.koan', + 'sldm' => 'application/vnd.ms-powerpoint.slide.macroenabled.12', + 'sldx' => 'application/vnd.openxmlformats-officedocument.presentationml.slide', + 'slt' => 'application/vnd.epson.salt', + 'sm' => 'application/vnd.stepmania.stepchart', + 'smf' => 'application/vnd.stardivision.math', + 'smi' => 'application/smil+xml', + 'smil' => 'application/smil+xml', + 'smv' => 'video/x-smv', + 'smzip' => 'application/vnd.stepmania.package', + 'snd' => 'audio/basic', + 'snf' => 'application/x-font-snf', + 'so' => 'application/octet-stream', + 'spc' => 'application/x-pkcs7-certificates', + 'spf' => 'application/vnd.yamaha.smaf-phrase', + 'spl' => 'application/x-futuresplash', + 'spot' => 'text/vnd.in3d.spot', + 'spp' => 'application/scvp-vp-response', + 'spq' => 'application/scvp-vp-request', + 'spx' => 'audio/ogg', + 'sql' => 'application/x-sql', + 'src' => 'application/x-wais-source', + 'srt' => 'application/x-subrip', + 'sru' => 'application/sru+xml', + 'srx' => 'application/sparql-results+xml', + 'ssdl' => 'application/ssdl+xml', + 'sse' => 'application/vnd.kodak-descriptor', + 'ssf' => 'application/vnd.epson.ssf', + 'ssml' => 'application/ssml+xml', + 'st' => 'application/vnd.sailingtracker.track', + 'stc' => 'application/vnd.sun.xml.calc.template', + 'std' => 'application/vnd.sun.xml.draw.template', + 'stf' => 'application/vnd.wt.stf', + 'sti' => 'application/vnd.sun.xml.impress.template', + 'stk' => 'application/hyperstudio', + 'stl' => 'application/vnd.ms-pki.stl', + 'str' => 'application/vnd.pg.format', + 'stw' => 'application/vnd.sun.xml.writer.template', + 'sub' => 'text/vnd.dvb.subtitle', + 'sus' => 'application/vnd.sus-calendar', + 'susp' => 'application/vnd.sus-calendar', + 'sv4cpio' => 'application/x-sv4cpio', + 'sv4crc' => 'application/x-sv4crc', + 'svc' => 'application/vnd.dvb.service', + 'svd' => 'application/vnd.svd', + 'svg' => 'image/svg+xml', + 'svgz' => 'image/svg+xml', + 'swa' => 'application/x-director', + 'swf' => 'application/x-shockwave-flash', + 'swi' => 'application/vnd.aristanetworks.swi', + 'sxc' => 'application/vnd.sun.xml.calc', + 'sxd' => 'application/vnd.sun.xml.draw', + 'sxg' => 'application/vnd.sun.xml.writer.global', + 'sxi' => 'application/vnd.sun.xml.impress', + 'sxm' => 'application/vnd.sun.xml.math', + 'sxw' => 'application/vnd.sun.xml.writer', + 't' => 'text/troff', + 't3' => 'application/x-t3vm-image', + 'taglet' => 'application/vnd.mynfc', + 'tao' => 'application/vnd.tao.intent-module-archive', + 'tar' => 'application/x-tar', + 'tcap' => 'application/vnd.3gpp2.tcap', + 'tcl' => 'application/x-tcl', + 'teacher' => 'application/vnd.smart.teacher', + 'tei' => 'application/tei+xml', + 'teicorpus' => 'application/tei+xml', + 'tex' => 'application/x-tex', + 'texi' => 'application/x-texinfo', + 'texinfo' => 'application/x-texinfo', + 'text' => 'text/plain', + 'tfi' => 'application/thraud+xml', + 'tfm' => 'application/x-tex-tfm', + 'tga' => 'image/x-tga', + 'thmx' => 'application/vnd.ms-officetheme', + 'tif' => 'image/tiff', + 'tiff' => 'image/tiff', + 'tmo' => 'application/vnd.tmobile-livetv', + 'torrent' => 'application/x-bittorrent', + 'tpl' => 'application/vnd.groove-tool-template', + 'tpt' => 'application/vnd.trid.tpt', + 'tr' => 'text/troff', + 'tra' => 'application/vnd.trueapp', + 'trm' => 'application/x-msterminal', + 'tsd' => 'application/timestamped-data', + 'tsv' => 'text/tab-separated-values', + 'ttc' => 'application/x-font-ttf', + 'ttf' => 'application/x-font-ttf', + 'ttl' => 'text/turtle', + 'twd' => 'application/vnd.simtech-mindmapper', + 'twds' => 'application/vnd.simtech-mindmapper', + 'txd' => 'application/vnd.genomatix.tuxedo', + 'txf' => 'application/vnd.mobius.txf', + 'txt' => 'text/plain', + 'u32' => 'application/x-authorware-bin', + 'udeb' => 'application/x-debian-package', + 'ufd' => 'application/vnd.ufdl', + 'ufdl' => 'application/vnd.ufdl', + 'ulx' => 'application/x-glulx', + 'umj' => 'application/vnd.umajin', + 'unityweb' => 'application/vnd.unity', + 'uoml' => 'application/vnd.uoml+xml', + 'uri' => 'text/uri-list', + 'uris' => 'text/uri-list', + 'urls' => 'text/uri-list', + 'ustar' => 'application/x-ustar', + 'utz' => 'application/vnd.uiq.theme', + 'uu' => 'text/x-uuencode', + 'uva' => 'audio/vnd.dece.audio', + 'uvd' => 'application/vnd.dece.data', + 'uvf' => 'application/vnd.dece.data', + 'uvg' => 'image/vnd.dece.graphic', + 'uvh' => 'video/vnd.dece.hd', + 'uvi' => 'image/vnd.dece.graphic', + 'uvm' => 'video/vnd.dece.mobile', + 'uvp' => 'video/vnd.dece.pd', + 'uvs' => 'video/vnd.dece.sd', + 'uvt' => 'application/vnd.dece.ttml+xml', + 'uvu' => 'video/vnd.uvvu.mp4', + 'uvv' => 'video/vnd.dece.video', + 'uvva' => 'audio/vnd.dece.audio', + 'uvvd' => 'application/vnd.dece.data', + 'uvvf' => 'application/vnd.dece.data', + 'uvvg' => 'image/vnd.dece.graphic', + 'uvvh' => 'video/vnd.dece.hd', + 'uvvi' => 'image/vnd.dece.graphic', + 'uvvm' => 'video/vnd.dece.mobile', + 'uvvp' => 'video/vnd.dece.pd', + 'uvvs' => 'video/vnd.dece.sd', + 'uvvt' => 'application/vnd.dece.ttml+xml', + 'uvvu' => 'video/vnd.uvvu.mp4', + 'uvvv' => 'video/vnd.dece.video', + 'uvvx' => 'application/vnd.dece.unspecified', + 'uvvz' => 'application/vnd.dece.zip', + 'uvx' => 'application/vnd.dece.unspecified', + 'uvz' => 'application/vnd.dece.zip', + 'vcard' => 'text/vcard', + 'vcd' => 'application/x-cdlink', + 'vcf' => 'text/x-vcard', + 'vcg' => 'application/vnd.groove-vcard', + 'vcs' => 'text/x-vcalendar', + 'vcx' => 'application/vnd.vcx', + 'vis' => 'application/vnd.visionary', + 'viv' => 'video/vnd.vivo', + 'vob' => 'video/x-ms-vob', + 'vor' => 'application/vnd.stardivision.writer', + 'vox' => 'application/x-authorware-bin', + 'vrml' => 'model/vrml', + 'vsd' => 'application/vnd.visio', + 'vsf' => 'application/vnd.vsf', + 'vss' => 'application/vnd.visio', + 'vst' => 'application/vnd.visio', + 'vsw' => 'application/vnd.visio', + 'vtu' => 'model/vnd.vtu', + 'vxml' => 'application/voicexml+xml', + 'w3d' => 'application/x-director', + 'wad' => 'application/x-doom', + 'wav' => 'audio/x-wav', + 'wax' => 'audio/x-ms-wax', + 'wbmp' => 'image/vnd.wap.wbmp', + 'wbs' => 'application/vnd.criticaltools.wbs+xml', + 'wbxml' => 'application/vnd.wap.wbxml', + 'wcm' => 'application/vnd.ms-works', + 'wdb' => 'application/vnd.ms-works', + 'wdp' => 'image/vnd.ms-photo', + 'weba' => 'audio/webm', + 'webm' => 'video/webm', + 'webp' => 'image/webp', + 'wg' => 'application/vnd.pmi.widget', + 'wgt' => 'application/widget', + 'wks' => 'application/vnd.ms-works', + 'wm' => 'video/x-ms-wm', + 'wma' => 'audio/x-ms-wma', + 'wmd' => 'application/x-ms-wmd', + 'wmf' => 'application/x-msmetafile', + 'wml' => 'text/vnd.wap.wml', + 'wmlc' => 'application/vnd.wap.wmlc', + 'wmls' => 'text/vnd.wap.wmlscript', + 'wmlsc' => 'application/vnd.wap.wmlscriptc', + 'wmv' => 'video/x-ms-wmv', + 'wmx' => 'video/x-ms-wmx', + 'wmz' => 'application/x-msmetafile', + 'woff' => 'application/font-woff', + 'wpd' => 'application/vnd.wordperfect', + 'wpl' => 'application/vnd.ms-wpl', + 'wps' => 'application/vnd.ms-works', + 'wqd' => 'application/vnd.wqd', + 'wri' => 'application/x-mswrite', + 'wrl' => 'model/vrml', + 'wsdl' => 'application/wsdl+xml', + 'wspolicy' => 'application/wspolicy+xml', + 'wtb' => 'application/vnd.webturbo', + 'wvx' => 'video/x-ms-wvx', + 'x32' => 'application/x-authorware-bin', + 'x3d' => 'model/x3d+xml', + 'x3db' => 'model/x3d+binary', + 'x3dbz' => 'model/x3d+binary', + 'x3dv' => 'model/x3d+vrml', + 'x3dvz' => 'model/x3d+vrml', + 'x3dz' => 'model/x3d+xml', + 'xaml' => 'application/xaml+xml', + 'xap' => 'application/x-silverlight-app', + 'xar' => 'application/vnd.xara', + 'xbap' => 'application/x-ms-xbap', + 'xbd' => 'application/vnd.fujixerox.docuworks.binder', + 'xbm' => 'image/x-xbitmap', + 'xdf' => 'application/xcap-diff+xml', + 'xdm' => 'application/vnd.syncml.dm+xml', + 'xdp' => 'application/vnd.adobe.xdp+xml', + 'xdssc' => 'application/dssc+xml', + 'xdw' => 'application/vnd.fujixerox.docuworks', + 'xenc' => 'application/xenc+xml', + 'xer' => 'application/patch-ops-error+xml', + 'xfdf' => 'application/vnd.adobe.xfdf', + 'xfdl' => 'application/vnd.xfdl', + 'xht' => 'application/xhtml+xml', + 'xhtml' => 'application/xhtml+xml', + 'xhvml' => 'application/xv+xml', + 'xif' => 'image/vnd.xiff', + 'xla' => 'application/vnd.ms-excel', + 'xlam' => 'application/vnd.ms-excel.addin.macroenabled.12', + 'xlc' => 'application/vnd.ms-excel', + 'xlf' => 'application/x-xliff+xml', + 'xlm' => 'application/vnd.ms-excel', + 'xls' => 'application/vnd.ms-excel', + 'xlsb' => 'application/vnd.ms-excel.sheet.binary.macroenabled.12', + 'xlsm' => 'application/vnd.ms-excel.sheet.macroenabled.12', + 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', + 'xlt' => 'application/vnd.ms-excel', + 'xltm' => 'application/vnd.ms-excel.template.macroenabled.12', + 'xltx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', + 'xlw' => 'application/vnd.ms-excel', + 'xm' => 'audio/xm', + 'xml' => 'application/xml', + 'xo' => 'application/vnd.olpc-sugar', + 'xop' => 'application/xop+xml', + 'xpi' => 'application/x-xpinstall', + 'xpl' => 'application/xproc+xml', + 'xpm' => 'image/x-xpixmap', + 'xpr' => 'application/vnd.is-xpr', + 'xps' => 'application/vnd.ms-xpsdocument', + 'xpw' => 'application/vnd.intercon.formnet', + 'xpx' => 'application/vnd.intercon.formnet', + 'xsl' => 'application/xml', + 'xslt' => 'application/xslt+xml', + 'xsm' => 'application/vnd.syncml+xml', + 'xspf' => 'application/xspf+xml', + 'xul' => 'application/vnd.mozilla.xul+xml', + 'xvm' => 'application/xv+xml', + 'xvml' => 'application/xv+xml', + 'xwd' => 'image/x-xwindowdump', + 'xyz' => 'chemical/x-xyz', + 'xz' => 'application/x-xz', + 'yang' => 'application/yang', + 'yin' => 'application/yin+xml', + 'z1' => 'application/x-zmachine', + 'z2' => 'application/x-zmachine', + 'z3' => 'application/x-zmachine', + 'z4' => 'application/x-zmachine', + 'z5' => 'application/x-zmachine', + 'z6' => 'application/x-zmachine', + 'z7' => 'application/x-zmachine', + 'z8' => 'application/x-zmachine', + 'zaz' => 'application/vnd.zzazz.deck+xml', + 'zip' => 'application/zip', + 'zir' => 'application/vnd.zul', + 'zirz' => 'application/vnd.zul', + 'zmm' => 'application/vnd.handheld-entertainment+xml', + '123' => 'application/vnd.lotus-1-2-3', +); diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/preferences.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/preferences.php new file mode 100644 index 0000000..0b430e6 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/preferences.php @@ -0,0 +1,25 @@ +setCharset('utf-8'); + +// Without these lines the default caching mechanism is "array" but this uses a lot of memory. +// If possible, use a disk cache to enable attaching large attachments etc. +// You can override the default temporary directory by setting the TMPDIR environment variable. +if (@is_writable($tmpDir = sys_get_temp_dir())) { + $preferences->setTempDir($tmpDir)->setCacheType('disk'); +} + +// this should only be done when Swiftmailer won't use the native QP content encoder +// see mime_deps.php +if (PHP_VERSION_ID < 50407) { + $preferences->setQPDotEscape(false); +} diff --git a/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/swift_init.php b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/swift_init.php new file mode 100644 index 0000000..ff71963 --- /dev/null +++ b/user/plugins/email/vendor/swiftmailer/swiftmailer/lib/swift_init.php @@ -0,0 +1,28 @@ + 'application/x-php', + 'php3' => 'application/x-php', + 'php4' => 'application/x-php', + 'php5' => 'application/x-php', + 'zip' => 'application/zip', + 'gif' => 'image/gif', + 'png' => 'image/png', + 'css' => 'text/css', + 'js' => 'text/javascript', + 'txt' => 'text/plain', + 'aif' => 'audio/x-aiff', + 'aiff' => 'audio/x-aiff', + 'avi' => 'video/avi', + 'bmp' => 'image/bmp', + 'bz2' => 'application/x-bz2', + 'csv' => 'text/csv', + 'dmg' => 'application/x-apple-diskimage', + 'doc' => 'application/msword', + 'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', + 'eml' => 'message/rfc822', + 'aps' => 'application/postscript', + 'exe' => 'application/x-ms-dos-executable', + 'flv' => 'video/x-flv', + 'gz' => 'application/x-gzip', + 'hqx' => 'application/stuffit', + 'htm' => 'text/html', + 'html' => 'text/html', + 'jar' => 'application/x-java-archive', + 'jpeg' => 'image/jpeg', + 'jpg' => 'image/jpeg', + 'm3u' => 'audio/x-mpegurl', + 'm4a' => 'audio/mp4', + 'mdb' => 'application/x-msaccess', + 'mid' => 'audio/midi', + 'midi' => 'audio/midi', + 'mov' => 'video/quicktime', + 'mp3' => 'audio/mpeg', + 'mp4' => 'video/mp4', + 'mpeg' => 'video/mpeg', + 'mpg' => 'video/mpeg', + 'odg' => 'vnd.oasis.opendocument.graphics', + 'odp' => 'vnd.oasis.opendocument.presentation', + 'odt' => 'vnd.oasis.opendocument.text', + 'ods' => 'vnd.oasis.opendocument.spreadsheet', + 'ogg' => 'audio/ogg', + 'pdf' => 'application/pdf', + 'ppt' => 'application/vnd.ms-powerpoint', + 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation', + 'ps' => 'application/postscript', + 'rar' => 'application/x-rar-compressed', + 'rtf' => 'application/rtf', + 'tar' => 'application/x-tar', + 'sit' => 'application/x-stuffit', + 'svg' => 'image/svg+xml', + 'tif' => 'image/tiff', + 'tiff' => 'image/tiff', + 'ttf' => 'application/x-font-truetype', + 'vcf' => 'text/x-vcard', + 'wav' => 'audio/wav', + 'wma' => 'audio/x-ms-wma', + 'wmv' => 'audio/x-ms-wmv', + 'xls' => 'application/excel', + 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', + 'xml' => 'application/xml', + ); + + // wrap array for generating file + foreach ($valid_mime_types_preset as $extension => $mime_type) { + // generate array for mimetype to extension resolver (only first match) + $valid_mime_types[$extension] = "'{$extension}' => '{$mime_type}'"; + } + + // collect extensions + $valid_extensions = array(); + + // all extensions from second match + foreach ($matches[2] as $i => $extensions) { + // explode multiple extensions from string + $extensions = explode(' ', strtolower($extensions)); + + // force array for foreach + if (!is_array($extensions)) { + $extensions = array($extensions); + } + + foreach ($extensions as $extension) { + // get mime type + $mime_type = $matches[1][$i]; + + // check if string length lower than 10 + if (strlen($extension) < 10) { + // add extension + $valid_extensions[] = $extension; + + if (!isset($valid_mime_types[$mime_type])) { + // generate array for mimetype to extension resolver (only first match) + $valid_mime_types[$extension] = "'{$extension}' => '{$mime_type}'"; + } + } + } + } + } + + $xml = simplexml_load_string($mime_xml); + + foreach ($xml as $node) { + // check if there is no pattern + if (!isset($node->glob['pattern'])) { + continue; + } + + // get all matching extensions from match + foreach ((array) $node->glob['pattern'] as $extension) { + // skip none glob extensions + if (strpos($extension, '.') === false) { + continue; + } + + // remove get only last part + $extension = explode('.', strtolower($extension)); + $extension = end($extension); + + // maximum length in database column + if (strlen($extension) <= 9) { + $valid_extensions[] = $extension; + } + } + + if (isset($node->glob['pattern'][0])) { + // mime type + $mime_type = strtolower((string) $node['type']); + + // get first extension + $extension = strtolower(trim($node->glob['ddpattern'][0], '*.')); + + // skip none glob extensions and check if string length between 1 and 10 + if (strpos($extension, '.') !== false || strlen($extension) < 1 || strlen($extension) > 9) { + continue; + } + + // check if string length lower than 10 + if (!isset($valid_mime_types[$mime_type])) { + // generate array for mimetype to extension resolver (only first match) + $valid_mime_types[$extension] = "'{$extension}' => '{$mime_type}'"; + } + } + } + + // full list of valid extensions only + $valid_mime_types = array_unique($valid_mime_types); + ksort($valid_mime_types); + + // combine mime types and extensions array + $output = "$preamble\$swift_mime_types = array(\n ".implode($valid_mime_types, ",\n ")."\n);"; + + // write mime_types.php config file + @file_put_contents('./mime_types.php', $output); +} + +generateUpToDateMimeArray(); diff --git a/user/plugins/error/CHANGELOG.md b/user/plugins/error/CHANGELOG.md new file mode 100644 index 0000000..dbb0d78 --- /dev/null +++ b/user/plugins/error/CHANGELOG.md @@ -0,0 +1,54 @@ +# v1.6.0 +## 10/19/2016 + +1. [](#improved) + * Added Croatian translation + * Improved `autoescape: true` support +1. [](#bugfix) + * Fixed issue where template file for `error` page type is only available if page was not found + +# v1.5.1 +## 07/18/2016 + +1. [](#improved) + * Added chinese and german translations +1. [](#bugfix) + * Fixed issue with the Smartypants plugin running before Twig was processed + +# v1.5.0 +## 07/14/2015 + +1. [](#improved) + * Translate some blueprint configuration options + * Allow translating the error message + * Added french, russian, romanian, danish, italian + +# v1.4.1 +## 12/11/2015 + +1. [](#bugfix) + * Fixed CLI command for PHP 5.5 and lower + +# v1.4.0 +## 11/21/2015 + +1. [](#new) + * Implemented CLI commands for the plugin + +# v1.3.0 +## 08/25/2015 + +1. [](#improved) + * Added blueprints for Grav Admin plugin + +# v1.2.2 +## 01/06/2015 + +1. [](#new) + * Added a default `error.json.twig` file + +# v1.2.1 +## 11/30/2014 + +1. [](#new) + * ChangeLog started... diff --git a/user/plugins/error/LICENSE b/user/plugins/error/LICENSE new file mode 100644 index 0000000..484793a --- /dev/null +++ b/user/plugins/error/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Grav + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/user/plugins/error/README.md b/user/plugins/error/README.md new file mode 100644 index 0000000..16b2a53 --- /dev/null +++ b/user/plugins/error/README.md @@ -0,0 +1,89 @@ +# Grav Error Plugin + +![GPM Installation](assets/readme_1.png) + +`error` is a [Grav](http://github.com/getgrav/grav) Plugin and allows to redirect errors to nice output pages. + +This plugin is included in any package distributed that contains Grav. If you decide to clone Grav from GitHub you will most likely want to install this. + +# Installation + +Installing the Error plugin can be done in one of two ways. Our GPM (Grav Package Manager) installation method enables you to quickly and easily install the plugin with a simple terminal command, while the manual method enables you to do so via a zip file. + +## GPM Installation (Preferred) + +The simplest way to install this plugin is via the [Grav Package Manager (GPM)](http://learn.getgrav.org/advanced/grav-gpm) through your system's Terminal (also called the command line). From the root of your Grav install type: + + bin/gpm install error + +This will install the Error plugin into your `/user/plugins` directory within Grav. Its files can be found under `/your/site/grav/user/plugins/error`. + +## Manual Installation + +To install this plugin, just download the zip version of this repository and unzip it under `/your/site/grav/user/plugins`. Then, rename the folder to `error`. You can find these files either on [GitHub](https://github.com/getgrav/grav-plugin-error) or via [GetGrav.org](http://getgrav.org/downloads/plugins#extras). + +You should now have all the plugin files under + + /your/site/grav/user/plugins/error + +>> NOTE: This plugin is a modular component for Grav which requires [Grav](http://github.com/getgrav/grav), the [Problems](https://github.com/getgrav/grav-plugin-problems) plugin, and a theme to be installed in order to operate. + +# Usage + +The `error` plugin doesn't require any configuration. The moment you install it, it is ready to use. + +Something you might want to do is to override the look and feel of the error page, and with Grav it is super easy. + +### Template + +Copy the template file [error.html.twig](templates/error.html.twig) into the `templates` folder of your custom theme and that is it. + +``` +/your/site/grav/user/themes/custom-theme/templates/error.html.twig +``` + +You can now edit the override and tweak it however you prefer. + +### Page + +Copy the page file [error.md](pages/error.md) into the `pages` folder of your user directory and that is it. + +``` +/your/site/grav/user/pages/error/error.md +``` + +You can now edit the override and tweak it however you prefer. + +# CLI Usage +The `error` plugin comes with a CLI command that outputs the `grav.log` in a beautified way, with possibility of limiting the amount of errors displayed, as well as include the trace in the output. + +### Commands + +| `bin/plugin error log` | | +|------------------------|-----------------------------------------------------------------| +| [ --limit N \| -l N ] | The amount of errors to display. Default is 5 | +| [ --trace \| -t ] | When used, it will add the backtrace in the output of the error | + + +# Updating + +As development for the Error plugin continues, new versions may become available that add additional features and functionality, improve compatibility with newer Grav releases, and generally provide a better user experience. Updating Error is easy, and can be done through Grav's GPM system, as well as manually. + +## GPM Update (Preferred) + +The simplest way to update this plugin is via the [Grav Package Manager (GPM)](http://learn.getgrav.org/advanced/grav-gpm). You can do this with this by navigating to the root directory of your Grav install using your system's Terminal (also called command line) and typing the following: + + bin/gpm update error + +This command will check your Grav install to see if your Error plugin is due for an update. If a newer release is found, you will be asked whether or not you wish to update. To continue, type `y` and hit enter. The plugin will automatically update and clear Grav's cache. + +## Manual Update + +Manually updating Error is pretty simple. Here is what you will need to do to get this done: + +* Delete the `your/site/user/plugins/error` directory. +* Download the new version of the Error plugin from either [GitHub](https://github.com/getgrav/grav-plugin-error) or [GetGrav.org](http://getgrav.org/downloads/plugins#extras). +* Unzip the zip file in `your/site/user/plugins` and rename the resulting folder to `error`. +* Clear the Grav cache. The simplest way to do this is by going to the root Grav directory in terminal and typing `bin/grav clear-cache`. + +> Note: Any changes you have made to any of the files listed under this directory will also be removed and replaced by the new set. Any files located elsewhere (for example a YAML settings file placed in `user/config/plugins`) will remain intact. diff --git a/user/plugins/error/assets/readme_1.png b/user/plugins/error/assets/readme_1.png new file mode 100644 index 0000000000000000000000000000000000000000..930b87bb017916a5c9ecb4e71cb3eb672bafed22 GIT binary patch literal 41685 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
                                                                        bWh;kXEr` z^wew|BQi1(1LB`0G&7a;iFCysGw)3t36kP5F6#@VB^$bo1# zwcKX7=F+M~<=y2C3lsvlS!NguTV4-~algnh`$-um@g9N#mlmS6iL~VQ6NqAx=-xs# zL{pS5tXfn)_@{m#LLgxSSwtoAeLT1gCtW-qoqD8^rh;glY3B*OMmA2Jf29D(;3y|ir&mr#Ut9eI@mMRLn??uPDzkYt>|rxaYqUI03QAQoSoAz@w{V>p zIG@4(GkCpan;(<2-~Sw&tte2@Kne%6g>#~QVB`8d9k7#HZat2J>CtAJNl&mnaRz#vxYo+$mfMFOzlLzO zC)qkz%T%b;jrH(Z$?6AjPy&U)qS)4}t(&a9)J^w)i(38bq;zbFbm7c)e72< zPo0$W$682n&4R;%ggBYv1wtNLFrw4er?jjHIWjLQ=tATUq*Jk1bqw+W#kKT8p3w!^y1MhDll(xmgjf?)TKcEhGfEs<&IdB-)Q zn9>645u7NLZijVni{s+YSx$WEcIa>i%evBY)QSee%-u$K;^U;O zyLdDH8qu!a4SBhbj*qiIoWf1M7w>a{ZFCT<@P-|1mwF#+S;~07)haKKoVgzLihbLD zo!ocu$}?CwKUPAZ_aWENvr>|cIe5C;Du@S8Q zhvubvq|8kqzT3`p-|LzjHhYt5ZNC_<>5Rb9N_WSDd`MS&2F&HYBWiQ^(6zwEbCw?C z6Be0Ht!Twm%hTqu)!Ctp$T}1vBIFkDHk;LWF+byFiCrAp5ImgIA<#kg>DT~Apci5^ zr5v|Zc%c5=D03`+tkU?&XO1`V7a1es9&fQZ&Tkt0O}9<$L(Th_QcIL}My*32aV=A< zL^7%)3Zx#SkZZQ(;+H-IE4&$VoErFL8GgXM?+7!5{qW?@}LGjUD1!-X&#ypcNQ(7+fA|Dr<#`AWf!Z3th=H^ z9vTdxEN|FVqr{5}as@T5dz@5|*f_7zqZUJk;@eL;2ww%Rrre*YkC#U2QG-92kc1H~ zqbC^X!e{YrL;UNUA1}P;x8&Fb{pxvVNkep-=;U6^pG+!stqiMF8XsGU42q{nM>)0P zrdobB6m7O)1Dn(chO)l@0_%3LV)iu{UyfQbaW!|8OlAC_#n+ea$B`>xC)@n)qiPN} zA}NplXfi1oy2_@zO~PL7wby$r=URPd;mz2@qsBf3>8AxwANSXL5wEFj8qx2TEiQ#x zCT@epU)0=VS>$Xiq9RkZ;#MoyM-8u2vi0*tEg*|Q;#xyS>|gb#U|r>H+mG!L7L$i7 zO-0RK^qBhdwR48BpL!xvT#|WuXRJ}Ll&rT+?TDd3e#TdLXRQ%*xUw#3|A-gy1Eo5s zT*Okn8S%-|oA3U%KalgUNeYFa8Qh=Af-SJxP|3X^$=Qw{G^8cfs*N?1hT0Gp-SY7SxvjhC6qNI5jb^FoF F{{vy?43_`^ literal 0 HcmV?d00001 diff --git a/user/plugins/error/blueprints.yaml b/user/plugins/error/blueprints.yaml new file mode 100644 index 0000000..6ce715f --- /dev/null +++ b/user/plugins/error/blueprints.yaml @@ -0,0 +1,32 @@ +name: Error +version: 1.6.0 +description: Displays the error page. +icon: warning +author: + name: Team Grav + email: devs@getgrav.org + url: http://getgrav.org +homepage: https://github.com/getgrav/grav-plugin-error +keywords: error, plugin, required +bugs: https://github.com/getgrav/grav-plugin-error/issues +license: MIT + +form: + validation: strict + fields: + enabled: + type: toggle + label: PLUGIN_ADMIN.PLUGIN_STATUS + highlight: 1 + default: 0 + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool + + routes.404: + type: text + size: medium + label: 404 Route + default: '/error' diff --git a/user/plugins/error/cli/LogCommand.php b/user/plugins/error/cli/LogCommand.php new file mode 100644 index 0000000..8a6c69a --- /dev/null +++ b/user/plugins/error/cli/LogCommand.php @@ -0,0 +1,130 @@ + 'green', + 'INFO' => 'cyan', + 'NOTICE' => 'yellow', + 'WARNING' => 'yellow', + 'ERROR' => 'red', + 'CRITICAL' => 'red', + 'ALERT' => 'red', + 'EMERGENCY' => 'magenta' + ]; + + /** + * + */ + protected function configure() + { + $this->logfile = LOG_DIR . 'grav.log'; + $this + ->setName("log") + ->setDescription("Outputs the Error Log") + ->addOption( + 'trace', + 't', + InputOption::VALUE_NONE, + 'Include the errors stack trace in the output' + ) + ->addOption( + 'limit', + 'l', + InputArgument::OPTIONAL, + 'Outputs only the last X amount of errors. Use as --limit 10 / -l 10 [default 5]', + 5 + ) + ->setHelp('The log outputs the Errors Log in Console') + ; + } + + /** + * @return int|null|void + */ + protected function serve() + { + $this->options = [ + 'trace' => $this->input->getOption('trace'), + 'limit' => $this->input->getOption('limit') + ]; + + if (!file_exists($this->logfile)) { + $this->output->writeln("\n" . "Log file not found." . "\n"); + exit; + } + + $log = file_get_contents($this->logfile); + $lines = explode("\n", $log); + + if (!is_numeric($this->options['limit'])) { + $this->options['limit'] = 5; + } + + $lines = array_slice($lines, -($this->options['limit'] + 1)); + + foreach ($lines as $line) { + $this->output->writeln($this->parseLine($line)); + } + } + + /** + * @param $line + * + * @return null|string + */ + protected function parseLine($line) + { + $bit = explode(': ', $line); + $line1 = explode('] ', $bit[0]); + + if (!$line1[0]) { + return null; + } + + $line2 = explode(' - ', $bit[1]); + + $date = $line1[0] . ']'; + $type = str_replace('grav.', '', $line1[1]); + $color = $this->colors[$type]; + $error = $line2[0]; + $trace = implode(': ', array_slice($bit, 2)); + + $output = []; + + $output[] = ''; + $output[] = '' . $date . ''; + $output[] = sprintf(' <%s>%s ' . $error . '', $color, $type, $color); + + if ($this->options['trace']) { + $output[] = ' TRACE: '; + $output[] = ' ' . $trace; + } + + $output[] = '' . str_repeat('-', strlen($date)) . ''; + + return implode("\n", $output); + } +} + diff --git a/user/plugins/error/error.php b/user/plugins/error/error.php new file mode 100644 index 0000000..71b7d35 --- /dev/null +++ b/user/plugins/error/error.php @@ -0,0 +1,65 @@ + ['onPageNotFound', 0], + 'onGetPageTemplates' => ['onGetPageTemplates', 0], + 'onTwigTemplatePaths' => ['onTwigTemplatePaths', -10] + ]; + } + + /** + * Display error page if no page was found for the current route. + * + * @param Event $event + */ + public function onPageNotFound(Event $event) + { + /** @var Pages $pages */ + $pages = $this->grav['pages']; + + // Try to load user error page. + $page = $pages->dispatch($this->config->get('plugins.error.routes.404', '/error'), true); + + if (!$page) { + // If none provided use built in error page. + $page = new Page; + $page->init(new \SplFileInfo(__DIR__ . '/pages/error.md')); + } + + $event->page = $page; + $event->stopPropagation(); + } + + /** + * Add page template types. + */ + public function onGetPageTemplates(Event $event) + { + /** @var Types $types */ + $types = $event->types; + $types->register('error'); + } + + /** + * Add current directory to twig lookup paths. + */ + public function onTwigTemplatePaths() + { + $this->grav['twig']->twig_paths[] = __DIR__ . '/templates'; + } +} diff --git a/user/plugins/error/error.yaml b/user/plugins/error/error.yaml new file mode 100644 index 0000000..0a51d4c --- /dev/null +++ b/user/plugins/error/error.yaml @@ -0,0 +1,3 @@ +enabled: true +routes: + 404: '/error' diff --git a/user/plugins/error/languages.yaml b/user/plugins/error/languages.yaml new file mode 100644 index 0000000..fba0c48 --- /dev/null +++ b/user/plugins/error/languages.yaml @@ -0,0 +1,37 @@ +en: + PLUGIN_ERROR: + ERROR: "Error" + ERROR_MESSAGE: "Woops. Looks like this page doesn't exist." +de: + PLUGIN_ERROR: + ERROR: "Fehler" + ERROR_MESSAGE: "Uuups. Sieht aus als ob diese Seite nicht existiert." +hr: + PLUGIN_ERROR: + ERROR: "GreÅ¡ka" + ERROR_MESSAGE: "Uups. Izgleda da ova stranica ne postoji." + +ro: + PLUGIN_ERROR: + ERROR: "Eroare" + ERROR_MESSAGE: "Ooops. Se pare că pagina nu există." +fr: + PLUGIN_ERROR: + ERROR: "Erreur" + ERROR_MESSAGE: "Oups. Il semble que cette page n’existe pas." +it: + PLUGIN_ERROR: + ERROR: "Errore" + ERROR_MESSAGE: "Ooops. A quanto pare, questa pagina non esiste." +ru: + PLUGIN_ERROR: + ERROR: "Ошибка" + ERROR_MESSAGE: "УпÑ. Похоже, Ñтой Ñтраницы не ÑущеÑтвует." +da: + PLUGIN_ERROR: + ERROR: "Fejl" + ERROR_MESSAGE: "Ups. Det ser ud til at siden ikke eksisterer." +zh: + PLUGIN_ERROR: + ERROR: "错误" + ERROR_MESSAGE: "呃,似乎这个页é¢ä¸å­˜åœ¨ã€‚" diff --git a/user/plugins/error/pages/error.md b/user/plugins/error/pages/error.md new file mode 100644 index 0000000..615b50c --- /dev/null +++ b/user/plugins/error/pages/error.md @@ -0,0 +1,13 @@ +--- +title: Page not Found +robots: noindex,nofollow +template: error +routable: false +http_response_code: 404 +twig_first: true +process: + twig: true +--- + +{{ 'PLUGIN_ERROR.ERROR_MESSAGE'|t }} + diff --git a/user/plugins/error/templates/error.html.twig b/user/plugins/error/templates/error.html.twig new file mode 100644 index 0000000..420702b --- /dev/null +++ b/user/plugins/error/templates/error.html.twig @@ -0,0 +1,3 @@ +

                                                                        {{ 'PLUGIN_ERROR.ERROR'|t }} {{ header.http_response_code }}

                                                                        + +

                                                                        {{ page.content|raw }}

                                                                        diff --git a/user/plugins/error/templates/error.json.twig b/user/plugins/error/templates/error.json.twig new file mode 100644 index 0000000..27472f1 --- /dev/null +++ b/user/plugins/error/templates/error.json.twig @@ -0,0 +1 @@ +{{ page.content|json_encode()|raw }} \ No newline at end of file diff --git a/user/plugins/form/.eslintrc b/user/plugins/form/.eslintrc new file mode 100644 index 0000000..1e57de5 --- /dev/null +++ b/user/plugins/form/.eslintrc @@ -0,0 +1,165 @@ +{ + "env": { + "browser": true, + "node": true + }, + + "parserOptions": { + "ecmaVersion": 6, + "sourceType": "module" + }, + + "rules": { + "accessor-pairs": 2, + "array-bracket-spacing": 0, + "block-scoped-var": 0, + "brace-style": [2, "1tbs", { "allowSingleLine": true }], + "camelcase": 0, + "comma-dangle": [2, "never"], + "comma-spacing": [2, { "before": false, "after": true }], + "comma-style": [2, "last"], + "complexity": 0, + "computed-property-spacing": 0, + "consistent-return": 0, + "consistent-this": 0, + "constructor-super": 2, + "curly": [2, "multi-line"], + "default-case": 0, + "dot-location": [2, "property"], + "dot-notation": 0, + "eol-last": 2, + "eqeqeq": [2, "allow-null"], + "func-names": 0, + "func-style": 0, + "generator-star-spacing": [2, { "before": true, "after": true }], + "guard-for-in": 0, + "handle-callback-err": [2, "^(err|error)$" ], + "indent": [2, 4, { "SwitchCase": 1 }], + "key-spacing": [2, { "beforeColon": false, "afterColon": true }], + "linebreak-style": 0, + "lines-around-comment": 0, + "max-nested-callbacks": 0, + "new-cap": [2, { "newIsCap": true, "capIsNew": false }], + "new-parens": 2, + "newline-after-var": 0, + "no-alert": 0, + "no-array-constructor": 2, + "no-caller": 2, + "no-catch-shadow": 0, + "no-cond-assign": 2, + "no-console": 0, + "no-constant-condition": 0, + "no-continue": 0, + "no-control-regex": 2, + "no-debugger": 2, + "no-delete-var": 2, + "no-div-regex": 0, + "no-dupe-args": 2, + "no-dupe-keys": 2, + "no-duplicate-case": 2, + "no-else-return": 0, + "no-empty": 0, + "no-empty-character-class": 2, + "no-eq-null": 0, + "no-eval": 2, + "no-ex-assign": 2, + "no-extend-native": 2, + "no-extra-bind": 2, + "no-extra-boolean-cast": 2, + "no-extra-parens": 0, + "no-extra-semi": 0, + "no-fallthrough": 2, + "no-floating-decimal": 2, + "no-func-assign": 2, + "no-implied-eval": 2, + "no-inline-comments": 0, + "no-inner-declarations": [2, "functions"], + "no-invalid-regexp": 2, + "no-irregular-whitespace": 2, + "no-iterator": 2, + "no-label-var": 2, + "no-labels": 2, + "no-lone-blocks": 2, + "no-lonely-if": 0, + "no-loop-func": 0, + "no-mixed-requires": 0, + "no-mixed-spaces-and-tabs": 2, + "no-multi-spaces": 2, + "no-multi-str": 2, + "no-multiple-empty-lines": [2, { "max": 1 }], + "no-native-reassign": 2, + "no-negated-in-lhs": 2, + "no-nested-ternary": 0, + "no-new": 2, + "no-new-func": 0, + "no-new-object": 2, + "no-new-require": 2, + "no-new-wrappers": 2, + "no-obj-calls": 2, + "no-octal": 2, + "no-octal-escape": 2, + "no-param-reassign": 0, + "no-path-concat": 0, + "no-process-env": 0, + "no-process-exit": 0, + "no-proto": 0, + "no-redeclare": 2, + "no-regex-spaces": 2, + "no-restricted-modules": 0, + "no-return-assign": 2, + "no-script-url": 0, + "no-self-compare": 2, + "no-sequences": 2, + "no-shadow": 0, + "no-shadow-restricted-names": 2, + "no-spaced-func": 2, + "no-sparse-arrays": 2, + "no-sync": 0, + "no-ternary": 0, + "no-this-before-super": 2, + "no-throw-literal": 2, + "no-trailing-spaces": 2, + "no-undef": 2, + "no-undef-init": 2, + "no-undefined": 0, + "no-underscore-dangle": 0, + "no-unexpected-multiline": 2, + "no-unneeded-ternary": 2, + "no-unreachable": 2, + "no-unused-expressions": 0, + "no-unused-vars": [2, { "vars": "all", "args": "none" }], + "no-use-before-define": 0, + "no-var": 0, + "no-void": 0, + "no-warning-comments": 0, + "no-with": 2, + "object-curly-spacing": 0, + "object-shorthand": 0, + "one-var": [2, { "initialized": "never" }], + "operator-assignment": 0, + "operator-linebreak": [2, "after", { "overrides": { "?": "before", ":": "before" } }], + "padded-blocks": 0, + "prefer-const": 0, + "quote-props": 0, + "quotes": [2, "single", "avoid-escape"], + "radix": 2, + "semi": [2, "always"], + "semi-spacing": 0, + "sort-vars": 0, + "keyword-spacing": [2, {"after": true, "overrides": {"throw": { "after": true}, "return": { "before": true }}}], + "space-before-blocks": [2, "always"], + "space-before-function-paren": [2, "never"], + "space-in-parens": [2, "never"], + "space-infix-ops": 2, + "space-unary-ops": [2, { "words": true, "nonwords": false }], + "spaced-comment": [2, "always", { "markers": ["global", "globals", "eslint", "eslint-disable", "*package", "!"] }], + "strict": 0, + "use-isnan": 2, + "valid-jsdoc": 0, + "valid-typeof": 2, + "vars-on-top": 0, + "wrap-iife": [2, "any"], + "wrap-regex": 0, + "yoda": [2, "never"] + } +} diff --git a/user/plugins/form/.gitignore b/user/plugins/form/.gitignore new file mode 100644 index 0000000..1df656a --- /dev/null +++ b/user/plugins/form/.gitignore @@ -0,0 +1,5 @@ +# OS Generated +.DS_Store* +/.idea +node_modules +*.js.map diff --git a/user/plugins/form/CHANGELOG.md b/user/plugins/form/CHANGELOG.md new file mode 100644 index 0000000..6942049 --- /dev/null +++ b/user/plugins/form/CHANGELOG.md @@ -0,0 +1,559 @@ +# v2.11.2 +## 01/22/2018 + +1. [](#new) + * Added support for markdown in all form fields for `label`, `help`, and `description` when `markdown: true` is set on field + +# v2.11.1 +## 12/18/2017 + +1. [](#improved) + * Updated default fields to make them more consistent with class names + +# v2.11.0 +## 12/05/2017 + +1. [](#new) + * Added ability to set `novalidate: true` on form definition to turn off all HTML5 form validation +1. [](#improved) + * Improved logic to handle dynamically added forms to be more reliable + * Added Dutch Translation [#207](https://github.com/getgrav/grav-plugin-form/pull/207) + * Improved both HTML and JSON error output by utilizing `form.status` + * Code Cleanup +1. [](#bugfix) + * Fix AJAX response message and wrong status [#211](https://github.com/getgrav/grav-plugin-form/pull/211) + * Escaped YAML to form save action to prevent parsing errors [#206](https://github.com/getgrav/grav-plugin-form/pull/206) + * Fixed RU translations [#204](https://github.com/getgrav/grav-plugin-form/pull/204) + * Fixed nonce check fail not setting status to `error` [#213](https://github.com/getgrav/grav-plugin-form/issues/213) + * Fixed validation fail not setting status to `error` [#209](https://github.com/getgrav/grav-plugin-form/issues/209) + * Catch ValidationException to avoid potential fatal error + * Fixed regression issue on reset fields + * Removed `required` attribute in individual checkboxes as it forces all to be checked + * Security fix to ensure file uploads are not manipulated mid-post - thnx @FLH! + +# v2.10.0 +## 10/26/2017 + +1. [](#new) + * Added ability to 'remember' field values in cookie between submissions [#200](https://github.com/getgrav/grav-plugin-form/pull/200) +1. [](#improved) + * Added back improved `filesize` option that falls back to PHP file upload limits by default [#202](https://github.com/getgrav/grav-plugin-form/issues/202) + * Added missing file upload options into blueprints and language files + * Added the ability for a form to have an `http_response_code` and use it for `form-messages.html.twig` (requires Grav v1.3.6+) + +# v2.9.3 +## 10/11/2017 + +1. [](#improved) + * Removed `filesize` plugin configuration in favor of `system.media.upload_limit` + * Consolidated `field.classes` and `field.wrapper_classes` in radio/checkbox/checkboxes [#193](https://github.com/getgrav/grav-plugin-form/issues/) + * Remove trailing slash from form action [#195](https://github.com/getgrav/grav-plugin-form/issues/195) + * Improved `honeypot` validation check [#198](https://github.com/getgrav/grav-plugin-form/issues/198) + +# v2.9.2 +## 09/30/2017 + +1. [](#improved) + * Improved Polish translation +1. [](#bugfix) + * Added missing `@input: false` attributes to some non-display fields [#189](https://github.com/getgrav/grav-plugin-form/issues/189) + +# v2.9.1 +## 09/14/2017 + +1. [](#bugfix) + * Fixed backwards compatibility issue with conditional field [#188](https://github.com/getgrav/grav-plugin-form/pull/188) + +# v2.9.0 +## 09/07/2017 + +1. [](#new) + * Added **Refresh Prevention** capabilities (Not enabled by default) [#184](https://github.com/getgrav/grav-plugin-form/issues/184) + * Added support for field `attributes` [#176](https://github.com/getgrav/grav-plugin-form/pull/176) + * Added global variables for setting form classes + * Added support for new `select_optgroup` form field [#165](https://github.com/getgrav/grav-plugin-form/issues/165) +1. [](#improved) + * Moved messages output into partial to allow style overriding + * Logic cleanup + * Updated Italian and Russian translations +1. [](#bugfix) + * Fixed an issue with conditional field not always displaying properly + * Only add Twig form variable if not already set + * Fixed issue with multiple forms on a page failing on Captcha client-side validation [#182](https://github.com/getgrav/grav-plugin-form/issues/182) + * Fixed issue with Ajax forms return full form HTML on error [#163](https://github.com/getgrav/grav-plugin-form/issues/163) + +# v2.8.2 +## 08/18/2017 + +1. [](#new) + * Added new `columns` and `column` fields for controlled form layout + +# v2.8.1 +## 08/15/2017 + +1. [](#improved) + * Added extra class support to the default field for more flexible styling + +# v2.8.0 +## 07/16/2017 + +1. [](#bugfix) + * Fixed a typo in the spanish translation [#167](https://github.com/getgrav/grav-plugin-form/pull/167) + +# v2.8.0-rc.2 +## 06/22/2017 + +1. [](#improved) + * Add default client-side validation for captcha, with error popup [#139](https://github.com/getgrav/grav-plugin-form/issues/139) + * Added key observe for select + * Added Czech translation +1. [](#bugfix) + * Bug fix for radio type form field [#154](https://github.com/getgrav/grav-plugin-form/pull/154) + * Remove double escaping [#155](https://github.com/getgrav/grav-plugin-form/issues/154) + +# v2.8.0-rc.1 +## 05/22/2017 + +1. [](#new) + * Bundled as RC release for Grav/Admin RC releases + +# v2.7.1 +## 05/22/2017 + +1. [](#improved) + * Force modular sub-pages with forms to set `$never_cache_twig = true` to improve form processing reliability [#153](https://github.com/getgrav/grav-plugin-form/issues/153) + * Use new `Utils::getPagePathFromToken()` method + +# v2.7.0 +## 05/16/2017 + +1. [](#bugfix) + * Fix issue with dynamically added forms (Registration, Profile, Comments, etc) not processed [#149](https://github.com/getgrav/grav-plugin-form/issues/149) + * Fixed issue with nested values not being repopulated on form error [#140](https://github.com/getgrav/grav-plugin-form/issues/140) + +# v2.6.0 +## 05/04/2017 + +1. [](#new) + * Allow form item replacement in redirect location [#144](https://github.com/getgrav/grav-plugin-form/issues/144) +1. [](#bugfix) + * Fix regression with file uploads introduced in 2.5.0 + +# v2.5.0 +## 04/24/2017 + +1. [](#new) + * Support proper form handling with nested fields [#141](https://github.com/getgrav/grav-plugin-form/issues/141) +1. [](#bugfix) + * Added check for valid Grav forms before trying to create a form object + +# v2.4.0 +## 04/19/2017 + +1. [](#new) + * Added the ability for front-end forms to use advanced blueprint features such as `data-*@` and `config-*@` + * Added support for dynamically added pages to process forms properly + * Added a new avatar field for displaying account avatar + * Added method to get all `data` from a form + * Support `task` in button types +1. [](#improved) + * Added `step` to range field [#136](https://github.com/getgrav/grav-plugin-form/issues/136) + * Added a new default ajax handler twig template + * Moved twig events to always process even if forms are not defined + * Some code cleanup + * Handle `null` with session-based form + * Added support for append/prepend to number field +1. [](#bugfix) + * Always process form events as long as a `$_POST` exists [login #101](https://github.com/getgrav/grav-plugin-login/issues/101) + * Various fixes for `file` field + * Allow manually added pages to process forms and upload files + * Fixed issue with nested fileds not showing up in `data.*.twig` templates + +# v2.3.1 +## 03/23/2017 + +1. [](#bugfix) + * Only include `outerclasses` DIV if defined [#135](https://github.com/getgrav/grav-plugin-form/issues/135) + +# v2.3.0 +## 03/17/2017 + +1. [](#new) + * Ability to process any form on any page via `action:`. Super useful if you want to handle form processing on some other non-form page (or Ajax) + * Added the ability for the form to set the `template:` to use to render the form processing response. +1. [](#bugfix) + * Fix `number` field so it works with min value `0` [#130](https://github.com/getgrav/grav-plugin-form/issues/130) + +# v2.2.0 +## 03/13/2017 + +1. [](#new) + * Added new `fieldset` form field [#125](https://github.com/getgrav/grav-plugin-form/issues/125) + * Added new `conditional form field` to show fields only if some `condition` is set +1. [](#improved) + * Added the option to have outer-classes on buttons [#124](https://github.com/getgrav/grav-plugin-form/issues/124) + * Added the option to disable fields label if not defined [#126](https://github.com/getgrav/grav-plugin-form/issues/126) + +# v2.1.1 +## 02/17/2017 + +1. [](#improved) + * Better default output for select, checkbox and checkboxes fields in the form destination page and in the emails sent via form submit [#121](https://github.com/getgrav/grav-plugin-form/issues/121) + + +# v2.1.0 +## 02/10/2017 + +1. [](#improved) + * Reworked logic so form caching is based on `Pages::getPagesCacheId()` + * Added `url` option for button field +1. [](#bugfix) + * Fixed issue with `honeypot` field not throwing exception properly + +# v2.0.10 +## 02/08/2017 + +1. [](#improved) + * Optimistically set 'status' to `success` when requesting a form via Ajax. Form processing listeners should take care of setting status to something else +1. [](#bugfix) + * File uploads are now adding a `__form-file-uploader__` POST field to better allow identifying them with Ajax + * Require jQuery when using the File field, as it's needed by the form.min.js file required in the file upload functionality + +# v2.0.9 +## 01/24/2017 + +1. [](#bugfix) + * Translate the labels in data.html.twig [https://github.com/getgrav/grav-plugin-comments/issues/38](https://github.com/getgrav/grav-plugin-comments/issues/38) + * Fixed file input when `System` > `Twig` > `Autoescape` is set to `Yes` + +# v2.0.8 +## 12/13/2016 + +1. [](#new) + * RC released as stable + * Added a new `honeypot` field for form anti-spam protection + +# v2.0.8-rc.1 +## 11/26/2016 + +1. [](#bugfix) + * Fixed Forms 2.0 changes for registration form [#101](https://github.com/getgrav/grav-plugin-form/issues/101) + * Fixed errant reference to Grav DI container in Form#getPagePathFromToken [#105](https://github.com/getgrav/grav-plugin-form/issues/105) + * Fixed issue with spacer fields being displayed first, not in order [#104](https://github.com/getgrav/grav-plugin-form/issues/104) + +# v2.0.7 +## 11/17/2016 + +1. [](#improved) + * Added method to set all data in a form + * Added params to form action URL + * Added ability to add ids to buttons and to set them disabled +1. [](#bugfix) + * Moved Files Upload GC logic to function in front-end only + +# v2.0.6 +## 10/19/2016 + +1. [](#bugfix) + * Fixed translations for `display` field + * Fixed [#95](https://github.com/getgrav/grav-plugin-form/issues/95) multilanguage forms submission + * Fixed duplicate textarea class tag [#98](https://github.com/getgrav/grav-plugin-form/issues/98) + +# v2.0.5 +## 09/15/2016 + +1. [](#bugfix) + * Fix passing updating the header through event, no need for return value + +# v2.0.4 +## 09/15/2016 + +1. [](#improved) + * Allow filling the page header form dynamically (e.g. use case: Comments plugin) + +# v2.0.3 +## 09/12/2016 + +1. [](#improved) + * Use `Page::slug()` for form name if not set in the form itself (better backwards compatibility) + +# v2.0.2 +## 09/08/2016 + +1. [](#improved) + * Added support for Grav's autoescape twig setting + * Allow to add additional markup fields in form and field twig overrides + * Updated the french language translation + +# v2.0.1 +## 09/07/2016 + +1. [](#bugfix) + * Fixed a backwards compatibility issue with Admin forms + +# v2.0.0 +## 09/07/2016 + +1. [](#new) + * Forms now supports multiple forms per page! + * Access forms from any other page within the current page + * Instantiate forms directly in page content with Twig processing enabled + * New Twig function to get forms data from any other page + * Ability to use Twig in saved filename + * Reworked the `file` field. All files get uploaded via Ajax and are stored upon Submit. Fully backward compatible, `file` field now includes also a `limit` and `filesize` option. The former determines how many files are allowed to be uploaded when in combination with `multiple: true` (default: 10), the latter determines the file size limit (in MB) allowed for each file (default: 5MB) +1. [](#improved) + * Added several missing HTML5 form input field types [#87](https://github.com/getgrav/grav-plugin-form/issues/87) + * Added Support for CSS id in form definition + +# v1.3.2 +## 08/10/2016 + +1. [](#improved) + * Added Romanian translation +1. [](#bugfix) + * Fixed an issue with Recaptcha secret throwing errors [#84](https://github.com/getgrav/grav-plugin-form/pull/84) + +# v1.3.1 +## 07/27/2016 + +1. [](#improved) + * Added support for multiple emails in `email` field (add `multiple: true` to enable) +1. [](#bugfix) + * Fixed backward incompatibility with forms submission and data retrieval [getgrav/grav#933](https://github.com/getgrav/grav/issues/933) + +# v1.3.0 +## 07/14/2016 + +1. [](#improved) + * When uploading a file through a form, if the file is already existing prepend the current day and time to the filename instead of overwriting it. + +# v1.3.0-rc.4 +## 06/21/2016 + +1. [](#bugfix) + * Fixed running on Grav 1.0.x + +# v1.3.0-rc.3 +## 06/17/2016 + +1. [](#new) + * Set hints for checkboxes options and allow field descriptions + +# v1.3.0-rc.2 +## 06/08/2016 + +1. [](#new) + * Allow to process Twig in a hidden field, by setting `evaluate: true` + +# v1.3.0-rc.1 +## 06/01/2016 + +1. [](#improved) + * French updated + +# v1.3.0-beta.6 +## 05/23/2016 + +1. [](#new) + * Added support for advanced blueprint functionality in forms + * Added site-wide form options to set Google Captcha site + secret keys [#34](https://github.com/getgrav/grav-plugin-form/pull/34) + * Session-based 'flash' storage of form for redirects [#48](https://github.com/getgrav/grav-plugin-form/issues/48) + * Added ability to **append** to file if you include a `process: save: body:` template attribute [#65](https://github.com/getgrav/grav-plugin-form/issues/65) +1. [](#improved) + * Support `keyname` form format like admin forms + * Added backwards compatibility for Captcha field + * Added 'markdown-notices' style output for better errors + * Added `Forms::getValue()` method to retrieve values programatically + * Changed `datetime` form field to simply extend `text` until implemented + * Updated french language +1. [](#bugfix) + * Refactored the files upload logic + * Missing Language string + * Fixed errors not getting output + +# v1.3.0-beta.5 +## 05/12/2016 + +1. [](#improved) + * Moved form/field.html.twig file to the default folder, to be more easily extended in themes + +# v1.3.0-beta.4 +## 05/04/2016 + +1. [](#new) + * Added support for `prepend` and `append` field attributes for Text input + +# v1.3.0-beta.3 +## 05/03/2016 + +1. [](#bugfix) + * Fix for select field admin translation + +# v1.3.0-beta.2 +## 04/27/2016 + +1. [](#bugfix) + * Fix for autoescape in spacer and display form fields + * Fix issue with form reset action [#66](https://github.com/getgrav/grav-plugin-form/pull/66) + +# v1.3.0-beta.1 +## 04/20/2016 + +1. [](#new) + * Added the HTML5 `range` input field with `min` and `max` parameters +1. [](#improved) + * Allow to override classes in Form definition for the form element + * Add more blocks in the Form twig template, so classes can be overridden more easily in themes + * Reworked some fields to fit the new Admin + * Use `scope` for form fields to allow fields to be excluded from the data by adding `input@: false` to their definition + * Added german translation + * Allow to add inline Twig to the form message definition +1. [](#bugfix) + * Fixed the form action URL for home page forms + * Fix stopping form events propagation, correctly stop when one event is stopped + * Allow to translate the fields placeholders and the form message + * Fix captcha javascript function ordering. Also, render it in the site active language + * Support attribute `for="id"` on label for checkbox + * Fix select fields with the multiple option enabled + * Fixed select options escaping with autoescape on - [#502](https://github.com/getgrav/grav-plugin-admin/issues/502) + +# v1.2.2 +## 02/11/2016 + +1. [](#bugfix) + * Fixed case issue when including form file. + +# v1.2.1 +## 02/11/2016 + +1. [](#new) + * Allow placeholder for **select** field +1. [](#improved) + * Use common language strings in blueprints + * Use `for` attribute in labels + * Improved `README.md` + * Code lint +1. [](#bugfix) + * Moved `nl2br` to correct place or will break for arrays + +# v1.2.0 +## 01/06/2016 + +1. [](#bugfix) + * Correctly merge the file field configuration + * restore full file information save + +# v1.1.0 +## 12/18/2015 + +1. [](#new) + * Croatian translation + * Added id, style, and disabled options to select fields +1. [](#improved) + * Allow adding form labels and help text as lang strings + * Allow translating field content + * Allow translating button and checkbox labels + * Allow adding classes to the form field container with `field.outerclasses` + * Updated French translation +1. [](#bugfix) + * Fixed error message on file upload + * Fixed overriding defaults for the file type in forms + +# v1.0.3 +## 12/11/2015 + +1. [](#improved) + * Updated languages + * Allow an action to stop processing +1. [](#bugfix) + * Fix captcha validation + * Fix issue where Form was unsetting valid page + +# v1.0.2 +## 12/01/2015 + +1. [](#bugfix) + * Fixed merge of defaults settings + * Support for arrays in `data.txt.twig` + * Fixed blueprint for admin + +# v1.0.1 +## 12/01/2015 + +1. [](#new) + * New **file upload** field + * Added modular form template + * Spanish translation + * Hungarian translation + * Italian translation + +# v1.0.0 +## 11/21/2015 + +1. [](#new) + * Server-side validation of forms #11 + * Added french translation + * Added **nonce** form security +1. [](#improved) + * Show a more meaningful error when the display page is not found + * Added links to learn site for form examples + * Label can be omitted + * Allow user to set the CSS class for buttons +1. [](#bugfix) + * Fixed multi-language forms + * Checkbox is translatable + * Minor fixes + +# v0.6.0 +## 10/21/2015 + +1. [](#bugfix) + * Fixed for missing attributes in textarea field + * Fixed checkbox inputs + +# v0.5.0 +## 10/15/2015 + +1. [](#new) + * New `operation` param to allow different file saving strategies + * Ability to add new file saving strategies + * Now calls a `process()` method during form processing +1. [](#improved) + * Added server-side captcha validation and removed front-end validation + * Allow `filename` instead of `prefix`, `format` + `extension` +1. [](#bugfix) + * Fixed radio inputs + +# v0.4.0 +## 9/16/2015 + +1. [](#new) + * PHP server-side form validation + * Added new Google Catpcha field with front-end validation +1. [](#improved) + * Add defaults for forms, moved from the themes to the Form plugin + * Store multi-line fields with line endings converted to HTML + +# v0.3.0 +## 9/11/2015 + +1. [](#improved) + * Refactored all the forms fields + +# v0.2.1 +## 08/24/2015 + +1. [](#improved) + * Translated tooltips + +# v0.2.0 +## 08/11/2015 + +1. [](#improved) + * Disable `enable` in admin + +# v0.1.0 +## 08/04/2015 + +1. [](#new) + * ChangeLog started... diff --git a/user/plugins/form/LICENSE b/user/plugins/form/LICENSE new file mode 100644 index 0000000..484793a --- /dev/null +++ b/user/plugins/form/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Grav + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/user/plugins/form/README.md b/user/plugins/form/README.md new file mode 100644 index 0000000..fb9e682 --- /dev/null +++ b/user/plugins/form/README.md @@ -0,0 +1,29 @@ +# Grav Form Plugin + +The **form plugin** for [Grav](http://github.com/getgrav/grav) adds the ability to create and use forms. This is currently used extensively by the **admin** and **login** plugins. + +# Installation + +The form plugin is easy to install with GPM. + +``` +$ bin/gpm install form +``` + +# Configuration + +Simply copy the `user/plugins/form/form.yaml` into `user/config/plugins/form.yaml` and make your modifications. + +``` +enabled: true +``` + +# How to use the Form Plugin + +The Learn site has two pages describing how to use the Form Plugin: +- [Forms](http://learn.getgrav.org/advanced/forms) +- [Add a contact form](http://learn.getgrav.org/forms/forms/example-form) + +# Using email + +Note: when using email functionality in your forms, make sure you have configured the Email plugin correctly. In particular, make sure you configured the "Email from" and "Email to" email addresses in the Email plugin with your email address diff --git a/user/plugins/form/app/main.js b/user/plugins/form/app/main.js new file mode 100644 index 0000000..f0f2a6a --- /dev/null +++ b/user/plugins/form/app/main.js @@ -0,0 +1,289 @@ +import $ from 'jquery'; +import Dropzone from 'dropzone'; +import { config, translations } from 'grav-form'; + +let request = {}; + +// translations +const Dictionary = { + dictCancelUpload: translations.PLUGIN_FORM.DROPZONE_CANCEL_UPLOAD, + dictCancelUploadConfirmation: translations.PLUGIN_FORM.DROPZONE_CANCEL_UPLOAD_CONFIRMATION, + dictDefaultMessage: translations.PLUGIN_FORM.DROPZONE_DEFAULT_MESSAGE, + dictFallbackMessage: translations.PLUGIN_FORM.DROPZONE_FALLBACK_MESSAGE, + dictFallbackText: translations.PLUGIN_FORM.DROPZONE_FALLBACK_TEXT, + dictFileTooBig: translations.PLUGIN_FORM.DROPZONE_FILE_TOO_BIG, + dictInvalidFileType: translations.PLUGIN_FORM.DROPZONE_INVALID_FILE_TYPE, + dictMaxFilesExceeded: translations.PLUGIN_FORM.DROPZONE_MAX_FILES_EXCEEDED, + dictRemoveFile: translations.PLUGIN_FORM.DROPZONE_REMOVE_FILE, + dictRemoveFileConfirmation: translations.PLUGIN_FORM.DROPZONE_REMOVE_FILE_CONFIRMATION, + dictResponseError: translations.PLUGIN_FORM.DROPZONE_RESPONSE_ERROR +}; + +Dropzone.autoDiscover = false; + +const DropzoneMediaConfig = { + createImageThumbnails: { thumbnailWidth: 150 }, + addRemoveLinks: false, + dictDefaultMessage: Dictionary.dictDefaultMessage, + dictRemoveFileConfirmation: Dictionary.dictRemoveFileConfirmation, + previewTemplate: ` +
                                                                        +
                                                                        + +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        +
                                                                        + + + +
                                                                        + + + + Check + Created with Sketch. + + + + + + +
                                                                        +
                                                                        + + + + error + Created with Sketch. + + + + + + + +
                                                                        +
                                                                        `.trim() +}; + +export default class FilesField { + constructor({ container = '.dropzone.files-upload', options = {} } = {}) { + this.container = $(container); + if (!this.container.length) { return; } + + this.urls = {}; + this.options = Object.assign({}, Dictionary, DropzoneMediaConfig, { + klass: this, + url: this.container.data('file-url-add') || config.current_url, + acceptedFiles: this.container.data('media-types'), + init: this.initDropzone + }, this.container.data('dropzone-options'), options); + + this.dropzone = new Dropzone(container, this.options); + this.dropzone.on('complete', this.onDropzoneComplete.bind(this)); + this.dropzone.on('success', this.onDropzoneSuccess.bind(this)); + this.dropzone.on('removedfile', this.onDropzoneRemovedFile.bind(this)); + this.dropzone.on('sending', this.onDropzoneSending.bind(this)); + this.dropzone.on('error', this.onDropzoneError.bind(this)); + } + + initDropzone() { + let files = this.options.klass.container.find('[data-file]'); + let dropzone = this; + if (!files.length) { return; } + + files.each((index, file) => { + file = $(file); + let data = file.data('file'); + let mock = { + name: data.name, + size: data.size, + type: data.type, + status: Dropzone.ADDED, + accepted: true, + url: this.options.url, + removeUrl: data.remove + }; + + dropzone.files.push(mock); + dropzone.options.addedfile.call(dropzone, mock); + if (mock.type.match(/^image\//)) dropzone.options.thumbnail.call(dropzone, mock, data.path); + + file.remove(); + }); + } + + onDropzoneSending(file, xhr, formData) { + formData.append('__form-name__', this.container.closest('form').find('[name="__form-name__"]').val()); + formData.append('__form-file-uploader__', 1); + formData.append('name', this.options.dotNotation); + formData.append('form-nonce', config.form_nonce); + formData.append('task', 'filesupload'); + } + + onDropzoneSuccess(file, response, xhr) { + if (this.options.reloadPage) { + global.location.reload(); + } + + // store params for removing file from session before it gets saved + if (response.session) { + file.sessionParams = response.session; + file.removeUrl = this.options.url; + + // Touch field value to force a mutation detection + const input = this.container.find('[name][type="hidden"]'); + const value = input.val(); + input.val(value + ' '); + } + + return this.handleError({ + file, + data: response, + mode: 'removeFile', + msg: `

                                                                        ${translations.PLUGIN_FORM.FILE_ERROR_UPLOAD} ${file.name}

                                                                        +
                                                                        ${response.message}
                                                                        ` + }); + } + + onDropzoneComplete(file) { + if (!file.accepted && !file.rejected) { + let data = { + status: 'error', + message: `${translations.PLUGIN_FORM.FILE_UNSUPPORTED}: ${file.name.match(/\..+/).join('')}` + }; + + return this.handleError({ + file, + data, + mode: 'removeFile', + msg: `

                                                                        ${translations.PLUGIN_FORM.FILE_ERROR_ADD} ${file.name}

                                                                        +
                                                                        ${data.message}
                                                                        ` + }); + } + + if (this.options.reloadPage) { + global.location.reload(); + } + } + + onDropzoneRemovedFile(file, ...extra) { + if (!file.accepted || file.rejected) { return; } + let url = file.removeUrl || this.urls.delete; + let path = (url || '').match(/path:(.*)\//); + let body = { filename: file.name }; + + if (file.sessionParams) { + body.task = 'filessessionremove'; + body.session = file.sessionParams; + } + + request(url, { method: 'post', body }, () => { + if (!path) { return; } + + path = global.atob(path[1]); + let input = this.container.find('[name][type="hidden"]'); + let data = JSON.parse(input.val() || '{}'); + delete data[path]; + input.val(JSON.stringify(data)); + }); + } + + onDropzoneError(file, response, xhr) { + let message = xhr && response.error ? response.error.message : response; + $(file.previewElement).find('[data-dz-errormessage]').html(message); + + return this.handleError({ + file, + data: { status: 'error' }, + msg: `
                                                                        ${message}
                                                                        ` + }); + } + + handleError(options) { + return true; + /* let { file, data, mode, msg } = options; + if (data.status !== 'error' && data.status !== 'unauthorized') { return; } + + switch (mode) { + case 'addBack': + if (file instanceof File) { + this.dropzone.addFile.call(this.dropzone, file); + } else { + this.dropzone.files.push(file); + this.dropzone.options.addedfile.call(this.dropzone, file); + this.dropzone.options.thumbnail.call(this.dropzone, file, file.extras.url); + } + + break; + case 'removeFile': + default: + if (~this.dropzone.files.indexOf(file)) { + file.rejected = true; + this.dropzone.removeFile.call(this.dropzone, file, { silent: true }); + } + + break; + } + + let modal = $('[data-remodal-id="generic"]'); + modal.find('.error-content').html(msg); + $.remodal.lookup[modal.data('remodal')].open(); */ + } +} + +export function UriToMarkdown(uri) { + uri = uri.replace(/@3x|@2x|@1x/, ''); + uri = uri.replace(/\(/g, '%28'); + uri = uri.replace(/\)/g, '%29'); + + return uri.match(/\.(jpe?g|png|gif|svg)$/i) ? `![](${uri})` : `[${decodeURI(uri)}](${uri})`; +} + +let instances = []; +let cache = $(); +const onAddedNodes = (event, target/* , record, instance */) => { + let files = $(target).find('.dropzone.files-upload'); + if (!files.length) { return; } + + files.each((index, file) => { + file = $(file); + if (!~cache.index(file)) { + addNode(file); + } + }); +}; + +const addNode = (container) => { + container = $(container); + let input = container.find('input[type="file"]'); + let settings = container.data('grav-file-settings') || {}; + + if (settings.accept && ~settings.accept.indexOf('*')) { + settings.accept = ['']; + } + + let options = { + url: container.data('file-url-add') || (container.closest('form').attr('action') || config.current_url) + '.json', + paramName: settings.paramName || 'file', + dotNotation: settings.name || 'file', + acceptedFiles: settings.accept ? settings.accept.join(',') : input.attr('accept') || container.data('media-types'), + maxFilesize: settings.filesize || 256, + maxFiles: settings.limit || null + }; + + cache = cache.add(container); + container = container[0]; + instances.push(new FilesField({ container, options })); +}; + +export let Instances = (() => { + $('.dropzone.files-upload').each((i, container) => addNode(container)); + $('body').on('mutation._grav', onAddedNodes); + + return instances; +})(); + diff --git a/user/plugins/form/assets/dropzone.min.css b/user/plugins/form/assets/dropzone.min.css new file mode 100644 index 0000000..d04515e --- /dev/null +++ b/user/plugins/form/assets/dropzone.min.css @@ -0,0 +1 @@ +@-webkit-keyframes passing-through{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%, 70%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}100%{opacity:0;-webkit-transform:translateY(-40px);-moz-transform:translateY(-40px);-ms-transform:translateY(-40px);-o-transform:translateY(-40px);transform:translateY(-40px)}}@-moz-keyframes passing-through{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%, 70%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}100%{opacity:0;-webkit-transform:translateY(-40px);-moz-transform:translateY(-40px);-ms-transform:translateY(-40px);-o-transform:translateY(-40px);transform:translateY(-40px)}}@keyframes passing-through{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%, 70%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}100%{opacity:0;-webkit-transform:translateY(-40px);-moz-transform:translateY(-40px);-ms-transform:translateY(-40px);-o-transform:translateY(-40px);transform:translateY(-40px)}}@-webkit-keyframes slide-in{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}}@-moz-keyframes slide-in{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}}@keyframes slide-in{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}}@-webkit-keyframes pulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}10%{-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-ms-transform:scale(1.1);-o-transform:scale(1.1);transform:scale(1.1)}20%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}}@-moz-keyframes pulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}10%{-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-ms-transform:scale(1.1);-o-transform:scale(1.1);transform:scale(1.1)}20%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}}@keyframes pulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}10%{-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-ms-transform:scale(1.1);-o-transform:scale(1.1);transform:scale(1.1)}20%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}}.dropzone,.dropzone *{box-sizing:border-box}.dropzone{min-height:150px;border:2px solid rgba(0,0,0,0.3);background:white;padding:20px 20px}.dropzone.dz-clickable{cursor:pointer}.dropzone.dz-clickable *{cursor:default}.dropzone.dz-clickable .dz-message,.dropzone.dz-clickable .dz-message *{cursor:pointer}.dropzone.dz-started .dz-message{display:none}.dropzone.dz-drag-hover{border-style:solid}.dropzone.dz-drag-hover .dz-message{opacity:0.5}.dropzone .dz-message{text-align:center;margin:2em 0}.dropzone .dz-preview{position:relative;display:inline-block;vertical-align:top;margin:16px;min-height:100px}.dropzone .dz-preview:hover{z-index:1000}.dropzone .dz-preview:hover .dz-details{opacity:1}.dropzone .dz-preview.dz-file-preview .dz-image{border-radius:20px;background:#999;background:linear-gradient(to bottom, #eee, #ddd)}.dropzone .dz-preview.dz-file-preview .dz-details{opacity:1}.dropzone .dz-preview.dz-image-preview{background:white}.dropzone .dz-preview.dz-image-preview .dz-details{-webkit-transition:opacity 0.2s linear;-moz-transition:opacity 0.2s linear;-ms-transition:opacity 0.2s linear;-o-transition:opacity 0.2s linear;transition:opacity 0.2s linear}.dropzone .dz-preview .dz-remove{font-size:14px;text-align:center;display:block;cursor:pointer;border:none}.dropzone .dz-preview .dz-remove:hover{text-decoration:underline}.dropzone .dz-preview:hover .dz-details{opacity:1}.dropzone .dz-preview .dz-details{z-index:20;position:absolute;top:0;left:0;opacity:0;font-size:13px;min-width:100%;max-width:100%;padding:2em 1em;text-align:center;color:rgba(0,0,0,0.9);line-height:150%}.dropzone .dz-preview .dz-details .dz-size{margin-bottom:1em;font-size:16px}.dropzone .dz-preview .dz-details .dz-filename{white-space:nowrap}.dropzone .dz-preview .dz-details .dz-filename:hover span{border:1px solid rgba(200,200,200,0.8);background-color:rgba(255,255,255,0.8)}.dropzone .dz-preview .dz-details .dz-filename:not(:hover){overflow:hidden;text-overflow:ellipsis}.dropzone .dz-preview .dz-details .dz-filename:not(:hover) span{border:1px solid transparent}.dropzone .dz-preview .dz-details .dz-filename span,.dropzone .dz-preview .dz-details .dz-size span{background-color:rgba(255,255,255,0.4);padding:0 0.4em;border-radius:3px}.dropzone .dz-preview:hover .dz-image img{-webkit-transform:scale(1.05, 1.05);-moz-transform:scale(1.05, 1.05);-ms-transform:scale(1.05, 1.05);-o-transform:scale(1.05, 1.05);transform:scale(1.05, 1.05);-webkit-filter:blur(8px);filter:blur(8px)}.dropzone .dz-preview .dz-image{border-radius:20px;overflow:hidden;width:120px;height:120px;position:relative;display:block;z-index:10}.dropzone .dz-preview .dz-image img{display:block}.dropzone .dz-preview.dz-success .dz-success-mark{-webkit-animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);-moz-animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);-ms-animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);-o-animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1)}.dropzone .dz-preview.dz-error .dz-error-mark{opacity:1;-webkit-animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);-moz-animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);-ms-animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);-o-animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);animation:slide-in 3s cubic-bezier(0.77, 0, 0.175, 1)}.dropzone .dz-preview .dz-success-mark,.dropzone .dz-preview .dz-error-mark{pointer-events:none;opacity:0;z-index:500;position:absolute;display:block;top:50%;left:50%;margin-left:-27px;margin-top:-27px}.dropzone .dz-preview .dz-success-mark svg,.dropzone .dz-preview .dz-error-mark svg{display:block;width:54px;height:54px}.dropzone .dz-preview.dz-processing .dz-progress{opacity:1;-webkit-transition:all 0.2s linear;-moz-transition:all 0.2s linear;-ms-transition:all 0.2s linear;-o-transition:all 0.2s linear;transition:all 0.2s linear}.dropzone .dz-preview.dz-complete .dz-progress{opacity:0;-webkit-transition:opacity 0.4s ease-in;-moz-transition:opacity 0.4s ease-in;-ms-transition:opacity 0.4s ease-in;-o-transition:opacity 0.4s ease-in;transition:opacity 0.4s ease-in}.dropzone .dz-preview:not(.dz-processing) .dz-progress{-webkit-animation:pulse 6s ease infinite;-moz-animation:pulse 6s ease infinite;-ms-animation:pulse 6s ease infinite;-o-animation:pulse 6s ease infinite;animation:pulse 6s ease infinite}.dropzone .dz-preview .dz-progress{opacity:1;z-index:1000;pointer-events:none;position:absolute;height:16px;left:50%;top:50%;margin-top:-8px;width:80px;margin-left:-40px;background:rgba(255,255,255,0.9);-webkit-transform:scale(1);border-radius:8px;overflow:hidden}.dropzone .dz-preview .dz-progress .dz-upload{background:#333;background:linear-gradient(to bottom, #666, #444);position:absolute;top:0;left:0;bottom:0;width:0;-webkit-transition:width 300ms ease-in-out;-moz-transition:width 300ms ease-in-out;-ms-transition:width 300ms ease-in-out;-o-transition:width 300ms ease-in-out;transition:width 300ms ease-in-out}.dropzone .dz-preview.dz-error .dz-error-message{display:block}.dropzone .dz-preview.dz-error:hover .dz-error-message{opacity:1;pointer-events:auto}.dropzone .dz-preview .dz-error-message{pointer-events:none;z-index:1000;position:absolute;display:block;display:none;opacity:0;-webkit-transition:opacity 0.3s ease;-moz-transition:opacity 0.3s ease;-ms-transition:opacity 0.3s ease;-o-transition:opacity 0.3s ease;transition:opacity 0.3s ease;border-radius:8px;font-size:13px;top:130px;left:-10px;width:140px;background:#be2626;background:linear-gradient(to bottom, #be2626, #a92222);padding:0.5em 1.2em;color:white}.dropzone .dz-preview .dz-error-message:after{content:'';position:absolute;top:-6px;left:64px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #be2626} diff --git a/user/plugins/form/assets/form-styles.css b/user/plugins/form/assets/form-styles.css new file mode 100644 index 0000000..c5709c7 --- /dev/null +++ b/user/plugins/form/assets/form-styles.css @@ -0,0 +1,69 @@ +.form-errors { + background: #fdf7f7; + color: #b52b27; + padding: 0 5px; + border-radius: 3px; + margin-bottom: 10px; +} + +.form-errors p { + margin: 0; + line-height: 2; +} + +.form-field.has-errors .form-errors { + margin-top: -5px; +} + +.form-field.has-errors label { + color: #b52b27; +} + +.form-field.has-errors .form-input-wrapper input, +.form-field.has-errors .form-input-wrapper select, +.form-field.has-errors .form-input-wrapper textarea { + border: 1px solid #d9534f; +} + +.form-input-file.dropzone { + position: relative; + min-height: 70px; + border-radius: 3px; + margin-bottom: .85rem; + border: 2px dashed #ccc; + color: #aaa; + padding: 0.5rem; +} + +.form-input-file input { + display: none; +} + +.form-input-file .dz-default.dz-message { + position: absolute; + text-align: center; + left: 0; + right: 0; + top: 50%; + transform: translateY(-50%); + margin: 0; +} + +.form-input-file.dropzone .dz-preview { + margin: 0.5rem; +} + +.form-input-file.dropzone .dz-preview:hover { + z-index: 2; +} + +.form-input-file.dropzone .dz-preview .dz-error-message { + min-width: 140px; + width: auto; +} + +.form-input-file.dropzone .dz-preview .dz-image, +.form-input-file.dropzone .dz-preview.dz-file-preview .dz-image { + border-radius: 3px; + z-index: 1; +} diff --git a/user/plugins/form/assets/form.min.js b/user/plugins/form/assets/form.min.js new file mode 100644 index 0000000..3bcf31e --- /dev/null +++ b/user/plugins/form/assets/form.min.js @@ -0,0 +1,3 @@ +!function(e){function t(n){if(i[n])return i[n].exports;var o=i[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var i={};return t.m=e,t.c=i,t.p="",t(0)}([function(e,t,i){(function(e){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e){return e=e.replace(/@3x|@2x|@1x/,""),e=e.replace(/\(/g,"%28"),e=e.replace(/\)/g,"%29"),e.match(/\.(jpe?g|png|gif|svg)$/i)?"![]("+e+")":"["+decodeURI(e)+"]("+e+")"}Object.defineProperty(t,"__esModule",{value:!0}),t.Instances=void 0;var s=function(){function e(e,t){for(var i=0;i\n
                                                                        \n\n
                                                                        \n
                                                                        \n
                                                                        \n
                                                                        \n
                                                                        \n
                                                                        \n\n\n\n
                                                                        \n\n \n \n Check\n Created with Sketch.\n \n \n \n \n \n \n
                                                                        \n
                                                                        \n\n \n \n error\n Created with Sketch.\n \n \n \n \n \n \n \n
                                                                        \n '.trim()},f=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=e.container,n=void 0===i?".dropzone.files-upload":i,r=e.options,s=void 0===r?{}:r;o(this,t),this.container=(0,a.default)(n),this.container.length&&(this.urls={},this.options=Object.assign({},h,m,{klass:this,url:this.container.data("file-url-add")||d.config.current_url,acceptedFiles:this.container.data("media-types"),init:this.initDropzone},this.container.data("dropzone-options"),s),this.dropzone=new p.default(n,this.options),this.dropzone.on("complete",this.onDropzoneComplete.bind(this)),this.dropzone.on("success",this.onDropzoneSuccess.bind(this)),this.dropzone.on("removedfile",this.onDropzoneRemovedFile.bind(this)),this.dropzone.on("sending",this.onDropzoneSending.bind(this)),this.dropzone.on("error",this.onDropzoneError.bind(this)))}return s(t,[{key:"initDropzone",value:function(){var e=this,t=this.options.klass.container.find("[data-file]"),i=this;t.length&&t.each(function(t,n){n=(0,a.default)(n);var o=n.data("file"),r={name:o.name,size:o.size,type:o.type,status:p.default.ADDED,accepted:!0,url:e.options.url,removeUrl:o.remove};i.files.push(r),i.options.addedfile.call(i,r),r.type.match(/^image\//)&&i.options.thumbnail.call(i,r,o.path),n.remove()})}},{key:"onDropzoneSending",value:function(e,t,i){i.append("__form-name__",this.container.closest("form").find('[name="__form-name__"]').val()),i.append("__form-file-uploader__",1),i.append("name",this.options.dotNotation),i.append("form-nonce",d.config.form_nonce),i.append("task","filesupload")}},{key:"onDropzoneSuccess",value:function(t,i,n){if(this.options.reloadPage&&e.location.reload(),i.session){t.sessionParams=i.session,t.removeUrl=this.options.url;var o=this.container.find('[name][type="hidden"]'),r=o.val();o.val(r+" ")}return this.handleError({file:t,data:i,mode:"removeFile",msg:"

                                                                        "+d.translations.PLUGIN_FORM.FILE_ERROR_UPLOAD+" "+t.name+"

                                                                        \n
                                                                        "+i.message+"
                                                                        "})}},{key:"onDropzoneComplete",value:function(t){if(!t.accepted&&!t.rejected){var i={status:"error",message:d.translations.PLUGIN_FORM.FILE_UNSUPPORTED+": "+t.name.match(/\..+/).join("")};return this.handleError({file:t,data:i,mode:"removeFile",msg:"

                                                                        "+d.translations.PLUGIN_FORM.FILE_ERROR_ADD+" "+t.name+"

                                                                        \n
                                                                        "+i.message+"
                                                                        "})}this.options.reloadPage&&e.location.reload()}},{key:"onDropzoneRemovedFile",value:function(t){var i=this;if(t.accepted&&!t.rejected){var n=t.removeUrl||this.urls.delete,o=(n||"").match(/path:(.*)\//),r={filename:t.name};t.sessionParams&&(r.task="filessessionremove",r.session=t.sessionParams),c(n,{method:"post",body:r},function(){if(o){o=e.atob(o[1]);var t=i.container.find('[name][type="hidden"]'),n=JSON.parse(t.val()||"{}");delete n[o],t.val(JSON.stringify(n))}})}}},{key:"onDropzoneError",value:function(e,t,i){var n=i&&t.error?t.error.message:t;return(0,a.default)(e.previewElement).find("[data-dz-errormessage]").html(n),this.handleError({file:e,data:{status:"error"},msg:"
                                                                        "+n+"
                                                                        "})}},{key:"handleError",value:function(e){return!0}}]),t}();t.default=f;var g=[],v=(0,a.default)(),F=function(e,t){var i=(0,a.default)(t).find(".dropzone.files-upload");i.length&&i.each(function(e,t){t=(0,a.default)(t),~v.index(t)||y(t)})},y=function(e){e=(0,a.default)(e);var t=e.find('input[type="file"]'),i=e.data("grav-file-settings")||{};i.accept&&~i.accept.indexOf("*")&&(i.accept=[""]);var n={url:e.data("file-url-add")||(e.closest("form").attr("action")||d.config.current_url)+".json",paramName:i.paramName||"file",dotNotation:i.name||"file",acceptedFiles:i.accept?i.accept.join(","):t.attr("accept")||e.data("media-types"),maxFilesize:i.filesize||256,maxFiles:i.limit||null};v=v.add(e),e=e[0],g.push(new f({container:e,options:n}))};t.Instances=function(){return(0,a.default)(".dropzone.files-upload").each(function(e,t){return y(t)}),(0,a.default)("body").on("mutation._grav",F),g}()}).call(t,function(){return this}())},function(e,t){e.exports=jQuery},function(e,t,i){(function(e){(function(){var t,i,n,o,r,s,l,a,u=[].slice,p={}.hasOwnProperty,d=function(e,t){function i(){this.constructor=e}for(var n in t)p.call(t,n)&&(e[n]=t[n]);return i.prototype=t.prototype,e.prototype=new i,e.__super__=t.prototype,e};l=function(){},i=function(){function e(){}return e.prototype.addEventListener=e.prototype.on,e.prototype.on=function(e,t){return this._callbacks=this._callbacks||{},this._callbacks[e]||(this._callbacks[e]=[]),this._callbacks[e].push(t),this},e.prototype.emit=function(){var e,t,i,n,o,r;if(n=arguments[0],e=2<=arguments.length?u.call(arguments,1):[],this._callbacks=this._callbacks||{},i=this._callbacks[n])for(o=0,r=i.length;o'),this.element.appendChild(i)),n=i.getElementsByTagName("span")[0],n&&(null!=n.textContent?n.textContent=this.options.dictFallbackMessage:null!=n.innerText&&(n.innerText=this.options.dictFallbackMessage)),this.element.appendChild(this.getFallbackForm())},resize:function(e){var t,i,n;return t={srcX:0,srcY:0,srcWidth:e.width,srcHeight:e.height},i=e.width/e.height,t.optWidth=this.options.thumbnailWidth,t.optHeight=this.options.thumbnailHeight,null==t.optWidth&&null==t.optHeight?(t.optWidth=t.srcWidth,t.optHeight=t.srcHeight):null==t.optWidth?t.optWidth=i*t.optHeight:null==t.optHeight&&(t.optHeight=1/i*t.optWidth),n=t.optWidth/t.optHeight,e.heightn?(t.srcHeight=e.height,t.srcWidth=t.srcHeight*n):(t.srcWidth=e.width,t.srcHeight=t.srcWidth/n),t.srcX=(e.width-t.srcWidth)/2,t.srcY=(e.height-t.srcHeight)/2,t},drop:function(e){return this.element.classList.remove("dz-drag-hover")},dragstart:l,dragend:function(e){return this.element.classList.remove("dz-drag-hover")},dragenter:function(e){return this.element.classList.add("dz-drag-hover")},dragover:function(e){return this.element.classList.add("dz-drag-hover")},dragleave:function(e){return this.element.classList.remove("dz-drag-hover")},paste:l,reset:function(){return this.element.classList.remove("dz-started")},addedfile:function(e){var i,n,o,r,s,l,a,u,p,d,c,h,m;if(this.element===this.previewsContainer&&this.element.classList.add("dz-started"),this.previewsContainer){for(e.previewElement=t.createElement(this.options.previewTemplate.trim()),e.previewTemplate=e.previewElement,this.previewsContainer.appendChild(e.previewElement),d=e.previewElement.querySelectorAll("[data-dz-name]"),r=0,a=d.length;r'+this.options.dictRemoveFile+""),e.previewElement.appendChild(e._removeLink)),n=function(i){return function(n){return n.preventDefault(),n.stopPropagation(),e.status===t.UPLOADING?t.confirm(i.options.dictCancelUploadConfirmation,function(){return i.removeFile(e)}):i.options.dictRemoveFileConfirmation?t.confirm(i.options.dictRemoveFileConfirmation,function(){return i.removeFile(e)}):i.removeFile(e)}}(this),h=e.previewElement.querySelectorAll("[data-dz-remove]"),m=[],l=0,p=h.length;l\n
                                                                        \n
                                                                        \n
                                                                        \n
                                                                        \n
                                                                        \n
                                                                        \n
                                                                        \n
                                                                        \n \n Check\n \n \n \n \n \n
                                                                        \n
                                                                        \n \n Error\n \n \n \n \n \n \n \n
                                                                        \n'},n=function(){var e,t,i,n,o,r,s;for(n=arguments[0],i=2<=arguments.length?u.call(arguments,1):[],r=0,s=i.length;r'+this.options.dictDefaultMessage+"")),this.clickableElements.length&&(n=function(e){return function(){return e.hiddenFileInput&&e.hiddenFileInput.parentNode.removeChild(e.hiddenFileInput),e.hiddenFileInput=document.createElement("input"),e.hiddenFileInput.setAttribute("type","file"),(null==e.options.maxFiles||e.options.maxFiles>1)&&e.hiddenFileInput.setAttribute("multiple","multiple"),e.hiddenFileInput.className="dz-hidden-input",null!=e.options.acceptedFiles&&e.hiddenFileInput.setAttribute("accept",e.options.acceptedFiles),null!=e.options.capture&&e.hiddenFileInput.setAttribute("capture",e.options.capture),e.hiddenFileInput.style.visibility="hidden",e.hiddenFileInput.style.position="absolute",e.hiddenFileInput.style.top="0",e.hiddenFileInput.style.left="0",e.hiddenFileInput.style.height="0",e.hiddenFileInput.style.width="0",document.querySelector(e.options.hiddenInputContainer).appendChild(e.hiddenFileInput),e.hiddenFileInput.addEventListener("change",function(){var t,i,o,r;if(i=e.hiddenFileInput.files,i.length)for(o=0,r=i.length;o',this.options.dictFallbackText&&(n+="

                                                                        "+this.options.dictFallbackText+"

                                                                        "),n+='',i=t.createElement(n),"FORM"!==this.element.tagName?(o=t.createElement('
                                                                        '),o.appendChild(i)):(this.element.setAttribute("enctype","multipart/form-data"),this.element.setAttribute("method",this.options.method)),null!=o?o:i)},t.prototype.getExistingFallback=function(){var e,t,i,n,o,r;for(t=function(e){var t,i,n;for(i=0,n=e.length;i0){for(s=["TB","GB","MB","KB","b"],i=l=0,a=s.length;l=t){n=e/Math.pow(this.options.filesizeBase,4-i),o=r;break}n=Math.round(10*n)/10}return""+n+" "+o},t.prototype._updateMaxFilesReachedClass=function(){return null!=this.options.maxFiles&&this.getAcceptedFiles().length>=this.options.maxFiles?(this.getAcceptedFiles().length===this.options.maxFiles&&this.emit("maxfilesreached",this.files),this.element.classList.add("dz-max-files-reached")):this.element.classList.remove("dz-max-files-reached")},t.prototype.drop=function(e){var t,i;e.dataTransfer&&(this.emit("drop",e),t=e.dataTransfer.files,this.emit("addedfiles",t),t.length&&(i=e.dataTransfer.items,i&&i.length&&null!=i[0].webkitGetAsEntry?this._addFilesFromItems(i):this.handleFiles(t)))},t.prototype.paste=function(e){var t,i;if(null!=(null!=e&&null!=(i=e.clipboardData)?i.items:void 0))return this.emit("paste",e),t=e.clipboardData.items,t.length?this._addFilesFromItems(t):void 0},t.prototype.handleFiles=function(e){var t,i,n,o;for(o=[],i=0,n=e.length;i0){for(r=0,s=i.length;r1024*this.options.maxFilesize*1024?i(this.options.dictFileTooBig.replace("{{filesize}}",Math.round(e.size/1024/10.24)/100).replace("{{maxFilesize}}",this.options.maxFilesize)):t.isValidFile(e,this.options.acceptedFiles)?null!=this.options.maxFiles&&this.getAcceptedFiles().length>=this.options.maxFiles?(i(this.options.dictMaxFilesExceeded.replace("{{maxFiles}}",this.options.maxFiles)),this.emit("maxfilesexceeded",e)):this.options.accept.call(this,e,i):i(this.options.dictInvalidFileType)},t.prototype.addFile=function(e){return e.upload={progress:0,total:e.size,bytesSent:0},this.files.push(e),e.status=t.ADDED,this.emit("addedfile",e),this._enqueueThumbnail(e),this.accept(e,function(t){return function(i){return i?(e.accepted=!1,t._errorProcessing([e],i)):(e.accepted=!0,t.options.autoQueue&&t.enqueueFile(e)),t._updateMaxFilesReachedClass()}}(this))},t.prototype.enqueueFiles=function(e){var t,i,n;for(i=0,n=e.length;i=t)&&(n=this.getQueuedFiles(),n.length>0)){if(this.options.uploadMultiple)return this.processFiles(n.slice(0,t-i));for(;e=T;p=0<=T?++O:--O)r.append(this._getParamName(p),e[p],this._renameFilename(e[p].name));return this.submitRequest(b,r,e)},t.prototype.submitRequest=function(e,t,i){return e.send(t)},t.prototype._finished=function(e,i,n){var o,r,s;for(r=0,s=e.length;rp;)t=o[4*(a-1)+3],0===t?r=a:p=a,a=r+p>>1;return u=a/s,0===u?1:u},s=function(e,t,i,n,o,s,l,a,u,p){var d;return d=r(t),e.drawImage(t,i,n,o,s,l,a,u,p/d)},o=function(e,t){var i,n,o,r,s,l,a,u,p;if(o=!1,p=!0,n=e.document,u=n.documentElement,i=n.addEventListener?"addEventListener":"attachEvent",a=n.addEventListener?"removeEventListener":"detachEvent",l=n.addEventListener?"":"on",r=function(i){if("readystatechange"!==i.type||"complete"===n.readyState)return("load"===i.type?e:n)[a](l+i.type,r,!1),!o&&(o=!0)?t.call(e,i.type||i):void 0},s=function(){var e;try{u.doScroll("left")}catch(t){return e=t,void setTimeout(s,50)}return r("poll")},"complete"!==n.readyState){if(n.createEventObject&&u.doScroll){try{p=!e.frameElement}catch(e){}p&&s()}return n[i](l+"DOMContentLoaded",r,!1),n[i](l+"readystatechange",r,!1),e[i](l+"load",r,!1)}},t._autoDiscoverFunction=function(){if(t.autoDiscover)return t.discover()},o(window,t._autoDiscoverFunction)}).call(this)}).call(t,i(3)(e))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children=[],e.webpackPolyfill=1),e}},function(e,t){e.exports=GravForm}]); +//# sourceMappingURL=form.min.js.map \ No newline at end of file diff --git a/user/plugins/form/blueprints.yaml b/user/plugins/form/blueprints.yaml new file mode 100644 index 0000000..536ef6d --- /dev/null +++ b/user/plugins/form/blueprints.yaml @@ -0,0 +1,145 @@ +name: Form +version: 2.11.2 +description: Enables the forms handling +icon: check-square +author: + name: Team Grav + email: devs@getgrav.org + url: http://getgrav.org +keywords: plugin, form +homepage: https://github.com/getgrav/grav-plugin-form +bugs: https://github.com/getgrav/grav-plugin-form/issues +license: MIT + +dependencies: + - { name: grav, version: '>=1.3.9' } + +form: + validation: strict + fields: + enabled: + type: hidden + label: PLUGIN_ADMIN.PLUGIN_STATUS + highlight: 1 + default: 0 + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool + general: + type: section + title: PLUGIN_FORM.GENERAL + + fields: + built_in_css: + type: toggle + label: PLUGIN_FORM.USE_BUILT_IN_CSS + highlight: 1 + default: 1 + options: + 1: Enabled + 0: Disabled + validate: + type: bool + + refresh_prevention: + type: toggle + label: PLUGIN_FORM.REFRESH_PREVENTION + help: PLUGIN_FORM.REFRESH_PREVENTION_HELP + highlight: 1 + default: 0 + options: + 1: Enabled + 0: Disabled + validate: + type: bool + + files: + type: section + title: PLUGIN_FORM.FILES + + fields: + files.multiple: + type: toggle + label: PLUGIN_FORM.ALLOW_MULTIPLE + help: PLUGIN_FORM.ALLOW_MULTIPLE_HELP + highlight: 1 + default: 0 + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool + files.limit: + type: text + size: x-small + label: PLUGIN_FORM.LIMIT + help: PLUGIN_FORM.LIMIT_HELP + default: 10 + validate: + type: number + min: 1 + files.destination: + type: text + size: large + label: PLUGIN_FORM.DESTINATION + help: PLUGIN_FORM.DESTINATION_HELP + default: '@self' + files.accept: + type: selectize + size: large + label: PLUGIN_FORM.ACCEPT + help: PLUGIN_FORM.ACCEPT_HELP + classes: fancy + default: + - image/* + validate: + type: commalist + files.filesize: + type: text + label: PLUGIN_FORM.FILESIZE + help: PLUGIN_FORM.FILESIZE_HELP + size: x-small + default: 5 + validate: + type: number + min: 0 + files.avoid_overwriting: + type: toggle + label: PLUGIN_FORM.AVOID_OVERWRITING + help: PLUGIN_FORM.AVOID_OVERWRITING_HELP + highlight: 0 + default: 0 + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool + files.random_name: + type: toggle + label: PLUGIN_FORM.RANDOM_NAME + help: PLUGIN_FORM.RANDOM_NAME_HELP + highlight: 0 + default: 0 + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool + + recaptcha: + type: section + title: PLUGIN_FORM.RECAPTCHA + + fields: + recaptcha.site_key: + type: text + label: PLUGIN_FORM.RECAPTCHA_SITE_KEY + help: PLUGIN_FORM.RECAPTCHA_SITE_KEY_HELP + default: '' + recaptcha.secret_key: + type: text + label: PLUGIN_FORM.RECAPTCHA_SECRET_KEY + help: PLUGIN_FORM.RECAPTCHA_SECRET_KEY_HELP + default: '' diff --git a/user/plugins/form/classes/form.php b/user/plugins/form/classes/form.php new file mode 100644 index 0000000..b8d5ee3 --- /dev/null +++ b/user/plugins/form/classes/form.php @@ -0,0 +1,720 @@ +page = $page->route(); + + $header = $page->header(); + $this->rules = isset($header->rules) ? $header->rules : []; + $this->header_data = isset($header->data) ? $header->data : []; + + if ($form) { + $this->items = $form; + } else { + if (isset($header->form)) { + $this->items = $header->form; // for backwards compatibility + } + } + + // Add form specific rules. + if (!empty($this->items['rules']) && is_array($this->items['rules'])) { + $this->rules += $this->items['rules']; + } + + // Set form name if not set. + if ($name && !is_int($name)) { + $this->items['name'] = $name; + } elseif (empty($this->items['name'])) { + $this->items['name'] = $page->slug(); + } + + // Set form id if not set. + if (empty($this->items['id'])) { + $inflector = new Inflector(); + $this->items['id'] = $inflector->hyphenize($this->items['name']); + } + + // Reset and initialize the form + $this->reset(); + } + + /** + * Custom serializer for this complex object + * + * @return string + */ + public function serialize() + { + $data = [ + 'items' => $this->items, + 'message' => $this->message, + 'status' => $this->status, + 'header_data' => $this->header_data, + 'rules' => $this->rules, + 'data' => $this->data->toArray(), + 'values' => $this->values->toArray(), + 'page' => $this->page + ]; + return serialize($data); + } + + /** + * Custom unserializer for this complex object + * + * @param string $data + */ + public function unserialize($data) + { + $data = unserialize($data); + + $this->items = $data['items']; + $this->message = $data['message']; + $this->status = $data['status']; + $this->header_data = $data['header_data']; + $this->rules = $data['rules']; + + $name = $this->items['name']; + $items = $this->items; + $rules = $this->rules; + + $blueprint = function () use ($name, $items, $rules) { + $blueprint = new Blueprint($name, ['form' => $items, 'rules' => $rules]); + return $blueprint->load()->init(); + }; + + $this->data = new Data($data['data'], $blueprint); + $this->values = new Data($data['values']); + $this->page = $data['page']; + } + + /** + * Allow overriding of fields + * + * @param $fields + */ + public function setFields($fields) + { + $this->fields = $fields; + } + + /** + * Get the name of this form + * + * @return String + */ + public function name() + { + return $this->items['name']; + } + + /** + * Reset data. + */ + public function reset() + { + $name = $this->items['name']; + $grav = Grav::instance(); + + // Fix naming for fields (supports nested fields now!) + if (isset($this->items['fields'])) { + $this->items['fields'] = $this->processFields($this->items['fields']); + } + + $items = $this->items; + $rules = $this->rules; + + $blueprint = function() use ($name, $items, $rules) { + $blueprint = new Blueprint($name, ['form' => $items, 'rules' => $rules]); + return $blueprint->load()->init(); + }; + + $this->data = new Data($this->header_data, $blueprint); + $this->values = new Data(); + // Reset fields to null before calling fields() -- Do not remove: + $this->fields = null; + $this->fields = $this->fields(); + + // Fire event + $grav->fireEvent('onFormInitialized', new Event(['form' => $this])); + } + + protected function processFields($fields) + { + $types = Grav::instance()['plugins']->formFieldTypes; + + $return = array(); + foreach ($fields as $key => $value) { + // default to text if not set + if (!isset($value['type'])) { + $value['type'] = 'text'; + } + + // manually merging the field types + if ($types !== null && array_key_exists($value['type'], $types)) { + $value += $types[$value['type']]; + } + + // Fix numeric indexes + if (is_numeric($key) && isset($value['name'])) { + $key = $value['name']; + } + if (isset($value['fields']) && is_array($value['fields'])) { + $value['fields'] = $this->processFields($value['fields']); + } + $return[$key] = $value; + } + return $return; + } + + public function fields() + { + + if (null === $this->fields) { + $blueprint = $this->data->blueprints(); + + if (method_exists($blueprint, 'load')) { + // init the form to process directives + $blueprint->load()->init(); + + // fields set to processed blueprint fields + $this->fields = $blueprint->fields(); + } + } + + return $this->fields; + } + + /** + * Return page object for the form. + * + * @return Page + */ + public function page() + { + return Grav::instance()['pages']->dispatch($this->page); + } + + /** + * Get value of given variable (or all values). + * First look in the $data array, fallback to the $values array + * + * @param string $name + * + * @return mixed + */ + public function value($name = null, $fallback = false) + { + if (!$name) { + return $this->data; + } + + if ($this->data->get($name)) { + return $this->data->get($name); + } + + if ($fallback) { + return $this->values->get($name); + } + + return null; + } + + /** + * Set value of given variable in the values array + * + * @param string $name + */ + public function setValue($name = null, $value = '') + { + if (!$name) { + return; + } + + $this->values->set($name, $value); + } + + /** + * Get a value from the form + * + * @param $name + * @return mixed + */ + public function getValue($name) + { + return $this->values->get($name); + } + + /** + * Get all data + * + * @return Data + */ + public function getData() + { + return $this->data; + } + + /** + * Set value of given variable in the data array + * + * @param string $name + * @param string $value + * + * @return bool + */ + public function setData($name = null, $value = '') + { + if (!$name) { + return false; + } + + $this->data->set($name, $value); + + return true; + } + + public function setAllData($array) + { + $this->data = new Data($array); + } + + /** + * Handles ajax upload for files. + * Stores in a flash object the temporary file and deals with potential file errors. + * + * @return mixed True if the action was performed. + */ + public function uploadFiles() + { + $post = $_POST; + $grav = Grav::instance(); + $uri = $grav['uri']->url; + $config = $grav['config']; + $session = $grav['session']; + + $settings = $this->data->blueprints()->schema()->getProperty($post['name']); + $settings = (object) array_merge( + ['destination' => $config->get('plugins.form.files.destination', 'self@'), + 'avoid_overwriting' => $config->get('plugins.form.files.avoid_overwriting', false), + 'random_name' => $config->get('plugins.form.files.random_name', false), + 'accept' => $config->get('plugins.form.files.accept', ['image/*']), + 'limit' => $config->get('plugins.form.files.limit', 10), + 'filesize' => $this->getMaxFilesize(), + ], + (array) $settings, + ['name' => $post['name']] + ); + + $upload = $this->normalizeFiles($_FILES['data'], $settings->name); + + // Handle errors and breaks without proceeding further + if ($upload->file->error != UPLOAD_ERR_OK) { + // json_response + return [ + 'status' => 'error', + 'message' => sprintf($grav['language']->translate('PLUGIN_FORM.FILEUPLOAD_UNABLE_TO_UPLOAD', null, true), $upload->file->name, $this->upload_errors[$upload->file->error]) + ]; + } + + // Handle bad filenames. + $filename = $upload->file->name; + if (strtr($filename, "\t\n\r\0\x0b", '_____') !== $filename || rtrim($filename, ". ") !== $filename || preg_match('|\.php|', $filename)) { + $this->admin->json_response = [ + 'status' => 'error', + 'message' => sprintf($this->admin->translate('PLUGIN_ADMIN.FILEUPLOAD_UNABLE_TO_UPLOAD', null), + $filename, 'Bad filename') + ]; + + return false; + } + + // Remove the error object to avoid storing it + unset($upload->file->error); + + + // Handle Accepted file types + // Accept can only be mime types (image/png | image/*) or file extensions (.pdf|.jpg) + $accepted = false; + $errors = []; + foreach ((array) $settings->accept as $type) { + // Force acceptance of any file when star notation + if ($type === '*') { + $accepted = true; + break; + } + + $isMime = strstr($type, '/'); + $find = str_replace('*', '.*', $type); + + $match = preg_match('#'. $find .'$#', $isMime ? $upload->file->type : $upload->file->name); + if (!$match) { + $message = $isMime ? 'The MIME type "' . $upload->file->type . '"' : 'The File Extension'; + $errors[] = $message . ' for the file "' . $upload->file->name . '" is not an accepted.'; + $accepted |= false; + } else { + $accepted |= true; + } + } + + if (!$accepted) { + // json_response + return [ + 'status' => 'error', + 'message' => implode('
                                                                        ', $errors) + ]; + } + + + // Handle file size limits + $settings->filesize *= self::BYTES_TO_MB; // 1024 * 1024 [MB in Bytes] + if ($settings->filesize > 0 && $upload->file->size > $settings->filesize) { + // json_response + return [ + 'status' => 'error', + 'message' => $grav['language']->translate('PLUGIN_FORM.EXCEEDED_GRAV_FILESIZE_LIMIT') + ]; + } + + + // we need to move the file at this stage or else + // it won't be available upon save later on + // since php removes it from the upload location + $tmp_dir = $grav['locator']->findResource('tmp://', true, true); + $tmp_file = $upload->file->tmp_name; + $tmp = $tmp_dir . '/uploaded-files/' . basename($tmp_file); + + Folder::create(dirname($tmp)); + if (!move_uploaded_file($tmp_file, $tmp)) { + // json_response + return [ + 'status' => 'error', + 'message' => sprintf($grav['language']->translate('PLUGIN_FORM.FILEUPLOAD_UNABLE_TO_MOVE', null, true), '', $tmp) + ]; + } + + $upload->file->tmp_name = $tmp; + + // Retrieve the current session of the uploaded files for the field + // and initialize it if it doesn't exist + $sessionField = base64_encode($uri); + $flash = $session->getFlashObject('files-upload'); + if (!$flash) { + $flash = []; + } + if (!isset($flash[$sessionField])) { + $flash[$sessionField] = []; + } + if (!isset($flash[$sessionField][$upload->field])) { + $flash[$sessionField][$upload->field] = []; + } + + // Set destination + $destination = Folder::getRelativePath(rtrim($settings->destination, '/')); + $destination = $this->getPagePathFromToken($destination); + + // Create destination if needed + if (!is_dir($destination)) { + Folder::mkdir($destination); + } + + // Generate random name if required + if ($settings->random_name) { + $extension = pathinfo($upload->file->name)['extension']; + $upload->file->name = Utils::generateRandomString(15) . '.' . $extension; + } + + // Handle conflicting name if needed + if ($settings->avoid_overwriting) { + if (file_exists($destination . '/' . $upload->file->name)) { + $upload->file->name = date('YmdHis') . '-' . $upload->file->name; + } + } + + // Prepare object for later save + $path = $destination . '/' . $upload->file->name; + $upload->file->path = $path; + // $upload->file->route = $page ? $path : null; + + // Prepare data to be saved later + $flash[$sessionField][$upload->field][$path] = (array) $upload->file; + + // Finally store the new uploaded file in the field session + $session->setFlashObject('files-upload', $flash); + + + // json_response + return [ + 'status' => 'success', + 'session' => \json_encode([ + 'sessionField' => base64_encode($uri), + 'path' => $upload->file->path, + 'field' => $settings->name + ]) + ]; + } + + /** + * Handle form processing on POST action. + */ + public function post() + { + $grav = Grav::instance(); + $uri = $grav['uri']->url; + $session = $grav['session']; + + if (isset($_POST)) { + $this->values = new Data(isset($_POST) ? (array)$_POST : []); + $data = $this->values->get('data'); + + // Add post data to form dataset + if (!$data) { + $data = $this->values->toArray(); + } + + + if (!$this->values->get('form-nonce') || !Utils::verifyNonce($this->values->get('form-nonce'), 'form')) { + $this->status = 'error'; + $event = new Event(['form' => $this, + 'message' => $grav['language']->translate('PLUGIN_FORM.NONCE_NOT_VALIDATED') + ]); + $grav->fireEvent('onFormValidationError', $event); + + return; + } + + + $i = 0; + foreach ($this->items['fields'] as $key => $field) { + $name = isset($field['name']) ? $field['name'] : $key; + if (!isset($field['name'])) { + if (isset($data[$i])) { //Handle input@ false fields + $data[$name] = $data[$i]; + unset($data[$i]); + } + } + if ($field['type'] === 'checkbox') { + $data[$name] = isset($data[$name]) ? true : false; + } + $i++; + } + + $this->data->merge($data); + } + + // Validate and filter data + try { + $this->data->validate(); + $this->data->filter(); + + $grav->fireEvent('onFormValidationProcessed', new Event(['form' => $this])); + } catch (ValidationException $e) { + $this->status = 'error'; + $event = new Event(['form' => $this, 'message' => $e->getMessage(), 'messages' => $e->getMessages()]); + $grav->fireEvent('onFormValidationError', $event); + if ($event->isPropagationStopped()) { + return; + } + } catch (\RuntimeException $e) { + $this->status = 'error'; + $event = new Event(['form' => $this, 'message' => $e->getMessage(), 'messages' => []]); + $grav->fireEvent('onFormValidationError', $event); + if ($event->isPropagationStopped()) { + return; + } + } + + // Process previously uploaded files for the current URI + // and finally store them. Everything else will get discarded + $queue = $session->getFlashObject('files-upload'); + $queue = $queue[base64_encode($uri)]; + if (is_array($queue)) { + foreach ($queue as $key => $files) { + foreach ($files as $destination => $file) { + if (!rename($file['tmp_name'], $destination)) { + throw new \RuntimeException(sprintf($grav['language']->translate('PLUGIN_FORM.FILEUPLOAD_UNABLE_TO_MOVE', null, true), '"' . $file['tmp_name'] . '"', $destination)); + } + + unset($files[$destination]['tmp_name']); + } + + $this->data->merge([$key => $files]); + } + } + + $process = isset($this->items['process']) ? $this->items['process'] : []; + if (is_array($process)) { + $event = null; + foreach ($process as $action => $data) { + if (is_numeric($action)) { + $action = \key($data); + $data = $data[$action]; + } + + $previousEvent = $event; + $event = new Event(['form' => $this, 'action' => $action, 'params' => $data]); + + if ($previousEvent) { + if (!$previousEvent->isPropagationStopped()) { + $grav->fireEvent('onFormProcessed', $event); + } else { + break; + } + } else { + $grav->fireEvent('onFormProcessed', $event); + } + } + } + } + + public function getPagePathFromToken($path) + { + return Utils::getPagePathFromToken($path, $this->page()); + } + + /** + * Internal method to normalize the $_FILES array + * + * @param array $data $_FILES starting point data + * @param string $key + * @return object a new Object with a normalized list of files + */ + protected function normalizeFiles($data, $key = '') + { + $files = new \stdClass(); + $files->field = $key; + $files->file = new \stdClass(); + + foreach ($data as $fieldName => $fieldValue) { + // Since Files Upload are always happening via Ajax + // we are not interested in handling `multiple="true"` + // because they are always handled one at a time. + // For this reason we normalize the value to string, + // in case it is arriving as an array. + $value = (array) Utils::getDotNotation($fieldValue, $key); + $files->file->{$fieldName} = array_shift($value); + } + + return $files; + } + + /** + * Get the nonce for a form + * + * @return string + */ + public static function getNonce() + { + $action = 'form-plugin'; + return Utils::getNonce($action); + } + + /** + * Get the configured max file size in bytes + * + * @param bool $mbytes return size in MB + * @return int + */ + public static function getMaxFilesize($mbytes = false) + { + $config = Grav::instance()['config']; + + $filesize_mb = (float)$config->get('plugins.form.files.filesize', 0) * static::BYTES_TO_MB; + $system_filesize = $config->get('system.media.upload_limit', 0); + if ($filesize_mb > $system_filesize || $filesize_mb === 0) { + $filesize_mb = $system_filesize; + } + + if ($mbytes) { + return $filesize_mb; + } + + return $filesize_mb / static::BYTES_TO_MB; + } + + public function responseCode($code = null) + { + if ($code) { + $this->response_code = $code; + } + return $this->response_code; + } +} diff --git a/user/plugins/form/form.php b/user/plugins/form/form.php new file mode 100644 index 0000000..2c105d9 --- /dev/null +++ b/user/plugins/form/form.php @@ -0,0 +1,728 @@ + 1000 + ]; + + /** + * @var Form + */ + protected $form; + + protected $forms = []; + + protected $flat_forms = []; + + protected $json_response = []; + + protected $recache_forms = false; + + + /** + * @return array + */ + public static function getSubscribedEvents() + { + return [ + 'onPluginsInitialized' => ['onPluginsInitialized', 0], + 'onTwigTemplatePaths' => ['onTwigTemplatePaths', 0] + ]; + } + + /** + * Initialize forms from cache if possible + */ + public function onPluginsInitialized() + { + require_once(__DIR__ . '/classes/form.php'); + + if ($this->isAdmin()) { + $this->enable([ + 'onPagesInitialized' => ['onPagesInitialized', 0] + ]); + return; + } + + $this->enable([ + 'onPageProcessed' => ['onPageProcessed', 0], + 'onPagesInitialized' => ['onPagesInitialized', 0], + 'onTwigInitialized' => ['onTwigInitialized', 0], + 'onTwigPageVariables' => ['onTwigVariables', 0], + 'onTwigSiteVariables' => ['onTwigVariables', 0], + 'onFormValidationProcessed' => ['onFormValidationProcessed', 0], + ]); + } + + /** + * Process forms after page header processing, but before caching + * + * @param Event $e + */ + public function onPageProcessed(Event $e) + { + /** @var Page $page */ + $page = $e['page']; + $page_route = $page->route(); + + if ($page->home()) { + $page_route = '/'; + } + + $header = $page->header(); + + //call event to allow filling the page header form dynamically (e.g. use case: Comments plugin) + $this->grav->fireEvent('onFormPageHeaderProcessed', new Event(['header' => $header])); + + if ((isset($header->forms) && is_array($header->forms)) || + (isset($header->form) && is_array($header->form))) { + $page_forms = []; + + // Force never_cache_twig if modular form + if ($page->modular()) { + $header->never_cache_twig = true; + } + + // Get the forms from the page headers + if (isset($header->forms)) { + $page_forms = $header->forms; + } elseif (isset($header->form)) { + $page_forms[] = $header->form; + } + + // Store the page forms in the forms instance + foreach ($page_forms as $name => $page_form) { + $form = new Form($page, $name, $page_form); + $this->addForm($page_route, $form); + } + } + } + + /** + * Add a form to the forms plugin + * + * @param $page_route + * @param $form + */ + public function addForm($page_route, $form) + { + + $form_array = [$form['name'] => $form]; + if (array_key_exists($page_route, $this->forms)) { + if (!isset($this->form[$page_route][$form['name']])) { + $this->forms[$page_route] = array_merge($this->forms[$page_route], $form_array); + } + } else { + $this->forms[$page_route] = $form_array; + + } + + $this->flattenForms(); + $this->recache_forms = true; + } + + /** + * Initialize form if the page has one. Also catches form processing if user posts the form. + */ + public function onPagesInitialized() + { + $submitted = false; + $this->json_response = []; + $cache_id = $this->grav['pages']->getPagesCacheId() . '-form-plugin'; + + // Get and set the cache of forms if it exists + list($forms, $flat_forms) = $this->grav['cache']->fetch($cache_id); + + // Only store the forms if they are an array + if (is_array($forms)) { + $this->forms = array_merge($this->forms, $forms); + } + + // Only store the flat_forms if they are an array + if (is_array($flat_forms)) { + $this->flat_forms = array_merge($this->flat_forms, $flat_forms); + } + + // Save the current state of the forms to cache + if ($this->recache_forms) { + $this->grav['cache']->save($cache_id, [$this->forms, $this->flat_forms]); + } + + // Enable form events if there's a POST + if ($this->shouldProcessForm()) { + $this->enable([ + 'onFormProcessed' => ['onFormProcessed', 0], + 'onFormValidationError' => ['onFormValidationError', 0], + 'onFormFieldTypes' => ['onFormFieldTypes', 0], + ]); + + // Post the form + if ($this->form()) { + if ($this->grav['uri']->extension() === 'json' && isset($_POST['__form-file-uploader__'])) { + $this->json_response = $this->form->uploadFiles(); + } else { + $this->form->post(); + $submitted = true; + } + } + + // Clear flash objects for previously uploaded files + // whenever the user switches page / reloads + // ignoring any JSON / extension call + if (null === $this->grav['uri']->extension() && !$submitted) { + // Discard any previously uploaded files session. + // and if there were any uploaded file, remove them from the filesystem + if ($flash = $this->grav['session']->getFlashObject('files-upload')) { + $flash = new \RecursiveIteratorIterator(new \RecursiveArrayIterator($flash)); + foreach ($flash as $key => $value) { + if ($key !== 'tmp_name') { + continue; + } + @unlink($value); + } + } + } + } + } + + /** + * Add simple `forms()` Twig function + */ + public function onTwigInitialized() + { + $this->grav['twig']->twig()->addFunction( + new \Twig_SimpleFunction('forms', [$this, 'getForm']) + ); + + $this->grav['twig']->twig()->getExtension('Twig_Extension_Core')->setEscaper('yaml', function($twig, $string, $charset) { + return Yaml::dump($string); + } + ); + + } + + /** + * Add current directory to twig lookup paths. + */ + public function onTwigTemplatePaths() + { + $this->grav['twig']->twig_paths[] = __DIR__ . '/templates'; + } + + /** + * Make form accessible from twig. + * + * @param Event $event + */ + public function onTwigVariables(Event $event = null) + { + if ($event !== null && isset($event['page'])) { + $page = $event['page']; + } else { + $page = $this->grav['page']; + } + + $twig = $this->grav['twig']; + + if (!isset($twig->twig_vars['form'])) { + $twig->twig_vars['form'] = $this->form($page); + } + + if ($this->config->get('plugins.form.built_in_css')) { + $this->grav['assets']->addCss('plugin://form/assets/form-styles.css'); + } + $twig->twig_vars['form_max_filesize'] = Form::getMaxFilesize(); + $twig->twig_vars['form_json_response'] = $this->json_response; + } + + /** + * Handle form processing instructions. + * + * @param Event $event + * @throws \Exception + */ + public function onFormProcessed(Event $event) + { + $form = $event['form']; + $action = $event['action']; + $params = $event['params']; + + $this->process($form); + + switch ($action) { + case 'captcha': + if (isset($params['recaptcha_secret'])) { + $recaptchaSecret = $params['recaptcha_secret']; + } elseif (isset($params['recatpcha_secret'])) { + // Included for backwards compatibility with typo (issue #51) + $recaptchaSecret = $params['recatpcha_secret']; + } else { + $recaptchaSecret = $this->config->get('plugins.form.recaptcha.secret_key'); + } + + // Validate the captcha + $query = http_build_query([ + 'secret' => $recaptchaSecret, + 'response' => $form->value('g-recaptcha-response', true) + ]); + $url = 'https://www.google.com/recaptcha/api/siteverify?' . $query; + $response = json_decode(file_get_contents($url), true); + + if (!isset($response['success']) || $response['success'] !== true) { + $this->grav->fireEvent('onFormValidationError', new Event([ + 'form' => $form, + 'message' => $this->grav['language']->translate('PLUGIN_FORM.ERROR_VALIDATING_CAPTCHA') + ])); + $event->stopPropagation(); + + return; + } + break; + case 'ip': + $label = isset($params['label']) ? $params['label'] : 'User IP'; + $blueprint = $form->value()->blueprints(); + $blueprint->set('form/fields/ip', ['name'=>'ip', 'label'=> $label]); + $form->setFields($blueprint->fields()); + $form->setData('ip', Uri::ip()); + break; + case 'message': + $translated_string = $this->grav['language']->translate($params); + $vars = array( + 'form' => $form + ); + + /** @var Twig $twig */ + $twig = $this->grav['twig']; + $processed_string = $twig->processString($translated_string, $vars); + + $form->message = $processed_string; + break; + case 'redirect': + $this->grav['session']->setFlashObject('form', $form); + $url = ((string)$params); + $vars = array( + 'form' => $form + ); + /** @var Twig $twig */ + $twig = $this->grav['twig']; + $url = $twig->processString($url, $vars); + $this->grav->redirect($url); + break; + case 'reset': + if (Utils::isPositive($params)) { + $form->reset(); + } + break; + case 'display': + $route = (string)$params; + if (!$route || $route[0] !== '/') { + /** @var Uri $uri */ + $uri = $this->grav['uri']; + $route = rtrim($uri->route(), '/'). '/' . ($route ?: ''); + } + + /** @var Twig $twig */ + $twig = $this->grav['twig']; + $twig->twig_vars['form'] = $form; + + /** @var Pages $pages */ + $pages = $this->grav['pages']; + $page = $pages->dispatch($route, true); + + if (!$page) { + throw new \RuntimeException('Display page not found. Please check the page exists.', 400); + } + + unset($this->grav['page']); + $this->grav['page'] = $page; + break; + case 'remember': + foreach ($params as $remember_field) { + $field_cookie = 'forms-'.$form['name'].'-'.$remember_field; + setcookie($field_cookie, $form->value($remember_field), time()+60*60*24*60); + } + break; + case 'save': + $prefix = !empty($params['fileprefix']) ? $params['fileprefix'] : ''; + $format = !empty($params['dateformat']) ? $params['dateformat'] : 'Ymd-His-u'; + $ext = !empty($params['extension']) ? '.' . trim($params['extension'], '.') : '.txt'; + $filename = !empty($params['filename']) ? $params['filename'] : ''; + $operation = !empty($params['operation']) ? $params['operation'] : 'create'; + + if (!$filename) { + $filename = $prefix . $this->udate($format) . $ext; + } + + /** @var Twig $twig */ + $twig = $this->grav['twig']; + $vars = [ + 'form' => $form + ]; + + // Process with Twig + $filename = $twig->processString($filename, $vars); + + $locator = $this->grav['locator']; + $path = $locator->findResource('user://data', true); + $dir = $path . DS . $form->name(); + $fullFileName = $dir. DS . $filename; + + $file = File::instance($fullFileName); + + if ($operation === 'create') { + $body = $twig->processString(!empty($params['body']) ? $params['body'] : '{% include "forms/data.txt.twig" %}', + $vars); + $file->save($body); + } elseif ($operation === 'add') { + if (!empty($params['body'])) { + // use body similar to 'create' action and append to file as a log + $body = $twig->processString($params['body'], $vars); + + // create folder if it doesn't exist + if (!file_exists($dir)) { + Folder::create($dir); + } + + // append data to existing file + file_put_contents($fullFileName, $body, FILE_APPEND | LOCK_EX); + } else { + // serialize YAML out to file for easier parsing as data sets + $vars = $vars['form']->value()->toArray(); + + foreach ($form->fields as $field) { + if (!empty($field['process']['ignore'])) { + unset($vars[$field['name']]); + } + } + + if (file_exists($fullFileName)) { + $data = Yaml::parse($file->content()); + if (count($data) > 0) { + array_unshift($data, $vars); + } else { + $data[] = $vars; + } + } else { + $data[] = $vars; + } + + $file->save(Yaml::dump($data)); + } + } + break; + } + } + + /** + * Custom field logic can go in here + * + * @param Event $event + */ + public function onFormValidationProcessed(Event $event) + { + // special check for honeypot field + foreach ($event['form']->fields() as $field) { + if ($field['type'] === 'honeypot' && !empty($event['form']->value($field['name']))) { + throw new ValidationException('Are you a bot?'); + } + } + } + + /** + * Handle form validation error + * + * @param Event $event An event object + * @throws \Exception + */ + public function onFormValidationError(Event $event) + { + $form = $event['form']; + if (isset($event['message'])) { + $form->status = 'error'; + $form->message = $event['message']; + $form->messages = $event['messages']; + } + + $uri = $this->grav['uri']; + $route = $uri->route(); + + /** @var Twig $twig */ + $twig = $this->grav['twig']; + $twig->twig_vars['form'] = $form; + + /** @var Pages $pages */ + $pages = $this->grav['pages']; + $page = $pages->dispatch($route, true); + + if ($page) { + unset($this->grav['page']); + $this->grav['page'] = $page; + } + + $event->stopPropagation(); + } + + /** + * Get list of form field types specified in this plugin. Only special types needs to be listed. + * + * @return array + */ + public function getFormFieldTypes() + { + return [ + 'column' => [ + 'input@' => false + ], + 'columns' => [ + 'input@' => false + ], + 'fieldset' => [ + 'input@' => false + ], + 'conditional' => [ + 'input@' => false + ], + 'display' => [ + 'input@' => false + ], + 'spacer' => [ + 'input@' => false + ], + 'captcha' => [ + 'input@' => false + ] + ]; + } + + /** + * Process a form + * + * Currently available processing tasks: + * + * - fillWithCurrentDateTime + * + * @param Form $form + */ + protected function process($form) + { + foreach ($form->fields as $field) { + if (!empty($field['process']['fillWithCurrentDateTime'])) { + $form->setData($field['name'], gmdate('D, d M Y H:i:s', time())); + } + } + } + + /** + * Create unix timestamp for storing the data into the filesystem. + * + * @param string $format + * @param int $utimestamp + * + * @return string + */ + private function udate($format = 'u', $utimestamp = null) + { + if (null === $utimestamp) { + $utimestamp = microtime(true); + } + + $timestamp = floor($utimestamp); + $milliseconds = round(($utimestamp - $timestamp) * 1000000); + + return date(preg_replace('`(?slug(); + } + + return $name; + } + + /** + * function to get a specific form + * + * @param null|array|string $data optional form `name` + * + * @return null|Form + */ + public function getForm($data = null) + { + $page_route = null; + $form_name = null; + + if (is_array($data)) { + if (isset($data['name'])) { + $form_name = $data['name']; + } + if (isset($data['route'])) { + $page_route = $data['route']; + } + } elseif (is_string($data)) { + $form_name = $data; + } + + // if no form name, use the first form found in the page + if (!$form_name) { + // If page route not provided, use the current page + if (!$page_route) { + // Get page route + $page_route = $this->grav['page']->route(); + + // fallback using current URI if page not initialized yet + if (!$page_route) { + $page_route = $this->getCurrentPageRoute(); + } + } + + if (isset($this->forms[$page_route])) { + $forms = $this->forms[$page_route]; + $first_form = array_shift($forms); + $form_name = $first_form['name']; + } else { + //No form on this route. Try looking up in the current page first + return new Form($this->grav['page']); + } + } + + // return the form you are looking for if available + return $this->getFormByName($form_name); + } + + /** + * Get current page's route + * + * @return mixed + */ + protected function getCurrentPageRoute() + { + $path = $this->grav['uri']->route(); + $path = $path ?: '/'; + return $path; + } + + /** + * Retrieve a form based on the form name + * + * @param $form_name + * @return mixed + */ + protected function getFormByName($form_name) + { + if (array_key_exists($form_name, $this->flat_forms)) { + return $this->flat_forms[$form_name]; + } + return null; + } + + /** + * Determine if the page has a form submission that should be processed + * + * @return bool + */ + protected function shouldProcessForm() + { + $status = isset($_POST) && isset($_POST['form-nonce']); + $refresh_prevention = null; + + if ($status && $this->form()) { + // Set page template if passed by form + if (isset($this->form->template)) { + $this->grav['page']->template($this->form->template); + } + + if (!is_null($this->form->refresh_prevention)) { + $refresh_prevention = (bool) $this->form->refresh_prevention; + } else { + $refresh_prevention = $this->config->get('plugins.form.refresh_prevention', false); + } + + $unique_form_id = filter_input(INPUT_POST, '__unique_form_id__', FILTER_SANITIZE_STRING); + + if ($refresh_prevention && $unique_form_id) { + if (($this->grav['session']->unique_form_id != $unique_form_id)) { + $this->grav['session']->unique_form_id = $unique_form_id; + } else { + $status = false; + $this->form->message = $this->grav['language']->translate('PLUGIN_FORM.FORM_ALREADY_SUBMITTED'); + $this->form->status = 'error'; + } + } + } + + return $status; + } + + /** + * Flatten the forms array into something that can be more easily searched + */ + protected function flattenForms() + { + $this->flat_forms = Utils::arrayFlatten($this->forms); + } + + /** + * Get the current form, should already be processed but can get it directly from the page if necessary + * + * @param null $page + * @return Form|mixed + */ + protected function form($page = null) + { + // Regenerate list of flat_forms if not already populated + if (empty($this->flat_forms)) { + $this->flattenForms(); + } + + if (null === $this->form) { + $current_form_name = $this->getFormName($this->grav['page']); + $this->form = $this->getFormByName($current_form_name); + } + + // last attempt using current page's form + if (null == $this->form) { + + // try to get the page if possible + if ($page == null) { + $page = $this->grav['page']; + } + + if ($page) { + $header = $page->header(); + + if (isset($header->form)) { + $this->form = new Form($page); + } + + } + + } + return $this->form; + } +} diff --git a/user/plugins/form/form.yaml b/user/plugins/form/form.yaml new file mode 100644 index 0000000..44c8154 --- /dev/null +++ b/user/plugins/form/form.yaml @@ -0,0 +1,12 @@ +enabled: true +built_in_css: true +refresh_prevention: false +files: + multiple: false # To allow multiple files, default is single + limit: 10 # Number of allowed files per field (multiple required) + destination: 'self@' # Where to upload the files (path and self@, page@, theme@) + avoid_overwriting: false # Prevent files with the same name to be overridden. Date prefix will be added + random_name: false # Generate a random 15 long string name for the uploaded files + filesize: 0 # Maximum file size allowed (in MB) + accept: # List of mime/types or file extensions allowed (ie, image/*,.zip,.mp4) + - image/* diff --git a/user/plugins/form/gulpfile.js b/user/plugins/form/gulpfile.js new file mode 100644 index 0000000..270824c --- /dev/null +++ b/user/plugins/form/gulpfile.js @@ -0,0 +1,53 @@ +'use strict'; + +var gulp = require('gulp'), + util = require('util'), + path = require('path'), + immutable = require('immutable'), + gulpWebpack = require('gulp-webpack'), + webpack = require('webpack'), + sourcemaps = require('gulp-sourcemaps'), + exec = require('child_process').execSync, + pwd = exec('pwd').toString(); + +var plugins = {}, + base = immutable.fromJS(require('./webpack.conf.js')), + options = { + prod: base.mergeDeep({ + devtool: 'source-map', + plugins: [ + new webpack.DefinePlugin({ + 'process.env': { NODE_ENV: '"production"' } + }), + new webpack.optimize.UglifyJsPlugin({ + sourceMap: true, + compress: { + warnings: false + } + }), + new webpack.ProvidePlugin(plugins) + ], + output: { + filename: 'form.min.js' + } + }) + }; + +var compileJS = function(watch) { + var prodOpts = options.prod.set('watch', watch); + + return gulp.src('app/main.js') + .pipe(gulpWebpack(prodOpts.toJS())) + .pipe(gulp.dest('assets/')); +}; + +gulp.task('js', function() { + compileJS(false); +}); + +gulp.task('watch', function() { + compileJS(true); +}); + +gulp.task('all', ['js']); +gulp.task('default', ['all']); \ No newline at end of file diff --git a/user/plugins/form/hebe.json b/user/plugins/form/hebe.json new file mode 100644 index 0000000..861d235 --- /dev/null +++ b/user/plugins/form/hebe.json @@ -0,0 +1,15 @@ +{ + "project":"grav-plugin-form", + "platforms":{ + "grav":{ + "nodes":{ + "plugin":[ + { + "source":"/", + "destination":"/user/plugins/form" + } + ] + } + } + } +} diff --git a/user/plugins/form/languages.yaml b/user/plugins/form/languages.yaml new file mode 100644 index 0000000..565ec8f --- /dev/null +++ b/user/plugins/form/languages.yaml @@ -0,0 +1,374 @@ +en: + PLUGIN_FORM: + NOT_VALIDATED: "Form not validated. One or more required fields are missing." + NONCE_NOT_VALIDATED: "Oops there was a problem, please check your input and submit the form again." + FILES: "Files Upload" + FORM_ALREADY_SUBMITTED: "This form has already been submitted." + ALLOW_MULTIPLE: "Allow More than one file" + ALLOW_MULTIPLE_HELP: "Allows to select more than one file for upload." + DESTINATION: "Destination" + DESTINATION_HELP: "The location where the files should be uploaded to" + ACCEPT: "Allowed MIME Types" + ACCEPT_HELP: "A list of MIME Types that are allowed for upload" + ERROR_VALIDATING_CAPTCHA: "Error validating the Captcha" + DATA_SUMMARY: "Here is the summary of what you wrote to us:" + NO_FORM_DATA: "No form data available" + RECAPTCHA: "ReCaptcha" + RECAPTCHA_SITE_KEY: "Site key" + RECAPTCHA_SITE_KEY_HELP: "For more info visit https://developers.google.com/recaptcha" + RECAPTCHA_SECRET_KEY: "Secret key" + RECAPTCHA_SECRET_KEY_HELP: "For more info visit https://developers.google.com/recaptcha" + GENERAL: "General" + USE_BUILT_IN_CSS: "Use built-in CSS" + FILEUPLOAD_PREVENT_SELF: 'Cannot use "%s" outside of pages.' + FILEUPLOAD_UNABLE_TO_UPLOAD: 'Unable to upload file %s: %s' + FILEUPLOAD_UNABLE_TO_MOVE: 'Unable to move file %s to "%s"' + DROPZONE_CANCEL_UPLOAD: 'Cancel upload' + DROPZONE_CANCEL_UPLOAD_CONFIRMATION: 'Are you sure you want to cancel this upload?' + DROPZONE_DEFAULT_MESSAGE: 'Drop your files here or click in this area' + DROPZONE_FALLBACK_MESSAGE: 'Your browser does not support drag and drop file uploads.' + DROPZONE_FALLBACK_TEXT: 'Please use the fallback form below to upload your files like in the olden days.' + DROPZONE_FILE_TOO_BIG: 'File is too big ({{filesize}}MiB). Max filesize: {{maxFilesize}}MiB.' + DROPZONE_INVALID_FILE_TYPE: "You can't upload files of this type." + DROPZONE_MAX_FILES_EXCEEDED: "You can not upload any more files." + DROPZONE_REMOVE_FILE: "Remove file" + DROPZONE_REMOVE_FILE_CONFIRMATION: 'Are you sure you want to delete this file?' + DROPZONE_RESPONSE_ERROR: "Server responded with {{statusCode}} code." + YES: "Yes" + NO: "No" + REFRESH_PREVENTION: "Refresh prevention" + REFRESH_PREVENTION_HELP: "Use the form's unique ID to ensure the same form is not reprocessed when refreshing the browser" + LIMIT: "Limit" + LIMIT_HELP: "Maximum number of allowed files per field (multiple required)" + FILESIZE: "Max Filesize" + FILESIZE_HELP: "Maximum file size allowed (in MB), 0 = Use system default" + AVOID_OVERWRITING: "Avoid overwriting" + AVOID_OVERWRITING_HELP: "Prevent files with the same name to be overridden. Date prefix will be added" + RANDOM_NAME: "Random name" + RANDOM_NAME_HELP: "Generate a random 15 long string name for the uploaded files" + +de: + PLUGIN_FORM: + NOT_VALIDATED: "Formularwerte nicht gültig. Für ein oder mehrere erforderliche Felder fehlen Werte." + NONCE_NOT_VALIDATED: "Ups, es gibt da ein Problem. Eingabewerte bitte noch mal prüfen und das Formular erneut absenden." + FILES: "Dateien hochladen" + ALLOW_MULTIPLE: "Erlaube mehr als eine Datei" + ALLOW_MULTIPLE_HELP: "Erlaubt es, mehr als eine Datei zum Hochladen auszuwählen." + DESTINATION: "Ziel" + DESTINATION_HELP: "Das Ziel, wohin die Dateien hochgeladen werden sollen." + ACCEPT: "Erlaube MIME-Typen" + ACCEPT_HELP: "Eine Liste von MIME-Typen, die hochgeladen werden dürfen." + ERROR_VALIDATING_CAPTCHA: "Die Überprüfung des Captcha ist fehlgeschlagen." + +es: + PLUGIN_FORM: + NOT_VALIDATED: "Falló la validación del formulario. Uno o más campos obligatorios no fueron cubiertos." + NONCE_NOT_VALIDATED: "Oops, hay un problema, por favor revise la información e intente enviar el formulario otra vez." + FILES: "Subida de Ficheros" + ALLOW_MULTIPLE: "Permitir más de un fichero" + ALLOW_MULTIPLE_HELP: "Permitir seleccionar más de un fichero para subir." + DESTINATION: "Destino" + DESTINATION_HELP: "El lugar de destino al que subir los ficheros" + ACCEPT: "MIME Types permitidos" + ACCEPT_HELP: "Una lista de MIME Types que se permiten subir." + ERROR_VALIDATING_CAPTCHA: "Error al comprobar el Captcha" + RECAPTCHA: "ReCaptcha" + RECAPTCHA_SITE_KEY: "Site key" + RECAPTCHA_SITE_KEY_HELP: "Para más información visita https://developers.google.com/recaptcha" + RECAPTCHA_SECRET_KEY: "Secret key" + RECAPTCHA_SECRET_KEY_HELP: "Para más información visita https://developers.google.com/recaptcha" + +fr: + PLUGIN_FORM: + NOT_VALIDATED: "Formulaire non validé. Un ou plusieurs champs obligatoires sont manquants." + NONCE_NOT_VALIDATED: "Oups, un problème est survenu. Veuillez vérifier votre saisie et soumettre à nouveau le formulaire." + FILES: "Fichiers chargés" + ALLOW_MULTIPLE: "Autoriser plus d'un fichier" + ALLOW_MULTIPLE_HELP: "Permet la sélection de plusieurs fichiers pour chargement." + DESTINATION: "Destination" + DESTINATION_HELP: "L'emplacement où les fichiers doivent être chargés." + ACCEPT: "Autoriser les Types MIME" + ACCEPT_HELP: "Liste des Types MIME autorisés au chargement" + ERROR_VALIDATING_CAPTCHA: "Erreur lors de la validation du Captcha" + DATA_SUMMARY: "Voici le résumé de ce que vous nous avez écrit :" + NO_FORM_DATA: "Aucune donnée de formulaire disponible" + RECAPTCHA: "ReCaptcha" + RECAPTCHA_SITE_KEY: "Clé du site" + RECAPTCHA_SITE_KEY_HELP: "Pour plus d'informations veuillez vous rendre sur https://developers.google.com/recaptcha" + RECAPTCHA_SECRET_KEY: "Clé secrète" + RECAPTCHA_SECRET_KEY_HELP: "Pour plus d'informations veuillez vous rendre sur https://developers.google.com/recaptcha" + GENERAL: "Général" + USE_BUILT_IN_CSS: "Utiliser les CSS natifs" + FILEUPLOAD_PREVENT_SELF: "Impossible d'utiliser '%s' en dehors des pages." + FILEUPLOAD_UNABLE_TO_UPLOAD: "Impossible de charger le fichier %s: %s" + FILEUPLOAD_UNABLE_TO_MOVE: 'Impossible de déplacer le fichier %s vers "%s"' + DROPZONE_CANCEL_UPLOAD: "Annuler le chargement" + DROPZONE_CANCEL_UPLOAD_CONFIRMATION: "Êtes-vous certain de vouloir annuler ce téléchargement ?" + DROPZONE_DEFAULT_MESSAGE: "Glissez vos fichiers ici ou cliquez dans cette zone" + DROPZONE_FALLBACK_MESSAGE: "Votre navigateur ne prend pas en charge les téléchargements par glissé-déposé." + DROPZONE_FALLBACK_TEXT: "Veuillez utiliser le formulaire de secours ci-dessous pour transférer vos fichiers." + DROPZONE_FILE_TOO_BIG: "Le fichier est trop volumineux ({{filesize}}MiB). Taille maximale de fichier : {{maxFilesize}}MiB." + DROPZONE_INVALID_FILE_TYPE: "Vous ne pouvez pas charger des fichiers de ce type." + DROPZONE_MAX_FILES_EXCEEDED: "Vous ne pouvez plus télécharger de fichiers." + DROPZONE_REMOVE_FILE: "Supprimer le fichier" + DROPZONE_REMOVE_FILE_CONFIRMATION: "Êtes-vous sûr de vouloir supprimer ce fichier ?" + DROPZONE_RESPONSE_ERROR: "Le serveur a répondu avec le code {{statusCode}}." + +ru: + PLUGIN_FORM: + NOT_VALIDATED: "Форма не подтверждена. ОтÑутÑтвует одно или неÑколько обÑзательных полей." + NONCE_NOT_VALIDATED: "УпÑ, у Ð²Ð°Ñ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ»Ð° проблема, проверьте Ñвои данные и отправьте форму еще раз." + FILES: "Загрузка файлов" + FORM_ALREADY_SUBMITTED: "Эта форма уже была отправлена." + ALLOW_MULTIPLE: "Разрешить неÑколько файлов" + ALLOW_MULTIPLE_HELP: "ПозволÑет выбрать более одного файла Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸." + DESTINATION: "МеÑто назначениÑ" + DESTINATION_HELP: "МеÑто, куда файлы должны быть загружены в" + ACCEPT: "Разрешенные MIME типы" + ACCEPT_HELP: "СпиÑок MIME типов, разрешенных Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸" + ERROR_VALIDATING_CAPTCHA: "Ошибка проверки Captcha" + DATA_SUMMARY: "Вот краткое изложение того, что вы нам напиÑали:" + NO_FORM_DATA: "Данные формы отÑутÑтвуют" + RECAPTCHA: "ReCaptcha" + RECAPTCHA_SITE_KEY: "Site key" + RECAPTCHA_SITE_KEY_HELP: "Ð”Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ информации поÑетите https://developers.google.com/recaptcha" + RECAPTCHA_SECRET_KEY: "Secret key" + RECAPTCHA_SECRET_KEY_HELP: "Ð”Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ информации поÑетите https://developers.google.com/recaptcha" + GENERAL: "Общие" + USE_BUILT_IN_CSS: "ИÑпользовать вÑтроенный CSS" + FILEUPLOAD_PREVENT_SELF: 'ÐÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать "%s" за пределами Ñтраниц.' + FILEUPLOAD_UNABLE_TO_UPLOAD: 'Ðе удалоÑÑŒ загрузить файл %s: %s' + FILEUPLOAD_UNABLE_TO_MOVE: 'Ðе удалоÑÑŒ перемеÑтить файл %s в "%s"' + DROPZONE_CANCEL_UPLOAD: 'Отменить загрузку' + DROPZONE_CANCEL_UPLOAD_CONFIRMATION: 'Ð’Ñ‹ дейÑтвительно хотите отменить Ñту загрузку?' + DROPZONE_DEFAULT_MESSAGE: 'Перетащите Ñвои файлы Ñюда или щелкните в Ñтой облаÑти' + DROPZONE_FALLBACK_MESSAGE: 'Ваш браузер не поддерживает загрузку файлов Ñ Ð¿ÐµÑ€ÐµÑ‚Ð°Ñкиванием.' + DROPZONE_FALLBACK_TEXT: 'ПожалуйÑта, иÑпользуйте приведенную ниже форму Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ ваших файлов, как в Ñтарые времена.' + DROPZONE_FILE_TOO_BIG: 'Файл Ñлишком большой ({{filesize}}мб). МакÑимальный размер файла: {{maxFilesize}}мб.' + DROPZONE_INVALID_FILE_TYPE: "Ð’Ñ‹ не можете загружать файлы Ñтого типа." + DROPZONE_MAX_FILES_EXCEEDED: "Ð’Ñ‹ не можете загружать больше файлов." + DROPZONE_REMOVE_FILE: "Удалить файл" + DROPZONE_REMOVE_FILE_CONFIRMATION: 'Ð’Ñ‹ дейÑтвительно хотите удалить Ñтот файл?' + DROPZONE_RESPONSE_ERROR: "Сервер ответил кодом {{statusCode}}." + YES: "Да" + NO: "Ðет" + REFRESH_PREVENTION: "Предотвращение обновлениÑ" + REFRESH_PREVENTION_HELP: "ИÑпользуйте уникальный идентификатор формы, чтобы гарантировать, что одна и та же форма не будет отправлÑтьÑÑ Ð·Ð°Ð½Ð¾Ð²Ð¾ при обновлении Ñтраницы браузера" + LIMIT: "Лимит" + LIMIT_HELP: "МакÑимальное количеÑтво разрешенных файлов в поле (требуетÑÑ Ð½ÐµÑколько)" + FILESIZE: "МакÑимальный размер файла" + FILESIZE_HELP: "МакÑимально допуÑтимый размер файла (в МБ), 0 = ИÑпользовать ÑиÑтемные уÑтановки по умолчанию" + AVOID_OVERWRITING: "Избегать перезапиÑи" + AVOID_OVERWRITING_HELP: "Ðе допуÑкать перезапиÑи файлов Ñ Ñ‚ÐµÐ¼ же именем. Будет добавлен Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Ñ Ð´Ð°Ñ‚Ð¾Ð¹" + RANDOM_NAME: "Случайное имÑ" + RANDOM_NAME_HELP: "Создавать Ñлучайное Ñтроковое Ð¸Ð¼Ñ Ð¸Ð· 15 Ñимволов Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ¶ÐµÐ½Ð½Ñ‹Ñ… файлов" + +hr: + PLUGIN_FORM: + NOT_VALIDATED: "Formular nije validiran. Jedan ili viÅ¡e traženih polja nedostaju." + NONCE_NOT_VALIDATED: "Ups, doÅ¡lo je do problema, molimo provjerite svoj unos i pokuÅ¡ajte opet." + FILES: "Upload Fajlova" + ALLOW_MULTIPLE: "Dopusti viÅ¡e od jednog fajla" + DESTINATION: "Destinacija" + DESTINATION_HELP: "Lokacija gdje bi fajlovi trebali biti uploadani" + ACCEPT: "DopuÅ¡teni MIME Tipovi" + ACCEPT_HELP: "Lista dopuÅ¡tenih MIME Tipova koji su dozvoljeni za upload" + ERROR_VALIDATING_CAPTCHA: "GreÅ¡ka pri validiranju Captcha" + +hu: + PLUGIN_FORM: + NOT_VALIDATED: "Érvénytelen az űrlap. Egy vagy több kötelezÅ‘ mezÅ‘ nincs kitöltve." + NONCE_NOT_VALIDATED: "Upsz, van egy kis probléma, kérlek nézd át az űrlapot, majd küldd el újra." + FILES: "Fájlok Feltöltése" + ALLOW_MULTIPLE: "Több fájl feltöltése" + ALLOW_MULTIPLE_HELP: "Engedélyezi egyszerre több állomány feltöltését." + DESTINATION: "Feltöltés Helye" + DESTINATION_HELP: "Ide lesznek feltöltve az állományok" + ACCEPT: "Engedélyezett MIME-típusok" + ACCEPT_HELP: "A feltölthetÅ‘ állományok MIME-típusainak listája" + ERROR_VALIDATING_CAPTCHA: "Hiba lépett fel a Captcha validálása során" + +it: + PLUGIN_FORM: + NOT_VALIDATED: "Il Form risulta invalido. Uno o più campi risultano omessi." + NONCE_NOT_VALIDATED: "Oops è stato riscontrato un errore, si prega di ricontrollare i dati inseriti e provare di nuovo." + FILES: "Invio dei Files" + ALLOW_MULTIPLE: "Consenti più di un file" + ALLOW_MULTIPLE_HELP: "Permette la selezione di più di un file per l'upload" + DESTINATION: "Destinazione" + DESTINATION_HELP: "La destinazione dove i files vengono uploadati" + ACCEPT: "Tipi di MIME Concessi" + ACCEPT_HELP: "Una lista di tipi di MIME che sono permessi per l'upload" + ERROR_VALIDATING_CAPTCHA: "Errore durante la validazione del Captcha" + DATA_SUMMARY: "Ecco il riassunto di ciò che ci hai scritto:" + NO_FORM_DATA: "Nessuna informazione disponibile" + RECAPTCHA: "ReCaptcha" + RECAPTCHA_SITE_KEY: "Site key" + RECAPTCHA_SITE_KEY_HELP: "Per maggiori informazioni visita https://developers.google.com/recaptcha" + RECAPTCHA_SECRET_KEY: "Chiave segreta" + RECAPTCHA_SECRET_KEY_HELP: "Per maggiori informazioni visita https://developers.google.com/recaptcha" + GENERAL: "Generale" + USE_BUILT_IN_CSS: "Usa CSS incorporato" + FILEUPLOAD_PREVENT_SELF: 'Non si può usare "%s" fuori dalle pagine.' + FILEUPLOAD_UNABLE_TO_UPLOAD: 'Impossibile caricare il file %s: %s' + FILEUPLOAD_UNABLE_TO_MOVE: 'Impossibile muovere il file %s to "%s"' + DROPZONE_CANCEL_UPLOAD: 'Trasferimento annullato' + DROPZONE_CANCEL_UPLOAD_CONFIRMATION: 'Sei sicuro di voler cancellare questo trasferimento?' + DROPZONE_DEFAULT_MESSAGE: "Trascina qui i tuoi file o clicca su quest'area" + DROPZONE_FALLBACK_MESSAGE: 'Il tuo browser non supporta il trascinamento dei file per il trasferimento.' + DROPZONE_FALLBACK_TEXT: 'Utilizza il modulo di riserva qui sotto per caricare i tuoi file come ai vecchi tempi.' + DROPZONE_FILE_TOO_BIG: 'Il file è troppo grande ({{filesize}}MiB). Dimensione massima consentita: {{maxFilesize}}MiB.' + DROPZONE_INVALID_FILE_TYPE: "Non puoi caricare questo tipo di file" + DROPZONE_MAX_FILES_EXCEEDED: "Non puoi caricare ulteriori file, hai raggiunto il limite consentito." + DROPZONE_REMOVE_FILE: "Rimuovi il file" + DROPZONE_REMOVE_FILE_CONFIRMATION: 'Sei sicuro di voler eliminare questo file??' + DROPZONE_RESPONSE_ERROR: "Il Server ha risposto con il codice {{statusCode}}." + YES: "Si" + NO: "No" + +ro: + PLUGIN_FORM: + NOT_VALIDATED: "Formularul nu a fost validat. Unul sau mai multe câmpuri sunt goale." + NONCE_NOT_VALIDATED: "Oops a apărut o problemă, vă rugăm verificaÈ›i datele introduse È™i trimiteÈ›i formularul din nou." + FILES: "ÃŽncărcare fiÈ™iere" + ALLOW_MULTIPLE: "PermiteÈ›i mai multe fiÈ™iere" + ALLOW_MULTIPLE_HELP: "Vă permite să selectaÈ›i mai multe fiÈ™iere pentru încărcare." + DESTINATION: "DestinaÈ›ie" + DESTINATION_HELP: "LocaÈ›ia unde vor fi încărcate fiÈ™ierele." + ACCEPT: "Permite tipuri MIME " + ACCEPT_HELP: "O listă cu tipuri MIME care sunt permise la încărcare." + ERROR_VALIDATING_CAPTCHA: "Eroare la validarea Captcha." + DATA_SUMMARY: "Mai jos aveÈ›i un rezumat al mesajului pe care ni l-aÈ›i trimis:" + NO_FORM_DATA: "Nu e disponibilă nici o dată pentru formular" + RECAPTCHA: "ReCaptcha" + RECAPTCHA_SITE_KEY: "Cheia pentru Site" + RECAPTCHA_SITE_KEY_HELP: "Pentru mai multe detalii vă rugăm vizitaÈ›i https://developers.google.com/recaptcha" + RECAPTCHA_SECRET_KEY: "Cheia secretă pentru Site" + RECAPTCHA_SECRET_KEY_HELP: "Pentru mai multe detalii vă rugăm vizitaÈ›i https://developers.google.com/recaptcha" + +cs: + PLUGIN_FORM: + NOT_VALIDATED: "Formulář nebyl ověřen. Chybí jedno nebo více povinných polí." + NONCE_NOT_VALIDATED: "Jejda, doÅ¡lo k problému, zkontrolujte vstupní stránku a znovu odeÅ¡lete formulář." + FILES: "Nahrávání souborů" + ALLOW_MULTIPLE: "Povolit více než jeden soubor" + ALLOW_MULTIPLE_HELP: "Umožňuje vybrat více než jeden soubor pro nahrání." + DESTINATION: "Cílové umístÄ›ní" + DESTINATION_HELP: "Místo, kam mají být soubory nahrány" + ACCEPT: "Povolené MIME typy" + ACCEPT_HELP: "Seznam MIME typů souborů povolených pro upload" + ERROR_VALIDATING_CAPTCHA: "NepodaÅ™ilo se ověřit CAPTCHA (kontrola proti spamu)" + DATA_SUMMARY: "Shrnutí toho, co jste nám napsali:" + NO_FORM_DATA: "Formulář neobsahuje žádná data" + RECAPTCHA: "ReCaptcha" + RECAPTCHA_SITE_KEY: "Site key" + RECAPTCHA_SITE_KEY_HELP: "Více informací https://developers.google.com/recaptcha" + RECAPTCHA_SECRET_KEY: "Secret key" + RECAPTCHA_SECRET_KEY_HELP: "Více informací https://developers.google.com/recaptcha" + GENERAL: "VÅ¡eobecné" + USE_BUILT_IN_CSS: "Použít built-in CSS" + FILEUPLOAD_PREVENT_SELF: 'Nelze použít "% s" mimo stránky.' + FILEUPLOAD_UNABLE_TO_UPLOAD: 'Nelze nahrát soubor %s: %s' + FILEUPLOAD_UNABLE_TO_MOVE: 'Nelze pÅ™esunout soubor %s do "%s"' + DROPZONE_CANCEL_UPLOAD: 'ZruÅ¡it upload' + DROPZONE_CANCEL_UPLOAD_CONFIRMATION: 'Opravdu chcete zruÅ¡it nahrávání souboru?' + DROPZONE_DEFAULT_MESSAGE: 'PÅ™etáhnÄ›te sem soubory nebo kliknÄ›te v tomto prostoru' + DROPZONE_FALLBACK_MESSAGE: 'Váš prohlížeÄ nepodporuje nahrávání souborů táhni a pusÅ¥.' + DROPZONE_FALLBACK_TEXT: 'Použijte níže uvedený formulář pro nahrání souborů, jako v minulých dnech.' + DROPZONE_FILE_TOO_BIG: 'Soubor je příliÅ¡ velký ({{filesize}}MiB). Max. velikost souboru: {{maxFilesize}}MiB.' + DROPZONE_INVALID_FILE_TYPE: "Nelze nahrát soubory tohoto typu." + DROPZONE_MAX_FILES_EXCEEDED: "Nelze nahrát další soubory." + DROPZONE_REMOVE_FILE: "Odstranit soubor" + DROPZONE_REMOVE_FILE_CONFIRMATION: 'Opravdu chcete tento soubor smazat?' + DROPZONE_RESPONSE_ERROR: "Server vrátil chybový kód: {{statusCode}}." + YES: "Ano" + NO: "Ne" +pl: + PLUGIN_FORM: + NOT_VALIDATED: "Formularz zostaÅ‚ odrzucony. Jedno lub wiÄ™cej pól wymaga wypeÅ‚nienia." + NONCE_NOT_VALIDATED: "Ups, pojawiÅ‚ siÄ™ problem. ProszÄ™ sprawdź czy wszystkie pola zostaÅ‚y wypeÅ‚nione i wyÅ›lij formularz ponownie." + FILES: "Plik przesÅ‚any." + FORM_ALREADY_SUBMITTED: "Ten formularz zostaÅ‚ już wysÅ‚any." + ALLOW_MULTIPLE: "Zezwól na wiÄ™cej niż jeden plik." + ALLOW_MULTIPLE_HELP: "Zezwól na przesÅ‚anie wiÄ™cej niż jednego pliku." + DESTINATION: "Przeznaczenie." + DESTINATION_HELP: "Lokalizacja przesÅ‚anego pliku." + ACCEPT: "Zezwól na typ MIME." + ACCEPT_HELP: "Lista wspieranych do przesÅ‚ania typów MIME." + ERROR_VALIDATING_CAPTCHA: "Błąd walidacji Captcha." + DATA_SUMMARY: "Oto podsumowanie informacji, które do nas napisaÅ‚eÅ›:" + NO_FORM_DATA: "Brak dostÄ™pnych danych formularza" + RECAPTCHA: "ReCaptcha" + RECAPTCHA_SITE_KEY: "Klucz strony" + RECAPTCHA_SITE_KEY_HELP: "Aby uzyskać wiÄ™cej informacji odwiedź https://developers.google.com/recaptcha" + RECAPTCHA_SECRET_KEY: "Tajny klucz" + RECAPTCHA_SECRET_KEY_HELP: "Aby uzyskać wiÄ™cej informacji odwiedź https://developers.google.com/recaptcha" + GENERAL: "Ogólne" + USE_BUILT_IN_CSS: "Użyj wbudowanych styli CSS" + FILEUPLOAD_PREVENT_SELF: 'Nie można użyć "%s" poza stronami.' + FILEUPLOAD_UNABLE_TO_UPLOAD: 'Nie można przesÅ‚ać plików %s: %s' + FILEUPLOAD_UNABLE_TO_MOVE: 'Nie można przenieść plików z %s do "%s"' + DROPZONE_CANCEL_UPLOAD: 'Anuluj przesyÅ‚anie' + DROPZONE_CANCEL_UPLOAD_CONFIRMATION: 'Czy na pewno chcesz anulować przesyÅ‚anie?' + DROPZONE_DEFAULT_MESSAGE: 'Upuść pliki tutaj lub kliknij w tym obszarze' + DROPZONE_FALLBACK_MESSAGE: 'Twoja przelÄ…darka nie obsÅ‚ugujÄ… funkcji przeciÄ…gnij i upuść.' + DROPZONE_FALLBACK_TEXT: 'ProszÄ™ użyć zapasowego formularza do przesyÅ‚ania plików znajdujÄ…cego siÄ™ poniżej.' + DROPZONE_FILE_TOO_BIG: 'Plik jest zbyt duży ({{filesize}}MiB). Maksymalna wielkość pliku to: {{maxFilesize}}MiB.' + DROPZONE_INVALID_FILE_TYPE: "Nie można przesÅ‚ać pliku. Format nie jest obsÅ‚ugiwany." + DROPZONE_MAX_FILES_EXCEEDED: "Nie można przesÅ‚ać wiÄ™cej plików." + DROPZONE_REMOVE_FILE: "UsuÅ„ plik" + DROPZONE_REMOVE_FILE_CONFIRMATION: 'Czy na pewno chcesz usunąć plik?' + DROPZONE_RESPONSE_ERROR: "Status serwera {{statusCode}}." + YES: "Tak" + NO: "Nie" + REFRESH_PREVENTION: "Zapobiegaj odÅ›wieżaniu" + REFRESH_PREVENTION_HELP: "Użyj unikatowego identyfikatora ID , aby upewnić siÄ™, że przeglÄ…darka nie przetworzy formularza ponownie." + +nl: + PLUGIN_FORM: + NOT_VALIDATED: "Formulier niet gevalideerd. Een of meerdere verplichte velden ontbreken." + NONCE_NOT_VALIDATED: "Oeps er was een probleem, controleer je input en stuur het formulier opnieuw." + FILES: "Bestanden geupload" + FORM_ALREADY_SUBMITTED: "Dit formulier is al eerder verstuurd." + ALLOW_MULTIPLE: "Meer dan een bestand toegestaan" + ALLOW_MULTIPLE_HELP: "Staat toe dat meer dan een bestand geselecteerd kan worden voor uploaden." + DESTINATION: "Bestemming" + DESTINATION_HELP: "De lokatie waar de bestanden naartoe moeten worden geupload" + ACCEPT: "Toegestane MIME types" + ACCEPT_HELP: "Een lijst van MIME types welke zijn toegestaan om te uploaden" + ERROR_VALIDATING_CAPTCHA: "Fout bij Captcha validatie" + DATA_SUMMARY: "Hier is de samenvatting van wat u ons heeft gestuurd:" + NO_FORM_DATA: "Geen formdata beschikbaar" + RECAPTCHA: "ReCaptcha" + RECAPTCHA_SITE_KEY: "Site sleutel" + RECAPTCHA_SITE_KEY_HELP: "Voor meer informatie ga naar https://developers.google.com/recaptcha" + RECAPTCHA_SECRET_KEY: "Geheime sleutel" + RECAPTCHA_SECRET_KEY_HELP: "Voor meer informatie ga naar https://developers.google.com/recaptcha" + GENERAL: "Algemeen" + USE_BUILT_IN_CSS: "Gebruik ingebouwde CSS" + FILEUPLOAD_PREVENT_SELF: 'Kan "%s" niet buiten paginas gebruiken.' + FILEUPLOAD_UNABLE_TO_UPLOAD: 'Niet mogelijk om bestand %s: %s te uploaden' + FILEUPLOAD_UNABLE_TO_MOVE: 'Niet mogelijk om bestand %s naar "%s" te verplaatsen' + DROPZONE_CANCEL_UPLOAD: 'Upload annuleren' + DROPZONE_CANCEL_UPLOAD_CONFIRMATION: 'Weet u zeker dat u deze upload wilt annuleren?' + DROPZONE_DEFAULT_MESSAGE: 'Sleep hier uw bestanden heen of klik in dit gebied' + DROPZONE_FALLBACK_MESSAGE: 'Uw browser ondersteund geen drag en drop bestand uploads.' + DROPZONE_FALLBACK_TEXT: 'Gebruik alsublieft het fallback formulier hieronder om uw bestanden te uploaden zoals vroeger.' + DROPZONE_FILE_TOO_BIG: 'Bestand is te groot ({{filesize}}MiB). Maximale bestandsgrootte: {{maxFilesize}}MiB.' + DROPZONE_INVALID_FILE_TYPE: "U kunt geen bestanden uploaden van dit type." + DROPZONE_MAX_FILES_EXCEEDED: "U kunt niet meer bestanden uploaden." + DROPZONE_REMOVE_FILE: "Verwijder bestand" + DROPZONE_REMOVE_FILE_CONFIRMATION: 'Weet u zeker dat u het bestand wilt verwijderen?' + DROPZONE_RESPONSE_ERROR: "Server reageert met {{statusCode}} code." + YES: "Ja" + NO: "Nee" + REFRESH_PREVENTION: "Verversbescherming" + REFRESH_PREVENTION_HELP: "Gebruik het unieke ID van her formulier om zeker te stellen dat hetzelfde formulier niet opnieuw wordt verwerkt als de browser ververst wordt" + LIMIT: "Limiet" + LIMIT_HELP: "Maximum aantal toegestande bestanden per veld (meerdere vereist)" + FILESIZE: "Maximale bestandsgrootte" + FILESIZE_HELP: "Maximale bestandsgrootte toegestaan (in MB), 0 = Gebruik systeem standaard" + AVOID_OVERWRITING: "Vermijd overschrijven" + AVOID_OVERWRITING_HELP: "Voorkom dat bestanden met dezelfde naam worden overschreven. Datum prefix wordt toegevoegd" + RANDOM_NAME: "Willekeurige naam" + RANDOM_NAME_HELP: "Genereer een willekeurige naam van 15 karakters voor de geuploade bestanden" diff --git a/user/plugins/form/package.json b/user/plugins/form/package.json new file mode 100644 index 0000000..74b9c6a --- /dev/null +++ b/user/plugins/form/package.json @@ -0,0 +1,35 @@ +{ + "name": "grav-plugin-form", + "version": "1.0.0", + "description": "Grav Plugin Form", + "repository": "https://github.com/getgrav/grav-plugin-form", + "main": "app/main.js", + "scripts": { + "watch": "webpack --watch --progress --colors --config webpack.conf.js", + "dev": "webpack --progress --colors --config webpack.conf.js", + "prod": "NODE_ENV=production webpack -p --config webpack.conf.js", + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "RocketTheme, LLC", + "license": "MIT", + "dependencies": { + "dropzone": "^4.3.0" + }, + "devDependencies": { + "babel-core": "^6.14.0", + "babel-loader": "^6.2.5", + "babel-polyfill": "^6.13.0", + "babel-preset-es2015": "^6.14.0", + "eslint": "^3.4.0", + "eslint-loader": "^1.5.0", + "exports-loader": "^0.6.3", + "gulp": "^3.9.1", + "gulp-sourcemaps": "^1.6.0", + "gulp-util": "^3.0.7", + "gulp-webpack": "^1.5.0", + "immutable": "^3.8.1", + "imports-loader": "^0.6.5", + "json-loader": "^0.5.4", + "webpack": "^1.13.2" + } +} diff --git a/user/plugins/form/templates/form-messages.html.twig b/user/plugins/form/templates/form-messages.html.twig new file mode 100644 index 0000000..52c438a --- /dev/null +++ b/user/plugins/form/templates/form-messages.html.twig @@ -0,0 +1,2 @@ +{% include 'partials/form-messages.html.twig' %} +{% do http_response_code(form.responseCode) %} diff --git a/user/plugins/form/templates/form-messages.json.twig b/user/plugins/form/templates/form-messages.json.twig new file mode 100644 index 0000000..00b9085 --- /dev/null +++ b/user/plugins/form/templates/form-messages.json.twig @@ -0,0 +1,2 @@ +{% include 'partials/form-messages.json.twig' %} +{% do http_response_code(form.responseCode) %} diff --git a/user/plugins/form/templates/form.html.twig b/user/plugins/form/templates/form.html.twig new file mode 100644 index 0000000..3523d06 --- /dev/null +++ b/user/plugins/form/templates/form.html.twig @@ -0,0 +1,8 @@ +{% extends 'partials/base.html.twig' %} + +{% block content %} + + {{ content|raw }} + {% include "forms/form.html.twig" %} + +{% endblock %} diff --git a/user/plugins/form/templates/form.json.twig b/user/plugins/form/templates/form.json.twig new file mode 100644 index 0000000..f6ba33f --- /dev/null +++ b/user/plugins/form/templates/form.json.twig @@ -0,0 +1 @@ +{% extends 'forms/ajax.json.twig' %} diff --git a/user/plugins/form/templates/formdata.html.twig b/user/plugins/form/templates/formdata.html.twig new file mode 100644 index 0000000..57e8487 --- /dev/null +++ b/user/plugins/form/templates/formdata.html.twig @@ -0,0 +1,20 @@ +{% extends 'partials/base.html.twig' %} + +{% if form is null %} + {% set form = grav.session.getFlashObject('form') %} +{% endif %} + +{% block content %} + {{ content|raw }} + + {% if form %} + {% include 'partials/form-messages.html.twig' %} + +

                                                                        {{ 'PLUGIN_FORM.DATA_SUMMARY'|t }}

                                                                        + + {% include "forms/data.html.twig" %} + {% else %} +

                                                                        {{ 'PLUGIN_FORM.NO_FORM_DATA'|t }}

                                                                        + {% endif %} + +{% endblock %} diff --git a/user/plugins/form/templates/forms/ajax.json.twig b/user/plugins/form/templates/forms/ajax.json.twig new file mode 100644 index 0000000..ccec039 --- /dev/null +++ b/user/plugins/form/templates/forms/ajax.json.twig @@ -0,0 +1,5 @@ +{% if form_json_response %} +{{ form_json_response|json_encode|raw }} +{% else %} +{} +{% endif %} \ No newline at end of file diff --git a/user/plugins/form/templates/forms/data.html.twig b/user/plugins/form/templates/forms/data.html.twig new file mode 100644 index 0000000..9cb16c2 --- /dev/null +++ b/user/plugins/form/templates/forms/data.html.twig @@ -0,0 +1 @@ +{% extends "forms/default/data.html.twig" %} diff --git a/user/plugins/form/templates/forms/data.txt.twig b/user/plugins/form/templates/forms/data.txt.twig new file mode 100644 index 0000000..c647832 --- /dev/null +++ b/user/plugins/form/templates/forms/data.txt.twig @@ -0,0 +1 @@ +{% extends "forms/default/data.txt.twig" %} diff --git a/user/plugins/form/templates/forms/default/data.html.twig b/user/plugins/form/templates/forms/default/data.html.twig new file mode 100644 index 0000000..d11ef3b --- /dev/null +++ b/user/plugins/form/templates/forms/default/data.html.twig @@ -0,0 +1,39 @@ +{% macro render_field(form, fields) %} + {% for index, field in fields %} + {% set input = attribute(field, "input@") %} + {% if input is null or input == true %} + {% if form.value(field.name) %} + {% block field %} +
                                                                        + {% block field_label %} + {{ field.label|t|e }}: + {% endblock %} + + {% block field_value %} + {% if field.type == 'checkboxes' %} +
                                                                          + {% for value in form.value(field.name) %} +
                                                                        • {{ field.options[value]|e }}
                                                                        • + {% endfor %} +
                                                                        + {% elseif field.type == 'checkbox' %} + {{ (form.value(field.name) == 1) ? "PLUGIN_FORM.YES"|t|e : "PLUGIN_FORM.NO"|t|e }} + {% elseif field.type == 'select' %} + {{ field.options[form.value(field.name)]|e }} + {% else %} + {{ string(form.value(field.name))|nl2br }} + {% endif %} + {% endblock %} +
                                                                        + {% endblock %} + {% endif %} + {% else %} + {% if field.fields %} + {{ _self.render_field(form, field.fields) }} + {% endif %} + {% endif %} + {% endfor %} +{% endmacro %} + +{{ _self.render_field(form, form.fields) }} + diff --git a/user/plugins/form/templates/forms/default/data.txt.twig b/user/plugins/form/templates/forms/default/data.txt.twig new file mode 100644 index 0000000..e262444 --- /dev/null +++ b/user/plugins/form/templates/forms/default/data.txt.twig @@ -0,0 +1,16 @@ +{%- macro render_field(form, fields) %} +{%- for index, field in fields %} + {%- set input = attribute(field, "input@") %} + {%- if input is null or input == true %} + {%- set value = form.value(field.name ?? index) %} + {{- field.name ?? index }}: {{ string(value is iterable ? value|json_encode : value|escape('yaml')) ~ "\r\n" }} + {%- else %} + {%- if field.fields %} + {{- _self.render_field(form, field.fields) }} + {%- endif %} + {%- endif %} +{%- endfor %} +{%- endmacro %} +{%- autoescape false %} +{{- _self.render_field(form, form.fields) ~ "\r\n" }} +{%- endautoescape %} \ No newline at end of file diff --git a/user/plugins/form/templates/forms/default/field.html.twig b/user/plugins/form/templates/forms/default/field.html.twig new file mode 100644 index 0000000..8fc0756 --- /dev/null +++ b/user/plugins/form/templates/forms/default/field.html.twig @@ -0,0 +1,98 @@ +{% set originalValue = originalValue is defined ? originalValue : value %} +{% set toggleableChecked = field.toggleable and (originalValue is not null and originalValue is not empty) %} +{% set isDisabledToggleable = field.toggleable and not toggleableChecked %} +{% set value = (is_object(value) or value is null ? field.default : value) %} +{% set cookie_name = 'forms-' ~ form.name ~ '-' ~ field.name %} +{% set value = (is_object(value) or value is null ? (get_cookie(cookie_name) is null ? field.default : get_cookie(cookie_name)) : value) %} +{% set errors = attribute(form.messages, field.name) %} + +{% block field %} +
                                                                        + {% block contents %} + {% if field.label is not same as(false) %} +
                                                                        + +
                                                                        + {% endif %} +
                                                                        + {% block group %} + {% block input %} +
                                                                        + {% block prepend %}{% endblock prepend %} + + {% block append %}{% endblock append %} + {% if form.inline_errors and errors %} +
                                                                        + {% for error in errors %} +

                                                                        {{ error }}

                                                                        + {% endfor %} +
                                                                        + {% endif %} +
                                                                        + {% endblock %} + {% endblock %} + {% if field.description %} +
                                                                        + + {% if field.markdown %} + {{ field.description|tu|markdown(false)|raw }} + {% else %} + {{ field.description|tu|raw }} + {% endif %} + +
                                                                        + {% endif %} + +
                                                                        + {% endblock %} +
                                                                        +{% endblock %} diff --git a/user/plugins/form/templates/forms/default/form.html.twig b/user/plugins/form/templates/forms/default/form.html.twig new file mode 100644 index 0000000..1a9f813 --- /dev/null +++ b/user/plugins/form/templates/forms/default/form.html.twig @@ -0,0 +1,83 @@ +{% if form is null %} + {% set form = grav.session.getFlashObject('form') %} +{% endif %} + +{% include 'partials/form-messages.html.twig' %} + +{% set scope = scope ?: 'data.' %} +{% set multipart = '' %} +{% set method = form.method|upper|default('POST') %} + +{% for field in form.fields %} + {% if (method == 'POST' and field.type == 'file') %} + {% set multipart = ' enctype="multipart/form-data"' %} + {% endif %} +{% endfor %} + +{% set action = form.action ? base_url ~ form.action : base_url ~ page.route ~ uri.params %} + +{% if (action == base_url_relative) %} + {% set action = base_url_relative ~ '/' ~ page.slug %} +{% endif %} + +
                                                                        + + {% block inner_markup_fields_start %}{% endblock %} + + {% for field in form.fields %} + {% if field.type == 'file' %} + {% do assets.addJs('plugin://form/assets/form.min.js') %} + {% endif %} + {% set value = form.value(field.name) %} + {% include "forms/fields/#{field.type}/#{field.type}.html.twig" ignore missing %} + {% endfor %} + + {% include "forms/fields/formname/formname.html.twig" %} + + {% block inner_markup_fields_end %}{% endblock %} + + {% block inner_markup_buttons_start %} +
                                                                        + {% endblock %} + + {% for button in form.buttons %} + {% if button.outerclasses is defined %}
                                                                        {% endif %} + {% if button.url %} + + {% endif %} + + {% if button.url %} + + {% endif %} + {% if button.outerclasses is defined %}
                                                                        {% endif %} + {% endfor %} + + {% block inner_markup_buttons_end %} +
                                                                        + {% endblock %} + + {% include 'forms/fields/uniqueid/uniqueid.html.twig' %} + {{ nonce_field('form', 'form-nonce')|raw }} +
                                                                        diff --git a/user/plugins/form/templates/forms/field.html.twig b/user/plugins/form/templates/forms/field.html.twig new file mode 100644 index 0000000..447d959 --- /dev/null +++ b/user/plugins/form/templates/forms/field.html.twig @@ -0,0 +1 @@ +{% extends "forms/default/field.html.twig" %} diff --git a/user/plugins/form/templates/forms/fields/avatar/avatar.html.twig b/user/plugins/form/templates/forms/fields/avatar/avatar.html.twig new file mode 100644 index 0000000..3386288 --- /dev/null +++ b/user/plugins/form/templates/forms/fields/avatar/avatar.html.twig @@ -0,0 +1,5 @@ +{% if form.data.avatar %} + +{% else %} + +{% endif %} \ No newline at end of file diff --git a/user/plugins/form/templates/forms/fields/captcha/captcha.html.twig b/user/plugins/form/templates/forms/fields/captcha/captcha.html.twig new file mode 100644 index 0000000..5f31820 --- /dev/null +++ b/user/plugins/form/templates/forms/fields/captcha/captcha.html.twig @@ -0,0 +1,32 @@ +{% extends "forms/field.html.twig" %} + +{% block input %} + + +
                                                                        +{% endblock %} diff --git a/user/plugins/form/templates/forms/fields/checkbox/checkbox.html.twig b/user/plugins/form/templates/forms/fields/checkbox/checkbox.html.twig new file mode 100644 index 0000000..3aab536 --- /dev/null +++ b/user/plugins/form/templates/forms/fields/checkbox/checkbox.html.twig @@ -0,0 +1,29 @@ +{% extends "forms/field.html.twig" %} + +{% block label %} +{% endblock %} + +{% block input %} + {% set id = field.id|default(field.name) ~ '-' ~ key %} +
                                                                        + + +
                                                                        +{% endblock %} diff --git a/user/plugins/form/templates/forms/fields/checkboxes/checkboxes.html.twig b/user/plugins/form/templates/forms/fields/checkboxes/checkboxes.html.twig new file mode 100644 index 0000000..d9b6b02 --- /dev/null +++ b/user/plugins/form/templates/forms/fields/checkboxes/checkboxes.html.twig @@ -0,0 +1,43 @@ +{% extends "forms/field.html.twig" %} + +{% set originalValue = value %} +{% set value = (value is null ? field.default : value) %} +{% if field.use == 'keys' and field.default %} + {% set value = field.default|merge(value) %} +{% endif %} + +{% block global_attributes %} + {{ parent() }} + data-grav-keys="{{ field.use == 'keys' ? 'true' : 'false' }}" + data-grav-field-name="{{ (scope ~ field.name)|fieldName }}" +{% endblock %} + +{% block input %} + {% for key, text in field.options %} + + {% set id = field.id|default(field.name) ~ '-' ~ key %} + {% set name = field.use == 'keys' ? key : id %} + {% set val = field.use == 'keys' ? '1' : key %} + {% set checked = (field.use == 'keys' ? value[key] : key in value) %} + {% set help = (key in field.help_options|keys ? field.help_options[key] : false) %} + +
                                                                        + + +
                                                                        + {% endfor %} +{% endblock %} diff --git a/user/plugins/form/templates/forms/fields/color/color.html.twig b/user/plugins/form/templates/forms/fields/color/color.html.twig new file mode 100644 index 0000000..b0c1f60 --- /dev/null +++ b/user/plugins/form/templates/forms/fields/color/color.html.twig @@ -0,0 +1,6 @@ +{% extends "forms/field.html.twig" %} + +{% block input_attributes %} + type="color" + {{ parent() }} +{% endblock %} diff --git a/user/plugins/form/templates/forms/fields/column/column.html.twig b/user/plugins/form/templates/forms/fields/column/column.html.twig new file mode 100644 index 0000000..970bcd0 --- /dev/null +++ b/user/plugins/form/templates/forms/fields/column/column.html.twig @@ -0,0 +1,10 @@ +{% if field.fields %} +
                                                                        + {% for field in field.fields %} + {% if field.type %} + {% set value = form.value(field.name) %} + {% include ["forms/fields/#{field.type}/#{field.type}.html.twig", 'forms/fields/text/text.html.twig'] %} + {% endif %} + {% endfor %} +
                                                                        +{% endif %} diff --git a/user/plugins/form/templates/forms/fields/columns/columns.html.twig b/user/plugins/form/templates/forms/fields/columns/columns.html.twig new file mode 100644 index 0000000..360fea2 --- /dev/null +++ b/user/plugins/form/templates/forms/fields/columns/columns.html.twig @@ -0,0 +1,10 @@ +
                                                                        +{% if field.fields %} + {% set cols = field.fields|length %} + {% for field in field.fields %} + {% set value = form.value(field.name) %} + {% include ["forms/fields/#{field.type}/#{field.type}.html.twig", 'forms/fields/column/column.html.twig'] with {'cols':cols} %} + {% endfor %} +{% endif %} +
                                                                        + diff --git a/user/plugins/form/templates/forms/fields/conditional/conditional.html.twig b/user/plugins/form/templates/forms/fields/conditional/conditional.html.twig new file mode 100644 index 0000000..bd333d0 --- /dev/null +++ b/user/plugins/form/templates/forms/fields/conditional/conditional.html.twig @@ -0,0 +1,22 @@ +{% set value = evaluate(field.condition) %} +{% set value = value == 'true' ? 1 : value %} +{% set value = value == 'false' ? 0 : value %} + +{% if value %} + {% if field.classes %} +
                                                                        + {% endif %} + + {% if field.fields %} + {% for field in field.fields %} + {% if field.type %} + {% set value = data.value(field.name) %} + {% include ["forms/fields/#{field.type}/#{field.type}.html.twig", 'forms/fields/text/text.html.twig'] %} + {% endif %} + {% endfor %} + {% endif %} + + {% if field.classes %} +
                                                                        + {% endif %} +{% endif %} diff --git a/user/plugins/form/templates/forms/fields/date/date.html.twig b/user/plugins/form/templates/forms/fields/date/date.html.twig new file mode 100644 index 0000000..4e42985 --- /dev/null +++ b/user/plugins/form/templates/forms/fields/date/date.html.twig @@ -0,0 +1,8 @@ +{% extends "forms/field.html.twig" %} + +{% block input_attributes %} + type="date" + {% if field.validate.min %}min="{{ field.validate.min }}"{% endif %} + {% if field.validate.max %}max="{{ field.validate.max }}"{% endif %} + {{ parent() }} +{% endblock %} diff --git a/user/plugins/form/templates/forms/fields/datetime/datetime.html.twig b/user/plugins/form/templates/forms/fields/datetime/datetime.html.twig new file mode 100644 index 0000000..dd8e4ce --- /dev/null +++ b/user/plugins/form/templates/forms/fields/datetime/datetime.html.twig @@ -0,0 +1,2 @@ +{# DEPRECATED. Switched to Text field until implemented properly #} +{% extends "forms/fields/text/text.html.twig" %} \ No newline at end of file diff --git a/user/plugins/form/templates/forms/fields/display/display.html.twig b/user/plugins/form/templates/forms/fields/display/display.html.twig new file mode 100644 index 0000000..ab9a5e7 --- /dev/null +++ b/user/plugins/form/templates/forms/fields/display/display.html.twig @@ -0,0 +1,19 @@ +{% extends "forms/field.html.twig" %} + +{% block input %} +
                                                                        + {% if field.markdown %} + {% if grav.twig.twig.filters['tu'] is defined %} + {{ field.content|tu|markdown|raw }} + {% else %} + {{ field.content|t|markdown|raw }} + {% endif %} + {% else %} + {% if grav.twig.twig.filters['tu'] is defined %} + {{ field.content|tu|raw }} + {% else %} + {{ field.content|t|raw }} + {% endif %} + {% endif %} +
                                                                        +{% endblock %} diff --git a/user/plugins/form/templates/forms/fields/email/email.html.twig b/user/plugins/form/templates/forms/fields/email/email.html.twig new file mode 100644 index 0000000..aa33dcf --- /dev/null +++ b/user/plugins/form/templates/forms/fields/email/email.html.twig @@ -0,0 +1,7 @@ +{% extends "forms/field.html.twig" %} + +{% block input_attributes %} + type="email" + {% if field.multiple in ['on', 'true', 1] %}multiple="multiple"{% endif %} + {{ parent() }} +{% endblock %} \ No newline at end of file diff --git a/user/plugins/form/templates/forms/fields/fieldset/fieldset.html.twig b/user/plugins/form/templates/forms/fields/fieldset/fieldset.html.twig new file mode 100644 index 0000000..b934e23 --- /dev/null +++ b/user/plugins/form/templates/forms/fields/fieldset/fieldset.html.twig @@ -0,0 +1,14 @@ +
                                                                        +{% if field.legend %} + {% if grav.twig.twig.filters['tu'] is defined %}{{ field.legend|tu }}{% else %}{{ field.legend|t }}{% endif %} +{% endif %} + +{% if field.fields %} + {% for field in field.fields %} + {% if field.type %} + {% set value = form.value(field.name) %} + {% include ["forms/fields/#{field.type}/#{field.type}.html.twig", 'forms/fields/text/text.html.twig'] %} + {% endif %} + {% endfor %} +{% endif %} +
                                                                        \ No newline at end of file diff --git a/user/plugins/form/templates/forms/fields/file/file.html.twig b/user/plugins/form/templates/forms/fields/file/file.html.twig new file mode 100644 index 0000000..0d91fb4 --- /dev/null +++ b/user/plugins/form/templates/forms/fields/file/file.html.twig @@ -0,0 +1,106 @@ +{% extends "forms/field.html.twig" %} +{% set defaults = config.plugins.form %} +{% set files = defaults.files|merge(field|default([])) %} +{% set limit = not field.multiple ? 1 : files.limit %} + +{% macro bytesToSize(bytes) -%} + {% spaceless %} + {% set kilobyte = 1024 %} + {% set megabyte = kilobyte * 1024 %} + {% set gigabyte = megabyte * 1024 %} + {% set terabyte = gigabyte * 1024 %} + + {% if bytes < kilobyte %} + {{ bytes ~ ' B' }} + {% elseif bytes < megabyte %} + {{ (bytes / kilobyte)|number_format(2, '.') ~ ' KB' }} + {% elseif bytes < gigabyte %} + {{ (bytes / megabyte)|number_format(2, '.') ~ ' MB' }} + {% elseif bytes < terabyte %} + {{ (bytes / gigabyte)|number_format(2, '.') ~ ' GB' }} + {% else %} + {{ (bytes / terabyte)|number_format(2, '.') ~ ' TB' }} + {% endif %} + {% endspaceless %} +{%- endmacro %} + +{% macro preview(path, value, global) %} + {% if value %} + {% set uri = global.grav.uri %} + {% set files = global.files %} + {% set config = global.grav.config %} + {% set route = global.context.route() %} + {% set type = global.context.content() is not null ? 'pages' : global.plugin ? 'plugins' : global.theme ? 'themes' : 'config' %} + {% set blueprint_name = global.blueprints.getFilename %} + {% if type == 'pages' %} + {% set blueprint_name = type ~ '/' ~ blueprint_name %} + {% endif %} + {% set blueprint = base64_encode(blueprint_name) %} + {% set real_path = global.form.getPagePathFromToken(path) %} + {% set remove = uri.addNonce(global.base_url_relative ~ + '/media.json' ~ + '/route' ~ config.system.param_sep ~ base64_encode(global.base_path ~ '/' ~ real_path) ~ + '/task' ~ config.system.param_sep ~ 'removeFileFromBlueprint' ~ + '/proute' ~ config.system.param_sep ~ base64_encode(route) ~ + '/blueprint' ~ config.system.param_sep ~ blueprint ~ + '/type' ~ config.system.param_sep ~ type ~ + '/field' ~ config.system.param_sep ~ files.name ~ + '/path' ~ config.system.param_sep ~ base64_encode(value.path), 'admin-form', 'admin-nonce') %} + + {% set file = value|merge({remove: remove, path: (uri.rootUrl == '/' ? '/' : uri.rootUrl ~ '/' ~ real_path) }) %} + + {% endif %} +{% endmacro %} + +{% block input %} + {% set page_can_upload = exists or (type == 'page' and not exists and not (field.destination starts with '@self' or field.destination starts with 'self@')) %} + + + {% set settings = {name: field.name, paramName: (scope ~ field.name)|fieldName ~ (files.multiple ? '[]' : ''), limit: limit, filesize: form_max_filesize, accept: files.accept} %} +
                                                                        + + + {% for path, file in value %} + {{ _self.preview(path, file, _context) }} + {% endfor %} + {% include 'forms/fields/hidden/hidden.html.twig' with {field: {name: '_json.' ~ field.name}, value:value|json_encode|e('html_attr')} %} +
                                                                        + + {% do assets.addJs('jquery', 101) %} + {% do assets.addJs('plugin://form/assets/form.min.js', { 'group': 'bottom', 'loading': 'defer' }) %} + {% do assets.addCss('plugin://form/assets/dropzone.min.css', { 'group': 'form' }) %} + {{ assets.css('form')|raw }} + {% do assets.addInlineJs(" + window.GravForm = window.GravForm || {}; + window.GravForm.config = { + current_url: '" ~ uri.route(true) ~"', + base_url_relative: '" ~ base_url_relative ~ "', + param_sep: '"~ config.system.param_sep ~ "', + form_nonce: '" ~ form.getNonce ~ "', + }; + window.GravForm.translations = {}; + window.GravForm.translations['PLUGIN_FORM'] = { + 'DROPZONE_CANCEL_UPLOAD': " ~ 'PLUGIN_FORM.DROPZONE_CANCEL_UPLOAD'|t|json_encode ~ ", + 'DROPZONE_CANCEL_UPLOAD_CONFIRMATION': " ~ 'PLUGIN_FORM.DROPZONE_CANCEL_UPLOAD_CONFIRMATION'|t|json_encode ~ ", + 'DROPZONE_DEFAULT_MESSAGE': " ~ 'PLUGIN_FORM.DROPZONE_DEFAULT_MESSAGE'|t|json_encode ~ ", + 'DROPZONE_FALLBACK_MESSAGE': " ~ 'PLUGIN_FORM.DROPZONE_FALLBACK_MESSAGE'|t|json_encode ~ ", + 'DROPZONE_FALLBACK_TEXT': " ~ 'PLUGIN_FORM.DROPZONE_FALLBACK_TEXT'|t|json_encode ~ ", + 'DROPZONE_FILE_TOO_BIG': " ~ 'PLUGIN_FORM.DROPZONE_FILE_TOO_BIG'|t|json_encode ~ ", + 'DROPZONE_INVALID_FILE_TYPE': " ~ 'PLUGIN_FORM.DROPZONE_INVALID_FILE_TYPE'|t|json_encode ~ ", + 'DROPZONE_MAX_FILES_EXCEEDED': " ~ 'PLUGIN_FORM.DROPZONE_MAX_FILES_EXCEEDED'|t|json_encode ~ ", + 'DROPZONE_REMOVE_FILE': " ~ 'PLUGIN_FORM.DROPZONE_REMOVE_FILE'|t|json_encode ~ ", + 'DROPZONE_REMOVE_FILE_CONFIRMATION': " ~ 'PLUGIN_FORM.DROPZONE_REMOVE_FILE_CONFIRMATION'|t|json_encode ~ ", + 'DROPZONE_RESPONSE_ERROR': " ~ 'PLUGIN_FORM.DROPZONE_RESPONSE_ERROR'|t|json_encode ~ " + }; + ", { 'group': 'bottom' }) %} +{% endblock %} diff --git a/user/plugins/form/templates/forms/fields/formname/formname.html.twig b/user/plugins/form/templates/forms/fields/formname/formname.html.twig new file mode 100644 index 0000000..70e2bc0 --- /dev/null +++ b/user/plugins/form/templates/forms/fields/formname/formname.html.twig @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/user/plugins/form/templates/forms/fields/hidden/hidden.html.twig b/user/plugins/form/templates/forms/fields/hidden/hidden.html.twig new file mode 100644 index 0000000..1c0b481 --- /dev/null +++ b/user/plugins/form/templates/forms/fields/hidden/hidden.html.twig @@ -0,0 +1,3 @@ +{% set value = (value is null ? (field.evaluate ? evaluate(field.default) : field.default) : value) %} + + diff --git a/user/plugins/form/templates/forms/fields/honeypot/honeypot.html.twig b/user/plugins/form/templates/forms/fields/honeypot/honeypot.html.twig new file mode 100644 index 0000000..c1138b1 --- /dev/null +++ b/user/plugins/form/templates/forms/fields/honeypot/honeypot.html.twig @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/user/plugins/form/templates/forms/fields/month/month.html.twig b/user/plugins/form/templates/forms/fields/month/month.html.twig new file mode 100644 index 0000000..36c0fc2 --- /dev/null +++ b/user/plugins/form/templates/forms/fields/month/month.html.twig @@ -0,0 +1,6 @@ +{% extends "forms/field.html.twig" %} + +{% block input_attributes %} + type="month" + {{ parent() }} +{% endblock %} diff --git a/user/plugins/form/templates/forms/fields/number/number.html.twig b/user/plugins/form/templates/forms/fields/number/number.html.twig new file mode 100644 index 0000000..116c7ca --- /dev/null +++ b/user/plugins/form/templates/forms/fields/number/number.html.twig @@ -0,0 +1,9 @@ +{% extends "forms/fields/text/text.html.twig" %} + +{% block input_attributes %} + type="number" + {% if field.validate.min is defined %}min="{{ field.validate.min }}"{% endif %} + {% if field.validate.max is defined %}max="{{ field.validate.max }}"{% endif %} + {% if field.validate.step is defined %}step="{{ field.validate.step }}"{% endif %} + {{ parent() }} +{% endblock %} \ No newline at end of file diff --git a/user/plugins/form/templates/forms/fields/password/password.html.twig b/user/plugins/form/templates/forms/fields/password/password.html.twig new file mode 100644 index 0000000..58047e8 --- /dev/null +++ b/user/plugins/form/templates/forms/fields/password/password.html.twig @@ -0,0 +1,7 @@ +{% extends "forms/field.html.twig" %} + +{% block input_attributes %} + type="password" + class="input" + {{ parent() }} +{% endblock %} diff --git a/user/plugins/form/templates/forms/fields/radio/radio.html.twig b/user/plugins/form/templates/forms/fields/radio/radio.html.twig new file mode 100644 index 0000000..c5af0cd --- /dev/null +++ b/user/plugins/form/templates/forms/fields/radio/radio.html.twig @@ -0,0 +1,23 @@ +{% extends "forms/field.html.twig" %} + +{% set originalValue = value %} +{% set value = (value is null ? field.default : value) %} + +{% block input %} + {% for key, text in field.options %} + {% set id = field.id|default(field.name) ~ '-' ~ key %} + +
                                                                        + + +
                                                                        + {% endfor %} +{% endblock %} diff --git a/user/plugins/form/templates/forms/fields/range/range.html.twig b/user/plugins/form/templates/forms/fields/range/range.html.twig new file mode 100644 index 0000000..3b04284 --- /dev/null +++ b/user/plugins/form/templates/forms/fields/range/range.html.twig @@ -0,0 +1,9 @@ +{% extends "forms/field.html.twig" %} + +{% block input_attributes %} + type="range" + {% if field.validate.min %}min="{{ field.validate.min }}"{% endif %} + {% if field.validate.max %}max="{{ field.validate.max }}"{% endif %} + {% if field.validate.step %}step="{{ field.validate.step }}"{% endif %} + {{ parent() }} +{% endblock %} diff --git a/user/plugins/form/templates/forms/fields/select/select.html.twig b/user/plugins/form/templates/forms/fields/select/select.html.twig new file mode 100644 index 0000000..249e539 --- /dev/null +++ b/user/plugins/form/templates/forms/fields/select/select.html.twig @@ -0,0 +1,34 @@ +{% extends "forms/field.html.twig" %} + +{% block global_attributes %} + data-grav-selectize="{{ (field.selectize is defined ? field.selectize : {})|json_encode()|e('html_attr') }}" + {{ parent() }} +{% endblock %} + +{% block input %} +
                                                                        + +
                                                                        +{% endblock %} diff --git a/user/plugins/form/templates/forms/fields/select_optgroup/select_optgroup.html.twig b/user/plugins/form/templates/forms/fields/select_optgroup/select_optgroup.html.twig new file mode 100644 index 0000000..969c532 --- /dev/null +++ b/user/plugins/form/templates/forms/fields/select_optgroup/select_optgroup.html.twig @@ -0,0 +1,44 @@ +{% extends "forms/field.html.twig" %} + +{% block global_attributes %} + data-grav-selectize="{{ (field.selectize is defined ? field.selectize : {})|json_encode()|e('html_attr') }}" + {{ parent() }} +{% endblock %} + +{% block input %} +
                                                                        + +
                                                                        +{% endblock %} diff --git a/user/plugins/form/templates/forms/fields/spacer/spacer.html.twig b/user/plugins/form/templates/forms/fields/spacer/spacer.html.twig new file mode 100644 index 0000000..f0a9593 --- /dev/null +++ b/user/plugins/form/templates/forms/fields/spacer/spacer.html.twig @@ -0,0 +1,33 @@ +
                                                                        + {% if field.title %} +

                                                                        + {% if grav.twig.twig.filters['tu'] is defined %} + {{- field.title|tu|raw -}} + {% else %} + {{- field.title|t|raw -}} + {% endif %} +

                                                                        + {% endif %} + + {% if field.markdown %} +

                                                                        + {% if grav.twig.twig.filters['tu'] is defined %} + {{- field.text|tu|markdown|raw -}} + {% else %} + {{- field.text|t|markdown|raw -}} + {% endif %} +

                                                                        + {% else %} +

                                                                        + {% if grav.twig.twig.filters['tu'] is defined %} + {{- field.text|tu|raw -}} + {% else %} + {{- field.text|t|raw -}} + {% endif %} +

                                                                        + {% endif %} + + {% if field.underline %} +
                                                                        + {% endif %} +
                                                                        diff --git a/user/plugins/form/templates/forms/fields/switch/switch.html.twig b/user/plugins/form/templates/forms/fields/switch/switch.html.twig new file mode 100644 index 0000000..f449d8a --- /dev/null +++ b/user/plugins/form/templates/forms/fields/switch/switch.html.twig @@ -0,0 +1 @@ +{% extends 'forms/fields/checkbox/checkbox.html.twig' %} \ No newline at end of file diff --git a/user/plugins/form/templates/forms/fields/tel/tel.html.twig b/user/plugins/form/templates/forms/fields/tel/tel.html.twig new file mode 100644 index 0000000..6898313 --- /dev/null +++ b/user/plugins/form/templates/forms/fields/tel/tel.html.twig @@ -0,0 +1,6 @@ +{% extends "forms/field.html.twig" %} + +{% block input_attributes %} + type="tel" + {{ parent() }} +{% endblock %} \ No newline at end of file diff --git a/user/plugins/form/templates/forms/fields/text/text.html.twig b/user/plugins/form/templates/forms/fields/text/text.html.twig new file mode 100644 index 0000000..d6a9af3 --- /dev/null +++ b/user/plugins/form/templates/forms/fields/text/text.html.twig @@ -0,0 +1,37 @@ +{% extends "forms/field.html.twig" %} + +{% block prepend %} +{% if field.prepend %} +
                                                                        + {% if grav.twig.twig.filters['tu'] is defined %} + {{- field.prepend|tu|raw -}} + {% else %} + {{- field.prepend|t|raw -}} + {% endif %} +
                                                                        +{% endif %} +{% endblock %} + +{% block input_attributes %} + type="text" + {{ parent() }} +{% endblock %} + +{% block append %} + {% if field.append %} +
                                                                        + {% if grav.twig.twig.filters['tu'] is defined %} + {{- field.append|tu|raw -}} + {% else %} + {{- field.append|t|raw -}} + {% endif %} +
                                                                        + {% endif %} +{% endblock %} + +{% block input %} +{% if field.prepend or field.append %} + {% set field = field|merge({'wrapper_classes': 'form-input-addon-wrapper'}) %} +{% endif %} +{{ parent() }} +{% endblock %} \ No newline at end of file diff --git a/user/plugins/form/templates/forms/fields/textarea/textarea.html.twig b/user/plugins/form/templates/forms/fields/textarea/textarea.html.twig new file mode 100644 index 0000000..003d8bf --- /dev/null +++ b/user/plugins/form/templates/forms/fields/textarea/textarea.html.twig @@ -0,0 +1,27 @@ +{% extends "forms/field.html.twig" %} + +{% block input %} +
                                                                        + +
                                                                        +{% endblock %} diff --git a/user/plugins/form/templates/forms/fields/time/time.html.twig b/user/plugins/form/templates/forms/fields/time/time.html.twig new file mode 100644 index 0000000..b6bb10e --- /dev/null +++ b/user/plugins/form/templates/forms/fields/time/time.html.twig @@ -0,0 +1,6 @@ +{% extends "forms/field.html.twig" %} + +{% block input_attributes %} + type="time" + {{ parent() }} +{% endblock %} diff --git a/user/plugins/form/templates/forms/fields/uniqueid/uniqueid.html.twig b/user/plugins/form/templates/forms/fields/uniqueid/uniqueid.html.twig new file mode 100644 index 0000000..417f230 --- /dev/null +++ b/user/plugins/form/templates/forms/fields/uniqueid/uniqueid.html.twig @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/user/plugins/form/templates/forms/fields/url/url.html.twig b/user/plugins/form/templates/forms/fields/url/url.html.twig new file mode 100644 index 0000000..1caae0f --- /dev/null +++ b/user/plugins/form/templates/forms/fields/url/url.html.twig @@ -0,0 +1,6 @@ +{% extends "forms/field.html.twig" %} + +{% block input_attributes %} + type="url" + {{ parent() }} +{% endblock %} \ No newline at end of file diff --git a/user/plugins/form/templates/forms/fields/week/week.html.twig b/user/plugins/form/templates/forms/fields/week/week.html.twig new file mode 100644 index 0000000..c56f871 --- /dev/null +++ b/user/plugins/form/templates/forms/fields/week/week.html.twig @@ -0,0 +1,6 @@ +{% extends "forms/field.html.twig" %} + +{% block input_attributes %} + type="week" + {{ parent() }} +{% endblock %} diff --git a/user/plugins/form/templates/forms/form.html.twig b/user/plugins/form/templates/forms/form.html.twig new file mode 100644 index 0000000..8f1d467 --- /dev/null +++ b/user/plugins/form/templates/forms/form.html.twig @@ -0,0 +1 @@ +{% extends "forms/default/form.html.twig" %} diff --git a/user/plugins/form/templates/modular/form.html.twig b/user/plugins/form/templates/modular/form.html.twig new file mode 100644 index 0000000..3e06da5 --- /dev/null +++ b/user/plugins/form/templates/modular/form.html.twig @@ -0,0 +1,4 @@ +
                                                                        + {{ content|raw }} + {% include "forms/form.html.twig" %} +
                                                                        \ No newline at end of file diff --git a/user/plugins/form/templates/partials/form-messages.html.twig b/user/plugins/form/templates/partials/form-messages.html.twig new file mode 100644 index 0000000..08b5ba5 --- /dev/null +++ b/user/plugins/form/templates/partials/form-messages.html.twig @@ -0,0 +1,5 @@ +{% if form.message %} + {% set status_mapping = {'success':'green', 'error': 'red', 'warning': 'yellow'} %} + {% set message = form.inline_errors and form.messages ? "FORM.VALIDATION_FAIL"|t : form.message %} +

                                                                        {{ message|raw }}

                                                                        +{% endif %} \ No newline at end of file diff --git a/user/plugins/form/templates/partials/form-messages.json.twig b/user/plugins/form/templates/partials/form-messages.json.twig new file mode 100644 index 0000000..14e1d18 --- /dev/null +++ b/user/plugins/form/templates/partials/form-messages.json.twig @@ -0,0 +1,2 @@ +{% set message = form.inline_errors and form.messages ? "FORM.VALIDATION_FAIL"|t : form.message %} +{{ {'status':form.status, 'message':message}|json_encode|raw }} diff --git a/user/plugins/form/webpack.conf.js b/user/plugins/form/webpack.conf.js new file mode 100644 index 0000000..879f600 --- /dev/null +++ b/user/plugins/form/webpack.conf.js @@ -0,0 +1,23 @@ +var webpack = require('webpack'), + path = require('path'), + exec = require('child_process').execSync, + pwd = exec('pwd').toString(); + +module.exports = { + entry: { + app: './app/main.js' + }, + externals: { + jquery: 'jQuery', + 'grav-form': 'GravForm' + }, + module: { + preLoaders: [ + { test: /\.json$/, loader: 'json' }, + { test: /\.js$/, loader: 'eslint', exclude: /node_modules/ } + ], + loaders: [ + { test: /\.js$/, loader: 'babel', exclude: /node_modules/, query: { presets: ['es2015'] } } + ] + } +}; diff --git a/user/plugins/form/yarn.lock b/user/plugins/form/yarn.lock new file mode 100644 index 0000000..5776b3a --- /dev/null +++ b/user/plugins/form/yarn.lock @@ -0,0 +1,3243 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +abbrev@1: + version "1.0.9" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" + +acorn-jsx@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" + dependencies: + acorn "^3.0.4" + +acorn@4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.4.tgz#17a8d6a7a6c4ef538b814ec9abac2779293bf30a" + +acorn@4.X: + version "4.0.8" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.8.tgz#f41e52020ce78118a3c68ed0e9215eb8fc68b5b1" + +acorn@^3.0.0, acorn@^3.0.4: + version "3.3.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" + +ajv-keywords@^1.0.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" + +ajv@^4.7.0: + version "4.11.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.2.tgz#f166c3c11cbc6cb9dcc102a5bcfe5b72c95287e6" + dependencies: + co "^4.6.0" + json-stable-stringify "^1.0.1" + +align-text@^0.1.1, align-text@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" + dependencies: + kind-of "^3.0.2" + longest "^1.0.1" + repeat-string "^1.5.2" + +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + +ansi-escapes@^1.1.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + +anymatch@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" + dependencies: + arrify "^1.0.0" + micromatch "^2.1.5" + +aproba@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.0.4.tgz#2713680775e7614c8ba186c065d4e2e52d1072c0" + +archy@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" + +are-we-there-yet@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3" + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.0 || ^1.1.13" + +argparse@^1.0.7: + version "1.0.9" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" + dependencies: + sprintf-js "~1.0.2" + +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + dependencies: + arr-flatten "^1.0.1" + +arr-flatten@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b" + +array-differ@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.1, array-uniq@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + +array-unique@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + +arrify@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + +asn1@~0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" + +assert-plus@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" + +assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + +assert@^1.1.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" + dependencies: + util "0.10.3" + +async-each@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + +async@^0.9.0: + version "0.9.2" + resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" + +async@^1.3.0: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + +async@~0.2.6: + version "0.2.10" + resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + +atob@~1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/atob/-/atob-1.1.3.tgz#95f13629b12c3a51a5d215abdce2aa9f32f80773" + +aws-sign2@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" + +aws4@^1.2.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.5.0.tgz#0a29ffb79c31c9e712eeb087e8e7a64b4a56d755" + +babel-code-frame@^6.16.0, babel-code-frame@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" + dependencies: + chalk "^1.1.0" + esutils "^2.0.2" + js-tokens "^3.0.0" + +babel-core@^6.14.0, babel-core@^6.22.0: + version "6.22.1" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.22.1.tgz#9c5fd658ba1772d28d721f6d25d968fc7ae21648" + dependencies: + babel-code-frame "^6.22.0" + babel-generator "^6.22.0" + babel-helpers "^6.22.0" + babel-messages "^6.22.0" + babel-register "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + babel-traverse "^6.22.1" + babel-types "^6.22.0" + babylon "^6.11.0" + convert-source-map "^1.1.0" + debug "^2.1.1" + json5 "^0.5.0" + lodash "^4.2.0" + minimatch "^3.0.2" + path-is-absolute "^1.0.0" + private "^0.1.6" + slash "^1.0.0" + source-map "^0.5.0" + +babel-generator@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.22.0.tgz#d642bf4961911a8adc7c692b0c9297f325cda805" + dependencies: + babel-messages "^6.22.0" + babel-runtime "^6.22.0" + babel-types "^6.22.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.2.0" + source-map "^0.5.0" + +babel-helper-call-delegate@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.22.0.tgz#119921b56120f17e9dae3f74b4f5cc7bcc1b37ef" + dependencies: + babel-helper-hoist-variables "^6.22.0" + babel-runtime "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" + +babel-helper-define-map@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.22.0.tgz#9544e9502b2d6dfe7d00ff60e82bd5a7a89e95b7" + dependencies: + babel-helper-function-name "^6.22.0" + babel-runtime "^6.22.0" + babel-types "^6.22.0" + lodash "^4.2.0" + +babel-helper-function-name@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.22.0.tgz#51f1bdc4bb89b15f57a9b249f33d742816dcbefc" + dependencies: + babel-helper-get-function-arity "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" + +babel-helper-get-function-arity@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.22.0.tgz#0beb464ad69dc7347410ac6ade9f03a50634f5ce" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.22.0" + +babel-helper-hoist-variables@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.22.0.tgz#3eacbf731d80705845dd2e9718f600cfb9b4ba72" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.22.0" + +babel-helper-optimise-call-expression@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.22.0.tgz#f8d5d4b40a6e2605a6a7f9d537b581bea3756d15" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.22.0" + +babel-helper-regex@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.22.0.tgz#79f532be1647b1f0ee3474b5f5c3da58001d247d" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.22.0" + lodash "^4.2.0" + +babel-helper-replace-supers@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.22.0.tgz#1fcee2270657548908c34db16bcc345f9850cf42" + dependencies: + babel-helper-optimise-call-expression "^6.22.0" + babel-messages "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" + +babel-helpers@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.22.0.tgz#d275f55f2252b8101bff07bc0c556deda657392c" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.22.0" + +babel-loader@^6.2.5: + version "6.2.10" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-6.2.10.tgz#adefc2b242320cd5d15e65b31cea0e8b1b02d4b0" + dependencies: + find-cache-dir "^0.1.1" + loader-utils "^0.2.11" + mkdirp "^0.5.1" + object-assign "^4.0.1" + +babel-messages@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.22.0.tgz#36066a214f1217e4ed4164867669ecb39e3ea575" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-check-es2015-constants@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-arrow-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoping@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.22.0.tgz#00d6e3a0bebdcfe7536b9d653b44a9141e63e47e" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" + lodash "^4.2.0" + +babel-plugin-transform-es2015-classes@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.22.0.tgz#54d44998fd823d9dca15292324161c331c1b6f14" + dependencies: + babel-helper-define-map "^6.22.0" + babel-helper-function-name "^6.22.0" + babel-helper-optimise-call-expression "^6.22.0" + babel-helper-replace-supers "^6.22.0" + babel-messages "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" + +babel-plugin-transform-es2015-computed-properties@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.22.0.tgz#7c383e9629bba4820c11b0425bdd6290f7f057e7" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.22.0" + +babel-plugin-transform-es2015-destructuring@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.22.0.tgz#8e0af2f885a0b2cf999d47c4c1dd23ce88cfa4c6" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-duplicate-keys@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.22.0.tgz#672397031c21610d72dd2bbb0ba9fb6277e1c36b" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.22.0" + +babel-plugin-transform-es2015-for-of@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.22.0.tgz#180467ad63aeea592a1caeee4bf1c8b3e2616265" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-function-name@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.22.0.tgz#f5fcc8b09093f9a23c76ac3d9e392c3ec4b77104" + dependencies: + babel-helper-function-name "^6.22.0" + babel-runtime "^6.22.0" + babel-types "^6.22.0" + +babel-plugin-transform-es2015-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-modules-amd@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.22.0.tgz#bf69cd34889a41c33d90dfb740e0091ccff52f21" + dependencies: + babel-plugin-transform-es2015-modules-commonjs "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + +babel-plugin-transform-es2015-modules-commonjs@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.22.0.tgz#6ca04e22b8e214fb50169730657e7a07dc941145" + dependencies: + babel-plugin-transform-strict-mode "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + babel-types "^6.22.0" + +babel-plugin-transform-es2015-modules-systemjs@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.22.0.tgz#810cd0cd025a08383b84236b92c6e31f88e644ad" + dependencies: + babel-helper-hoist-variables "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + +babel-plugin-transform-es2015-modules-umd@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.22.0.tgz#60d0ba3bd23258719c64391d9bf492d648dc0fae" + dependencies: + babel-plugin-transform-es2015-modules-amd "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + +babel-plugin-transform-es2015-object-super@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.22.0.tgz#daa60e114a042ea769dd53fe528fc82311eb98fc" + dependencies: + babel-helper-replace-supers "^6.22.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-parameters@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.22.0.tgz#57076069232019094f27da8c68bb7162fe208dbb" + dependencies: + babel-helper-call-delegate "^6.22.0" + babel-helper-get-function-arity "^6.22.0" + babel-runtime "^6.22.0" + babel-template "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" + +babel-plugin-transform-es2015-shorthand-properties@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.22.0.tgz#8ba776e0affaa60bff21e921403b8a652a2ff723" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.22.0" + +babel-plugin-transform-es2015-spread@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-sticky-regex@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.22.0.tgz#ab316829e866ee3f4b9eb96939757d19a5bc4593" + dependencies: + babel-helper-regex "^6.22.0" + babel-runtime "^6.22.0" + babel-types "^6.22.0" + +babel-plugin-transform-es2015-template-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-typeof-symbol@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.22.0.tgz#87faf2336d3b6a97f68c4d906b0cd0edeae676e1" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-unicode-regex@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.22.0.tgz#8d9cc27e7ee1decfe65454fb986452a04a613d20" + dependencies: + babel-helper-regex "^6.22.0" + babel-runtime "^6.22.0" + regexpu-core "^2.0.0" + +babel-plugin-transform-regenerator@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.22.0.tgz#65740593a319c44522157538d690b84094617ea6" + dependencies: + regenerator-transform "0.9.8" + +babel-plugin-transform-strict-mode@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.22.0.tgz#e008df01340fdc87e959da65991b7e05970c8c7c" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.22.0" + +babel-polyfill@^6.13.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.22.0.tgz#1ac99ebdcc6ba4db1e2618c387b2084a82154a3b" + dependencies: + babel-runtime "^6.22.0" + core-js "^2.4.0" + regenerator-runtime "^0.10.0" + +babel-preset-es2015@^6.14.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.22.0.tgz#af5a98ecb35eb8af764ad8a5a05eb36dc4386835" + dependencies: + babel-plugin-check-es2015-constants "^6.22.0" + babel-plugin-transform-es2015-arrow-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoping "^6.22.0" + babel-plugin-transform-es2015-classes "^6.22.0" + babel-plugin-transform-es2015-computed-properties "^6.22.0" + babel-plugin-transform-es2015-destructuring "^6.22.0" + babel-plugin-transform-es2015-duplicate-keys "^6.22.0" + babel-plugin-transform-es2015-for-of "^6.22.0" + babel-plugin-transform-es2015-function-name "^6.22.0" + babel-plugin-transform-es2015-literals "^6.22.0" + babel-plugin-transform-es2015-modules-amd "^6.22.0" + babel-plugin-transform-es2015-modules-commonjs "^6.22.0" + babel-plugin-transform-es2015-modules-systemjs "^6.22.0" + babel-plugin-transform-es2015-modules-umd "^6.22.0" + babel-plugin-transform-es2015-object-super "^6.22.0" + babel-plugin-transform-es2015-parameters "^6.22.0" + babel-plugin-transform-es2015-shorthand-properties "^6.22.0" + babel-plugin-transform-es2015-spread "^6.22.0" + babel-plugin-transform-es2015-sticky-regex "^6.22.0" + babel-plugin-transform-es2015-template-literals "^6.22.0" + babel-plugin-transform-es2015-typeof-symbol "^6.22.0" + babel-plugin-transform-es2015-unicode-regex "^6.22.0" + babel-plugin-transform-regenerator "^6.22.0" + +babel-register@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.22.0.tgz#a61dd83975f9ca4a9e7d6eff3059494cd5ea4c63" + dependencies: + babel-core "^6.22.0" + babel-runtime "^6.22.0" + core-js "^2.4.0" + home-or-tmp "^2.0.0" + lodash "^4.2.0" + mkdirp "^0.5.1" + source-map-support "^0.4.2" + +babel-runtime@^6.18.0, babel-runtime@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.22.0.tgz#1cf8b4ac67c77a4ddb0db2ae1f74de52ac4ca611" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.10.0" + +babel-template@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.22.0.tgz#403d110905a4626b317a2a1fcb8f3b73204b2edb" + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.22.0" + babel-types "^6.22.0" + babylon "^6.11.0" + lodash "^4.2.0" + +babel-traverse@^6.22.0, babel-traverse@^6.22.1: + version "6.22.1" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.22.1.tgz#3b95cd6b7427d6f1f757704908f2fc9748a5f59f" + dependencies: + babel-code-frame "^6.22.0" + babel-messages "^6.22.0" + babel-runtime "^6.22.0" + babel-types "^6.22.0" + babylon "^6.15.0" + debug "^2.2.0" + globals "^9.0.0" + invariant "^2.2.0" + lodash "^4.2.0" + +babel-types@^6.19.0, babel-types@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.22.0.tgz#2a447e8d0ea25d2512409e4175479fd78cc8b1db" + dependencies: + babel-runtime "^6.22.0" + esutils "^2.0.2" + lodash "^4.2.0" + to-fast-properties "^1.0.1" + +babylon@^6.11.0, babylon@^6.15.0: + version "6.15.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.15.0.tgz#ba65cfa1a80e1759b0e89fb562e27dccae70348e" + +balanced-match@^0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" + +base64-js@^1.0.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" + +bcrypt-pbkdf@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" + dependencies: + tweetnacl "^0.14.3" + +beeper@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809" + +big.js@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978" + +binary-extensions@^1.0.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" + +block-stream@*: + version "0.0.9" + resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + dependencies: + inherits "~2.0.0" + +boom@2.x.x: + version "2.10.1" + resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" + dependencies: + hoek "2.x.x" + +brace-expansion@^1.0.0: + version "1.1.6" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" + dependencies: + balanced-match "^0.4.1" + concat-map "0.0.1" + +braces@^1.8.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +browserify-aes@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-0.4.0.tgz#067149b668df31c4b58533e02d01e806d8608e2c" + dependencies: + inherits "^2.0.1" + +browserify-zlib@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" + dependencies: + pako "~0.2.0" + +buffer-shims@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" + +buffer@^4.9.0: + version "4.9.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + +caller-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" + dependencies: + callsites "^0.2.0" + +callsites@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" + +camelcase@^1.0.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" + +caseless@~0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" + +center-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" + dependencies: + align-text "^0.1.3" + lazy-cache "^1.0.3" + +chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chokidar@^1.0.0: + version "1.6.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2" + dependencies: + anymatch "^1.3.0" + async-each "^1.0.0" + glob-parent "^2.0.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^2.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + optionalDependencies: + fsevents "^1.0.0" + +circular-json@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" + +cli-cursor@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" + dependencies: + restore-cursor "^1.0.1" + +cli-width@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a" + +cliui@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" + dependencies: + center-align "^0.1.1" + right-align "^0.1.1" + wordwrap "0.0.2" + +clone-stats@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" + +clone@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f" + +clone@^1.0.0, clone@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + +combined-stream@^1.0.5, combined-stream@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" + dependencies: + delayed-stream "~1.0.0" + +commander@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" + dependencies: + graceful-readlink ">= 1.0.0" + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +concat-stream@^1.4.6: + version "1.6.0" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" + dependencies: + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +console-browserify@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" + dependencies: + date-now "^0.1.4" + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + +convert-source-map@1.X, convert-source-map@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.3.0.tgz#e9f3e9c6e2728efc2676696a70eb382f73106a67" + +core-js@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + +cryptiles@2.x.x: + version "2.0.5" + resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" + dependencies: + boom "2.x.x" + +crypto-browserify@3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.3.0.tgz#b9fc75bb4a0ed61dcf1cd5dae96eb30c9c3e506c" + dependencies: + browserify-aes "0.4.0" + pbkdf2-compat "2.0.1" + ripemd160 "0.2.0" + sha.js "2.2.6" + +css@2.X: + version "2.2.1" + resolved "https://registry.yarnpkg.com/css/-/css-2.2.1.tgz#73a4c81de85db664d4ee674f7d47085e3b2d55dc" + dependencies: + inherits "^2.0.1" + source-map "^0.1.38" + source-map-resolve "^0.3.0" + urix "^0.1.0" + +d@^0.1.1, d@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/d/-/d-0.1.1.tgz#da184c535d18d8ee7ba2aa229b914009fae11309" + dependencies: + es5-ext "~0.10.2" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + dependencies: + assert-plus "^1.0.0" + +date-now@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" + +dateformat@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.0.0.tgz#2743e3abb5c3fc2462e527dca445e04e9f4dee17" + +debug-fabulous@0.0.X: + version "0.0.4" + resolved "https://registry.yarnpkg.com/debug-fabulous/-/debug-fabulous-0.0.4.tgz#fa071c5d87484685424807421ca4b16b0b1a0763" + dependencies: + debug "2.X" + lazy-debug-legacy "0.0.X" + object-assign "4.1.0" + +debug@2.X, debug@^2.1.1, debug@^2.2.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.0.tgz#bc596bcabe7617f11d9fa15361eded5608b8499b" + dependencies: + ms "0.7.2" + +debug@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" + dependencies: + ms "0.7.1" + +decamelize@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + +deep-extend@~0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + +defaults@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" + dependencies: + clone "^1.0.2" + +del@^2.0.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" + dependencies: + globby "^5.0.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + rimraf "^2.2.8" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + +deprecated@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/deprecated/-/deprecated-0.0.1.tgz#f9c9af5464afa1e7a971458a8bdef2aa94d5bb19" + +detect-file@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-0.1.0.tgz#4935dedfd9488648e006b0129566e9386711ea63" + dependencies: + fs-exists-sync "^0.1.0" + +detect-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + dependencies: + repeating "^2.0.0" + +detect-newline@2.X: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" + +doctrine@^1.2.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +domain-browser@^1.1.1: + version "1.1.7" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" + +dropzone@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/dropzone/-/dropzone-4.3.0.tgz#48b0b8f2ad092872e4b535b672a7c3f1a1d67c91" + +duplexer2@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" + dependencies: + readable-stream "~1.1.9" + +ecc-jsbn@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" + dependencies: + jsbn "~0.1.0" + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + +end-of-stream@~0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-0.1.5.tgz#8e177206c3c80837d85632e8b9359dfe8b2f6eaf" + dependencies: + once "~1.3.0" + +enhanced-resolve@~0.9.0: + version "0.9.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz#4d6e689b3725f86090927ccc86cd9f1635b89e2e" + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.2.0" + tapable "^0.1.8" + +errno@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" + dependencies: + prr "~0.0.0" + +es5-ext@^0.10.7, es5-ext@^0.10.8, es5-ext@~0.10.11, es5-ext@~0.10.2, es5-ext@~0.10.7: + version "0.10.12" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.12.tgz#aa84641d4db76b62abba5e45fd805ecbab140047" + dependencies: + es6-iterator "2" + es6-symbol "~3.1" + +es6-iterator@2: + version "2.0.0" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.0.tgz#bd968567d61635e33c0b80727613c9cb4b096bac" + dependencies: + d "^0.1.1" + es5-ext "^0.10.7" + es6-symbol "3" + +es6-map@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.4.tgz#a34b147be224773a4d7da8072794cefa3632b897" + dependencies: + d "~0.1.1" + es5-ext "~0.10.11" + es6-iterator "2" + es6-set "~0.1.3" + es6-symbol "~3.1.0" + event-emitter "~0.3.4" + +es6-set@~0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.4.tgz#9516b6761c2964b92ff479456233a247dc707ce8" + dependencies: + d "~0.1.1" + es5-ext "~0.10.11" + es6-iterator "2" + es6-symbol "3" + event-emitter "~0.3.4" + +es6-symbol@3, es6-symbol@~3.1, es6-symbol@~3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.0.tgz#94481c655e7a7cad82eba832d97d5433496d7ffa" + dependencies: + d "~0.1.1" + es5-ext "~0.10.11" + +es6-weak-map@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.1.tgz#0d2bbd8827eb5fb4ba8f97fbfea50d43db21ea81" + dependencies: + d "^0.1.1" + es5-ext "^0.10.8" + es6-iterator "2" + es6-symbol "3" + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + +escope@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" + dependencies: + es6-map "^0.1.3" + es6-weak-map "^2.0.1" + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-loader@^1.5.0: + version "1.6.1" + resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-1.6.1.tgz#96c47c812772eeb077e3a81681818e671a2cabf5" + dependencies: + find-cache-dir "^0.1.1" + loader-utils "^0.2.7" + object-assign "^4.0.1" + object-hash "^1.1.4" + +eslint@^3.4.0: + version "3.14.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.14.1.tgz#8a62175f2255109494747a1b25128d97b8eb3d97" + dependencies: + babel-code-frame "^6.16.0" + chalk "^1.1.3" + concat-stream "^1.4.6" + debug "^2.1.1" + doctrine "^1.2.2" + escope "^3.6.0" + espree "^3.3.1" + estraverse "^4.2.0" + esutils "^2.0.2" + file-entry-cache "^2.0.0" + glob "^7.0.3" + globals "^9.14.0" + ignore "^3.2.0" + imurmurhash "^0.1.4" + inquirer "^0.12.0" + is-my-json-valid "^2.10.0" + is-resolvable "^1.0.0" + js-yaml "^3.5.1" + json-stable-stringify "^1.0.0" + levn "^0.3.0" + lodash "^4.0.0" + mkdirp "^0.5.0" + natural-compare "^1.4.0" + optionator "^0.8.2" + path-is-inside "^1.0.1" + pluralize "^1.2.1" + progress "^1.1.8" + require-uncached "^1.0.2" + shelljs "^0.7.5" + strip-bom "^3.0.0" + strip-json-comments "~2.0.1" + table "^3.7.8" + text-table "~0.2.0" + user-home "^2.0.0" + +espree@^3.3.1: + version "3.4.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-3.4.0.tgz#41656fa5628e042878025ef467e78f125cb86e1d" + dependencies: + acorn "4.0.4" + acorn-jsx "^3.0.0" + +esprima@^2.6.0: + version "2.7.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + +esrecurse@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220" + dependencies: + estraverse "~4.1.0" + object-assign "^4.0.1" + +estraverse@^4.1.1, estraverse@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + +estraverse@~4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2" + +esutils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + +event-emitter@~0.3.4: + version "0.3.4" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.4.tgz#8d63ddfb4cfe1fae3b32ca265c4c720222080bb5" + dependencies: + d "~0.1.1" + es5-ext "~0.10.7" + +events@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + +exit-hook@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + dependencies: + is-posix-bracket "^0.1.0" + +expand-range@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + dependencies: + fill-range "^2.1.0" + +expand-tilde@^1.2.1, expand-tilde@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-1.2.2.tgz#0b81eba897e5a3d31d1c3d102f8f01441e559449" + dependencies: + os-homedir "^1.0.1" + +exports-loader@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/exports-loader/-/exports-loader-0.6.3.tgz#57dc78917f709b96f247fa91e69b554c855013c8" + dependencies: + loader-utils "0.2.x" + source-map "0.1.x" + +extend@^3.0.0, extend@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" + +extglob@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + dependencies: + is-extglob "^1.0.0" + +extsprintf@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" + +fancy-log@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.0.tgz#45be17d02bb9917d60ccffd4995c999e6c8c9948" + dependencies: + chalk "^1.1.1" + time-stamp "^1.0.0" + +fast-levenshtein@~2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + +figures@^1.3.5: + version "1.7.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" + dependencies: + escape-string-regexp "^1.0.5" + object-assign "^4.1.0" + +file-entry-cache@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" + dependencies: + flat-cache "^1.2.1" + object-assign "^4.0.1" + +filename-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" + +fill-range@^2.1.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^1.1.3" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +find-cache-dir@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" + dependencies: + commondir "^1.0.1" + mkdirp "^0.5.1" + pkg-dir "^1.0.0" + +find-index@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +findup-sync@^0.4.2: + version "0.4.3" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.4.3.tgz#40043929e7bc60adf0b7f4827c4c6e75a0deca12" + dependencies: + detect-file "^0.1.0" + is-glob "^2.0.1" + micromatch "^2.3.7" + resolve-dir "^0.1.0" + +fined@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/fined/-/fined-1.0.2.tgz#5b28424b760d7598960b7ef8480dff8ad3660e97" + dependencies: + expand-tilde "^1.2.1" + lodash.assignwith "^4.0.7" + lodash.isempty "^4.2.1" + lodash.isplainobject "^4.0.4" + lodash.isstring "^4.0.1" + lodash.pick "^4.2.1" + parse-filepath "^1.0.1" + +first-chunk-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e" + +flagged-respawn@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-0.3.2.tgz#ff191eddcd7088a675b2610fffc976be9b8074b5" + +flat-cache@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96" + dependencies: + circular-json "^0.3.1" + del "^2.0.2" + graceful-fs "^4.1.2" + write "^0.2.1" + +for-in@^0.1.5: + version "0.1.6" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz#c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8" + +for-own@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.4.tgz#0149b41a39088c7515f51ebe1c1386d45f935072" + dependencies: + for-in "^0.1.5" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + +form-data@~2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.12" + +fs-exists-sync@^0.1.0: + version "0.1.0" + resolved "http://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +fsevents@^1.0.0: + version "1.0.17" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.17.tgz#8537f3f12272678765b4fd6528c0f1f66f8f4558" + dependencies: + nan "^2.3.0" + node-pre-gyp "^0.6.29" + +fstream-ignore@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" + dependencies: + fstream "^1.0.0" + inherits "2" + minimatch "^3.0.0" + +fstream@^1.0.0, fstream@^1.0.2, fstream@~1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.10.tgz#604e8a92fe26ffd9f6fae30399d4984e1ab22822" + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + +gauge@~2.7.1: + version "2.7.2" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.2.tgz#15cecc31b02d05345a5d6b0e171cdb3ad2307774" + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + supports-color "^0.2.0" + wide-align "^1.1.0" + +gaze@^0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/gaze/-/gaze-0.5.2.tgz#40b709537d24d1d45767db5a908689dfe69ac44f" + dependencies: + globule "~0.1.0" + +generate-function@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" + +generate-object-property@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" + dependencies: + is-property "^1.0.0" + +getpass@^0.1.1: + version "0.1.6" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6" + dependencies: + assert-plus "^1.0.0" + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + dependencies: + is-glob "^2.0.0" + +glob-stream@^3.1.5: + version "3.1.18" + resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-3.1.18.tgz#9170a5f12b790306fdfe598f313f8f7954fd143b" + dependencies: + glob "^4.3.1" + glob2base "^0.0.12" + minimatch "^2.0.1" + ordered-read-streams "^0.1.0" + through2 "^0.6.1" + unique-stream "^1.0.0" + +glob-watcher@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-0.0.6.tgz#b95b4a8df74b39c83298b0c05c978b4d9a3b710b" + dependencies: + gaze "^0.5.1" + +glob2base@^0.0.12: + version "0.0.12" + resolved "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz#9d419b3e28f12e83a362164a277055922c9c0d56" + dependencies: + find-index "^0.1.1" + +glob@^4.3.1: + version "4.5.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz#c6cb73d3226c1efef04de3c56d012f03377ee15f" + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "^2.0.1" + once "^1.3.0" + +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5: + version "7.1.1" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.2" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@~3.1.21: + version "3.1.21" + resolved "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz#d29e0a055dea5138f4d07ed40e8982e83c2066cd" + dependencies: + graceful-fs "~1.2.0" + inherits "1" + minimatch "~0.2.11" + +global-modules@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-0.2.3.tgz#ea5a3bed42c6d6ce995a4f8a1269b5dae223828d" + dependencies: + global-prefix "^0.1.4" + is-windows "^0.2.0" + +global-prefix@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-0.1.5.tgz#8d3bc6b8da3ca8112a160d8d496ff0462bfef78f" + dependencies: + homedir-polyfill "^1.0.0" + ini "^1.3.4" + is-windows "^0.2.0" + which "^1.2.12" + +globals@^9.0.0, globals@^9.14.0: + version "9.14.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.14.0.tgz#8859936af0038741263053b39d0e76ca241e4034" + +globby@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" + dependencies: + array-union "^1.0.1" + arrify "^1.0.0" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globule@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz#d9c8edde1da79d125a151b79533b978676346ae5" + dependencies: + glob "~3.1.21" + lodash "~1.0.1" + minimatch "~0.2.11" + +glogg@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.0.tgz#7fe0f199f57ac906cf512feead8f90ee4a284fc5" + dependencies: + sparkles "^1.0.0" + +graceful-fs@4.X, graceful-fs@^4.1.2: + version "4.1.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + +graceful-fs@^3.0.0: + version "3.0.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818" + dependencies: + natives "^1.1.0" + +graceful-fs@~1.2.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364" + +"graceful-readlink@>= 1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + +gulp-sourcemaps@^1.6.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-1.11.0.tgz#1b249bfe994361c370c168fe2508effc1f1523c9" + dependencies: + acorn "4.X" + convert-source-map "1.X" + css "2.X" + debug-fabulous "0.0.X" + detect-newline "2.X" + graceful-fs "4.X" + source-map "0.X" + strip-bom "2.X" + through2 "2.X" + vinyl "1.X" + +"gulp-util@>=3.0.0 <3.1.0-0", gulp-util@^3.0.0, gulp-util@^3.0.7: + version "3.0.8" + resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f" + dependencies: + array-differ "^1.0.0" + array-uniq "^1.0.2" + beeper "^1.0.0" + chalk "^1.0.0" + dateformat "^2.0.0" + fancy-log "^1.1.0" + gulplog "^1.0.0" + has-gulplog "^0.1.0" + lodash._reescape "^3.0.0" + lodash._reevaluate "^3.0.0" + lodash._reinterpolate "^3.0.0" + lodash.template "^3.0.0" + minimist "^1.1.0" + multipipe "^0.1.2" + object-assign "^3.0.0" + replace-ext "0.0.1" + through2 "^2.0.0" + vinyl "^0.5.0" + +gulp-webpack@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/gulp-webpack/-/gulp-webpack-1.5.0.tgz#7aa683fe88c02d246148e27c7229cb6b62892dba" + dependencies: + gulp-util ">=3.0.0 <3.1.0-0" + memory-fs ">=0.2.0 <0.3.0-0" + through ">=2.3.4 <2.4.0-0" + vinyl ">=0.5.0 <0.6.0-0" + webpack ">=1.9.0 <2.0.0-0" + +gulp@^3.9.1: + version "3.9.1" + resolved "https://registry.yarnpkg.com/gulp/-/gulp-3.9.1.tgz#571ce45928dd40af6514fc4011866016c13845b4" + dependencies: + archy "^1.0.0" + chalk "^1.0.0" + deprecated "^0.0.1" + gulp-util "^3.0.0" + interpret "^1.0.0" + liftoff "^2.1.0" + minimist "^1.1.0" + orchestrator "^0.3.0" + pretty-hrtime "^1.0.0" + semver "^4.1.0" + tildify "^1.0.0" + v8flags "^2.0.2" + vinyl-fs "^0.3.0" + +gulplog@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" + dependencies: + glogg "^1.0.0" + +har-validator@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" + dependencies: + chalk "^1.1.1" + commander "^2.9.0" + is-my-json-valid "^2.12.4" + pinkie-promise "^2.0.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + dependencies: + ansi-regex "^2.0.0" + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + +has-gulplog@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" + dependencies: + sparkles "^1.0.0" + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + +hawk@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" + dependencies: + boom "2.x.x" + cryptiles "2.x.x" + hoek "2.x.x" + sntp "1.x.x" + +hoek@2.x.x: + version "2.16.3" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" + +home-or-tmp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.1" + +homedir-polyfill@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" + dependencies: + parse-passwd "^1.0.0" + +http-signature@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" + dependencies: + assert-plus "^0.2.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82" + +ieee754@^1.1.4: + version "1.1.8" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" + +ignore@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.2.tgz#1c51e1ef53bab6ddc15db4d9ac4ec139eceb3410" + +immutable@^3.8.1: + version "3.8.1" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.1.tgz#200807f11ab0f72710ea485542de088075f68cd2" + +imports-loader@^0.6.5: + version "0.6.5" + resolved "https://registry.yarnpkg.com/imports-loader/-/imports-loader-0.6.5.tgz#ae74653031d59e37b3c2fb2544ac61aeae3530a6" + dependencies: + loader-utils "0.2.x" + source-map "0.1.x" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + +indexof@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b" + +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + +ini@^1.3.4, ini@~1.3.0: + version "1.3.4" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" + +inquirer@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" + dependencies: + ansi-escapes "^1.1.0" + ansi-regex "^2.0.0" + chalk "^1.0.0" + cli-cursor "^1.0.1" + cli-width "^2.0.0" + figures "^1.3.5" + lodash "^4.3.0" + readline2 "^1.0.1" + run-async "^0.1.0" + rx-lite "^3.1.2" + string-width "^1.0.1" + strip-ansi "^3.0.0" + through "^2.3.6" + +interpret@^0.6.4: + version "0.6.6" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-0.6.6.tgz#fecd7a18e7ce5ca6abfb953e1f86213a49f1625b" + +interpret@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c" + +invariant@^2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" + dependencies: + loose-envify "^1.0.0" + +is-absolute@^0.2.3: + version "0.2.6" + resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-0.2.6.tgz#20de69f3db942ef2d87b9c2da36f172235b1b5eb" + dependencies: + is-relative "^0.2.1" + is-windows "^0.2.0" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + dependencies: + binary-extensions "^1.0.0" + +is-buffer@^1.0.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b" + +is-dotfile@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + dependencies: + is-primitive "^2.0.0" + +is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + +is-finite@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + dependencies: + is-extglob "^1.0.0" + +is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4: + version "2.15.0" + resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b" + dependencies: + generate-function "^2.0.0" + generate-object-property "^1.1.0" + jsonpointer "^4.0.0" + xtend "^4.0.0" + +is-number@^2.0.2, is-number@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + dependencies: + kind-of "^3.0.2" + +is-path-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + +is-path-in-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" + dependencies: + is-path-inside "^1.0.0" + +is-path-inside@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" + dependencies: + path-is-inside "^1.0.1" + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + +is-primitive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + +is-property@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" + +is-relative@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-0.2.1.tgz#d27f4c7d516d175fb610db84bbeef23c3bc97aa5" + dependencies: + is-unc-path "^0.1.1" + +is-resolvable@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62" + dependencies: + tryit "^1.0.1" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + +is-unc-path@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-0.1.2.tgz#6ab053a72573c10250ff416a3814c35178af39b9" + dependencies: + unc-path-regex "^0.1.0" + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + +is-windows@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +isexe@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + dependencies: + isarray "1.0.0" + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + +jodid25519@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" + dependencies: + jsbn "~0.1.0" + +js-tokens@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" + +js-yaml@^3.5.1: + version "3.7.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" + dependencies: + argparse "^1.0.7" + esprima "^2.6.0" + +jsbn@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd" + +jsesc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + +json-loader@^0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.4.tgz#8baa1365a632f58a3c46d20175fc6002c96e37de" + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + +json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + dependencies: + jsonify "~0.0.0" + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + +json5@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + +jsonpointer@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" + +jsprim@^1.2.2: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.3.1.tgz#2a7256f70412a29ee3670aaca625994c4dcff252" + dependencies: + extsprintf "1.0.2" + json-schema "0.2.3" + verror "1.3.6" + +kind-of@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47" + dependencies: + is-buffer "^1.0.2" + +lazy-cache@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + +lazy-debug-legacy@0.0.X: + version "0.0.1" + resolved "https://registry.yarnpkg.com/lazy-debug-legacy/-/lazy-debug-legacy-0.0.1.tgz#537716c0776e4cf79e3ed1b621f7658c2911b1b1" + +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +liftoff@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-2.3.0.tgz#a98f2ff67183d8ba7cfaca10548bd7ff0550b385" + dependencies: + extend "^3.0.0" + findup-sync "^0.4.2" + fined "^1.0.1" + flagged-respawn "^0.3.2" + lodash.isplainobject "^4.0.4" + lodash.isstring "^4.0.1" + lodash.mapvalues "^4.4.0" + rechoir "^0.6.2" + resolve "^1.1.7" + +loader-utils@0.2.x, loader-utils@^0.2.11, loader-utils@^0.2.7: + version "0.2.16" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.16.tgz#f08632066ed8282835dff88dfb52704765adee6d" + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + object-assign "^4.0.1" + +lodash._basecopy@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" + +lodash._basetostring@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5" + +lodash._basevalues@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7" + +lodash._getnative@^3.0.0: + version "3.9.1" + resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" + +lodash._isiterateecall@^3.0.0: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" + +lodash._reescape@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a" + +lodash._reevaluate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed" + +lodash._reinterpolate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + +lodash._root@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" + +lodash.assignwith@^4.0.7: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.assignwith/-/lodash.assignwith-4.2.0.tgz#127a97f02adc41751a954d24b0de17e100e038eb" + +lodash.escape@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698" + dependencies: + lodash._root "^3.0.0" + +lodash.isarguments@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" + +lodash.isarray@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" + +lodash.isempty@^4.2.1: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.isempty/-/lodash.isempty-4.4.0.tgz#6f86cbedd8be4ec987be9aaf33c9684db1b31e7e" + +lodash.isplainobject@^4.0.4: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + +lodash.keys@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" + dependencies: + lodash._getnative "^3.0.0" + lodash.isarguments "^3.0.0" + lodash.isarray "^3.0.0" + +lodash.mapvalues@^4.4.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz#1bafa5005de9dd6f4f26668c30ca37230cc9689c" + +lodash.pick@^4.2.1: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" + +lodash.restparam@^3.0.0: + version "3.6.1" + resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" + +lodash.template@^3.0.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f" + dependencies: + lodash._basecopy "^3.0.0" + lodash._basetostring "^3.0.0" + lodash._basevalues "^3.0.0" + lodash._isiterateecall "^3.0.0" + lodash._reinterpolate "^3.0.0" + lodash.escape "^3.0.0" + lodash.keys "^3.0.0" + lodash.restparam "^3.0.0" + lodash.templatesettings "^3.0.0" + +lodash.templatesettings@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5" + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.escape "^3.0.0" + +lodash@^4.0.0, lodash@^4.2.0, lodash@^4.3.0: + version "4.17.4" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" + +lodash@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551" + +longest@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" + +loose-envify@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" + dependencies: + js-tokens "^3.0.0" + +lru-cache@2: + version "2.7.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" + +map-cache@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + +"memory-fs@>=0.2.0 <0.3.0-0", memory-fs@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.2.0.tgz#f2bb25368bc121e391c2520de92969caee0a0290" + +memory-fs@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.3.0.tgz#7bcc6b629e3a43e871d7e29aca6ae8a7f15cbb20" + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +micromatch@^2.1.5, micromatch@^2.3.7: + version "2.3.11" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +mime-db@~1.26.0: + version "1.26.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.26.0.tgz#eaffcd0e4fc6935cf8134da246e2e6c35305adff" + +mime-types@^2.1.12, mime-types@~2.1.7: + version "2.1.14" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.14.tgz#f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee" + dependencies: + mime-db "~1.26.0" + +minimatch@^2.0.1: + version "2.0.10" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7" + dependencies: + brace-expansion "^1.0.0" + +minimatch@^3.0.0, minimatch@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" + dependencies: + brace-expansion "^1.0.0" + +minimatch@~0.2.11: + version "0.2.14" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a" + dependencies: + lru-cache "2" + sigmund "~1.0.0" + +minimist@0.0.8, minimist@~0.0.1: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +minimist@^1.1.0, minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +ms@0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" + +ms@0.7.2: + version "0.7.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" + +multipipe@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b" + dependencies: + duplexer2 "0.0.2" + +mute-stream@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" + +nan@^2.3.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.1.tgz#d5b01691253326a97a2bbee9e61c55d8d60351e2" + +natives@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.0.tgz#e9ff841418a6b2ec7a495e939984f78f163e6e31" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + +node-libs-browser@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-0.7.0.tgz#3e272c0819e308935e26674408d7af0e1491b83b" + dependencies: + assert "^1.1.1" + browserify-zlib "^0.1.4" + buffer "^4.9.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "3.3.0" + domain-browser "^1.1.1" + events "^1.0.0" + https-browserify "0.0.1" + os-browserify "^0.2.0" + path-browserify "0.0.0" + process "^0.11.0" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.0.5" + stream-browserify "^2.0.1" + stream-http "^2.3.1" + string_decoder "^0.10.25" + timers-browserify "^2.0.2" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.10.3" + vm-browserify "0.0.4" + +node-pre-gyp@^0.6.29: + version "0.6.33" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.33.tgz#640ac55198f6a925972e0c16c4ac26a034d5ecc9" + dependencies: + mkdirp "~0.5.1" + nopt "~3.0.6" + npmlog "^4.0.1" + rc "~1.1.6" + request "^2.79.0" + rimraf "~2.5.4" + semver "~5.3.0" + tar "~2.2.1" + tar-pack "~3.3.0" + +nopt@~3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + dependencies: + abbrev "1" + +normalize-path@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a" + +npmlog@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f" + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.1" + set-blocking "~2.0.0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + +oauth-sign@~0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" + +object-assign@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" + +object-assign@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" + +object-assign@^4.0.1, object-assign@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + +object-hash@^1.1.4: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.1.5.tgz#bdd844e030d0861b692ca175c6cab6868ec233d7" + +object.omit@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + dependencies: + for-own "^0.1.4" + is-extendable "^0.1.1" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +once@~1.3.0, once@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" + dependencies: + wrappy "1" + +onetime@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" + +optimist@~0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + dependencies: + minimist "~0.0.1" + wordwrap "~0.0.2" + +optionator@^0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.4" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + wordwrap "~1.0.0" + +orchestrator@^0.3.0: + version "0.3.8" + resolved "https://registry.yarnpkg.com/orchestrator/-/orchestrator-0.3.8.tgz#14e7e9e2764f7315fbac184e506c7aa6df94ad7e" + dependencies: + end-of-stream "~0.1.5" + sequencify "~0.0.7" + stream-consume "~0.1.0" + +ordered-read-streams@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz#fd565a9af8eb4473ba69b6ed8a34352cb552f126" + +os-browserify@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f" + +os-homedir@^1.0.0, os-homedir@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +os-tmpdir@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + +pako@~0.2.0: + version "0.2.9" + resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" + +parse-filepath@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.1.tgz#159d6155d43904d16c10ef698911da1e91969b73" + dependencies: + is-absolute "^0.2.3" + map-cache "^0.2.0" + path-root "^0.1.1" + +parse-glob@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + +path-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + dependencies: + pinkie-promise "^2.0.0" + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +path-is-inside@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + +path-root-regex@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" + +path-root@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" + dependencies: + path-root-regex "^0.1.0" + +pbkdf2-compat@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz#b6e0c8fa99494d94e0511575802a59a5c142f288" + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + +pkg-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" + dependencies: + find-up "^1.0.0" + +pluralize@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + +preserve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + +pretty-hrtime@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" + +private@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.6.tgz#55c6a976d0f9bafb9924851350fe47b9b5fbb7c1" + +process-nextick-args@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + +process@^0.11.0: + version "0.11.9" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.9.tgz#7bd5ad21aa6253e7da8682264f1e11d11c0318c1" + +progress@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" + +prr@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + +punycode@^1.2.4, punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + +qs@~6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442" + +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + +randomatic@^1.1.3: + version "1.1.6" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" + dependencies: + is-number "^2.0.2" + kind-of "^3.0.2" + +rc@~1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.1.6.tgz#43651b76b6ae53b5c802f1151fa3fc3b059969c9" + dependencies: + deep-extend "~0.4.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~1.0.4" + +"readable-stream@>=1.0.33-1 <1.1.0-0": + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +"readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.0, readable-stream@^2.1.5, readable-stream@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz#a9e6fec3c7dda85f8bb1b3ba7028604556fc825e" + dependencies: + buffer-shims "^1.0.0" + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + +readable-stream@~1.1.9: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@~2.1.4: + version "2.1.5" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" + dependencies: + buffer-shims "^1.0.0" + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + +readdirp@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" + dependencies: + graceful-fs "^4.1.2" + minimatch "^3.0.2" + readable-stream "^2.0.2" + set-immediate-shim "^1.0.1" + +readline2@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + mute-stream "0.0.5" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + dependencies: + resolve "^1.1.6" + +regenerate@^1.2.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" + +regenerator-runtime@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz#257f41961ce44558b18f7814af48c17559f9faeb" + +regenerator-transform@0.9.8: + version "0.9.8" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.8.tgz#0f88bb2bc03932ddb7b6b7312e68078f01026d6c" + dependencies: + babel-runtime "^6.18.0" + babel-types "^6.19.0" + private "^0.1.6" + +regex-cache@^0.4.2: + version "0.4.3" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" + dependencies: + is-equal-shallow "^0.1.3" + is-primitive "^2.0.0" + +regexpu-core@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +regjsgen@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + +regjsparser@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + dependencies: + jsesc "~0.5.0" + +repeat-element@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" + +repeat-string@^1.5.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + dependencies: + is-finite "^1.0.0" + +replace-ext@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" + +request@^2.79.0: + version "2.79.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + caseless "~0.11.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.1.1" + har-validator "~2.0.6" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + oauth-sign "~0.8.1" + qs "~6.3.0" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "~0.4.1" + uuid "^3.0.0" + +require-uncached@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" + dependencies: + caller-path "^0.1.0" + resolve-from "^1.0.0" + +resolve-dir@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-0.1.1.tgz#b219259a5602fac5c5c496ad894a6e8cc430261e" + dependencies: + expand-tilde "^1.2.2" + global-modules "^0.2.3" + +resolve-from@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" + +resolve-url@~0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + +resolve@^1.1.6, resolve@^1.1.7: + version "1.2.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.2.0.tgz#9589c3f2f6149d1417a40becc1663db6ec6bc26c" + +restore-cursor@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" + dependencies: + exit-hook "^1.0.0" + onetime "^1.0.0" + +right-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" + dependencies: + align-text "^0.1.1" + +rimraf@2, rimraf@^2.2.8, rimraf@~2.5.1, rimraf@~2.5.4: + version "2.5.4" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" + dependencies: + glob "^7.0.5" + +ripemd160@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-0.2.0.tgz#2bf198bde167cacfa51c0a928e84b68bbe171fce" + +run-async@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" + dependencies: + once "^1.3.0" + +rx-lite@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" + +semver@^4.1.0: + version "4.3.6" + resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" + +semver@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + +sequencify@~0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/sequencify/-/sequencify-0.0.7.tgz#90cff19d02e07027fd767f5ead3e7b95d1e7380c" + +set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + +set-immediate-shim@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + +setimmediate@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + +sha.js@2.2.6: + version "2.2.6" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.2.6.tgz#17ddeddc5f722fb66501658895461977867315ba" + +shelljs@^0.7.5: + version "0.7.6" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.6.tgz#379cccfb56b91c8601e4793356eb5382924de9ad" + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +sigmund@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + +signal-exit@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + +slice-ansi@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" + +sntp@1.x.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" + dependencies: + hoek "2.x.x" + +source-list-map@~0.1.7: + version "0.1.8" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106" + +source-map-resolve@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.3.1.tgz#610f6122a445b8dd51535a2a71b783dfc1248761" + dependencies: + atob "~1.1.0" + resolve-url "~0.2.1" + source-map-url "~0.3.0" + urix "~0.1.0" + +source-map-support@^0.4.2: + version "0.4.11" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.11.tgz#647f939978b38535909530885303daf23279f322" + dependencies: + source-map "^0.5.3" + +source-map-url@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.3.0.tgz#7ecaf13b57bcd09da8a40c5d269db33799d4aaf9" + +source-map@0.1.x, source-map@^0.1.38: + version "0.1.43" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" + dependencies: + amdefine ">=0.0.4" + +source-map@0.X, source-map@^0.5.0, source-map@^0.5.3, source-map@~0.5.1: + version "0.5.6" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" + +source-map@~0.4.1: + version "0.4.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + dependencies: + amdefine ">=0.0.4" + +sparkles@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.0.tgz#1acbbfb592436d10bbe8f785b7cc6f82815012c3" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + +sshpk@^1.7.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.2.tgz#d5a804ce22695515638e798dbe23273de070a5fa" + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + dashdash "^1.12.0" + getpass "^0.1.1" + optionalDependencies: + bcrypt-pbkdf "^1.0.0" + ecc-jsbn "~0.1.1" + jodid25519 "^1.0.0" + jsbn "~0.1.0" + tweetnacl "~0.14.0" + +stream-browserify@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-consume@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/stream-consume/-/stream-consume-0.1.0.tgz#a41ead1a6d6081ceb79f65b061901b6d8f3d1d0f" + +stream-http@^2.3.1: + version "2.6.3" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.6.3.tgz#4c3ddbf9635968ea2cfd4e48d43de5def2625ac3" + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.1.0" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string-width@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e" + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^3.0.0" + +string_decoder@^0.10.25, string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + +stringstream@~0.0.4: + version "0.0.5" + resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + dependencies: + ansi-regex "^2.0.0" + +strip-bom@2.X: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + dependencies: + is-utf8 "^0.2.0" + +strip-bom@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-1.0.0.tgz#85b8862f3844b5a6d5ec8467a93598173a36f794" + dependencies: + first-chunk-stream "^1.0.0" + is-utf8 "^0.2.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + +strip-json-comments@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + +supports-color@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + +supports-color@^3.1.0: + version "3.2.3" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + dependencies: + has-flag "^1.0.0" + +table@^3.7.8: + version "3.8.3" + resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" + dependencies: + ajv "^4.7.0" + ajv-keywords "^1.0.0" + chalk "^1.1.1" + lodash "^4.0.0" + slice-ansi "0.0.4" + string-width "^2.0.0" + +tapable@^0.1.8, tapable@~0.1.8: + version "0.1.10" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.1.10.tgz#29c35707c2b70e50d07482b5d202e8ed446dafd4" + +tar-pack@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.3.0.tgz#30931816418f55afc4d21775afdd6720cee45dae" + dependencies: + debug "~2.2.0" + fstream "~1.0.10" + fstream-ignore "~1.0.5" + once "~1.3.3" + readable-stream "~2.1.4" + rimraf "~2.5.1" + tar "~2.2.1" + uid-number "~0.0.6" + +tar@~2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" + dependencies: + block-stream "*" + fstream "^1.0.2" + inherits "2" + +text-table@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + +through2@2.X, through2@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" + dependencies: + readable-stream "^2.1.5" + xtend "~4.0.1" + +through2@^0.6.1: + version "0.6.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" + dependencies: + readable-stream ">=1.0.33-1 <1.1.0-0" + xtend ">=4.0.0 <4.1.0-0" + +"through@>=2.3.4 <2.4.0-0", through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + +tildify@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/tildify/-/tildify-1.2.0.tgz#dcec03f55dca9b7aa3e5b04f21817eb56e63588a" + dependencies: + os-homedir "^1.0.0" + +time-stamp@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.0.1.tgz#9f4bd23559c9365966f3302dbba2b07c6b99b151" + +timers-browserify@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.2.tgz#ab4883cf597dcd50af211349a00fbca56ac86b86" + dependencies: + setimmediate "^1.0.4" + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + +to-fast-properties@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" + +tough-cookie@~2.3.0: + version "2.3.2" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" + dependencies: + punycode "^1.4.1" + +tryit@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + +tunnel-agent@~0.4.1: + version "0.4.3" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + dependencies: + prelude-ls "~1.1.2" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + +uglify-js@~2.7.3: + version "2.7.5" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8" + dependencies: + async "~0.2.6" + source-map "~0.5.1" + uglify-to-browserify "~1.0.0" + yargs "~3.10.0" + +uglify-to-browserify@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" + +uid-number@~0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" + +unc-path-regex@^0.1.0: + version "0.1.2" + resolved "http://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" + +unique-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-1.0.0.tgz#d59a4a75427447d9aa6c91e70263f8d26a4b104b" + +urix@^0.1.0, urix@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +user-home@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" + +user-home@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" + dependencies: + os-homedir "^1.0.0" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +util@0.10.3, util@^0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + dependencies: + inherits "2.0.1" + +uuid@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" + +v8flags@^2.0.2: + version "2.0.11" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.0.11.tgz#bca8f30f0d6d60612cc2c00641e6962d42ae6881" + dependencies: + user-home "^1.1.1" + +verror@1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" + dependencies: + extsprintf "1.0.2" + +vinyl-fs@^0.3.0: + version "0.3.14" + resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-0.3.14.tgz#9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6" + dependencies: + defaults "^1.0.0" + glob-stream "^3.1.5" + glob-watcher "^0.0.6" + graceful-fs "^3.0.0" + mkdirp "^0.5.0" + strip-bom "^1.0.0" + through2 "^0.6.1" + vinyl "^0.4.0" + +vinyl@1.X: + version "1.2.0" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884" + dependencies: + clone "^1.0.0" + clone-stats "^0.0.1" + replace-ext "0.0.1" + +"vinyl@>=0.5.0 <0.6.0-0", vinyl@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde" + dependencies: + clone "^1.0.0" + clone-stats "^0.0.1" + replace-ext "0.0.1" + +vinyl@^0.4.0: + version "0.4.6" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847" + dependencies: + clone "^0.2.0" + clone-stats "^0.0.1" + +vm-browserify@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" + dependencies: + indexof "0.0.1" + +watchpack@^0.2.1: + version "0.2.9" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-0.2.9.tgz#62eaa4ab5e5ba35fdfc018275626e3c0f5e3fb0b" + dependencies: + async "^0.9.0" + chokidar "^1.0.0" + graceful-fs "^4.1.2" + +webpack-core@~0.6.9: + version "0.6.9" + resolved "https://registry.yarnpkg.com/webpack-core/-/webpack-core-0.6.9.tgz#fc571588c8558da77be9efb6debdc5a3b172bdc2" + dependencies: + source-list-map "~0.1.7" + source-map "~0.4.1" + +"webpack@>=1.9.0 <2.0.0-0", webpack@^1.13.2: + version "1.14.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-1.14.0.tgz#54f1ffb92051a328a5b2057d6ae33c289462c823" + dependencies: + acorn "^3.0.0" + async "^1.3.0" + clone "^1.0.2" + enhanced-resolve "~0.9.0" + interpret "^0.6.4" + loader-utils "^0.2.11" + memory-fs "~0.3.0" + mkdirp "~0.5.0" + node-libs-browser "^0.7.0" + optimist "~0.6.0" + supports-color "^3.1.0" + tapable "~0.1.8" + uglify-js "~2.7.3" + watchpack "^0.2.1" + webpack-core "~0.6.9" + +which@^1.2.12: + version "1.2.12" + resolved "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz#de67b5e450269f194909ef23ece4ebe416fa1192" + dependencies: + isexe "^1.1.1" + +wide-align@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad" + dependencies: + string-width "^1.0.1" + +window-size@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" + +wordwrap@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" + +wordwrap@~0.0.2: + version "0.0.3" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + +wordwrap@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +write@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" + dependencies: + mkdirp "^0.5.1" + +"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +yargs@~3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" + dependencies: + camelcase "^1.0.2" + cliui "^2.1.0" + decamelize "^1.0.0" + window-size "0.1.0" diff --git a/user/plugins/langswitcher/CHANGELOG.md b/user/plugins/langswitcher/CHANGELOG.md new file mode 100644 index 0000000..1785d5f --- /dev/null +++ b/user/plugins/langswitcher/CHANGELOG.md @@ -0,0 +1,50 @@ +# v1.4.0 +## 06/29/2017 + +1. [](#new) + * Added the `untranslated_pages_behavior` option to determine what to do with a language link when the current page doesn't exist in that language or it exists but it's not published +1. [](#bugfix) + * Fixed generated URLs when `append_url_extension` is set, via PR [#22](https://github.com/getgrav/grav-plugin-langswitcher/pull/22) + +# v1.3.0 +## 02/17/2017 + +1. [](#new) + * Added support for `hreflang` annotations via PR [#19](https://github.com/getgrav/grav-plugin-langswitcher/pull/19) + +# v1.2.1 +## 05/28/2016 + +1. [](#bugfix) + * Display all language names, even those with non supported locales + +# v1.2.0 +## 05/03/2016 + +1. [](#improved) + * Take URI parameters into account when switching languages + * Add `external` class to avoid problems on modular pages when `jquery.singlePageNav` is loaded + +# v1.1.0 +## 10/15/2015 + +1. [](#improved) + * Added active class to language links + +# v1.0.2 +## 07/13/2015 + +1. [](#improved) + * Improved homepage routing + +# v1.0.1 +## 07/08/2015 + +1. [](#improved) + * Updated blueprints with some typo fixes + +# v1.0.0 +## 07/08/2015 + +1. [](#new) + * ChangeLog started... diff --git a/user/plugins/langswitcher/LICENSE b/user/plugins/langswitcher/LICENSE new file mode 100644 index 0000000..0e788c6 --- /dev/null +++ b/user/plugins/langswitcher/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015 Grav + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/user/plugins/langswitcher/README.md b/user/plugins/langswitcher/README.md new file mode 100644 index 0000000..c2ecea8 --- /dev/null +++ b/user/plugins/langswitcher/README.md @@ -0,0 +1,92 @@ +# Grav LangSwitcher Plugin + +![LangSwitcher](assets/readme_1.png) + +`LangSwitcher` is a [Grav](http://github.com/getgrav/grav) plugin that provides native language text links to switch between [Multiple Languages](http://learn.getgrav.org/content/multi-language) in Grav **0.9.30** or greater. + +# Installation + +Installing the LangSwitcher plugin can be done in one of two ways. Our GPM (Grav Package Manager) installation method enables you to quickly and easily install the plugin with a simple terminal command, while the manual method enables you to do so via a zip file. + +## GPM Installation (Preferred) + +The simplest way to install this plugin is via the [Grav Package Manager (GPM)](http://learn.getgrav.org/advanced/grav-gpm) through your system's Terminal (also called the command line). From the root of your Grav install type: + + bin/gpm install langswitcher + +This will install the LangSwitcher plugin into your `/user/plugins` directory within Grav. Its files can be found under `/your/site/grav/user/plugins/langswitcher`. + +## Manual Installation + +To install this plugin, just download the zip version of this repository and unzip it under `/your/site/grav/user/plugins`. Then, rename the folder to `langswitcher`. You can find these files either on [GitHub](https://github.com/getgrav/grav-plugin-langswitcher) or via [GetGrav.org](http://getgrav.org/downloads/plugins#extras). + +You should now have all the plugin files under + + /your/site/grav/user/plugins/langswitcher + +# Usage + +The `langswitcher` plugin doesn't require any configuration. You do however need to add the included Twig partials template into your own theme somewhere you want the available languages to be displayed. + +``` +{% include 'partials/langswitcher.html.twig' %} +``` + +Something you might want to do is to override the look and feel of the langswitcher, and with Grav it is super easy. + +Copy the template file [langswitcher.html.twig](templates/partials/langswitcher.html.twig) into the `templates` folder of your custom theme: + +``` +/your/site/grav/user/themes/custom-theme/templates/partials/langswitcher.html.twig +``` + +You can now edit the override and tweak it however you prefer. + +## Usage of the `hreflang` partial + +A second template is available for `hreflang` annotations in the header of the page. In order to emit language annotations for the available languages of a page you need to add the corrsponding Twig partial template into the `` section of your page, which can typically be found in `base.html.twig`: + +``` +{% include 'partials/langswitcher.hreflang.html.twig' %} +``` + +This will generate something like: + +``` + + + +``` + +# Updating + +As development for the LangSwitcher plugin continues, new versions may become available that add additional features and functionality, improve compatibility with newer Grav releases, and generally provide a better user experience. Updating LangSwitcher is easy, and can be done through Grav's GPM system, as well as manually. + +## GPM Update (Preferred) + +The simplest way to update this plugin is via the [Grav Package Manager (GPM)](http://learn.getgrav.org/advanced/grav-gpm). You can do this with this by navigating to the root directory of your Grav install using your system's Terminal (also called command line) and typing the following: + + bin/gpm update langswitcher + +This command will check your Grav install to see if your LangSwitcher plugin is due for an update. If a newer release is found, you will be asked whether or not you wish to update. To continue, type `y` and hit enter. The plugin will automatically update and clear Grav's cache. + +> Note: Any changes you have made to any of the files listed under this directory will also be removed and replaced by the new set. Any files located elsewhere (for example a YAML settings file placed in `user/config/plugins`) will remain intact. + +## Configuration + +Simply copy the `user/plugins/langswitcher/langswitcher.yaml` into `user/config/plugins/langswitcher.yaml` and make your modifications. + +``` +enabled: true +built_in_css: true +``` + +Options are pretty self explanatory. + +## Redirecting after switching language + +To have Grav redirect to the default page route after switching language, you must add the following configuration to `user/config/system.yaml` +``` +pages: + redirect_default_route: true +``` diff --git a/user/plugins/langswitcher/assets/readme_1.png b/user/plugins/langswitcher/assets/readme_1.png new file mode 100644 index 0000000000000000000000000000000000000000..8cfb824862c0dac71366cbed80d8f33046b9c9f8 GIT binary patch literal 38637 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

                                                                        `*d8!x`?= z7aRPE>2+vT>$*#VpcfrA6_G=B4Ih3g*h_}s5My)QF2i+6hA)WWaSxdV!<*y0>`{l)Z+;`+b;$P~IQn~Y`DKWHm{_vclYI)~6mz=! z@L-tRBfc8+ARHQo#I~vw-tshR>+&YaqbpKvV@%c~Yc#hqjLxN2=j(2XBk73Shb3>; zQ&OeqFmv#)EwB6z#k*ODv=85W?sIQG^PO*g<7?sY%=r3yd4zz&%yJD6+~eRNYa+4K~Hm%F-~EHUvw$sBbrh1 z6JC*+@-qz!i8pT|JS4#BSz*=@$!G#6eCJXFkZZ#$ZBxiZ!OMmrhs#Lsv4t-Vg1xaD zvP=p0@U^{B>dMn-1wmF^@AkLmf=|Y#SX_iy4e_krhW;7xH%n9Q`_gz)>)J{6cO@1Vzqa~{LWM!!0Au{qe-tv^Q3 zZ_?CAZMP9e>JNVEDYtbNH%oXWBo%l^!#skzpp7x^(MN|YCQ%bw^0v8FGw4gme)fVx zY;XQ7&ZpkZd_Vi0Z@%`MZ@%>9H}8J(&G&xqo6r2NH^1?J-+b!Rd7$$DUVrf0{|~); Vd!ukp-LL=v002ovPDHLkV1k|N4YB|L literal 0 HcmV?d00001 diff --git a/user/plugins/langswitcher/blueprints.yaml b/user/plugins/langswitcher/blueprints.yaml new file mode 100644 index 0000000..062d2ae --- /dev/null +++ b/user/plugins/langswitcher/blueprints.yaml @@ -0,0 +1,47 @@ +name: LangSwitcher +version: 1.4.0 +description: LangSwitcher is a [Grav](http://github.com/getgrav/grav) plugin that provides native language text links to switch between [multiple languages](http://learn.getgrav.org/content/multi-language) in Grav **v0.9.30** or greater. +icon: globe +author: + name: Team Grav + email: devs@getgrav.org + url: http://getgrav.org +homepage: https://github.com/getgrav/grav-plugin-langswitcher +keywords: mulitlang, multilanguage, translation, switcher +bugs: https://github.com/getgrav/grav-plugin-langswitcher/issues +license: MIT + +form: + validation: strict + fields: + enabled: + type: toggle + label: Plugin status + highlight: 1 + default: 1 + options: + 1: Enabled + 0: Disabled + validate: + type: bool + + built_in_css: + type: toggle + label: Use built in CSS + highlight: 1 + default: 1 + options: + 1: Enabled + 0: Disabled + validate: + type: bool + + untranslated_pages_behavior: + type: select + label: Untranslated pages behavior + help: Determine what to do with a language link when the current page doesn't exist in that language or it exists but it's not published. + default: none + options: + none: Show language (default) + redirect: Show language, link to home route + hide: Hide language diff --git a/user/plugins/langswitcher/css/langswitcher.css b/user/plugins/langswitcher/css/langswitcher.css new file mode 100644 index 0000000..710dee3 --- /dev/null +++ b/user/plugins/langswitcher/css/langswitcher.css @@ -0,0 +1,22 @@ +.langswitcher { + position: relative; + top: 50%; + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -o-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); + margin-left: 1rem !important; + display: inline-block; +} + +.langswitcher li { + display: inline-block; + margin-left: 0.5rem; + line-height: 1rem; +} + +.langswitcher .active { + font-weight: bold; + text-decoration: underline; +} diff --git a/user/plugins/langswitcher/langswitcher.php b/user/plugins/langswitcher/langswitcher.php new file mode 100644 index 0000000..81fd8f8 --- /dev/null +++ b/user/plugins/langswitcher/langswitcher.php @@ -0,0 +1,98 @@ + ['onPluginsInitialized', 0] + ]; + } + + /** + * Initialize configuration + */ + public function onPluginsInitialized() + { + if ($this->isAdmin()) { + $this->active = false; + return; + } + + $this->enable([ + 'onTwigInitialized' => ['onTwigInitialized', 0], + 'onTwigTemplatePaths' => ['onTwigTemplatePaths', 0], + 'onTwigSiteVariables' => ['onTwigSiteVariables', 0] + ]); + } + + /** Add the native_name function */ + public function onTwigInitialized() + { + $this->grav['twig']->twig()->addFunction( + new \Twig_SimpleFunction('native_name', function($key) { + return LanguageCodes::getNativeName($key); + }) + ); + } + + /** + * Add current directory to twig lookup paths. + */ + public function onTwigTemplatePaths() + { + $this->grav['twig']->twig_paths[] = __DIR__ . '/templates'; + } + + /** + * Set needed variables to display Langswitcher. + */ + public function onTwigSiteVariables() + { + $data = new \stdClass; + + $page = $this->grav['page']; + $data->page_route = $page->rawRoute(); + if ($page->home()) { + $data->page_route = '/'; + } + + $languages = $this->grav['language']->getLanguages(); + $data->languages = $languages; + + if ($this->config->get('plugins.langswitcher.untranslated_pages_behavior') !== 'none') { + $translated_pages = []; + foreach ($languages as $language) { + $translated_pages[$language] = null; + $page_name_without_ext = substr($page->name(), 0, -(strlen($page->extension()))); + $translated_page_path = $page->path() . DS . $page_name_without_ext . '.' . $language . '.md'; + if (file_exists($translated_page_path)) { + $translated_page = new Page(); + $translated_page->init(new \SplFileInfo($translated_page_path), $language . '.md'); + $translated_pages[$language] = $translated_page; + } + } + $data->translated_pages = $translated_pages; + } + + $data->current = $this->grav['language']->getLanguage(); + + $this->grav['twig']->twig_vars['langswitcher'] = $data; + + if ($this->config->get('plugins.langswitcher.built_in_css')) { + $this->grav['assets']->add('plugin://langswitcher/css/langswitcher.css'); + } + } + + public function getNativeName($code) { + + } +} diff --git a/user/plugins/langswitcher/langswitcher.yaml b/user/plugins/langswitcher/langswitcher.yaml new file mode 100644 index 0000000..3066a1a --- /dev/null +++ b/user/plugins/langswitcher/langswitcher.yaml @@ -0,0 +1,3 @@ +enabled: true +built_in_css: true +untranslated_pages_behavior: none diff --git a/user/plugins/langswitcher/templates/partials/langswitcher.hreflang.html.twig b/user/plugins/langswitcher/templates/partials/langswitcher.hreflang.html.twig new file mode 100644 index 0000000..a70fd96 --- /dev/null +++ b/user/plugins/langswitcher/templates/partials/langswitcher.hreflang.html.twig @@ -0,0 +1,9 @@ +{% set langobj = grav['language'] %} +{% for key in langswitcher.languages %} +{% if key == langswitcher.current %} + {% set lang_url = page.url %} +{% else %} + {% set lang_url = base_url_simple ~ langobj.getLanguageURLPrefix(key) ~ langswitcher.page_route ~ page.urlExtension ?: '/' %} +{% endif %} + +{% endfor %} diff --git a/user/plugins/langswitcher/templates/partials/langswitcher.html.twig b/user/plugins/langswitcher/templates/partials/langswitcher.html.twig new file mode 100644 index 0000000..040fb25 --- /dev/null +++ b/user/plugins/langswitcher/templates/partials/langswitcher.html.twig @@ -0,0 +1,30 @@ +

                                                                        diff --git a/user/plugins/login/.gitignore b/user/plugins/login/.gitignore new file mode 100644 index 0000000..090a1f0 --- /dev/null +++ b/user/plugins/login/.gitignore @@ -0,0 +1,2 @@ +.idea +.DS_Store diff --git a/user/plugins/login/CHANGELOG.md b/user/plugins/login/CHANGELOG.md new file mode 100644 index 0000000..fbfb7ba --- /dev/null +++ b/user/plugins/login/CHANGELOG.md @@ -0,0 +1,475 @@ +# v2.5.0 +## 12/05/2017 + +1. [](#new) + * Added `$grav['login']->login()` and `$grav['login']->logout()` functions with event hooks + * Added `$grav['login']->getRateLimiter($context)` function + * Added events `onUserLoginAuthenticate`, `onUserLoginAuthorize`, `onUserLoginFailure`, `onUserLogin`, `onUserLogout` + * Logout message is now maintained during session destruction +1. [](#improved) + * Remember entered username if login fails + * Improved rate limiter to work without sessions and against distributed attacks + * Removed `partials/messages.html.twig` and rely on new core version + * Moved languages from unified file into dedicated language file structure + * Welcome / Notice / Activation emails now more flushed out and in HTML like Reset Password +1. [](#bugfix) + * Do not send nonce with activation link, email app can open the link in another browser + +# v2.4.3 +## 10/11/2017 + +1. [](#bugfix) + * Fix an issue when a user only has `groups` and no `access` defined [#134](https://github.com/getgrav/grav-plugin-login/issues/134) + * Escape untrusted URLs in the template files + +# v2.4.2 +## 09/29/2017 + +1. [](#bugfix) + * Fixed issue with protected page media without access [#132](https://github.com/getgrav/grav-plugin-login/issues/132) + * Improved validation of email to support RFC5322 [Grav#1648](https://github.com/getgrav/grav/issues/1648) + +# v2.4.1 +## 09/12/2017 + +1. [](#bugfix) + * Fixed an issue with 3rd party login plugins [#130](https://github.com/getgrav/grav-plugin-login/issues/130) + +# v2.4.0 +## 09/07/2017 + +1. [](#new) + * Added the ability to have a custom route for login page, but not redirect + * Added a new `unauthorized.md` page that can be customized as needed +1. [](#improved) + * Differentiated between `authenticated` and `authorized` + * Moved rate-limiting logic to the Login class + * Much code cleanup and removing of cruft + * Updated vendor libraries + * Added Russian translation +1. [](#bugfix) + * Fixed login JSON response in case of login failure + * Fixed issue with profile form displaying on login page + * Store referrer page when trying to access Profile page + * Fixed error when logging out with an expired session + +# v2.3.2 +## 06/22/2017 + +1. [](#bugfix) + * Grav plugin cli error on password change [#120](https://github.com/getgrav/grav-plugin-login/issues/120) + +# v2.3.1 +## 05/16/2017 + +1. [](#improved) + * Added routes to the Admin blueprints + +# v2.3.0 +## 04/19/2017 + +1. [](#new) + * Added new built-in profile page support + * Added optional flood protection for password resets and login attempts [#91](https://github.com/getgrav/grav-plugin-login/issues/91) +1. [](#improved) + * Use new system configuration entries for username and password format + * Use initialized form object in Twig templates rather than array from page.header + * Improved alert styling in login templates + * Added `appends` for number field + * Added missing `route` options in admin options (blueprints) +1. [](#bugfix) + * Set cookie path to `/` if `base_url_relative` is empty [#102](https://github.com/getgrav/grav-plugin-login/issues/102) + * Fixed some redirect logic + +# v2.2.1 +## 01/24/2017 + +1. [](#bugfix) + * Fix login form/status templates displaying user as logged in even if he's not authenticated + * Use email validation instead of text validation in the forgot password form [https://github.com/gantry/gantry5/issues/1813](https://github.com/gantry/gantry5/issues/1813) + +# v2.2.0 +## 12/13/2016 + +1. [](#new) + * RC released as stable + +# v2.2.0-rc.5 +## 12/07/2016 + +1. [](#improved) + * Added support for hiding `Remember me` checkbox and and `Forgot` button (for Offline functionality) +1. [](#bugfix) + * Fixed redirect issue in admin plugin + +# v2.2.0-rc.4 +## 12/04/2016 + +1. [](#improved) + * Improved logic for redirect after login to not include login-related pages. + +# v2.2.0-rc.3 +## 11/26/2016 + +1. [](#improved) + * Added some validity checks in the reset password form +1. [](#bugfix) + * Correctly redirect to the last page visited after login, unless `redirect_after_login` is defined + +# v2.2.0-rc.2 +## 11/17/2016 + +1. [](#new) + * Allow to set permissions using nested array syntax [#96](https://github.com/getgrav/grav-plugin-login/issues/96) +1. [](#improved) + * Use the same feedback message when resetting the password if the email exists or not. Remove email in the message as we now recover via email, useless +1. [](#bugfix) + * Fix registration form, fields were not visible [#97](https://github.com/getgrav/grav-plugin-login/issues/97) + * Do not initialize the user session if the user exists but has no `site.login` permission + +# v2.2.0-rc.1 +## 11/09/2016 + +1. [](#new) + * Allow login via `username` or `email` + * Only allow password recovery via `email` address + +# v2.1.2 +## 10/01/2016 + +1. [](#bugfix) + * Fixed an old reference to `LoginUtils` and replaced with new `EmailUtils` + +# v2.1.1 +## 09/08/2016 + +1. [](#improved) + * Use better detection for admin allowing multi-site setup with subfolders + +# v2.1.0 +## 09/07/2016 + +1. [](#improved) + * Added support for Grav's autoescape twig setting + * Dropped unused variable reference + * Moved Email Utils to Email plugin + * Updated vendor libraries + * Allow explicitly showing the login page on pages that are not the Login form template [#11](https://github.com/getgrav/grav-plugin-maintenance/issues/11) + +# v2.0.1 +## 08/10/2016 + +1. [](#improved) + * Added Romanian + +# v2.0.0 +## 07/14/2016 + +1. [](#improved) + * Optimized nonce creation + * Point account path to core's account stream [#85](https://github.com/getgrav/grav-plugin-login/issues/85) + +# v2.0.0-rc.2 +## 06/21/2016 + +1. [](#new) + * Add an option to login protect a login-protected page media accessed through the page route [#45](https://github.com/getgrav/grav-plugin-login/issues/45) +1. [](#improved) + * Fixed some language keys +1. [](#bugfix) + * Correctly show an error message when the reset password form does not provide the correct nonce + +# v2.0.0-rc.1 +## 06/01/2016 + +1. [](#improved) + * French updated +1. [](#bugfix) + * Enable twig processing in a page #75 + * Deny access to registration when user registration is disabled #72 + +# v2.0.0-beta.3 +## 05/23/2016 + +1. [](#improved) + * Added a redirect after activation + * Changed hardcoded redirect routes to config-based +1. [](#bugfix) + * Fix a redirect issue #74 + * Don't error if missing a HTTP_USER_AGENT browser string + +# v2.0.0-beta.2 +## 05/03/2016 + +1. [](#improved) + * Improved the login form page once logged in + * Translate welcome and logout strings +1. [](#bugfix) + * Fixed logging out on the homepage + * Fixed an issue in processing user registration + +# v2.0.0-beta.1 +## 04/20/2016 + +1. [](#new) + * Introduce a more flexible Login plugin architecture, which allows separate authentication plugins to hook into the Login events. Separated OAuth to its own plugin. + * OAuth has been separated to its own plugin, needs to be installed separately and configured. The users account filename format has changed too, to fix an issue that involved people with the same name on a service. + * The `redirect` option has been changed to `redirect_after_login`. Make sure you update your configuration file. +1. [](#improved) + * Add a proper 'Access levels' config section for Login. + * Various underlying improvements + * Updated french, added german +1. [](#bugfix) + * Make username field autofocus + * Add validation to the password reset form + * Fixed an issue that allowed a user logged in, without access to the actual permissions set to view a page, to see its content, and the login form again even if already logged in. + +# v1.3.1 +## 02/05/2016 + +1. [](#new) + * Add translations for Username and Password (placeholders are not translated) +1. [](#improved) + * Improve registration, forgot, reset and login forms accessibility by setting the id attribute + * Improved french translation + * Add the correct message type when raising a form processing error +1. [](#bugfix) + * Show the correct error message when the user is not authorized to view a page + * Fix showing the OAuth links in the login form + +# v1.3.0 +## 01/06/2016 + +1. [](#new) + * Added a new CLI command to change a user's password + * Added a new CLI command to edit the user state +1. [](#improved) + * Improved french translation + +# v1.2.1 +## 12/18/2015 + +1. [](#new) + * Croatian translation +1. [](#improved) + * Use type `email` in registration form + * Drop manual validation in registration + +# v1.2.0 +## 12/11/2015 + +1. [](#new) + * Added account activation email upon registration + * Added forgot password functionality + * Support ACL from parent page + * Allow login immediately after account activation +1. [](#improved) + * Handle admin login page if available + * Example registration form now provided by plugin + * Better error handling of registration + * Tab-based plugin configuration + * Updated translations +1. [](#bugfix) + * Prevent failing when no default values are set + +# v1.1.0 +## 12/01/2015 + +1. [](#new) + * Support new **User Registration** +1. [](#improved) + * Use new security salt for newer and fallback otherwise + * Composer update of libraries + * Check for session existence else throw a runtime error +1. [](#bugfix) + * Fix remember-me functionality + * Check page exists so as not to fail hard + * Fix for static Inflector references #17 + + +# v1.0.1 +## 11/23/2015 + +1. [](#improved) + * Hardening cookies with user-agent and system cache key instead of deprecated system hash + * Set a custom route for login only if it's not an admin path + +# v1.0.0 +## 11/21/2015 + +1. [](#new) + * Added OAuth login support for _Facebook_, _Google_, _GitHub_ and _Twitter_ + * Added **Nonce** form security support + * Added option to "redirect after login" + * Added "remember me" functionality + * Added Hungarian translation +2. [](#improved) + * Added blueprints for Grav Admin plugin (multi-language support!) + +# v0.3.3 +## 09/11/2015 + +1. [](#improved) + * Changed authorise to authorize +1. [](#bugfix) + * Fix denied string + +# v0.3.2 +## 09/01/2015 + +1. [](#improved) + * Broke out login form into its own partial + +# v0.3.1 +## 08/31/2015 + +1. [](#improved) + * Added username field autofocus + +# v0.3.0 +## 08/24/2015 + +1. [](#new) + * Added simple CSS styling + * Added simple login status with logout +1. [](#improved) + * Improved README documentation + * More strings translated + * Updated blueprints + +# v0.2.0 +## 08/11/2015 + +1. [](#improved) + * Disable `enable` in admin + +# v0.1.0 +## 08/04/2015 + +1. [](#new) + * ChangeLog started... + +# v1.3.1 +## 02/05/2016 + +1. [](#new) + * Add translations for Username and Password (placeholders are not translated) +1. [](#improved) + * Improve registration, forgot, reset and login forms accessibility by setting the id attribute + * Improved french translation + * Add the correct message type when raising a form processing error +1. [](#bugfix) + * Show the correct error message when the user is not authorized to view a page + * Fix showing the OAuth links in the login form + +# v1.3.0 +## 01/06/2016 + +1. [](#new) + * Added a new CLI command to change a user's password + * Added a new CLI command to edit the user state +1. [](#improved) + * Improved french translation + +# v1.2.1 +## 12/18/2015 + +1. [](#new) + * Croatian translation +1. [](#improved) + * Use type `email` in registration form + * Drop manual validation in registration + +# v1.2.0 +## 12/11/2015 + +1. [](#new) + * Added account activation email upon registration + * Added forgot password functionality + * Support ACL from parent page + * Allow login immediately after account activation +1. [](#improved) + * Handle admin login page if available + * Example registration form now provided by plugin + * Better error handling of registration + * Tab-based plugin configuration + * Updated translations +1. [](#bugfix) + * Prevent failing when no default values are set + +# v1.1.0 +## 12/01/2015 + +1. [](#new) + * Support new **User Registration** +1. [](#improved) + * Use new security salt for newer and fallback otherwise + * Composer update of libraries + * Check for session existence else throw a runtime error +1. [](#bugfix) + * Fix remember-me functionality + * Check page exists so as not to fail hard + * Fix for static Inflector references #17 + + +# v1.0.1 +## 11/23/2015 + +1. [](#improved) + * Hardening cookies with user-agent and system cache key instead of deprecated system hash + * Set a custom route for login only if it's not an admin path + +# v1.0.0 +## 11/21/2015 + +1. [](#new) + * Added OAuth login support for _Facebook_, _Google_, _GitHub_ and _Twitter_ + * Added **Nonce** form security support + * Added option to "redirect after login" + * Added "remember me" functionality + * Added Hungarian translation +2. [](#improved) + * Added blueprints for Grav Admin plugin (multi-language support!) + +# v0.3.3 +## 09/11/2015 + +1. [](#improved) + * Changed authorise to authorize +1. [](#bugfix) + * Fix denied string + +# v0.3.2 +## 09/01/2015 + +1. [](#improved) + * Broke out login form into its own partial + +# v0.3.1 +## 08/31/2015 + +1. [](#improved) + * Added username field autofocus + +# v0.3.0 +## 08/24/2015 + +1. [](#new) + * Added simple CSS styling + * Added simple login status with logout +1. [](#improved) + * Improved README documentation + * More strings translated + * Updated blueprints + +# v0.2.0 +## 08/11/2015 + +1. [](#improved) + * Disable `enable` in admin + +# v0.1.0 +## 08/04/2015 + +1. [](#new) + * ChangeLog started... diff --git a/user/plugins/login/LICENSE b/user/plugins/login/LICENSE new file mode 100644 index 0000000..4bb7092 --- /dev/null +++ b/user/plugins/login/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Grav + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/user/plugins/login/README.md b/user/plugins/login/README.md new file mode 100644 index 0000000..bf3b5e1 --- /dev/null +++ b/user/plugins/login/README.md @@ -0,0 +1,479 @@ +# Grav Login Plugin + +The **login plugin** for [Grav](http://github.com/getgrav/grav) adds login, basic ACL, and session wide messages to Grav. It is designed to provide a way to secure front-end and admin content throughout Grav. + +# Installation + +The **login** plugin actually requires the help of the **email** and **form** plugins. The **email** plugin is needed to ensure that you can recover a password via email if required. The **form** plugin is used to generate the forms required. + +These are available via GPM, and because the plugin has dependencies you just need to proceed and install the login plugin, and agree when prompted to install the others: + +``` +$ bin/gpm install login +``` + +# Changes in version 2.5 + +Added new `$grav['login']->login()` and `$grav['login']->logout()` functions for you to use. + +They use following events which can be hooked by plugins: + +* `onUserLoginAuthenticate` Allows plugins to include their own authentication methods. +* `onUserLoginAuthorize` Allows plugins to block user from being logged in. +* `onUserLoginFailure` Allows plugins to include their own logic when user authentication failed. +* `onUserLogin` Allows plugins to include their own logic when user logs in. +* `onUserLogout` Allows plugins to include their own logic when user logs out. +* `onUserLoginRegisterData` Allows plugins to include their own data to be added to the user object during registration. +* `onUserLoginRegistered` Allows plugins to hook into user registration just before the redirect. + +New Plugin options have been added for: + +* `dynamic_page_visibility` - Integrate access into page visibility so things can be shown or hidden in the menu + +# Changes in version 2.0 + +* OAuth has been separated to its own plugin, needs to be installed separately and configured. The users account filename format has changed too, to fix an issue that involved people with the same name on a service. +* The `redirect` option has been changed to `redirect_after_login`. +* The Remember Me session minimum length is now 1 week. +* Removed the option to login from oauth without creating the corresponding user file under `user/accounts/`. + +# Messages Output + +There is not a guaranteed way to display system messages including those added by the Login plugin, so in order to see messages you will need to make sure your theme has a method to output the messages. This is done by adding a simple Twig include, and the best place to do this to ensure it's visible in all your pages, is to add it to the `partials/base.html.twig` (or whatever your base Twig template is called): + +```twig + {% block messages %} + {% include 'partials/messages.html.twig' ignore missing %} + {% endblock %} +``` + +A good location is probably to add this right above where your content is going to be output. + +# Creating Users + +You can either use the built-in CLI capabilities, or you create a user manually by creating a new YAML file in your `user/acounts` folder. + + +# CLI Usage + +The simplest way to create a new user is to simply run the `bin/plugin login newuser` command. This will take you through a few questions to gather information with which to create your user. You can also use inline arguments to avoid the interactive questions. + +### Commands + +| Command | Arguments | Explination | +|---------------|--------------------------------------|----------------------------| +|`newuser`|Aliases: `add-user`, `new-user`|Creates a new user (creates file in `user/accounts/`) +|| [ -u, --user=USER ] | The username. | +|| [ -p, --password=PASSWORD ] | The password. Ensure the password respects Grav's password policy. **Note that this option is not recommended because the password will be visible by users listing the processes.** | +|| [ -e, --email=EMAIL ] | The user email address. | +|| [ -P, --permissions=PERMISSIONS ] | The user permissions. It can be either `a` for Admin access only, `s` for Site access only and `b` for both Admin and Site access. | +|| [ -N, --fullname=FULLNAME ] | The user full name | +|| [ -t, --title=TITLE ] | The title of the user. Usually used as a subtext. Example: Admin, Collaborator, Developer | +|| [ -s, --state=STATE ] | The state of the account. Either `enabled` (default) or `disabled` | +||| +|`changepass`|Aliases: `newpass`, `passwd`|Changes password of the specified user (User file must exist) +|| [ -u, --user=USER ] | The username. | +|| [ -p, --password=PASSWORD ] | The new password. Ensure the password respects Grav's password policy. **Note that this option is not recommended because the password will be visible by users listing the processes.** | + + +### CLI Example +``` +> bin/plugin login newuser -u joeuser -p 8c9sRCeBExAiwk -e joeuser@grav.org -P b -N "Joe User" -t "Site Administrator" +Creating new user + + +Success! User joeuser created. +``` + +### Interactive Example +``` +> bin/plugin login newuser +Creating new user + +Enter a username: joeuser +Enter a password: 8c9sRCeBExAiwk +Enter an email: joeuser@grav.org +Please choose a set of permissions: + [a] admin access + [s] site access + [b] admin and site access + > b +Enter a fullname: Joe User +Enter a title: Site Administrator +Please choose the state for the account: + [enabled ] Enabled + [disabled] Disabled + > enabled + +Success! User joeuser created. +``` + +### Manual User Creation + +Here is example user defined in `user/accounts/admin.yaml`: + +``` +password: password +email: youremail@mail.com +fullname: Johnny Appleseed +title: Site Administrator +access: + admin: + login: true + super: true +``` + +>> Note: the username is based on the name of the YAML file. + +# Default Configuration + +```yaml +enabled: true # Enable the plugin +built_in_css: true # Use built-in CSS +route: # Specific route for Login page (default is '/login') +redirect_to_login: true # If you try to access a page you don't have access to, should you redirect to login route +redirect_after_login: # Path to redirect to after a successful login (eg '/user_profile') +route_activate: '/activate_user' # Route for the user activation process +route_forgot: '/forgot_password' # Route for the forgot password process +route_reset: '/reset_password' # Route for the reset password process +route_profile: '/user_profile' # Route for the user profile page +route_register: '/user_register' # Route for the user registration page +route_unauthorized: '/user_unauthorized' # Route for a page to display if user is unauthorized + +dynamic_page_visibility: false # Integrate access into page visibility so things can be shown or hidden in the menu +parent_acl: false # Look to parent `access` rules for access requirements +protect_protected_page_media: false # Take `access` rules into account when directly accessing a page's media + +rememberme: + enabled: true # Enable 'remember me' functionality + timeout: 604800 # Timeout in seconds. Defaults to 1 week + name: grav-rememberme # Name prefix of the session cookie + +max_pw_resets_count: 0 # Number of password resets in a specific time frame (0 = unlimited) +max_pw_resets_interval: 60 # Time in minutes to track password resets +max_login_count: 0 # Number of failed login attempts in a specific time frame (0 = unlimited) +max_login_interval: 2 # Time in minutes to track login attempts +``` + +# Usage + +You can add ACL to any page by typing something like below into the page header: + +``` +access: + site.login: true + admin.login: true +``` + +Users who have any of the listed ACL roles enabled will have access to the page. +Others will be forwarded to login screen. + +Because the admin user contains an `admin.login: true` reference he will be able to login to the secured page because that is one of the conditions defined in the page header. You are free to create any specific set of ACL rules you like. Your user account must simply contain those same rules if you wish the user to have access. + +## Create Private Areas + +Enabling the setting "Use parent access rules" (`parent_acl` in login.yaml) allows you to create private areas where you set the access level on the parent page, and all the subpages inherit that requirement. + +# Login Page + +>> Note: the **frontend site** and **admin plugin** use different sessions so you need to explicitly provide a login on the frontend. + +The login plugin can **automatically generate** a login page for you when you try to access a page that your user (or guest account) does not have access to. + +Alternatively, you can also provide a specific login route if you wish to forward users to a specific login page. To do this you need to create a copy of the `login.yaml` from the plugin in your `user/config/plugins` folder and provide a specific route (or just edit the plugin setttings in the admin plugin). + +``` +route: /user-login +``` + +You would then need to provide a suitable login form, probably based on the one that is provided with the plugin. + +## Redirection after Login + +By default Grav will redirect to the prior page visited before entering the login process. Any page is fair game unless you manually set: + +``` +login_redirect_here: false +``` + +In the page's header. If you set this value to `false`, this page will not be a valid redirect page, and the page visited prior to this page will be considered. + +You can override this default behavior by forcing a standard location by specifying an explicit option in your Login configuration YAML: + +``` +redirect_after_login: '/profile' +``` + +This will always take you to the `/profile` route after a successful login. + +# Logout + +The login plugin comes with a simple Twig partial to provide a logout link (`login-status.html.twig`). You will need to include it in your theme however. An example of this can be found in the Antimatter theme's `partials/navigation.html.twig` file: + +``` +{% if config.plugins.login.enabled and grav.user.username %} +
                                                                      1. {% include 'partials/login-status.html.twig' %}
                                                                      2. +{% endif %} +``` + +You can also copy this `login-status.html.twig` file into your theme and modify it as you see fit. + +# Allow User Registration + +The Login plugin handles user registration. +To enable the built-in registration form, in the Login Plugin configuration enable user registration and just add a value to the "Registration path" field. + +Then just open your browser on that page, and you'll be presented a registration form. + +## Adding the registration page to the menu + +Here are two ways you can do it, but of course Grav is flexible and you can come up with other ways too. + +The first and easiest way is to add a page with the same slug (route) as the registration form. So for example if in the Login Plugin settings you set /register as the registration form path, then create a `04.register` page (the 04 number is just an example, use your own ordering), with no content. +The Login plugin will "override" that page, serving the registration page form when the user clicks on that menu item. + +A second way is to add a custom menu item that points to the registration page, by editing `site.yaml` with this code, that will append a "Register" menu item: + +``` +menu: + - + url: 'register' + text: Register +``` + +This works in most themes, Antimatter included, but it's not guaranteed to work in all themes, as it's something that must be added to the navigation twig code. + +## Customizing the registration form + +The provided registration form is just a quick way to start using it. You might however need different fields on the registration form, or you want to add more content. Here's how to do it. + +First, create a registration form page. + +Create a folder `04.registration/form.md`. The folder name is just an example. Pick the one that suits you. The important part is the file name: since we're building a form, we need a `form.md` file. + +Also, your theme needs to implement forms. Use Antimatter or another form-compatible theme if yours does not work, then once you're setup with the form you can migrate the forms files and make it work on your theme too. + +Add the following content to your registration form page: + +```yaml +--- +form: + + fields: + fullname: + type: text + validate: + required: true + + username: + type: text + validate: + required: true + message: PLUGIN_LOGIN.USERNAME_NOT_VALID + config-pattern@: system.username_regex + + email: + type: email + validate: + required: true + message: PLUGIN_LOGIN.EMAIL_VALIDATION_MESSAGE + + password1: + type: password + label: Enter a password + validate: + required: true + message: PLUGIN_LOGIN.PASSWORD_VALIDATION_MESSAGE + config-pattern@: system.pwd_regex + + password2: + type: password + label: Enter the password again + validate: + required: true + message: PLUGIN_LOGIN.PASSWORD_VALIDATION_MESSAGE + config-pattern@: system.pwd_regex + + buttons: + - + type: submit + value: Submit + - + type: reset + value: Reset + + process: + register_user: true + message: "Thanks for registering..." + reset: true +--- +``` + +# Registration of Users + +Create a new user account by entering all the required fields below: + +This is a normal form. The only thing different from a contact form or another form that you might write on your site is the process field `register_user`, which takes care of processing the user registration. + +Once the user is registered, Grav redirects the user to the `display` page with the `message` message. + +The only field strictly required by Grav is `username`. Then the other fields can be added as needed. + +For example in this case we added + +- password1 +- password2 + +to the form. And, in the Login plugin configuration we have by default enable the double password verification with the "Validate double entered password" option. What this does is picking the password1 and password2 fields, validate them, check they are equal and put the content in the `password` field. + +You can avoid having 2 fields for the password, which by the way is a recommended option, and just put a single `password` field. + +Last important thing before the registration is correctly setup: make sure in the Login plugin settings you have the user registration enabled, otherwise the registration will trigger an error, as by default user registration is DISABLED. + + +# Registration Options + +There are several options that can be configured when registering users via `user/plugins/login.yaml`, they are pretty self-explanatory: + +```yaml +user_registration: + enabled: true # Enable User Registration Process + + fields: # List of fields to validate and store during user registration + - 'username' # This should match up with your registration form definition + - 'password' + - 'email' + - 'fullname' + - 'title' + - 'level' + + default_values: # Any default values for fields you would like to set + level: Newbie # Here the 'level' field will be pre-populated with 'Newbie' text + + access: # Default access to set for users created during registration + site: + login: 'true' + + redirect_after_registration: '' # Route to redirect to after registration + + options: + validate_password1_and_password2: true # Ensure that password1 and password2 match during registration (allows you to have just 1 pw field or 2) + set_user_disabled: false # Set this `true` if you want a user to activate their account via email + login_after_registration: true # Automatically login after registration + send_activation_email: false # Send an email that requires a special link to be clicked in order to activate the account + send_notification_email: false # Send an email to the site administrator to indicate a user has registered + send_welcome_email: false # Send a welcome email to the user (probably should not be used with `send_activation_email` +``` + +## Sending an activation email + +By default the registration process adds a new user, and sets it as enabled. +Grav allows disabled user accounts, so we can take advantage of this functionality and add a new user, but with a disabled state. Then we can send an email to the user, asking to validate the email address. + +That validation email will contain a link to set the user account to enabled. To do this, just enable "Set the user as disabled" and "Send activation email" in the Login Plugin options. + +## Send a welcome email + +Enable "Send welcome email" in the options. + +The content of the welcome email is defined in the language file, strings `PLUGIN_LOGIN.WELCOME_EMAIL_SUBJECT` and `PLUGIN_LOGIN.WELCOME_EMAIL_BODY`. Customize them as needed in your language file override. + +Note: if the activation email is enabled, the welcome email to be sent upon the account activation action (when the user clicks the link to activate the account) + +## Send a notification email to the site owner + +Enable "Send notification email" in the options. + +The content of the notification email is defined in the language file, strings `PLUGIN_LOGIN.NOTIFICATION_EMAIL_SUBJECT` and `PLUGIN_LOGIN.NOTIFICATION_EMAIL_BODY`. Customize them as needed in your language file override. + +Note: if the activation email is enabled, the notification email to be sent upon the account activation action (when the user clicks the link to activate the account) + +## Default Access + +To control what access your users have upon registering you can edit the `user_registration.access:` attribute in the `user/plugins/login.yaml`. The default is simply `site.login: true`: + +``` +user_registration: + access: + site: + login: 'true' +``` + +## Adding your own fields + +If you want to add your own custom fields to the registration form, just add fields to the form like you would with any other form. + +Then, to let the Login plugin add those fields to the user yaml file, you also need to add it to the "Registration fields" option in the Login Plugin configuration. + +By default we have + +``` +user_registration: + fields: + - 'username' + - 'password' + - 'email' + - 'fullname' + - 'title' +``` + +Add your own as you prefer, to build any custom registration form you can think of. + +## Specifying a default value for a field + +If you want to pre-fill a field, without showing it to the user in the form, you could set it as an hidden field. But the user could see it - and modify it via the browser dev tools. + +To add a field and make sure the user cannot modify it, add it to "default_values" list: + +``` +user_registration: + default_values: + title: "Newbie User" +``` + +## Login users directly after the registration + +Just enable "Login the user after registration" + +If the user activation email is enabled, the user will be logged in as soon as the activation link is clicked. + +## Add captcha to the user registration + +Add a captcha like you would with any form: + +Add + +``` + - name: g-recaptcha-response + label: Captcha + type: captcha + recaptcha_site_key: aeio43kdk3idko3k4ikd4 + recaptcha_not_validated: 'Captcha not valid!' + validate: + required: true +``` + +to the form field, and + +``` +process: + - captcha +``` + +to validate it server-side. Put this process action before all the other actions, so it's processed first and the user is not created if the captcha is not valid. + +## Redirect to another page after login + +You can set the "Redirect after registration" option in the Login plugin, or as with any form, use the `process.display` property, and set it to the destination page route: + +``` + process: + - + display: /welcome +``` + + + +# Known issues + +When updating from an older version, pre-october 2015, you might have an error `Class 'Grav\Login\Controller' Not Found`. The problem is during the update, since a file name was changed from lowercase to capitalized. Solution: reinstall the Login plugin, or change the file name `user/plugins/login/classes/controller.php` to `user/plugins/login/classes/Controller.php` (notice the capital `C`). diff --git a/user/plugins/login/blueprints.yaml b/user/plugins/login/blueprints.yaml new file mode 100644 index 0000000..85c054b --- /dev/null +++ b/user/plugins/login/blueprints.yaml @@ -0,0 +1,380 @@ +name: Login +version: 2.5.0 +description: Enables user authentication and login screen. +icon: sign-in +author: + name: Team Grav + email: devs@getgrav.org + url: http://getgrav.org +keywords: admin, plugin, login +homepage: https://github.com/getgrav/grav-plugin-login +keywords: login, authentication, admin, security +bugs: https://github.com/getgrav/grav-plugin-login/issues +license: MIT + +dependencies: + - { name: grav, version: '>=1.3.9' } + - { name: form, version: '>=2.4.0' } + - { name: email, version: '~2.0' } + +form: + validation: loose + fields: + + tabs: + type: tabs + active: 1 + class: subtle + + fields: + login: + type: tab + title: PLUGIN_LOGIN.BTN_LOGIN + + fields: + + enabled: + type: hidden + label: PLUGIN_LOGIN.PLUGIN_STATUS + highlight: 1 + default: 1 + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool + + built_in_css: + type: toggle + label: PLUGIN_LOGIN.BUILTIN_CSS + highlight: 1 + default: 1 + help: PLUGIN_LOGIN.BUILTIN_CSS_HELP + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool + + route: + type: text + size: medium + label: PLUGIN_LOGIN.ROUTE + help: PLUGIN_LOGIN.ROUTE_HELP + placeholder: "/my-custom-login" + + redirect_after_login: + type: text + label: PLUGIN_LOGIN.REDIRECT_AFTER_LOGIN + help: PLUGIN_LOGIN.REDIRECT_AFTER_LOGIN_HELP + placeholder: "/my-page" + + route_forgot: + type: text + size: medium + label: PLUGIN_LOGIN.ROUTE_FORGOT + placeholder: "/forgot_password" + + route_reset: + type: text + size: medium + label: PLUGIN_LOGIN.ROUTE_RESET + placeholder: "/reset_password" + + route_profile: + type: text + size: medium + label: PLUGIN_LOGIN.ROUTE_PROFILE + placeholder: "/user_profile" + + parent_acl: + type: toggle + label: PLUGIN_LOGIN.USE_PARENT_ACL_LABEL + highlight: 1 + default: 0 + help: PLUGIN_LOGIN.USE_PARENT_ACL_HELP + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool + + dynamic_page_visibility: + type: toggle + label: PLUGIN_LOGIN.DYNAMIC_VISIBILITY + highlight: 0 + default: 0 + help: PLUGIN_LOGIN.DYNAMIC_VISIBILITY_HELP + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool + + protect_protected_page_media: + type: toggle + label: PLUGIN_LOGIN.PROTECT_PROTECTED_PAGE_MEDIA_LABEL + highlight: 1 + default: 0 + help: PLUGIN_LOGIN.PROTECT_PROTECTED_PAGE_MEDIA_HELP + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool + + routes: + type: section + title: PLUGIN_LOGIN.ROUTES + + fields: + + route_activate: + type: text + size: medium + label: PLUGIN_LOGIN.ROUTE_ACTIVATE + placeholder: '/activate_user' + + route_forgot: + type: text + size: medium + label: PLUGIN_LOGIN.ROUTE_FORGOT + placeholder: '/forgot_password' + + route_reset: + type: text + size: medium + label: PLUGIN_LOGIN.ROUTE_RESET + placeholder: '/reset_password' + + route_profile: + type: text + size: medium + label: PLUGIN_LOGIN.ROUTE_PROFILE + placeholder: '/user_profile' + + route_register: + type: text + size: medium + label: PLUGIN_LOGIN.ROUTE_REGISTER + help: PLUGIN_LOGIN.ROUTE_REGISTER_HELP + placeholder: "/register" + + user_registration.redirect_after_registration: + type: text + label: PLUGIN_LOGIN.REDIRECT_AFTER_REGISTRATION + help: PLUGIN_LOGIN.REDIRECT_AFTER_REGISTRATION_HELP + placeholder: "/page-to-show-after-registration" + + user_registration.redirect_after_activation: + type: text + label: PLUGIN_LOGIN.REDIRECT_AFTER_ACTIVATION + help: PLUGIN_LOGIN.REDIRECT_AFTER_ACTIVATION_HELP + placeholder: "/page-to-show-after-activation" + + rememberme: + type: section + title: PLUGIN_LOGIN.REMEMBER_ME + + fields: + rememberme.enabled: + type: toggle + label: PLUGIN_ADMIN.ENABLED + help: PLUGIN_ADMIN.SESSION_ENABLED_HELP + highlight: 1 + options: + 1: PLUGIN_ADMIN.YES + 0: PLUGIN_ADMIN.NO + validate: + type: bool + + rememberme.timeout: + type: text + size: small + default: 604800 + label: PLUGIN_ADMIN.TIMEOUT + help: PLUGIN_LOGIN.TIMEOUT_HELP + validate: + type: number + min: 1 + + rememberme.name: + type: text + size: small + label: PLUGIN_ADMIN.NAME + help: PLUGIN_ADMIN.SESSION_NAME_HELP + + registration: + type: tab + title: PLUGIN_LOGIN.USER_REGISTRATION + + fields: + user_registration.enabled: + type: toggle + label: PLUGIN_ADMIN.ENABLED + help: PLUGIN_LOGIN.USER_REGISTRATION_ENABLED_HELP + highlight: 1 + options: + 1: PLUGIN_ADMIN.YES + 0: PLUGIN_ADMIN.NO + validate: + type: bool + + registration_fields: + type: section + title: PLUGIN_LOGIN.REGISTRATION_FIELDS + + fields: + user_registration.fields: + type: array + value_only: true + label: PLUGIN_LOGIN.REGISTRATION_FIELDS + help: PLUGIN_LOGIN.REGISTRATION_FIELDS_HELP + placeholder_key: PLUGIN_LOGIN.REGISTRATION_FIELD_KEY + placeholder_value: PLUGIN_LOGIN.REGISTRATION_FIELD_VALUE + + user_registration.default_values: + type: array + label: PLUGIN_LOGIN.DEFAULT_VALUES + help: PLUGIN_LOGIN.DEFAULT_VALUES_HELP + placeholder_key: PLUGIN_LOGIN.ADDITIONAL_PARAM_KEY + placeholder_value: PLUGIN_LOGIN.ADDITIONAL_PARAM_VALUE + + access_levels: + title: PLUGIN_ADMIN.ACCESS_LEVELS + type: section + security: admin.super + + fields: + user_registration.groups: + type: selectize + size: large + label: PLUGIN_ADMIN.GROUPS + '@data-options': '\Grav\User\Groups::groups' + classes: fancy + help: PLUGIN_LOGIN.GROUPS_HELP + validate: + type: commalist + + user_registration.access.site: + type: array + label: PLUGIN_ADMIN.SITE_ACCESS + help: PLUGIN_LOGIN.SITE_ACCESS_HELP + multiple: false + validate: + type: array + + options: + type: section + title: PLUGIN_LOGIN.OPTIONS + + fields: + + user_registration.options.validate_password1_and_password2: + type: toggle + label: PLUGIN_LOGIN.VALIDATE_PASSWORD1_AND_PASSWORD2 + help: PLUGIN_LOGIN.VALIDATE_PASSWORD1_AND_PASSWORD2_HELP + highlight: 1 + options: + 1: PLUGIN_ADMIN.YES + 0: PLUGIN_ADMIN.NO + validate: + type: bool + + user_registration.options.set_user_disabled: + type: toggle + label: PLUGIN_LOGIN.SET_USER_DISABLED + help: PLUGIN_LOGIN.SET_USER_DISABLED_HELP + highlight: 1 + options: + 1: PLUGIN_ADMIN.YES + 0: PLUGIN_ADMIN.NO + validate: + type: bool + + user_registration.options.login_after_registration: + type: toggle + label: PLUGIN_LOGIN.LOGIN_AFTER_REGISTRATION + help: PLUGIN_LOGIN.LOGIN_AFTER_REGISTRATION_HELP + highlight: 1 + options: + 1: PLUGIN_ADMIN.YES + 0: PLUGIN_ADMIN.NO + validate: + type: bool + + user_registration.options.send_activation_email: + type: toggle + label: PLUGIN_LOGIN.SEND_ACTIVATION_EMAIL + help: PLUGIN_LOGIN.SEND_ACTIVATION_EMAIL_HELP + highlight: 1 + options: + 1: PLUGIN_ADMIN.YES + 0: PLUGIN_ADMIN.NO + validate: + type: bool + + user_registration.options.send_notification_email: + type: toggle + label: PLUGIN_LOGIN.SEND_NOTIFICATION_EMAIL + help: PLUGIN_LOGIN.SEND_NOTIFICATION_EMAIL_HELP + highlight: 1 + options: + 1: PLUGIN_ADMIN.YES + 0: PLUGIN_ADMIN.NO + validate: + type: bool + + user_registration.options.send_welcome_email: + type: toggle + label: PLUGIN_LOGIN.SEND_WELCOME_EMAIL + help: PLUGIN_LOGIN.SEND_WELCOME_EMAIL_HELP + highlight: 1 + options: + 1: PLUGIN_ADMIN.YES + 0: PLUGIN_ADMIN.NO + + Security: + type: tab + title: PLUGIN_LOGIN.SECURITY_TAB + + fields: + max_pw_resets_count: + type: number + size: x-small + label: PLUGIN_LOGIN.MAX_RESETS_COUNT + help: PLUGIN_LOGIN.MAX_RESETS_COUNT_HELP + append: PLUGIN_LOGIN.RESETS + validate: + type: number + min: 0 + + max_pw_resets_interval: + type: number + size: x-small + label: PLUGIN_LOGIN.MAX_RESETS_INTERVAL + help: PLUGIN_LOGIN.MAX_RESETS_INTERVAL_HELP + append: PLUGIN_LOGIN.SECONDS + validate: + type: number + min: 1 + + max_login_count: + type: number + size: x-small + label: PLUGIN_LOGIN.MAX_LOGINS_COUNT + help: PLUGIN_LOGIN.MAX_LOGINS_COUNT_HELP + append: PLUGIN_LOGIN.ATTEMPTS + validate: + type: number + min: 0 + + max_login_interval: + type: number + size: x-small + label: PLUGIN_LOGIN.MAX_LOGINS_INTERVAL + help: PLUGIN_LOGIN.MAX_LOGINS_INTERVAL_HELP + append: PLUGIN_LOGIN.SECONDS + validate: + type: number + min: 1 diff --git a/user/plugins/login/classes/Controller.php b/user/plugins/login/classes/Controller.php new file mode 100644 index 0000000..320dd4a --- /dev/null +++ b/user/plugins/login/classes/Controller.php @@ -0,0 +1,452 @@ +rememberMe() instead + */ + protected $rememberMe; + + /** + * @var Login + */ + protected $login; + + /** + * @param Grav $grav + * @param string $action + * @param array $post + */ + public function __construct(Grav $grav, $action, $post = null) + { + $this->grav = $grav; + $this->action = $action; + $this->login = $this->grav['login']; + $this->post = $post ? $this->getPost($post) : []; + + $this->rememberMe(); + } + + /** + * Performs an action. + * @throws \RuntimeException + */ + public function execute() + { + $messages = $this->grav['messages']; + + // Set redirect if available. + if (isset($this->post['_redirect'])) { + $redirect = $this->post['_redirect']; + unset($this->post['_redirect']); + } + + $success = false; + $method = $this->prefix . ucfirst($this->action); + + if (!method_exists($this, $method)) { + throw new \RuntimeException('Page Not Found', 404); + } + + try { + $success = call_user_func([$this, $method]); + } catch (\RuntimeException $e) { + $messages->add($e->getMessage(), 'error'); + } + + if (!$this->redirect && isset($redirect)) { + $this->setRedirect($redirect); + } + + return $success; + } + + /** + * Handle login. + * + * @return bool True if the action was performed. + */ + public function taskLogin() + { + /** @var Language $t */ + $t = $this->grav['language']; + + $messages = $this->grav['messages']; + + $userKey = isset($this->post['username']) ? (string)$this->post['username'] : ''; + $ipKey = Uri::ip(); + + $rateLimiter = $this->login->getRateLimiter('login_attempts'); + + // Check if the current IP has been used in failed login attempts. + $attempts = count($rateLimiter->getAttempts($ipKey, 'ip')); + + $rateLimiter->registerRateLimitedAction($ipKey, 'ip')->registerRateLimitedAction($userKey); + + // Check rate limit for both IP and user, but allow each IP a single try even if user is already rate limited. + if ($rateLimiter->isRateLimited($ipKey, 'ip') || ($attempts && $rateLimiter->isRateLimited($userKey))) { + $messages->add($t->translate(['PLUGIN_LOGIN.TOO_MANY_LOGIN_ATTEMPTS', $rateLimiter->getInterval()]), 'error'); + $this->setRedirect($this->grav['config']->get('plugins.login.route', '/')); + + return true; + } + + if ($this->authenticate($this->post)) { + $rateLimiter->resetRateLimit($ipKey, 'ip')->resetRateLimit($userKey); + + $messages->add($t->translate('PLUGIN_LOGIN.LOGIN_SUCCESSFUL'), 'info'); + + $redirect = $this->grav['config']->get('plugins.login.redirect_after_login'); + if (!$redirect) { + $redirect = $this->grav['session']->redirect_after_login ?: $this->grav['uri']->referrer('/'); + } + $this->setRedirect($redirect); + } else { + /** @var User $user */ + $user = $this->grav['user']; + if ($user->username) { + $messages->add($t->translate('PLUGIN_LOGIN.ACCESS_DENIED'), 'error'); + $this->setRedirect($this->grav['config']->get('plugins.login.route_unauthorized', '/')); + } else { + $messages->add($t->translate('PLUGIN_LOGIN.LOGIN_FAILED'), 'error'); + } + } + + return true; + } + + /** + * Handle logout. + * + * @return bool True if the action was performed. + */ + public function taskLogout() + { + $this->login->logout(['remember_me' => true]); + + $this->setRedirect('/'); + + return true; + } + + /** + * Handle the email password recovery procedure. + * + * @return bool True if the action was performed. + */ + protected function taskForgot() + { + $param_sep = $this->grav['config']->get('system.param_sep', ':'); + $data = $this->post; + + $email = isset($data['email']) ? $data['email'] : ''; + $user = !empty($email) ? User::find($email, ['email']) : null; + + /** @var Language $language */ + $language = $this->grav['language']; + $messages = $this->grav['messages']; + + if (!isset($this->grav['Email'])) { + $messages->add($language->translate('PLUGIN_LOGIN.FORGOT_EMAIL_NOT_CONFIGURED'), 'error'); + $this->setRedirect($this->grav['config']->get('plugins.login.route_forgot', '/')); + + return true; + } + + if (!$user || !$user->exists()) { + $messages->add($language->translate('PLUGIN_LOGIN.FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL'), 'info'); + $this->setRedirect($this->grav['config']->get('plugins.login.route_forgot', '/')); + + return true; + } + + if (empty($user->email)) { + $messages->add($language->translate(['PLUGIN_LOGIN.FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL', $email]), + 'error'); + $this->setRedirect($this->grav['config']->get('plugins.login.route_forgot', '/')); + + return true; + } + + $from = $this->grav['config']->get('plugins.email.from'); + + if (empty($from)) { + $messages->add($language->translate('PLUGIN_LOGIN.FORGOT_EMAIL_NOT_CONFIGURED'), 'error'); + $this->setRedirect($this->grav['config']->get('plugins.login.route_forgot', '/')); + + return true; + } + + $userKey = $user->username; + $rateLimiter = $this->login->getRateLimiter('pw_resets'); + $rateLimiter->registerRateLimitedAction($userKey); + + if ($rateLimiter->isRateLimited($userKey)) { + $messages->add($language->translate(['PLUGIN_LOGIN.FORGOT_CANNOT_RESET_IT_IS_BLOCKED', $email, $rateLimiter->getInterval()]), 'error'); + $this->setRedirect($this->grav['config']->get('plugins.login.route', '/')); + + return true; + } + + $token = md5(uniqid(mt_rand(), true)); + $expire = time() + 604800; // next week + + $user->reset = $token . '::' . $expire; + $user->save(); + + $author = $this->grav['config']->get('site.author.name', ''); + $fullname = $user->fullname ?: $user->username; + + $reset_link = $this->grav['base_url_absolute'] . $this->grav['config']->get('plugins.login.route_reset') . '/task:login.reset/token' . $param_sep . $token . '/user' . $param_sep . $user->username . '/nonce' . $param_sep . Utils::getNonce('reset-form'); + + $sitename = $this->grav['config']->get('site.title', 'Website'); + + $to = $user->email; + + $subject = $language->translate(['PLUGIN_LOGIN.FORGOT_EMAIL_SUBJECT', $sitename]); + $content = $language->translate(['PLUGIN_LOGIN.FORGOT_EMAIL_BODY', $fullname, $reset_link, $author, $sitename]); + + $sent = EmailUtils::sendEmail($subject, $content, $to); + + if ($sent < 1) { + $messages->add($language->translate('PLUGIN_LOGIN.FORGOT_FAILED_TO_EMAIL'), 'error'); + } else { + $messages->add($language->translate('PLUGIN_LOGIN.FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL'), 'info'); + } + + $this->setRedirect($this->grav['config']->get('plugins.login.route', '/')); + + return true; + } + + /** + * Handle the reset password action. + * + * @return bool True if the action was performed. + * @throws \Exception + */ + public function taskReset() + { + $data = $this->post; + $language = $this->grav['language']; + $messages = $this->grav['messages']; + + if (isset($data['password'])) { + $username = isset($data['username']) ? $data['username'] : null; + $user = !empty($username) ? User::find($username) : null; + $password = isset($data['password']) ? $data['password'] : null; + $token = isset($data['token']) ? $data['token'] : null; + + if ($user && !empty($user->reset) && $user->exists()) { + list($good_token, $expire) = explode('::', $user->reset); + + if ($good_token === $token) { + if (time() > $expire) { + $messages->add($language->translate('PLUGIN_LOGIN.RESET_LINK_EXPIRED'), 'error'); + $this->grav->redirect($this->grav['config']->get('plugins.login.route_forgot', '/')); + + return true; + } + + unset($user->hashed_password, $user->reset); + $user->password = $password; + + $user->validate(); + $user->filter(); + $user->save(); + + $messages->add($language->translate('PLUGIN_LOGIN.RESET_PASSWORD_RESET'), 'info'); + $this->setRedirect($this->grav['config']->get('plugins.login.route', '/')); + + return true; + } + } + + $messages->add($language->translate('PLUGIN_LOGIN.RESET_INVALID_LINK'), 'error'); + $this->grav->redirect($this->grav['config']->get('plugins.login.route_forgot')); + + return true; + + } + + $user = $this->grav['uri']->param('user'); + $token = $this->grav['uri']->param('token'); + + if (!$user || !$token) { + $messages->add($language->translate('PLUGIN_LOGIN.RESET_INVALID_LINK'), 'error'); + $this->grav->redirect($this->grav['config']->get('plugins.login.route_forgot')); + + return true; + } + + return true; + } + + /** + * Authenticate user. + * + * @param array $form Form fields. + * + * @return bool + */ + protected function authenticate($form) + { + // Remove login nonce. + $form = array_diff_key($form, ['login-form-nonce' => true]); + + return $this->login->login($form, ['remember_me' => true])->authenticated; + } + + /** + * Redirects an action + */ + public function redirect() + { + if ($this->redirect) { + $this->grav->redirect($this->redirect, $this->redirectCode); + } + } + + /** + * Set redirect. + * + * @param $path + * @param int $code + */ + public function setRedirect($path, $code = 303) + { + $this->redirect = $path; + $this->redirectCode = $code; + } + + /** + * Prepare and return POST data. + * + * @param array $post + * + * @return array + */ + protected function &getPost(array $post) + { + unset($post[$this->prefix]); + + // Decode JSON encoded fields and merge them to data. + if (isset($post['_json'])) { + $post = array_merge_recursive($post, $this->jsonDecode($post['_json'])); + unset($post['_json']); + } + + return $post; + } + + /** + * Recursively JSON decode data. + * + * @param array $data + * + * @return array + */ + protected function jsonDecode(array $data) + { + foreach ($data as &$value) { + if (is_array($value)) { + $value = $this->jsonDecode($value); + } else { + $value = json_decode($value, true); + } + } + + return $data; + } + + /** + * Gets and sets the RememberMe class + * + * @param mixed $var A rememberMe instance to set + * + * @return RememberMe\RememberMe Returns the current rememberMe instance + * @deprecated 3.0 Use $grav['login']->rememberMe() instead + */ + public function rememberMe($var = null) + { + $this->rememberMe = $this->login->rememberMe($var); + + return $this->rememberMe; + } + + /** + * Check if user may use password reset functionality. + * + * @param User $user + * @param $field + * @param $count + * @param $interval + * @return bool + * @deprecated 3.0 Use $grav['login']->getRateLimiter($context) instead. See Grav\Plugin\Login\RateLimiter class. + */ + protected function isUserRateLimited(User $user, $field, $count, $interval) + { + return $this->login->isUserRateLimited($user, $field, $count, $interval); + } + + /** + * Reset the rate limit counter + * + * @param User $user + * @param $field + * @deprecated 3.0 Use $grav['login']->getRateLimiter($context) instead. See Grav\Plugin\Login\RateLimiter class. + */ + protected function resetRateLimit(User $user, $field) + { + $this->login->resetRateLimit($user, $field); + } +} diff --git a/user/plugins/login/classes/Events/UserLoginEvent.php b/user/plugins/login/classes/Events/UserLoginEvent.php new file mode 100644 index 0000000..c4bf522 --- /dev/null +++ b/user/plugins/login/classes/Events/UserLoginEvent.php @@ -0,0 +1,256 @@ + + (isset($items['credentials']) ? (array)$items['credentials'] : []) + ['username' => '', 'password' => ''], + 'options' => [], + 'authorize' => 'site.login', + 'status' => static::AUTHENTICATION_UNDEFINED, + 'user' => null, + 'message' => '' + ]; + + parent::__construct($items); + + if (!$this->offsetExists('user')) { + $this->offsetSet('user', User::load($this['credentials']['username'])); + } + } + + public function isSuccess() + { + $status = $this->offsetGet('status'); + $failure = static::AUTHENTICATION_FAILURE | static::AUTHENTICATION_CANCELLED | static::AUTHORIZATION_EXPIRED + | static::AUTHORIZATION_DENIED; + + return ($status & static::AUTHENTICATION_SUCCESS) && !($status & $failure); + } + + public function isDelayed() + { + return $this->isSuccess() && ($this->offsetGet('status') & static::AUTHORIZATION_DELAYED); + } + + /** + * @return int + */ + public function getStatus() + { + return (int)$this->offsetGet('status'); + } + + /** + * @param int $status + * @return $this + */ + public function setStatus($status) + { + $this->offsetSet('status', $this->offsetGet('status') | (int)$status); + + return $this; + } + + /** + * @return array + */ + public function getCredentials() + { + return $this->offsetGet('credentials') + ['username' => '', 'password' => '']; + } + + /** + * @param string $name + * @return mixed + */ + public function getCredential($name) + { + return isset($this->items['credentials'][$name]) ? $this->items['credentials'][$name] : null; + } + + /** + * @param string $name + * @param mixed $value + * @return $this + */ + public function setCredential($name, $value) + { + $this->items['credentials'][$name] = $value; + + return $this; + } + + /** + * @return array + */ + public function getOptions() + { + return $this->offsetGet('options'); + } + + /** + * @param string $name + * @return mixed + */ + public function getOption($name) + { + return isset($this->items['options'][$name]) ? $this->items['options'][$name] : null; + } + + /** + * @param string $name + * @param mixed $value + * @return $this + */ + public function setOption($name, $value) + { + $this->items['options'][$name] = $value; + + return $this; + } + + /** + * @return User + */ + public function getUser() + { + return $this->offsetGet('user'); + } + + /** + * @param User $user + * @return $this + */ + public function setUser(User $user) + { + $this->offsetSet('user', $user); + + return $this; + } + + /** + * @return array + */ + public function getAuthorize() + { + return (array)$this->offsetGet('authorize'); + } + + /** + * @param string $message + * @return $this + */ + public function setMessage($message) + { + $this->items['message'] = (string)$message; + + return $this; + } + + /** + * Magic setter method + * + * @param mixed $offset Asset name value + * @param mixed $value Asset value + */ + public function __set($offset, $value) + { + $this->offsetSet($offset, $value); + } + + /** + * Magic getter method + * + * @param mixed $offset Asset name value + * @return mixed Asset value + */ + public function __get($offset) + { + return $this->offsetGet($offset); + } + + /** + * Magic method to determine if the attribute is set + * + * @param mixed $offset Asset name value + * @return boolean True if the value is set + */ + public function __isset($offset) + { + return $this->offsetExists($offset); + } + + /** + * Magic method to unset the attribute + * + * @param mixed $offset The name value to unset + */ + public function __unset($offset) + { + $this->offsetUnset($offset); + } +} diff --git a/user/plugins/login/classes/Login.php b/user/plugins/login/classes/Login.php new file mode 100644 index 0000000..729bf05 --- /dev/null +++ b/user/plugins/login/classes/Login.php @@ -0,0 +1,499 @@ +grav = $grav; + $this->config = $this->grav['config']; + $this->language = $this->grav['language']; + $this->session = $this->grav['session']; + $this->uri = $this->grav['uri']; + } + + /** + * Login user. + * + * @param array $credentials + * @param array $options + * @param array $extra Example: ['authorize' => 'site.login', 'user' => null], undefined variables gets set. + * @return User + */ + public function login(array $credentials, array $options = [], array $extra = []) + { + $grav = Grav::instance(); + + $eventOptions = [ + 'credentials' => $credentials, + 'options' => $options + ] + $extra; + + // Attempt to authenticate the user. + $event = new UserLoginEvent($eventOptions); + $grav->fireEvent('onUserLoginAuthenticate', $event); + + if ($event->isSuccess()) { + + // Make sure that event didn't mess up with the user authorization. + $user = $event->getUser(); + $user->authenticated = true; + $user->authorized = false; + + // Allow plugins to prevent login after successful authentication. + $event = new UserLoginEvent($event->toArray()); + $grav->fireEvent('onUserLoginAuthorize', $event); + } + + if ($event->isSuccess()) { + // User has been logged in, let plugins know. + $event = new UserLoginEvent($event->toArray()); + $grav->fireEvent('onUserLogin', $event); + + // Make sure that event didn't mess up with the user authorization. + $user = $event->getUser(); + $user->authenticated = true; + $user->authorized = $event->isDelayed(); + + } else { + // Allow plugins to log errors or do other tasks on failure. + $event = new UserLoginEvent($event->toArray()); + $grav->fireEvent('onUserLoginFailure', $event); + + // Make sure that event didn't mess up with the user authorization. + $user = $event->getUser(); + $user->authenticated = false; + $user->authorized = false; + } + + $user = $event->getUser(); + $user->def('language', 'en'); + + return $user; + } + + /** + * Logout user. + * + * @param array $options + * @param User $user + * @return User + */ + public function logout(array $options = [], User $user = null) + { + $grav = Grav::instance(); + + $eventOptions = [ + 'user' => $user ?: $grav['user'], + 'options' => $options + ]; + + $event = new UserLoginEvent($eventOptions); + + // Logout the user. + $grav->fireEvent('onUserLogout', $event); + + $user = $event->getUser(); + $user->authenticated = false; + + return $user; + } + + /** + * Authenticate user. + * + * @param array $credentials Form fields. + * @param array $options + * + * @return bool + */ + public function authenticate($credentials, $options = ['remember_me' => true]) + { + $user = $this->login($credentials, $options); + + if ($user->authenticated) { + $this->grav['messages']->add($this->language->translate('PLUGIN_LOGIN.LOGIN_SUCCESSFUL', + [$user->language]), 'info'); + + $redirect_route = $this->uri->route(); + $this->grav->redirect($redirect_route); + } + + return $user->authenticated; + } + + /** + * Create a new user file + * + * @param array $data + * + * @return User + */ + public function register($data) + { + //Add new user ACL settings + $groups = $this->config->get('plugins.login.user_registration.groups', []); + + if (count($groups) > 0) { + $data['groups'] = $groups; + } + + $access = $this->config->get('plugins.login.user_registration.access.site', []); + if (count($access) > 0) { + $data['access']['site'] = $access; + } + + $username = $data['username']; + $file = CompiledYamlFile::instance($this->grav['locator']->findResource('account://' . $username . YAML_EXT, + true, true)); + + // Create user object and save it + $user = new User($data); + $user->file($file); + $user->save(); + + return $user; + } + + /** + * Handle the email to notify the user account creation to the site admin. + * + * @param User $user + * + * @return bool True if the action was performed. + * @throws \RuntimeException + */ + public function sendNotificationEmail(User $user) + { + if (empty($user->email)) { + throw new \RuntimeException($this->language->translate('PLUGIN_LOGIN.USER_NEEDS_EMAIL_FIELD')); + } + + $site_name = $this->config->get('site.title', 'Website'); + + $subject = $this->language->translate(['PLUGIN_LOGIN.NOTIFICATION_EMAIL_SUBJECT', $site_name]); + $content = $this->language->translate([ + 'PLUGIN_LOGIN.NOTIFICATION_EMAIL_BODY', + $site_name, + $user->username, + $user->email, + $this->grav['base_url_absolute'], + ]); + $to = $this->config->get('plugins.email.from'); + + if (empty($to)) { + throw new \RuntimeException($this->language->translate('PLUGIN_LOGIN.EMAIL_NOT_CONFIGURED')); + } + + $sent = EmailUtils::sendEmail($subject, $content, $to); + + if ($sent < 1) { + throw new \RuntimeException($this->language->translate('PLUGIN_LOGIN.EMAIL_SENDING_FAILURE')); + } + + return true; + } + + /** + * Handle the email to welcome the new user + * + * @param User $user + * + * @return bool True if the action was performed. + * @throws \RuntimeException + */ + public function sendWelcomeEmail(User $user) + { + if (empty($user->email)) { + throw new \RuntimeException($this->language->translate('PLUGIN_LOGIN.USER_NEEDS_EMAIL_FIELD')); + } + + $site_name = $this->config->get('site.title', 'Website'); + $author = $this->grav['config']->get('site.author.name', ''); + $fullname = $user->fullname ?: $user->username; + + $subject = $this->language->translate(['PLUGIN_LOGIN.WELCOME_EMAIL_SUBJECT', $site_name]); + $content = $this->language->translate(['PLUGIN_LOGIN.WELCOME_EMAIL_BODY', + $fullname, + $this->grav['base_url_absolute'], + $site_name, + $author + ]); + $to = $user->email; + + $sent = EmailUtils::sendEmail($subject, $content, $to); + + if ($sent < 1) { + throw new \RuntimeException($this->language->translate('PLUGIN_LOGIN.EMAIL_SENDING_FAILURE')); + } + + return true; + } + + /** + * Handle the email to activate the user account. + * + * @param User $user + * + * @return bool True if the action was performed. + * @throws \RuntimeException + */ + public function sendActivationEmail(User $user) + { + if (empty($user->email)) { + throw new \RuntimeException($this->language->translate('PLUGIN_LOGIN.USER_NEEDS_EMAIL_FIELD')); + } + + $token = md5(uniqid(mt_rand(), true)); + $expire = time() + 604800; // next week + $user->activation_token = $token . '::' . $expire; + $user->save(); + + $param_sep = $this->config->get('system.param_sep', ':'); + $activation_link = $this->grav['base_url_absolute'] . $this->config->get('plugins.login.route_activate') . '/token' . $param_sep . $token . '/username' . $param_sep . $user->username; + + $site_name = $this->config->get('site.title', 'Website'); + $author = $this->grav['config']->get('site.author.name', ''); + $fullname = $user->fullname ?: $user->username; + + $subject = $this->language->translate(['PLUGIN_LOGIN.ACTIVATION_EMAIL_SUBJECT', $site_name]); + $content = $this->language->translate(['PLUGIN_LOGIN.ACTIVATION_EMAIL_BODY', + $fullname, + $activation_link, + $site_name, + $author + ]); + $to = $user->email; + + + + $sent = EmailUtils::sendEmail($subject, $content, $to); + + if ($sent < 1) { + throw new \RuntimeException($this->language->translate('PLUGIN_LOGIN.EMAIL_SENDING_FAILURE')); + } + + return true; + } + + /** + * Gets and sets the RememberMe class + * + * @param mixed $var A rememberMe instance to set + * + * @return RememberMe Returns the current rememberMe instance + * @throws \InvalidArgumentException + */ + public function rememberMe($var = null) + { + if ($var !== null) { + $this->rememberMe = $var; + } + + if (!$this->rememberMe) { + /** @var Config $config */ + $config = $this->grav['config']; + + // Setup storage for RememberMe cookies + $storage = new TokenStorage; + $this->rememberMe = new RememberMe($storage); + $this->rememberMe->setCookieName($config->get('plugins.login.rememberme.name')); + $this->rememberMe->setExpireTime($config->get('plugins.login.rememberme.timeout')); + + // Hardening cookies with user-agent and random salt or + // fallback to use system based cache key + $server_agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'unknown'; + $data = $server_agent . $config->get('security.salt', $this->grav['cache']->getKey()); + $this->rememberMe->setSalt(hash('sha512', $data)); + + // Set cookie with correct base path of Grav install + $cookie = new Cookie; + $cookie->setPath($this->grav['base_url_relative'] ?: '/'); + $this->rememberMe->setCookie($cookie); + } + + return $this->rememberMe; + } + + /** + * @param string $context + * @param int $maxCount + * @param int $interval + * @return RateLimiter + */ + public function getRateLimiter($context, $maxCount = null, $interval = null) + { + if (!isset($this->rateLimiters[$context])) { + switch ($context) { + case 'login_attempts': + $maxCount = $this->grav['config']->get('plugins.login.max_login_count', 5); + $interval = $this->grav['config']->get('plugins.login.max_login_interval', 10); + break; + case 'pw_resets': + $maxCount = $this->grav['config']->get('plugins.login.max_pw_resets_count', 0); + $interval = $this->grav['config']->get('plugins.login.max_pw_resets_interval', 2); + break; + } + $this->rateLimiters[$context] = new RateLimiter($context, $maxCount, $interval); + } + + return $this->rateLimiters[$context]; + } + + /** + * @param User $user + * @param Page $page + * @param Data|null $config + * @return bool + */ + public function isUserAuthorizedForPage(User $user, Page $page, $config = null) + { + $header = $page->header(); + $rules = isset($header->access) ? (array)$header->access : []; + + if ($config !== null && $config->get('parent_acl')) { + // If page has no ACL rules, use its parent's rules + if (!$rules) { + $parent = $page->parent(); + while (!$rules and $parent) { + $header = $parent->header(); + $rules = isset($header->access) ? (array)$header->access : []; + $parent = $parent->parent(); + } + } + } + + // Continue to the page if it has no ACL rules. + if (!$rules) { + return true; + } + + // Continue to the page if user is authorized to access the page. + foreach ($rules as $rule => $value) { + if (is_array($value)) { + foreach ($value as $nested_rule => $nested_value) { + if ($user->authorize($rule . '.' . $nested_rule) == $nested_value) { + return true; + } + } + } else { + if ($user->authorize($rule) == $value) { + return true; + } + } + } + + return false; + } + + /** + * Check if user may use password reset functionality. + * + * @param User $user + * @param string $field + * @param int $count + * @param int $interval + * @return bool + * @deprecated 3.0 Use $grav['login']->getRateLimiter($context) instead. See Grav\Plugin\Login\RateLimiter class. + */ + public function isUserRateLimited(User $user, $field, $count, $interval) + { + if ($count > 0) { + if (!isset($user->{$field})) { + $user->{$field} = array(); + } + //remove older than 1 hour attempts + $actual_resets = array(); + foreach ($user->{$field} as $reset) { + if ($reset > (time() - $interval * 60)) { + $actual_resets[] = $reset; + } + } + + if (count($actual_resets) >= $count) { + return true; + } + $actual_resets[] = time(); // current reset + $user->{$field} = $actual_resets; + + } + return false; + } + + /** + * Reset the rate limit counter. + * + * @param User $user + * @param string $field + * @deprecated 3.0 Use $grav['login']->getRateLimiter($context) instead. See Grav\Plugin\Login\RateLimiter class. + */ + public function resetRateLimit(User $user, $field) + { + $user->{$field} = []; + } + + /** + * Get Current logged in user + * + * @return User + * @deprecated 3.0 Use $grav['user'] instead. + */ + public function getUser() + { + /** @var User $user */ + return $this->grav['user']; + } + +} diff --git a/user/plugins/login/classes/LoginCache.php b/user/plugins/login/classes/LoginCache.php new file mode 100644 index 0000000..51d6309 --- /dev/null +++ b/user/plugins/login/classes/LoginCache.php @@ -0,0 +1,103 @@ +lifetime = (int)$defaultLifetime; + $this->driver = new FilesystemCache(Grav::instance()['locator']->findResource('cache://login/' . $namespace, true, true)); + } + + /** + * Fetches a value from the cache. + * + * @param string $key The unique key of this item in the cache. + * @param mixed $default Default value to return if the key does not exist. + * + * @return mixed The value of the item from the cache, or $default in case of cache miss. + */ + public function get($key, $default = null) + { + $value = $this->driver->fetch($key); + + // Doctrine cache does not differentiate between no result and cached 'false'. Make sure that we do. + return $value !== false || $this->driver->contains($key) ? $value : $default; + } + + /** + * Persists data in the cache, uniquely referenced by a key with an optional expiration TTL time. + * + * @param string $key The key of the item to store. + * @param mixed $value The value of the item to store, must be serializable. + * @param null|int $ttl Optional. The TTL value of this item. + * + * @return bool True on success and false on failure. + */ + public function set($key, $value, $ttl = null) + { + $ttl = $ttl !== null ? (int)$ttl : $this->lifetime; + + return $this->driver->save($key, $value, $ttl); + } + + /** + * Determines whether an item is present in the cache. + * + * @param string $key The cache item key. + * + * @return bool + */ + public function has($key) + { + return $this->driver->contains($key); + } + + /** + * Delete an item from the cache by its unique key. + * + * @param string $key The unique cache key of the item to delete. + * + * @return bool True if the item was successfully removed. False if there was an error. + */ + public function delete($key) + { + return $this->driver->delete($key); + } + + /** + * Wipes clean the entire cache's keys. + * + * @return bool True on success and false on failure. + */ + public function clear() + { + return $this->driver->flushAll(); + } +} diff --git a/user/plugins/login/classes/RateLimiter.php b/user/plugins/login/classes/RateLimiter.php new file mode 100644 index 0000000..aafeb68 --- /dev/null +++ b/user/plugins/login/classes/RateLimiter.php @@ -0,0 +1,108 @@ +cache = new LoginCache($context, (int)$interval * 60); + $this->maxCount = (int) $maxCount; + $this->interval = (int) $interval; + } + + /** + * @return int + */ + public function getInterval() + { + return $this->interval; + } + + /** + * Check if user has hit rate limiter. Remember to use registerRateLimitedAction() before doing the check. + * + * @param string $key + * @param string $type + * @return bool + */ + public function isRateLimited($key, $type = 'username') + { + if (!$key || !$this->interval) { + return false; + } + + return $this->maxCount && count($this->getAttempts($key, $type)) > $this->maxCount; + } + + /** + * + * + * @param string $key + * @param string $type + * @return array + */ + public function getAttempts($key, $type = 'username') + { + return (array) $this->cache->get($type . $key, []); + } + + /** + * Register rate limited action. + * + * @param string $key + * @param string $type + * @return $this + */ + public function registerRateLimitedAction($key, $type = 'username') + { + if ($key && $this->interval) { + $tries = (array)$this->cache->get($type . $key, []); + $tries[] = time(); + + $this->cache->set($type . $key, $tries); + } + + return $this; + } + + /** + * Reset the user rate limit counter. + * + * @param string $key + * @param string $type + * @return $this + */ + public function resetRateLimit($key, $type = 'username') + { + if ($key) { + $this->cache->delete($type . $key); + } + + return $this; + } +} diff --git a/user/plugins/login/classes/RememberMe/RememberMe.php b/user/plugins/login/classes/RememberMe/RememberMe.php new file mode 100644 index 0000000..27710b0 --- /dev/null +++ b/user/plugins/login/classes/RememberMe/RememberMe.php @@ -0,0 +1,41 @@ + + */ +class RememberMe extends Authenticator +{ + /** + * Gets storage interface + * + * @return StorageInterface + */ + public function getStorage() + { + return $this->storage; + } + + /** + * Set storage interface + * + * @param StorageInterface $storage Storage interface + */ + public function setStorage($storage) + { + $this->storage = $storage; + } +} diff --git a/user/plugins/login/classes/RememberMe/TokenStorage.php b/user/plugins/login/classes/RememberMe/TokenStorage.php new file mode 100644 index 0000000..a3acc14 --- /dev/null +++ b/user/plugins/login/classes/RememberMe/TokenStorage.php @@ -0,0 +1,198 @@ + + */ +class TokenStorage implements StorageInterface +{ + /** + * @var CacheProvider + */ + protected $driver; + + /** + * @var string + */ + protected $cache_dir; + + /** + * Constructor + * + * @param string $path Path to storage directory + * @throws \InvalidArgumentException + */ + public function __construct($path = 'cache://rememberme') + { + /** @var Cache $cache */ + $cache = Grav::instance()['cache']; + + $this->cache_dir = Grav::instance()['locator']->findResource($path, true, true); + + // Setup cache + $this->driver = $cache->getCacheDriver(); + if ($this->driver instanceof FilesystemCache) { + $this->driver = new FilesystemCache($this->cache_dir); + } + + // Set the cache namespace to our unique key + $this->driver->setNamespace($cache->getKey()); + } + + /** + * Return Tri-state value constant + * + * @param mixed $credential Unique credential (user id, + * email address, user name) + * @param string $token One-Time Token + * @param string $persistentToken Persistent Token + * + * @return int + */ + public function findTriplet($credential, $token, $persistentToken) + { + + // Hash the tokens, because they can contain a salt and can be + // accessed in the file system + $persistentToken = sha1(trim($persistentToken)); + $token = sha1(trim($token)); + + $id = $this->getId($credential); + if (!$this->driver->contains($id)) { + return self::TRIPLET_NOT_FOUND; + } + + list($expire, $tokens) = $this->driver->fetch($id); + if (isset($tokens[$persistentToken]) && $tokens[$persistentToken] === $token) { + return self::TRIPLET_FOUND; + } + + return self::TRIPLET_INVALID; + } + + /** + * Store the new token for the credential and the persistent token. + * Create a new storage entry, if the combination of credential and + * persistent token does not exist. + * + * @param mixed $credential + * @param string $token + * @param string $persistentToken + * @param int $expire Timestamp when this triplet + * will expire (0 = no expiry) + */ + public function storeTriplet($credential, $token, $persistentToken, $expire = null) + { + // Hash the tokens, because they can contain a salt and can be + // accessed in the file system + $persistentToken = sha1(trim($persistentToken)); + $token = sha1(trim($token)); + + $e = null; + $tokens = []; + $id = $this->getId($credential); + if ($this->driver->contains($id)) { + list($e, $tokens) = $this->driver->fetch($id); + } + + // Get cache lifetime for tokens + if ($expire === null && $e === null) { + /** @var Cache $cache */ + $cache = Grav::instance()['cache']; + $expire = $cache->getLifetime(); + } elseif ($expire === null) { + $expire = $e; + } + + // Update tokens + $tokens[$persistentToken] = $token; + $this->driver->save($id, [$expire, $tokens], $expire); + + return $this; + } + + /** + * Replace current token after successful authentication + * + * @param mixed $credential + * @param string $token + * @param string $persistentToken + * @param int $expire + */ + public function replaceTriplet($credential, $token, $persistentToken, $expire = null) + { + $this->cleanTriplet($credential, $persistentToken); + $this->storeTriplet($credential, $token, $persistentToken, $expire); + } + + /** + * Remove one triplet of the user from the store + * + * @param mixed $credential + * @param string $persistentToken + */ + public function cleanTriplet($credential, $persistentToken) + { + // Hash the tokens, because they can contain a salt and can be + // accessed in the file system + $persistentToken = sha1(trim($persistentToken)); + + // Delete token from storage + $id = $this->getId($credential); + if ($this->driver->contains($id)) { + list($expire, $tokens) = $this->driver->fetch($id); + unset($tokens[$persistentToken]); + $this->driver->save($id, [$expire, $tokens], $expire); + } + } + + /** + * Remove all triplets of a user, effectively logging him out on all + * machines + * + * @param mixed $credential + */ + public function cleanAllTriplets($credential) + { + $id = $this->getId($credential); + $this->driver->delete($id); + } + + /** + * Helper method to clear RememberMe cache + */ + public function clearCache() + { + $this->driver->flushAll(); + } + + /** + * Get the cache id + * + * @param string $key A key to compute the cache id for + * @return string The cache id + */ + protected function getId($key) + { + /** @var Cache $cache */ + $cache = Grav::instance()['cache']; + + return 'login' . md5(trim($key) . $cache->getKey()); + } +} diff --git a/user/plugins/login/cli/ChangePasswordCommand.php b/user/plugins/login/cli/ChangePasswordCommand.php new file mode 100644 index 0000000..fc850b5 --- /dev/null +++ b/user/plugins/login/cli/ChangePasswordCommand.php @@ -0,0 +1,202 @@ +setName('change-password') + ->setAliases(['edit-password', 'newpass', 'changepass', 'passwd']) + ->addOption( + 'user', + 'u', + InputOption::VALUE_REQUIRED, + 'The username' + ) + ->addOption( + 'password', + 'p', + InputOption::VALUE_REQUIRED, + "The password. Note that this option is not recommended because the password will be visible by users listing the processes. You should also make sure the password respects Grav's password policy." + ) + ->setDescription('Changes a User Password') + ->setHelp('The change-password changes the password of the specified user. (User must exist)') + ; + } + + /** + * @return int|null|void + */ + protected function serve() + { + $this->options = [ + 'user' => $this->input->getOption('user'), + 'password1' => $this->input->getOption('password') + ]; + + $this->validateOptions(); + + $helper = $this->getHelper('question'); + $data = []; + + $this->output->writeln('Changing User Password'); + $this->output->writeln(''); + + if (!$this->options['user']) { + // Get username and validate + $question = new Question('Enter a username: '); + $question->setValidator(function ($value) { + return $this->validate('user', $value); + }); + + $username = $helper->ask($this->input, $this->output, $question); + } else { + $username = $this->options['user']; + } + + + if (!$this->options['password1']) { + // Get password and validate + $password = $this->askForPassword($helper, 'Enter a new password: ', function ($password1) use ($helper) { + $this->validate('password1', $password1); + + // Since input is hidden when prompting for passwords, the user is asked to repeat the password + return $this->askForPassword($helper, 'Repeat the password: ', function ($password2) use ($password1) { + return $this->validate('password2', $password2, $password1); + }); + }); + + $data['password'] = $password; + } else { + $data['password'] = $this->options['password1']; + } + + // Lowercase the username for the filename + $username = strtolower($username); + + /** @var UniformResourceLocator $locator */ + $locator = Grav::instance()['locator']; + + // Grab the account file and read in the information before setting the file (prevent setting erase) + $oldUserFile = CompiledYamlFile::instance($locator->findResource('account://' . $username . YAML_EXT, true, true)); + $oldData = (array)$oldUserFile->content(); + + //Set the password feild to new password + $oldData['password'] = $data['password']; + + // Create user object and save it using oldData (with updated password) + $user = new User($oldData); + $file = CompiledYamlFile::instance($locator->findResource('account://' . $username . YAML_EXT, true, true)); + $user->file($file); + $user->save(); + + $this->output->writeln(''); + $this->output->writeln('Success! User ' . $username . '\'s password changed.'); + } + + /** + * + */ + protected function validateOptions() + { + foreach (array_filter($this->options) as $type => $value) { + $this->validate($type, $value); + } + } + + /** + * @param $type + * @param $value + * @param string $extra + * + * @return mixed + */ + protected function validate($type, $value, $extra = '') + { + /** @var Config $config */ + $config = Grav::instance()['config']; + + /** @var UniformResourceLocator $locator */ + $locator = Grav::instance()['locator']; + + $username_regex = '/' . $config->get('system.username_regex') . '/'; + $pwd_regex = '/' . $config->get('system.pwd_regex') . '/'; + + switch ($type) { + case 'user': + if (!preg_match($username_regex, $value)) { + throw new \RuntimeException('Username should be between 3 and 16 characters, including lowercase letters, numbers, underscores, and hyphens. Uppercase letters, spaces, and special characters are not allowed'); + } + if (!$locator->findResource('account://' . $value . YAML_EXT)) { + throw new \RuntimeException('Username "' . $value . '" does not exist, please pick another username'); + } + + break; + + case 'password1': + if (!preg_match($pwd_regex, $value)) { + throw new \RuntimeException('Password must contain at least one number and one uppercase and lowercase letter, and at least 8 or more characters'); + } + + break; + + case 'password2': + if (strcmp($value, $extra)) { + throw new \RuntimeException('Passwords did not match.'); + } + + break; + } + + return $value; + } + + /** + * Get password and validate. + * + * @param Helper $helper + * @param string $question + * @param callable $validator + * + * @return string + */ + protected function askForPassword(Helper $helper, $question, callable $validator) + { + $question = new Question($question); + $question->setValidator($validator); + $question->setHidden(true); + $question->setHiddenFallback(true); + + return $helper->ask($this->input, $this->output, $question); + } +} diff --git a/user/plugins/login/cli/ChangeUserStateCommand.php b/user/plugins/login/cli/ChangeUserStateCommand.php new file mode 100644 index 0000000..a562570 --- /dev/null +++ b/user/plugins/login/cli/ChangeUserStateCommand.php @@ -0,0 +1,175 @@ +setName('toggle-user') + ->setAliases(['disableuser', 'enableuser', 'toggleuser', 'change-user-state']) + ->addOption( + 'user', + 'u', + InputOption::VALUE_REQUIRED, + 'The username' + ) + ->addOption( + 'state', + 's', + InputOption::VALUE_REQUIRED, + 'The state of the account. Can be either `enabled` or `disabled`. [default: "enabled"]' + ) + ->setDescription('Changes whether user can login or not') + ->setHelp('The toggle-user sets a user\'s login status to enabled or disabled.') + ; + } + + /** + * @return int|null|void + */ + protected function serve() + { + $this->options = [ + 'user' => $this->input->getOption('user'), + 'state' => $this->input->getOption('state') + ]; + + $this->validateOptions(); + + $helper = $this->getHelper('question'); + $data = []; + + $this->output->writeln('Setting User State'); + $this->output->writeln(''); + + if (!$this->options['user']) { + // Get username and validate + $question = new Question('Enter a username: '); + $question->setValidator(function ($value) { + return $this->validate('user', $value); + }); + + $username = $helper->ask($this->input, $this->output, $question); + } else { + $username = $this->options['user']; + } + + + if (!$this->options['state'] && !count(array_filter($this->options))) { + // Choose State + $question = new ChoiceQuestion( + 'Please choose the state for the account:', + array('enabled' => 'Enabled', 'disabled' => 'Disabled'), + 'enabled' + ); + + $question->setErrorMessage('State %s is invalid.'); + $data['state'] = $helper->ask($this->input, $this->output, $question); + } else { + $data['state'] = $this->options['state'] ?: 'enabled'; + } + + // Lowercase the username for the filename + $username = strtolower($username); + + /** @var UniformResourceLocator $locator */ + $locator = Grav::instance()['locator']; + + // Grab the account file and read in the information before setting the file (prevent setting erase) + $oldUserFile = CompiledYamlFile::instance($locator->findResource('account://' . $username . YAML_EXT, true, true)); + $oldData = (array)$oldUserFile->content(); + + //Set the state feild to new state + $oldData['state'] = $data['state']; + + // Create user object and save it using oldData (with updated state) + $user = new User($oldData); + $file = CompiledYamlFile::instance($locator->findResource('account://' . $username . YAML_EXT, true, true)); + $user->file($file); + $user->save(); + + $this->output->writeln(''); + $this->output->writeln('Success! User ' . $username . ' state set to .' . $data['state']); + } + + /** + * + */ + protected function validateOptions() + { + foreach (array_filter($this->options) as $type => $value) { + $this->validate($type, $value); + } + } + + /** + * @param $type + * @param $value + * @param string $extra + * + * @return mixed + */ + protected function validate($type, $value, $extra = '') + { + /** @var Config $config */ + $config = Grav::instance()['config']; + + /** @var UniformResourceLocator $locator */ + $locator = Grav::instance()['locator']; + + $username_regex = '/' . $config->get('system.username_regex') . '/'; + + switch ($type) { + case 'user': + if (!preg_match($username_regex, $value)) { + throw new \RuntimeException('Username should be between 3 and 16 characters, including lowercase letters, numbers, underscores, and hyphens. Uppercase letters, spaces, and special characters are not allowed'); + } + if (!file_exists($locator->findResource('account://' . $value . YAML_EXT))) { + throw new \RuntimeException('Username "' . $value . '" does not exist, please pick another username'); + } + + break; + + case 'state': + if ($value !== 'enabled' && $value !== 'disabled') { + throw new \RuntimeException('State is not valid'); + } + + break; + } + + return $value; + } +} diff --git a/user/plugins/login/cli/NewUserCommand.php b/user/plugins/login/cli/NewUserCommand.php new file mode 100644 index 0000000..4080205 --- /dev/null +++ b/user/plugins/login/cli/NewUserCommand.php @@ -0,0 +1,333 @@ +setName('new-user') + ->setAliases(['add-user', 'newuser']) + ->addOption( + 'user', + 'u', + InputOption::VALUE_REQUIRED, + 'The username' + ) + ->addOption( + 'password', + 'p', + InputOption::VALUE_REQUIRED, + "The password. Note that this option is not recommended because the password will be visible by users listing the processes. You should also make sure the password respects Grav's password policy." + ) + ->addOption( + 'email', + 'e', + InputOption::VALUE_REQUIRED, + 'The user email' + ) + ->addOption( + 'permissions', + 'P', + InputOption::VALUE_REQUIRED, + 'The user permissions. It can be either `a` for Admin access only, `s` for Site access only and `b` for both Admin and Site access.' + ) + ->addOption( + 'fullname', + 'N', + InputOption::VALUE_REQUIRED, + 'The user full name.' + ) + ->addOption( + 'title', + 't', + InputOption::VALUE_REQUIRED, + 'The title of the user. Usually used as a subtext. Example: Admin, Collaborator, Developer' + ) + ->addOption( + 'state', + 's', + InputOption::VALUE_REQUIRED, + 'The state of the account. Can be either `enabled` or `disabled`. [default: "enabled"]' + ) + ->setDescription('Creates a new user') + ->setHelp('The new-user creates a new user file in user/accounts/ folder') + ; + } + + /** + * @return int|null|void + */ + protected function serve() + { + $this->options = [ + 'user' => $this->input->getOption('user'), + 'password1' => $this->input->getOption('password'), + 'email' => $this->input->getOption('email'), + 'permissions' => $this->input->getOption('permissions'), + 'fullname' => $this->input->getOption('fullname'), + 'title' => $this->input->getOption('title'), + 'state' => $this->input->getOption('state') + ]; + + $this->validateOptions(); + + $helper = $this->getHelper('question'); + $data = []; + + $this->output->writeln('Creating new user'); + $this->output->writeln(''); + + if (!$this->options['user']) { + // Get username and validate + $question = new Question('Enter a username: ', 'admin'); + $question->setValidator(function ($value) { + return $this->validate('user', $value); + }); + + $username = $helper->ask($this->input, $this->output, $question); + } else { + $username = $this->options['user']; + } + + + if (!$this->options['password1']) { + // Get password and validate + $password = $this->askForPassword($helper, 'Enter a password: ', function ($password1) use ($helper) { + $this->validate('password1', $password1); + + // Since input is hidden when prompting for passwords, the user is asked to repeat the password + return $this->askForPassword($helper, 'Repeat the password: ', function ($password2) use ($password1) { + return $this->validate('password2', $password2, $password1); + }); + }); + + $data['password'] = $password; + } else { + $data['password'] = $this->options['password1']; + } + + if (!$this->options['email']) { + // Get email and validate + $question = new Question('Enter an email: '); + $question->setValidator(function ($value) { + return $this->validate('email', $value); + }); + + $data['email'] = $helper->ask($this->input, $this->output, $question); + } else { + $data['email'] = $this->options['email']; + } + + if (!$this->options['permissions']) { + // Choose permissions + $question = new ChoiceQuestion( + 'Please choose a set of permissions:', + array('a' => 'Admin Access', 's' => 'Site Access', 'b' => 'Admin and Site Access'), + 'a' + ); + + $question->setErrorMessage('Permissions %s is invalid.'); + $permissions_choice = $helper->ask($this->input, $this->output, $question); + } else { + $permissions_choice = $this->options['permissions']; + } + + switch ($permissions_choice) { + case 'a': + $data['access']['admin'] = ['login' => true, 'super' => true]; + break; + case 's': + $data['access']['site'] = ['login' => true]; + break; + case 'b': + $data['access']['admin'] = ['login' => true, 'super' => true]; + $data['access']['site'] = ['login' => true]; + } + + if (!$this->options['fullname']) { + // Get fullname + $question = new Question('Enter a fullname: '); + $question->setValidator(function ($value) { + return $this->validate('fullname', $value); + }); + + $data['fullname'] = $helper->ask($this->input, $this->output, $question); + } else { + $data['fullname'] = $this->options['fullname']; + } + + + if (!$this->options['title'] && !count(array_filter($this->options))) { + // Get title + $question = new Question('Enter a title: '); + $data['title'] = $helper->ask($this->input, $this->output, $question); + } else { + $data['title'] = $this->options['title']; + } + + if (!$this->options['state'] && !count(array_filter($this->options))) { + // Choose State + $question = new ChoiceQuestion( + 'Please choose the state for the account:', + array('enabled' => 'Enabled', 'disabled' => 'Disabled'), + 'enabled' + ); + + $question->setErrorMessage('State %s is invalid.'); + $data['state'] = $helper->ask($this->input, $this->output, $question); + } else { + $data['state'] = $this->options['state'] ?: 'enabled'; + } + + // Lowercase the username for the filename + $username = strtolower($username); + + /** @var UniformResourceLocator $locator */ + $locator = Grav::instance()['locator']; + + // Create user object and save it + $user = new User($data); + $file = CompiledYamlFile::instance($locator->findResource('account://' . $username . YAML_EXT, true, true)); + $user->file($file); + $user->save(); + + $this->output->writeln(''); + $this->output->writeln('Success! User ' . $username . ' created.'); + } + + /** + * + */ + protected function validateOptions() + { + foreach (array_filter($this->options) as $type => $value) { + $this->validate($type, $value); + } + } + + /** + * @param $type + * @param $value + * @param string $extra + * + * @return mixed + */ + protected function validate($type, $value, $extra = '') + { + /** @var Config $config */ + $config = Grav::instance()['config']; + + /** @var UniformResourceLocator $locator */ + $locator = Grav::instance()['locator']; + + + $username_regex = '/' . $config->get('system.username_regex') . '/'; + $pwd_regex = '/' . $config->get('system.pwd_regex') . '/'; + + switch ($type) { + case 'user': + if (!preg_match($username_regex, $value)) { + throw new \RuntimeException('Username should be between 3 and 16 characters, including lowercase letters, numbers, underscores, and hyphens. Uppercase letters, spaces, and special characters are not allowed'); + } + if (file_exists($locator->findResource('account://' . $value . YAML_EXT))) { + throw new \RuntimeException('Username "' . $value . '" already exists, please pick another username'); + } + + break; + + case 'password1': + if (!preg_match($pwd_regex, $value)) { + throw new \RuntimeException('Password must contain at least one number and one uppercase and lowercase letter, and at least 8 or more characters'); + } + + break; + + case 'password2': + if (strcmp($value, $extra)) { + throw new \RuntimeException('Passwords did not match.'); + } + + break; + + case 'email': + if (!filter_var($value, FILTER_VALIDATE_EMAIL)) { + throw new \RuntimeException('Not a valid email address'); + } + + break; + + case 'permissions': + if (!in_array($value, ['a', 's', 'b'])) { + throw new \RuntimeException('Permissions ' . $value . ' are invalid.'); + } + + break; + + case 'fullname': + if ($value === null || trim($value) === '') { + throw new \RuntimeException('Fullname cannot be empty'); + } + + break; + + case 'state': + if ($value !== 'enabled' && $value !== 'disabled') { + throw new \RuntimeException('State is not valid'); + } + + break; + } + + return $value; + } + + /** + * Get password and validate. + * + * @param Helper $helper + * @param string $question + * @param callable $validator + * + * @return string + */ + protected function askForPassword(Helper $helper, $question, callable $validator) + { + $question = new Question($question); + $question->setValidator($validator); + $question->setHidden(true); + $question->setHiddenFallback(true); + return $helper->ask($this->input, $this->output, $question); + } +} \ No newline at end of file diff --git a/user/plugins/login/composer.json b/user/plugins/login/composer.json new file mode 100644 index 0000000..78751cc --- /dev/null +++ b/user/plugins/login/composer.json @@ -0,0 +1,37 @@ +{ + "name": "grav-plugin-login", + "description": "Enables user authentication and login screen.", + "keywords": ["login", "authentication", "admin", "security"], + "homepage": "https://github.com/getgrav/grav-plugin-login", + "license": "MIT", + "authors": [ + { + "name": "Team Grav", + "email": "devs@getgrav.org", + "homepage": "http://getgrav.org", + "role": "Developer" + }, + { + "name": "Sommerregen", + "email": "sommerregen@benjamin-regler.de", + "homepage": "http://benjamin-regler.de", + "role": "Developer" + } + ], + "support": { + "email": "support@example.org", + "issues": "https://github.com/getgrav/grav-plugin-login/issues", + "irc": "https://gitter.im/getgrav/grav", + "forum": "http://getgrav.org/forum", + "docs": "https://github.com/getgrav/grav-plugin-login/blob/master/README.md" + }, + "require": { + "php": ">=5.4.0", + "birke/rememberme": "1.*" + }, + "autoload": { + "psr-4": { + "Grav\\Plugin\\Login\\": "classes/" + } + } +} diff --git a/user/plugins/login/composer.lock b/user/plugins/login/composer.lock new file mode 100644 index 0000000..8d1fb6d --- /dev/null +++ b/user/plugins/login/composer.lock @@ -0,0 +1,113 @@ +{ + "_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#composer-lock-the-lock-file", + "This file is @generated automatically" + ], + "content-hash": "540c2e320c9819de1b7c90b59f17263d", + "packages": [ + { + "name": "birke/rememberme", + "version": "1.0.5", + "source": { + "type": "git", + "url": "https://github.com/gbirke/rememberme.git", + "reference": "810473852eb4823098e47e23376a19b77ba0c165" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/gbirke/rememberme/zipball/810473852eb4823098e47e23376a19b77ba0c165", + "reference": "810473852eb4823098e47e23376a19b77ba0c165", + "shasum": "" + }, + "require": { + "paragonie/random_compat": "^1.1.4" + }, + "require-dev": { + "phpunit/phpunit": "4.*" + }, + "type": "library", + "autoload": { + "psr-4": { + "Birke\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gabriel Birke", + "email": "gb@birke-software.de" + } + ], + "description": "Secure \"Remember Me\" functionality", + "homepage": "https://github.com/gbirke/rememberme", + "keywords": [ + "cookie", + "remember", + "security" + ], + "time": "2017-02-12T12:43:00+00:00" + }, + { + "name": "paragonie/random_compat", + "version": "v1.4.2", + "source": { + "type": "git", + "url": "https://github.com/paragonie/random_compat.git", + "reference": "965cdeb01fdcab7653253aa81d40441d261f1e66" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/965cdeb01fdcab7653253aa81d40441d261f1e66", + "reference": "965cdeb01fdcab7653253aa81d40441d261f1e66", + "shasum": "" + }, + "require": { + "php": ">=5.2.0" + }, + "require-dev": { + "phpunit/phpunit": "4.*|5.*" + }, + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + }, + "type": "library", + "autoload": { + "files": [ + "lib/random.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" + } + ], + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "pseudorandom", + "random" + ], + "time": "2017-03-13T16:22:52+00:00" + } + ], + "packages-dev": [], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": ">=5.4.0" + }, + "platform-dev": [] +} diff --git a/user/plugins/login/css/login.css b/user/plugins/login/css/login.css new file mode 100644 index 0000000..3b470c4 --- /dev/null +++ b/user/plugins/login/css/login.css @@ -0,0 +1,86 @@ +#grav-login { + max-width: 30rem; + margin: 5rem auto; + background: #fcfcfc; + border: 4px solid #eee; + border-radius: 4px; + padding: 1rem 3rem 3rem 3rem; + text-align: center; +} + +#grav-login .form-actions { + text-align: right; +} + +#grav-logout { + position: absolute; + bottom: 5px; + right: 5px; +} + +.alert.info { + color: #27ae60; +} + +.alert.error { + color: #e74c3c; +} + +#grav-login p { + font-size: small; + margin: 1rem 0; + padding: 0; + text-align: center; +} +#grav-login .form-actions p { + margin-bottom: 0; +} + +#grav-login .button { + vertical-align: middle; +} + +#grav-login .delimiter { + display: block; + font-size: 1.6rem; + letter-spacing: 1px; + line-height: 1.6rem; + position: relative; + text-transform: uppercase; + margin: 1rem 0; +} + +#grav-login .delimiter:after, +#grav-login .delimiter:before { + background-color: #777777; + content: ""; + height: 1px; + position: absolute; + top: 0.8rem; + width: 40%; +} +#grav-login .delimiter:before { + background-image: -moz-linear-gradient(right center , #777777, #ffffff); + left: 0; +} +#grav-login .delimiter:after { + background-image: -moz-linear-gradient(left center , #777777, #ffffff); + right: 0; +} + +#grav-login .rememberme { + display: inline-block; + float: left; + padding: 7px 0; + vertical-align: middle; +} + +#grav-login .rememberme label { + font-weight: inherit; + display: inline; +} + +.login-status { + white-space: nowrap; + vertical-align: middle; +} \ No newline at end of file diff --git a/user/plugins/login/hebe.json b/user/plugins/login/hebe.json new file mode 100644 index 0000000..d1f65ae --- /dev/null +++ b/user/plugins/login/hebe.json @@ -0,0 +1,15 @@ +{ + "project":"grav-plugin-login", + "platforms":{ + "grav":{ + "nodes":{ + "plugin":[ + { + "source":"/", + "destination":"/user/plugins/login" + } + ] + } + } + } +} diff --git a/user/plugins/login/languages/de.yaml b/user/plugins/login/languages/de.yaml new file mode 100644 index 0000000..cb65837 --- /dev/null +++ b/user/plugins/login/languages/de.yaml @@ -0,0 +1,47 @@ +PLUGIN_LOGIN: + USERNAME: "Benutzername" + EMAIL: "Email" + USERNAME_EMAIL: "Benutzername/Email" + PASSWORD: "Passwort" + ACCESS_DENIED: "Zugang verweigert" + LOGIN_FAILED: "Login fehlgeschlagen..." + LOGIN_SUCCESSFUL: "Du wurdest erfolgreich eingeloggt." + BTN_LOGIN: "Anmelden" + BTN_LOGOUT: "Abmelden" + BTN_FORGOT: "Vergessen" + BTN_REGISTER: "Registrieren" + REMEMBER_ME: "Angemeldet bleiben" + REMEMBER_ME_HELP: "Speichert einen Cookie im Browser, welcher eine fortwährende Anmeldung sicherstellt." + BUILTIN_CSS: "Nutze das integrierte CSS" + BUILTIN_CSS_HELP: "Nutze das CSS, welches vom Admin Plugin bereitgestellt werden" + ROUTE: "Anmeldepfad" + ROUTE_REGISTER: "Registrierungspfad" + USERNAME_NOT_AVAILABLE: "Der Nutzername %s existiert bereits, bitte wähle einen Anderen" + USER_NEEDS_EMAIL_FIELD: "Der Nutzer benötigt ein E-Mail Feld" + EMAIL_SENDING_FAILURE: "Ein Fehler ist beim senden der E-Mail aufgetreten" + ACTIVATION_EMAIL_SUBJECT: "Aktiviere dein Account auf %s" + ACTIVATION_EMAIL_BODY: "Hi %s, click %s to activate your account on %s" + WELCOME_EMAIL_SUBJECT: "Willkommen zu %s" + WELCOME_EMAIL_BODY: "Hi %s, willkommen zu %s!" + NOTIFICATION_EMAIL_SUBJECT: "Neuer Nutzer auf %s" + NOTIFICATION_EMAIL_BODY: "Hi, ein neuer Nutzer hat sich auf %s registriert. Nutzername: %s, E-Mail: %s" + EMAIL_FOOTER: "GetGrav.org" + ACTIVATION_LINK_EXPIRED: "Aktivierungslink ist abgelaufen" + USER_ACTIVATED_SUCCESSFULLY: "Nutzer erfolgreich aktiviert" + INVALID_REQUEST: "Ungültige Anfrage" + USER_REGISTRATION: "Nutzer Registrierung" + USER_REGISTRATION_ENABLED_HELP: "Aktiviere die Nutzer Registrierung" + VALIDATE_PASSWORD1_AND_PASSWORD2: "Überprüfe das doppelt eingegebene Passwort" + SEND_ACTIVATION_EMAIL: "Aktivierungs E-Mail senden" + SEND_NOTIFICATION_EMAIL: "Benachtichtigungs E-Mail senden" + SEND_WELCOME_EMAIL: "Sende eine Willkommens E-Mail" + DEFAULT_VALUES: "Standard Werte" + ADDITIONAL_PARAM_KEY: "Parameter" + ADDITIONAL_PARAM_VALUE: "Wert" + REGISTRATION_FIELDS: "Registrierungsfelder" + REGISTRATION_FIELD_KEY: "Feldname" + REDIRECT_AFTER_LOGIN: "Umleitung nach Login" + REDIRECT_AFTER_REGISTRATION: "Umleitung nach Registrierung" + OPTIONS: "Optionen" + EMAIL_VALIDATION_MESSAGE: "Muss eine gültige E-Mail Adresse sein" + WELCOME: "Willkommen" \ No newline at end of file diff --git a/user/plugins/login/languages/en.yaml b/user/plugins/login/languages/en.yaml new file mode 100644 index 0000000..14edd62 --- /dev/null +++ b/user/plugins/login/languages/en.yaml @@ -0,0 +1,115 @@ +PLUGIN_LOGIN: + USERNAME: "Username" + EMAIL: "Email" + USERNAME_EMAIL: "Username/Email" + PASSWORD: "Password" + ACCESS_DENIED: "Access denied..." + LOGIN_FAILED: "Login failed..." + LOGIN_SUCCESSFUL: "You have been successfully logged in." + BTN_LOGIN: "Login" + BTN_LOGOUT: "Logout" + BTN_FORGOT: "Forgot" + BTN_REGISTER: "Register" + BTN_RESET: "Reset Password" + BTN_SEND_INSTRUCTIONS: "Send Reset Instructions" + RESET_LINK_EXPIRED: "Reset link has expired, please try again" + RESET_PASSWORD_RESET: "Password has been reset" + RESET_INVALID_LINK: "Invalid reset link used, please try again" + FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Instructions to reset your password have been sent via email" + FORGOT_FAILED_TO_EMAIL: "Failed to email instructions, please try again later" + FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Cannot reset password for %s, no email address is set" + FORGOT_USERNAME_DOES_NOT_EXIST: "User with username %s does not exist" + FORGOT_EMAIL_NOT_CONFIGURED: "Cannot reset password. This site is not configured to send emails" + FORGOT_EMAIL_SUBJECT: "%s Password Reset Request" + FORGOT_EMAIL_BODY: "

                                                                        Password Reset

                                                                        Dear %1$s,

                                                                        A request was made on %4$s to reset your password.


                                                                        Click this to reset your password

                                                                        Alternatively, copy the following URL into your browser's address bar:

                                                                        %2$s


                                                                        Kind regards,

                                                                        %3$s

                                                                        " + SESSION: "“Remember Me”-Session" + REMEMBER_ME: "Remember Me" + REMEMBER_ME_HELP: "Sets a persistent cookie on your browser to allow persistent-login authentication between sessions." + REMEMBER_ME_STOLEN_COOKIE: "Someone else has used your login information to access this page! All sessions were logged out. Please log in with your credentials and check your data." + BUILTIN_CSS: "Use built in CSS" + BUILTIN_CSS_HELP: "Include the CSS provided by the admin plugin" + ROUTE: "Login path" + ROUTE_HELP: "Custom route to a custom login page that your theme provides" + ROUTE_REGISTER: "Registration path" + ROUTE_REGISTER_HELP: "Route to the registration page. Set this if you want to use the built-in registration page. Leave it empty if you have your own registration form" + USERNAME_NOT_VALID: "Username should be between 3 and 16 characters, including lowercase letters, numbers, underscores, and hyphens. Uppercase letters, spaces, and special characters are not allowed" + USERNAME_NOT_AVAILABLE: "Username %s already exists, please pick another username" + EMAIL_NOT_AVAILABLE: "Email address %s already exists, please pick another email address" + PASSWORD_NOT_VALID: "Password must contain at least one number and one uppercase and lowercase letter, and at least 8 or more characters" + PASSWORDS_DO_NOT_MATCH: "Passwords do not match. Double-check you entered the same password twice" + USER_NEEDS_EMAIL_FIELD: "The user needs an email field" + EMAIL_SENDING_FAILURE: "An error occurred while sending the email" + ACTIVATION_EMAIL_SUBJECT: "Activate your account on %s" + ACTIVATION_EMAIL_BODY: "

                                                                        %Account Activation

                                                                        Hi %1$s,

                                                                        Your account has been successfully created on %3$s, but you cannot login until it is activated.


                                                                        Activate Your Account Now

                                                                        Alternatively, copy the following URL into your browser's address bar:

                                                                        %2$s


                                                                        Kind regards,

                                                                        %4$s

                                                                        " + ACTIVATION_NOTICE_MSG: "Hi %s, your account is created, please check your email to fully activate it" + WELCOME_EMAIL_SUBJECT: "Welcome to %s" + WELCOME_EMAIL_BODY: "

                                                                        Account Created

                                                                        Hi %1$s,

                                                                        Your account has been successfully created on %3$s.


                                                                        Login Now

                                                                        Alternatively, copy the following URL into your browser's address bar:

                                                                        %2$s


                                                                        Kind regards,

                                                                        %4$s

                                                                        " + WELCOME_NOTICE_MSG: "Hi %s, your account has been successfully created" + NOTIFICATION_EMAIL_SUBJECT: "New user on %s" + NOTIFICATION_EMAIL_BODY: "

                                                                        New User

                                                                        Hi, a new user registered on %1$s.

                                                                        • Username: %2$s
                                                                        • Email: %3$s


                                                                        Visit %1$s

                                                                        " + EMAIL_FOOTER: "GetGrav.org" + ACTIVATION_LINK_EXPIRED: "Activation link expired" + USER_ACTIVATED_SUCCESSFULLY: "User activated successfully" + INVALID_REQUEST: "Invalid request" + USER_REGISTRATION: "User Registration" + USER_REGISTRATION_ENABLED_HELP: "Enable the user registration" + VALIDATE_PASSWORD1_AND_PASSWORD2: "Validate double entered password" + VALIDATE_PASSWORD1_AND_PASSWORD2_HELP: "Validate and compare two different fields for the passwords, named `password1` and `password2`. Enable this if you have two password fields in the registration form" + SET_USER_DISABLED: "Set the user as disabled" + SET_USER_DISABLED_HELP: "Best used along with the `Send activation email` email. Adds the user to Grav, but sets it as disabled" + LOGIN_AFTER_REGISTRATION: "Login the user after registration" + LOGIN_AFTER_REGISTRATION_HELP: "Immediately login the user after the registration. If email activation is required, the user will be logged in immediately after activating the account" + SEND_ACTIVATION_EMAIL: "Send activation email" + SEND_ACTIVATION_EMAIL_HELP: "Sends an email to the user to activate his account. Enable the `Set the user as disabled` option when using this feature, so the user will be set as disabled and an email will be sent to activate the account" + SEND_NOTIFICATION_EMAIL: "Send notification email" + SEND_NOTIFICATION_EMAIL_HELP: "Notifies the site admin that a new user has registered. The email will be sent to the `To` field in the Email Plugin configuration" + SEND_WELCOME_EMAIL: "Send welcome email" + SEND_WELCOME_EMAIL_HELP: "Sends an email to the newly registered user" + DEFAULT_VALUES: "Default values" + DEFAULT_VALUES_HELP: "List of field names and values associated, that will be added to the user profile (yaml file) by default, without being configurable by the user. Separate multiple values with a comma, with no spaces between the values" + ADDITIONAL_PARAM_KEY: "Parameter" + ADDITIONAL_PARAM_VALUE: "Value" + REGISTRATION_FIELDS: "Registration fields" + REGISTRATION_FIELDS_HELP: "Add the fields that will be added to the user Yaml file. Fields not listed here will not be added even if present in the registration form" + REGISTRATION_FIELD_KEY: "Field name" + REDIRECT_AFTER_LOGIN: "Redirect after login" + REDIRECT_AFTER_LOGIN_HELP: "Custom route to redirect after login" + REDIRECT_AFTER_REGISTRATION: "Redirect after registration" + REDIRECT_AFTER_REGISTRATION_HELP: "Custom route to redirect after the registration" + OPTIONS: "Options" + EMAIL_VALIDATION_MESSAGE: "Must be a valid email address" + PASSWORD_VALIDATION_MESSAGE: "Password must contain at least one number and one uppercase and lowercase letter, and at least 8 or more characters" + TIMEOUT_HELP: "Sets the session timeout in seconds when Remember Me is enabled and checked by the user. Minimum is 604800 which means 1 week" + GROUPS_HELP: "List of groups the new registered user will be part of, if any" + SITE_ACCESS_HELP: "List of site access levels the new registered user will have. Example: `login` -> `true` " + WELCOME: "Welcome" + REDIRECT_AFTER_ACTIVATION: "Redirect after the user activation" + REDIRECT_AFTER_ACTIVATION_HELP: "Used if the user is required to activate the account via email. Once activated, this route will be shown" + REGISTRATION_DISABLED: "Registration disabled" + USE_PARENT_ACL_LABEL: "Use parent access rules" + USE_PARENT_ACL_HELP: "Check for parent access rules if no rules are defined" + PROTECT_PROTECTED_PAGE_MEDIA_LABEL: "Protect a login-protected page media" + PROTECT_PROTECTED_PAGE_MEDIA_HELP: "If enabled, media of a login protected page is login protected as well and cannot be seen unless logged in" + SECURITY_TAB: "Security" + MAX_RESETS_COUNT: "Max password resets count" + MAX_RESETS_COUNT_HELP: "Password reset flood protection setting (0 - not limited)" + MAX_RESETS_INTERVAL: "Max password resets interval" + MAX_RESETS_INTERVAL_HELP: "The time interval for the max password resets count value" + FORGOT_CANNOT_RESET_IT_IS_BLOCKED: "Cannot reset password for %s, password reset functionality temporarily blocked, please try later (maximum %s minutes)" + MAX_LOGINS_COUNT: "Max logins count" + MAX_LOGINS_COUNT_HELP: "Flood protection setting (0 - not limited)" + MAX_LOGINS_INTERVAL: "Max logins interval" + MAX_LOGINS_INTERVAL_HELP: "The time interval for the login count value" + TOO_MANY_LOGIN_ATTEMPTS: "Too many failed login attempted in the configured time (%s minutes)" + SECONDS: "seconds" + RESETS: "resets" + ATTEMPTS: "attempts" + ROUTES: "Routes" + ROUTE_FORGOT: "Forgot password route" + ROUTE_RESET: "Reset password route" + ROUTE_PROFILE: "User profile route" + ROUTE_ACTIVATE: "User activation route" + LOGGED_OUT: "You have been successfully logged out..." + PAGE_RESTRICTED: "Access is restricted, please login..." + DYNAMIC_VISIBILITY: "Dynamic Page Visibility" + DYNAMIC_VISIBILITY_HELP: "Allows dynamic processing of page visibility base on access rules if login.visibility_requires_access is set to true on a page" \ No newline at end of file diff --git a/user/plugins/login/languages/fr.yaml b/user/plugins/login/languages/fr.yaml new file mode 100644 index 0000000..028af85 --- /dev/null +++ b/user/plugins/login/languages/fr.yaml @@ -0,0 +1,89 @@ +PLUGIN_LOGIN: + USERNAME: "Nom d’utilisateur" + EMAIL: "E-mail" + USERNAME_EMAIL: "Nom d’utilisateur/E-mail" + PASSWORD: "Mot de passe" + ACCESS_DENIED: "Accès refusé..." + LOGIN_FAILED: "Échec de la connexion..." + LOGIN_SUCCESSFUL: "Vous vous êtes connecté avec succès." + BTN_LOGIN: "Connexion" + BTN_LOGOUT: "Déconnexion" + BTN_FORGOT: "Mot de passe oublié" + BTN_REGISTER: "S’enregister" + BTN_RESET: "Réinitialiser le mot de passe" + BTN_SEND_INSTRUCTIONS: "Envoyer les instructions de Réinitialisation" + RESET_LINK_EXPIRED: "Le lien de réinitialisation a expiré, veuillez réessayer" + RESET_PASSWORD_RESET: "Le mot de passe a été réinitialisé" + RESET_INVALID_LINK: "Le lien de réinitialisation utilisé n’est pas valide, veuillez réessayer" + FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "Les instructions pour la réinitialisation de votre mot de passe ont été envoyées par e-mail" + FORGOT_FAILED_TO_EMAIL: "Impossible d’envoyer les instructions, veuillez réessayer ultérieurement" + FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Impossible de réinitialiser le mot de passe pour %s, aucune adresse e-mail n’a été paramétrée" + FORGOT_USERNAME_DOES_NOT_EXIST: "L’utilisateur avec le nom d’utilisateur %s n’existe pas" + FORGOT_EMAIL_NOT_CONFIGURED: "Impossible de réinitialiser le mot de passe. Ce site n’est pas configuré pour envoyer des e-mails" + FORGOT_EMAIL_SUBJECT: "Demande de réinitialisation de mot de passe %s" + FORGOT_EMAIL_BODY: "

                                                                        Réinitialisation de mot de passe

                                                                        %1$s,

                                                                        Une demande a été faite sur %4$s pour la réinitialisation de votre mot de passe.


                                                                        Cliquez ici pour réinitialiser votre mot de passe

                                                                        Vous pouvez également copier l’URL suivante dans la barre d’adresse de votre navigateur :

                                                                        %2$s


                                                                        Cordialement,

                                                                        %3$s

                                                                        " + SESSION: "Session - “Se souvenir de moi”" + REMEMBER_ME: "Se souvenir de moi" + REMEMBER_ME_HELP: "Définit un cookie persistant sur votre navigateur autorisant l’authentification par connexion persistante entre les sessions." + REMEMBER_ME_STOLEN_COOKIE: "Quelqu’un d’autre a utilisé vos informations de connexion pour accéder à cette page ! Toutes les sessions ont été déconnectées. Veuillez vous connecter avec vos identifiants et vérifier vos données." + BUILTIN_CSS: "Utiliser les CSS intégrés" + BUILTIN_CSS_HELP: "Utiliser les CSS fournis dans le plugin d’administration" + ROUTE: "Chemin de connexion" + ROUTE_HELP: "Chemin personnalisé vers une page de connexion personnalisée proposée par votre thème" + ROUTE_REGISTER: "Chemin vers l’inscription" + ROUTE_REGISTER_HELP: "Chemin vers la page d’inscription. A définir si vous souhaitez utiliser la page d’inscription intégrée. Laisser vide si vous disposez de votre propre formulaire d’inscription." + USERNAME_NOT_VALID: "Le nom d’utilisateur doit comporter entre 3 et 16 caractères et peut être composé de lettres minuscules, de chiffres et de tirets de soulignement (underscores) et des traits d’union. Les lettres majuscules, les espaces et les caractères spéciaux ne sont pas autorisés." + USERNAME_NOT_AVAILABLE: "Le nom d’utilisateur %s existe déjà, veuillez en choisir un autre." + PASSWORD_NOT_VALID: "Le mot de passe doit contenir au moins un chiffre, une majuscule et une minuscule et être composé d’au moins 8 caractères" + PASSWORDS_DO_NOT_MATCH: "Les mots de passe sont différents. Réessayez de saisir le même mot de passe deux fois." + USER_NEEDS_EMAIL_FIELD: "L’utilisateur a besoin d’un champ pour e-mail" + EMAIL_SENDING_FAILURE: "Une erreur est survenue lors de l’envoi de l’e-mail." + ACTIVATION_EMAIL_SUBJECT: "Activer votre compte sur %s" + ACTIVATION_EMAIL_BODY: "Bonjour %s, cliquez pour activer votre compte sur %s" + WELCOME_EMAIL_SUBJECT: "Bienvenue sur %s" + WELCOME_EMAIL_BODY: "Bonjour %s, bienvenue sur %s!" + NOTIFICATION_EMAIL_SUBJECT: "Nouvel utilisateur sur %s" + EMAIL_FOOTER: "GetGrav.org" + NOTIFICATION_EMAIL_BODY: "Bonjour, un nouvel utilisateur s’est inscrit sur %s. Nom d’utilisateur : %s, e-mail : %s" + ACTIVATION_LINK_EXPIRED: "Le lien d’activation a expiré" + USER_ACTIVATED_SUCCESSFULLY: "Utilisateur activé avec succès" + INVALID_REQUEST: "Requête non valide" + USER_REGISTRATION: "Inscription de l’utilisateur" + USER_REGISTRATION_ENABLED_HELP: "Activer l’inscription des utilisateurs" + VALIDATE_PASSWORD1_AND_PASSWORD2: "Valider la double saisie du mot de passe" + VALIDATE_PASSWORD1_AND_PASSWORD2_HELP: "Comparer et valider deux champs pour les mots de passe `Mot de passe 1` et `Mot de passe 2`. Activez cette option si vous avez deux champs de mots de passe dans le formulaire d’inscription." + SET_USER_DISABLED: "Définir l’utilisateur comme désactivé" + SET_USER_DISABLED_HELP: "La meilleure pratique si vous utilisez l’option `Envoyer un e-mail d’activation`. Ajoute l’utilisateur à Grav, mais le défini comme étant désactivé." + LOGIN_AFTER_REGISTRATION: "Connecte l’utilisateur après son inscription" + LOGIN_AFTER_REGISTRATION_HELP: "Identifier immédiatement l’utilisateur après l’inscription. Si l’e-mail d’activation est demandé, l’utilisateur sera connecté immédiatement après l’activation du compte." + SEND_ACTIVATION_EMAIL: "Envoyer un e-mail d’activation" + SEND_ACTIVATION_EMAIL_HELP: "Envoyer un e-mail à l’utilisateur pour l’activation son compte. Lorsque vous utilisez cette fonction, activez l’option `Définir l’utilisateur comme désactivé` afin que l’utilisateur soit désactivé et qu’un e-mail lui soit envoyé pour activer son compte." + SEND_NOTIFICATION_EMAIL: "Envoyer un e-mail de notification" + SEND_NOTIFICATION_EMAIL_HELP: "Informe l’administrateur du site qu’un nouvel utilisateur s’est enregistré. L’e-mail sera envoyé à la personne renseignée dans le champ `À` dans la configuration du plugin e-mail." + SEND_WELCOME_EMAIL: "Envoyer un e-mail de bienvenue" + SEND_WELCOME_EMAIL_HELP: "Envoyer un e-mail à un nouvel utilisateur enregistré." + DEFAULT_VALUES: "Valeurs par défaut" + DEFAULT_VALUES_HELP: "Liste des noms et valeurs associés pour les champs. Ils seront ajoutés au profil utilisateur par défaut (fichier yaml), sans pouvoir être configurables par l’utilisateur. Séparez les différentes valeurs par une virgule, sans espaces entre les valeurs." + ADDITIONAL_PARAM_KEY: "Paramètre" + ADDITIONAL_PARAM_VALUE: "Valeur" + REGISTRATION_FIELDS: "Champs d’inscription" + REGISTRATION_FIELDS_HELP: "Ajouter les champs qui seront ajoutés au fichier yaml de l’utilisateur. Les champs non listés ne seront pas ajoutés même s’ils sont présent sur le formulaire d’inscription" + REGISTRATION_FIELD_KEY: "Nom du champ" + REDIRECT_AFTER_LOGIN: "Redirection après connexion" + REDIRECT_AFTER_LOGIN_HELP: "Chemin personnalisé de redirection après la connexion" + REDIRECT_AFTER_REGISTRATION: "Redirection après inscription" + REDIRECT_AFTER_REGISTRATION_HELP: "Chemin personnalisé de redirection après l’inscription" + OPTIONS: "Options" + EMAIL_VALIDATION_MESSAGE: "Doit-être une adresse e-mail valide" + PASSWORD_VALIDATION_MESSAGE: "Le mot de passe doit-être composé d’au moins un chiffre, une majuscule et une minuscule, et au moins 8 caractères" + TIMEOUT_HELP: "Définit le délai d’expiration de la session en secondes lorsque `Se souvenir de moi` est activé et coché par l’utilisateur. Minimum de 604800 ce qui correspond à 1 semaine." + GROUPS_HELP: "Liste des groupes auxquels le nouvel utilisateur enregistré fera partie, le cas échéant." + SITE_ACCESS_HELP: "Liste des niveaux d’accès au site attribués au nouvel utilisateur enregistré. Exemple : `login` -> `true` " + WELCOME: "Bienvenue" + REDIRECT_AFTER_ACTIVATION: "Redirection après l’activation de l’utilisateur" + REDIRECT_AFTER_ACTIVATION_HELP: "Utilisé s’il est nécessaire pour l’utilisateur d’activer le compte par e-mail. Une fois activé, ce chemin s’affichera" + REGISTRATION_DISABLED: "Inscription désactivée" + USE_PARENT_ACL_LABEL: "Appliquer les règles d’accès parentes" + USE_PARENT_ACL_HELP: "Utiliser les règles d’accès parentes si aucune règle n’a été définie" + PROTECT_PROTECTED_PAGE_MEDIA_LABEL: "Protéger le média d'une page par une protection par connexion" + PROTECT_PROTECTED_PAGE_MEDIA_HELP: "Si activé, les médias d'une page protégée par connexion sera également protégé par un système de connexion et ne pourra pas être visible à moins d'être connecté." \ No newline at end of file diff --git a/user/plugins/login/languages/hr.yaml b/user/plugins/login/languages/hr.yaml new file mode 100644 index 0000000..3090885 --- /dev/null +++ b/user/plugins/login/languages/hr.yaml @@ -0,0 +1,41 @@ +PLUGIN_LOGIN: + ACCESS_DENIED: "Pristup odbijen..." + LOGIN_FAILED: "Prijava nije uspjela..." + BTN_LOGIN: "Prijava" + BTN_LOGOUT: "Odjava" + BTN_FORGOT: "Zaboravih" + BTN_REGISTER: "Registriraj" + REMEMBER_ME: "Zapamti me" + BUILTIN_CSS: "Koristi ugraÄ‘eni CSS" + BUILTIN_CSS_HELP: "UkljuÄi CSS koji dolazi sa admin pluginom" + ROUTE: "Putanja prijave" + ROUTE_REGISTER: "Putanja registracije" + USERNAME_NOT_VALID: "KorisniÄko ime bi trebalo biti izmeÄ‘u 3 i 16 znakova, ukljuÄujući mala slova, brojeve, _, i crtice. VELIKA SLOVA, razmaci, i posebni znakovi nisu dopuÅ¡teni" + USERNAME_NOT_AVAILABLE: "KorisniÄko ime %s već postoji, odaberi neko drugo" + PASSWORD_NOT_VALID: "Lozinka mora sadržavati bar jedan broj i jedno veliko i malo slovo, i bar joÅ¡ 8 ili viÅ¡e znakova" + PASSWORDS_DO_NOT_MATCH: "Lozinke se ne slažu. Poonovo provjeri da li si unio istu lozinku dva puta" + USER_NEEDS_EMAIL_FIELD: "Korisnik treba email polje" + EMAIL_SENDING_FAILURE: "DoÅ¡lo je do greÅ¡ke pri slanju emaila" + ACTIVATION_LINK_EXPIRED: "Aktivacijski link je istekao" + USER_ACTIVATED_SUCCESSFULLY: "Korisnik je uspjeÅ¡no aktiviran" + INVALID_REQUEST: "Nevaljani zahtjev" + USER_REGISTRATION: "Registracija korisnika" + USER_REGISTRATION_ENABLED_HELP: "Omogući registraciju korisnika" + VALIDATE_PASSWORD1_AND_PASSWORD2: "Validiraj duplo unesenu lozinku" + VALIDATE_PASSWORD1_AND_PASSWORD2_HELP: "Validiraj i usporedi dva razliÄÄita polja za lozinke, imenovana `lozinka1` i `lozinka2`. Omogući ovo ako imaÅ¡ dva polja za lozinke u formularu registracije" + LOGIN_AFTER_REGISTRATION: "Ulogiraj korisnika nakon reegistracije" + LOGIN_AFTER_REGISTRATION_HELP: "Ulogiraj korisnika odmah nakon registracije. Ako je potrebna email aktivacija, korisnik će biti ulogiran odmah nakon aktiviranja raÄuna" + SEND_ACTIVATION_EMAIL: "PoÅ¡alji aktivacijski email" + SEND_ACTIVATION_EMAIL_HELP: "Å alje email korisniku da aktivira svoja raÄun." + SEND_NOTIFICATION_EMAIL: "PoÅ¡alji email obavijest" + SEND_NOTIFICATION_EMAIL_HELP: "ObavjeÅ¡tava administratora da se novi korisnik registrirao. Email će biti poslan na `To` polje u Email Plugin konfiguraciji" + SEND_WELCOME_EMAIL: "PoÅ¡alji email dobrodoÅ¡lice" + SEND_WELCOME_EMAIL_HELP: "Å alje email novoregistriranom korisniku" + DEFAULT_VALUES: "OdreÄ‘ene vrijednosti" + DEFAULT_VALUES_HELP: "List of field names and values associated, that will be added to the user profile (yaml file) by default, without being configurable by the user. Separate multiple values with a comma, with no spaces between the values" + ADDITIONAL_PARAM_KEY: "Parametar" + ADDITIONAL_PARAM_VALUE: "Vrijednost" + REGISTRATION_FIELDS: "Registracijska polja" + REGISTRATION_FIELDS_HELP: "Add the fields that will be added to the user yaml file. Fields not listed here will not be added even if present in the registration form" + REGISTRATION_FIELD_KEY: "Ime polja" + OPTIONS: "Opcije" \ No newline at end of file diff --git a/user/plugins/login/languages/hu.yaml b/user/plugins/login/languages/hu.yaml new file mode 100644 index 0000000..ac9c7f8 --- /dev/null +++ b/user/plugins/login/languages/hu.yaml @@ -0,0 +1,21 @@ +PLUGIN_LOGIN: + ACCESS_DENIED: "Hozzáférés megtagadva..." + LOGIN_FAILED: "Sikertelen belépés..." + LOGIN_SUCCESSFUL: "Sikeresen beléptél." + BTN_LOGIN: "Belépés" + BTN_LOGOUT: "Kilépés" + BTN_FORGOT: "Elfelejtettem" + BTN_REGISTER: "Regisztráció" + REMEMBER_ME: "Jegyezz Meg" + REMEMBER_ME_HELP: "Elhelyezünk egy hosszú lejáratú sütit a böngészÅ‘dben, hogy belépve maradhass két munkamenet között." + REMEMBER_ME_STOLEN_COOKIE: "Valaki a belépési adataid felhasználásával látogatta meg ezt az oldalt! Minden munkamenetet kiléptettünk. Kérlek, jelentkezz be ismét és ellenÅ‘rizd az adataidat." + BUILTIN_CSS: "Beépített CSS használata" + BUILTIN_CSS_HELP: "Az admin plugin által biztosított CSS beillesztése" + ROUTE: "Belépés útvonala" + ROUTE_HELP: "Egyedi útvonal egy egyedi belépÅ‘ oldalhoz, melyet az aktuális téma biztosít" + ROUTE_REGISTER: "Regisztráció útvonala" + ROUTE_REGISTER_HELP: "A regisztrációs oldal elérési útja. Akkor állítsd be, ha a beépített regisztrációs oldalt szeretnéd használni" + USERNAME_NOT_VALID: "A felhasználónév 3-16 karakter hosszú legyen, tartalmazhat kisbetűket, számokat, aláhúzást és kötÅ‘jelet. Nagybetűk, szóköz és speciális karakterek használata nem megengedett" + USERNAME_NOT_AVAILABLE: "%s nevű felhasználó már létezik, kérlek válassz más felhasználónevet" + PASSWORD_NOT_VALID: "A jelszónak tartalmaznia kell legalább egy számot, egy kisbetűt és egy nagybetűt, valamint legalább 8 karakter hosszú kell, hogy legyen" + PASSWORDS_DO_NOT_MATCH: "A két jelszó nem egyezik meg. GyÅ‘zödj meg róla, hogy azonos legyen a kettÅ‘" \ No newline at end of file diff --git a/user/plugins/login/languages/ro.yaml b/user/plugins/login/languages/ro.yaml new file mode 100644 index 0000000..307e590 --- /dev/null +++ b/user/plugins/login/languages/ro.yaml @@ -0,0 +1,86 @@ +PLUGIN_LOGIN: + USERNAME: "Nume utilizator" + PASSWORD: "Parolă" + ACCESS_DENIED: "Acces refuzat..." + LOGIN_FAILED: "Logare eÈ™uată..." + LOGIN_SUCCESSFUL: "AÈ›i fost logat cu succes." + BTN_LOGIN: "Logare" + BTN_LOGOUT: "IeÈ™ire din cont " + BTN_FORGOT: "Am uitat" + BTN_REGISTER: "ÃŽnregistrare" + BTN_RESET: "Resetează parola" + BTN_SEND_INSTRUCTIONS: "Trimite instrucÈ›iuni pentru resetare" + RESET_LINK_EXPIRED: "Link-ul pentru resetarea parolei a expirat, vă rugăm încercaÈ›i din nou " + RESET_PASSWORD_RESET: "Parola a fost modificată" + RESET_INVALID_LINK: "Link-ul pentru resetare este invalid, Invalid reset link used, vă rugăm încercaÈ›i din nou " + FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "InstrucÈ›iunile pentru resetarea parolei au fst trimise pe email" + FORGOT_FAILED_TO_EMAIL: "InstrucÈ›iunile nu au putut fi trimise pe email, vă rugăm încercaÈ›i mai târziu " + FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Parola nu poate fi resetată pentru %s, nu este setată nici o adresă de email" + FORGOT_USERNAME_DOES_NOT_EXIST: "Utilizatorul cu numele %s nu există" + FORGOT_EMAIL_NOT_CONFIGURED: "Parola nu poate fi resetată. Acest site nu este configurat pentru a trimite email-uri." + FORGOT_EMAIL_SUBJECT: "%s Cerere de resetare a parolei" + FORGOT_EMAIL_BODY: "

                                                                        Resetare parolă

                                                                        Dragă %1$s,

                                                                        O cerere de resetare a parolei a fost făcută în data de %4$s.


                                                                        Apasă aici pentru a reseta parola

                                                                        Alternativ, copiază URL de mai jos în bara de adrese a browser-ului favorit:

                                                                        %2$s


                                                                        Cu respect,

                                                                        %3$s

                                                                        " + SESSION: "“Èšine-mă minte”-Sesiune" + REMEMBER_ME: "Èšine-mă minte" + REMEMBER_ME_HELP: "Setează o cookie în browserul Dvs. ce permite menÈ›inerea datelor de logare între sesiuni." + REMEMBER_ME_STOLEN_COOKIE: "Altcineva a folosit darele Dvs de logare pentru a accesa această pagină! Toate sesiunile au fost deconectate. Vă rugăm să vă logaÈ›i cu datele Dvs. È™i să verificaÈ›i toate detaliile. " + BUILTIN_CSS: "FoloseÈ™te CSS-ul din modul" + BUILTIN_CSS_HELP: "Include CSS-ul furnizat de către modulul Admin" + ROUTE: "Calea pentru logare" + ROUTE_HELP: "O rută personalizată către pagina de logare pe care o furnizează tema activă " + ROUTE_REGISTER: "Calea pentru înregistrare " + ROUTE_REGISTER_HELP: "Ruta către pagina de înregistrare. SetaÈ›i această rută dacă doriÈ›i folosirea paginei implicite pentru înregistrare. LăsaÈ›i gol dacă folosiÈ›i o pagină personalizată pentru înregistrare." + USERNAME_NOT_VALID: "Numele de utilizator trebuie să fie între 3-16 caractere, incluzând litere mici, numere, linii de subliniere È™i cratime. Literele de tipar, spaÈ›iile È™i caracterele speciale nu sunt permise. " + USERNAME_NOT_AVAILABLE: "Utilizatorul %s există deja, vă rugăm alegeÈ›i un alt nume de utilizator " + PASSWORD_NOT_VALID: " Parola trebuie să conÈ›ină cel puÈ›in 1 număr È™i o literă de tipar È™i o literă mică; È™i să aibă minim 8 caractere" + PASSWORDS_DO_NOT_MATCH: " Parolele nu sunt identice. Vă rugăm verificaÈ›i că aÈ™i scris aceeiaÈ™i parolă de două ori." + USER_NEEDS_EMAIL_FIELD: "Utilizatorul trebuie să aibă adresa de email completată" + EMAIL_SENDING_FAILURE: "A apărut o eroare la trimirea email-ului" + ACTIVATION_EMAIL_SUBJECT: "ActivaÈ›i-vă contrul pentru %s" + ACTIVATION_EMAIL_BODY: "Salut %s, apasă aici pentru a-È›i activa contul de pe %s" + WELCOME_EMAIL_SUBJECT: "Bine aÈ›i venit pe %s" + WELCOME_EMAIL_BODY: "Salut %s, bine ai venit la %s!" + NOTIFICATION_EMAIL_SUBJECT: "Utilizator nou pe %s" + NOTIFICATION_EMAIL_BODY: "Salut, un nou utilizator s-a înregistrat pe %s. Nume de utilizator: %s, adresă de email: %s" + ACTIVATION_LINK_EXPIRED: "Link-ul pentru activare este expirat" + USER_ACTIVATED_SUCCESSFULLY: "Utilizator activat cu succes" + INVALID_REQUEST: "Cerere invalidă " + USER_REGISTRATION: "ÃŽnregistrare utilizator " + USER_REGISTRATION_ENABLED_HELP: "ActivaÈ›i înregistrarea utilizatorilor" + VALIDATE_PASSWORD1_AND_PASSWORD2: "ValidaÈ›i parola introdusă de două ori" + VALIDATE_PASSWORD1_AND_PASSWORD2_HELP: "ValidaÈ›i È™i comparaÈ›i cele două câmpuri pentru parolă cu numele `password1` È™i `password2`. ActivaÈ›i această opÈ›iune dacă există două câmpuri pentru parolă în formularul de înregistrare." + SET_USER_DISABLED: "SetaÈ›i utilizatorul dezactivat" + SET_USER_DISABLED_HELP: "Cel mai bine să fie folosit împreună cu email-ul pentru activare. Adaugă utilizatorul în Grav dar îl setează ca dezactivat" + LOGIN_AFTER_REGISTRATION: "Loghează utilizatorul după înregistrare" + LOGIN_AFTER_REGISTRATION_HELP: "Imediat după înregistrare loghează utilizatorul în cont. Dacă este necesară activarea prin email, utilizatorul va fi logat imediat după activarea contului." + SEND_ACTIVATION_EMAIL: "Trimite email-ul pentru activare" + SEND_ACTIVATION_EMAIL_HELP: "Trimite un email către utilizatorul nou înregistrat pentru activarea contului. ActivaÈ›i opÈ›iunea `SetaÈ›i utilizatorul dezactivat` când folosiÈ›i această opÈ›iune pentru a seta utilizatorul dezactivat È™i pentru a trimite un email automat pentru activarea contului. " + SEND_NOTIFICATION_EMAIL: "Trimite email cu notificare" + SEND_NOTIFICATION_EMAIL_HELP: "Notifică adminstratorul site-ului când un utilizator nou s-a înregistrat. Email-ul va di trimis către adresa `Către` din configurarea modului de Email" + SEND_WELCOME_EMAIL: "Trimite email de bun venit" + SEND_WELCOME_EMAIL_HELP: "Trimite un email către utilizatorul nou înregistrat." + DEFAULT_VALUES: " Valori implicite" + DEFAULT_VALUES_HELP: "Listă de câmpuri È™i valorile asociate acestora ce vor fi adăugate profilului utilizatorului (în fiÈ™ierul yaml) în mod implicit fără a putea fi configurabile de către utilizator. SeparaÈ›i valorile multiple cu virgulă, fără spaÈ›ii între valori." + ADDITIONAL_PARAM_KEY: "Parametru" + ADDITIONAL_PARAM_VALUE: "Valoare" + REGISTRATION_FIELDS: "Câmpuri pentru înregistrare" + REGISTRATION_FIELDS_HELP: "Adaugă câmpurile ce vor fi adăugate fiÈ™ierului yaml al utilizatorului. Câmpurile care nu sunt listate aici nu vor fi adăugate chiar dacă sunt prezente în formularul de înregistrare." + REGISTRATION_FIELD_KEY: " Numele câmpului" + REDIRECT_AFTER_LOGIN: "RedirecÈ›ionează după logare" + REDIRECT_AFTER_LOGIN_HELP: "Ruta personalizată pentru redirecÈ›ionare după logare" + REDIRECT_AFTER_REGISTRATION: "RedirecÈ›ionează după înregistrare" + REDIRECT_AFTER_REGISTRATION_HELP: "Ruta personalizată pentru redirecÈ›ionare după înregistrare" + OPTIONS: "OpÈ›iuni" + EMAIL_VALIDATION_MESSAGE: "Trebuie să fie o adresă de email validă" + PASSWORD_VALIDATION_MESSAGE: "Parola trebuie să conÈ›ină cel puÈ›in un număr È™i o literă de tipar È™i să aibă cel puÈ›in 8 caractere" + TIMEOUT_HELP: "Setează pauza pentru sesiune când este activat 'Èšine-mă minte' de către utilizator. Minimul este de 604800 care înseamnă 1 săptămână." + GROUPS_HELP: "Lista grupurilor din care utilizatorii nou înregistraÈ›i vor face parte, dacă este necesar" + SITE_ACCESS_HELP: "Lista cu niveluri de acces la care utilizatorul nou înregistrat are acces. De eg: `login` -> `true` " + WELCOME: "Bine aÈ›i venit" + REDIRECT_AFTER_ACTIVATION: "RedirecÈ›ionează după activarea utilizatorului" + REDIRECT_AFTER_ACTIVATION_HELP: "Folosită dacă utilizatorul trebuie să-È™i activeze contul prin email. Odată activat contul va fi folosită această rută." + REGISTRATION_DISABLED: " Dezactivează înregistrarea " + USE_PARENT_ACL_LABEL: "FoloseÈ™te regulile de acces ale părintelui" + USE_PARENT_ACL_HELP: "Verifică regulie de acces ale părintelui dacă nu sunt specificate alte reguli de acces" + PROTECT_PROTECTED_PAGE_MEDIA_LABEL: " Protejează media ce aparÈ›ine paginii de logare " + PROTECT_PROTECTED_PAGE_MEDIA_HELP: "Dacă este activată, media ce aparÈ›ine unei pagini de logare este protejată È™i nu poate fi accesată decât după logare." \ No newline at end of file diff --git a/user/plugins/login/languages/ru.yaml b/user/plugins/login/languages/ru.yaml new file mode 100644 index 0000000..06781c5 --- /dev/null +++ b/user/plugins/login/languages/ru.yaml @@ -0,0 +1,108 @@ +PLUGIN_LOGIN: + USERNAME: "Логин" + EMAIL: "Email" + USERNAME_EMAIL: "Логин/Email" + PASSWORD: "Пароль" + ACCESS_DENIED: "ДоÑтуп закрыт..." + LOGIN_FAILED: "Ошибка входа..." + LOGIN_SUCCESSFUL: "Ð’Ñ‹ уÑпешно вошли в ÑиÑтему." + BTN_LOGIN: "Войти" + BTN_LOGOUT: "Выйти" + BTN_FORGOT: "Забыл" + BTN_REGISTER: "РегиÑтрациÑ" + BTN_RESET: "Ð¡Ð±Ñ€Ð¾Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ" + BTN_SEND_INSTRUCTIONS: "Отправить инÑтрукции по ÑброÑу" + RESET_LINK_EXPIRED: "Ð’Ñ€ÐµÐ¼Ñ ÑÑылки Ð´Ð»Ñ ÑброÑа иÑтекло, повторите попытку" + RESET_PASSWORD_RESET: "Пароль был Ñброшен" + RESET_INVALID_LINK: "ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ ÑÑылка ÑброÑа, повторите попытку" + FORGOT_INSTRUCTIONS_SENT_VIA_EMAIL: "ИнÑтрукции по ÑброÑу Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð±Ñ‹Ð»Ð¸ отправлены по Ñлектронной почте" + FORGOT_FAILED_TO_EMAIL: "Ðе удалоÑÑŒ отправить инÑтрукции по Ñлектронной почте, повторите попытку позже" + FORGOT_CANNOT_RESET_EMAIL_NO_EMAIL: "Ðе удаетÑÑ ÑброÑить пароль Ð´Ð»Ñ %s, адреÑÑ Ñлектронной почты не уÑтановлен" + FORGOT_USERNAME_DOES_NOT_EXIST: "Пользователь Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ %s не ÑущеÑтвует" + FORGOT_EMAIL_NOT_CONFIGURED: "Ðевозможно ÑброÑить пароль. Этот Ñайт не наÑтроен Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ пиÑем" + FORGOT_EMAIL_SUBJECT: "%s Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° ÑÐ±Ñ€Ð¾Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ" + FORGOT_EMAIL_BODY: "

                                                                        ВоÑÑтановление паролÑ

                                                                        Уважаемый %1$s,

                                                                        Был Ñделан Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð´Ð»Ñ ÑброÑа Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¾Ñ‚ %4$s.


                                                                        Ðажмите, чтобы ÑброÑить пароль

                                                                        Или Ñкопируйте Ñледующий URL-Ð°Ð´Ñ€ÐµÑ Ð² адреÑную Ñтроку браузера:

                                                                        %2$s


                                                                        С уважением,

                                                                        %3$s

                                                                        " + SESSION: "“Запомнить менє-СеÑÑиÑ" + REMEMBER_ME: "Запомнить менÑ" + REMEMBER_ME_HELP: "УÑтанавливает поÑтоÑнный файл cookie в вашем браузере, чтобы разрешить поÑтоÑнную аутентификацию входа между ÑеанÑами." + REMEMBER_ME_STOLEN_COOKIE: "Кто-то еще иÑпользовал вашу региÑтрационную информацию Ð´Ð»Ñ Ð´Ð¾Ñтупа к Ñтой Ñтранице! Ð’Ñе ÑеанÑÑ‹ были отключены. Войдите в Ñвою учетную запиÑÑŒ и проверьте Ñвои данные." + BUILTIN_CSS: "ИÑпользовать вÑтроенный CSS" + BUILTIN_CSS_HELP: "ИÑпользовать CSS, предоÑтавленный плагином админиÑтратора." + ROUTE: "Путь Ñтраницы входа" + ROUTE_HELP: "Путь к пользовательÑкой Ñтранице входа, которую предоÑтавлÑет ваша тема" + ROUTE_REGISTER: "Путь региÑтрации" + ROUTE_REGISTER_HELP: "Путь к пользовательÑкой Ñтранице региÑтрации. Заполните, еÑли вы хотите иÑпользовать вÑтроенную Ñтраницу региÑтрации. ОÑтавьте его пуÑтым, еÑли у Ð²Ð°Ñ ÐµÑть ÑобÑÑ‚Ð²ÐµÐ½Ð½Ð°Ñ Ñ€ÐµÐ³Ð¸ÑÑ‚Ñ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð°Ñ Ñ„Ð¾Ñ€Ð¼Ð°" + USERNAME_NOT_VALID: "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð´Ð¾Ð»Ð¶Ð½Ð¾ быть от 3 до 16 Ñимволов, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ñтрочные буквы, цифры, Ñимволы Ð¿Ð¾Ð´Ñ‡ÐµÑ€ÐºÐ¸Ð²Ð°Ð½Ð¸Ñ Ð¸ дефиÑÑ‹. ПропиÑные буквы, пробелы и Ñпециальные Ñимволы не допуÑкаютÑÑ" + USERNAME_NOT_AVAILABLE: "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %s уже ÑущеÑтвует, выберите другое Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ" + PASSWORD_NOT_VALID: "Пароль должен Ñодержать как минимум одно чиÑло, одну пропиÑную и Ñтрочную букву, и быть не менее 8 Ñимволов" + PASSWORDS_DO_NOT_MATCH: "Пароли не Ñовпадают. Дважды проверьте, что вы дважды ввели тот же пароль" + USER_NEEDS_EMAIL_FIELD: "Пользователю требуетÑÑ Ð¿Ð¾Ð»Ðµ Ñлектронной почты" + EMAIL_SENDING_FAILURE: "Произошла ошибка при отправке пиÑьма" + ACTIVATION_EMAIL_SUBJECT: "Ðктивируйте Ñвою учетную запиÑÑŒ %s" + ACTIVATION_EMAIL_BODY: "Привет %s, перейдите Ñюда Ð´Ð»Ñ Ð°ÐºÑ‚Ð¸Ð²Ð°Ñ†Ð¸Ð¸ вашей учетной запиÑи %s" + WELCOME_EMAIL_SUBJECT: "Добро пожаловать в %s" + WELCOME_EMAIL_BODY: "Привет %s, добро пожаловать в %s!" + NOTIFICATION_EMAIL_SUBJECT: "Ðовый пользователь %s" + NOTIFICATION_EMAIL_BODY: "Привет, новый пользователь, зарегиÑтрированный на %s. Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ: %s, email: %s" + EMAIL_FOOTER: "GetGrav.org" + ACTIVATION_LINK_EXPIRED: "Ð’Ñ€ÐµÐ¼Ñ ÑÑылки Ð´Ð»Ñ Ð°ÐºÑ‚Ð¸Ð²Ð°Ñ†Ð¸Ð¸ иÑтекло" + USER_ACTIVATED_SUCCESSFULLY: "Пользователь уÑпешно активирован" + INVALID_REQUEST: "Ðеверный запроÑ" + USER_REGISTRATION: "РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ" + USER_REGISTRATION_ENABLED_HELP: "Включить региÑтрацию пользователÑ" + VALIDATE_PASSWORD1_AND_PASSWORD2: "Ð”Ð²Ð¾Ð¹Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ° введенного паролÑ" + VALIDATE_PASSWORD1_AND_PASSWORD2_HELP: "Подтвердить и Ñравнить два разных Ð¿Ð¾Ð»Ñ Ð´Ð»Ñ Ð¿Ð°Ñ€Ð¾Ð»ÐµÐ¹ Ñ Ð¸Ð¼ÐµÐ½Ð°Ð¼Ð¸ `password1` и` password2`. Включите Ñто, еÑли у Ð²Ð°Ñ ÐµÑть два Ð¿Ð¾Ð»Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð² региÑтрационной форме" + SET_USER_DISABLED: "УÑтановить Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ ÐºÐ°Ðº отключенный" + SET_USER_DISABLED_HELP: "Лучше вÑего иÑпользовать Ñлектронную почту «Отправить Ñлектронную почту активации». ДобавлÑет Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² Grav, но уÑтанавливает его как отключенный" + LOGIN_AFTER_REGISTRATION: "Воход в ÑиÑтему поÑле региÑтрации" + LOGIN_AFTER_REGISTRATION_HELP: "ÐвтоматичеÑкий воход в ÑиÑтему поÑле региÑтрации. ЕÑли требуетÑÑ Ð°ÐºÑ‚Ð¸Ð²Ð°Ñ†Ð¸Ñ Ñлектронной почты, пользователь будет входить в ÑиÑтему Ñразу поÑле активации учетной запиÑи" + SEND_ACTIVATION_EMAIL: "Отправить пиÑьмо активации" + SEND_ACTIVATION_EMAIL_HELP: "ОтправлÑет Ñлектронное пиÑьмо пользователю Ð´Ð»Ñ Ð°ÐºÑ‚Ð¸Ð²Ð°Ñ†Ð¸Ð¸ Ñвоей учетной запиÑи. Включите параметр «УÑтановить Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ ÐºÐ°Ðº отключенный» при иÑпользовании Ñтой функции, чтобы пользователь был отключен, и Ð´Ð»Ñ Ð°ÐºÑ‚Ð¸Ð²Ð°Ñ†Ð¸Ð¸ учетной запиÑи будет отправлено Ñлектронное пиÑьмо" + SEND_NOTIFICATION_EMAIL: "Отправить уведомление по Ñлектронной почте" + SEND_NOTIFICATION_EMAIL_HELP: "Сообщает админиÑтратору Ñайта о региÑтрации нового пользователÑ. Ð­Ð»ÐµÐºÑ‚Ñ€Ð¾Ð½Ð½Ð°Ñ Ð¿Ð¾Ñ‡Ñ‚Ð° будет отправлена в поле «Кому» в конфигурации плагина Ñлектронной почты" + SEND_WELCOME_EMAIL: "Отправить приветÑтвенное пиÑьмо" + SEND_WELCOME_EMAIL_HELP: "ОтправлÑет Ñлектронное пиÑьмо вновь зарегиÑтрированному пользователю" + DEFAULT_VALUES: "Ð—Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию" + DEFAULT_VALUES_HELP: "СпиÑок названий полей и ÑвÑзанных значений, которые будут добавлены в профиль Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ (файл yaml) по умолчанию, без наÑтройки пользователем. Разделите неÑколько значений запÑтой, без пробелов между значениÑми" + ADDITIONAL_PARAM_KEY: "Параметр" + ADDITIONAL_PARAM_VALUE: "Значение" + REGISTRATION_FIELDS: "РегиÑтрационные полÑ" + REGISTRATION_FIELDS_HELP: "Добавьте полÑ, которые будут добавлены в файл yaml пользователÑ. ПолÑ, не перечиÑленные здеÑÑŒ, не будут добавлены, даже еÑли они приÑутÑтвуют в региÑтрационной форме" + REGISTRATION_FIELD_KEY: "Ð˜Ð¼Ñ Ð¿Ð¾Ð»Ñ" + REDIRECT_AFTER_LOGIN: "Перенаправление поÑле входа в ÑиÑтему" + REDIRECT_AFTER_LOGIN_HELP: "ПользовательÑкий маршрут Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñле входа в ÑиÑтему" + REDIRECT_AFTER_REGISTRATION: "Перенаправление поÑле региÑтрации" + REDIRECT_AFTER_REGISTRATION_HELP: "ПользовательÑкий маршрут Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñле региÑтрации" + OPTIONS: "Опции" + EMAIL_VALIDATION_MESSAGE: "ÐÐ´Ñ€ÐµÑ Ñл. почты должен быть дейÑтвительным" + PASSWORD_VALIDATION_MESSAGE: "Пароль должен Ñодержать как минимум одно чиÑло, одну пропиÑную и Ñтрочную букву и быть не менее 8 Ñимволов" + TIMEOUT_HELP: "УÑтанавливает тайм-аут ÑеанÑа в Ñекундах, когда Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Â«Ð—Ð°Ð¿Ð¾Ð¼Ð½Ð¸Ñ‚ÑŒ менÑ» включена и уÑтановлена пользователем. Минимум 604800, что означает 1 неделю" + GROUPS_HELP: "СпиÑок групп, в которые войдет новый зарегиÑтрированный пользователь" + SITE_ACCESS_HELP: "СпиÑок уровней доÑтупа к Ñайту, зарегиÑтрированных пользователей. Пример: `login` ->` true`" + WELCOME: "Добро пожаловать" + REDIRECT_AFTER_ACTIVATION: "Перенаправление поÑле активации пользователÑ" + REDIRECT_AFTER_ACTIVATION_HELP: "ИÑпользуетÑÑ, еÑли пользователю требуетÑÑ Ð°ÐºÑ‚Ð¸Ð²Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ учетную запиÑÑŒ по Ñлектронной почте. ПоÑле активации Ñтот маршрут будет показан" + REGISTRATION_DISABLED: "РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð¾Ñ‚ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°" + USE_PARENT_ACL_LABEL: "ИÑпользовать родительÑкие правила доÑтупа" + USE_PARENT_ACL_HELP: "Проверьте правила доÑтупа к родителÑм, еÑли правила не определены" + PROTECT_PROTECTED_PAGE_MEDIA_LABEL: "Защита защищенных Ñтраниц." + PROTECT_PROTECTED_PAGE_MEDIA_HELP: "ЕÑли Ñтот параметр включен, то доÑтуп к защищенной Ñтранице Ð´Ð»Ñ Ð²Ñ…Ð¾Ð´Ð° в ÑиÑтему также защищен паролем, и его Ð½ÐµÐ»ÑŒÐ·Ñ ÑƒÐ²Ð¸Ð´ÐµÑ‚ÑŒ, еÑли он не зарегиÑтрирован" + SECURITY_TAB: "БезопаÑноÑть" + MAX_RESETS_COUNT: "МакÑимальное количеÑтво ÑброÑа паролÑ" + MAX_RESETS_COUNT_HELP: "ÐаÑтройка защиты Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð¾Ñ‚ флуда (0 - не ограничено)" + MAX_RESETS_INTERVAL: "МакÑимальный интервал ÑброÑа паролÑ" + MAX_RESETS_INTERVAL_HELP: "Интервал времени Ð´Ð»Ñ Ð¼Ð°ÐºÑимального количеÑтва ÑброÑов паролÑ" + FORGOT_CANNOT_RESET_IT_IS_BLOCKED: "Ðевозможно ÑброÑить пароль Ð´Ð»Ñ %s, Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ ÑброÑа Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾ отключена, попробуйте позже (макÑимум %s минут)" + MAX_LOGINS_COUNT: "МакÑимальное количеÑтво входов" + MAX_LOGINS_COUNT_HELP: "ÐаÑтройка защиты от флуда (0 - не ограничено)" + MAX_LOGINS_INTERVAL: "МакÑимальный интервал входа" + MAX_LOGINS_INTERVAL_HELP: "Временной интервал Ð´Ð»Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñчетчика входа" + TOO_MANY_LOGIN_ATTEMPTS: "Слишком много неудачных попыток входа в наÑтроенное Ð²Ñ€ÐµÐ¼Ñ (%s минут)" + SECONDS: "Ñекунд" + RESETS: "ÑброÑов" + ATTEMPTS: "попыток" + ROUTES: "Маршруты" + ROUTE_FORGOT: "Забыли пароль" + ROUTE_RESET: "СброÑа паролÑ" + ROUTE_PROFILE: "ÐŸÑ€Ð¾Ñ„Ð¸Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ" + ROUTE_ACTIVATE: "Ðктивации пользователÑ" \ No newline at end of file diff --git a/user/plugins/login/login.php b/user/plugins/login/login.php new file mode 100644 index 0000000..b7040e6 --- /dev/null +++ b/user/plugins/login/login.php @@ -0,0 +1,936 @@ + [['initializeSession', 10000], ['initializeLogin', 1000]], + 'onTask.login.login' => ['loginController', 0], + 'onTask.login.forgot' => ['loginController', 0], + 'onTask.login.logout' => ['loginController', 0], + 'onTask.login.reset' => ['loginController', 0], + 'onPagesInitialized' => [['storeReferrerPage', 0], ['pageVisibility', 0]], + 'onPageInitialized' => ['authorizePage', 0], + 'onPageFallBackUrl' => ['authorizeFallBackUrl', 0], + 'onTwigTemplatePaths' => ['onTwigTemplatePaths', 0], + 'onTwigSiteVariables' => ['onTwigSiteVariables', -100000], + 'onFormProcessed' => ['onFormProcessed', 0], + 'onUserLoginAuthenticate' => [['userLoginAuthenticateByRegistration', 10002], ['userLoginAuthenticateByRememberMe', 10001], ['userLoginAuthenticateByEmail', 10000], ['userLoginAuthenticate', 0]], + 'onUserLoginAuthorize' => ['userLoginAuthorize', 0], + 'onUserLoginFailure' => ['userLoginFailure', 0], + 'onUserLogin' => ['userLogin', 0], + 'onUserLogout' => ['userLogout', 0], + ]; + } + + /** + * [onPluginsInitialized] Initialize login plugin if path matches. + * @throws \RuntimeException + */ + public function initializeSession() + { + // Check to ensure sessions are enabled. + if (!$this->config->get('system.session.enabled')) { + throw new \RuntimeException('The Login plugin requires "system.session" to be enabled'); + } + + // Autoload classes + $autoload = __DIR__ . '/vendor/autoload.php'; + if (!is_file($autoload)) { + throw new \RuntimeException('Login Plugin failed to load. Composer dependencies not met.'); + } + require_once $autoload; + + // Define login service. + $this->grav['login'] = function (Grav $c) { + return new Login($c); + }; + + // Define current user service. + $this->grav['user'] = function (Grav $c) { + $session = $c['session']; + + if (empty($session->user)) { + $session->user = $c['login']->login(['username' => ''], ['remember_me' => true, 'remember_me_login' => true]); + } + + return $session->user; + }; + } + + /** + * [onPluginsInitialized] Initialize login plugin if path matches. + * @throws \RuntimeException + */ + public function initializeLogin() + { + $this->login = $this->grav['login']; + + /** @var Uri $uri */ + $uri = $this->grav['uri']; + + // Admin has its own login; make sure we're not in admin. + if (!isset($this->grav['admin'])) { + $this->route = $this->config->get('plugins.login.route'); + } + + $path = $uri->path(); + $this->redirect_to_login = $this->config->get('plugins.login.redirect_to_login'); + + // Register route to login page if it has been set. + if ($this->route && $this->route === $path) { + $this->enable([ + 'onPagesInitialized' => ['addLoginPage', 0], + ]); + return; + } + + if ($path === $this->config->get('plugins.login.route_forgot')) { + $this->enable([ + 'onPagesInitialized' => ['addForgotPage', 0], + ]); + return; + } + + if ($path === $this->config->get('plugins.login.route_reset')) { + $this->enable([ + 'onPagesInitialized' => ['addResetPage', 0], + ]); + return; + } + + if ($path === $this->config->get('plugins.login.route_register')) { + if ($this->config->get('plugins.login.user_registration.enabled')) { + $this->enable([ + 'onPagesInitialized' => ['addRegisterPage', 0], + ]); + } else { + throw new \RuntimeException($this->grav['language']->translate('PLUGIN_LOGIN.REGISTRATION_DISABLED'), 404); + } + return; + } + + if ($path === $this->config->get('plugins.login.route_activate')) { + $this->enable([ + 'onPagesInitialized' => ['handleUserActivation', 0], + ]); + return; + } + + if ($path === $this->config->get('plugins.login.route_profile')) { + $this->enable([ + 'onPagesInitialized' => ['addProfilePage', 0], + ]); + return; + } + } + + /** + * Optional ability to dynamically set visibility based on page access and page header + * that states `login.visibility_requires_access: true` + * + * Note that this setting may be slow on large sites as it loads all pages into memory for each page load! + * + * @param Event $e + */ + public function pageVisibility(Event $e) + { + if ($this->config->get('plugins.login.dynamic_page_visibility')) { + /** @var Pages $pages */ + $pages = $e['pages']; + $user = $this->grav['user']; + + foreach ($pages->instances() as $page) { + $header = $page->header(); + if (isset($header->login['visibility_requires_access'])) { + $config = $this->mergeConfig($page); + $access = $this->login->isUserAuthorizedForPage($user, $page, $config); + if ($access === false) { + $page->visible(false); + } + } + } + } + } + + /** + * [onPagesInitialized] + */ + public function storeReferrerPage() + { + $invalid_redirect_routes = [ + $this->config->get('plugins.login.route') ?: '/login', + $this->config->get('plugins.login.route_register') ?: '/register', + $this->config->get('plugins.login.route_activate') ?: '/activate_user', + $this->config->get('plugins.login.route_forgot') ?: '/forgot_password', + $this->config->get('plugins.login.route_reset') ?: '/reset_password', + ]; + + /** @var Uri $uri */ + $uri = $this->grav['uri']; + $current_route = $uri->route(); + + if (!in_array($current_route, $invalid_redirect_routes, true)) { + $allowed = true; + + /** @var Page $page */ + $page = $this->grav['pages']->dispatch($current_route); + + if ($page) { + $header = $page->header(); + if (isset($header->login_redirect_here) && $header->login_redirect_here === false) { + $allowed = false; + } + + if ($allowed && $page->routable()) { + $this->grav['session']->redirect_after_login = $page->route() . ($uri->params() ?: ''); + } + } + } + } + + /** + * Add Login page + * @throws \Exception + */ + public function addLoginPage() + { + /** @var Pages $pages */ + $pages = $this->grav['pages']; + $page = $pages->dispatch($this->route); + + if (!$page) { + // Only add login page if it hasn't already been defined. + $page = new Page; + $page->init(new \SplFileInfo(__DIR__ . '/pages/login.md')); + $page->slug(basename($this->route)); + + $pages->addPage($page, $this->route); + } + } + + /** + * Add Login page + * @throws \Exception + */ + public function addForgotPage() + { + $route = $this->config->get('plugins.login.route_forgot'); + /** @var Pages $pages */ + $pages = $this->grav['pages']; + $page = $pages->dispatch($route); + + if (!$page) { + // Only add forgot page if it hasn't already been defined. + $page = new Page; + $page->init(new \SplFileInfo(__DIR__ . '/pages/forgot.md')); + $page->slug(basename($route)); + + $pages->addPage($page, $route); + } + } + + /** + * Add Reset page + * @throws \Exception + */ + public function addResetPage() + { + $route = $this->config->get('plugins.login.route_reset'); + + $uri = $this->grav['uri']; + $token = $uri->param('token'); + $user = $uri->param('user'); + + if (!$user || !$token) { + return; + } + + /** @var Pages $pages */ + $pages = $this->grav['pages']; + $page = $pages->dispatch($route); + + if (!$page) { + // Only add login page if it hasn't already been defined. + $page = new Page; + $page->init(new \SplFileInfo(__DIR__ . '/pages/reset.md')); + $page->slug(basename($route)); + + $pages->addPage($page, $route); + } + } + + /** + * Add Register page + * @throws \Exception + */ + public function addRegisterPage() + { + $route = $this->config->get('plugins.login.route_register'); + + /** @var Pages $pages */ + $pages = $this->grav['pages']; + $page = $pages->dispatch($route); + + if (!$page) { + $page = new Page; + $page->init(new \SplFileInfo(__DIR__ . '/pages/register.md')); + $page->template('form'); + $page->slug(basename($route)); + + $pages->addPage($page, $route); + } + } + + /** + * Handle user activation + * @throws \RuntimeException + */ + public function handleUserActivation() + { + /** @var Uri $uri */ + $uri = $this->grav['uri']; + + /** @var Message $messages */ + $messages = $this->grav['messages']; + + $username = $uri->param('username'); + + $token = $uri->param('token'); + $user = User::load($username); + + if (empty($user->activation_token)) { + $message = $this->grav['language']->translate('PLUGIN_LOGIN.INVALID_REQUEST'); + $messages->add($message, 'error'); + } else { + list($good_token, $expire) = explode('::', $user->activation_token, 2); + + if ($good_token === $token) { + if (time() > $expire) { + $message = $this->grav['language']->translate('PLUGIN_LOGIN.ACTIVATION_LINK_EXPIRED'); + $messages->add($message, 'error'); + } else { + $user['state'] = 'enabled'; + unset($user['activation_token']); + $user->save(); + + $message = $this->grav['language']->translate('PLUGIN_LOGIN.USER_ACTIVATED_SUCCESSFULLY'); + $messages->add($message, 'info'); + + if ($this->config->get('plugins.login.user_registration.options.send_welcome_email', false)) { + $this->login->sendWelcomeEmail($user); + } + if ($this->config->get('plugins.login.user_registration.options.send_notification_email', false)) { + $this->login->sendNotificationEmail($user); + } + + if ($this->config->get('plugins.login.user_registration.options.login_after_registration', false)) { + $this->login->login(['username' => $username], ['after_registration' => true]); + } + } + } else { + $message = $this->grav['language']->translate('PLUGIN_LOGIN.INVALID_REQUEST'); + $messages->add($message, 'error'); + } + } + + $redirect_route = $this->config->get('plugins.login.user_registration.redirect_after_activation', '/'); + $this->grav->redirect($redirect_route); + } + + /** + * Add Profile page + */ + public function addProfilePage() + { + $route = $this->config->get('plugins.login.route_profile'); + /** @var Pages $pages */ + $pages = $this->grav['pages']; + $page = $pages->dispatch($route); + + if (!$page) { + // Only add forgot page if it hasn't already been defined. + $page = new Page; + $page->init(new \SplFileInfo(__DIR__ . "/pages/profile.md")); + $page->slug(basename($route)); + + $pages->addPage($page, $route); + } + + $this->storeReferrerPage(); + } + + /** + * Set Unauthorized page + * @throws \Exception + */ + public function setUnauthorizedPage() + { + $route = $this->config->get('plugins.login.route_unauthorized'); + + /** @var Pages $pages */ + $pages = $this->grav['pages']; + $page = $pages->dispatch($route); + + if (!$page) { + $page = new Page; + $page->init(new \SplFileInfo(__DIR__ . '/pages/unauthorized.md')); + $page->template('default'); + $page->slug(basename($route)); + + $pages->addPage($page, $route); + } + + unset($this->grav['page']); + $this->grav['page'] = $page; + } + + /** + * Initialize login controller + */ + public function loginController() + { + /** @var Uri $uri */ + $uri = $this->grav['uri']; + $task = !empty($_POST['task']) ? $_POST['task'] : $uri->param('task'); + $task = substr($task, strlen('login.')); + $post = !empty($_POST) ? $_POST : []; + + switch ($task) { + case 'login': + if (!isset($post['login-form-nonce']) || !Utils::verifyNonce($post['login-form-nonce'], 'login-form')) { + $this->grav['messages']->add($this->grav['language']->translate('PLUGIN_LOGIN.ACCESS_DENIED'), + 'info'); + $twig = $this->grav['twig']; + $twig->twig_vars['notAuthorized'] = true; + + return; + } + break; + + case 'forgot': + if (!isset($post['forgot-form-nonce']) || !Utils::verifyNonce($post['forgot-form-nonce'], 'forgot-form')) { + $this->grav['messages']->add($this->grav['language']->translate('PLUGIN_LOGIN.ACCESS_DENIED'),'info'); + return; + } + break; + } + + $controller = new Controller($this->grav, $task, $post); + $controller->execute(); + $controller->redirect(); + } + + /** + * Authorize the Page fallback url (page media accessed through the page route) + */ + public function authorizeFallBackUrl() + { + if ($this->config->get('plugins.login.protect_protected_page_media', false)) { + $page_url = dirname($this->grav['uri']->path()); + $page = $this->grav['pages']->find($page_url); + unset($this->grav['page']); + $this->grav['page'] = $page; + $this->authorizePage(); + } + } + + /** + * [onPageInitialized] Authorize Page + */ + public function authorizePage() + { + if (!$this->authenticated) { + return; + } + + /** @var User $user */ + $user = $this->grav['user']; + + /** @var Page $page */ + $page = $this->grav['page']; + + if (!$page || $this->grav['login']->isUserAuthorizedForPage($user, $page, $this->mergeConfig($page))) { + return; + } + + // If this is not an HTML page request, simply throw a 403 error + $uri_extension = $this->grav['uri']->extension('html'); + $supported_types = $this->config->get('media.types'); + if ($uri_extension !== 'html' && array_key_exists($uri_extension, $supported_types)) { + header('HTTP/1.0 403 Forbidden'); + exit; + } + + // User is not logged in; redirect to login page. + if ($this->redirect_to_login && $this->route && !$user->authenticated) { + $this->grav->redirect($this->route, 302); + } + + /** @var Twig $twig */ + $twig = $this->grav['twig']; + + // Reset page with login page. + if (empty($user->authenticated)) { + + if ($this->route) { + $page = $this->grav['pages']->dispatch($this->route); + } else { + + $page = new Page; + // $this->grav['session']->redirect_after_login = $this->grav['uri']->path() . ($this->grav['uri']->params() ?: ''); + + // Get the admin Login page is needed, else teh default + if ($this->isAdmin()) { + $login_file = $this->grav['locator']->findResource('plugins://admin/pages/admin/login.md'); + $page->init(new \SplFileInfo($login_file)); + } else { + $page->init(new \SplFileInfo(__DIR__ . '/pages/login.md')); + } + + $page->slug(basename($this->route)); + } + + $this->authenticated = false; + unset($this->grav['page']); + $this->grav['page'] = $page; + + $twig->twig_vars['form'] = new Form($page); + } else { + /** @var Language $l */ + $l = $this->grav['language']; + $this->grav['messages']->add($l->translate('PLUGIN_LOGIN.ACCESS_DENIED'), 'error'); + $twig->twig_vars['notAuthorized'] = true; + + $this->setUnauthorizedPage(); + } + } + + /** + * [onTwigTemplatePaths] Add twig paths to plugin templates. + */ + public function onTwigTemplatePaths() + { + $twig = $this->grav['twig']; + $twig->twig_paths[] = __DIR__ . '/templates'; + } + + /** + * [onTwigSiteVariables] Set all twig variables for generating output. + */ + public function onTwigSiteVariables() + { + /** @var Twig $twig */ + $twig = $this->grav['twig']; + + $this->grav->fireEvent('onLoginPage'); + + $extension = $this->grav['uri']->extension(); + $extension = $extension ?: 'html'; + + if (!$this->authenticated) { + $twig->template = "login.{$extension}.twig"; + } + + // add CSS for frontend if required + if (!$this->isAdmin() && $this->config->get('plugins.login.built_in_css')) { + $this->grav['assets']->add('plugin://login/css/login.css'); + } + + $task = $this->grav['uri']->param('task') ?: (isset($_POST['task']) ? $_POST['task'] : ''); + $task = substr($task, strlen('login.')); + if ($task === 'reset') { + $username = $this->grav['uri']->param('user'); + $token = $this->grav['uri']->param('token'); + + if (!empty($username) && !empty($token)) { + $twig->twig_vars['username'] = $username; + $twig->twig_vars['token'] = $token; + } + } elseif ($task === 'login') { + $twig->twig_vars['username'] = isset($_POST['username']) ? $_POST['username'] : ''; + } + + $flashData = $this->grav['session']->getFlashCookieObject(self::TMP_COOKIE_NAME); + + if (isset($flashData->message)) { + $this->grav['messages']->add($flashData->message, $flashData->status); + } + } + + /** + * Process the user registration, triggered by a registration form + * + * @param Form $form + * @throws \RuntimeException + */ + private function processUserRegistration($form, Event $event) + { + $language = $this->grav['language']; + $messages = $this->grav['messages']; + + if (!$this->config->get('plugins.login.enabled')) { + throw new \RuntimeException($language->translate('PLUGIN_LOGIN.PLUGIN_LOGIN_DISABLED')); + } + + if (!$this->config->get('plugins.login.user_registration.enabled')) { + throw new \RuntimeException($language->translate('PLUGIN_LOGIN.USER_REGISTRATION_DISABLED')); + } + + // Check for existing username + $username = $form->value('username'); + $existing_username = User::find($username,['username']); + if ($existing_username->exists()) { + $this->grav->fireEvent('onFormValidationError', new Event([ + 'form' => $form, + 'message' => $language->translate([ + 'PLUGIN_LOGIN.USERNAME_NOT_AVAILABLE', + $username + ]) + ])); + $event->stopPropagation(); + return; + } + + // Check for existing email + $email = $form->value('email'); + $existing_email = User::find($email,['email']); + if ($existing_email->exists()) { + $this->grav->fireEvent('onFormValidationError', new Event([ + 'form' => $form, + 'message' => $language->translate([ + 'PLUGIN_LOGIN.EMAIL_NOT_AVAILABLE', + $email + ]) + ])); + $event->stopPropagation(); + return; + } + + $data = []; + $data['username'] = $username; + + + // if multiple password fields, check they match and set password field from it + if ($this->config->get('plugins.login.user_registration.options.validate_password1_and_password2', + false) + ) { + if ($form->value('password1') !== $form->value('password2')) { + $this->grav->fireEvent('onFormValidationError', new Event([ + 'form' => $form, + 'message' => $language->translate('PLUGIN_LOGIN.PASSWORDS_DO_NOT_MATCH') + ])); + $event->stopPropagation(); + + return; + } + $data['password'] = $form->value('password1'); + } + + $fields = (array)$this->config->get('plugins.login.user_registration.fields', []); + + foreach ($fields as $field) { + // Process value of field if set in the page process.register_user + $default_values = (array)$this->config->get('plugins.login.user_registration.default_values'); + if ($default_values) { + foreach ($default_values as $key => $param) { + + if ($key === $field) { + if (is_array($param)) { + $values = explode(',', $param); + } else { + $values = $param; + } + $data[$field] = $values; + } + } + } + + if (!isset($data[$field]) && $form->value($field)) { + $data[$field] = $form->value($field); + } + } + + if ($this->config->get('plugins.login.user_registration.options.set_user_disabled', false)) { + $data['state'] = 'disabled'; + } else { + $data['state'] = 'enabled'; + } + + $this->grav->fireEvent('onUserLoginRegisterData', new Event(['data' => &$data])); + $user = $this->login->register($data); + + $fullname = $user->fullname ?: $user->username; + + if ($this->config->get('plugins.login.user_registration.options.send_activation_email', false)) { + $this->login->sendActivationEmail($user); + $message = $language->translate(['PLUGIN_LOGIN.ACTIVATION_NOTICE_MSG', $fullname]); + $messages->add($message, 'info'); + } else { + if ($this->config->get('plugins.login.user_registration.options.send_welcome_email', false)) { + $this->login->sendWelcomeEmail($user); + } + if ($this->config->get('plugins.login.user_registration.options.send_notification_email', false)) { + $this->login->sendNotificationEmail($user); + } + $message = $language->translate(['PLUGIN_LOGIN.WELCOME_NOTICE_MSG', $fullname]); + $messages->add($message, 'info'); + } + + $this->grav->fireEvent('onUserLoginRegistered', new Event(['user' => $user])); + + if (isset($data['state']) && $data['state'] === 'enabled' && $this->config->get('plugins.login.user_registration.options.login_after_registration', false)) { + $this->login->login(['username' => $username], ['after_registration' => true], ['user' => $user]); + } + + $redirect = $this->config->get('plugins.login.user_registration.redirect_after_registration', false); + if ($redirect) { + $this->grav->redirect($redirect); + } + } + + /** + * Save user profile information + * + * @param Form $form + * @return bool + */ + private function processUserProfile($form) + { + $user = $this->grav['user']; + $user->merge($form->getData()->toArray()); + + try { + $user->save(); + } catch (\Exception $e) { + $form->setMessage($e->getMessage(), 'error'); + return false; + } + + return true; + } + + /** + * [onFormProcessed] Process a registration form. Handles the following actions: + * + * - register_user: registers a user + * - update_user: updates user profile + * + * @param Event $event + * @throws \RuntimeException + */ + public function onFormProcessed(Event $event) + { + $form = $event['form']; + $action = $event['action']; + + switch ($action) { + case 'register_user': + $this->processUserRegistration($form, $event); + break; + case 'update_user': + $this->processUserProfile($form); + break; + } + } + + /** + * @param UserLoginEvent $event + * @throws \RuntimeException + */ + public function userLoginAuthenticateByRegistration(UserLoginEvent $event) + { + // Check that we're logging in after registration. + if (!$event->getOption('after_registration') || $this->isAdmin()) { + return; + } + + $event->setStatus($event::AUTHENTICATION_SUCCESS); + $event->stopPropagation(); + } + + /** + * @param UserLoginEvent $event + * @throws \RuntimeException + */ + public function userLoginAuthenticateByRememberMe(UserLoginEvent $event) + { + // Check that we're logging in with remember me. + if (!$event->getOption('remember_me_login') || !$event->getOption('remember_me') || $this->isAdmin()) { + return; + } + + // Only use remember me if user isn't set and feature is enabled. + if ($this->grav['config']->get('plugins.login.rememberme.enabled') && !$event->getUser()->exists()) { + /** @var RememberMe $rememberMe */ + $rememberMe = $this->grav['login']->rememberMe(); + $username = $rememberMe->login(); + + if ($rememberMe->loginTokenWasInvalid()) { + // Token was invalid. We will display error page as this was likely an attack. + throw new \RuntimeException($this->grav['language']->translate('PLUGIN_LOGIN.REMEMBER_ME_STOLEN_COOKIE'), 403); + } + + if ($username === false) { + // User has not been remembered, there is no point of continuing. + $event->setStatus($event::AUTHENTICATION_FAILURE); + $event->stopPropagation(); + + return; + } + + // Allow remember me to work with different login methods. + $event->setCredential('username', $username); + $event->setUser(User::load($username, false)); + } + } + + public function userLoginAuthenticateByEmail(UserLoginEvent $event) + { + if (($username = $event->getCredential('username')) && !$event->getUser()->exists()) { + $event->setUser(User::find($username)); + } + } + + public function userLoginAuthenticate(UserLoginEvent $event) + { + $user = $event->getUser(); + $credentials = $event->getCredentials(); + + if (!$user->exists()) { + // Never let non-existing users to pass the authentication. + // Higher level plugins may override this behavior by stopping propagation. + $event->setStatus($event::AUTHENTICATION_FAILURE); + $event->stopPropagation(); + + return; + } + + // Never let empty password to pass the authentication. + // Higher level plugins may override this behavior by stopping propagation. + if (empty($credentials['password'])) { + $event->setStatus($event::AUTHENTICATION_FAILURE); + $event->stopPropagation(); + + return; + } + + // Try default user authentication. Stop propagation if authentication succeeds. + if ($user->authenticate($credentials['password'])) { + $event->setStatus($event::AUTHENTICATION_SUCCESS); + $event->stopPropagation(); + + return; + } + + // If authentication status is undefined, lower level event handlers may still be able to authenticate user. + } + + public function userLoginAuthorize(UserLoginEvent $event) + { + // Always block access if authorize defaulting to site.login fails. + $user = $event->getUser(); + foreach ($event->getAuthorize() as $authorize) { + if (!$user->authorize($authorize)) { + $event->setStatus($event::AUTHORIZATION_DENIED); + $event->stopPropagation(); + + return; + } + } + } + + public function userLoginFailure(UserLoginEvent $event) + { + $this->grav['session']->user = User::load('', false); + } + + public function userLogin(UserLoginEvent $event) + { + $session = $this->grav['session']; + $session->user = $event->getUser(); + + if ($event->getOption('remember_me')) { + /** @var Login $login */ + $login = $this->grav['login']; + + $session->remember_me = (bool)$event->getOption('remember_me_login'); + + // If the user wants to be remembered, create Rememberme cookie. + $username = $event->getUser()->get('username'); + if ($event->getCredential('rememberme')) { + $login->rememberMe()->createCookie($username); + } else { + $login->rememberMe()->getStorage()->cleanAllTriplets($username); + $login->rememberMe()->clearCookie(); + } + } + } + + public function userLogout(UserLoginEvent $event) + { + if ($event->getOption('remember_me')) { + /** @var Login $login */ + $login = $this->grav['login']; + + if (!$login->rememberMe()->login()) { + $login->rememberMe()->getStorage()->cleanAllTriplets($event->getUser()->get('username')); + } + $login->rememberMe()->clearCookie(); + } + + $this->grav['session']->invalidate()->start(); + $this->grav['session']->setFlashCookieObject(self::TMP_COOKIE_NAME, ['message' => $this->grav['language']->translate('PLUGIN_LOGIN.LOGGED_OUT'), + 'status' => 'info']); + } +} diff --git a/user/plugins/login/login.yaml b/user/plugins/login/login.yaml new file mode 100644 index 0000000..b035cbe --- /dev/null +++ b/user/plugins/login/login.yaml @@ -0,0 +1,53 @@ +enabled: true # Enable the plugin +built_in_css: true # Use built-in CSS +route: # Specific route for Login page (default is '/login') +redirect_to_login: true # If you try to access a page you don't have access to, should you redirect to login route +redirect_after_login: # Path to redirect to after a successful login (eg '/user_profile') +route_activate: '/activate_user' # Route for the user activation process +route_forgot: '/forgot_password' # Route for the forgot password process +route_reset: '/reset_password' # Route for the reset password process +route_profile: '/user_profile' # Route for the user profile page +route_register: '/user_register' # Route for the user registration page +route_unauthorized: '/user_unauthorized' # Route for a page to display if user is unauthorized + +dynamic_page_visibility: false # Integrate access into page visibility so things can be shown or hidden in the menu +parent_acl: false # Look to parent `access` rules for access requirements +protect_protected_page_media: false # Take `access` rules into account when directly accessing a page's media + +rememberme: + enabled: true # Enable 'remember me' functionality + timeout: 604800 # Timeout in seconds. Defaults to 1 week + name: grav-rememberme # Name prefix of the session cookie + +max_pw_resets_count: 0 # Number of password resets in a specific time frame (0 = unlimited) +max_pw_resets_interval: 60 # Time in minutes to track password resets +max_login_count: 0 # Number of failed login attempts in a specific time frame (0 = unlimited) +max_login_interval: 2 # Time in minutes to track login attempts + +user_registration: + enabled: true # Enable User Registration Process + + fields: # List of fields to validate and store during user registration + - 'username' # This should match up with your registration form definition + - 'password' + - 'email' + - 'fullname' + - 'title' + - 'level' + + default_values: # Any default values for fields you would like to set + level: Newbie # Here the 'level' field will be pre-populated with 'Newbie' text + + access: # Default access to set for users created during registration + site: + login: 'true' + + redirect_after_registration: '' # Route to redirect to after registration + + options: + validate_password1_and_password2: true # Ensure that password1 and password2 match during registration (allows you to have just 1 pw field or 2) + set_user_disabled: false # Set this `true` if you want a user to activate their account via email + login_after_registration: true # Automatically login after registration + send_activation_email: false # Send an email that requires a special link to be clicked in order to activate the account + send_notification_email: false # Send an email to the site administrator to indicate a user has registered + send_welcome_email: false # Send a welcome email to the user (probably should not be used with `send_activation_email` diff --git a/user/plugins/login/pages/forgot.md b/user/plugins/login/pages/forgot.md new file mode 100644 index 0000000..6f46df6 --- /dev/null +++ b/user/plugins/login/pages/forgot.md @@ -0,0 +1,21 @@ +--- +title: Forgot password + +login_redirect_here: false + +form: + + fields: + - name: email + type: email + label: PLUGIN_LOGIN.EMAIL + autofocus: true + validate: + required: true + type: email +--- + + +# Recover your password + +Enter your email to recover your password diff --git a/user/plugins/login/pages/login.md b/user/plugins/login/pages/login.md new file mode 100644 index 0000000..3e20ac3 --- /dev/null +++ b/user/plugins/login/pages/login.md @@ -0,0 +1,27 @@ +--- +title: Login + +login_redirect_here: false + +form: + name: login + action: + method: post + + fields: + - name: username + type: text + id: username + placeholder: Username + label: PLUGIN_LOGIN.USERNAME_EMAIL + autofocus: true + + - name: password + type: password + id: password + placeholder: Password + label: PLUGIN_LOGIN.PASSWORD +--- + +# User Login + diff --git a/user/plugins/login/pages/profile.md b/user/plugins/login/pages/profile.md new file mode 100644 index 0000000..b3e59ba --- /dev/null +++ b/user/plugins/login/pages/profile.md @@ -0,0 +1,50 @@ +--- +title: Profile +access: + site.login: true + +form: + fields: + avatar_img: + type: avatar + + username: + type: text + readonly: true + disabled: true + + email: + type: email + placeholder: "Enter your email" + validate: + required: true + message: PLUGIN_LOGIN.EMAIL_VALIDATION_MESSAGE + + fullname: + type: text + + title: + type: text + + password: + type: password + label: Enter new password + validate: + message: PLUGIN_LOGIN.PASSWORD_VALIDATION_MESSAGE + config-pattern@: system.pwd_regex + + + buttons: + - + type: submit + value: Submit + - + type: reset + value: Reset + + process: + update_user: true + message: "Your profile has been updated" +--- + +# Profile \ No newline at end of file diff --git a/user/plugins/login/pages/register.md b/user/plugins/login/pages/register.md new file mode 100644 index 0000000..36bdaff --- /dev/null +++ b/user/plugins/login/pages/register.md @@ -0,0 +1,58 @@ +--- +login_redirect_here: false + +form: + + fields: + fullname: + type: text + validate: + required: true + + + username: + type: text + validate: + required: true + message: PLUGIN_LOGIN.USERNAME_NOT_VALID + config-pattern@: system.username_regex + + email: + type: email + validate: + required: true + message: PLUGIN_LOGIN.EMAIL_VALIDATION_MESSAGE + + password1: + type: password + label: Enter a password + validate: + required: true + message: PLUGIN_LOGIN.PASSWORD_VALIDATION_MESSAGE + config-pattern@: system.pwd_regex + + password2: + type: password + label: Enter the password again + validate: + required: true + message: PLUGIN_LOGIN.PASSWORD_VALIDATION_MESSAGE + config-pattern@: system.pwd_regex + + buttons: + - + type: submit + value: Submit + - + type: reset + value: Reset + + process: + register_user: true + message: "Thanks for registering..." + reset: true +--- + +# Register + +Create a new user account by entering all the required fields below: diff --git a/user/plugins/login/pages/reset.md b/user/plugins/login/pages/reset.md new file mode 100644 index 0000000..1c3048a --- /dev/null +++ b/user/plugins/login/pages/reset.md @@ -0,0 +1,35 @@ +--- +title: Reset password + +login_redirect_here: false + +form: + + fields: + - name: username + type: hidden + id: username + placeholder: Username + readonly: true + + - name: password + type: password + id: password + placeholder: Password + autofocus: true + validate: + required: true + message: PLUGIN_LOGIN.PASSWORD_VALIDATION_MESSAGE + config-pattern@: system.pwd_regex + + - name: token + type: hidden + +process: + twig: true +--- + +# Password Reset + +### Username: {{uri.param('user')}} + diff --git a/user/plugins/login/pages/unauthorized.md b/user/plugins/login/pages/unauthorized.md new file mode 100644 index 0000000..6b9aa13 --- /dev/null +++ b/user/plugins/login/pages/unauthorized.md @@ -0,0 +1,5 @@ +--- +title: Unauthorized +--- + +# You don't have access to this page... \ No newline at end of file diff --git a/user/plugins/login/templates/forgot.html.twig b/user/plugins/login/templates/forgot.html.twig new file mode 100644 index 0000000..9ca0001 --- /dev/null +++ b/user/plugins/login/templates/forgot.html.twig @@ -0,0 +1,6 @@ +{% extends 'partials/base.html.twig' %} + +{% block content %} + {% include 'partials/messages.html.twig' %} + {% include 'partials/forgot-form.html.twig' %} +{% endblock %} diff --git a/user/plugins/login/templates/login.html.twig b/user/plugins/login/templates/login.html.twig new file mode 100644 index 0000000..7ac282f --- /dev/null +++ b/user/plugins/login/templates/login.html.twig @@ -0,0 +1,6 @@ +{% extends 'partials/base.html.twig' %} + +{% block content %} + {% include 'partials/messages.html.twig' %} + {% include 'partials/login-form.html.twig' %} +{% endblock %} diff --git a/user/plugins/login/templates/login.json.twig b/user/plugins/login/templates/login.json.twig new file mode 100644 index 0000000..14dbf95 --- /dev/null +++ b/user/plugins/login/templates/login.json.twig @@ -0,0 +1,5 @@ +{%- if not grav.user.authenticated -%} +{"code":401,"status":"unauthenticated","error":{"message":"Authentication required","login":{{ include('partials/login-form.html.twig')|trim|json_encode }}}} +{%- else -%} +{"code":200,"status":"authenticated","message":"You have been authenticated"} +{%- endif -%} \ No newline at end of file diff --git a/user/plugins/login/templates/partials/forgot-form.html.twig b/user/plugins/login/templates/partials/forgot-form.html.twig new file mode 100644 index 0000000..8435540 --- /dev/null +++ b/user/plugins/login/templates/partials/forgot-form.html.twig @@ -0,0 +1,18 @@ +
                                                                        + {{ content|raw }} + +
                                                                        + {% for field in form.fields %} + {% if field.type %} +
                                                                        + {% include ["forms/fields/#{field.type}/#{field.type}.html.twig", 'forms/fields/text/text.html.twig'] %} +
                                                                        + {% endif %} + {% endfor %} +
                                                                        + +
                                                                        + + {{ nonce_field('forgot-form', 'forgot-form-nonce')|raw }} +
                                                                        +
                                                                        diff --git a/user/plugins/login/templates/partials/login-form.html.twig b/user/plugins/login/templates/partials/login-form.html.twig new file mode 100644 index 0000000..63b8c38 --- /dev/null +++ b/user/plugins/login/templates/partials/login-form.html.twig @@ -0,0 +1,51 @@ +
                                                                        + + {% if page.template == 'login' or show_login_form %} + + {% if grav.user.authenticated %} +

                                                                        {{ 'PLUGIN_LOGIN.WELCOME'|t }} {{ grav.user.fullname ?: grav.user.username }}

                                                                        +
                                                                        + {{ 'PLUGIN_LOGIN.BTN_LOGOUT'|t }} + + {% else %} + {{ content|raw }} + +
                                                                        + {% if grav.twig.plugins_hooked_loginPage %} + {% for label in grav.twig.plugins_hooked_loginPage %} + {% include label %} + {% endfor %} + {% endif %} + + {% for field in form.fields %} + {% set value = field.name == 'username' ? username : '' %} + {% if field.type %} + {% include ["forms/fields/#{field.type}/#{field.type}.html.twig", 'forms/fields/text/text.html.twig'] %} + {% endif %} + {% endfor %} + +
                                                                        + {% if config.plugins.login.rememberme.enabled and page.header.form.login.rememberme ?? true %} +
                                                                        +
                                                                        + + +
                                                                        +
                                                                        + {% endif %} + + {% if page.header.form.login.forgot_button ?? true %} + {{ 'PLUGIN_LOGIN.BTN_FORGOT'|t }} + {% endif %} + + +
                                                                        + + {{ nonce_field('login-form', 'login-form-nonce')|raw }} +
                                                                        + + {% endif %} + + {% endif %} + +
                                                                        diff --git a/user/plugins/login/templates/partials/login-status.html.twig b/user/plugins/login/templates/partials/login-status.html.twig new file mode 100644 index 0000000..7c06016 --- /dev/null +++ b/user/plugins/login/templates/partials/login-status.html.twig @@ -0,0 +1,5 @@ + diff --git a/user/plugins/login/templates/partials/reset-form.html.twig b/user/plugins/login/templates/partials/reset-form.html.twig new file mode 100644 index 0000000..079a607 --- /dev/null +++ b/user/plugins/login/templates/partials/reset-form.html.twig @@ -0,0 +1,24 @@ +{% if uri.param('token') and uri.param('task') %} +
                                                                        + {{ content|raw }} + +
                                                                        + {% for field in form.fields %} + {% set value = attribute(grav.twig.twig_vars, field.name) is defined ? attribute(grav.twig.twig_vars, field.name) : null %} + + {% if field.type %} +
                                                                        + {% include ["forms/fields/#{field.type}/#{field.type}.html.twig", 'forms/fields/text/text.html.twig'] %} +
                                                                        + {% endif %} + {% endfor %} +
                                                                        + +
                                                                        + + {{ nonce_field('reset-form', 'reset-form-nonce')|raw }} +
                                                                        +
                                                                        +{% endif %} + + diff --git a/user/plugins/login/templates/profile.html.twig b/user/plugins/login/templates/profile.html.twig new file mode 100644 index 0000000..e35b743 --- /dev/null +++ b/user/plugins/login/templates/profile.html.twig @@ -0,0 +1,9 @@ +{% extends 'partials/base.html.twig' %} + +{% do form.setAllData(grav.user.toArray) %} + +{% block content %} + {% include 'partials/messages.html.twig' %} + {{ page.content }} + {% include 'forms/form.html.twig' %} +{% endblock %} \ No newline at end of file diff --git a/user/plugins/login/templates/profile.json.twig b/user/plugins/login/templates/profile.json.twig new file mode 100644 index 0000000..da0d023 --- /dev/null +++ b/user/plugins/login/templates/profile.json.twig @@ -0,0 +1 @@ +{% extends 'forms/ajax.json.twig' %} \ No newline at end of file diff --git a/user/plugins/login/templates/reset.html.twig b/user/plugins/login/templates/reset.html.twig new file mode 100644 index 0000000..f459784 --- /dev/null +++ b/user/plugins/login/templates/reset.html.twig @@ -0,0 +1,8 @@ +{% extends 'partials/base.html.twig' %} + +{% block content %} + {% include 'partials/messages.html.twig' %} + {% include 'partials/reset-form.html.twig' %} +{% endblock %} + + diff --git a/user/plugins/login/vendor/autoload.php b/user/plugins/login/vendor/autoload.php new file mode 100644 index 0000000..c13a8a3 --- /dev/null +++ b/user/plugins/login/vendor/autoload.php @@ -0,0 +1,7 @@ + + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/user/plugins/login/vendor/birke/rememberme/README.md b/user/plugins/login/vendor/birke/rememberme/README.md new file mode 100644 index 0000000..4769e1f --- /dev/null +++ b/user/plugins/login/vendor/birke/rememberme/README.md @@ -0,0 +1,40 @@ +# Secure "Remember Me" +This library implements the best practices for implementing a secure +"Remember Me" functionality on web sites. Login information and unique secure +tokens are stored in a cookie. If the user visits the site, the login information +from the cookie is compared to information stored on the server. If the tokens +match, the user is logged in. A user can have login cookies on several +computers/browsers. + +This library is heavily inspired by Barry Jaspan's article +"[Improved Persistent Login Cookie Best Practice][1]". The library protects +against the following attack scenarios: + + - The computer of a user is stolen or compromised, enabling the attacker to log + in with the existing "Remember Me" cookie. The user knows this has happened. + The user can remotely invalidate all login cookies. + - An attacker has obtained the "Remember Me" cookie and has logged in with it. + The user does not know this. The next time he tries to log in with the cookie + that was stolen, he gets a warning and all login cookies are invalidated. + - An attacker has obtained the database of login tokens from the server. The + stored tokens are hashed so he can't use them without computational effort + (rainbow tables or brute force). + +## Installation + + composer require birke/rememberme + +## Usage example +See the `example` directory for an example. + +## Improving security +The generated tokens are pseudo-random and the storage classes use the SHA1 algorithm +to hash them. If you need better security than that, overwrite the +`Authenticator::generateToken` method to generate a truly random token. If you are +using PHP >=5.5 you can use the "[password_hash][2]" and "[password_verify][3]" functions. +On lower PHP versions you could use the [userland implementations][4] of these functions. + +[1]: http://jaspan.com/improved%5Fpersistent%5Flogin%5Fcookie%5Fbest%5Fpractice +[2]: http://www.php.net/manual/en/function.password-hash.php +[3]: http://www.php.net/manual/en/function.password-verify.php +[4]: https://github.com/ircmaxell/password_compat diff --git a/user/plugins/login/vendor/birke/rememberme/composer.json b/user/plugins/login/vendor/birke/rememberme/composer.json new file mode 100644 index 0000000..d05a6d5 --- /dev/null +++ b/user/plugins/login/vendor/birke/rememberme/composer.json @@ -0,0 +1,24 @@ +{ + "name": "birke/rememberme", + "version": "1.0.5", + "description": "Secure \"Remember Me\" functionality", + "keywords": [ "cookie", "remember", "security"], + "homepage": "https://github.com/gbirke/rememberme", + "license": "MIT", + "authors": [ + { + "name": "Gabriel Birke", + "email": "gb@birke-software.de" + } + ], + "minimum-stability": "stable", + "autoload": { + "psr-4": {"Birke\\": "src/"} + }, + "require": { + "paragonie/random_compat": "^1.1.4" + }, + "require-dev": { + "phpunit/phpunit": "4.*" + } +} diff --git a/user/plugins/login/vendor/birke/rememberme/example/action.php b/user/plugins/login/vendor/birke/rememberme/example/action.php new file mode 100644 index 0000000..0a7ea94 --- /dev/null +++ b/user/plugins/login/vendor/birke/rememberme/example/action.php @@ -0,0 +1,119 @@ +clearCookie($_SESSION['username']); + redirect(true); + } + + if(!empty($_GET['completelogout'])) { + $storage->cleanAllTriplets($_SESSION['username']); + redirect(true); + } + + // Check, if the Rememberme cookie exists and is still valid. + // If not, we log out the current session + if(!empty($_COOKIE[$rememberMe->getCookieName()]) && !$rememberMe->cookieIsValid()) { + redirect(true); + } + + // User is still logged in - show content + $content = tpl("user_is_logged_in"); +} +// If we are not logged in, try to log in via Rememberme cookie +else { + // If we can present the correct tokens from the cookie, we are logged in + $loginresult = $rememberMe->login(); + if($loginresult) { + $_SESSION['username'] = $loginresult; + // There is a chance that an attacker has stolen the login token, so we store + // the fact that the user was logged in via RememberMe (instead of login form) + $_SESSION['remembered_by_cookie'] = true; + redirect(); + } + else { + // If $rememberMe returned false, check if the token was invalid + if($rememberMe->loginTokenWasInvalid()) { + $content = tpl("cookie_was_stolen"); + } + // $rememberMe returned false because of invalid/missing Rememberme cookie - normal login process + else { + if(!empty($_POST)) { + if($username == $_POST['username'] && $password == $_POST['password']) { + session_regenerate_id(); + $_SESSION['username'] = $username; + // If the user wants to be remembered, create Rememberme cookie + if(!empty($_POST['rememberme'])) { + $rememberMe->createCookie($username); + } + else { + $rememberMe->clearCookie(); + } + redirect(); + } + else { + $content = tpl("login", "Invalid credentials"); + } + } + else { + $content = tpl("login"); + } + } + } +} + +// template function for including content, nothing interesting +function tpl($template, $msg="") { + $fn = __DIR__ . DIRECTORY_SEPARATOR . "templates" . DIRECTORY_SEPARATOR . $template . ".php"; + if(file_exists($fn)) { + ob_start(); + include $fn; + return ob_get_clean(); + } + else { + return "Template $fn not found"; + } +} \ No newline at end of file diff --git a/user/plugins/login/vendor/birke/rememberme/example/css/style.css b/user/plugins/login/vendor/birke/rememberme/example/css/style.css new file mode 100644 index 0000000..ded8371 --- /dev/null +++ b/user/plugins/login/vendor/birke/rememberme/example/css/style.css @@ -0,0 +1,157 @@ +/* HTML5 ✰ Boilerplate */ + +html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, +abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, +small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, figcaption, figure, footer, header, hgroup, +menu, nav, section, summary, time, mark, audio, video { + margin:0; + padding:0; + border:0; + outline:0; + font-size:100%; + vertical-align:baseline; + background:transparent; +} +article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { + display:block; +} +nav ul { list-style:none; } +blockquote, q { quotes:none; } +blockquote:before, blockquote:after, +q:before, q:after { content:''; content:none; } +a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; } +ins { background-color:#ff9; color:#000; text-decoration:none; } +mark { background-color:#ff9; color:#000; font-style:italic; font-weight:bold; } +del { text-decoration: line-through; } +abbr[title], dfn[title] { border-bottom:1px dotted; cursor:help; } +table { border-collapse:collapse; border-spacing:0; } +hr { display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0; } +input, select { vertical-align:middle; } + + +body { font:13px/1.231 sans-serif; *font-size:small; } +select, input, textarea, button { font:99% sans-serif; } +pre, code, kbd, samp { font-family: monospace, sans-serif; } + +body, select, input, textarea { color: #444; } +h1,h2,h3,h4,h5,h6 { font-weight: bold; } +html { overflow-y: scroll; } + +a:hover, a:active { outline: none; } +a, a:active, a:visited { color: #607890; } +a:hover { color: #036; } + +ul, ol { margin-left: 1.8em; } +ol { list-style-type: decimal; } + +nav ul, nav li { margin: 0; } +small { font-size: 85%; } +strong, th { font-weight: bold; } +td, td img { vertical-align: top; } +sub { vertical-align: sub; font-size: smaller; } +sup { vertical-align: super; font-size: smaller; } +pre { padding: 15px; white-space: pre; white-space: pre-wrap; white-space: pre-line; word-wrap: break-word; } +textarea { overflow: auto; } +.ie6 legend, .ie7 legend { margin-left: -7px; } +input[type="radio"] { vertical-align: text-bottom; } +input[type="checkbox"] { vertical-align: bottom; } +.ie7 input[type="checkbox"] { vertical-align: baseline; } +.ie6 input { vertical-align: text-bottom; } +label, input[type=button], input[type=submit], button { cursor: pointer; } +button, input, select, textarea { margin: 0; } +input:valid, textarea:valid { } +input:invalid, textarea:invalid { border-radius: 1px; -moz-box-shadow: 0px 0px 5px red; -webkit-box-shadow: 0px 0px 5px red; box-shadow: 0px 0px 5px red; } +.no-boxshadow input:invalid, +.no-boxshadow textarea:invalid { background-color: #f0dddd; } + +::-moz-selection{ background: #FF5E99; color:#fff; text-shadow: none; } +::selection { background:#FF5E99; color:#fff; text-shadow: none; } +a:link { -webkit-tap-highlight-color: #FF5E99; } + +button { width: auto; overflow: visible; } +.ie7 img { -ms-interpolation-mode: bicubic; } + +.ir { display: block; text-indent: -999em; overflow: hidden; background-repeat: no-repeat; text-align: left; direction: ltr; } +.hidden { display: none; visibility: hidden; } +.visuallyhidden { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px, 1px, 1px, 1px); } +.invisible { visibility: hidden; } +.clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; visibility: hidden; } +.clearfix:after { clear: both; } +.clearfix { zoom: 1; } + + + /* Primary Styles + Author: + */ + + +h1 { + width:800px; + margin:50px auto; + text-align:center; + font-size:200%; + font-weight:bold; +} + +#main { + width:800px; + margin:50px auto; +} + +label { + display:inline-block; + width:8em; +} + +input { + margin:5px; +} + +p { + margin-bottom:1em; +} + +ol { + margin-bottom:1em; + padding-left:1.5em; +} + + + + + + + + + + +@media all and (orientation:portrait) { + +} + +@media all and (orientation:landscape) { + +} + +@media screen and (max-device-width: 480px) { + + + /* html { -webkit-text-size-adjust:none; -ms-text-size-adjust:none; } */ +} + +@media print { + * { background: transparent !important; color: #444 !important; text-shadow: none !important; } + a, a:visited { color: #444 !important; text-decoration: underline; } + a:after { content: " (" attr(href) ")"; } + abbr:after { content: " (" attr(title) ")"; } + .ir a:after { content: ""; } + pre, blockquote { border: 1px solid #999; page-break-inside: avoid; } + thead { display: table-header-group; } + tr, img { page-break-inside: avoid; } + @page { margin: 0.5cm; } + p, h2, h3 { orphans: 3; widows: 3; } + h2, h3{ page-break-after: avoid; } +} + diff --git a/user/plugins/login/vendor/birke/rememberme/example/index.php b/user/plugins/login/vendor/birke/rememberme/example/index.php new file mode 100644 index 0000000..b79a829 --- /dev/null +++ b/user/plugins/login/vendor/birke/rememberme/example/index.php @@ -0,0 +1,42 @@ + + + + + + + + + + + + Rememberme PHP library test + + + + + + + +
                                                                        +
                                                                        +

                                                                        Rememberme PHP library test

                                                                        +
                                                                        + +
                                                                        + +
                                                                        + +
                                                                        + +
                                                                        +
                                                                        + + + \ No newline at end of file diff --git a/user/plugins/login/vendor/birke/rememberme/example/templates/cookie_was_stolen.php b/user/plugins/login/vendor/birke/rememberme/example/templates/cookie_was_stolen.php new file mode 100644 index 0000000..7f2c699 --- /dev/null +++ b/user/plugins/login/vendor/birke/rememberme/example/templates/cookie_was_stolen.php @@ -0,0 +1,4 @@ +

                                                                        Someone else has used your login information to acccess this page!
                                                                        + All sessions were logged out.
                                                                        + Please log in with your credentials and check your data.

                                                                        +

                                                                        To login form

                                                                        \ No newline at end of file diff --git a/user/plugins/login/vendor/birke/rememberme/example/templates/login.php b/user/plugins/login/vendor/birke/rememberme/example/templates/login.php new file mode 100644 index 0000000..0d516d7 --- /dev/null +++ b/user/plugins/login/vendor/birke/rememberme/example/templates/login.php @@ -0,0 +1,14 @@ +$msg

                                                                        "; ?> + +

                                                                        This is the demo for logging in with the Rememberme Library.
                                                                        + You are seeing this form because you have no active "Remember me" cookie and no + credentials stored in the session. +

                                                                        +

                                                                        Please log in with the username and password demo

                                                                        + +
                                                                        +
                                                                        +
                                                                        + Remember me
                                                                        + +
                                                                        \ No newline at end of file diff --git a/user/plugins/login/vendor/birke/rememberme/example/templates/user_is_logged_in.php b/user/plugins/login/vendor/birke/rememberme/example/templates/user_is_logged_in.php new file mode 100644 index 0000000..edda89a --- /dev/null +++ b/user/plugins/login/vendor/birke/rememberme/example/templates/user_is_logged_in.php @@ -0,0 +1,31 @@ +

                                                                        You are logged in as

                                                                        +

                                                                        Your session ID is

                                                                        + +

                                                                        The remember me cookie is active. + Cookie value is

                                                                        + +

                                                                        The remember me cookie is not active.

                                                                        + + +

                                                                        You were logged in with the "Remember me" cookie. In a real application + you should ask the user for his credentials before allowing him anything + "dangerous" like changing the login information, accessing sensitive data + or making a payment.

                                                                        + +

                                                                        If you want to test the warning when a possible identity theft is detected, try the following steps:

                                                                        +
                                                                          +
                                                                        1. Login to this page with a non-Firefox Browser. In the following steps I + will call that browser "Chrome" :)
                                                                          + Make sure to check the "Remember me" checkbox when logging in.
                                                                        2. +
                                                                        3. Copy the cookie value from above into the clipboard.
                                                                        4. +
                                                                        5. Quit Chrome to end the session.
                                                                        6. +
                                                                        7. Start Firefox and install the Firecookie extension if needed.
                                                                        8. +
                                                                        9. Show this page. If you see this text, log out. You should see the login form.
                                                                        10. +
                                                                        11. Create the PHP_REMEMBERME cookie with the value you copied.
                                                                        12. +
                                                                        13. Refresh the page - you are now logged in and should see this text. You have stolen the login credential from Chrome!
                                                                        14. +
                                                                        15. Start Chrome and try to show this page - you should get a warning instead of the login dialog.
                                                                        16. +
                                                                        17. Refresh this page in Firefox - You are logged out.
                                                                        18. +
                                                                        +

                                                                        Log out in this browser window.

                                                                        +

                                                                        Log out from all + sessions in all browser windows where the "Remember me" cookie is active.

                                                                        \ No newline at end of file diff --git a/user/plugins/login/vendor/birke/rememberme/phpunit.xml b/user/plugins/login/vendor/birke/rememberme/phpunit.xml new file mode 100644 index 0000000..c5304c6 --- /dev/null +++ b/user/plugins/login/vendor/birke/rememberme/phpunit.xml @@ -0,0 +1,7 @@ + + + + test + + + \ No newline at end of file diff --git a/user/plugins/login/vendor/birke/rememberme/src/Rememberme/Authenticator.php b/user/plugins/login/vendor/birke/rememberme/src/Rememberme/Authenticator.php new file mode 100644 index 0000000..5a2b4b4 --- /dev/null +++ b/user/plugins/login/vendor/birke/rememberme/src/Rememberme/Authenticator.php @@ -0,0 +1,293 @@ +storage = $storage; + $this->cookie = new Cookie(); + } + + /** + * Check Credentials from cookie. Returns false if login was not successful, credential string if it was successful + * @return bool|string + */ + public function login() + { + $cookieValues = $this->getCookieValues(); + + if (!$cookieValues) { + return false; + } + + $loginResult = false; + + switch ($this->storage->findTriplet($cookieValues[0], $cookieValues[1] . $this->salt, $cookieValues[2] . $this->salt)) { + + case Storage\StorageInterface::TRIPLET_FOUND: + $expire = time() + $this->expireTime; + $newToken = $this->createToken(); + $this->storage->replaceTriplet($cookieValues[0], $newToken . $this->salt, $cookieValues[2] . $this->salt, $expire); + $this->cookie->setCookie($this->cookieName, implode("|", array($cookieValues[0], $newToken, $cookieValues[2])), $expire); + $loginResult = $cookieValues[0]; + break; + + case Storage\StorageInterface::TRIPLET_INVALID: + $this->cookie->setCookie($this->cookieName, "", time() - $this->expireTime); + $this->lastLoginTokenWasInvalid = true; + + if ($this->cleanStoredTokensOnInvalidResult) { + $this->storage->cleanAllTriplets($cookieValues[0]); + } + + break; + } + return $loginResult; + } + + /** + * @return bool + */ + public function cookieIsValid() + { + $cookieValues = $this->getCookieValues(); + + if (!$cookieValues) { + return false; + } + + $state = $this->storage->findTriplet($cookieValues[0], $cookieValues[1] . $this->salt, $cookieValues[2] . $this->salt); + return $state == Storage\StorageInterface::TRIPLET_FOUND; + } + + /** + * @param $credential + * @return $this + */ + public function createCookie($credential) + { + $newToken = $this->createToken(); + $newPersistentToken = $this->createToken(); + + $expire = time() + $this->expireTime; + + $this->storage->storeTriplet($credential, $newToken . $this->salt, $newPersistentToken . $this->salt, $expire); + $this->cookie->setCookie($this->cookieName, implode("|", array($credential, $newToken, $newPersistentToken)), $expire); + + return $this; + } + + /** + * Expire the rememberme cookie, unset $_COOKIE[$this->cookieName] value and + * remove current login triplet from storage. + * @param boolean $clearFromStorage + * @return boolean + */ + public function clearCookie($clearFromStorage = true) + { + if (empty($_COOKIE[$this->cookieName])) { + return false; + } + + $cookieValues = explode("|", $_COOKIE[$this->cookieName], 3); + + $this->cookie->setCookie($this->cookieName, "", time() - $this->expireTime); + + unset($_COOKIE[$this->cookieName]); + + if (!$clearFromStorage) { + return true; + } + + if (count($cookieValues) < 3) { + return false; + } + + $this->storage->cleanTriplet($cookieValues[0], $cookieValues[2] . $this->salt); + + return true; + } + + /** + * @return string + */ + public function getCookieName() + { + return $this->cookieName; + } + + /** + * @param $name + * @return $this + */ + public function setCookieName($name) + { + $this->cookieName = $name; + return $this; + } + + /** + * @param Cookie $cookie + * @return $this + */ + public function setCookie(Cookie $cookie) + { + $this->cookie = $cookie; + return $this; + } + + /** + * @return bool + */ + public function loginTokenWasInvalid() + { + return $this->lastLoginTokenWasInvalid; + } + + /** + * @return Cookie + */ + public function getCookie() + { + return $this->cookie; + } + + /** + * @param $state + * @return Authenticator + */ + public function setCleanStoredTokensOnInvalidResult($state) + { + $this->cleanStoredTokensOnInvalidResult = $state; + return $this; + } + + /** + * @return bool + */ + public function getCleanStoredTokensOnInvalidResult() + { + return $this->cleanStoredTokensOnInvalidResult; + } + + /** + * Create a pseudo-random token. + * + * The token is pseudo-random. If you need better security, read from /dev/urandom + */ + protected function createToken() + { + return bin2hex(random_bytes(32)); + } + + /** + * @return array + */ + protected function getCookieValues() + { + // Cookie was not sent with incoming request + if (empty($_COOKIE[$this->cookieName])) { + return array(); + } + + $cookieValues = explode("|", $_COOKIE[$this->cookieName], 3); + + if (count($cookieValues) < 3) { + return array(); + } + + return $cookieValues; + } + + /** + * Return how many seconds in the future that the cookie will expire + * @return int + */ + public function getExpireTime() + { + return $this->expireTime; + } + + /** + * @param int $expireTime How many seconds in the future the cookie will expire + * + * Default is 604800 (1 week) + * + * @return Authenticator + */ + public function setExpireTime($expireTime) + { + $this->expireTime = $expireTime; + + return $this; + } + + /** + * + * @return string + */ + public function getSalt() + { + return $this->salt; + } + + /** + * The salt is additional information that is added to the tokens to make + * them more unqiue and secure. The salt is not stored in the cookie and + * should not saved in the storage. + * + * For example, to bind a token to an IP address use $_SERVER['REMOTE_ADDR']. + * To bind a token to the browser (user agent), use $_SERVER['HTTP_USER_AGENT]. + * You could also use a long random string that is uniqe to your application. + * @param string $salt + */ + public function setSalt($salt) + { + $this->salt = $salt; + } +} diff --git a/user/plugins/login/vendor/birke/rememberme/src/Rememberme/Cookie.php b/user/plugins/login/vendor/birke/rememberme/src/Rememberme/Cookie.php new file mode 100644 index 0000000..a1031e9 --- /dev/null +++ b/user/plugins/login/vendor/birke/rememberme/src/Rememberme/Cookie.php @@ -0,0 +1,104 @@ +path, $this->domain, $this->secure, $this->httpOnly); + } + + /** + * @return string + */ + public function getPath() + { + return $this->path; + } + + /** + * @param $path + */ + public function setPath($path) + { + $this->path = $path; + } + + /** + * @return string + */ + public function getDomain() + { + return $this->domain; + } + + /** + * @param $domain + */ + public function setDomain($domain) + { + $this->domain = $domain; + } + + /** + * @return bool + */ + public function getSecure() + { + return $this->secure; + } + + /** + * @param $secure + */ + public function setSecure($secure) + { + $this->secure = $secure; + } + + /** + * @return bool + */ + public function getHttpOnly() + { + return $this->httpOnly; + } + + /** + * @param $httponly + */ + public function setHttpOnly($httponly) + { + $this->httpOnly = $httponly; + } +} diff --git a/user/plugins/login/vendor/birke/rememberme/src/Rememberme/Storage/DB.php b/user/plugins/login/vendor/birke/rememberme/src/Rememberme/Storage/DB.php new file mode 100644 index 0000000..d8f9dab --- /dev/null +++ b/user/plugins/login/vendor/birke/rememberme/src/Rememberme/Storage/DB.php @@ -0,0 +1,145 @@ + $value) { + $setter = "set" . ucfirst($prop); + if (method_exists($this, $setter)) { + $this->$setter($value); + } + } + } + + /** + * @return string + */ + public function getTableName() + { + return $this->tableName; + } + + /** + * @param $tableName + * @return $this + */ + public function setTableName($tableName) + { + $this->tableName = $tableName; + return $this; + } + + /** + * @return string + */ + public function getCredentialColumn() + { + return $this->credentialColumn; + } + + /** + * @param $credentialColumn + * @return $this + */ + public function setCredentialColumn($credentialColumn) + { + $this->credentialColumn = $credentialColumn; + return $this; + } + + /** + * @return string + */ + public function getTokenColumn() + { + return $this->tokenColumn; + } + + /** + * @param $tokenColumn + * @return $this + */ + public function setTokenColumn($tokenColumn) + { + $this->tokenColumn = $tokenColumn; + return $this; + } + + /** + * @return string + */ + public function getPersistentTokenColumn() + { + return $this->persistentTokenColumn; + } + + /** + * @param $persistentTokenColumn + * @return $this + */ + public function setPersistentTokenColumn($persistentTokenColumn) + { + $this->persistentTokenColumn = $persistentTokenColumn; + return $this; + } + + /** + * @return string + */ + public function getExpiresColumn() + { + return $this->expiresColumn; + } + + /** + * @param $expiresColumn + * @return $this + */ + public function setExpiresColumn($expiresColumn) + { + $this->expiresColumn = $expiresColumn; + return $this; + } +} diff --git a/user/plugins/login/vendor/birke/rememberme/src/Rememberme/Storage/File.php b/user/plugins/login/vendor/birke/rememberme/src/Rememberme/Storage/File.php new file mode 100644 index 0000000..23c5cb5 --- /dev/null +++ b/user/plugins/login/vendor/birke/rememberme/src/Rememberme/Storage/File.php @@ -0,0 +1,119 @@ +path = $path; + $this->suffix = $suffix; + } + + /** + * @param mixed $credential + * @param string $token + * @param string $persistentToken + * @return int + */ + public function findTriplet($credential, $token, $persistentToken) + { + // Hash the tokens, because they can contain a salt and can be accessed in the file system + $persistentToken = sha1($persistentToken); + $token = sha1($token); + $fn = $this->getFilename($credential, $persistentToken); + + if (!file_exists($fn)) { + return self::TRIPLET_NOT_FOUND; + } + + $fileToken = trim(file_get_contents($fn)); + + if ($fileToken == $token) { + return self::TRIPLET_FOUND; + } + + return self::TRIPLET_INVALID; + } + + /** + * @param mixed $credential + * @param string $token + * @param string $persistentToken + * @param int $expire + * @return $this + */ + public function storeTriplet($credential, $token, $persistentToken, $expire = 0) + { + // Hash the tokens, because they can contain a salt and can be accessed in the file system + $persistentToken = sha1($persistentToken); + $token = sha1($token); + $fn = $this->getFilename($credential, $persistentToken); + file_put_contents($fn, $token); + return $this; + } + + /** + * @param mixed $credential + * @param string $persistentToken + */ + public function cleanTriplet($credential, $persistentToken) + { + $persistentToken = sha1($persistentToken); + $fn = $this->getFilename($credential, $persistentToken); + + if (file_exists($fn)) { + unlink($fn); + } + } + + /** + * Replace current token after successful authentication + * @param $credential + * @param $token + * @param $persistentToken + * @param int $expire + */ + public function replaceTriplet($credential, $token, $persistentToken, $expire = 0) + { + $this->cleanTriplet($credential, $persistentToken); + $this->storeTriplet($credential, $token, $persistentToken, $expire); + } + + /** + * @param $credential + */ + public function cleanAllTriplets($credential) + { + foreach (glob($this->path . DIRECTORY_SEPARATOR . $credential . ".*" . $this->suffix) as $file) { + unlink($file); + } + } + + /** + * @param $credential + * @param $persistentToken + * @return string + */ + protected function getFilename($credential, $persistentToken) + { + return $this->path . DIRECTORY_SEPARATOR . $credential . "." . $persistentToken . $this->suffix; + } +} diff --git a/user/plugins/login/vendor/birke/rememberme/src/Rememberme/Storage/PDO.php b/user/plugins/login/vendor/birke/rememberme/src/Rememberme/Storage/PDO.php new file mode 100644 index 0000000..e494513 --- /dev/null +++ b/user/plugins/login/vendor/birke/rememberme/src/Rememberme/Storage/PDO.php @@ -0,0 +1,121 @@ +tokenColumn}, 1, -1) AS token_match " . + "FROM {$this->tableName} WHERE {$this->credentialColumn} = ? " . + "AND {$this->persistentTokenColumn} = SHA1(?) AND {$this->expiresColumn} > NOW() LIMIT 1"; + + $query = $this->connection->prepare($sql); + $query->execute(array($token, $credential, $persistentToken)); + + $result = $query->fetchColumn(); + + if (!$result) { + return self::TRIPLET_NOT_FOUND; + } elseif ($result == 1) { + return self::TRIPLET_FOUND; + } + + return self::TRIPLET_INVALID; + } + + /** + * @param mixed $credential + * @param string $token + * @param string $persistentToken + * @param int $expire + */ + public function storeTriplet($credential, $token, $persistentToken, $expire = 0) + { + $sql = "INSERT INTO {$this->tableName}({$this->credentialColumn}, " . + "{$this->tokenColumn}, {$this->persistentTokenColumn}, " . + "{$this->expiresColumn}) VALUES(?, SHA1(?), SHA1(?), ?)"; + + $query = $this->connection->prepare($sql); + $query->execute(array($credential, $token, $persistentToken, date("Y-m-d H:i:s", $expire))); + } + + /** + * @param mixed $credential + * @param string $persistentToken + */ + public function cleanTriplet($credential, $persistentToken) + { + $sql = "DELETE FROM {$this->tableName} WHERE {$this->credentialColumn} = ? " + . "AND {$this->persistentTokenColumn} = SHA1(?)"; + + $query = $this->connection->prepare($sql); + $query->execute(array($credential, $persistentToken)); + } + + /** + * Replace current token after successful authentication + * @param $credential + * @param $token + * @param $persistentToken + * @param int $expire + */ + public function replaceTriplet($credential, $token, $persistentToken, $expire = 0) + { + try { + $this->connection->beginTransaction(); + $this->cleanTriplet($credential, $persistentToken); + $this->storeTriplet($credential, $token, $persistentToken, $expire); + $this->connection->commit(); + } + catch (\PDOException $e) { + $this->connection->rollBack(); + throw $e; + } + } + + /** + * @param $credential + */ + public function cleanAllTriplets($credential) + { + $sql = "DELETE FROM {$this->tableName} WHERE {$this->credentialColumn} = ? "; + + $query = $this->connection->prepare($sql); + $query->execute(array($credential)); + } + + /** + * @return \PDO + */ + public function getConnection() + { + return $this->connection; + } + + /** + * @param PDO $connection + */ + public function setConnection(\PDO $connection) + { + $this->connection = $connection; + } +} diff --git a/user/plugins/login/vendor/birke/rememberme/src/Rememberme/Storage/StorageInterface.php b/user/plugins/login/vendor/birke/rememberme/src/Rememberme/Storage/StorageInterface.php new file mode 100644 index 0000000..94163b0 --- /dev/null +++ b/user/plugins/login/vendor/birke/rememberme/src/Rememberme/Storage/StorageInterface.php @@ -0,0 +1,66 @@ +assertEquals('', $cookie->getPath()); + $this->assertEquals('', $cookie->getDomain()); + $this->assertFalse($cookie->getSecure()); + $this->assertTrue($cookie->getHttpOnly()); + } + + public function testSetters() + { + $cookie = new \Birke\Rememberme\Cookie(); + + $cookie->setPath('/test'); + $this->assertEquals('/test', $cookie->getPath()); + + $cookie->setDomain('www.foo.com'); + $this->assertEquals('www.foo.com', $cookie->getDomain()); + + $cookie->setSecure(true); + $this->assertTrue($cookie->getSecure()); + + $cookie->setHttpOnly(false); + $this->assertFalse($cookie->getHttpOnly()); + } +} diff --git a/user/plugins/login/vendor/birke/rememberme/test/RemembermeTest.php b/user/plugins/login/vendor/birke/rememberme/test/RemembermeTest.php new file mode 100644 index 0000000..5ec58a7 --- /dev/null +++ b/user/plugins/login/vendor/birke/rememberme/test/RemembermeTest.php @@ -0,0 +1,352 @@ +storage = $this->getMockBuilder(\Birke\Rememberme\Storage\StorageInterface::class)->getMock(); + $this->rememberme = new Birke\Rememberme\Authenticator($this->storage); + + $this->cookie = $this->getMockBuilder(\Birke\Rememberme\Cookie::class)->setMethods(['setcookie'])->getMock(); + + $this->rememberme->setCookie($this->cookie); + + $_COOKIE = array(); + } + + /* Basic cases */ + + public function testReturnFalseIfNoCookieExists() + { + $this->assertFalse($this->rememberme->login()); + } + + public function testReturnFalseIfCookieIsInvalid() + { + $_COOKIE = array($this->rememberme->getCookieName() => "DUMMY"); + $this->assertFalse($this->rememberme->login()); + $_COOKIE = array($this->rememberme->getCookieName() => $this->userid."|a"); + $this->assertFalse($this->rememberme->login()); + } + + public function testLoginTriesToFindTripletWithValuesFromCookie() { + $_COOKIE[$this->rememberme->getCookieName()] = implode("|", array( + $this->userid, $this->validToken, $this->validPersistentToken)); + $this->storage->expects($this->once()) + ->method("findTriplet") + ->with($this->equalTo($this->userid), $this->equalTo($this->validToken), $this->equalTo($this->validPersistentToken)); + $this->rememberme->login(); + } + + /* Success cases */ + + public function testReturnTrueIfTripletIsFound() { + $_COOKIE[$this->rememberme->getCookieName()] = implode("|", array( + $this->userid, $this->validToken, $this->validPersistentToken)); + + $this->storage->expects($this->once()) + ->method("findTriplet") + ->will($this->returnValue(Birke\Rememberme\Storage\StorageInterface::TRIPLET_FOUND)); + $this->assertEquals($this->userid, $this->rememberme->login()); + } + + public function testStoreNewTripletInCookieIfTripletIsFound() { + $oldcookieValue = implode("|", array( + $this->userid, $this->validToken, $this->validPersistentToken)); + $_COOKIE[$this->rememberme->getCookieName()] = $oldcookieValue; + $this->storage->expects($this->once()) + ->method("findTriplet") + ->will($this->returnValue(Birke\Rememberme\Storage\StorageInterface::TRIPLET_FOUND)); + $this->cookie->expects($this->once()) + ->method("setcookie") + ->with( + $this->anything(), + $this->logicalAnd( + $this->matchesRegularExpression('/^'.$this->userid.'\|[a-f0-9]{32,}\|'.$this->validPersistentToken.'$/'), + $this->logicalNot($this->equalTo($oldcookieValue)) + ) + ); + $this->rememberme->login(); + } + + public function testReplaceTripletInStorageIfTripletIsFound() { + $_COOKIE[$this->rememberme->getCookieName()] = implode("|", array( + $this->userid, $this->validToken, $this->validPersistentToken)); + $this->storage->expects($this->once()) + ->method("findTriplet") + ->will($this->returnValue(Birke\Rememberme\Storage\StorageInterface::TRIPLET_FOUND)); + $this->storage->expects($this->once()) + ->method("replaceTriplet") + ->with( + $this->equalTo($this->userid), + $this->logicalAnd( + $this->matchesRegularExpression('/^[a-f0-9]{32,}$/'), + $this->logicalNot($this->equalTo($this->validToken)) + ), + $this->equalTo($this->validPersistentToken) + ); + $this->rememberme->login(); + } + + public function testCookieContainsUserIDAndHexTokensIfTripletIsFound() + { + $_COOKIE[$this->rememberme->getCookieName()] = implode("|", array( + $this->userid, $this->validToken, $this->validPersistentToken)); + $this->storage->expects($this->once()) + ->method("findTriplet") + ->will($this->returnValue(Birke\Rememberme\Storage\StorageInterface::TRIPLET_FOUND)); + $this->cookie->expects($this->once()) + ->method("setcookie") + ->with($this->anything(), + $this->matchesRegularExpression('/^'.$this->userid.'\|[a-f0-9]{32,}\|[a-f0-9]{32,}$/') + ); + $this->rememberme->login(); + } + + public function testCookieContainsNewTokenIfTripletIsFound() + { + $oldcookieValue = implode("|", array( + $this->userid, $this->validToken, $this->validPersistentToken)); + $_COOKIE[$this->rememberme->getCookieName()] = $oldcookieValue; + $this->storage->expects($this->once()) + ->method("findTriplet") + ->will($this->returnValue(Birke\Rememberme\Storage\StorageInterface::TRIPLET_FOUND)); + $this->cookie->expects($this->once()) + ->method("setcookie") + ->with($this->anything(), + $this->logicalAnd( + $this->matchesRegularExpression('/^'.$this->userid.'\|[a-f0-9]{32,}\|'.$this->validPersistentToken.'$/'), + $this->logicalNot($this->equalTo($oldcookieValue)) + ) + ); + $this->rememberme->login(); + } + + public function testCookieExpiryIsInTheFutureIfTripletIsFound() + { + $oldcookieValue = implode("|", array( + $this->userid, $this->validToken, $this->validPersistentToken)); + $_COOKIE[$this->rememberme->getCookieName()] = $oldcookieValue; + $now = time(); + $this->storage->expects($this->once()) + ->method("findTriplet") + ->will($this->returnValue(Birke\Rememberme\Storage\StorageInterface::TRIPLET_FOUND)); + $this->cookie->expects($this->once()) + ->method("setcookie") + ->with($this->anything(), $this->anything(), $this->greaterThan($now)); + $this->rememberme->login(); + } + + /* Failure Cases */ + + public function testFalseIfTripletIsNotFound() { + $_COOKIE[$this->rememberme->getCookieName()] = implode("|", array( + $this->userid, $this->validToken, $this->validPersistentToken)); + + $this->storage->expects($this->once()) + ->method("findTriplet") + ->will($this->returnValue(Birke\Rememberme\Storage\StorageInterface::TRIPLET_NOT_FOUND)); + $this->assertFalse($this->rememberme->login()); + } + + public function testFalseIfTripletIsInvalid() { + $_COOKIE[$this->rememberme->getCookieName()] = implode("|", array( + $this->userid, $this->invalidToken, $this->validPersistentToken)); + + $this->storage->expects($this->once()) + ->method("findTriplet") + ->will($this->returnValue(Birke\Rememberme\Storage\StorageInterface::TRIPLET_INVALID)); + $this->assertFalse($this->rememberme->login()); + } + + public function testCookieIsExpiredIfTripletIsInvalid() { + $_COOKIE[$this->rememberme->getCookieName()] = implode("|", array( + $this->userid, $this->invalidToken, $this->validPersistentToken)); + $now = time(); + $this->storage->expects($this->once()) + ->method("findTriplet") + ->will($this->returnValue(Birke\Rememberme\Storage\StorageInterface::TRIPLET_INVALID)); + $this->cookie->expects($this->once()) + ->method("setcookie") + ->with($this->anything(), $this->anything(), $this->lessThan($now)); + $this->rememberme->login(); + } + + public function testAllStoredTokensAreClearedIfTripletIsInvalid() { + $_COOKIE[$this->rememberme->getCookieName()] = implode("|", array( + $this->userid, $this->invalidToken, $this->validPersistentToken)); + $this->storage->expects($this->any()) + ->method("findTriplet") + ->will($this->returnValue(Birke\Rememberme\Storage\StorageInterface::TRIPLET_INVALID)); + $this->storage->expects($this->once()) + ->method("cleanAllTriplets") + ->with($this->equalTo($this->userid)); + $this->rememberme->setCleanStoredTokensOnInvalidResult(true); + $this->rememberme->login(); + $this->rememberme->setCleanStoredTokensOnInvalidResult(false); + $this->rememberme->login(); + } + + public function testInvalidTripletStateIsStored() { + $_COOKIE[$this->rememberme->getCookieName()] = implode("|", array( + $this->userid, $this->invalidToken, $this->validPersistentToken)); + + $this->storage->expects($this->once()) + ->method("findTriplet") + ->will($this->returnValue(Birke\Rememberme\Storage\StorageInterface::TRIPLET_INVALID)); + $this->assertFalse($this->rememberme->loginTokenWasInvalid()); + $this->rememberme->login(); + $this->assertTrue($this->rememberme->loginTokenWasInvalid()); + } + + /* Cookie tests */ + + public function testCookieNameCanBeSet() { + $cookieName = "myCustomName"; + $this->rememberme->setCookieName($cookieName); + $_COOKIE[$cookieName] = implode("|", array($this->userid, $this->validToken, $this->validPersistentToken)); + $this->storage->expects($this->once()) + ->method("findTriplet") + ->will($this->returnValue(Birke\Rememberme\Storage\StorageInterface::TRIPLET_FOUND)); + $this->cookie->expects($this->once()) + ->method("setcookie") + ->with($this->equalTo($cookieName)); + $this->assertEquals($this->userid, $this->rememberme->login()); + } + + public function testCookieIsSetToConfiguredExpiryDate() { + $_COOKIE[$this->rememberme->getCookieName()] = implode("|", array( + $this->userid, $this->validToken, $this->validPersistentToken)); + $now = time(); + $expireTime = 31556926; // 1 year + $this->rememberme->setExpireTime($expireTime); + $this->storage->expects($this->once()) + ->method("findTriplet") + ->will($this->returnValue(Birke\Rememberme\Storage\StorageInterface::TRIPLET_FOUND)); + $this->cookie->expects($this->once()) + ->method("setcookie") + ->with($this->anything(), $this->anything(), $this->equalTo($now+$expireTime, 10)); + $this->rememberme->login(); + } + + /* Salting test */ + + public function testSaltIsAddedToTokensOnLogin() { + $salt = "Mozilla Firefox 4.0"; + $_COOKIE[$this->rememberme->getCookieName()] = implode("|", array( + $this->userid, $this->validToken, $this->validPersistentToken)); + $this->storage->expects($this->once()) + ->method("findTriplet") + ->with($this->equalTo($this->userid), $this->equalTo($this->validToken.$salt), $this->equalTo($this->validPersistentToken.$salt)) + ->will($this->returnValue(Birke\Rememberme\Storage\StorageInterface::TRIPLET_FOUND)); + $this->storage->expects($this->once()) + ->method("replaceTriplet") + ->with( + $this->equalTo($this->userid), + $this->matchesRegularExpression('/^[a-f0-9]{32,}'.preg_quote($salt)."$/"), + $this->equalTo($this->validPersistentToken.$salt) + ); + $this->rememberme->setSalt($salt); + $this->rememberme->login(); + } + + public function testSaltIsAddedToTokensOnCookieIsValid() { + $salt = "Mozilla Firefox 4.0"; + $_COOKIE[$this->rememberme->getCookieName()] = implode("|", array( + $this->userid, $this->validToken, $this->validPersistentToken)); + $this->storage->expects($this->once()) + ->method("findTriplet") + ->with($this->equalTo($this->userid), $this->equalTo($this->validToken.$salt), $this->equalTo($this->validPersistentToken.$salt)); + $this->rememberme->setSalt($salt); + $this->rememberme->cookieIsValid($this->userid); + } + + public function testSaltIsAddedToTokensOnCreateCookie() { + $salt = "Mozilla Firefox 4.0"; + $testExpr = '/^[a-f0-9]{32,}'.preg_quote($salt).'$/'; + $this->storage->expects($this->once()) + ->method("storeTriplet") + ->with( + $this->equalTo($this->userid), + $this->matchesRegularExpression($testExpr), + $this->matchesRegularExpression($testExpr) + ); + $this->rememberme->setSalt($salt); + $this->rememberme->createCookie($this->userid); + } + + public function testSaltIsAddedToTokensOnClearCookie() { + $salt = "Mozilla Firefox 4.0"; + $_COOKIE[$this->rememberme->getCookieName()] = implode("|", array( + $this->userid, $this->validToken, $this->validPersistentToken)); + $this->storage->expects($this->once()) + ->method("cleanTriplet") + ->with( + $this->equalTo($this->userid), + $this->equalTo($this->validPersistentToken.$salt) + ); + $this->rememberme->setSalt($salt); + $this->rememberme->clearCookie(true); + } + + /* Other functions */ + + public function testCreateCookieCreatesCookieAndStoresTriplets() { + $now = time(); + $this->cookie->expects($this->once()) + ->method("setcookie") + ->with( + $this->equalTo($this->rememberme->getCookieName()), + $this->matchesRegularExpression('/^'.$this->userid.'\|[a-f0-9]{32,}\|[a-f0-9]{32,}$/'), + $this->greaterThan($now) + ); + $testExpr = '/^[a-f0-9]{32,}$/'; + $this->storage->expects($this->once()) + ->method("storeTriplet") + ->with( + $this->equalTo($this->userid), + $this->matchesRegularExpression($testExpr), + $this->matchesRegularExpression($testExpr) + ); + $this->rememberme->createCookie($this->userid); + } + + public function testClearCookieExpiresCookieAndDeletesTriplet() { + $_COOKIE[$this->rememberme->getCookieName()] = implode("|", array( + $this->userid, $this->validToken, $this->validPersistentToken)); + $now = time(); + $this->cookie->expects($this->once()) + ->method("setcookie") + ->with( + $this->equalTo($this->rememberme->getCookieName()), + $this->anything(), + $this->lessThan($now) + ); + $this->storage->expects($this->once()) + ->method("cleanTriplet") + ->with( + $this->equalTo($this->userid), + $this->equalTo($this->validPersistentToken) + ); + $this->rememberme->clearCookie(true); + } +} diff --git a/user/plugins/login/vendor/birke/rememberme/test/Storage/PDO.php b/user/plugins/login/vendor/birke/rememberme/test/Storage/PDO.php new file mode 100644 index 0000000..462bf2f --- /dev/null +++ b/user/plugins/login/vendor/birke/rememberme/test/Storage/PDO.php @@ -0,0 +1,98 @@ +pdo = new PDO('mysql:host=localhost;dbname=test', 'webuser', ''); + return $this->createDefaultDBConnection($this->pdo, 'test'); + } + + protected function getDataSet() + { + return $this->createFlatXMLDataSet(dirname(__FILE__).'/tokens.xml'); + } + + protected function setUp() { + parent::setUp(); + $this->storage = new Rememberme_Storage_PDO(array( + 'connection' => $this->pdo, + 'tableName' => 'tokens', + 'credentialColumn' => 'credential', + 'tokenColumn' => 'token', + 'persistentTokenColumn' => 'persistent_token', + 'expiresColumn' => 'expires' + )); + } + + public function testFindTripletReturnsFoundIfDataMatches() { + $result = $this->storage->findTriplet($this->userid, $this->validToken, $this->validPersistentToken); + $this->assertEquals(Rememberme_Storage_StorageInterface::TRIPLET_FOUND, $result); + } + + public function testFindTripletReturnsNotFoundIfNoDataMatches() { + $this->pdo->exec("TRUNCATE tokens"); + $result = $this->storage->findTriplet($this->userid, $this->validToken, $this->validPersistentToken); + $this->assertEquals(Rememberme_Storage_StorageInterface::TRIPLET_NOT_FOUND, $result); + } + + public function testFindTripletReturnsInvalidTokenIfTokenIsInvalid() { + $result = $this->storage->findTriplet($this->userid, $this->invalidToken, $this->validPersistentToken); + $this->assertEquals(Rememberme_Storage_StorageInterface::TRIPLET_INVALID, $result); + } + + public function testStoreTripletSavesValuesIntoDatabase() { + $this->pdo->exec("TRUNCATE tokens"); + $this->storage->storeTriplet($this->userid, $this->validToken, $this->validPersistentToken, $this->expireTS); + $result = $this->pdo->query("SELECT credential,token,persistent_token, expires FROM tokens"); + $row = $result->fetch(PDO::FETCH_NUM); + $this->assertEquals(array($this->userid, $this->validDBToken, $this->validDBPersistentToken, $this->expire), $row); + $this->assertFalse($result->fetch()); + } + + public function testCleanTripletRemovesEntryFromDatabase() { + $this->storage->cleanTriplet($this->userid, $this->validPersistentToken); + $this->assertEquals(0, $this->pdo->query("SELECT COUNT(*) FROM tokens")->fetchColumn()); + } + + public function testCleanAllTripletsRemovesAllEntriesWithMatchingCredentialsFromDatabase() { + $this->pdo->exec("INSERT INTO tokens VALUES ('{$this->userid}', 'dummy', 'dummy', NOW())"); + $this->storage->cleanAllTriplets($this->userid); + $this->assertEquals(0, $this->pdo->query("SELECT COUNT(*) FROM tokens")->fetchColumn()); + } + +} +?> diff --git a/user/plugins/login/vendor/birke/rememberme/test/Storage/tokens.xml b/user/plugins/login/vendor/birke/rememberme/test/Storage/tokens.xml new file mode 100644 index 0000000..a581ee7 --- /dev/null +++ b/user/plugins/login/vendor/birke/rememberme/test/Storage/tokens.xml @@ -0,0 +1,8 @@ + + + + diff --git a/user/plugins/login/vendor/birke/rememberme/test/bootstrap.php b/user/plugins/login/vendor/birke/rememberme/test/bootstrap.php new file mode 100644 index 0000000..c53f2ef --- /dev/null +++ b/user/plugins/login/vendor/birke/rememberme/test/bootstrap.php @@ -0,0 +1,3 @@ + + * Jordi Boggiano + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Composer\Autoload; + +/** + * ClassLoader implements a PSR-0, PSR-4 and classmap class loader. + * + * $loader = new \Composer\Autoload\ClassLoader(); + * + * // register classes with namespaces + * $loader->add('Symfony\Component', __DIR__.'/component'); + * $loader->add('Symfony', __DIR__.'/framework'); + * + * // activate the autoloader + * $loader->register(); + * + * // to enable searching the include path (eg. for PEAR packages) + * $loader->setUseIncludePath(true); + * + * In this example, if you try to use a class in the Symfony\Component + * namespace or one of its children (Symfony\Component\Console for instance), + * the autoloader will first look for the class under the component/ + * directory, and it will then fallback to the framework/ directory if not + * found before giving up. + * + * This class is loosely based on the Symfony UniversalClassLoader. + * + * @author Fabien Potencier + * @author Jordi Boggiano + * @see http://www.php-fig.org/psr/psr-0/ + * @see http://www.php-fig.org/psr/psr-4/ + */ +class ClassLoader +{ + // PSR-4 + private $prefixLengthsPsr4 = array(); + private $prefixDirsPsr4 = array(); + private $fallbackDirsPsr4 = array(); + + // PSR-0 + private $prefixesPsr0 = array(); + private $fallbackDirsPsr0 = array(); + + private $useIncludePath = false; + private $classMap = array(); + private $classMapAuthoritative = false; + private $missingClasses = array(); + private $apcuPrefix; + + public function getPrefixes() + { + if (!empty($this->prefixesPsr0)) { + return call_user_func_array('array_merge', $this->prefixesPsr0); + } + + return array(); + } + + public function getPrefixesPsr4() + { + return $this->prefixDirsPsr4; + } + + public function getFallbackDirs() + { + return $this->fallbackDirsPsr0; + } + + public function getFallbackDirsPsr4() + { + return $this->fallbackDirsPsr4; + } + + public function getClassMap() + { + return $this->classMap; + } + + /** + * @param array $classMap Class to filename map + */ + public function addClassMap(array $classMap) + { + if ($this->classMap) { + $this->classMap = array_merge($this->classMap, $classMap); + } else { + $this->classMap = $classMap; + } + } + + /** + * Registers a set of PSR-0 directories for a given prefix, either + * appending or prepending to the ones previously set for this prefix. + * + * @param string $prefix The prefix + * @param array|string $paths The PSR-0 root directories + * @param bool $prepend Whether to prepend the directories + */ + public function add($prefix, $paths, $prepend = false) + { + if (!$prefix) { + if ($prepend) { + $this->fallbackDirsPsr0 = array_merge( + (array) $paths, + $this->fallbackDirsPsr0 + ); + } else { + $this->fallbackDirsPsr0 = array_merge( + $this->fallbackDirsPsr0, + (array) $paths + ); + } + + return; + } + + $first = $prefix[0]; + if (!isset($this->prefixesPsr0[$first][$prefix])) { + $this->prefixesPsr0[$first][$prefix] = (array) $paths; + + return; + } + if ($prepend) { + $this->prefixesPsr0[$first][$prefix] = array_merge( + (array) $paths, + $this->prefixesPsr0[$first][$prefix] + ); + } else { + $this->prefixesPsr0[$first][$prefix] = array_merge( + $this->prefixesPsr0[$first][$prefix], + (array) $paths + ); + } + } + + /** + * Registers a set of PSR-4 directories for a given namespace, either + * appending or prepending to the ones previously set for this namespace. + * + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param array|string $paths The PSR-4 base directories + * @param bool $prepend Whether to prepend the directories + * + * @throws \InvalidArgumentException + */ + public function addPsr4($prefix, $paths, $prepend = false) + { + if (!$prefix) { + // Register directories for the root namespace. + if ($prepend) { + $this->fallbackDirsPsr4 = array_merge( + (array) $paths, + $this->fallbackDirsPsr4 + ); + } else { + $this->fallbackDirsPsr4 = array_merge( + $this->fallbackDirsPsr4, + (array) $paths + ); + } + } elseif (!isset($this->prefixDirsPsr4[$prefix])) { + // Register directories for a new namespace. + $length = strlen($prefix); + if ('\\' !== $prefix[$length - 1]) { + throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); + } + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; + $this->prefixDirsPsr4[$prefix] = (array) $paths; + } elseif ($prepend) { + // Prepend directories for an already registered namespace. + $this->prefixDirsPsr4[$prefix] = array_merge( + (array) $paths, + $this->prefixDirsPsr4[$prefix] + ); + } else { + // Append directories for an already registered namespace. + $this->prefixDirsPsr4[$prefix] = array_merge( + $this->prefixDirsPsr4[$prefix], + (array) $paths + ); + } + } + + /** + * Registers a set of PSR-0 directories for a given prefix, + * replacing any others previously set for this prefix. + * + * @param string $prefix The prefix + * @param array|string $paths The PSR-0 base directories + */ + public function set($prefix, $paths) + { + if (!$prefix) { + $this->fallbackDirsPsr0 = (array) $paths; + } else { + $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths; + } + } + + /** + * Registers a set of PSR-4 directories for a given namespace, + * replacing any others previously set for this namespace. + * + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param array|string $paths The PSR-4 base directories + * + * @throws \InvalidArgumentException + */ + public function setPsr4($prefix, $paths) + { + if (!$prefix) { + $this->fallbackDirsPsr4 = (array) $paths; + } else { + $length = strlen($prefix); + if ('\\' !== $prefix[$length - 1]) { + throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); + } + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; + $this->prefixDirsPsr4[$prefix] = (array) $paths; + } + } + + /** + * Turns on searching the include path for class files. + * + * @param bool $useIncludePath + */ + public function setUseIncludePath($useIncludePath) + { + $this->useIncludePath = $useIncludePath; + } + + /** + * Can be used to check if the autoloader uses the include path to check + * for classes. + * + * @return bool + */ + public function getUseIncludePath() + { + return $this->useIncludePath; + } + + /** + * Turns off searching the prefix and fallback directories for classes + * that have not been registered with the class map. + * + * @param bool $classMapAuthoritative + */ + public function setClassMapAuthoritative($classMapAuthoritative) + { + $this->classMapAuthoritative = $classMapAuthoritative; + } + + /** + * Should class lookup fail if not found in the current class map? + * + * @return bool + */ + public function isClassMapAuthoritative() + { + return $this->classMapAuthoritative; + } + + /** + * APCu prefix to use to cache found/not-found classes, if the extension is enabled. + * + * @param string|null $apcuPrefix + */ + public function setApcuPrefix($apcuPrefix) + { + $this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null; + } + + /** + * The APCu prefix in use, or null if APCu caching is not enabled. + * + * @return string|null + */ + public function getApcuPrefix() + { + return $this->apcuPrefix; + } + + /** + * Registers this instance as an autoloader. + * + * @param bool $prepend Whether to prepend the autoloader or not + */ + public function register($prepend = false) + { + spl_autoload_register(array($this, 'loadClass'), true, $prepend); + } + + /** + * Unregisters this instance as an autoloader. + */ + public function unregister() + { + spl_autoload_unregister(array($this, 'loadClass')); + } + + /** + * Loads the given class or interface. + * + * @param string $class The name of the class + * @return bool|null True if loaded, null otherwise + */ + public function loadClass($class) + { + if ($file = $this->findFile($class)) { + includeFile($file); + + return true; + } + } + + /** + * Finds the path to the file where the class is defined. + * + * @param string $class The name of the class + * + * @return string|false The path if found, false otherwise + */ + public function findFile($class) + { + // class map lookup + if (isset($this->classMap[$class])) { + return $this->classMap[$class]; + } + if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) { + return false; + } + if (null !== $this->apcuPrefix) { + $file = apcu_fetch($this->apcuPrefix.$class, $hit); + if ($hit) { + return $file; + } + } + + $file = $this->findFileWithExtension($class, '.php'); + + // Search for Hack files if we are running on HHVM + if (false === $file && defined('HHVM_VERSION')) { + $file = $this->findFileWithExtension($class, '.hh'); + } + + if (null !== $this->apcuPrefix) { + apcu_add($this->apcuPrefix.$class, $file); + } + + if (false === $file) { + // Remember that this class does not exist. + $this->missingClasses[$class] = true; + } + + return $file; + } + + private function findFileWithExtension($class, $ext) + { + // PSR-4 lookup + $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext; + + $first = $class[0]; + if (isset($this->prefixLengthsPsr4[$first])) { + $subPath = $class; + while (false !== $lastPos = strrpos($subPath, '\\')) { + $subPath = substr($subPath, 0, $lastPos); + $search = $subPath.'\\'; + if (isset($this->prefixDirsPsr4[$search])) { + foreach ($this->prefixDirsPsr4[$search] as $dir) { + $length = $this->prefixLengthsPsr4[$first][$search]; + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) { + return $file; + } + } + } + } + } + + // PSR-4 fallback dirs + foreach ($this->fallbackDirsPsr4 as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) { + return $file; + } + } + + // PSR-0 lookup + if (false !== $pos = strrpos($class, '\\')) { + // namespaced class name + $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1) + . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR); + } else { + // PEAR-like class name + $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext; + } + + if (isset($this->prefixesPsr0[$first])) { + foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) { + if (0 === strpos($class, $prefix)) { + foreach ($dirs as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { + return $file; + } + } + } + } + } + + // PSR-0 fallback dirs + foreach ($this->fallbackDirsPsr0 as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { + return $file; + } + } + + // PSR-0 include paths. + if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) { + return $file; + } + + return false; + } +} + +/** + * Scope isolated include. + * + * Prevents access to $this/self from included files. + */ +function includeFile($file) +{ + include $file; +} diff --git a/user/plugins/login/vendor/composer/LICENSE b/user/plugins/login/vendor/composer/LICENSE new file mode 100644 index 0000000..f27399a --- /dev/null +++ b/user/plugins/login/vendor/composer/LICENSE @@ -0,0 +1,21 @@ + +Copyright (c) Nils Adermann, Jordi Boggiano + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/user/plugins/login/vendor/composer/autoload_classmap.php b/user/plugins/login/vendor/composer/autoload_classmap.php new file mode 100644 index 0000000..7a91153 --- /dev/null +++ b/user/plugins/login/vendor/composer/autoload_classmap.php @@ -0,0 +1,9 @@ + $vendorDir . '/paragonie/random_compat/lib/random.php', +); diff --git a/user/plugins/login/vendor/composer/autoload_namespaces.php b/user/plugins/login/vendor/composer/autoload_namespaces.php new file mode 100644 index 0000000..b7fc012 --- /dev/null +++ b/user/plugins/login/vendor/composer/autoload_namespaces.php @@ -0,0 +1,9 @@ + array($baseDir . '/classes'), + 'Birke\\' => array($vendorDir . '/birke/rememberme/src'), +); diff --git a/user/plugins/login/vendor/composer/autoload_real.php b/user/plugins/login/vendor/composer/autoload_real.php new file mode 100644 index 0000000..6a282d7 --- /dev/null +++ b/user/plugins/login/vendor/composer/autoload_real.php @@ -0,0 +1,70 @@ += 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); + if ($useStaticLoader) { + require_once __DIR__ . '/autoload_static.php'; + + call_user_func(\Composer\Autoload\ComposerStaticIniteed5e5cf0aa1e2139f2db7445511e366::getInitializer($loader)); + } else { + $map = require __DIR__ . '/autoload_namespaces.php'; + foreach ($map as $namespace => $path) { + $loader->set($namespace, $path); + } + + $map = require __DIR__ . '/autoload_psr4.php'; + foreach ($map as $namespace => $path) { + $loader->setPsr4($namespace, $path); + } + + $classMap = require __DIR__ . '/autoload_classmap.php'; + if ($classMap) { + $loader->addClassMap($classMap); + } + } + + $loader->register(true); + + if ($useStaticLoader) { + $includeFiles = Composer\Autoload\ComposerStaticIniteed5e5cf0aa1e2139f2db7445511e366::$files; + } else { + $includeFiles = require __DIR__ . '/autoload_files.php'; + } + foreach ($includeFiles as $fileIdentifier => $file) { + composerRequireeed5e5cf0aa1e2139f2db7445511e366($fileIdentifier, $file); + } + + return $loader; + } +} + +function composerRequireeed5e5cf0aa1e2139f2db7445511e366($fileIdentifier, $file) +{ + if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { + require $file; + + $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; + } +} diff --git a/user/plugins/login/vendor/composer/autoload_static.php b/user/plugins/login/vendor/composer/autoload_static.php new file mode 100644 index 0000000..49fb9e3 --- /dev/null +++ b/user/plugins/login/vendor/composer/autoload_static.php @@ -0,0 +1,43 @@ + __DIR__ . '/..' . '/paragonie/random_compat/lib/random.php', + ); + + public static $prefixLengthsPsr4 = array ( + 'G' => + array ( + 'Grav\\Plugin\\Login\\' => 18, + ), + 'B' => + array ( + 'Birke\\' => 6, + ), + ); + + public static $prefixDirsPsr4 = array ( + 'Grav\\Plugin\\Login\\' => + array ( + 0 => __DIR__ . '/../..' . '/classes', + ), + 'Birke\\' => + array ( + 0 => __DIR__ . '/..' . '/birke/rememberme/src', + ), + ); + + public static function getInitializer(ClassLoader $loader) + { + return \Closure::bind(function () use ($loader) { + $loader->prefixLengthsPsr4 = ComposerStaticIniteed5e5cf0aa1e2139f2db7445511e366::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticIniteed5e5cf0aa1e2139f2db7445511e366::$prefixDirsPsr4; + + }, null, ClassLoader::class); + } +} diff --git a/user/plugins/login/vendor/composer/installed.json b/user/plugins/login/vendor/composer/installed.json new file mode 100644 index 0000000..0e840cf --- /dev/null +++ b/user/plugins/login/vendor/composer/installed.json @@ -0,0 +1,99 @@ +[ + { + "name": "paragonie/random_compat", + "version": "v1.4.2", + "version_normalized": "1.4.2.0", + "source": { + "type": "git", + "url": "https://github.com/paragonie/random_compat.git", + "reference": "965cdeb01fdcab7653253aa81d40441d261f1e66" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/965cdeb01fdcab7653253aa81d40441d261f1e66", + "reference": "965cdeb01fdcab7653253aa81d40441d261f1e66", + "shasum": "" + }, + "require": { + "php": ">=5.2.0" + }, + "require-dev": { + "phpunit/phpunit": "4.*|5.*" + }, + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + }, + "time": "2017-03-13T16:22:52+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "files": [ + "lib/random.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" + } + ], + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "pseudorandom", + "random" + ] + }, + { + "name": "birke/rememberme", + "version": "1.0.5", + "version_normalized": "1.0.5.0", + "source": { + "type": "git", + "url": "https://github.com/gbirke/rememberme.git", + "reference": "810473852eb4823098e47e23376a19b77ba0c165" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/gbirke/rememberme/zipball/810473852eb4823098e47e23376a19b77ba0c165", + "reference": "810473852eb4823098e47e23376a19b77ba0c165", + "shasum": "" + }, + "require": { + "paragonie/random_compat": "^1.1.4" + }, + "require-dev": { + "phpunit/phpunit": "4.*" + }, + "time": "2017-02-12T12:43:00+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Birke\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gabriel Birke", + "email": "gb@birke-software.de" + } + ], + "description": "Secure \"Remember Me\" functionality", + "homepage": "https://github.com/gbirke/rememberme", + "keywords": [ + "cookie", + "remember", + "security" + ] + } +] diff --git a/user/plugins/login/vendor/paragonie/random_compat/CHANGELOG.md b/user/plugins/login/vendor/paragonie/random_compat/CHANGELOG.md new file mode 100644 index 0000000..f8f01b7 --- /dev/null +++ b/user/plugins/login/vendor/paragonie/random_compat/CHANGELOG.md @@ -0,0 +1,282 @@ +### Version 1.4.2 - 2017-03-13 + +* Backport changes from version 2: + * Version 2.0.9 - 2017-03-03 + * More Psalm integration fixes. + * Version 2.0.8 - 2017-03-03 + * Prevent function already declared error for `random_int()` caused by misusing + the library (really you should only ever include `lib/random.php` and never any + of the other files). See [#125](https://github.com/paragonie/random_compat/issues/125). + * Version 2.0.6, 2.0.7 - 2017-02-27 + * Just updates to psalm.xml to silence false positives. + * Version 2.0.5 - 2017-02-27 + * Run random_compat through the static analysis tool, [psalm](https://github.com/vimeo/psalm), + as part of our continuous integration process. + * Minor readability enhancements ([#122](https://github.com/paragonie/random_compat/issues/122) + and several docblock changes). + * Version 2.0.4 - 2016-11-07 + * Don't unnecessarily prevent `mcrypt_create_iv()` from being used. + See [#111](https://github.com/paragonie/random_compat/issues/111). + * Version 2.0.3 - 2016-10-17 + * Updated `lib/error_polyfill.php` [to resolve corner cases](https://github.com/paragonie/random_compat/issues/104). + * The README was updated to help users troubleshoot and fix insecure environments. + * Tags will now be signed by [the GnuPG key used by the security team at Paragon Initiative Enterprises, LLC](https://paragonie.com/static/gpg-public-key.txt). + * Version 2.0.2 - 2016-04-03 + * Added a consistency check (discovered by Taylor Hornby in his + [PHP encryption library](https://github.com/defuse/php-encryption)). It + wasn't likely causing any trouble for us. + +### Version 1.4.1 - 2016-03-18 + +Update comment in random.php + +### Version 1.4.0 - 2016-03-18 + +Restored OpenSSL in the version 1 branch in preparation to remove +OpenSSL in version 2. + +### Version 1.3.1/1.2.3 - 2016-03-18 + +* Add more possible values to `open_baseir` check. + +### Version 1.3.0 - 2016-03-17 + +* Removed `openssl_random_pseudo_bytes()` entirely. If you are using + random_compat in PHP on a Unix-like OS but cannot access + `/dev/urandom`, version 1.3+ will throw an `Exception`. If you want to + trust OpenSSL, feel free to write your own fallback code. e.g. + + ```php + try { + $bytes = random_bytes(32); + } catch (Exception $ex) { + $strong = false; + $bytes = openssl_random_pseudo_bytes(32, $strong); + if (!$strong) { + throw $ex; + } + } + ``` + +### Version 1.2.2 - 2016-03-11 + +* To prevent applications from hanging, if `/dev/urandom` is not + accessible to PHP, skip mcrypt (which just fails before giving OpenSSL + a chance and was morally equivalent to not offering OpenSSL at all). + +### Version 1.2.1 - 2016-02-29 + +* PHP 5.6.10 - 5.6.12 will hang when mcrypt is used on Unix-based operating + systems ([PHP bug 69833](https://bugs.php.net/bug.php?id=69833)). If you are + running one of these versions, please upgrade (or make sure `/dev/urandom` is + readable) otherwise you're relying on OpenSSL. + +### Version 1.2.0 - 2016-02-05 + +* Whitespace and other cosmetic changes +* Added a changelog. +* We now ship with a command line utility to build a PHP Archive from the + command line. + + Every time we publish a new release, we will also upload a .phar + to Github. Our public key is signed by our GPG key. + +### Version 1.1.6 - 2016-01-29 + +* Eliminate `open_basedir` warnings by detecting this configuration setting. + (Thanks [@oucil](https://github.com/oucil) for reporting this.) +* Added install instructions to the README. +* Documentation cleanup (there is, in fact, no `MCRYPT_CREATE_IV` constant, I + meant to write `MCRYPT_DEV_URANDOM`) + +### Version 1.1.5 - 2016-01-06 + +Prevent fatal errors on platforms with older versions of libsodium. + +### Version 1.1.4 - 2015-12-10 + +Thanks [@narfbg](https://github.com/narfbg) for [critiquing the previous patch](https://github.com/paragonie/random_compat/issues/79#issuecomment-163590589) +and suggesting a fix. + +### Version 1.1.3 - 2015-12-09 + +The test for COM in disabled_classes is now case-insensitive. + +### Version 1.1.2 - 2015-12-09 + +Don't instantiate COM if it's a disabled class. Removes the E_WARNING on Windows. + +### Version 1.1.1 - 2015-11-30 + +Fix a performance issue with `/dev/urandom` buffering. + +### Version 1.1.0 - 2015-11-09 + +Fix performance issues with ancient versions of PHP on Windows, but dropped +support for PHP < 5.4.1 without mcrypt on Windows 7+ in the process. Since this + is a BC break, semver dictates a minor version bump. + +### Version 1.0.10 - 2015-10-23 + +* Avoid a performance killer with OpenSSL on Windows PHP 5.3.0 - 5.3.3 that was + affecting [WordPress users](https://core.trac.wordpress.org/ticket/34409). +* Use `$var = null` instead of `unset($var)` to avoid triggering the garbage + collector and slowing things down. + +### Version 1.0.9 - 2015-10-20 + +There is an outstanding issue `mcrypt_create_iv()` and PHP 7's `random_bytes()` +on Windows reported by [@nicolas-grekas](https://github.com/nicolas-grekas) caused by `proc_open()` and environment +variable handling (discovered by Appveyor when developing Symfony). + +Since the break is consistent, it's not our responsibility to fix it, but we +should fail the same way PHP 7 will (i.e. throw an `Exception` rather than raise +an error and then throw an `Exception`). + +### Version 1.0.8 - 2015-10-18 + +* Fix usability issues with Windows (`new COM('CAPICOM.Utilities.1')` is not + always available). +* You can now test all the possible drivers by running `phpunit.sh each` in the + `tests` directory. + +### Version 1.0.7 - 2015-10-16 + +Several large integer handling bugfixes were contributed by [@oittaa](https://github.com/oittaa). + +### Version 1.0.6 - 2015-10-15 + +Don't let the version number fool you, this was a pretty significant change. + +1. Added support for ext-libsodium, if it exists on the system. This is morally + equivalent to adding `getrandom(2)` support without having to expose the + syscall interface in PHP-land. +2. Relaxed open_basedir restrictions. In previous versions, if open_basedir was + set, PHP wouldn't even try to read from `/dev/urandom`. Now it will still do + so if you can. +3. Fixed integer casting inconsistencies between random_compat and PHP 7. +4. Handle edge cases where an integer overflow turns one of the parameters into + a float. + +One change that we discussed was making `random_bytes()` and `random_int()` +strict typed; meaning you could *only* pass integers to either function. While +most veteran programmers are probably only doing this already (we strongly +encourage it), it wouldn't be consistent with how these functions behave in PHP +7. Please use these functions responsibly. + +We've had even more of the PHP community involved in this release; the +contributors list has been updated. If I forgot anybody, I promise you it's not +because your contributions (either code or ideas) aren't valued, it's because +I'm a bit overloaded with information at the moment. Please let me know +immediately and I will correct my oversight. + +Thanks everyone for helping make random_compat better. + +### Version 1.0.5 - 2015-10-08 + +Got rid of the methods in the `Throwable` interface, which was causing problems +on PHP 5.2. While we would normally not care about 5.2 (since [5.4 and earlier are EOL'd](https://secure.php.net/supported-versions.php)), +we do want to encourage widespread adoption (e.g. [Wordpress](https://core.trac.wordpress.org/ticket/28633)). + +### Version 1.0.4 - 2015-10-02 + +Removed redundant `if()` checks, since `lib/random.php` is the entrypoint people +should use. + +### Version 1.0.3 - 2015-10-02 + +This release contains bug fixes contributed by the community. + +* Avoid a PHP Notice when PHP is running without the mbstring extension +* Use a compatible version of PHPUnit for testing on older versions of PHP + +Although none of these bugs were outright security-affecting, updating ASAP is +still strongly encouraged. + +### Version 1.0.2 - 2015-09-23 + +Less strict input validation on `random_int()` parameters. PHP 7's `random_int()` +accepts strings and floats that look like numbers, so we should too. + +Thanks [@dd32](https://github.com/@dd32) for correcting this oversight. + +### Version 1.0.1 - 2015-09-10 + +Instead of throwing an Exception immediately on insecure platforms, only do so +when `random_bytes()` is invoked. + +### Version 1.0.0 - 2015-09-07 + +Our API is now stable and forward-compatible with the CSPRNG features in PHP 7 +(as of 7.0.0 RC3). + +A lot of great people have contributed their time and expertise to make this +compatibility library possible. That this library has reached a stable release +is more a reflection on the community than it is on PIE. + +We are confident that random_compat will serve as the simplest and most secure +CSPRNG interface available for PHP5 projects. + +### Version 0.9.7 (pre-release) - 2015-09-01 + +An attempt to achieve compatibility with Error/TypeError in the RFC. + +This should be identical to 1.0.0 sans any last-minute changes or performance enhancements. + +### Version 0.9.6 (pre-release) - 2015-08-06 + +* Split the implementations into their own file (for ease of auditing) +* Corrected the file type check after `/dev/urandom` has been opened (thanks + [@narfbg](https://github.com/narfbg) and [@jedisct1](https://github.com/jedisct1)) + +### Version 0.9.5 (pre-release) - 2015-07-31 + +* Validate that `/dev/urandom` is a character device + * Reported by [@lokdnet](https://twitter.com/lokdnet) + * Investigated by [@narfbg](https://github.com/narfbg) and [frymaster](http://stackoverflow.com/users/1226810/frymaster) on [StackOverflow](http://stackoverflow.com/q/31631066/2224584) +* Remove support for `/dev/arandom` which is an old OpenBSD feature, thanks [@jedisct1](https://github.com/jedisct1) +* Prevent race conditions on the `filetype()` check, thanks [@jedisct1](https://github.com/jedisct1) +* Buffer file reads to 8 bytes (performance optimization; PHP defaults to 8192 bytes) + +### Version 0.9.4 (pre-release) - 2015-07-27 + +* Add logic to verify that `/dev/arandom` and `/dev/urandom` are actually devices. +* Some clean-up in the comments + +### Version 0.9.3 (pre-release) - 2015-07-22 + +Unless the Exceptions change to PHP 7 fails, this should be the last pre-release +version. If need be, we'll make one more pre-release version with compatible +behavior. + +Changes since 0.9.2: + +* Prioritize `/dev/arandom` and `/dev/urandom` over mcrypt. +[@oittaa](https://github.com/oittaa) removed the -1 and +1 juggling on `$range` calculations for `random_int()` +* Whitespace and comment clean-up, plus better variable names +* Actually put a description in the composer.json file... + +### Version 0.9.2 (pre-release) - 2015-07-16 + +* Consolidated `$range > PHP_INT_MAX` logic with `$range <= PHP_INT_MAX` (thanks + [@oittaa](https://github.com/oittaa) and [@CodesInChaos](https://github.com/CodesInChaos)) +* `tests/phpunit.sh` now also runs the tests with `mbstring.func_overload` and + `open_basedir` +* Style consistency, whitespace cleanup, more meaningful variable names + +### Version 0.9.1 (pre-release) - 2015-07-09 + +* Return random values on integer ranges > `PHP_INT_MAX` (thanks [@CodesInChaos](https://github.com/CodesInChaos)) +* Determined CSPRNG preference: + 1. `mcrypt_create_iv()` with `MCRYPT_DEV_URANDOM` + 2. `/dev/arandom` + 3. `/dev/urandom` + 4. `openssl_random_pseudo_bytes()` +* Optimized backend selection (thanks [@lt](https://github.com/lt)) +* Fix #3 (thanks [@scottchiefbaker](https://github.com/scottchiefbaker)) + +### Version 0.9.0 (pre-release) - 2015-07-07 + +This should be a sane polyfill for PHP 7's `random_bytes()` and `random_int()`. +We hesitate to call it production ready until it has received sufficient third +party review. \ No newline at end of file diff --git a/user/plugins/login/vendor/paragonie/random_compat/LICENSE b/user/plugins/login/vendor/paragonie/random_compat/LICENSE new file mode 100644 index 0000000..45c7017 --- /dev/null +++ b/user/plugins/login/vendor/paragonie/random_compat/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015 Paragon Initiative Enterprises + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/user/plugins/login/vendor/paragonie/random_compat/RATIONALE.md b/user/plugins/login/vendor/paragonie/random_compat/RATIONALE.md new file mode 100644 index 0000000..a6e7307 --- /dev/null +++ b/user/plugins/login/vendor/paragonie/random_compat/RATIONALE.md @@ -0,0 +1,42 @@ +## Rationale (Design Decisions) + +### Reasoning Behind the Order of Preferred Random Data Sources + +The order is: + + 1. `libsodium if available` + 2. `fread() /dev/urandom if available` + 3. `mcrypt_create_iv($bytes, MCRYPT_DEV_URANDOM)` + 4. `COM('CAPICOM.Utilities.1')->GetRandom()` + 5. `openssl_random_pseudo_bytes()` + +If libsodium is available, we get random data from it. This is the preferred +method on all OSes, but libsodium is not very widely installed, so other +fallbacks are available. + +Next, we read `/dev/urandom` (if it exists). This is the preferred file to read +for random data for cryptographic purposes for BSD and Linux. This step +is skipped on Windows, because someone could create a `C:\dev\urandom` +file and PHP would helpfully (but insecurely) return bytes from it. + +Despite [strongly urging people not to use mcrypt in their projects](https://paragonie.com/blog/2015/05/if-you-re-typing-word-mcrypt-into-your-code-you-re-doing-it-wrong) +(because libmcrypt is abandonware and the API puts too much responsibility on the +implementor) we prioritize `mcrypt_create_iv()` with `MCRYPT_DEV_URANDOM` above +the remaining implementations. + +The reason is simple: `mcrypt_create_iv()` is part of PHP's `ext/mcrypt` code, +and is not part `libmcrypt`. It actually does the right thing: + + * On Unix-based operating systems, it reads from `/dev/urandom` which + (unlike `/dev/random`) is the sane and correct thing to do. + * On Windows, it reads from `CryptGenRandom`, which is an exclusively Windows + way to get random bytes. + +If we're on Windows and don't have access to `mcrypt`, we use `CAPICOM.Utilities.1`. + +Finally, we use `openssl_random_pseudo_bytes()` **as a last resort**, due to +[PHP bug #70014](https://bugs.php.net/bug.php?id=70014). Internally, this +function calls `RAND_pseudo_bytes()`, which has been [deprecated](https://github.com/paragonie/random_compat/issues/5) +by the OpenSSL team. Furthermore, [it might silently return weak random data](https://github.com/paragonie/random_compat/issues/6#issuecomment-119564973) +if it is called before OpenSSL's **userspace** CSPRNG is seeded. Also, +[you want the OS CSPRNG, not a userspace CSPRNG](http://sockpuppet.org/blog/2014/02/25/safely-generate-random-numbers/). diff --git a/user/plugins/login/vendor/paragonie/random_compat/README.md b/user/plugins/login/vendor/paragonie/random_compat/README.md new file mode 100644 index 0000000..63c6d71 --- /dev/null +++ b/user/plugins/login/vendor/paragonie/random_compat/README.md @@ -0,0 +1,176 @@ +# random_compat + +[![Build Status](https://travis-ci.org/paragonie/random_compat.svg?branch=v1.x)](https://travis-ci.org/paragonie/random_compat) +[![Scrutinizer](https://scrutinizer-ci.com/g/paragonie/random_compat/badges/quality-score.png?b=v1.x)](https://scrutinizer-ci.com/g/paragonie/random_compat) + +PHP 5.x polyfill for `random_bytes()` and `random_int()` created and maintained +by [Paragon Initiative Enterprises](https://paragonie.com). + +Although this library *should* function in earlier versions of PHP, we will only +consider issues relevant to [supported PHP versions](https://secure.php.net/supported-versions.php). +**If you are using an unsupported version of PHP, please upgrade as soon as possible.** + +## Important + +Although this library has been examined by some security experts in the PHP +community, there will always be a chance that we overlooked something. Please +ask your favorite trusted hackers to hammer it for implementation errors and +bugs before even thinking about deploying it in production. + +**Do not use the master branch, use a [stable release](https://github.com/paragonie/random_compat/releases/latest).** + +For the background of this library, please refer to our blog post on +[Generating Random Integers and Strings in PHP](https://paragonie.com/blog/2015/07/how-safely-generate-random-strings-and-integers-in-php). + +### Usability Notice + +If PHP cannot safely generate random data, this library will throw an `Exception`. +It will never fall back to insecure random data. If this keeps happening, upgrade +to a newer version of PHP immediately. + +## Installing + +**With [Composer](https://getcomposer.org):** + + composer require paragonie/random_compat + +**Signed PHP Archive:** + +As of version 1.2.0, we also ship an ECDSA-signed PHP Archive with each stable +release on Github. + +1. Download [the `.phar`, `.phar.pubkey`, and `.phar.pubkey.asc`](https://github.com/paragonie/random_compat/releases/latest) files. +2. (**Recommended** but not required) Verify the PGP signature of `.phar.pubkey` + (contained within the `.asc` file) using the [PGP public key for Paragon Initiative Enterprises](https://paragonie.com/static/gpg-public-key.txt). +3. Extract both `.phar` and `.phar.pubkey` files to the same directory. +4. `require_once "/path/to/random_compat.phar";` +5. When a new version is released, you only need to replace the `.phar` file; + the `.pubkey` will not change (unless our signing key is ever compromised). + +**Manual Installation:** + +1. Download [a stable release](https://github.com/paragonie/random_compat/releases/latest). +2. Extract the files into your project. +3. `require_once "/path/to/random_compat/lib/random.php";` + +## Usage + +This library exposes the [CSPRNG functions added in PHP 7](https://secure.php.net/manual/en/ref.csprng.php) +for use in PHP 5 projects. Their behavior should be identical. + +### Generate a string of random bytes + +```php +try { + $string = random_bytes(32); +} catch (TypeError $e) { + // Well, it's an integer, so this IS unexpected. + die("An unexpected error has occurred"); +} catch (Error $e) { + // This is also unexpected because 32 is a reasonable integer. + die("An unexpected error has occurred"); +} catch (Exception $e) { + // If you get this message, the CSPRNG failed hard. + die("Could not generate a random string. Is our OS secure?"); +} + +var_dump(bin2hex($string)); +// string(64) "5787c41ae124b3b9363b7825104f8bc8cf27c4c3036573e5f0d4a91ad2eeac6f" +``` + +### Generate a random integer between two given integers (inclusive) + +```php +try { + $int = random_int(0,255); + +} catch (TypeError $e) { + // Well, it's an integer, so this IS unexpected. + die("An unexpected error has occurred"); +} catch (Error $e) { + // This is also unexpected because 0 and 255 are both reasonable integers. + die("An unexpected error has occurred"); +} catch (Exception $e) { + // If you get this message, the CSPRNG failed hard. + die("Could not generate a random string. Is our OS secure?"); +} + +var_dump($int); +// int(47) +``` + +### Exception handling + +When handling exceptions and errors you must account for differences between +PHP 5 and PHP7. + +The differences: + +* Catching `Error` works, so long as it is caught before `Exception`. +* Catching `Exception` has different behavior, without previously catching `Error`. +* There is *no* portable way to catch all errors/exceptions. + +#### Our recommendation + +**Always** catch `Error` before `Exception`. + +#### Example + +```php +try { + return random_int(1, $userInput); +} catch (TypeError $e) { + // This is okay, so long as `Error` is caught before `Exception`. + throw new Exception('Please enter a number!'); +} catch (Error $e) { + // This is required, if you do not need to do anything just rethrow. + throw $e; +} catch (Exception $e) { + // This is optional and maybe omitted if you do not want to handle errors + // during generation. + throw new InternalServerErrorException( + 'Oops, our server is bust and cannot generate any random data.', + 500, + $e + ); +} +``` + +## Contributors + +This project would not be anywhere near as excellent as it is today if it +weren't for the contributions of the following individuals: + +* [@AndrewCarterUK (Andrew Carter)](https://github.com/AndrewCarterUK) +* [@asgrim (James Titcumb)](https://github.com/asgrim) +* [@bcremer (Benjamin Cremer)](https://github.com/bcremer) +* [@CodesInChaos (Christian Winnerlein)](https://github.com/CodesInChaos) +* [@chriscct7 (Chris Christoff)](https://github.com/chriscct7) +* [@cs278 (Chris Smith)](https://github.com/cs278) +* [@cweagans (Cameron Eagans)](https://github.com/cweagans) +* [@dd32 (Dion Hulse)](https://github.com/dd32) +* [@geggleto (Glenn Eggleton)](https://github.com/geggleto) +* [@ircmaxell (Anthony Ferrara)](https://github.com/ircmaxell) +* [@jedisct1 (Frank Denis)](https://github.com/jedisct1) +* [@juliangut (Julián Gutiérrez)](https://github.com/juliangut) +* [@kelunik (Niklas Keller)](https://github.com/kelunik) +* [@lt (Leigh)](https://github.com/lt) +* [@MasonM (Mason Malone)](https://github.com/MasonM) +* [@mmeyer2k (Michael M)](https://github.com/mmeyer2k) +* [@narfbg (Andrey Andreev)](https://github.com/narfbg) +* [@nicolas-grekas (Nicolas Grekas)](https://github.com/nicolas-grekas) +* [@oittaa](https://github.com/oittaa) +* [@oucil (Kevin Farley)](https://github.com/oucil) +* [@redragonx (Stephen Chavez)](https://github.com/redragonx) +* [@rchouinard (Ryan Chouinard)](https://github.com/rchouinard) +* [@SammyK (Sammy Kaye Powers)](https://github.com/SammyK) +* [@scottchiefbaker (Scott Baker)](https://github.com/scottchiefbaker) +* [@skyosev (Stoyan Kyosev)](https://github.com/skyosev) +* [@stof (Christophe Coevoet)](https://github.com/stof) +* [@teohhanhui (Teoh Han Hui)](https://github.com/teohhanhui) +* [@tom-- (Tom Worster)](https://github.com/tom--) +* [@tsyr2ko](https://github.com/tsyr2ko) +* [@trowski (Aaron Piotrowski)](https://github.com/trowski) +* [@twistor (Chris Lepannen)](https://github.com/twistor) +* [@voku (Lars Moelleken)](https://github.com/voku) +* [@xabbuh (Christian Flothmann)](https://github.com/xabbuh) diff --git a/user/plugins/login/vendor/paragonie/random_compat/SECURITY.md b/user/plugins/login/vendor/paragonie/random_compat/SECURITY.md new file mode 100644 index 0000000..8f731b3 --- /dev/null +++ b/user/plugins/login/vendor/paragonie/random_compat/SECURITY.md @@ -0,0 +1,108 @@ +# An Invitation to Security Researchers + +Every company says they take security "very seriously." Rather than bore anyone +with banal boilerplate, here are some quick answers followed by detailed +elaboration. If you have any questions about our policies, please email them to +`scott@paragonie.com`. + +## Quick Answers + +* There is no compulsion to disclose vulnerabilities privately, but we + appreciate a head's up. +* `security@paragonie.com` will get your reports to the right person. Our GPG + fingerprint, should you decide to encrypt your report, is + `7F52 D5C6 1D12 55C7 3136 2E82 6B97 A1C2 8264 04DA`. + +* **YES**, we will reward security researchers who disclose vulnerabilities in + our software. +* In most cases, **No Proof-of-Concept Required.** + +## How to Report a Security Bug to Paragon Initiative Enterprises + +### There is no compulsion to disclose privately. + +We believe vulnerability disclosure style is a personal choice and enjoy working +with a diverse community. We understand and appreciate the importance of Full +Disclosure in the history and practice of security research. + +We would *like* to know about high-severity bugs before they become public +knowledge, so we can fix them in a timely manner, but **we do not believe in +threatening researchers or trying to enforce vulnerability embargoes**. + +Ultimately, if you discover a security-affecting vulnerability, what you do with +it is your choice. We would like to work with people, and to celebrate and +reward their skill, experience, and dedication. We appreciate being informed of +our mistakes so we can learn from them and build a better product. Our goal is +to empower the community. + +### Where to Send Security Vulnerabilities + +Our security email address is `security@paragonie.com`. Also feel free to open a +new issue on Github if you want to disclose publicly. + +``` +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG + +mQENBFUgwRUBCADcIpqNwyYc5UmY/tpx1sF/rQ3knR1YNXYZThzFV+Gmqhp1fDH5 +qBs9foh1xwI6O7knWmQngnf/nBumI3x6xj7PuOdEZUh2FwCG/VWnglW8rKmoHzHA +ivjiu9SLnPIPAgHSHeh2XD7q3Ndm3nenbjAiRFNl2iXcwA2cTQp9Mmfw9vVcw0G0 +z1o0G3s8cC8ZS6flFySIervvfSRWj7A1acI5eE3+AH/qXJRdEJ+9J8OB65p1JMfk +6+fWgOB1XZxMpz70S0rW6IX38WDSRhEK2fXyZJAJjyt+YGuzjZySNSoQR/V6vNYn +syrNPCJ2i5CgZQxAkyBBcr7koV9RIhPRzct/ABEBAAG0IVNlY3VyaXR5IDxzZWN1 +cml0eUBwYXJhZ29uaWUuY29tPokBOQQTAQIAIwUCVSDBFQIbAwcLCQgHAwIBBhUI +AgkKCwQWAgMBAh4BAheAAAoJEGuXocKCZATat2YIAIoejNFEQ2c1iaOEtSuB7Pn/ +WLbsDsHNLDKOV+UnfaCjv/vL7D+5NMChFCi2frde/NQb2TsjqmIH+V+XbnJtlrXD +Vj7yvMVal+Jqjwj7v4eOEWcKVcFZk+9cfUgh7t92T2BMX58RpgZF0IQZ6Z1R3FfC +9Ub4X6ykW+te1q0/4CoRycniwmlQi6iGSr99LQ5pfJq2Qlmz/luTZ0UX0h575T7d +cp2T1sX/zFRk/fHeANWSksipdDBjAXR7NMnYZgw2HghEdFk/xRDY7K1NRWNZBf05 +WrMHmh6AIVJiWZvI175URxEe268hh+wThBhXQHMhFNJM1qPIuzb4WogxM3UUD7m5 +AQ0EVSDBFQEIALNkpzSuJsHAHh79sc0AYWztdUe2MzyofQbbOnOCpWZebYsC3EXU +335fIg59k0m6f+O7GmEZzzIv5v0i99GS1R8CJm6FvhGqtH8ZqmOGbc71WdJSiNVE +0kpQoJlVzRbig6ZyyjzrggbM1eh5OXOk5pw4+23FFEdw7JWU0HJS2o71r1hwp05Z +vy21kcUEobz/WWQQyGS0Neo7PJn+9KS6wOxXul/UE0jct/5f7KLMdWMJ1VgniQmm +hjvkHLPSICteqCI04RfcmMseW9gueHQXeUu1SNIvsWa2MhxjeBej3pDnrZWszKwy +gF45GO9/v4tkIXNMy5J1AtOyRgQ3IUMqp8EAEQEAAYkBHwQYAQIACQUCVSDBFQIb +DAAKCRBrl6HCgmQE2jnIB/4/xFz8InpM7eybnBOAir3uGcYfs3DOmaKn7qWVtGzv +rKpQPYnVtlU2i6Z5UO4c4jDLT/8Xm1UDz3Lxvqt4xCaDwJvBZexU5BMK8l5DvOzH +6o6P2L1UDu6BvmPXpVZz7/qUhOnyf8VQg/dAtYF4/ax19giNUpI5j5o5mX5w80Rx +qSXV9NdSL4fdjeG1g/xXv2luhoV53T1bsycI3wjk/x5tV+M2KVhZBvvuOm/zhJje +oLWp0saaESkGXIXqurj6gZoujJvSvzl0n9F9VwqMEizDUfrXgtD1siQGhP0sVC6q +ha+F/SAEJ0jEquM4TfKWWU2S5V5vgPPpIQSYRnhQW4b1 +=xJPW +-----END PGP PUBLIC KEY BLOCK----- +``` + +### We Will Reward Security Researchers + +**This process has not been formalized; nor have dollar amounts been +discussed.** + +However, if you report a valid security-affecting bug, we will compensate you +for the time spent finding the vulnerability and reward you for being a good +neighbor. + +#### What does a "valid" bug mean? + +There are two sides to this: + +1. Some have spammed projects with invalid bug reports hoping to collect + bounties for pressing a button and running an automated analysis tool. This + is not cool. +2. There is a potential for the developers of a project to declare all security + bug reports as invalid to save money. + +Our team members have an established history of reporting vulnerabilities to +large open source projects. **We aren't in the business of ripping people off.** +When in doubt, our policy is to err on the side of generosity. + +### No Proof-of-Concept Required + +We might ask for one if we feel we do not understand some of the details +pertaining to a specific vulnerability. We certainly appreciate them if you +include them in your report, but we believe **the burden lies with the developer +to prove their software *is* secure** rather than with the researcher to prove +that it isn't. + +In our experience, most bugs are simpler to fix than they are to exploit. + diff --git a/user/plugins/login/vendor/paragonie/random_compat/build-phar.sh b/user/plugins/login/vendor/paragonie/random_compat/build-phar.sh new file mode 100644 index 0000000..b4a5ba3 --- /dev/null +++ b/user/plugins/login/vendor/paragonie/random_compat/build-phar.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +basedir=$( dirname $( readlink -f ${BASH_SOURCE[0]} ) ) + +php -dphar.readonly=0 "$basedir/other/build_phar.php" $* \ No newline at end of file diff --git a/user/plugins/login/vendor/paragonie/random_compat/composer.json b/user/plugins/login/vendor/paragonie/random_compat/composer.json new file mode 100644 index 0000000..d363f4c --- /dev/null +++ b/user/plugins/login/vendor/paragonie/random_compat/composer.json @@ -0,0 +1,35 @@ +{ + "name": "paragonie/random_compat", + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "random", + "pseudorandom" + ], + "license": "MIT", + "type": "library", + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" + } + ], + "support": { + "issues": "https://github.com/paragonie/random_compat/issues", + "email": "info@paragonie.com", + "source": "https://github.com/paragonie/random_compat" + }, + "require": { + "php": ">=5.2.0" + }, + "require-dev": { + "phpunit/phpunit": "4.*|5.*" + }, + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + }, + "autoload": { + "files": ["lib/random.php"] + } +} diff --git a/user/plugins/login/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey b/user/plugins/login/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey new file mode 100644 index 0000000..eb50ebf --- /dev/null +++ b/user/plugins/login/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey @@ -0,0 +1,5 @@ +-----BEGIN PUBLIC KEY----- +MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEEd+wCqJDrx5B4OldM0dQE0ZMX+lx1ZWm +pui0SUqD4G29L3NGsz9UhJ/0HjBdbnkhIK5xviT0X5vtjacF6ajgcCArbTB+ds+p ++h7Q084NuSuIpNb6YPfoUFgC/CL9kAoc +-----END PUBLIC KEY----- diff --git a/user/plugins/login/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey.asc b/user/plugins/login/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey.asc new file mode 100644 index 0000000..6a1d7f3 --- /dev/null +++ b/user/plugins/login/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey.asc @@ -0,0 +1,11 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.22 (MingW32) + +iQEcBAABAgAGBQJWtW1hAAoJEGuXocKCZATaJf0H+wbZGgskK1dcRTsuVJl9IWip +QwGw/qIKI280SD6/ckoUMxKDCJiFuPR14zmqnS36k7N5UNPnpdTJTS8T11jttSpg +1LCmgpbEIpgaTah+cELDqFCav99fS+bEiAL5lWDAHBTE/XPjGVCqeehyPYref4IW +NDBIEsvnHPHPLsn6X5jq4+Yj5oUixgxaMPiR+bcO4Sh+RzOVB6i2D0upWfRXBFXA +NNnsg9/zjvoC7ZW73y9uSH+dPJTt/Vgfeiv52/v41XliyzbUyLalf02GNPY+9goV +JHG1ulEEBJOCiUD9cE1PUIJwHA/HqyhHIvV350YoEFiHl8iSwm7SiZu5kPjaq74= +=B6+8 +-----END PGP SIGNATURE----- diff --git a/user/plugins/login/vendor/paragonie/random_compat/lib/byte_safe_strings.php b/user/plugins/login/vendor/paragonie/random_compat/lib/byte_safe_strings.php new file mode 100644 index 0000000..6de294f --- /dev/null +++ b/user/plugins/login/vendor/paragonie/random_compat/lib/byte_safe_strings.php @@ -0,0 +1,181 @@ + RandomCompat_strlen($binary_string)) { + return ''; + } + + return (string) mb_substr($binary_string, $start, $length, '8bit'); + } + + } else { + + /** + * substr() implementation that isn't brittle to mbstring.func_overload + * + * This version just uses the default substr() + * + * @param string $binary_string + * @param int $start + * @param int $length (optional) + * + * @throws TypeError + * + * @return string + */ + function RandomCompat_substr($binary_string, $start, $length = null) + { + if (!is_string($binary_string)) { + throw new TypeError( + 'RandomCompat_substr(): First argument should be a string' + ); + } + + if (!is_int($start)) { + throw new TypeError( + 'RandomCompat_substr(): Second argument should be an integer' + ); + } + + if ($length !== null) { + if (!is_int($length)) { + throw new TypeError( + 'RandomCompat_substr(): Third argument should be an integer, or omitted' + ); + } + + return (string) substr($binary_string, $start, $length); + } + + return (string) substr($binary_string, $start); + } + } +} diff --git a/user/plugins/login/vendor/paragonie/random_compat/lib/cast_to_int.php b/user/plugins/login/vendor/paragonie/random_compat/lib/cast_to_int.php new file mode 100644 index 0000000..dc4048c --- /dev/null +++ b/user/plugins/login/vendor/paragonie/random_compat/lib/cast_to_int.php @@ -0,0 +1,74 @@ + operators might accidentally let a float + * through. + * + * @param int|float $number The number we want to convert to an int + * @param boolean $fail_open Set to true to not throw an exception + * + * @return float|int + * + * @throws TypeError + */ + function RandomCompat_intval($number, $fail_open = false) + { + if (is_int($number) || is_float($number)) { + $number += 0; + } elseif (is_numeric($number)) { + $number += 0; + } + + if ( + is_float($number) + && + $number > ~PHP_INT_MAX + && + $number < PHP_INT_MAX + ) { + $number = (int) $number; + } + + if (is_int($number)) { + return (int) $number; + } elseif (!$fail_open) { + throw new TypeError( + 'Expected an integer.' + ); + } + return $number; + } +} diff --git a/user/plugins/login/vendor/paragonie/random_compat/lib/error_polyfill.php b/user/plugins/login/vendor/paragonie/random_compat/lib/error_polyfill.php new file mode 100644 index 0000000..17ece7b --- /dev/null +++ b/user/plugins/login/vendor/paragonie/random_compat/lib/error_polyfill.php @@ -0,0 +1,49 @@ += 70000) { + return; +} + +if (!defined('RANDOM_COMPAT_READ_BUFFER')) { + define('RANDOM_COMPAT_READ_BUFFER', 8); +} + +$RandomCompatDIR = dirname(__FILE__); + +require_once $RandomCompatDIR . '/byte_safe_strings.php'; +require_once $RandomCompatDIR . '/cast_to_int.php'; +require_once $RandomCompatDIR . '/error_polyfill.php'; + +if (!is_callable('random_bytes')) { + /** + * PHP 5.2.0 - 5.6.x way to implement random_bytes() + * + * We use conditional statements here to define the function in accordance + * to the operating environment. It's a micro-optimization. + * + * In order of preference: + * 1. Use libsodium if available. + * 2. fread() /dev/urandom if available (never on Windows) + * 3. mcrypt_create_iv($bytes, MCRYPT_DEV_URANDOM) + * 4. COM('CAPICOM.Utilities.1')->GetRandom() + * + * See RATIONALE.md for our reasoning behind this particular order + */ + if (extension_loaded('libsodium')) { + // See random_bytes_libsodium.php + if (PHP_VERSION_ID >= 50300 && is_callable('\\Sodium\\randombytes_buf')) { + require_once $RandomCompatDIR . '/random_bytes_libsodium.php'; + } elseif (method_exists('Sodium', 'randombytes_buf')) { + require_once $RandomCompatDIR . '/random_bytes_libsodium_legacy.php'; + } + } + + /** + * Reading directly from /dev/urandom: + */ + if (DIRECTORY_SEPARATOR === '/') { + // DIRECTORY_SEPARATOR === '/' on Unix-like OSes -- this is a fast + // way to exclude Windows. + $RandomCompatUrandom = true; + $RandomCompat_basedir = ini_get('open_basedir'); + + if (!empty($RandomCompat_basedir)) { + $RandomCompat_open_basedir = explode( + PATH_SEPARATOR, + strtolower($RandomCompat_basedir) + ); + $RandomCompatUrandom = (array() !== array_intersect( + array('/dev', '/dev/', '/dev/urandom'), + $RandomCompat_open_basedir + )); + $RandomCompat_open_basedir = null; + } + + if ( + !is_callable('random_bytes') + && + $RandomCompatUrandom + && + @is_readable('/dev/urandom') + ) { + // Error suppression on is_readable() in case of an open_basedir + // or safe_mode failure. All we care about is whether or not we + // can read it at this point. If the PHP environment is going to + // panic over trying to see if the file can be read in the first + // place, that is not helpful to us here. + + // See random_bytes_dev_urandom.php + require_once $RandomCompatDIR . '/random_bytes_dev_urandom.php'; + } + // Unset variables after use + $RandomCompat_basedir = null; + } else { + $RandomCompatUrandom = false; + } + + /** + * mcrypt_create_iv() + * + * We only want to use mcypt_create_iv() if: + * + * - random_bytes() hasn't already been defined + * - the mcrypt extensions is loaded + * - One of these two conditions is true: + * - We're on Windows (DIRECTORY_SEPARATOR !== '/') + * - We're not on Windows and /dev/urandom is readabale + * (i.e. we're not in a chroot jail) + * - Special case: + * - If we're not on Windows, but the PHP version is between + * 5.6.10 and 5.6.12, we don't want to use mcrypt. It will + * hang indefinitely. This is bad. + * - If we're on Windows, we want to use PHP >= 5.3.7 or else + * we get insufficient entropy errors. + */ + if ( + !is_callable('random_bytes') + && + // Windows on PHP < 5.3.7 is broken, but non-Windows is not known to be. + (DIRECTORY_SEPARATOR === '/' || PHP_VERSION_ID >= 50307) + && + // Prevent this code from hanging indefinitely on non-Windows; + // see https://bugs.php.net/bug.php?id=69833 + ( + DIRECTORY_SEPARATOR !== '/' || + (PHP_VERSION_ID <= 50609 || PHP_VERSION_ID >= 50613) + ) + && + extension_loaded('mcrypt') + ) { + // See random_bytes_mcrypt.php + require_once $RandomCompatDIR . '/random_bytes_mcrypt.php'; + } + $RandomCompatUrandom = null; + + /** + * This is a Windows-specific fallback, for when the mcrypt extension + * isn't loaded. + */ + if ( + !is_callable('random_bytes') + && + extension_loaded('com_dotnet') + && + class_exists('COM') + ) { + $RandomCompat_disabled_classes = preg_split( + '#\s*,\s*#', + strtolower(ini_get('disable_classes')) + ); + + if (!in_array('com', $RandomCompat_disabled_classes)) { + try { + $RandomCompatCOMtest = new COM('CAPICOM.Utilities.1'); + if (method_exists($RandomCompatCOMtest, 'GetRandom')) { + // See random_bytes_com_dotnet.php + require_once $RandomCompatDIR . '/random_bytes_com_dotnet.php'; + } + } catch (com_exception $e) { + // Don't try to use it. + } + } + $RandomCompat_disabled_classes = null; + $RandomCompatCOMtest = null; + } + + /** + * openssl_random_pseudo_bytes() + */ + if ( + ( + // Unix-like with PHP >= 5.3.0 or + ( + DIRECTORY_SEPARATOR === '/' + && + PHP_VERSION_ID >= 50300 + ) + || + // Windows with PHP >= 5.4.1 + PHP_VERSION_ID >= 50401 + ) + && + !function_exists('random_bytes') + && + extension_loaded('openssl') + ) { + // See random_bytes_openssl.php + require_once $RandomCompatDIR . '/random_bytes_openssl.php'; + } + + /** + * throw new Exception + */ + if (!is_callable('random_bytes')) { + /** + * We don't have any more options, so let's throw an exception right now + * and hope the developer won't let it fail silently. + * + * @param mixed $length + * @return void + * @throws Exception + */ + function random_bytes($length) + { + unset($length); // Suppress "variable not used" warnings. + throw new Exception( + 'There is no suitable CSPRNG installed on your system' + ); + } + } +} + +if (!is_callable('random_int')) { + require_once $RandomCompatDIR . '/random_int.php'; +} + +$RandomCompatDIR = null; diff --git a/user/plugins/login/vendor/paragonie/random_compat/lib/random_bytes_com_dotnet.php b/user/plugins/login/vendor/paragonie/random_compat/lib/random_bytes_com_dotnet.php new file mode 100644 index 0000000..28cc56a --- /dev/null +++ b/user/plugins/login/vendor/paragonie/random_compat/lib/random_bytes_com_dotnet.php @@ -0,0 +1,88 @@ +GetRandom($bytes, 0)); + if (RandomCompat_strlen($buf) >= $bytes) { + /** + * Return our random entropy buffer here: + */ + return RandomCompat_substr($buf, 0, $bytes); + } + ++$execCount; + } while ($execCount < $bytes); + + /** + * If we reach here, PHP has failed us. + */ + throw new Exception( + 'Could not gather sufficient random data' + ); + } +} diff --git a/user/plugins/login/vendor/paragonie/random_compat/lib/random_bytes_dev_urandom.php b/user/plugins/login/vendor/paragonie/random_compat/lib/random_bytes_dev_urandom.php new file mode 100644 index 0000000..8bf7034 --- /dev/null +++ b/user/plugins/login/vendor/paragonie/random_compat/lib/random_bytes_dev_urandom.php @@ -0,0 +1,150 @@ + 0); + + /** + * Is our result valid? + */ + if ($buf !== false) { + if (RandomCompat_strlen($buf) === $bytes) { + /** + * Return our random entropy buffer here: + */ + return $buf; + } + } + } + + /** + * If we reach here, PHP has failed us. + */ + throw new Exception( + 'Error reading from source device' + ); + } +} diff --git a/user/plugins/login/vendor/paragonie/random_compat/lib/random_bytes_libsodium.php b/user/plugins/login/vendor/paragonie/random_compat/lib/random_bytes_libsodium.php new file mode 100644 index 0000000..7d32b21 --- /dev/null +++ b/user/plugins/login/vendor/paragonie/random_compat/lib/random_bytes_libsodium.php @@ -0,0 +1,88 @@ + 2147483647) { + $buf = ''; + for ($i = 0; $i < $bytes; $i += 1073741824) { + $n = ($bytes - $i) > 1073741824 + ? 1073741824 + : $bytes - $i; + $buf .= \Sodium\randombytes_buf($n); + } + } else { + $buf = \Sodium\randombytes_buf($bytes); + } + + if ($buf !== false) { + if (RandomCompat_strlen($buf) === $bytes) { + return $buf; + } + } + + /** + * If we reach here, PHP has failed us. + */ + throw new Exception( + 'Could not gather sufficient random data' + ); + } +} diff --git a/user/plugins/login/vendor/paragonie/random_compat/lib/random_bytes_libsodium_legacy.php b/user/plugins/login/vendor/paragonie/random_compat/lib/random_bytes_libsodium_legacy.php new file mode 100644 index 0000000..ba93c40 --- /dev/null +++ b/user/plugins/login/vendor/paragonie/random_compat/lib/random_bytes_libsodium_legacy.php @@ -0,0 +1,92 @@ + 2147483647) { + for ($i = 0; $i < $bytes; $i += 1073741824) { + $n = ($bytes - $i) > 1073741824 + ? 1073741824 + : $bytes - $i; + $buf .= Sodium::randombytes_buf($n); + } + } else { + $buf .= Sodium::randombytes_buf($bytes); + } + + if (is_string($buf)) { + if (RandomCompat_strlen($buf) === $bytes) { + return $buf; + } + } + + /** + * If we reach here, PHP has failed us. + */ + throw new Exception( + 'Could not gather sufficient random data' + ); + } +} diff --git a/user/plugins/login/vendor/paragonie/random_compat/lib/random_bytes_mcrypt.php b/user/plugins/login/vendor/paragonie/random_compat/lib/random_bytes_mcrypt.php new file mode 100644 index 0000000..3bce91a --- /dev/null +++ b/user/plugins/login/vendor/paragonie/random_compat/lib/random_bytes_mcrypt.php @@ -0,0 +1,77 @@ + operators might accidentally let a float + * through. + */ + + try { + $min = RandomCompat_intval($min); + } catch (TypeError $ex) { + throw new TypeError( + 'random_int(): $min must be an integer' + ); + } + + try { + $max = RandomCompat_intval($max); + } catch (TypeError $ex) { + throw new TypeError( + 'random_int(): $max must be an integer' + ); + } + + /** + * Now that we've verified our weak typing system has given us an integer, + * let's validate the logic then we can move forward with generating random + * integers along a given range. + */ + if ($min > $max) { + throw new Error( + 'Minimum value must be less than or equal to the maximum value' + ); + } + + if ($max === $min) { + return $min; + } + + /** + * Initialize variables to 0 + * + * We want to store: + * $bytes => the number of random bytes we need + * $mask => an integer bitmask (for use with the &) operator + * so we can minimize the number of discards + */ + $attempts = $bits = $bytes = $mask = $valueShift = 0; + + /** + * At this point, $range is a positive number greater than 0. It might + * overflow, however, if $max - $min > PHP_INT_MAX. PHP will cast it to + * a float and we will lose some precision. + */ + $range = $max - $min; + + /** + * Test for integer overflow: + */ + if (!is_int($range)) { + + /** + * Still safely calculate wider ranges. + * Provided by @CodesInChaos, @oittaa + * + * @ref https://gist.github.com/CodesInChaos/03f9ea0b58e8b2b8d435 + * + * We use ~0 as a mask in this case because it generates all 1s + * + * @ref https://eval.in/400356 (32-bit) + * @ref http://3v4l.org/XX9r5 (64-bit) + */ + $bytes = PHP_INT_SIZE; + $mask = ~0; + + } else { + + /** + * $bits is effectively ceil(log($range, 2)) without dealing with + * type juggling + */ + while ($range > 0) { + if ($bits % 8 === 0) { + ++$bytes; + } + ++$bits; + $range >>= 1; + $mask = $mask << 1 | 1; + } + $valueShift = $min; + } + + $val = 0; + /** + * Now that we have our parameters set up, let's begin generating + * random integers until one falls between $min and $max + */ + do { + /** + * The rejection probability is at most 0.5, so this corresponds + * to a failure probability of 2^-128 for a working RNG + */ + if ($attempts > 128) { + throw new Exception( + 'random_int: RNG is broken - too many rejections' + ); + } + + /** + * Let's grab the necessary number of random bytes + */ + $randomByteString = random_bytes($bytes); + + /** + * Let's turn $randomByteString into an integer + * + * This uses bitwise operators (<< and |) to build an integer + * out of the values extracted from ord() + * + * Example: [9F] | [6D] | [32] | [0C] => + * 159 + 27904 + 3276800 + 201326592 => + * 204631455 + */ + $val &= 0; + for ($i = 0; $i < $bytes; ++$i) { + $val |= ord($randomByteString[$i]) << ($i * 8); + } + + /** + * Apply mask + */ + $val &= $mask; + $val += $valueShift; + + ++$attempts; + /** + * If $val overflows to a floating point number, + * ... or is larger than $max, + * ... or smaller than $min, + * then try again. + */ + } while (!is_int($val) || $val > $max || $val < $min); + + return (int)$val; + } +} diff --git a/user/plugins/login/vendor/paragonie/random_compat/other/build_phar.php b/user/plugins/login/vendor/paragonie/random_compat/other/build_phar.php new file mode 100644 index 0000000..70ef4b2 --- /dev/null +++ b/user/plugins/login/vendor/paragonie/random_compat/other/build_phar.php @@ -0,0 +1,57 @@ +buildFromDirectory(dirname(__DIR__).'/lib'); +rename( + dirname(__DIR__).'/lib/index.php', + dirname(__DIR__).'/lib/random.php' +); + +/** + * If we pass an (optional) path to a private key as a second argument, we will + * sign the Phar with OpenSSL. + * + * If you leave this out, it will produce an unsigned .phar! + */ +if ($argc > 1) { + if (!@is_readable($argv[1])) { + echo 'Could not read the private key file:', $argv[1], "\n"; + exit(255); + } + $pkeyFile = file_get_contents($argv[1]); + + $private = openssl_get_privatekey($pkeyFile); + if ($private !== false) { + $pkey = ''; + openssl_pkey_export($private, $pkey); + $phar->setSignatureAlgorithm(Phar::OPENSSL, $pkey); + + /** + * Save the corresponding public key to the file + */ + if (!@is_readable($dist.'/random_compat.phar.pubkey')) { + $details = openssl_pkey_get_details($private); + file_put_contents( + $dist.'/random_compat.phar.pubkey', + $details['key'] + ); + } + } else { + echo 'An error occurred reading the private key from OpenSSL.', "\n"; + exit(255); + } +} diff --git a/user/plugins/login/vendor/paragonie/random_compat/other/ide_stubs/COM.php b/user/plugins/login/vendor/paragonie/random_compat/other/ide_stubs/COM.php new file mode 100644 index 0000000..4ba4bb3 --- /dev/null +++ b/user/plugins/login/vendor/paragonie/random_compat/other/ide_stubs/COM.php @@ -0,0 +1,20 @@ + + + + + + + + + + + diff --git a/user/plugins/markdown-notices/CHANGELOG.md b/user/plugins/markdown-notices/CHANGELOG.md new file mode 100644 index 0000000..b3b685c --- /dev/null +++ b/user/plugins/markdown-notices/CHANGELOG.md @@ -0,0 +1,5 @@ +# v1.0.0 +## 12/22/2015 + +1. [](#new) + * ChangeLog started... diff --git a/user/plugins/markdown-notices/LICENSE b/user/plugins/markdown-notices/LICENSE new file mode 100644 index 0000000..4bb7092 --- /dev/null +++ b/user/plugins/markdown-notices/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Grav + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/user/plugins/markdown-notices/README.md b/user/plugins/markdown-notices/README.md new file mode 100644 index 0000000..397d6db --- /dev/null +++ b/user/plugins/markdown-notices/README.md @@ -0,0 +1,61 @@ +# Grav Markdown Notices Plugin + +The **markdown-notices plugin** for [Grav](http://github.com/getgrav/grav) allows generation of notice blocks of text via markdown: + +![](assets/screenshot.png) + +# Installation + +This plugin is easy to install with GPM. + +``` +$ bin/gpm install markdown-notices +``` + +# Configuration + +Simply copy the `user/plugins/markdown-notices/markdown-notices.yaml` into `user/config/plugins/markdown-notices.yaml` and make your modifications. + +``` +enabled: true +built_in_css: true +level_classes: [yellow, red, blue, green] +``` + +# Examples + +Using one level of `!` + +``` +! Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris feugiat quam erat, ut iaculis diam posuere nec. +! Vestibulum eu condimentum urna. Vestibulum feugiat odio ut sodales porta. Donec sit amet ante mi. Donec lobortis +! orci dolor. Donec tristique volutpat ultricies. Nullam tempus, enim sit amet fringilla facilisis, ipsum ex +! tincidunt ipsum, vel placerat sem sem vitae risus. Aenean posuere sed purus nec pretium. +``` + +You will output the following HTML + +``` +
                                                                        +

                                                                        + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris feugiat quam erat, ut iaculis diam posuere nec. + Vestibulum eu condimentum urna. Vestibulum feugiat odio ut sodales porta. Donec sit amet ante mi. Donec lobortis + orci dolor. Donec tristique volutpat ultricies. Nullam tempus, enim sit amet fringilla facilisis, ipsum ex + tincidunt ipsum, vel placerat sem sem vitae risus. Aenean posuere sed purus nec pretium. +

                                                                        +
                                                                        +``` + +The `yellow` class is determined by the `level_classes` in the configuration. You can customize this as you need. + +``` +!! Lorem ipsum dolor sit amet, **consectetur adipiscing** elit. Mauris feugiat quam erat, ut iaculis diam posuere nec. +!! +!! * List item a +!! * List item b +!! +!! orci dolor. Donec tristique volutpat ultricies. Nullam tempus, enim sit amet fringilla facilisis, ipsum ex +!! tincidunt ipsum, vel placerat sem sem vitae risus. Aenean posuere sed purus nec pretium. +``` + +Two levels of `!!` will use the second level class etc. You can also use complex markdown inside the notices. diff --git a/user/plugins/markdown-notices/assets/notices.css b/user/plugins/markdown-notices/assets/notices.css new file mode 100644 index 0000000..93c3a85 --- /dev/null +++ b/user/plugins/markdown-notices/assets/notices.css @@ -0,0 +1,32 @@ +.notices { + padding: 1px 1px 1px 30px; + margin: 15px 0; +} + +.notices p { + +} + +.notices.yellow { + border-left: 10px solid #f0ad4e; + background: #fcf8f2; + color: #df8a13; +} + +.notices.red { + border-left: 10px solid #d9534f; + background: #fdf7f7; + color: #b52b27; +} + +.notices.blue { + border-left: 10px solid #5bc0de; + background: #f4f8fa; + color: #28a1c5; +} + +.notices.green { + border-left: 10px solid #5cb85c; + background: #f1f9f1; + color: #3d8b3d; +} \ No newline at end of file diff --git a/user/plugins/markdown-notices/assets/screenshot.png b/user/plugins/markdown-notices/assets/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..cf27677a9736178e4945722a7f39a453b16cb558 GIT binary patch literal 86632 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 literal 0 HcmV?d00001 diff --git a/user/plugins/markdown-notices/blueprints.yaml b/user/plugins/markdown-notices/blueprints.yaml new file mode 100644 index 0000000..2d3d49b --- /dev/null +++ b/user/plugins/markdown-notices/blueprints.yaml @@ -0,0 +1,44 @@ +name: Markdown Notices +version: 1.0.0 +description: "Adds the ability to render notices blocks in Markdown" +icon: asterisk +author: + name: Team Grav + email: devs@getgrav.org + url: http://getgrav.org +license: MIT + +form: + validation: strict + fields: + enabled: + type: toggle + label: Plugin status + highlight: 1 + default: 0 + options: + 1: Enabled + 0: Disabled + validate: + type: bool + + built_in_css: + type: toggle + label: Use built in CSS + highlight: 1 + default: 1 + options: + 1: Enabled + 0: Disabled + validate: + type: bool + + level_classes: + type: selectize + size: large + placeholder: "e.g. yellow, red, blue, green" + label: Level classes + help: The classes to use for each level of notices depth + classes: fancy + validate: + type: commalist diff --git a/user/plugins/markdown-notices/markdown-notices.php b/user/plugins/markdown-notices/markdown-notices.php new file mode 100644 index 0000000..6930481 --- /dev/null +++ b/user/plugins/markdown-notices/markdown-notices.php @@ -0,0 +1,84 @@ + ['onMarkdownInitialized', 0], + 'onTwigSiteVariables' => ['onTwigSiteVariables', 0] + ]; + } + + public function onMarkdownInitialized(Event $event) + { + $markdown = $event['markdown']; + + $markdown->addBlockType('!', 'Notices', true, false); + + $markdown->blockNotices = function($Line) { + + $this->level_classes = $this->config->get('plugins.markdown-notices.level_classes'); + + if (preg_match('/^(!{1,'.count($this->level_classes).'})[ ]+(.*)/', $Line['text'], $matches)) + { + $level = strlen($matches[1]) - 1; + + + + // if we have more levels than we support + if ($level > count($this->level_classes)-1) + { + return; + } + + $text = $matches[2]; + + $Block = array( + 'element' => array( + 'name' => 'div', + 'handler' => 'lines', + 'attributes' => array( + 'class' => 'notices '. $this->level_classes[$level], + ), + 'text' => (array) $text, + ), + ); + + return $Block; + } + }; + + $markdown->blockNoticesContinue = function($Line, array $Block) { + if (isset($Block['interrupted'])) + { + return; + } + + if ($Line['text'][0] === '!' and preg_match('/^(!{1,'.count($this->level_classes).'})(.*)/', $Line['text'], $matches)) + { + $Block['element']['text'] []= ltrim($matches[2]); + + return $Block; + } + }; + } + + public function onTwigSiteVariables() + { + if ($this->config->get('plugins.markdown-notices.built_in_css')) { + $this->grav['assets'] + ->add('plugin://markdown-notices/assets/notices.css'); + } + } + +} \ No newline at end of file diff --git a/user/plugins/markdown-notices/markdown-notices.yaml b/user/plugins/markdown-notices/markdown-notices.yaml new file mode 100644 index 0000000..35ce5a6 --- /dev/null +++ b/user/plugins/markdown-notices/markdown-notices.yaml @@ -0,0 +1,3 @@ +enabled: true +built_in_css: true +level_classes: [yellow, red, blue, green] \ No newline at end of file diff --git a/user/plugins/mediaembed/.gitignore b/user/plugins/mediaembed/.gitignore new file mode 100644 index 0000000..9509a05 --- /dev/null +++ b/user/plugins/mediaembed/.gitignore @@ -0,0 +1,3 @@ +assets/logo.svg +*.xcf +.idea diff --git a/user/plugins/mediaembed/CHANGELOG.md b/user/plugins/mediaembed/CHANGELOG.md new file mode 100644 index 0000000..8cef24a --- /dev/null +++ b/user/plugins/mediaembed/CHANGELOG.md @@ -0,0 +1,50 @@ +# v1.3.0 +## 02/05/2017 + +1. [](#new) + * Added support image or link for not embed media (Thanks to [@magikcypres](https://github.com/magikcypress)) + * Added support for **Twitter.com** (Thanks to [@magikcypres](https://github.com/magikcypress)) +2. [](#bugfix) + * Fixed support for **Github** (Thanks to [@magikcypres](https://github.com/magikcypress)) + * Fixed partial bug [#9](https://github.com/Sommerregen/grav-plugin-mediaembed/issues/9) (Mediaembed converts images into images) + * Fixed [#15](https://github.com/Sommerregen/grav-plugin-mediaembed/pull/15) (Fixed `media.responsive`) + * Fixed [#25](https://github.com/Sommerregen/grav-plugin-mediaembed/pull/25) (Fix Admin Panel issues [#13](https://github.com/Sommerregen/grav-plugin-mediaembed/issues/13), [#17](https://github.com/Sommerregen/grav-plugin-mediaembed/issues/17), and [#24](https://github.com/Sommerregen/grav-plugin-mediaembed/issues/24)) + +# v1.2.0 +## 08/08/2015 + +1. [](#new) + * Added admin configurations **(requires Grav 0.9.34+)** +2. [](#improved) + * Updated `README.md` + +# v1.1.0 +## 05/17/2015 + +1. [](#new) + * Added support for **Slides.com SlideDesk** as requested in issue [#4](https://github.com/Sommerregen/grav-plugin-mediaembed/issues/4) +2. [](#improved) + * Assets checks (in rare cases it was possible that MediaEmbed throws an error) + +# v1.0.2 +## 05/10/2015 + +1. [](#new) + * Added plugin roadmap + * Added support for modular pages +2. [](#improved) + * Prevent potential division by zero error [#2](https://github.com/Sommerregen/grav-plugin-mediaembed/pull/2) +3. [](#bugfix) + * Fixed link generation in case no MediaEmbed service is found + +# v1.0.1 +## 04/28/2015 + +3. [](#bugfix) + * Fixed issue [#1](https://github.com/Sommerregen/grav-plugin-mediaembed/issues/1) with broken MediaEmbed functionality (i.e. removed test code) + +# v1.0.0 +## 04/26/2015 + +1. [](#new) + * ChangeLog started... diff --git a/user/plugins/mediaembed/LICENSE b/user/plugins/mediaembed/LICENSE new file mode 100644 index 0000000..cf14dd9 --- /dev/null +++ b/user/plugins/mediaembed/LICENSE @@ -0,0 +1,727 @@ +Grav MediaEmbed Plugin License +================================== + +Grav MediaEmbed Plugin is meant to be a free and open source for all now +and in future. + +For ease of distribution, Grav MediaEmbed Plugin is licensed under a dual +license and is based on the principle of Give-and-Take. + +Unless otherwise noted Grav MediaEmbed Plugin is licensed under the terms +of GPLv3 (or see license text below). + +However it is licensed under the terms of MIT + + + +(or see license text below) when the following conditions are met: + + - Grav MediaEmbed Plugin is used, copied, merged, published for or + distributed with Grav (http://getgrav.org) + +and can be understood as a Free and Open Source Software ("FOSS") License +Exception especially for all plugins, themes, extensions available for Grav +using Grav MediaEmbed Plugin in any way. + + +MIT LICENSE +----------- + +Copyright (c) 2017 Benjamin Regler, https://github.com/sommerregen/grav-plugin-mediaembed + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +GPL VERSION 3 +------------- + +GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + {one line to give the program's name and a brief idea of what it does.} + Copyright (C) {year} {name of author} + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + {project} Copyright (C) {year} {fullname} + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/user/plugins/mediaembed/README.md b/user/plugins/mediaembed/README.md new file mode 100644 index 0000000..3747183 --- /dev/null +++ b/user/plugins/mediaembed/README.md @@ -0,0 +1,144 @@ +# [![Grav MediaEmbed Plugin](assets/logo.png)][project] + +[![Release](https://img.shields.io/github/release/sommerregen/grav-plugin-mediaembed.svg)][project] [![Issues](https://img.shields.io/github/issues/sommerregen/grav-plugin-mediaembed.svg)][issues] [![Dual license](https://img.shields.io/badge/dual%20license-MIT%2FGPL-blue.svg)](LICENSE "License") [![Flattr](https://api.flattr.com/button/flattr-badge-large.png)][flattr] [![PayPal](https://www.paypal.com/en_US/i/btn/btn_donate_SM.gif)][paypal] + +> This plugin embeds several media sites (e.g. YouTube, Vimeo, Soundcloud) by only providing the URL to the medium. + +##### Table of Contents: + +* [About](#about) +* [Installation and Updates](#installation-and-updates) +* [Usage](#usage) +* [Contributing](#contributing) +* [Licencse](#license) + +## About + +Grav MediaEmbed plugin is the official successor of [Grav VideoEmbed plugin](https://github.com/sommerregen/grav-plugin-videoembed/), allows to embed several media sites by only providing the URL to the medium and supports lazy loading techniques for videos and other media. Currently it supports + +- YouTube +- Vimeo +- DailyMotion +- SoundCloud +- Spotify +- Flickr +- Imgur +- Instagram +- GitHub +- Twitter + +but more services are coming soon! In principle it supports any service, which provides the [oEmbed format](http://www.oembed.com/). Media are embedded using the Markdown syntax for images (`![Alt](URL "Title")`), e.g. the below screenshot was created with the following code: + +``` +![](https://www.flickr.com/photos/chris_gin/6585842063) +``` + +![Screenshot MediaEmbed Plugin](assets/screenshot.png "MediaEmbed Preview") + +### The Roadmap + +Grav MediaEmbed plugin is neat and a powerful tool to embed other media types. However at the moment only a few services are supported. Further the configuration for the services may differ under certain circumstances; some may be more configurable than others. In future releases I intend to implement: + + - [ ] a unified interface for accessing [OEmbed](http://oembed.com "An overview about OEmbed services") services + - [ ] a cache mechanism for requests, data and images + - [ ] support more than 200+ OEmbed services + - [ ] and a more powerful API + +If you have any ideas to extend the list, then please don't hesitate to open an issue and spread your idea with the community! + +So far I'm happy that Grav MediaEmbed plugin becomes one of the most popular a d used plugins in a few days. Thank you! I try to give my best to provide you a fast, easy to use and extensible plugin. I have already spent a lot of time and will spend a lot of time even more. The plan is to extend Grav MediaEmbed plugin even more to embed arbitrary websites and embed media as cards (e.g. Wordpress, Twitter, Facebook, GitHub). This will however mean a many hour work and thus I plan to support such features in a paid version of Grav MediaEmbed plugin called "MediaEmbed Pro", which will coming soon. From then on, Grav MediaEmbed plugin will come in two flavors: a free version supporting all OEmbed services and a paid version with better embedding support of media and enabling the use of embed media cards. + +## Installation and Updates + +Installing or updating the `MediaEmbed` plugin can be done in one of two ways. Using the GPM (Grav Package Manager) installation update method (i.e. `bin/gpm install mediaembed`) or manual install by downloading [this plugin](https://github.com/sommerregen/grav-plugin-mediaembed) and extracting all plugin files to + + user/plugins/mediaembed + +For more informations, please check the [Installation and update guide](docs/INSTALL.md). + +## Usage + +The `MediaEmbed` plugin comes with some sensible default configuration, that are pretty self explanatory: + +### Config Defaults + +```yaml +# Global plugin configurations + +enabled: true # Set to false to disable this plugin completely +built_in_css: true # Use built-in CSS of the plugin +built_in_js: true # Use built-in JS of the plugin + +# Default options for MediaEmbed configuration. + +# -- Media -- +media: + width: 640 # Default media width + height: 390 # Default media height including controls + adjust: true # Adjust media or keep default dimensions? + + preview: true # Show or hide media preview + responsive: false # Allow media to be responsive + protocol: "http://" # Default protocol for remote media resources + +services: + : + enabled: true # Set to false to disable this service completely + type: # Type of the media service + + # URL of media service used for embedding + url: "www.domain.com/embed/{:id}" + + # Canonical URL of media service (used in endpoint calls) + canonical: "http://www.domain.com/{:id}" + + # Endpoint to grab media informations + endpoint: "http://www.domain.com/oembed?url={:canonical}&format=json" + + # Regex filters ("~REGEX~i") to grab media id + schemes: + - "domain.com/*" + + # Custom service-related media option overrides + params: + : +``` + +If you need to change any value, then the best process is to copy the [mediaembed.yaml](mediaembed.yaml) file into your `users/config/plugins/` folder (create it if it doesn't exist), and then modify there. This will override the default settings. + +## Contributing + +You can contribute at any time! Before opening any issue, please search for existing issues and review the [guidelines for contributing](docs/CONTRIBUTING.md). + +After that please note: + +* If you find a bug, would like to make a feature request or suggest an improvement, [please open a new issue][issues]. If you have any interesting ideas for additions to the syntax please do suggest them as well! +* Feature requests are more likely to get attention if you include a clearly described use case. +* If you wish to submit a pull request, please make again sure that your request match the [guidelines for contributing](docs/CONTRIBUTING.md) and that you keep track of adding unit tests for any new or changed functionality. + +### Support and donations + +If you like my project, feel free to support me via [![Flattr](https://api.flattr.com/button/flattr-badge-large.png)][flattr] or by sending me some bitcoins to [**1HQdy5aBzNKNvqspiLvcmzigCq7doGfLM4**][bitcoin]. + +Thanks! + +## License + +Copyright (c) 2017 [Benjamin Regler][github]. See also the list of [contributors] who participated in this project. + +[Dual-licensed](LICENSE) for use under the terms of the [MIT][mit-license] or [GPLv3][gpl-license] licenses. + +![GNU license - Some rights reserved][gnu] + +[github]: https://github.com/sommerregen/ "GitHub account from Benjamin Regler" +[gpl-license]: http://opensource.org/licenses/GPL-3.0 "GPLv3 license" +[mit-license]: http://www.opensource.org/licenses/mit-license.php "MIT license" + +[flattr]: https://flattr.com/submit/auto?user_id=Sommerregen&url=https://github.com/sommerregen/grav-plugin-mediaembed "Flatter my GitHub project" +[paypal]: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=SYFNP82USG3RN "Donate for my GitHub project using PayPal" +[bitcoin]: bitcoin:1HQdy5aBzNKNvqspiLvcmzigCq7doGfLM4?label=GitHub%20project "Donate for my GitHub project using BitCoin" +[gnu]: https://upload.wikimedia.org/wikipedia/commons/thumb/3/33/License_icon-gpl-88x31.svg/88px-License_icon-gpl-88x31.svg.png "GNU license - Some rights reserved" + +[project]: https://github.com/sommerregen/grav-plugin-mediaembed +[issues]: https://github.com/sommerregen/grav-plugin-mediaembed/issues "GitHub Issues for Grav MediaEmbed Plugin" +[contributors]: https://github.com/sommerregen/grav-plugin-mediaembed/graphs/contributors "List of contributors of the project" diff --git a/user/plugins/mediaembed/assets/css/mediaembed.css b/user/plugins/mediaembed/assets/css/mediaembed.css new file mode 100644 index 0000000..7951909 --- /dev/null +++ b/user/plugins/mediaembed/assets/css/mediaembed.css @@ -0,0 +1,330 @@ +/* MediaEmbed */ +.mediaembed, +.mediaembed-responsive { + margin: 0 auto; + overflow: hidden; + + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} + +.mediaembed-media .mediaembed-media, +.mediaembed-media embed, +.mediaembed-media iframe, +.mediaembed-media object, +.mediaembed-media video, +.mediaembed-embed img { + top: 0; + left: 0; + width: 100%; + height: 100%; + position: absolute; + z-index: 1; +} + +/* Media screen of death */ +.mediaembed-msod { + background-color: #000; + color: white; + display: block; + font-size: 80%; + overflow: hidden; + padding: 1em; + position: relative; + text-align: center; + vertical-align: middle; + z-index: 1; +} +.mediaembed-msod:before { + content: ""; + display: block; + + position: absolute; + z-index: -1; + + /* We make the element extra-large so we can shuffle it around without exposing the edges */ + height: 300%; + left: -100%; + top: -100%; + width: 300%; + + -webkit-animation: grain 5s steps(10) infinite; + -moz-animation: grain 5s steps(10) infinite; + -ms-animation: grain 5s steps(10) infinite; + animation: grain 5s steps(10) infinite; + + background-image: url(data:image/png;base64,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); +} +.mediaembed-msod .mediaembed-icon { + font-size: 7em; + line-height: 1em; + margin: 0.25em auto 0; +} +.mediaembed-msod p b { + display: block; + font-weight: bold; + text-align: center; +} +.mediaembed-msod .mediaembed-error-message { + margin: 0 3em 1em; + text-align: justify; +} +.mediaembed-msod .mediaembed-error-message b { + color: #f00; + text-transform: uppercase; +} + +/* MediaEmbed media */ + +.mediaembed-container { + position: relative; +} + +/* MediaEmbed Play button */ +.mediaembed-play { + margin: auto; + position: absolute; + + top: 0; + right: 0; + bottom: 0; + left: 10px; + + width: 1em; + height: 1em; + + color: #fff; + display: block; + font-size: 6em; + line-height: 1; + text-align: center; + text-shadow: 0 0 2px #ccc; + + visibility: visible; + opacity: 1; + z-index: 2; +} +.mediaembed-play:before { + box-shadow: 0 0 2px 0 #ccc inset, 0 0 2px 0 #ccc; + border: medium solid; + border-radius: 100%; + content: ""; + display: block; + height: 120%; + left: calc(-10% - 10px); + position: absolute; + top: calc(-5% - 5px); + width: 120%; +} +.mediaembed-play::after { + bottom: -1000%; + content: ""; + display: block; + left: -1000%; + position: absolute; + right: -1000%; + top: -1000%; +} +.mediaembed-play:hover { + color: #ccc; +} +.mediaembed-media iframe ~ .mediaembed-play, +.mediaembed-media input:checked ~ .mediaembed-play { + visibility: hidden; + opacity: 0; + z-index: 1; + + -webkit-transition: opacity 1.5s ease-in-out 0s, visibility 1.5s linear 0s, z-index 1.5s linear 0s; + -moz-transition: opacity 1.5s ease-in-out 0s, visibility 1.5s linear 0s, z-index 1.5s linear 0s; + -ms-transition: opacity 1.5s ease-in-out 0s, visibility 1.5s linear 0s, z-index 1.5s linear 0s; + -o-transition: opacity 1.5s ease-in-out 0s, visibility 1.5s linear 0s, z-index 1.5s linear 0s; + transition: opacity 1.5s ease-in-out 0s, visibility 1.5s linear 0s, z-index 1.5s linear 0s; +} +.mediaembed-media iframe ~ .mediaembed-play, +.mediaembed-media input:checked ~ .mediaembed-play:before { + -webkit-animation: ring 1.5s ease-in-out 1; + -moz-animation: ring 1.5s ease-in-out 1; + -ms-animation: ring 1.5s ease-in-out 1; + -o-animation: ring 1.5s ease-in-out 1; + animation: ring 1.5s ease-in-out 1; +} + +.mediaembed-media input:checked ~ noscript iframe { + display: block !important; +} +.mediaembed-media .mediaembed-input { + display: none; +} +.mediaembed-thumbnail { + margin: auto; + position: absolute; + + top: -50%; + right: 0; + bottom: -50%; + left: 0; + + width: 100%; + z-index: 0; +} + +/* GitHub adjustments */ +.mediaembed-github { + overflow: auto; +} +.mediaembed-github .gist .line-numbers { + width: 4em; +} +.mediaembed-github .gist-file { + padding: 1em; +} + +/* + * Animations + */ + +/* -- Grain -- */ +@-webkit-keyframes grain { + 0%, 100% { + -webkit-transform: translate(0, 0); + } + 10% { + -webkit-transform: translate(-5%, -10%); + } + 20% { + -webkit-transform: translate(-15%, 5%); + } + 30% { + -webkit-transform: translate(7%, -25%); + } + 40% { + -webkit-transform: translate(-5%, 25%); + } + 50% { + -webkit-transform: translate(-15%, 10%); + } + 60% { + -webkit-transform: translate(15%, 0%); + } + 70% { + -webkit-transform: translate(0%, 15%); + } + 80% { + -webkit-transform: translate(3%, 20%); + } + 90% { + -webkit-transform: translate(-10%, 10%); + } +} +@-moz-keyframes grain { + 0%, 100% { + -moz-transform: translate(0, 0); + } + 10% { + -moz-transform: translate(-5%, -10%); + } + 20% { + -moz-transform: translate(-15%, 5%); + } + 30% { + -moz-transform: translate(7%, -25%); + } + 40% { + -moz-transform: translate(-5%, 25%); + } + 50% { + -moz-transform: translate(-15%, 10%); + } + 60% { + -moz-transform: translate(15%, 0%); + } + 70% { + -moz-transform: translate(0%, 15%); + } + 80% { + -moz-transform: translate(3%, 20%); + } + 90% { + -moz-transform: translate(-10%, 10%); + } +} +@-ms-keyframes grain { + 0%, 100% { + -ms-transform: translate(0, 0); + } + 10% { + -ms-transform: translate(-5%, -10%); + } + 20% { + -ms-transform: translate(-15%, 5%); + } + 30% { + -ms-transform: translate(7%, -25%); + } + 40% { + -ms-transform: translate(-5%, 25%); + } + 50% { + -ms-transform: translate(-15%, 10%); + } + 60% { + -ms-transform: translate(15%, 0%); + } + 70% { + -ms-transform: translate(0%, 15%); + } + 80% { + -ms-transform: translate(3%, 20%); + } + 90% { + -ms-transform: translate(-10%, 10%); + } +} +@keyframes grain { + 0%, 100% { + transform: translate(0, 0); + } + 10% { + transform: translate(-5%, -10%); + } + 20% { + transform: translate(-15%, 5%); + } + 30% { + transform: translate(7%, -25%); + } + 40% { + transform: translate(-5%, 25%); + } + 50% { + transform: translate(-15%, 10%); + } + 60% { + transform: translate(15%, 0%); + } + 70% { + transform: translate(0%, 15%); + } + 80% { + transform: translate(3%, 20%); + } + 90% { + transform: translate(-10%, 10%); + } +} + +/* -- Ring -- */ +@keyframes ring { + 0% { + transform: scale(1); + opacity: 1; + border-width: medium; + } + /* hidden */ + 100% { + transform: scale(3); + opacity: 0; + border-width: thin; + } +} diff --git a/user/plugins/mediaembed/assets/js/mediaembed.js b/user/plugins/mediaembed/assets/js/mediaembed.js new file mode 100644 index 0000000..aba16ef --- /dev/null +++ b/user/plugins/mediaembed/assets/js/mediaembed.js @@ -0,0 +1,18 @@ +function lazyload(anchor) { + setTimeout(function () { + // Strip comment tags around innerHTML + anchor.innerHTML = anchor.innerHTML.replace('', ''); + }, 1000); + + // Remove

                                                                        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 Rkd2L^ru0g&Qr;r;{{VRWQIP-u literal 0 HcmV?d00001 diff --git a/user/plugins/mediaembed/assets/screenshot.png b/user/plugins/mediaembed/assets/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..47e611171485fadef366dcec33d1e3ac0d987c05 GIT binary patch literal 648316 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�Zh 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�@xG{kt~N;hL?lO{ZvivrM;r8uaMPpp$#_ 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

                                                                        %gUf!(+b<&M4MS67gn8SNV8`SaQvTfZgJ5CV0O;|ve?q^pO>b%ZVu3sEzo2YL^UJha+%W~j2I_X(-MD1o(qKI;I-Zln|(O6{i;zG zFY;sZJv?IYnFt8qrqn!2a%Ca%{UkPxa%Yjw&V7*R0>)Lh`7|pS!Y9Ququ!P5%N%(^ z%M=Jc2?7ar&ZyjAG{NYK%+V`k+vR`Yzm<>}#wc!0+9hz&?)gw1C}?nj@T!JK&p{nK zk|L;8ERZA_(9xI7YV>n-UpiATJQP>KH5G-pcb2x`J@_UKC@#r{wo2bWsPn{)-fO`M z%MJIe-xQ9blBcA-{~? z_SnnbzX&=<`ARQO<&5kb{i@()+DhoOZ2r>o^#NbLz>BcM9)0NxqQAEqwzv-|9^wZ? zy9^x@42H$N72jG$fQ`a}F8r396SE(-k#xgc+*l^J**UG0W;)i7LeOTm9j=B$n|(-u zVcxojte-yf_B_Xo@DY=)3t$)GoppemSUxc!P3IxwW5rpoOzxDolwUc2lQ!=~iFM%9 zh+al%bk5&(vX4+oHqM;itPCoYdNp2%RDY3@{c3{)$?MPPw_4vv+X>tsnce5qTBY?# zr_4Z>Sav>-HYi^HTo;b)m;FM0rwSViAhj8p;)0=l(iT@&B^z&X)&{yC73P}^>}aW` z5z(hFcv+*8c;RNrdv`IvCu7a&P1FV^<2sfWP?_m?PZM0FJHju>mUuan9{;&!wT!BJ zz~JC1Rp6`!l++52HVqoBo0Wrs{C+zO`*bW`Eir`8!&mu&5p=B(&Vf4eeLPFlXAft2 z9;joYXV1taG0kz$R|O|<;2*4DaP!KPJdA-uO>YDqa?xFES^nz7rXZ)r)%y}uNMSH$ zBqUi}Cn7)ZtlP&N=P zx_M5x4Q9#vEaX@YSRF||DJ|+BZu00*M?9)x?YoL9G+$`@l`NQNdl!wyz&;qb_4K zq<8SH;q|}~ONm69s0JvZkhlcji1erxms&$O1AUYy*|SP%z5tSU^(bB-=z3^|rN<;d zV~IW+S!jg0E62M78il4yso=luWr>qRF6%nR@4t&^d%5lMtf}FkikwBnOukxerFEfK zUmPdrU@oLiL#;u2;_{1V)g7%Im_Rw%9<+l?m(=88P4b8nPxtqfskfm^R)kn7Ps?jOH@K%-z#x z*Rj;HY6!cZo zV(b0J<47HPZT{25x*HI#l`R1c{w3g1 z2iL=HFRGY&yy1~%WPyEU9mlI(UrsjnMOE(*K$_1AlV(Fn@(G2<+A!*(DvPp)w;~v9(n9M%NpZ2~BS`XG4 zG>Rjh5-@A8yDt-QaRR~pEPQUFzqZU*?^I2lNCB0G!Llv~M8y$ox{=q`vf!%na&C6^ z|0w>$hQ(}3%mqJW!2VqmiAs|F+t9BlLa}}!q|%==Jnm*(aE-dW$pj0y@qeU64EPV1 zTG5n^Dn;Wik77lQz*EkYbB8+`+~mq0l}!9A^?Fy%p7a;t&F%e(!p#}=&Fij{*SD3p zEzj5c4-V-E*vUvW7z-!;Nok*SR5e?Yy&VUPWKO1eSTs+rkcmH8w7%J;8p(0?=azK& zRZK>*Iv26v_qMXx*9TyZpOnlrP(x)SCo<*D&3b!NAyK!6nYj7i&X1=GKx9U6Pi5(f zgkPx|gwz`RZGEGT{#5UsEt5r;6tkaPK_$%mn^!kZ(rc&3{z&>Taz4~|wM_ryG#x*_ zhvL;c&|64$k#Ec2(u%hvoTcr15N^xqtcV1e==x3NHKzU+wFV#P-Wu1B#`xg#`jcUI zh{YMU+b4R3(z#Uzqv^nOfsFnBM7}u> zCxOk`cfaT~2I_j^@M{3{G!QJ)+m^TavJHnCJpD__idq0eyB0ZT+oI_BHon7{lkh%& zF_0;IW{>%eSo{4&3M^{jcpPI8rOe^e%tP+**CmeZ6?6DO5FcHBE@yxKDMM6pLc|O; zgS!?=?@J?tAIv%Dfv5lS#7Bg$CF(|*u3u@3X=Ul@yEO~eUF4*V(ohbn1jLC$fls~PJ0mde zTIhirx#ZUtuQMb9KGKrXf_3MM8V$^z2&o%y5jIzT7!l91H8_7-Sf4NOv^5o6B-(rA zdq!IT%9{_v#dI7jbKuQ1AH{m&El zqz+9Mt$6XYHcV$GKm%kD^~*v(ALtG@7?;$wri-PSu)J#T3%#Go=z0#J=1*q*yao5| zfDkAA7egJiO^Hq7RlUG>4CTIz*8S17g`^UW{8b)CGl3W(2$c}gK>`uG=;^Z#bnoX7S`IA=B=KWug>{WAQ?BCs~ugX7UJ=X3te5}@lnmT zbmi$j&$!6dd0ECj2yA=g90onXix&Akb#6=7OZ%1J5~vi*Wb;$ynlCm=%|}aehtlTR zlY^0Y!(_VF3Z{DX%=8-BiWL&}#jsd}q#0G-*i>i^Q>uL@udYR<7F>iA+8ZO*2}UnG zE$xYKD6ekkB!}p@&}}uSYAMl|@{0CSfab$a8MrCpOYB&NGWDT`dWMbF-vU(=o;!IJ z($qXJSbQq>Y55~0M)VhP;sR61=jpwDzRc8>KF>kcU%}5pdVJ2}c`mR0S)F`(Z89a>F*{GIVc-|`1t0D=0_0_x#)XnegKmYjFVec_tySqRAJ@io#0SQxY$WOZ8 z@wGFw1fp{w4W>nBNR^-kt$l@a<4dkK0J)>3nS%VVkRcsvhN9NSG>aKQ|=u|Zr(KCn>z{$gZk1;JYhCArl+&2l2(X-K8r1% zKcu=pjy%}qyqJmIoVl{zj=b8xmtlKBb<*C&ulZ=*q(x3cQ&d;8m(BRSB(8v66XK=` zr^h~x?xw+QKV9A%F}pHMyQ!`)*wc@;u+eDIqXt&s0CpG;S9!YwX_VMx`i*EyI=!l#cG>PIFVqYm0X*oq&o#PSka?^Y9WbYG}ZZ z6@ULBSXhL)Fk^0wS_2{D5L)gcL))re4CnvYp2>;HBt-AD?)r^Y{F~>TdA@sKj#05 zldN;FRGFP8r$}VK8WFZXplor)t#=&F znsiLiK$4?Tte?SG$cMNLrZq>xR_fWEhL zV@esNIFtumOpi8BXl~opoD(NbJu{w^9y2L4-^{c|1fk2@0cO%hdhTB-49he1pb0U3 z5sSvoM-3+WEayL7#m@&gh5W~-RbVIRpIL)w5Z=#~~Tw@-z= zl~dO^d%@J4MoftDm&No!!XyEDC}_fMw1v0QSA+oj3k?Ri3#W=Ldqm18xnpQ~bLZuw z7^g=l@p>7dN9-K$N?SM$9z?5bfJo>P0e$31k@(G*=%!2q;TT`GulOO9>?CY@tWVvL#~or03m(j_9&-5}lY?R}5qJ-$C- zjAPGp-}iN$r~3K|BOggt)&xli7q>C*o3gO(>-{KGt+ICe*RM@UGD20eHUGA=5h>Tu z%hC4jK!prsb0bnA2;(oJ9xRqV*Y=S_Hf`TaX!&-z`Y*=+coIzFxC&^2l|Qn=S>v$K z|LqaKG%M^PD;H3+Tn34ON2L-9^Y^3+0qU+AW(eA;jL#gCfNm)bS{zMI;lAYxHP>hZ zq9e{OmSSax02Oo0rU>Qk)9-H%Llbt~+&tO}OMRBaSG@?7b^1}`j$snO{380Dk*kD; zHi|t2$qp?YcG*^BB~mu4LS0^8AF#N^z+{tt*ihK38Gy~tcVYd`%$U`xiz#aw)Wg>q zwD9CzzKJ3`(eG*0+zB6h7G<%W0m)ZB;YKwc4gROW3&Jl(H4Bq0njR{(HQ3?#0SpO- z>WV36Jjsi7uD>zM5VC1gK|)=RXl z|0BlGH^pe8OppGeX*=w7MI6UdN9WMOp~+v%i>VxO6OTSswhgvmN3Pn3D_h8oPuO*- zsJkPF2{}F(r1g+{9$IE3d&>vjVHL>cSv(@S6ECw;O91i8=TDRjYdl{OTO=M}h5OvT zUayz(tg^EET)h8EXHqzuev4S8+GUQOC97N7Ou~UG3G(+i|H!MV+qPCqXe>pzc`ekx zGiTZyu_2duEalLl+#F{Ztjx+dMnkhdh;Lch-V^)8Fimtk;{ykbwSei}WGl$P-~hp% zXYiBm>#Xot-|#76UdJtQ)`!r?Rh7nrgq#JLzBM|FB?|jk{syY3oj@hyPd!Rq{OFsn@UFU@jAE`yG37_FsO_zn5o0ZILA(z$>9B`TC+IXJWXO9*pa`_0KbG=;Hrygd#4mXl{i4{IO{ReRFvmnzcG7* z*HT31uUc9-!?f##2F+JVrTXEm2o$-E)^#|1j~Ft1KsGIW3Y1Ly8O1MeyG^3b0GIv2 zvkJ1as!S)3`$K*m*V*)~adYDepOL#C?b3CyNn-dsDvmC6j9;pN`Q1%BI|bcVFGoV? zV3qmWhZXM|^4ohk3x$6tXDtATmONehRZ{T*>HGLx2V^oxo{oG7+CQeSESYzYq)F7j zVmNwavziYZbc`68($K%&FV_$9zo25{YzgZY>-dkUC^m8cVD|+_@2M>{hd>& zh&TzRrUeE|=CCAk>^%1eY6z{NKXv3k`(t7ENN#x9@CG z%ztc{e^;lrh<@)TRZ>(aBNG?sTDblSX9uUvqjWbUl#qvNSB5!p zYd(Qw=f|Q>r!@FyNP%n<&1_V-Hb{e40X;UIXO>cD;oo1Fq&*Xv(SixViNtDp6WN-_x41augri-k@ zLiI!=2f{8&(ORwB{Whg;;lwlIE+8w3`>wv@iY4$%gf3O=aH5_6MhfZZL)z>*Ic9K4 z@WalXx0VZh!kcC?5@V7Q9~Ctm%m4h-`kLr`+IU02aIvwT6L;v*@;zG3F=V9Xl2ZzIF$JDUzL=qpzmS_02!w82YBYy2u`yayskF z*VQM((c~fQjuSF4EgGmto;8&R1PR+nSdBLdY=p-iV(gAx&fV5xhMAboWuJ7#jN1*v zu0O_L-e3{`54LlcRKNm~m$Mnio^H2+>wAq-6hE<;D$wo!M!V)4w`U{9Tof8dCRcgU zy6`}pC1GFm-)pT&)&fx!YdQg&AvpjN}X<|K3 z)R=!+O$g6F;cMlEsB?6`&p4C2xJhw1P5BTw*t^duIh}*;fEl)$3u$!fC~pds$p0;7 z9C@{bC6fMEDaF?w&2Gb(tXW9RhksMRHp+A$w0y50xS2g_~2?1Jal|@LG&~ zujFCoal}dxhhDY!?!laE+h&hFuAiEarG0}MT{gJKpGM7{n_C_&3FRgOTLfPI57ms# zK-kQLtTbuIc~r7|3?!|Wxo%f+`qqAnVENstxa0wYD(ep=1>exe!_Ikl z&yWHsJ8#AgZXz{KHIPXqcV`EJX^RUfV+jW3lP7x} z)^|)f7~IRRP|SSc+uZk5WwwGYG@j|%e*l5tB!%U>58Ey>LzjY&aeiMnrn?2n*{$iB zjlY^V>>G%%!k$F?>#X8lK|3$Rx>K52uKu-&PTG&o?(=lXyfHVjHYk+su{1 zfjnbm(f`)cqCx=9be;rv`8RzIU?}{e2ue;`#k8C+d%#@=u2lKT0j8C;2-ctAH7Hqc z-8CK!9g<=h*Pjf2-WgQ$S8n{B?y7N=rtP^RV=`TKO#coRQ*c>vHy;7}NaFtO-NZ(R zwx9>k5J~w0qRnjT8UcJ!gBPPtIY1Eir{NL}Q37CN(O9<@PEzkZ&~pnAs7+OCCQ`ZM zCmqHYMz@OUa#T#wE)+&}-$u{cacp-d%nap;UPYTWy806+w|-#HWhRh*#qPZ0o_s84 zNVS5WOu$h=&bX1f(~@97)Oe3j-!J_ulU=|;jO{VRmvTb)0cm`}nOY)vH8GU;@9;vr zAnyBH*|o;I?3x_*Xn0u25UHaAd)(71#B15Cj^)#wYEZ8J)#|3WC26SF4dLye@ufMU zg|E4N%Na6wuzSH8POO-7_}=t2VrszW1xxbx;ILE^o|3Ik`Ps~(dBiq9W^%;QtCVuL}dmtmEEqEx9IWqOnoItMo&q8?Yh*MGmK_NW+kI0{x z>BAUM`gXyO_-8J*4Q6%E4om;07{ZEjKYN-Jr@VcB_pp&yGrwRb8mGCPv~su3;}AlM zd0#jH8|lxT|50N0rh`BaMVs~N8ReavL%JrCD#KaRv9`q3FMM-Vd!K)FUKLWgesAdA zS#*t6hvP>t7F@-aI16&p2!3;OEOMEFntleKBIbT>m8dRnei)Et~F6Oajjk& zMxI@NWE3M|-AsEtllSPuk19IL+*_cQCr;PO7!ob5<;%+s4T@m=QKf-tB* zP=dozYvy;uMI=C5=&Mst)MaY;PY_B;#s(wDHf^x>Mw_&T`;2%rZTUYYoUWCKb)(dL z6Cg2dmIVhtd|!>vZYqwNWVgh+K2MZVe|piv)SpP%r$Onznf-PI1kO7)XxnrS9~E4> zTLOHy|N7k#@wRSZp@@!_o6T@D2pBN`wmOa15h>43LJ9SP7W@c#Vu>mD`Qh0PT~9pq z-%#Q$Lo2%`H$AHqk0iqE(rswR|K_9Z+uqpZI*iL{l`ZK>;=Z}0EhnX$bW~&ftZFmZ z04jE6P~V9XBKk8!iU$9O;~Q=B7QG%G<7e>9T$!5nt(Lju`Y{|Lt#bM7GXP9gc#mkD z0tCH>v%Lz5dBs)~**?R_#8hj!1ZljYEyAY~{%wB8O2`ggngJbQ=Eo{bgVdPlYd!UqV|> zH~gM7m|t!*u#lC@MC!bq%S5>7jFDTsZ8i-@%Ao}x=hfMMws=W@Ngy9#R9w6J4={UH zA^L~bNX~&IZTZ#JT`X~1%=l`U=9a5`%L6A%$6cC>molwNK0tTLaNRD!S#{R!i~C5k z+41TGXPB8VQR>z4se;4OOH<;@1%{*mkewmcbG4uCzd(@8q{CggqZ_OID4Y$-V2fjJ zg==Fs8KDtoQ4;mg@7FLL`|Sda1Ok`NK<#qZ-EcKBK+*|e-}LsPk0G+C1yw#0v*x1X z5a8CtsZ?hAk`GFC_Mphp15WTt2q5d1>Z1*|i2N7GQtR5Nv&LhFtS?=PnxR_b*ezfi z@mB8@?o*`4&+HUsu&}*NS#)VU5YI47ISARD4GFy*SX$ZJivVM8ka)V=wvIbKnD7^m zc(;&&jxm~L?cLS2qyooJ?2|9n^;UJ&l480l>^@b8p5QLp1;RtmPxfk^Hn$pN9N^mv|=;>qd_%7gHI7T)VkbK zA+okDuH;(G9;fa@jjgzB2E2F**0Gr1#x-PjbBdzFb|>4%mG--YRsMWXJY?bho{B1~ zX8pgW2W*YZn2MuMAX08_8v6;TBEw?Hh5Y00MG4$5UQ4C%R$%TT((3I!^~SpqU<8yL z+x0%BZ@V zMGV(2tE3d11X7bXX9CZ3`UHc%h4o*)h)DIT@75mc ze%I?PR>1NmbSXof!!qab{hWOA7)p@FkmX71A}`@*32L%zY3J7z){4p(hU-bW9b6RsF^xLK-%Nr8Xhh z6>Miadf!F=meZIj`PN671%Ev=ODe z%H_?wFl~JeAa_!taNQ}A$*OMY>#w)9E2zJ2+qz@#%qM)c8_Q)VMx7TZwu0daw7x22 zIDs~$H`H^RDA}A7$IFg-P%e8teDq-aVww4*3)XKZJy%%yxt`?j^mgaJwq6!dW8<4m zRQW}UOL$MXF~tq}nBa@=g4F~nAC9v#)^Rgt;V!V_ww+X|6v68~t4HniwBy;$#}%6L zJV;xFN}18-0Qv2^4-~k?G9bOe;Tj81DTSN&|9zk_xG=vduwz!RW4EkhsoLI0Y4-Z| z{oB6cJg+LQ=6A`&%$y--Ly>#u=1~B}K3L8HL*s~e*aBInlRnimpPJ*V=0Rcr|-=UZ)G_XjI%wG#S<3%$3Pv5c;vdTMVPH>teQaP z#yTqg76U=YaG*GU4g(p&=1Z3Dn2T?(tUQMZ?$i}@>MFCie8+rj_O2x~?Ea}Sw z0ToQU6~tvAYzUtyf4;_W(G6oI24~d*^>!=g?`C#k@3%& zr);I}3`Pp2Wa6ZPn=!#UMZAwH7VO*Y0y2(ux^h-LNHW zg@=Sy^nv}VHmb%FN%eFP`hU~s)r3T28P`&Cy3rKEWBQoBIA>cEQWurJL#`){V$QA8 z91Hx?VRK#MAdy2+jM0+cG z9ao${`3VV7xB3=aL>gp2UMK6YWy-fOIwPTI66**9b@!h>36j`~zm3AU(yDDht>^FPlbIie?79`S9xOutc*Iq$~K%G9o@B z0R#rNh(pQ(gYV*Ap8seK?D0PT(Y|Ee9H|MFZ4c}lI%TO@T=X(ZBF7vv?flOZ6uImT zyI$TVH1kSH$*^-T>;k7%;Io}JH{S$T?IH83+|lL(*cm{sf0bymm%F7XP4v@7aK5; zrf~D;CTbUu@+JOKQC*62(pCfASp+kv7S_F)52dp`J?F-PnI!n+w$5 zIA2nCNuL>rj`W4r-^WyXfar4zRpTZEUO-K0)mNTwPHhqJmAdOzN&H3uCEUH{HIZ!U(w(vz(S#d1HR@)z;n^o7*^VP-X#b;&-ju7 z9t9j8Sml5lf$)$=Pc-=ZGTS){t);)`Pq;!qse*N8jv&tmZ9Wv(2&4Xu%Nme|pmY`b z2*(`%9NXS8p->UAf*uhhRUBuyG;67U`~)^0p7HSeE&0fX>rn-+8pbq{sMPdpYEBZ@ z5(S=I@iZM^n!=G)bE0%(12j@g^P!y+ke=x|e8(NQ7?F_05HKPtE@aW7!vX$W$0-$v zaUUFgiAf2I&~`%Tq>3xaF2D87cTqzvRDCv8HLdj0n?QuT@ibU0%H>L;_&Y++KrCCq zTfBt`I*XE(Dtvb&OdsmzrROaloMb3IbSp3*%lZ#BI&bis&Fpywx815&!jAMiV;?kg zB$EB3U5%XiWlY_|TJTexyS%%fO8S2SVfgD0=vNt{dO<17yp5_1}1L6oV)-?}f=(&p9Aw>cn~D6f!O^Ni@~ z$ko@EkKDCCuUZstLJTfLFE&bK!%pB~<|oCs81cp8hfvU?e5#XR;MY)HdO7w)iopk_ z;Bo$h%QO%fy{+ky2i<3lxED6#A-@->A@Y6KDF$j+dIj+1{cRitbcJU%ITwI+wJIc$ zMbWx6N8t3BCz3cTNgpIHZTIy$MhU~G?o7n{z?uLEk}f&8(CObYc^Ra*5u$;_;h&K_ zYui{oro@<=pIxiYtWo>kE26yo4Bg@z!@e?F|@x$aMVnxrvC{$?ekBD9guN ztly7~IrTF)dvP6gx*m8k&hMH8EKYrk2+ttd zhd2|hlPdxjVwGRsZS6%2{+cV80|ouIZ*&@k1LbJ_fULB3s*O`bu1r`jfI!XxU$?gPFLY?1*1Itj!(`9J%dm#kG| zi2;dTqn=gmjx&O0O{6_adUG$4sVHmwevI~Z`hMmo4s+Rz^8^eB#%^fMf3{63jb5E<$V+T>mWt1g0P58j@W)66Qn7XtDqvhQgFk_ zgOzfsjW&Ke8jjPR|MwH)m_GTcR}lK(M`Kl{-qWr>BB0o>%-qudo{R!Vi&Mc4qc2Yx zpi%q^SRvnZ&h!k>91TaMw+Pnvz_U#3&KxoA+CGDqAy_1AW3Fps|66f|`(3O2j~m_ng2L`8A_g;@HngW>9XBNy!s83UpvODH z>h_@iX%Ahp53&L;Xq#j9c2VqEKEffLIp=)g|4uX*Nqx#d8$0XR4?EQlgj1mjX;DH* zJ2#bS_q5Xd9apX*Tw*MzmF~n(p$4)mL$R)9?aG`f`Y*zN+>anC7bkX7G<)nPhY|<^?dsHVK z%IYqyc}c{816@F{*;9nH>bPA>oBc60}QZ^dFEoATc>xh z`ZIH!m!N;Gxmx zrZIfxM&t27f&DohNQu{Hl*Xx|%p4Efkajsc@)ONcH<6Nt?p#A00kRe<@>!f3l4h(b z>bNF#RHeX4%sL`cQQz=cW%j>x@b6o`!Q#RrW%fOn7MPGu=4k5d45zYl6u%=ZZ~3J< zJs(O>9>A~MKHJfGLBB!GH4d_=Ri4ab+FQWhyFu7e83&jX`3=|4YS2#AFngql6i&LD zcm)D=>g@jdkE{Y#_HOm#6NyDZve=*>GD+uOfYwVM+qd-WBi5J5lozx9eEiHM(tisI zTzI2cHOk0b`HQOw<3P-9I9ogS2;fiJVMUo=U&d<>Bv|oAi}g!yW5z>LFg*DQWt`?i zsqB$&Vc)v{rno@VmGq_$2BL^5&(StrIRT!gI(k4@)Is>j@hm6iOAycS)!VsHH8LdS zbDR~%pU)>)787tO4 zq``VY1F2Sba<4YU-@KygWfNsfhrTMn?+)2gSU>0%=mo8wY;$tYlJha3hA4N>T>iV{nnTLyvuET519GfK0c;(&V&y50en@npH z#3L9k=Weh{zUU;olgP)=uXj&*tyaT^@@14+(h`KDB?4XIErvTTB_Am*U$pl-c|O9x zkgn!-PSP>j`Iy%M9r=fR{8)A&&|2j4BS{Tx_#-3BOO! zdo`RO%%aym^f35u<3LbKE_}4E-BHX?Cxtuoc*K=iA9dn($F_HnFv>hn4@`c=8L30} zK_57W&)a4*p>-@T%`hEII4mSv9K z9xt|$%@QWQ?N-VrW25Q`1;Sok3zj26MamY46)pWmQVj1~|TstOS%7BM3u@wZJoIxPrBVK5+SL9RoP3?@-Mqx5>11 z_#h6`d-?WbN8c<{z`gh*ONeKqk9l^ki=36{?f2%0`-4T9i^T~iM^#5@hLWK^2lKiD zdbY^-96fA>Uw8*K-{Mm+8V~>gCKQ~{zT*OM3X?iF_+vSc6Z?M_ma4)pPWM2j13{LG zNqnZ<#(NBQt!qJL?=+@gxgB7?9xA!JxQ)nJx;{${0#yiizsI1e--Zr5Yxs{KIvYVp znv*;jKZ?pC{VfP%py7kC#PFZ z!89}#>_5=fQgVAPhe_;Iifg&HVo30#LMc$PxI#Oq9&fS{Q7OO-K@r6|LPQn?kuAfm zP@uSkiaBSoC`pfI{A6Td>{8n&=DF+wNkBI8I+?Zq*-X=ssO7~ z=NstWuKAnq>N{R{VakPQ$HJw~+aF~Q&zWehSO-?&X5nftxO|IkX5`YglfJhrCP0-( zW*a=e>?ZKP0KXh;w;+dhPZ|R-k|0L10s>`gVYI4m(aPpOl9G}w`&DAL;4bTNTfG@i z!#CD#g*t;A6Vs_Z1MtOPngEK(S5acTVBfw*i}XS|D<0c%* zrC^TE)v!JwgQW&hgnL%lrYY;$k&F@ej@g7Kq?7V&=D7P5W zYM2z=`E)4aB=vFXh`Dn~TxV(8^UdSlyi8_yRkaOuz3{LE6Pr7`19$>J|>6<8$|X^@6X{=RCe;7++mT+ z#-vP$;S{*&YS1u)zL8LT*wH}LYpaVIoa3v{v42?GKO?`j>Hia8a`EH3h;s35N4^J3 z+z?^0xV@qBf{Ci3>Oy6vzH#vmr(`UH$3+A-hip)A=iUt8~(;#0PU)E{WYE;?`3BwS!GLe4&7XRfBePM|l%zNW>BY08 zL50|@adg#MzR1cx@CGi{ORzuB*Uqv4pCfKNt&?Y%yK1&L2#B`}lm}_4b$LjExeL18mZT z=aqQ|_AtMIA+el{I9S;%$Hyl}Jl_h_XmFN_R^h)Zg&GKCpQlN)encP1?1qITC0(VI zm1pKU!e_DE2KaN{pAc6SxJYW!jmM)Io)J6t#J(p*kztJn$3T`tALM`2GUv+KG+9iv zJgcMv!&JNiY0}=L(GZ47Qbb8FwrJ`a>U=kA1B|c_dXHLP`gWtl^a3Hb6qC$z0jl6W zwd2g2Z-YdMx4GB`BE7QMX47E>L3Iqdct<{u zBpnUU)4*(94q`C<8$IsUg?4pyFK2wX-h|x%dyBPGqb3_TE^8atNELkp-3aZQyJv#z z2ZdcGfD+Te)^4uhS9heDR6go{)(ZO*eXqsf2FKZ;AB$wcz!gS z7Ooc04Mg?tkNRHjx1Jbx5~f~+iMqMZu|iq3jj^8Z$pPbyUXmjPV1N$) zaDCP-;F4Y2qL2nBq7#8rVzAJlB(X4+EP*twmEj-uB3t~@PE=7Ta!TgtS7Mu-z5MEG z*%Mxj1iU_HC#oguU~syCb3aKf$RT^o#ZApb^RLCwQP|bxcg@kj`%Uoy09OK)`y8bG ztpSU)#9W9kFYpxC@%;p2O+i025~tHFSUCt~h^c4#Dj&Q?TJ(jUpFEcu{+2mfT897I zz5A%+HWnwOmwRlH^LbQ9==o!f%v(yeD8IJNfonU<#Yd8&YT!AwMSaOrhQ#qDdaTdYp-mmWFF@H=fxkINqMJV|PK$0cm0I;_1o zM$d3QXT}-7&|B;tpYW$WxL}H|ch9}wBGbCc{f z3azBDoxyLYX0$K5Q*6GNJ=X{EEEX^{CDAtb34^zECZ$I4|1Mg)#M^?vm=BXup*gN> z$Plesd*BItnc~HBFfPPJnHkNHDB(?>ZR65y#N@QdpefLl zy*9=i20D}Q^y8TZfcBCpI*t}kqlz8D%}re8v@Z~!k|u5EM&kY6bhGt#wEx#dWZ9CB zd|OvmiU#HYeYO&tIkD1)9@Z}NNR<>&R>~3xl!#E5^B~lO8~7G*A$Yoi{71y`I)}QS zzFT7b0MMhTs3)lWH_D>B`y{F%$z6@?x!W@2TFz}A(iEnG8aCkVv?EYj4oT#)D;#s# zCy@v7GbLLUQ4vtD9Q*)S)a@~+#di{_xKSdTwn4UH)D{ZXXqC%^l22pT`-jy7?7DCV zw1|_mnHTMa+gu3qh1F@skzA2%+xp1ROj5Ih#CKapei7$EmoA|cYg<%a+tBF#_qhcQ zie4EEt~oZn*H+I;rj-y!;QF{;q31Te_Gm&{nL(dE*GojsN$T-^n4bn0YW3qr!9DUC zOpF#AK>^~k5H$Ow4D3vl2Fn_j)g3FFH=@Ofn2Gu~f3y0nQW9YA zfm8kP``r9$4Y5gR&?Qal-|)mw7tS`9a>|Z?5A0teWk=)fRkM&ae=EseQJBPEB>Zui z1Z`Nn^mhHfEI!SD!c7}EP| zXy3t&`Jk^73bFrJ2K|iq;HS5A$u7g-EOhZubCocf4rIpf5*uUs(JfYH^VqJ{P*&=@ zGBwZ4v;ZdVjq6xJhP8Nhxs2&_DeuoV3wQ=R3U)EYgMU8h<9Wl~ldk-Mkx7K2@}IZ0 zMOb_S6ZJa@BO|c4jz{K{Ws62H?hRg=dLVA|#Am4^&5g2vtE8s{J zfzIe~IaNq{difGCv8fMW0uFJp?^Lv7Pa+*2Xl3wV;JzkFE6Swh@Rq_jLEtZ`+V=-F zolyLWp{&m|fOqSDU>H1{mexe~)q0Xe{vkb)g}3kjj2mx8^{G_R4Z`VMafEczZq$4W{cPU`!74-g?#62+`&iRdV29T;c8t zlTG)A@%h*;s7Nwmi`f6*zoGxFjZcu`7x%(I(rgLF7^41Ul*{-0JrXm7U6O%yjbBjWg=yWt@j(~~C&a*&< zOvKZQuOQ6bN6M1N&0V+wv=XH7C@-CTYI|A@JV7>A2Sq&00nK4wIB_E3Pu7SH88dn) z8xrVl({(;ow9IrYR&XK{xc>;{i<#PC^e;3U_-AXHNXAFeBnXg3GmDACu#7FSSd)&N z3TKNab|0V5Yr9RKP z8Q){~)BGYm3fVp;zO$ zi?xjbt-)6@c@dAsFSw6t93j^)+Lhy^l&86z8rM}@q9m?aXx z#Nsg!gJSn9jmK++oB#j78GG1K=r-@~-GLRjcyW0_&e^yax976UH+)dCH%}yE$KqfF zrGS@TIRoSAu$25jJ6~=|`e@%)6Kd8u$DB|yQ`0nbQf8#-mt;Cx(=uxHT(PaXNjR9u zz0h>?1g`QJYQ|5(4+2MW7OX_a*-S9yYABpgODbkGt)KGZr3wM!uX|0M6UgLlc~}4E zD$kHT7|!fs^L4?xk~7_S&{>bNk#Sf~3*2}>FF<98t_=s^kXnlH5HUuDZ(}F`Ax<6I zGyaUt=93jY3~3nh5*{_HAvrj(3lP-Td=D$+7dGr}{|oCE#Y*{2*Bss-e1!mv#=lJ1 zk-fH8ny!Y>w~}I7)Kw*K%baAx&)~0f1la=Xgg5N{)nyuF#RPXkIzI<~vbtMd+Nhs? z9GJQ$WdkBvT*{s)4}`vm?}5i9xyWyw(sbB=QP&&Q2m1{k_GN66%m1i3nw5}TH=6Jj zNFR+aq%<)h`Nch!65%*cIY7yrixeK(QmxBR7e5Uh4UZs| zX8h35u0j-VfbjSNidV4aeetDCMxButN9!YOtK^H==EBq#RNk(o*^VO5C=QuUjz2HC zB%(bAOeADi1#)J7rg8IcS|2!Oy*c0Yv5%u0Ne|8}c`6@%M_8Kj-O?T8>-v0%FUo7b zA0IwK8-wwpTTAJE)KBF6_T&15+(&%P;V;d8dio9m@rl$0M7rbywu^ zmaF#KS*X=EeEyM6)(HR@n$M}lUdP_~fn0{(TW;;)AqL2^6U!W_Q9#=#;9|(it|Sz7 zxS=D6wEbBqlz^*F>MiX=vuz$FGvZX|*mW@o`dHP~(3EzE(KEQ1< zdJ7PO14^RX-eqRuHg%P6n`vg$q;Mv7zTxk_T)Ow7ne4R!+XWThfhyROgugu2>isc zk>e%S8RU7R_lJr3&kS{^G;?n25Gm?0DSDx<{1UzcHOq#ywH1k2O%5_S7%l&b6Mq6# zg+hDJutcBzS|AdX`N>FnuKkwG6mQI%&~`OHHT6^?LR26F)QIv*}1xr$BuFGiO_vml{f*tH!Yb0ZdI(7R}8&-gHd- zl^r~fiB>8hd!0Ym{w{1N+%w0l7`QTcS{CrwaM)ipxNB#9(x5tbRwO|G$BEnRY&y&` z(QrN?K!asyQkU7*y|8QUOKe29dFqp0%$b1g@^*ZVh>eL>WhMY~#ew_-Ns+;_S>-TW zye-Bc3Cz*9Lezd1TC5<%qm4`_1AyUm3)Nub-h%Qg3`6BdX6?JBGz|=IT*^|q45Cee zzn*6Nm5I%_Vz-){sCa--_cdE9>$f7~5i^xFQUby^T>R^tF0J`{8tl|-Uh5};x3nH9dwyg{8sO^}dmsiQsI<0MebhSeQLQCu!U>@);a#jr=I*lvVi$9>es9dRVbRBDQ?R;^P=$C}#>)$6l{+id=3dv9jYFTVNq zW$wH?DCO(Xque&@?WP0pu0_@|1~p5yXL ziO|mJFRG9#X2_p6zo!Mhp=P=z_itS>)eFxVO+T~;SeU(`pDwXpDr29HH@>FbZl=nB zeHpExL8m5Bw1;WP<~s}mvg|Cnx(|UyCL&$g=|SGT)9V`OX7mojvvavvObR`Fs5i;4 z$ziI44Z*{`LCxwi!n{W^bb{HGfjvjORobgBm)E>K)*$zN}8` zGDzi9ukX%gW^ze7+Kxf-50Ot|T7j+?#JSzc9Alpp*dcVe2ei7esl-Per#@Jb#T`!j z-RXZN>7T`7yHt1;lGFYI8QP0N^Hwp7XQ?Hf|H9{pA6|J1LipHEcRA_RBLk+a%E9LZ9!yUj= z)R5%(BNjVrFpFkue(4CfE_Kv)3lDq)E6*$_HDfv?bQ$t*V;l3qaLb=@1V8^n;+ci! z#$?o1l!wMs(b62Lsi~7iJ?F%ga~!UUz7SH=LCf>@FHzo1g4JQ}8%#^%5^@9P^J{)s5{O^r#IB4K6IQ@^qtph+u0O7b{@9p#LNlwNI$3(|bv9 z{{#3g!Fd#9+At^-Z6_rVUl^AY+oWoyQ>E2-i_cDX+PQHA2|0xgWjJY!8A`K_0o)ga z&Je!M=v{`g3q_O$W0`=KG$N7m#zJ2>%Rq-+gznV)5jU~kxXk85f>CiV?qw`S@go

                                                                        Y;V?P9?i@ty$DKm#b&+HBbP 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 z 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�a_ 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

                                                                        EIH8P6e3Ud0P_rAc{Lru#byHf=Ve;2GL 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�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%0AqT>P=QcX zRYl+fLLwp+(RUpLj>a|!DG>-f1|7%HL(Z5mRBSdItb*lsMc;Rf#~Icds=}ay2z~l71{oy8TG2E$ zLI{K#?CahR^4TQI7>!0K84Q?k1_(w|ci=tK$(ZGG$>rrM@Rs>>ijtbnI_jpTX*#ZN zZa6tUK?IUG_DsfObePbZ1|19Ps$#jg!+FnWG~swYW3j%)n2w|QF&C%jn5rg>HO@Jd z5X?@FXzH5z?1-W`aD8*lX1^!YF>#b&dc(c@=Q!tS+YTWDy1FLK5|TIp|7K9hvjMki zdb+xzZ#uk?#EHhV7Ac0A{|j~ zYrZ!B9;4AYrU9j5Ufq7lrg`~h;~+7eWIldG*Lfc5Pk6oGaI<{I(fEX>?a^^atmkYG zOQ?I&=#-||vhMGg96us8n$APl9e9v_o%iP7r*6OGxu)ZOl#}s=`x@vS1AS$c86HzA{Wz}4j) zZy&wK!|a?dm!Bg8P2^I-Amn5`#pyFHj=#yizvf81gApA!`wefM{0`T}za`02f>42z zj3$!1-8CYTgh_~(6`SpbZ)E=|Yqw&fe}?llub*E-&@(^HuvQ_ZW3$^bnx)jHWY;bS zytbMldXF=PP+N3(&a%B_(>d((#jyo9qU#Mh84etxT+*~9)+i*3zV?h}>Cm&u!1kIr7$HrKO?*wvg_)DlYlq2Y(HDNC|R<7n1YIW2~&H%008$BX-4-P5l~yMoUeo zVh|oHB$L^Ua%~wU_i5__9c!wxLWqHixmevXJ)UFxme|e_+OgW*;ewu7o^y8ZU8<_Z zwgJXy+Hi{!6QcHPxaU1tbvKv8bl9SU@)hyGEhNRnibdWR9N7f7<< zuqE)cbxGZHeE88PRQo-)@6aj)AWCAq6trzk5CnvJpvF082_)b=)>#k&Yb~QZrz%U3 zP}Mcd%?2H7X44tgTKcZ1>l{j_w69vJ#T%jJqFO3pkNrr)he6SCHiqRa2qj z0M{ArPaad1hN(JZ+cpG2N7Whb?q1XQiXaVW`;PzO_y6;+Ho;#FOkb^Ecm3gi{|~S@ zA{`P0j(zF)c=AI&eDo1jy{2^~McZ?BGNrBylvcD|!){m70^{I}i5?T@4&`FXYLAO6 ztZ>{c7U(!&l4msa0i;C*5~aa~2@wyFdWy(84rW1HOWr&GIw$%uNffavuFye5FMHxN zVzs$tQ|^ZdVE88AZN;#G?R(m~C6Wo59%H%=r9#3m#JCnO1d$5K@`R@A2wlL%29Gi+~=9&B&vTT7aZhLdD^loD(1aFS#(TnKBl!3?j3!XtHU4TT!|0b;gr)0gou%TL}GK^ zf9G#dyVq2Qo-F+)ULA(WPh*IaoOG5D_91yX!uN{(?SXgie}FTNWx3#M_kNd)`6F(c z|BrwD#UHV3E|EgxBs6A2pj+y?XB;14YQu5w=~fu)qaOa zO02M~?^@yn(s7J2f^uCGh8m$8yfE~YCbT1TJ~=bzhTCM${{Z2**TOOB4%EgYR;?x#8){KOzfazW3q3 z&ySz|5t=!h&62>4I66IJQ(iL8kLgWEAOte-%(BN6%bF+}w#Ohwp#z*SK7LM%&a_A2J@Fljb9CZ!dX! z`~!~lhurPHV3jn9R

                                                                        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 + + diff --git a/user/plugins/problems/problems.php b/user/plugins/problems/problems.php new file mode 100644 index 0000000..3b21f0e --- /dev/null +++ b/user/plugins/problems/problems.php @@ -0,0 +1,332 @@ + ['onPluginsInitialized', 100001], + 'onFatalException' => ['onFatalException', 0] + ]; + } + + public function onFatalException() + { + if ($this->isAdmin()) { + $this->active = false; + return; + } + + // Run through potential issues + if ($this->problemChecker()) { + $this->renderProblems(); + } + } + + public function onPluginsInitialized() + { + if ($this->isAdmin()) { + $this->active = false; + return; + } + + /** @var Cache $cache */ + $cache = $this->grav['cache']; + $validated_prefix = 'problem-check-'; + + $this->check = CACHE_DIR . $validated_prefix . $cache->getKey(); + + if (!file_exists($this->check)) { + // If no issues remain, save a state file in the cache + if (!$this->problemChecker()) { + // delete any existing validated files + foreach (new \GlobIterator(CACHE_DIR . $validated_prefix . '*') as $fileInfo) { + @unlink($fileInfo->getPathname()); + } + + // create a file in the cache dir so it only runs on cache changes + touch($this->check); + + } else { + $this->renderProblems(); + } + + } + } + + protected function renderProblems() + { + $theme = 'antimatter'; + + /** @var Uri $uri */ + $uri = $this->grav['uri']; + $baseUrlRelative = $uri->rootUrl(false); + $themeUrl = $baseUrlRelative . '/' . USER_PATH . basename(THEMES_DIR) . '/' . $theme; + $problemsUrl = $baseUrlRelative . '/user/plugins/problems'; + + $html = file_get_contents(__DIR__ . '/html/problems.html'); + + /** + * Process the results, ignore the statuses passed as $ignore_status + * + * @param $results + * @param $ignore_status + */ + $processResults = function ($results, $ignore_status) { + $problems = ''; + + foreach ($results as $key => $result) { + if ($key == 'files' || $key == 'apache' || $key == 'execute') { + foreach ($result as $key_text => $value_text) { + foreach ($value_text as $status => $text) { + if ($status == $ignore_status) continue; + $problems .= $this->getListRow($status, '' . $key_text . ' ' . $text); + } + } + } else { + foreach ($result as $status => $text) { + if ($status == $ignore_status) continue; + $problems .= $this->getListRow($status, $text); + } + } + } + + return $problems; + }; + + // First render the errors + $problems = $processResults($this->results, 'success'); + + // Then render the successful checks + $problems .= $processResults($this->results, 'error'); + + $html = str_replace('%%BASE_URL%%', $baseUrlRelative, $html); + $html = str_replace('%%THEME_URL%%', $themeUrl, $html); + $html = str_replace('%%PROBLEMS_URL%%', $problemsUrl, $html); + $html = str_replace('%%PROBLEMS%%', $problems, $html); + + echo $html; + http_response_code(500); + + exit(); + + + } + + protected function getListRow($status, $text) + { + if ($status == 'error') { + $icon = 'fa-times'; + } elseif ($status == 'info') { + $icon = 'fa-info'; + } else { + $icon = 'fa-check'; + } + $output = "\n"; + $output .= '
                                                                      3. '. $text . '

                                                                      4. '; + return $output; + } + + protected function problemChecker() + { + $min_php_version = defined('GRAV_PHP_MIN') ? GRAV_PHP_MIN : '5.4.0'; + $problems_found = false; + + $essential_files = [ + 'cache' => true, + 'logs' => true, + 'images' => true, + 'assets' => true, + 'system' => false, + 'user/data' => true, + 'user/pages' => false, + 'user/config' => false, + 'user/plugins/error' => false, + 'user/plugins' => false, + 'user/themes' => false, + 'vendor' => false + ]; + + if (version_compare(GRAV_VERSION, '0.9.27', ">=")) { + $essential_files['backup'] = true; + $backup_folder = ROOT_DIR . 'backup'; + // try to create backup folder if missing + if (!file_exists($backup_folder)) { + @mkdir($backup_folder, 0770); + } + } + + if (version_compare(GRAV_VERSION, '1.1.4', ">=")) { + $essential_files['tmp'] = true; + $tmp_folder = ROOT_DIR . 'tmp'; + // try to create tmp folder if missing + if (!file_exists($tmp_folder)) { + @mkdir($tmp_folder, 0770); + } + } + + // Perform some Apache checks + if (strpos(php_sapi_name(), 'apache') !== false) { + + $require_apache_modules = ['mod_rewrite']; + $apache_modules = apache_get_modules(); + + $apache_status = []; + + foreach ($require_apache_modules as $module) { + if (in_array($module, $apache_modules)) { + $apache_module_adjective = ' Apache module is enabled'; + $apache_module_status = 'success'; + } else { + $problems_found = true; + $apache_module_adjective = ' Apache module is not installed or enabled'; + $apache_module_status = 'error'; + } + $apache_status[$module] = [$apache_module_status => $apache_module_adjective]; + } + + if (sizeof($apache_status) > 0) { + $this->results['apache'] = $apache_status; + } + } + + // Check PHP version + if (version_compare(phpversion(), $min_php_version, '<')) { + $problems_found = true; + $php_version_adjective = 'lower'; + $php_version_status = 'error'; + + } else { + $php_version_adjective = 'greater'; + $php_version_status = 'success'; + } + $this->results['php'] = [$php_version_status => 'Your PHP version (' . phpversion() . ') is '. $php_version_adjective . ' than the minimum required: ' . $min_php_version . ' - Additional Information']; + + // Check for GD library + if (defined('GD_VERSION') && function_exists('gd_info')) { + $gd_adjective = ''; + $gd_status = 'success'; + } else { + $problems_found = true; + $gd_adjective = 'not '; + $gd_status = 'error'; + } + $this->results['gd'] = [$gd_status => 'PHP GD (Image Manipulation Library) is '. $gd_adjective . 'installed']; + + // Check for PHP CURL library + if (function_exists('curl_version')) { + $curl_adjective = ''; + $curl_status = 'success'; + } else { + $problems_found = true; + $curl_adjective = 'not '; + $curl_status = 'error'; + } + $this->results['curl'] = [$curl_status => 'PHP Curl (Data Transfer Library) is '. $curl_adjective . 'installed']; + + // Check for PHP Open SSL library + if (extension_loaded('openssl') && defined('OPENSSL_VERSION_TEXT')) { + $ssl_adjective = ''; + $ssl_status = 'success'; + } else { + $problems_found = true; + $ssl_adjective = 'not '; + $ssl_status = 'error'; + } + $this->results['ssl'] = [$ssl_status => 'PHP OpenSSL (Secure Sockets Library) is '. $ssl_adjective . 'installed']; + + // Check for PHP XML library + if (extension_loaded('xml')) { + $xml_adjective = ''; + $xml_status = 'success'; + } else { + $problems_found = true; + $xml_adjective = 'not '; + $xml_status = 'error'; + } + $this->results['xml'] = [$xml_status => 'PHP XML Library is '. $xml_adjective . 'installed']; + + // Check for PHP MbString library + if (extension_loaded('mbstring')) { + $mbstring_adjective = ''; + $mbstring_status = 'success'; + } else { + $problems_found = true; + $mbstring_adjective = 'not '; + $mbstring_status = 'error'; + } + $this->results['mbstring'] = [$mbstring_status => 'PHP Mbstring (Multibyte String Library) is '. $mbstring_adjective . 'installed']; + + // Check Exif if enabled + if ($this->grav['config']->get('system.media.auto_metadata_exif')) { + if(extension_loaded('exif')) { + $exif_adjective = ''; + $exif_status = 'success'; + } else { + $problems_found = true; + $exif_adjective = 'not '; + $exif_status = 'error'; + } + $this->results['exif'] = [$exif_status => 'PHP Exif (Exchangeable Image File Format) is '. $exif_adjective . 'installed']; + } + + // Check for PHP Zip library + if (extension_loaded('zip')) { + $zip_adjective = ''; + $zip_status = 'success'; + } else { + $problems_found = true; + $zip_adjective = 'not '; + $zip_status = 'error'; + } + $this->results['zip'] = [$zip_status => 'PHP Zip extension is '. $zip_adjective . 'installed']; + + // Check for essential files & perms + $file_problems = []; + foreach ($essential_files as $file => $check_writable) { + $file_path = ROOT_DIR . $file; + $is_dir = false; + if (!file_exists($file_path)) { + $problems_found = true; + $file_status = 'error'; + $file_adjective = 'does not exist'; + + } else { + $file_status = 'success'; + $file_adjective = 'exists'; + $is_writeable = is_writable($file_path); + $is_dir = is_dir($file_path); + + if ($check_writable) { + if (!$is_writeable) { + $file_status = 'error'; + $problems_found = true; + $file_adjective .= ' but is not writeable'; + } else { + $file_adjective .= ' and is writeable'; + } + } + } + + $file_problems[$file_path] = [$file_status => $file_adjective]; + + } + if (sizeof($file_problems) > 0) { + $this->results['files'] = $file_problems; + } + + return $problems_found; + } +} diff --git a/user/plugins/problems/problems.yaml b/user/plugins/problems/problems.yaml new file mode 100644 index 0000000..1ab22e7 --- /dev/null +++ b/user/plugins/problems/problems.yaml @@ -0,0 +1,2 @@ +enabled: true +built_in_css: true diff --git a/user/themes/.gitkeep b/user/themes/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/user/themes/antimatter/.sass-cache/058263328840cb1289d5705bea4aff23460135bd/_base.scssc b/user/themes/antimatter/.sass-cache/058263328840cb1289d5705bea4aff23460135bd/_base.scssc new file mode 100644 index 0000000000000000000000000000000000000000..a1104342ef14ba6871cda222384e4fcd4ab1c189 GIT binary patch literal 884 zcmb_bO>fgc5bXguiAkK&f@oC^kxy_ScIq~Xb`PwOTFDoLNN$y|*7hV`)!vPEH?#=x z-x=FU6mdix=VRx+d2cov-;Qrb??0CSxsdD8UA~47E~Jy|**uzrb3R>VQO+kYjUt|g zv-}3;H?u6wq9~ot-4|U&E*IPwLY5kUkZ(%aFDi#V@mN-fGS?s85Q! z-ZIfdkS8lqg5(v%{%NX#KW>ze);PquTTE+DO^~GAz__kBw70}%cY0|>M(s|moS@N!d!%4~8q}kUgfyBF z`=9=uP=h#RXhxa*pJ5lwpu`Y5Oy(wEGo{SaO1P*2fekDjX5m<}4_(etC|lD=jheZz+IU3hpJ`{536 mgZ*FTj!!Ma02)?`>_rGjV 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 V6Zwuu2C_NN?VVEi;gyH`{|D)7@W=oF literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/058263328840cb1289d5705bea4aff23460135bd/_utilities.scssc b/user/themes/antimatter/.sass-cache/058263328840cb1289d5705bea4aff23460135bd/_utilities.scssc new file mode 100644 index 0000000000000000000000000000000000000000..4c9b6c586def5c740f8369e9847d48852e0cf34f GIT binary patch literal 8102 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 literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/1be9d50f93821478fbcc5d08847da8d1b90ea1d3/_flex.scssc b/user/themes/antimatter/.sass-cache/1be9d50f93821478fbcc5d08847da8d1b90ea1d3/_flex.scssc new file mode 100644 index 0000000000000000000000000000000000000000..3dd05eb0bcc1edd2961a4b710d845bcdc49a3df6 GIT binary patch literal 40595 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 literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/1be9d50f93821478fbcc5d08847da8d1b90ea1d3/_forms.scssc b/user/themes/antimatter/.sass-cache/1be9d50f93821478fbcc5d08847da8d1b90ea1d3/_forms.scssc new file mode 100644 index 0000000000000000000000000000000000000000..f86fd4d6cf9ed83db4d3374bd1731e5a92f117b4 GIT binary patch literal 13789 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 literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/1be9d50f93821478fbcc5d08847da8d1b90ea1d3/_typography.scssc b/user/themes/antimatter/.sass-cache/1be9d50f93821478fbcc5d08847da8d1b90ea1d3/_typography.scssc new file mode 100644 index 0000000000000000000000000000000000000000..1968e8aa86f92f65f25145f85003325ca96414a6 GIT binary patch literal 16961 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 JB)uzvP3F?_^u_e7Z`y zl#=PM<`1yay`QfPF!+NV-ATL8?mo|Iv%hz^cW7^aA5iMEaB4sEr*y}1CdbF#*gqyG z-ab7&8SfwZkNrdM==k)&KRWeJPM!THht9#N_2Du{pIs0s5xNwVBJ?xo>IL^{53Rc1 zj0L`+;Z=*Hd*w}Map)<=L%neoS#C(?^n9=mX4o{`WnmO6*+Q*nm++2=sk~}mwK=+< zn7Hr+i&WW>l+<@c5wu#mDAT6ZOng-1t% zgj34Voz#ta2m$G*9n^QFB0`NKE;;(5y5%P>nGUCoSHND+<&%k|ify13mxjJMg4fJT zyv`m#OcNGByuS@+d`^e2=rs$67few(1RsidyHw4XNA^OhhOwk#sAhByZ%L@woG1lP zq$lO@8mx0M90SrZ4~LU9t8zF>GP$RBwRAF8T{e%nfRh~A3HbB$0aWe`;K;X9(fKlf z6HvkP!FT^1oblLq1tr1g|1oyQmB0{F#L*ifLLe$sVflip766_RIeWKs20`k)>Pow7 zka`~Jn#h|a2grlF2|*%BW1nk;xCeYGEunOHmE(Q~-{M8JzQP}sR(tqkcMacm*YREW zz2|F*KnV5=QrU4KyRPt&`3xGyM5XFT9 zi?JZyE2^k}2Ef}j;BDafS`Iu})iMVKn#M%<)OSEJ(}0gjpaWULce8XfS?yG;u4n0} zHKAw3o9W0`fF0LF$g9@*z%sod&45lu&WWOF7*3RyE38wCtOJqV$ua2FW`-f-gsBD| ztm>>6PVtxT;fn5sBnbMtU&62MWsW}Di^JD3SJZITf)<)mxMUI-Tw1L#s|MBrc%SEB z^~$b;1+TB@+c#YJAgGk2zbF;}H@TRTfc-)JA4t?jYkJ>EDxtM^vxGYCoJ2QE_`aiG zfheb=l#I($+Q02~dP^z>r{jX?JyttPG)q5qiUgC0K2kd#VTFK82vjS7yfI*!846OK1J zcyobvY45o(rGyRV1Gs8+Lxd&-dQop9in>Xm(ZKa-B&bI~=pz!L7vdXo?6mP?kku0-ExiA}6c=*RDgI``QiGhDDpkm-VkVPQerZ7WD%8{^ zQ3R7mT~WnmpmDKSVZEA~dVsj-p?Y<%j{hIzx5?^eo?mVC!J<_o2z+cy+1oqVf~8Ag{IHV)HVf0gq}d9ajUi;G*L!LhPTKIvUb4w{>IWQ} z1NK9EfClhgd!8NC5RjcHbK3yQPCl{?(apwp2A?psOkiW{osmHE^jXbbtCYRJ0Kj#i A82|tP literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/340fcfc87f57d4e9e9c841b187845a67d4e657d6/_color-lightness.scssc b/user/themes/antimatter/.sass-cache/340fcfc87f57d4e9e9c841b187845a67d4e657d6/_color-lightness.scssc new file mode 100644 index 0000000000000000000000000000000000000000..3cdaae5b1348e0f380e535417aacfc54c37d4786 GIT binary patch literal 4778 zcmb_g?QYvP6itS~vE{^0x}_iJ7we{Nk|vhy#Boawo3Nq*JhWZWWW|8|FldXmg~*~o z%4xHrudyc>_6&QG0ehS6Qj%p;QG%e$AKRiY&pr3t%S%!_)kd{})_?REb6mfVUOIiY zVKf?@MuR!M=Z)rG!)kUrU8~c5zT2!fYYy!-cj@!av)zVOH@?nueCvQpiSeOe4C8m4 z2XDB;7IDe$4qVR>%s*P-_|B}+3qBk&Kej8{C)69Wqg<;p|A)DW-U{9qbVviYOFi!t zIV@me==w~e4+9nqm_QVDxyJ=^CGy<)K`PAxnK&2 zx}HRUz|bHFM%Xk3@9;oYg8?4{4*afm`OxfoTr#okaellVdfE=%00oIQ%^c3XJj8|_ zoQ@bSO4ox>NbYD3BJQaNI%F1JviT@*xi3G>fvE@d-5kDVOFkA|))v(7GmdXYq8x;S zpq&~m;Ib_PDuVWiOO9{rCU3cP73=~j0p6m`dp*el__<^=-wCIXYwFKD`Nll}&x%p2 zBFzCGGV_?7xW0Md227gZ0~Fo{K|$xL&jND{F`J<85dNip;6e&Oc~f?!G*1AX3$p`E zJKQ&WW4{|lXSP%NRF!#-6b?ZRcR1n#AUH-*6s>pws%0N|$x|7yVIEitsG3&ghc9Ot zdMw+5QLlY9U^i_EiEOKEwm(qe!{UH+N~g-4}eKq=fJ-_ATeB&&9rT(_6WB785|MGF^gIr3;=K_MHd zs3wHMs1&I(tPEJ2+rS|XiG3VRvwWb1qcnkaTvq)6zExzF0?Eg-$^D}oCy&bHaX4HM z{SFNSxep2vl%WE7kP&n-6?74TzLx~8p4QVrCuOMU6~=GI z!wwS$$@g+Kr5;|j{qYbc1zfbpz8gqr1~+Vn`5gL|Hd?Z|aQiUmwJNz9#JLX%%i_MN zao?Wh4oV)g(+^xYP>}bc68a@@Js`%#kb3TK%y~^m3wTA@wPhew?Lr?a*h4z{G)F3y z`U{G>-;R@>&0$(JO26tX2NgEi;$(Y)Q~}WpQHf=p6V0j?jhRM*?$sYt;V{R7p4Rtx zhkB|K=g6WJddlWk$VTPlVM$fkN?fLW*qHpVq}FB%&6o~fO$9EdDsT}rt0WB7(^fie zPM)YTBkNF0b`iUr@#vhx}`zyk)|H=pBEUba@@m(kvG0jsGl?sYEnw5 zGu;JrT8?!}dP}xUuQYnUW_i+OvYPcv%5ALE*q@%|YO^Lhn z|LUoQV_dz_h>tN@Rn9a%1D!n1JMPIvbaZ<~C!_0Rxt(?$wYUII@T5m z91Ws260Mo+z6ABK8rOr~uuASqs*S9G-{mBD_4Ggs{*1Q0yj4xL4p0}yVs*0|tZ5D& zYYz7CLO%d;lX>?1KNpxQKH7mRnHS$1R0#R=04ArjtgA;ZnWQcvk0vDHG7Oif_T(MG zVSLns-UoL=brpe|(^r4bo96#|Apq0Qz7T-Ht9v0}z#Tij_QCsz=%Tm2mR#F5&?f_- zwdsusBiMV^)h%bnY75n>*2V^zF%26tM&Z{b%vFEFNPV7bJOiFoFGlM#+~7?~w1uIk z3FVML_=oE3Gk+*w;kasL8^}b^35Wqs;1;f4!6XQYGxR-z5;r~@;U*6+Fj8wK2lX+n Mmgs46QT^`lKXjY3j{pDw literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/340fcfc87f57d4e9e9c841b187845a67d4e657d6/_flex-grid.scssc b/user/themes/antimatter/.sass-cache/340fcfc87f57d4e9e9c841b187845a67d4e657d6/_flex-grid.scssc new file mode 100644 index 0000000000000000000000000000000000000000..f7fc482a881c7df362bb09ef77cf5dd7b704e0e4 GIT binary patch literal 8097 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 F|359a+nN9X literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/340fcfc87f57d4e9e9c841b187845a67d4e657d6/_grid-width.scssc b/user/themes/antimatter/.sass-cache/340fcfc87f57d4e9e9c841b187845a67d4e657d6/_grid-width.scssc new file mode 100644 index 0000000000000000000000000000000000000000..73771c6f7f05eead67b3be2d9e359b9a254addd6 GIT binary patch literal 2668 zcmc&$ZBH9V5GGM|z?ndxrAZY~Hx5yN%03fJz`Gy1YLrw+RazA*{ooJQ**CUVz1y{R z_aG?Z&-9me_ReSS2uahZQY|F==H~r*W`@J&QS*rG{uBd5LXOF+XbgLPyWKhJM8}7% z4s_bbA%rJGh&sn7FTyZ7Jb5wdL`M*I+HL=ZQ8 zg1rs32nR9L*wSg;lO9{{(rLK)XD951a!Wv}0>PhfE@W^fESLaeSTSsXorq!BlwgC@fDY^g5_}s8i6~l|M=wzW)au8 zhA{5`H_je%gT%-%>|cahB0mv{r8BS|COiqvYO)_S?04V8~ zB)13JtOWZ0V}Y#F)JJxKDJRUyr>)tOqWCXp!IO&br#CZ0-vv#pbN&lXiVovtMD#q2 zQ=Hftn+vtKPD<&UG#P;Q*)!o~E#2fYO&oqo_fsjX=`GL)JOZf_AuCeER*NwT<5syF zCBSwox$jkS-=RJ_OskD-eZm0oc8$#W<6s`AZpPgR6)=}1x5M11_&=^BGCwbQA3psAKG}m1-8|4y)K6;b#3WmNft)ljY;uvQoOm5dzup%*EY_4zql%0 zMYr;a%}4sBN)nLy@nO$;-f8{r*_~jYbSFS|=95HlezV8CzvO&&LJUb#W61zW1S7l> z5fPGH;+iFc&;T*^5|`x!z!IwnZVTK5@g>1kO>k3_>*Y&|mE82nKK_wXY)TGVt?4^P zicb)bm)U%iKit)utLM2<(ynL|RR1~S$y`0Nh{QR0pZy{vyPmX^&u)7!i-)#4+j)i@ zJ$G(r1__>6AsaD_EG_kgxnPAsmPV$3MfQVi&->h7PJz~pTfG(+Y>5Z{4M_b8q#O8D zyC!SK1KfRhh1{;j8+rGyJG^LOxsV;X=gK5_VchN}I}*EF0`>>8i=qZO*qh1oE;9eh z_pzA&jRryB!k04rM;a9BpGkvRfSd--_FvH;H~4%SIQ=U>+f?|k&kd+QoL+AZb+h|7 D3c2bE literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/340fcfc87f57d4e9e9c841b187845a67d4e657d6/_modular-scale.scssc b/user/themes/antimatter/.sass-cache/340fcfc87f57d4e9e9c841b187845a67d4e657d6/_modular-scale.scssc new file mode 100644 index 0000000000000000000000000000000000000000..d7b13eccc48e09de1a526f8d4ac7954fd2b66615 GIT binary patch literal 18305 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 literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/340fcfc87f57d4e9e9c841b187845a67d4e657d6/_px-to-rem.scssc b/user/themes/antimatter/.sass-cache/340fcfc87f57d4e9e9c841b187845a67d4e657d6/_px-to-rem.scssc new file mode 100644 index 0000000000000000000000000000000000000000..fea1943e80ebcd8bfbf9efa5b05f3ef32134b5e7 GIT binary patch literal 4821 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 D&)e~% literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/340fcfc87f57d4e9e9c841b187845a67d4e657d6/_transition-property-name.scssc b/user/themes/antimatter/.sass-cache/340fcfc87f57d4e9e9c841b187845a67d4e657d6/_transition-property-name.scssc new file mode 100644 index 0000000000000000000000000000000000000000..fe46eb3b28852a3ea6b1b4cbea192b4c69d64eca GIT binary patch literal 6745 zcmeHM+jHAQ7Y`lA_t>Gi(9om^H;_x?SWTOz-5o$vzT_LvK!GNdhdg-J);iHt*1D41 z3#ES;e;Kd*c6G6&$Vn*~p2$P&mG<1v`JJ=tdpmnOd)mfhn{(50PPGH`ly6q{d+dR^ zfA?X}G|k@rqlXVobML`@zI)%?>kaNbx_6)L^Id)Lpz?7^kmV!hd4wFhoD=d?2>*#N zd5zSK{+VT)E_Y6_X(hSoJ24z`C)`&xUNU>kPYRvpM}M}rw5Qx3yN>pfJEm}3BbN`X z*WA=bt{8FGf1^2U$UV&(Xlx{(xfb(zMcdL2UbErI=0x*d=6IHG2?x{xQA-hRY^YZQ z;SRU8zOaS6t@T*{`Kc?$j=8z54aIMpTI(CFg)gm(_CnrO{k7ZLR=Yq72gjsh_-{s> zR6WavcWB{c22LEv1x(h-tRY6yD(~$Kw%V4%tpd4jcw+4Kc^5{XazSncem+tU5f1sZ zOd5vgGuQ8qgeS<&^p>AQ;H)C8gI~=MgMr6=e4RBA0!2cv%at_n>J{ zIPJmM=_~8n-Dv^bk#q%GK89PY;YhgPC5RT7(+M9S6Az)F_r~-2ump8oWMrrL?T4$Y zBsL6}GrM~=%x)MSBHEQdQ zx2E|j@KeQL?x}ZDJShtDMHu$JYmNMXX+zMtGW|pZ$x%jfY|(|pN~eoPgDx3!w1&@FqpCv-swqj;Ao$X=^ove2xy)z1 zn_~Sa%R0`2qm*^uBQ0HKmni_~R@(e$5_1T7EQDR8r9-LT6su@Tw2>4|s)jeRnXjW( zAtDv8$g?V5(z|tszfyn{g@(U|zsXu!uK-2Aw>&>oUIHn%Q9+LH0T58he8gPl3s=XY z=K{aD&&@+;Sv8oo6e}QCE0F?Gs=dUO&g6a)=SIJ$SR@tE@aV^Cjl}bz&`SOjF{DbrI-=jYB?D~I-?~^QFIQ2Py z^GdiTa4xLGUwq3ZW5`BtXXu(PUjZvmyJ5xU z+qa(5DI_OjMvXu((T_hRHFP^f7pt zUCRN+jJo{A*uorxJ^GZ;|D00oSxU8CLGKmmeHgl@jHM5zahcS!OrT#=T%@LVbh@1> z;JkR1Q_3XRL{*uD}xz1GF4A^(3E>PKT=6Bq>D zXpXlq!~18<*Bl%?G+$^vj#uHVk9}NY-Yag~ayXV#LWNe-ZD}Fnt_3(~5?#6aF4AgD zK21(ioqg348a`p?qxGnJe5WBjGF56MyY6noMppN ze(_32`Kq-z8Re_VQNB^6cuD81>yZ54DF08-1@AS=BZs16oH3g^$HmEo4lq-r7+Q)| z*?%S|QAsXjmT6tkIFg^rDLh`S(CY?zgHflS;q#_3PgkalJkfZJF;*SH&uz=} zMLERAr(#u=;EpU(r`EsIAoI=8Qf6!>&4`K+Q!gp<7b=58KN!m?vaKYUvi>$Hp?Fgy z)r(2;@#2qb5-)TelVx;-KG)#jj9{w2_^^d-!SO8!^Hi9Kvj7C@yuWp@0C)uumi)h3rndzB9REAbLMs9ds^OMPP204o!N`#Y%MoNK{$z?v*l@!<8DXtPLZGpI3*HUcP zQ>xsitqW90?+qaSvc{3;;*FFBt&|4J85e4CZvQ_$<;B-2*|T1LDCbhz?_{-yHrcY7 zPx>@$nKHR1Wg}M;PVpT`-UvK770B6qaxX-V!@CnGfGbFOKZJ|AYkyqBP45TYZG-M# zz1wcLukLOe-6OoWyx>}XP2HMoYiq%+AkhZQ_V}juwo+b;FU^Ryu}LfCO4;DJR?-xW zW;wwZPwq`^4sLBWCiL4=71&U`V)6JLKpp<2w09NAbAulwCah=$&o4JD!#8ObLi)ic zB4~skKSEz=7;QpdeEoG`q5OG6xg%0MgzAm;*7}{0?2h^_-5yv8r^4eYD&-XAf_DnF V@#8?|#8p7rPl_N|Mc0eu_%G@=T>}6B literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/340fcfc87f57d4e9e9c841b187845a67d4e657d6/_unpack.scssc b/user/themes/antimatter/.sass-cache/340fcfc87f57d4e9e9c841b187845a67d4e657d6/_unpack.scssc new file mode 100644 index 0000000000000000000000000000000000000000..a34efea3b5af1709a53ffb287be0387e9207bd85 GIT binary patch literal 9667 zcmeI2ZFAE`5XV!7k!{(r^8kSsk_wZSn3h;}9w@pp)s!Jqw-h=gWv1hHJc@mZRb-tj z$$^yNTl97>`S7UIFq5g$T%mR{=2t#`;+#hwbhN)4Q=IHhth`a?rV=5 z`?R2LtWmnTS$eQheo!v2@2=JLb!&5TeWSEnxAsaUs_WLqdbxC8y_{sm$J>_g8^(@D zsbM^4EO^QqG-G7Vdee3q9(Ah;X55T+dc;~S>h}7j%>&En(5h0&my36`N6bB-UZD9+ z<^@g5ZD;}0f+p40?}hy||IiJr*V^5pVknPy4Al${+tf(=wgZwxsZN3AJ#1JlsvFZL zYX>%S{Wnw4)v;Y_E5@AZvyNA%HP3SQDKoBjo!br%!Wi&q%E+01V0l5U&3tCu5WD=u zd>dsGBnx^OlkM&KG=P7nP3ktnOUPV!lFZvWSVoU3`QM98)}qCi^uTtD+jcdY(df~UL8E$(&PdN{gbt>d<> z`pZ@9rI6GP1i@~#A%xUphSqhy(mMc?wFU0@hkig?NpQ}CNvq_)8Q;0kV$Sra<^umiP`E)ljp^K_% zdHa4D$F3`vq> zWF|#sS$F=EF#p%cl}PIrxoYOff;mGn@H=g$bt7&1ZO009SiMTexE38#We-Pl>90>O zC##Tad70DC+SG$Z#9T}|h7Gq-8qE5(FhGovY6hG zcC+S7diaWY4M^an?)v>XupPsA%Dk54*niT-k5)Tj%woTqA9$GSfa{dmvfA+5&kpPW zDA=#{k|k@WhLQ~@I5S8#Y%M{u%|Novl12DkG8cG;l#j@eCxB(oa#CP7yy1*=dx5tr z@V?X9rJhRe*h(mT)pR>8Oho1ZjP1aOJJB_>L0#6eUEwGssb}xQL8p>eN(xc8035Qh zo!QR`Iph3rTv64!|-I=~_Ls5Ku{RiE;HBqDp4EGyOs%@b3?$tK) zXUc`NJ@!4bo9s|+GuY&sBA@8whIu8Nj0_{wDUxMm zFgYr22@F~{$()%b^JXsAQeBo+{ZDK^=+!D%_frQpj9jQXQj8>WB&idq%ablt^YDO0 z(y-$}GHE;(S(MbBh{QV@);9UGMJ8BPdF|G`W) zoDD&FQ&5f{l+Of}`+^Eof|Ci#*MiZlQKONS65e)%p!Dx0vY>n?C|3mK_(AzfQ2Aa^ znOIPs2}XYzH5v)Z=~hZrQ2td=jvtgC1eM zz^BY8$0r&c7oRd^j!#sMgHM?X$0w>x0G~3W9G__PczlLCj{-jX+lew|j!#sMgHM?X z$0w>x0G~3W9G_@(TztxuIX+Q24nAcn9G|E%3c8c=DN_}ba#U50Pni?Jge4=t3e9BZfK2c=?_>>vt_(Y?}VHJCyz?KKoKx8V literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/467ebe77e49b6fef5472b1ea401f68a1f70c782f/_base.scssc b/user/themes/antimatter/.sass-cache/467ebe77e49b6fef5472b1ea401f68a1f70c782f/_base.scssc new file mode 100644 index 0000000000000000000000000000000000000000..94e295e5be46447ba6a893752a4e5ae3c8c5dbd6 GIT binary patch literal 875 zcmb`G!Ee(r6vlTzX&c%UHYPT~p~?x6XtH+QihaOB+N4|%qP^`9InHZik=T{(fDqz; z=Ot;Yi6i3Z_n!Ux-us^C)5UZ#dGo0R$fep&?(!|X^>5@7w%Do{b_L|ebi*ojU@c| z@0wcTm>J+@`hOm~U=}S-8=uo3+$dZ+9DaWV&O^Zkx5e+1dvbPYvfGMS)82^olhAMd zY*aNnLH(FMWj-CoXi|>`nvMtbneKe)p)UbFdvrRdFIYg&*_ghLk5`lM-JUfGk6RZ~ g{}^nEA#Its3V%^NqO3M;#R0v)S_B~QZ*5M$U}7Tt&CD-=-94WZJGjVDzkud$W_D(Ge(T%cPIm7E9N%ggz7J2lhUZnCPQzv$uiEU*rdK@-C+V}1exJ~6zLvun?x)^JX7iS;5(J8$E9c&FEDT2}Ykw&B-k;vmt{mbw$r zE!BDx>u=_C{d(#E%DB>7Ri(0CwV4ZR!X2z&R%J7cEgpMxbwaS0 z88h}W0(-b2g}(#AEN1|Fi&N}Rh$57TjG}(Cubo7JuC_VJ(MniUg$uA z9-0jay+3jj0=?3hp;x*HdZj7!z6j{~ynS`(l_Jo?q7cwS=@RIL4kYNI*^totK0P7O zD~}m^<%^(Ko^_`IJ}I>iBaV;S2WKPGsRb>q zw=8os`klf^gW31l{b2FtIW48>0;ggz>5?QZ(q+9sSM(w!@PAI91&Y>a;++ajr)h@M zEc{!q{6H*^INT=&32$OH$V=l5BVNa4hkNKV6PC^sCiP6^8 zt)$0bKjYj^(#-STm^aR2?u~f^&{PP=L`hwM+Xqs>amFHG#rPmGIOOxqkFEi+&grdy zUQbEiTa;*XmI=hU)wGyPE6ATOMfUV1*p3S!kAPB1CIr+eU#%fQFu+SH-pj}tM1Hp7 zl30i&v7jV@QhA6Z;=G6?6fYwuA(K6E85AQK6qO868fF>dyod}GFQaE5otfh@$VW2B zD;c0POa^gYLa|-5h*BMMovK`?BjAsMRG_fIiR#S zL=JIYL=LK#n>D(oFJb3Ea0!>D1umKe60{^qcj*HB04?hC@L>ZN--qYz75khf^Vs>Y zfVa-3)IEXsf|;Oif@YQ82s$hJBw*}Yk+E+nC5dS0i9}qWhYqAe z9hxck?t?E9UQG(6vN>kxZ3^i1-{Eb-1WoVoK7Z&*A4MY`^5Ls_GXgy<3c;tKbP1ao zI*_1;W<#=>h5s3!vOQLW7oig}Y?bWiQ?{pk%4nqNB=ITRk>h-@nBj3ACG|KzkWbkY zdum;+gy z7jYm{yo{W~rRU;}ND3QD3MdV8E{^jeQc%5wXUe#9oj6nCx$bs&t|R-jYX>A1w1Z>Q zG&HHt{57MW_m`9Y{`@;zz;oUurVY=kS>sYs&4nnXOMdLt!e=-Wc5>=0&H6+ zmCaL(|4i&?S7L}O;60qwrU5e<40o1+zbfec832i}0E5;jI*Av}c;77ct>;CV#_h$U S?%jhD5ANfJVNViLrT+^8^MpVE literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/467ebe77e49b6fef5472b1ea401f68a1f70c782f/_range.scssc b/user/themes/antimatter/.sass-cache/467ebe77e49b6fef5472b1ea401f68a1f70c782f/_range.scssc new file mode 100644 index 0000000000000000000000000000000000000000..d9dd632398e4d351fe545fc8f45777c309a6cc31 GIT binary patch literal 4758 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 literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_clearfix.scssc b/user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_clearfix.scssc new file mode 100644 index 0000000000000000000000000000000000000000..ed40cd5b5683556676cef99410e5b2b1446c2fd7 GIT binary patch literal 3284 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 literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_ellipsis.scssc b/user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_ellipsis.scssc new file mode 100644 index 0000000000000000000000000000000000000000..5848ad685a1d794337d10de57df590098ccdad2f GIT binary patch literal 2596 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 Br>+11 literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_hide-text.scssc b/user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_hide-text.scssc new file mode 100644 index 0000000000000000000000000000000000000000..9cb0ce1de2728e50e20263b4062fa55035947787 GIT binary patch literal 2755 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 LW;1zv`rZElK+!_W literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_position.scssc b/user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_position.scssc new file mode 100644 index 0000000000000000000000000000000000000000..6d818c0904e8e9a14b03760e9b419902a6e1d9a0 GIT binary patch literal 13510 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 R7y+gt1n8B53zRR9{tvJwkGB8- literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_retina-image.scssc b/user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_retina-image.scssc new file mode 100644 index 0000000000000000000000000000000000000000..7b3283dc9fe6437fafc860bdbff4f96ecc9410a1 GIT binary patch literal 14679 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 Q@$HiO@(Vqg8R=mD5C6SqUH||9 literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_size.scssc b/user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_size.scssc new file mode 100644 index 0000000000000000000000000000000000000000..2e3198fc26f58744fd8f3958e12dbcbe44719c2b GIT binary patch literal 7633 zcmeHMTT|Oc6m~PIFS4{P_S2}0UZNL4_YG>=g)&q0nt07}O?)1%XdwsTPbX(gU z_Su77Yo}wijvuj|)S2VIws{b-pdw#)6#kd>hr2}0?RT%!}G$6T)~T-IwR)yk&^9dd{9JZVr*Ox!MO zySCG3f?N-mP?P9`oGpVF<@xPWE7qvX>|y(2lwGGD)`QAk` z(id)f;&9(P%8^CdV~!YcN1Lru;qpFC4)<5{Ep&136bF_x2bPl#V6c8?C(nf2!vwAb zmH4aAhiI2@NA?h_w)cZQE|7WoUfc6snd=uhQlcY!{2~V{mVAUo&~Jx1%?{$cX2VL- z2Ick~?N4mC$9fj-)&5X)?4c}=94uM#`6-^2vb74hU6rXfp7CCod^1XYqMl^(lfyY) zOr^hw>95CY$kAfja@ew|=a1Kz}Wqm*O2`yb{jwX$a@Wg~EB28&f!6 zNWysocP}?!fnUd!-y58xpYIvYam9;+b5!=ma9&Ts`P)KBd>W*IMCP(4pk9J`0da0C za3wLifk<43YYK_$utKj*x5V}-TjEWDc^!dSDn36j8+)oQXMI`Hd|6KV68VA004enS zqyl*Jr&ml*6 zTR=Qehk;8b_Au^JC6jvWkp#?6R)yW0%Jrq{8Di`(wh9 z3gbJLDujxFxsoDWQDH1fq>szw7BpxT7HAD_(yE4s?2n`ZTG7Ool45}N!IB6zQMi>- zJp6Q`Bq?M?x^`b2hy6#;^a?1bHX^Z^z(}AfHXE|iXC2(oEN!MOMJL~ijh}jyW?N%w z)>vt4WZaf9-N>d@(#zPGV5<_P9Za|btEZ)MSJO>2-FIOv86SF2dl$5KgZz>8EF%1? zW4k9Y8!oG=S8Q0oM>Y6Zb$@fRhr)JR_1&O_q}H2!Hks~0yYcq37$Ql;@>?B z?w=N$uQg4FGn(#_q9godh!VTv48qtCB!yG)&04P@TunmXQBTqqDu$t5Dm`|^ShnnS zC?4hYov?DonAcMKrG_U(BaW0D-ALOZk;m?MJcrZ~?*+zf@5J%#=NLZrOh2%1S_%ou zJZlvrdlhWEWuMg6ZlV-q(cd(QdSn+eY1Qjzh=dsoouWsPh-3w&cg+gIKKN8pFzu5u zqUr{&alxFR@hVQxkeU9U6P)pyQJq9@+_L>EI6)%?0kSZz#am5|Zbthin-jze5}ZJa zX;k7Ly`$-Vq2MY5x4I`6F%2W&~N9zS1=PGNUPG1m_eE7(pzYif-0= z0V9}7Oc{ane1=23mJuX^nIHs-*>u1cQUPDUW#{8C$A>{5JD<9W&g12CKE8^UqZ`pxG@jM?&7~dPPaK9y5IOJ@lKjwu-?c6s zd_YI?qn;_hL~X3e|C{Cu!!*}|D+6NUcamWKp4r+2`9xixljsdFaE|h0Gq^U6bbMj9 zl%8x&+e*{RNHko`{QPrMwveW9&5f|b+6bR*%7;O#VPf5yNQKRa#K-RhrkiGDdnhZd lp01_LKmSrnd^1`piiP?O)_G~DUI@Q0zBX6+C|A%r{2RuvPqY94 literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_timing-functions.scssc b/user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_timing-functions.scssc new file mode 100644 index 0000000000000000000000000000000000000000..643445016d33e63cb7e61cc72d6a85f389ad215d GIT binary patch literal 16845 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 literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_triangle.scssc b/user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_triangle.scssc new file mode 100644 index 0000000000000000000000000000000000000000..9322659fc9eb167c83f088c089cf7ddc7f4da589 GIT binary patch literal 39475 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 literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_word-wrap.scssc b/user/themes/antimatter/.sass-cache/4afbf5cdf659960472b02cbdee5516d758109031/_word-wrap.scssc new file mode 100644 index 0000000000000000000000000000000000000000..61d6c064edcfb79c0caa24d061c7c04988865143 GIT binary patch literal 3038 zcmeHJ+j84B5LG)VB~g}S$w}-azA);|c4Es;YR3VZDJIioMl-!+YENGLpn*upLPHS@ zK-uwR{2l$2{$3a0MWijaNhXhdBM9u`?C!zYeZ0N5z2~ey_ZjneaN@l1PS}R+QM$kD z?z@i<22Yqf96Z_EJD>-{r@QP2ch`M-K;i4rK0UB+R0O(nNR>k9NHT`dA3{XG36IU8 z260E+_aqCBErC|@hkoVncVpkrlYov{uhTda(%U+dG_;WQ;t2jzd7_T3p4 zZu4b`XUKhs^Uv-`j9K>$JLN(5kVi~);f{#ATPzxJmu?3v>P{4s-Dt$duuFr8k7*Ra zALT05Jq7PVb_alTAc8LSJQ1jFKTF@XK4s}tGzcGuLV~40P7J=6{D6wR1UTwkMQmIF za1tul>-_ZT;LMFpA{q7jpU2q}QNRpS!u}bR0T2|bP&s6g1%O9XjV?+rAxNE9U1!pQ z)QeEpM7=L%As1Qm3uIhUzlv()l=>5>e3F^;*lYb4p~FbReO0{H>of-t)SE4xU>zi0 zA&YQ-bRII)z^I}SjRlJZ} zt>c@dg>R8IUWRCDM1?*DQ}YN45ABr{p?*K}xN>Y29*;)225%16iVp+NlVDxG!4IhpEW~EynzhWvXYi=gYspx=}d>3F{;eyC5&WhrkofC9P#b zF9L7(zoZCwkyjieWFI6*)z2zOHC~+x(p+AUnq>@|c%HWa>i>fD!P0Bg?V|;$o)@Gk zjUHVQotTy%t4*s{wdo#N_!Mo@oR|~1UNxeSa^x0nfnKGnHQXk3yg(ZGE~%%%L_(r6 zduvFQI3TrxnUgoefNw{4^nVkxwm4;S=!>&>8qk8ass(MOf>#AztK!*lV+Y^IogIK; zUy8*BzTe3}>DAXMD4ne9Bn@KBW|$JbyQ9Hh^HOxM8FP)`!UZ?eknn>77ZWJt$80}qG_zW&m9-5Ey4Ysg13+P6X6UCSJxaP2 zR2fDf-DhDq`{FM$*3+qzO;hXN=*bc}(-~mHd2c(@1IRHaunj*6AI2-^*|VI5F>ss$ jt@9o+m?j?0HR&GINpD@)7q+R_>f#j5QbB!GGIPTAxYDwZIDlGq+&iw)9fBhI{^?JQuxR&uF&V|HiXd1mMJ(r*vigVy_t0KoI3N$bj+zz6-a$H4t^HimBh6YF=q z?pe3nJMZ=f_q}sA==GR4?s>iLK!0B3yPqn)}lpU*ph0q~Y zo5#}Uk@&TTsevDXuaSl=_$+b3Nmw)iPL5WUZ!ZHT<(5!zU8(xzX<%8F=cf;HtKSPwAwBkR_eAS|pQefJ~CsqeCO z1k#!bNGv&p5O-N5{g6qCE5a4Ra(OiNC$j|4@W_g0ZU8f3IrmIJTP0|;G{XM=l_Tu*#bxBsQEcRSrVb=Z~(<*8MF%2ieJGHu^;QXdS>l8dHMtjZy@(xFwmj2DHs5C=>`2j^Iz z2B-BBeZg0wE8ysAbblw>rw6t{5A8Z>W@~gfEmUYx8T1ehdV#m`5OY70Litox)oFRB zGFB_)s+F*swyCC~O*Ky6R_VK;S-;=v=31dAsslZzsb@M+(Q(=VZS63>K<003!DsSG z+)7TmlEGDxkxHkyK6r`yP&s;H9crl`e;%^ziK=Cqm_Mip(^ zM#lA5Ku?C|vp<%#d{*_fuUn@2UQDX%xUpmB?f#Az*J&#UZ8KKmUvF-QwoTaH_&N#i gX}gO}nsnJFKC!vRw9F-~qV&^js3*cn|5!$U0Xv7vo&W#< literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/5b21d380f52115b980aaf10cf2c0e784cd6d0358/_breakpoints.scssc b/user/themes/antimatter/.sass-cache/5b21d380f52115b980aaf10cf2c0e784cd6d0358/_breakpoints.scssc new file mode 100644 index 0000000000000000000000000000000000000000..975aa6f3f85e0d07919986548aa4887ba5eb4d10 GIT binary patch literal 9615 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 literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/5b21d380f52115b980aaf10cf2c0e784cd6d0358/_nav.scssc b/user/themes/antimatter/.sass-cache/5b21d380f52115b980aaf10cf2c0e784cd6d0358/_nav.scssc new file mode 100644 index 0000000000000000000000000000000000000000..95ee7a8211f34098ebdadd3821e43f73fcaa59bd GIT binary patch literal 1363 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 I`m@NzKjPLyy8r+H literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_blog.scssc b/user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_blog.scssc new file mode 100644 index 0000000000000000000000000000000000000000..3306e9015b77efb8ab0e166a32e9eccbd32dffcd GIT binary patch literal 32996 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 literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_buttons.scssc b/user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_buttons.scssc new file mode 100644 index 0000000000000000000000000000000000000000..2a7fef0eebb446a373b3a3ca037994d044202c1d GIT binary patch literal 2305 zcmb_dOH&(15LT*EE1?H6IL0yrqA0clj`c9I49pxd6&FsmPa;3p{?X{MqmAr8d0eD6#LSD-- zKscE6r3k0WzJ?ls}lTWfFJ4~lsyG!_JV~swNc|3=Hy|7!SyTjH+cOpaRUc(YfV& zx{KhA@Y-M|!sDF?On0V1b~4$h zvTeG@cJR3Z79CZRIP2R2>Yzv;-U(3rd;m$(7D=$a5g$bqcQw5?Y;7d)+MW!giWx04 zuCC(#{5I9Er^M7`gX29{f{z2JSnqqDRM6(02a$=Lx7aN5vAylN9}}4xxw#RdFRh?2 zVZys}^mcbJPk$3>*k}95>owebkjlr-+DnlAYD7TDTd6`Gh(E!9!>2{EVeMRPl&#)v zfvmBRPw`t}+N!l@4Y0UZZn913wNLy5u$)#4>{$-1mpVCFHmotv!9i2(vZRDKJaCM- z*_<6oTCCHOmB&^(P1_ng8Tnk@#O+g-v{H)48?7b7kgg}=j@C<-_y=j(mfbc)#g2#j zJ^IyLwi&jC?q8k-59w}??%AOdJKImXT$X4BGs->fu94+OAE#YGpVa8nRoT<;SJhrc z=UnY}x2pD(+3E^@(8mnlM5`_Wizlp`Ww;nh1CE6 literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_core.scssc b/user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_core.scssc new file mode 100644 index 0000000000000000000000000000000000000000..d691bc84ba3d50531377adcc0d9b22de8c803d6c GIT binary patch literal 12287 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 OrjlX25_gt6&;J9)mty7s literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_custom.scssc b/user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_custom.scssc new file mode 100644 index 0000000000000000000000000000000000000000..5c216414d491c53c63a34895413aece148df65d4 GIT binary patch literal 3653 zcmb_feQ(=D7;h1B9VctLbn7~{F_W^f7aFH8q3fMAET&D0grLF|67-MAi7$!4@tHek zTbar?;v2ws<9W{ZB~AnCCMs3+-97ib{+{1+J!o}W9sAKY5o19ZkL;Jhh&{IU`+oa) zc=W7u+}S^T)*iNxj)(h)`-3BP*dBhhcYNftV0e7gw>~yGx$XH<5^^dSBjg9p)9-k| zYGmCVjKe4pEItFFyYoUX_+-N3T(0WA_M<5~GrG-=^Ths%PlY|0%9KxR?}g{ta?Gbu zVE38*Mucg~VtdR4YqeVT6UQLN%Tr>x>3PCPRfZ90rN-F`7$4%opRhK$=JF&Bc`V

                                                                        41$i9PF}m91i?e%u;76 znQ+oEo4~0br{Tnhz=b0RQaUM{B$1yor#*xHHOP-4)D_djF5IZC66QdRVmH8(+i#N65PAvD5&E$G#k2th`!; z+caVbw>pLd--x2E)=2oTccXALPGuAZOekL)ZsH5cf*#6&;$~h>7O_Ff1tEw^-($Z` zSv+7SlySl)eJ13Y!O6Wv;X-bWeun2em(HOS5i6vsnbaqXQZFKC9V`b1-EH1n<~YF1 zq&0-Goc4bKU)86=spRyILGMCZXr0rI3cb!}kTd9wxz#OtvrV_!xia-9*L%m6c?x=^ zmYCOP0)%J!aJ5Zux^=qcZh-Tt-Nx0HM(Z|c; zIq^qKKwQb_KjT^Bc|5hqQ&*JqI@qeUi=&FxlI?$Rh^Q38v(ztqmP524sC6A8uI?6f zyBuQmxgCYJzce&W zVMA4@04`qE=IIk<$H?4$dS&I+lJc5{it-E{%$+Rfu?mhf^i5pdzLdxE96S*`L1NmV z53n6-zwd@|z}~9ln#dSAL3;xcCTTG}zlC`q{K%v*F&6}W#34zDmkQv;3dMr#DQ(x> zDz!)*S`7xpFl2%>-GC*64PZzFy)XuqNe^f(ggFZ`n5xuv(^ z^yGP*`frIDvo|i6va)UX*U!D?A|E*$ZLGm7L&m_uW5=D>Kik zMWk-5wU_D#F98@Wz2dEMI=gD=t0($uxrI7&(iJUDv~-zM=A}(7{ZLDnXq9%L)e15_ z*y;1&+wxz6=H04pCcL~r z7(j|y$5yi#lo{2wC_H;yX*M~LY#Q(?x#23*4d8{;Q_nnWfI|~WW@9c7sE<@!UyR!D z4k{)ZV*N^y%t#VB2f&{X%RG{&s9q;9r}uxG)>ksPqsxv44@(A>)4Ahi9%_K>Y!2h9 zqam+H)|WZw)F+UQFy2jhqOy&&LwAu|XiE`@wR<4gM4c%Tp$=_h#x@IZ=Iyl!c5Y~Y zaaCr&J-T0}gJlY4tX@`dkj-Rw^{@IBLK|V8xy+@UD+{2#> ry~@5WtP9I}KZ;P+X80hsf&#TJ6dK?knj)2RPskbY5VD5Of9LccI@Y5V literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_errors.scssc b/user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_errors.scssc new file mode 100644 index 0000000000000000000000000000000000000000..1fe088c9dd7c2346a6e552803e0536e1240eb253 GIT binary patch literal 4369 zcmb_f?`|7K5RWBf`)nsp<0MT<|F|wGZG&SwO@gxfffc9)OQ=*hszmd_y4-EzYtOgG z?YV8J!UMol@BlmlJO*z7pLhsn&bNDB_agp?Pxju<&isBevoo^~clLMooA*BTId{F_ ztog`2wm;#=#eVB{=RxyP6p5%Q zL+*H|p3{`^xsSLWbc&?-=!jHUd>(RAm7Wh8Xz_Rf44vY_9`i0)WFm|`5y-a-APOhB zS0pP;ib>?~VPpqqT#$_^mO=6nAmdky)R~O!C?1AF3bJX6JQdPIwI#X)`f5y^o=P6W z-$lj)H#tIAl1V))NeiSjKr9CUh-F7&>46!mmRPXdrq6jBhRsS0v>lJl1H6* z#K*8}2eCJ{;~2h3N6Jpj$Dwb>yfftJ7P*68i_|&-(%v`}5l9NsoPzDAA0QTw!Mr?| zaJ&p)B8W-9^~rw+lUS^?h}-_~|53KVB*bfoK^wldqX0q-UM~-LTm--)TaGRk9?z%N z#OIh=b)*FUF=MKC62~L}S6FCAlDk9P1Z}M}hTP{)EFwZM?d$>ncESUPmmzjzK0e`* zJT3}yV_sOvmFR8Uzw^#M_}}MBsydarIxp3CF#t%j->PV+kVPe0!)%q4lNW$4`J1Gp z6m+vluLFBp7j)U8S45UsMY=k(s?oJBUGJvKlAl!XCX*@Yp^^Es`bvuebi$M%Wz7T|g<&IRFVBti_rGTlP|*JJ)BZri?h7GMl$8GV)J^5T=)bffk&jpTpmW;fs5e|JroRw z5LFNA2*{vA%5%;u1HFcJ9UK(4S5cn#%w5ZiA^IpD9cvOtI^TF=*4%GXD( zCgIL;Jli);Tu}(f#V){|yN9)w*Z!#~^ zHr+w@Saa^Nz#+>T9IjTCC3Fw%(5~r^JO!CQOa;AZ8ne$0154V#u94;`6!wMM&!{dZ zY1W238YeX{Nj8J-J87c`SLO&;5{l|F;p%;5FQ0Ipf{d`KKoR~%6UO}&ZNMa)LSfI< zenxop#Y95NpSK+WNgl-cF}{>^b&hluP;6*SxVouq=9A7-kdZbODAF$t1MAv=NjinX ze6^pEu8z2OHoAnX)$4Y*-p%LQ9Mc+bt7{;*YA8ebO!E|EOicxf>4jlH7f)(3O`)*w z6@ZLsBeY$dx!NZpj>R}Xy4FF&r&~!KR0+K}$9NGqUe$nbwW$o|GtN_xF*X$_#)TgY z3v1efNjb&B3O_0VL2uOQP3#w?Q7_?nOVDOH>6x@O?XdJt+C$SxaiH7wBOhj?Ahzh1 zJ`ckh_EZ_#4#$F4$5MT_OF#VQ-LtH_XL1;Iq>YUhB#5;oGfq=xIIB`r}Kj$`^=6!`^4u}bU?!q5pNr2$U2(@ zF3d5wrMcy1LmVr*z7jf0n}>(h%M^Ffb3*YwIYxZN>0!E*pKA+^SS=53f?=-(RJYzDmhq)RF2juTld% zmR%)WS(-1p+_*~Bu^mAo=zC-~`W~c4vzu%hb#YaBD-F^r7|A9ZTxBgOH_CYmvM8Gh zbd-PBfkA=GMw=81EBv8Z>jAT&aI?a1TAAq~c9hMdB`tneOB*9R)zWYk)GM;zD*V~$ zT=K%MOkYyXw-qa!=}B`sh|`Ld&Y7f%BPFb7hOrr`xrt?FXWG_D6FWE@H+vsxVwwl3g6n8;6)1+*u50s1d07nLME;K8n(HS>1LUOq*L KSWyRr9sLCr`ZT}* literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_extensions.scssc b/user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_extensions.scssc new file mode 100644 index 0000000000000000000000000000000000000000..3cadac067feee45fa9819bb60caea8d683f3226f GIT binary patch literal 6138 zcmcIo>vG%16&5ueUUio*lvFDWqr{REiL?|+_HNy5;@Ami5;s$+`BBdl0}@MVBM^%K zpl!wVOY{xeC+HirFVI)$8?;Z*A3X=aV!0&f$eQ+tMqKQkJ-6?C=Ku$LhkJ*O?Jr!; z9pRldo;YWGr`kWlQn;HbO5-#MzQY ztex0lNXTixIU&E5GI}N*K1UW2rWI)JcIT+X{{Kp~pdb~{L*?j zOh-m(JQJL8hnQw!pU5M_K?A&V@G z>>#py30G{GN4}Gxz#x|BGFULjWWOKs2!75p?m4jtU5_{EhNy#TG_eh)LI7kC@t}=@ zbS3$h{3IJJOv7#&_R)HUu1S4gk^XXIwMOrBnty1W%K>j)@E5{sors8sEigV3y-Sr{Gd}8G5grzGCMen@xPUVq8A81QZ@RG2%~Qx z1A*;gnL1gi(=>)BW9Q?u6;fj_Y2KB(4R}6lSScxI?)$AAWi0QKj1yct78cd^!OH3vH(4B2C-M7x8*3jN&wf53|_d} zq<7dl-DDedg{@1v0|rd9@YxWVp-S)d%k8~G`U%@1H<>paKq!Dptf40$3_wQ37*ymo zSm()s@J4oLAYw8QXYkPNG%IjT0>FGr-!m-zAjeYraU8G;w?iHy8H}R4bdR>CdB0`c zxjlL(G6Dy>M0-g!^z9ymn{@-bcfldTPp=eDUWWF33(=i zf$fT)xbv;;m&h`nv%(k#nD7c4*gpKPu@FnQjRyecXI8QVT+blEpvU>)D;citXjhd` zQK5s?v!g}81W-doqA( zOOTd*;2{8b`8-Rxo)?4AF7ul~!+2b!wh~(X?A!6JMwHveQ zWSe3lLkdc)s(6xm!fw+$Tj~b;L5WEE>om+N47Fi-P~B{=D@^T znZdZ)QreO3ROsmE^b0dqc^BzenHN1yFvngSiU6Z2uYPG@GBt_)QSD3mA%p?iP#0R` zg)f1}W2AiqNK5EACAnpXhZm9bcctfEPLkdHnD6u8t)_Zh-Bl`M-;X7IP@)fC&rkw? zv`v52h8UD|R;GYoO^`;D`;CuH06G=6M2QQ}xi8;6feT|!EEoyI)kFfd!hIF5HuNY_ zjq~fDYO;-Y#f*dw={sP@E7HUPVls{doo9#UL$vlW4T)dFK%Z>;_5?XLsooW zT_V1Pv?_KyJ5am53Lbr)>H`7oUg??)ntyV_jSJBHeTjkq;qIq zl!50+g9lHnWU9<&k{ZQkk2CP-8edgm=*lRP$xwu^H18UT^|45-gF(8uaW%=nxm`8y zA{`0yqAU_$>qy{5{l?QD0uD;GhQC2=M^{EeNo#yO63X@-38?UPs zCcK_Iba+F5P}+tsISu^E(ZDYhJGATK;cW(&;%ZKx6;v{oS4L*yox)*^{B+u2kN z{&y~EJ8eijfZ#26KHq)*zVFiO?sfOv&DSwNDAS3198O@Xe)#e*>K*KlqhL4a?*wCr zym7w=;lXYopx-+j_jdM$5C`?UD~diI3S%f8X#h%3m9igH2u-@mgQ<)|4e41`(Wf_y z-l!yjbWzvf7b4E#%o%h#WZNAinbOvMtJEY0_cM&$6O~%yZWD(($0J(jc9sEc7#U*= z=A2bR6Bpp^8;hSYi6lg`= zIo3IIpizqxoNi_YZ?7O0jhYNPM}Lo{oY>|XMC|{YW*gj~Tz;XMe<^f|)?{jD6=tJ!Xf@8n zf=20zb1&u~AG>^v*B%J_&cERF0H zFRzrs;zo(Fk(FYXSkq%I-uTmTlnY5)KL literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_footer.scssc b/user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_footer.scssc new file mode 100644 index 0000000000000000000000000000000000000000..9bbfc3448a1d96c7ade84e6da2dd522a60119a9a GIT binary patch literal 9771 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 J>uUM%=zmw&Hc0>g literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_header.scssc b/user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_header.scssc new file mode 100644 index 0000000000000000000000000000000000000000..694e852e8c5442541e4031661bc8ac0058f57b72 GIT binary patch literal 61020 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 literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_panel.scssc b/user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_panel.scssc new file mode 100644 index 0000000000000000000000000000000000000000..f18c09ec15555cd170908d1b0547c5da8322aff7 GIT binary patch literal 16966 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 literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_simplesearch.scssc b/user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_simplesearch.scssc new file mode 100644 index 0000000000000000000000000000000000000000..51371d25a00171986eadc1bf34c562e97e10dac6 GIT binary patch literal 11193 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 literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_typography.scssc b/user/themes/antimatter/.sass-cache/65dd5feeee3f3b46e9bc9fc66794089a946a505f/_typography.scssc new file mode 100644 index 0000000000000000000000000000000000000000..47a8e0d1be18c4dec8dd49e39dd202cb1faa6d36 GIT binary patch literal 52103 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 literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/68c54b2b448e649112858a27fe9a12f02c0a3ffb/_bourbon-deprecated-upcoming.scssc b/user/themes/antimatter/.sass-cache/68c54b2b448e649112858a27fe9a12f02c0a3ffb/_bourbon-deprecated-upcoming.scssc new file mode 100644 index 0000000000000000000000000000000000000000..36a8a4c35104e31b813aa7f37913079837927c3e GIT binary patch literal 2217 zcmb_dTW{Mo6i$c1wPhzxx?6VXKzQh|28iV(bFz{T<1Q_bVcm+@SRec#P||VCRU$Q# zc48F$5Bta4p=>9%kqtv{7IE-yRnw1q!dgoE27uBFt=%s=g$CW>$w+3Y z0X4X<>1WGAKj=IMHJ7XNiO9wI=hw9FYD9ERbAYOJ&31SS3zsWr;9A zQYZ{0!a+J0oRTYYKUhqE-JLu^wU+57urg1_CDJ|dkwCKLkkXnw>hY^RACSNV~xEhFVM4( z=)5%!M>>b_6-=ZGd(wdo(T9`CA-IuDL|cIi#}-V8rOfeFC?|8_9NyT(+Hiu_wFzU4 zG}bDN=0AtG_#BRlMCZuPwpXaIS|95n^FkXmqA8i>aX!C5Dn7%=?9@8Qs~D$2N}jjA zefu~|k4zSqxmz(CfC-ILk^xd_C zQeOGIwI`Klz+s%}AN)a$eA zpmI~wUSee77QOv5qH9D}W!UudqAvt~^DRti&lyam#;SJ&#qP{Aj3o{Pl<6SX>a3~RZjJ5f8TabQy*>8+(&-`lfH&EPd>2dNL~P|2-Qxx3 z7ul(D;+j?!T=^bijZPWD-A1ebVDzK1&e2M9l>zZbD;mw4F!pEj><*Qss4)lr%l4^AC3f@@5LwXmX^eNonRunhQYvJq*QrWp|`{ntsBi{G_bpJXNUGlc54M3Fu6 z05sMBXdnPPH<|m>aFGUUAP_5szDxPG&}+&Ibb>XH0s5%ic=V@F79MfxVXs7sJ=32< zjMD*I-*X=u%TC9?)}Wd-QjY2Mqc-TxaLLwO7U literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/68c54b2b448e649112858a27fe9a12f02c0a3ffb/_bourbon.scssc b/user/themes/antimatter/.sass-cache/68c54b2b448e649112858a27fe9a12f02c0a3ffb/_bourbon.scssc new file mode 100644 index 0000000000000000000000000000000000000000..4de09e4ae7c69acb7a89a0b392391f3a33f0a69b GIT binary patch literal 9801 zcmb_iZFAE|5~jAULdZLLCGWz#gqKyEkOUHGcQLSJ$?n45629>vC0k=#g{<*Pa!Bs# z{>S~?>y|WG8qt(e9D)=(R6|>jfR-t=kcgCyrW2drs4F zokQp3NHkl{-eL3Px$88K_l}$UM{W1yuzmbuzd7-@acQldJ5gj=pF$xl>!XzM2kD9_ zYo^iadcGTq;PZQFZIlPSk-eS>vT>7*OUECG&tqq`h58fYT*NUr5*bhGW7gQ)Pu4^u zzU~WaGV*-*8++{Y4WMo#aC&0Tnr_H`?8zYd=M5O@dx7xAtocSH2VqNGgig>A(z=tX zpC=E&Nql+aJcJ4-GALU%~vDcQ|bJ0 zS4~?hYWnVl+5=~`WmuYI)71N+XnR*8M8|Qf*i(DjcZbfaw*#Y z@|#okIKB$2@G86+M6v7{?}XnMVe&%YtS0Qq(#$|&f=EmN=~zA+L@R1G%K5c!%2{v8 z;8KLKIS9Ns*w?G!V$a96+l3^giQ4zdN#BOV1h`24V zrRIg(&GAhq?2HnbCnEEj2%^W#jPl@RBHt9e1tPVeNg?8bm+y#7>RWciB2ik@ln`+{ zVl$5%e0gALloFo}mWalZrh(`Y6S({}in>l;n34An_$Lm%KIAnv4=fXzWlaVV_ZqFJ zsQ@>o2)m)NBhp`j^t)bK;gmfb zQuo{?^mjFSMBECm70xI5VMJY0BLX!|01;Q0lol8Y#@K{}RebnfL zauD#@^C_Wzs!=22++WMxPpM4^eut0G_e9`(O#l)1ZY`$*GQ=`sIJrs4O^qCpej-W} z&q|pbi=qKvpzIR%U5yBH9oG3ik6cDjBOrnsyeKwwZ=?URK(fAQ@o-ZZ**h}dPsNOI6{bCVrOXEhQe=gJf zl=@CiYpm}!;kPw@M4azw)RUT`EknM?@dIK0L1RY5MLo@ZMYX~@{Uf3NQKLr0<-RoF z*zPnV;X}+>?w<(vPZ~EOF5uZ>`taI!@i4&WtCxiPrN)g&=T^0k0kzL7*M+vS@z9Xa zs|}6b=ql(HQF;a3MHPf755B5`=AA^L-W zn|L$AN9P^Uc&BL~V$07=Lv^;;jdMn*&opX8T;SE34(ZUR-SS@v^{*N=B98h_=5+`c zG=Vds^!$y`|EAF+;tr*A89lbG*ns>_Xn)se5phM)Mn((wKk$Jz^MfNR@t#P$*CY^e zy#N(+XtgDsYnJ*0q5hyzBjRGNcKTN+_sy@N(`UK=Al!dw+=%p@uF~%gq~CKX10$A3 zQy8v*UDJZg8~4ARMgJs%e}Y7jg%RZ^7nOyL?264SRLnuYC2>{QNqr<5AGJv#DmN#y z8z_7GtoGf%$Lsa{f^#CfSTbsr+pC(*8MAH<7$<;6zZ@#Ys~)I!vr{Hi15|-kxtZYx zr#CB{g}E6SF{}_xZZ<}YR4GW^7mXNNy;zGcaP%w}_KkFS~AFNl9m&8^d(Q z*maH=}T#YV^zO4dv+(-k(-4CV*r&0OAGZpIE7kvCI$yVeZlhp1-eC@VB0 zd2^|m$PXx*fkW&=ntA-_v>6AsWQB?rTCq6ENhI%om040t-oL7tnEn$xCT;SJFs0wg z>VQ)JW|$GT{vcwks((^3VgIB0FzsJdo~QkX>f@|`P&KIYf5noW->c8*`MWZLoS!T9 z{QO(7kn?NBUOInPY$T^t?D_eRw>b4_=|4Z{_tF3W literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/6b6413e8b8496410124d5bfc1350f4218bb7bcb9/_convert-units.scssc b/user/themes/antimatter/.sass-cache/6b6413e8b8496410124d5bfc1350f4218bb7bcb9/_convert-units.scssc new file mode 100644 index 0000000000000000000000000000000000000000..8af66d7a7c06a8b9d0f89b80bd2928bc6b2fdfb1 GIT binary patch literal 8852 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 BlF$GE literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/6b6413e8b8496410124d5bfc1350f4218bb7bcb9/_is-num.scssc b/user/themes/antimatter/.sass-cache/6b6413e8b8496410124d5bfc1350f4218bb7bcb9/_is-num.scssc new file mode 100644 index 0000000000000000000000000000000000000000..9be111a095e1d9c00fe3156db8bdb7d0af4f4a8f GIT binary patch literal 4525 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 KD#+8&dGkN%%tuK8 literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/6b6413e8b8496410124d5bfc1350f4218bb7bcb9/_linear-positions-parser.scssc b/user/themes/antimatter/.sass-cache/6b6413e8b8496410124d5bfc1350f4218bb7bcb9/_linear-positions-parser.scssc new file mode 100644 index 0000000000000000000000000000000000000000..6638a8e99b8ac21680f4a264dac9a9caf69d1a9b GIT binary patch literal 33787 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 literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/6b6413e8b8496410124d5bfc1350f4218bb7bcb9/_linear-side-corner-parser.scssc b/user/themes/antimatter/.sass-cache/6b6413e8b8496410124d5bfc1350f4218bb7bcb9/_linear-side-corner-parser.scssc new file mode 100644 index 0000000000000000000000000000000000000000..f8829327af4ca77c1ec8c02d308fba2dc36a4852 GIT binary patch literal 11915 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 RrXjquV2?-QTi36S{|9Wv26O-b literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/6b6413e8b8496410124d5bfc1350f4218bb7bcb9/_radial-arg-parser.scssc b/user/themes/antimatter/.sass-cache/6b6413e8b8496410124d5bfc1350f4218bb7bcb9/_radial-arg-parser.scssc new file mode 100644 index 0000000000000000000000000000000000000000..4ce7ecb59807d37cbb5286ed6ff35de11c2c8330 GIT binary patch literal 23559 zcmeHP>vG#TmiDB&EKBm;xj0VZFtX!IVp*~sCl1j`Sm{Z6Jv%$QJIPGdlz+HriLyB@ ziyD$jcTZP8!2Ft5*hkn$*>x1B_rBwp=I=c({GHcyCe3N9aptz0zSB7x_so0gN^g6eM(BDSsyJY;?-{<%f8(v{dd}s z+)fyzk>|P@As_vmatj&c3s96rF#;;x$&O&)OzP;}Q|K94dZghFOpYCTzFBH`=jS#a zo%nX+J12CSZ=u^ds<+sJl|vVpmNWJ)u}|FIk&T*exqc8<0V`LNlI8r+l}f1^H!_xX zyFEh&75|f+s}qfhPI$(}q9pN^6GafGN>lDc2IUFhx+GAcQVtbiB~*su87@MKxLo9_ z{gI@_G=JASKXLpL+k$RETg)3)r*{t70LI6?jtjXMGjCZ9ZuWciQOi>8)J9t z^uEu?%6h6ETc4)MpMt%qhCg;A!?5A8%^CKHi^U{8t$M9kG{zHEQALi#BYJWi3nBO@ zW<;b2p;#7tP-!DOI=17n-2&SKUQak?Y`@-zlEjH9ZRRLFt+QttU~~*gU=%V5F!Mpz zX;kg7>caW|z(D{ykBe+eNI@daLQLE30^3R^qm%)m1ZJh4P-$6VUBkAHgk)PG;hA?M z(Tt*}Z(w;~F?j&Rw#f9>Ymbay!v^`#5yx;_293}7-VTf|qAsUtgr0Hk{@`|uM>QHP z3^WOVSq{hxhN_@VX2v#&(UimlQ)xFDThF|eX6&#B{H>;LZvKoG%r z9kTr%6*|qGoNf9bh!0;p5xLYg1S17#==(?dyyL4i}j`AeFBg|ID! zz*@Q)@mJ5S3)MIY`kb}qTyc4<#0oQPqRvpK;KJ8o#AO&J`Lq<A zl+v_2oteUEDCZn!~sx^h`eUBLh_5iN5 zg1;+uw%U)%eT7P0p#pG64aI@d-OGG;SAxP)sJ>RHUK|QItys=zn!Zt}a40x$Nf4NE z|F1m{?tlF)No1c1d!x|*jY9w8T;5fv{HsC*eZx}a<3wne*hCp)_v!5{;q{K~5O#!zS_R=%XGiK)i|(xSs?%w&I#pnJiCO!MUKOMM zg}o|z9GzDMu}gc^$+TD12Z~>9kjT|x;`Q(UZ~fANBpaJ#LxVse#BzbuSAMC=ak7R= z0>YJ%if$SEfMQFKwxh(B;7ozxC7X4ZK3_nH)xs|!9iNQ!NCOtM4t$q_ZS*GApNX-hHx8Uro8Mb6iC*z

                                                                        =z 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 XVTzP~EU`Qm-n+jvtmZ^8cMtyu$YjB( literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/6b6413e8b8496410124d5bfc1350f4218bb7bcb9/_radial-positions-parser.scssc b/user/themes/antimatter/.sass-cache/6b6413e8b8496410124d5bfc1350f4218bb7bcb9/_radial-positions-parser.scssc new file mode 100644 index 0000000000000000000000000000000000000000..33292d078372ab41f91615c82ba424208079e22a GIT binary patch literal 7490 zcmeHMS#ujV5|&&EZ;IAoIg({%Oe@x5Njz-X4v_33PU0$7WwWVB$%`IXBN8O1JRHz7 zLub8Oz3*Syf3*+$L$(`pVhCEclE>)5CT4&SeSF<$^gKB}IX*G=UfP`ZEoW$a-yib* zQv2j&FlhB&oHScz`)Rw?L=zPFx}-=9pvNso(FqX5TXHqlxe=eC-`g zOxNRXj^w^SgK4Ha^v-kVc|jfoXs12bn)uPyznZRPUf8@$3!VD%5W%?PBU+9Y&&WEP zI(_bXJ>l|xH`p?s)s1GAm~A=S%8?c3iK*M;Ae1xYf_xTkDIbEK__RoB%=1mx$K`_D zQ>XkCs*$Hvz^gDZ7SkFMefn|dk-Ze&I%p0%yTgz#jT0Zw0 zu!nE;j<`Rvdgigi{l*l`((p%o3~x=xx5lRL!xOLPd5yP#F5JciNO~ch#)#V!P`feD zy2rRkT4;$`p8TxoLO*7_iTn z2RxFV?fz!E4$v8#QaI&)4g?;V-so!K70?pRjP7U4;0ZC2OuJlYk}~rqw&^!%?tCdj z*oaz^ut=|(H!>&u$g}>*r6MK9|1n9-rV7el*yr^ij&$k zcj@vsQwwq|SO!Btr^=3^%5GW}%w$&o2IkpSFdwHeWkxGAbAX3_82(SCUim{K(u|(a zXY~0zi4PU@hJv2bk^SpE^YCyA4IZZUnX|{X^K>W5usX}N6#NrK4t)yJq1;nYo+&7p z-9H>@RY7{5MM{zXF))B^4z~aHQsF>40{HK2b>!lRKe+4*7AcDk2{%s=kN_ zdtEb|CJO9V3T)MiSFpwZyk}xeT(o`4k_U!B7K)d!Yd7jdlwdPq~uM^9*0L4uGxFdA(LU{ri+_v zP<2PQ4kkH^6ycJyNO(I>pfu zpK$7Fr^Bl&cr#U8HXbxFtV2x>2{gf;VuGp_uV9P+Rkl|rX2Ky}6@~*MA1KS!T%ivK z9ZEts#8eL*3yC zpGJ4ib3lj2f$>ehZ}i}eX&f}$=Vy)W|{OEr=}H*VFao;=qFivLCndhxX&j z)=JWktET&LwLFEF^fpZRvmf_6n|mMKk3&zy{W!QphOBDOG^B#)_|U#pbXnW()bmD= z?(VVGkG-xTEh>UmgBx^2lXbcbUASnpNmp2vuCgV%$*Pe8SVt8c{zeijL}2Cl>nI4< zoN1ZQbRg3q67(K#a>>14q}y=X!N1W>7IvoweSj^fvbCB~c@-jKITjs9Yl_O@4K*)Y znX!bl)Tt)}J?ff*x{*djgFtUGyrZTi4om%OMc!1vw-oS{IBX}Lw+5;~^C)Rmt`%GeETR%k0}539`>dBVCpeZsD1lKwiR z`P*^Q$I(WV^y9X0*m_P}1h~nd3e~Y%Y#>U~d&1G@SxidlSM+PVEa(=i0?jT~x~V#V z zNZH#-e{*ppLJ^al;Jy@Y z7R?Q$!>X1@K@vQ<_$r(q4C-=rqmh(9ASkm21}F>&#)GeoUBlQ7%#ManVBr@C2-C07 h9Pr5r0}PBFnkAS^OIIaXO~J>yYsr&~$U|SA{U5inM)3du literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/6b6413e8b8496410124d5bfc1350f4218bb7bcb9/_render-gradients.scssc b/user/themes/antimatter/.sass-cache/6b6413e8b8496410124d5bfc1350f4218bb7bcb9/_render-gradients.scssc new file mode 100644 index 0000000000000000000000000000000000000000..14e808b34ae2c0d0b2c66577b902dda884e27e58 GIT binary patch literal 12016 zcmeGi{ZrdUmf<=!wy_-`2?PQWP9S_+KuH?ybWUwk&oFaME(h%oM`wJpy?`dR){*3- zxeWjE{SEitN?PsOYXb>sI@A7;n3Y!Vd*9c-{hfoI17q#`Hl;1sJ2QT4ozeCDUh{N! z?_lqnr;WXD=+{r0`?Tpe`;Dg4cYZenbzk1}1M76C7w;?BZ=H6Jo@5Ryjp~N+b3lFLl=(*6^{C?; zj@L4Lr{y|r;|zb{yTEwohUczlG@Rz^GoSUm*0$Sm&Zq&OHJIO`e!TAbtV{jSrGc?g z%~+WqkFC5NzVA}25V&msMKUL2K&j7;Hrv+>AAC2dw8eY2A0c zGs>*Fh?yh)5O~I?Ijd|3q2q`3E(@5oplX94Lpb9ubx4BJ008MAdqhYlN603&iv;%J)F9b=1 zAv_71K~Q}Q(3xLt0HqD)RnKV~z@|YP6Gt@60Kw-@ zaDFjXW7eWAT%9IRU>ozUwsF zv_O^)E3=7&x4|m71w>N5YlG2(CYsErEl#bp7tJBv3l=j$%8cB~ktr4#$pjclh1`}_ z2jq@jCU@;yWD^ z%$T@bpYi0tcxD7~xSCanE81s02YhJD1V44wW(}u}gpQHPQ4n)_h>Wb1kc(Wx0a=ZR zx4#9s<@-p>12JU*2v;*QX=KeL>wUE7K%}%NAQD>cL{^kKKW}0Kr4z zBLe^@E`PQne@1{l{Rw@Y{R5xS=^H+w)9DGF8aScTa6%vabwWQTP5;B5(5UA6v=cf_ z)Dwz!@=zQ#T&>GTZSaH&0MZG?&o<=G@PuNzt0whoA~i82kxEJ&H37tez-hP3KoI_7 zHg6IDG2w;hTw!q$04a91fG>um`6MsB>dWd2klU!znE}S`3F+W!tDj9q7QufGbFeRZ zod)&uWXa8-OsqS$*Xv-S!2Ej8bHe~?-C1y}9_zTC@)TU7@1DWK_F*Nn3oO>aJ?iM& zQRu76^ntKm)A#S7{Dy)nPMd!Y-L_@DV1CDGyZ@!FpPX*in!B4W4 z72^gd-OlQ9lB}oXjzWnkQ^J|orLm~bq$e>(=1tr zhcU7X|MpC>kD*rwB~=JQ5fa1D%c=R=BnKvW0yGK1>%gRfSHPTPdSqq%G!uo~(S+xeEjsZ>|dj zz^<{e*%w$j10V+<>`a ztVx=YL*q-bf$$^GW6JCe$CTMLrYLO`?gM5)PFQJwnKlYA{ilv8`WC|fCO%sWAu+eh z?GY}0;v8rGM(wcxT|05pHP|$mhb(dKi`nC!QWx^h9iSZ z8s21|v>O!er0MATTWWBQVVeMn1Z44jGp~2A(AHe&6W{{yz9F^i|o*fwvXQp5~r+70=9!+Ab=FJGQ%3Hc+ai6l5@J=3+H4Nf< zTvY`ZQE+V}{G@d@u#qnG5QzfORv==fzp0};V_c2g?-bzA72ty0zKd0$x$lXd@aGEb z7Ygi{a9Pxu^{bKmQUUu)0V@##S8+-A8?8&-hv?3~TvK_PjSe7V=wdILo|J%OuvRbuR?89>1t37vs^*djTAw z+VZ;(@?H@V#nlrY=SAN~+*;+_xxQj+4$|^P zQU2j-NvZbH29*wRqCcZNIOF^tbTXx^3e) zOdX^xBkRXxqeeE# z)&SF6BR&^Qi)|JR8Qijg5#M&B39F@*YQ(uZb~BjqIpW53I)kU7&Qo# z#uaJ{A3&!a=SzkXTT_UAsUbFQKgiK85=h?@y)a%W@J|NdqrzP12h_O6tWp;oGTak8 z?S9osHt>8n%+Kah_1swsCBJI9gTa=FIg+%Agk9UJIjY~IWJZ0fo?qqLD}-OsIuXQ3 z0_GDgyt9BuPJkApkMTSx4SPPHtSjK?kHII>G)_L68Pms2bcyN!+!Bo7+!6yhxLQ^Q za&Rn58ClW+m>32inRC*O-DSi_IE2?sutMPsvxW5}bvcfQrNGi)R1#;sV4!gPr@vLJ zpKHD~4~?C8jL{evTwHsUBqC``dCL$F1L<$>&0rnPNLj|I(+=pm@gZ**kCI6=%kW^t zjNl`59MZCXvMPOLyQe8aj>P!(+hoQUp&N#}Ma)2Q-1uI`AD-)Z+FeJo`0j`_{1a|% z^}F}t-52l;{JqASpGkw+2`dnCq~@pvWtdte#c4?o0DFYr&H zT&y%N#Ktvvm8k3@6@I{(R@sdaf=0N$hhwgcMu#%LFr+=f#d;;uh=z?gwO$)|l~U+) i_mN0MuojT~MV=QyFizd)8!~V%(^DF)lHu5`DgiH zD)zVUx${fxU{bZ}#~}sj&Uer2@A*B??e8A!9+=O6_8IedFfdQN0o$s3d;5p4>=*3i zp=0m6NB!e{Z|{g5+wQ@IcXVho{CNkjULMtNR|R=+>VzR7XOb~O{tzO1D?HXDE$R-r z?@1P%8-hH}A9^zh+=z=n9c+<04V)3{S`T{R&>6FxkpF}KBFV>NCJkbooZ%5i4#IQe zyduccSkkGB2clH%J4bTo!eC$KF)aL=? z23e+|m`IoPq!SF7AghTwy@~#*-5P1rFmhzn8;ekoN5vz*i;yetDzJ$1npE`rA&dAk zvPfCr=_|0LKf*G%(YHSL(fvthC`PRFC%fc9=afe*?4XW_yE`lza@W}nSk#$>Om?Cn z8{tim zr*F`*@Ix4}Q5Ef!nA@)P)0f++HMXf_j^Fz_!d7XB*wH!d{pH92A&d#Bp0db5gNIHy zyjpmJP*fpSiKk1L1u<6X2|q5_q(Q^6??g5j=ZNG2NK;5@kSbWMOkuSXj+vX_hW$OB z#;%CUUonf)@oT8&((xyVru8Ct->F?f-cEeK0+tPr>3sxE1zG~yHMk>UoKz4e58-ZZ zwGJzE3GUHlSkoR2CXV!&XCvAMzPNCF<}$QIrH}^7%P6Fs zr;v69@FU#e_t4n?DdbCdQ$zT(DWsLBkSVhEG6MY+2_!t59!p5z6gyrpsKGiGm@6)^ z^RmlRRGKGq!fW?|Fv=k)| zUyOijajH#lS#8 zI^M9a4L#TT$uw4&VckVQJ3F^YtlK&;4PKwgaUGdpCG$e9R`WI?X0JC1Onf$@Ex^Nh zq8H0WV`f@6^+qrS*)HSd80lS&T!GzJGjx+)us#lG0-n~ux>idwMPhZW1&spin4eo8 zi@Z70f|}TL*0L6)R!{ORh}7tadufv^8v|6Qi}!V>>!srXw!1Q2PYSv^d0ndA;ke-R z)kFqAG~vf2Ah3;L=~{-Fx(z$93my9g6?Q?zenEwux-vzeav--VH+#Pz^SB^WO)l75 zb?y>VvjokzloX^wL2Awp`pcYi@!XV!njU`Q?4}LRW=5p!ax!Kq6f|xUlg?FTvrIL+ zq-L4T)E}G*a2)NW^>&s$8X} zjfrIfrtZuLNMm5kXf;rek!e+{y-e%gSu&F%^WdXGjo$e3xwZTa?I%w{v+TL@d~-T_ zZee-#8;Pq?M(#_V|GKHMk*1ZNl zD23`TzB5&2npgVEbz`iJkF%RsChlpgt}JDzx{5C$mG!)h+8d}})peQU1M-v6HFDAY E4^sJHJpcdz literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/6b6413e8b8496410124d5bfc1350f4218bb7bcb9/_str-to-num.scssc b/user/themes/antimatter/.sass-cache/6b6413e8b8496410124d5bfc1350f4218bb7bcb9/_str-to-num.scssc new file mode 100644 index 0000000000000000000000000000000000000000..d2ce2a9912a4eb59ef4083e794fef401de2c0663 GIT binary patch literal 16246 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 aNv47?R$&e;=gg|gV%}7LI5+!JkA4Epr>m#{ literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/73d2ab32f48ec442174f7d249982ece98dd5bcdb/_bullets.scssc b/user/themes/antimatter/.sass-cache/73d2ab32f48ec442174f7d249982ece98dd5bcdb/_bullets.scssc new file mode 100644 index 0000000000000000000000000000000000000000..86e6158450b4e510f4ed98c23f7dda487a59e49f GIT binary patch literal 2281 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 literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/73d2ab32f48ec442174f7d249982ece98dd5bcdb/_variables.scssc b/user/themes/antimatter/.sass-cache/73d2ab32f48ec442174f7d249982ece98dd5bcdb/_variables.scssc new file mode 100644 index 0000000000000000000000000000000000000000..ab5e9ef3ceac5c4b6e670c2eab80f88c96a88fee GIT binary patch literal 2825 zcmb`Je{UK$7{}9Sg5w~Buq92qcD=D|+NzNwWst`HW2a5cgfvCfh`LGn0~yYM)w?sY zP5NWnd)S-Y``BZHIqrH@q-p>082jswpXckx*FEi>_PlR@iYN_PGV@-9Gy0u7zIgtu ze@4Rd=j8lZr%NW?vuTg^`xo>q9Eag~mxhzc#kl8w;&Aj}NTfvQT2PA6Z=9#yOL|ipv>N_XZ^+(L={@yJsPy6*xq*7Opr|TY z1PgHKW(RbqIv_FapuK=E6yu5fa|fnIETOD~nt|j?F`*+tk{RXbc(wJ=3<9AZt)Trt zDk9Wq!6iqZXQ#a6l4;p8u7h4J;M1w33V!YdGzrZT+%$jUPgxyy)c6J9 zEb)g-QR%}TicQ*7&Dn&UCRF)LNrkWGG=_gkqF79nf)P29(x32T%4SOeYk1--8ZRQE zs6V-Y;u*%S$;IBLQn;d`qfGVD5fuw95E_9BUtJtM(!xrQB`&->8g zE_tH7-;G~Qr_+Qku4e06%>h;cskEu9jt(uL&CKBxgxhb7aC^+7(40M6+TA~P*Xh~W zWToHfz|2c9Q!Te?&E&z_Q%8^NrrMrGSt*i8vyzdp+{fG8g3gu^5k=^K-%HVhEA2+- zhYk8(4t>wST67&fxeL8WB1O+gSoEW9^vHIgoFR9={}8;p0k7x4>zSPE=+2xMNu=Nz ziPVV?!HK_^j^e!}p?>^7ZpKEAu>n-68Fh4QlWQ~6T&zUfbLfQc3(8qbuc>XO){&L- zw8puo60@Oyp+h(&k}Y|GLHfBbbp7@Op`?(G*0ZgAhq4Q z^xAC0f#sc!(M-qJ7aDnRS95=v3xnV)th94(bWdy%jD?V=T>%PqRF?+G%%JfXe5~d2 YU4jg!K3zrY=M_E^;WJ}ozfrIM1>BLuga7~l literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/948490e5773de31048d22a03fe83b31d3f2d24c3/_align-text.scssc b/user/themes/antimatter/.sass-cache/948490e5773de31048d22a03fe83b31d3f2d24c3/_align-text.scssc new file mode 100644 index 0000000000000000000000000000000000000000..1d1fa9828f5dcf6ed328255c8be1e2f78d1a0cfc GIT binary patch literal 10727 zcmcgy?{XWr5tlR>ilih`lx5kqWt)*?$FePwj_k-fw9PqAG^5sbGm+w?bz9Dfgrtj) z2lnn5TlIMQ2JHj%4cf1LgY*g7r|9$r`sYh`fji&;g0h(D_>;7Ez;743KP(n|+-%%$ z+^^sKB%rkGhe!3#x<_=qymjyHw%2{INjsaJ&8<#rYx{6}^WOI6-R=SH-n;8F zx?9`j_lnHNsC8mON!$I_p&2&aoeKBN{%RWzKSb&?DCC(J&o1<9_P} z1NywMyRzK8Reu=xMZcx-zmGvNuN41u^+%|Qg}WAIu23rdbH)t zxvZb~ER0`Iz|g=Csb6pw+?Wlb4sAzXctn|VQJAsEAA+^`wB%IXIPs#S-Dfd#F6%=+ zXR(j4)1(4;vo1S4jA;V@&bc(~@+oA2za;1UOQ0Do+Fdzn9-4 zDrw-50x9i-2mD^2MKFyybz%8#`T%0G1GdB`aYB1Vuq=Yu?5=$L{Vn4ft8PTSp#A>= zyXeLcyf#L#{nCp(g31`vrbiIK0VFZYb`d~AsT>x}`= zki(9%mqf4x7_hst5O~oM-RRQzMZ)^%Ix^?Zkg`+tyP(BC^l9X*xLw+hXva%vx9x`j z-*40341CxUFs22ZE0QWB^CePaf@Vda*)&08xS`sg9Hf7Yy_Z8ahg~QL7nB5P+XPYs;ij@h=)0E@~Q3(y|-h!8gbUDvKxnD?j{{9`ecp_xeIEYsi8Ej`bL7&lxxF2OgZ!h393n2p)*)q>4os{ExY< z+Q7nXBcO-;+=R*$l5q@)0tZ0NvyvtrC_*}zq8%)fy*(%fXxO1eNVz@QJAm}^ydbUK zlY_Hy)8rn$Up2w@ph^sAHflzUx@3;x6?YLAUeSyN8Z1L<2OHwS!8c$Z|CiU$F(a1? zWErY7!|Mgj>nOoV*CI<;d>|PAlj2^6qe(2gt(EH}SNALff~tE^lE)i(8B$g3Pe3SO z@!Eal^N95^ob%)=j{;v8k1F4OaO^BFCt>2fa*82+sUK!GyrLb?xxkBEi<8{RKWS5xZ!U`Km1Ry^ zLZ8d<9YC^@ohD3SLBHL$Y86?Y;WqdMXq&SXNM_<$Ugpx{v5H?OF^24*z z<~+ChRNmAxU#5PqYrH{eO$GoB_!0TBP81t}B8m?1u~@4+`8OFh93W{yT+JD&E$-ys zr3sP)*D|}^$?qhX?yrZru-8P`J8*rW5#K#;jr%;0du~R>Ul~8}u(mYtd@^FBIC|h$ zzz-^spropk@dLjk%sw^ptC(cGk$lCx^Fa^*es-FQjvGlX6Vu?|0Hx}4APfG~%A^b!ju;jF z)EIYaby6B3!+$-q+?_h7;B==!{Ii~#=>P4o2#?#UQ-X6R+FdC?=>>NqXp2Rxmo_Ix z^iG}*u)ZmiB22+c=6N?9^q@Bb)lhp7`p}n|fCCVEC#>g(+S7{5ApgR{02JN@g;=<* zXXdAlU)LOul8QatN}Qsbu%Wh2x~M_ef%ZWadz$bUn;$K#l4hVubCewOEZ4wFLR`=6 ztth;ri8pQDq~bS3-lQ5~>~$GJG2ZqC5yUHJzf>1+?R`qNN=z_@nIJ5$&kExA3f|9XNnTlfmPZb$93lC?YSs%FQ7Av>zjV(SD0tkQQx z1(p_;!g)`ivFwRn-HZ#>Y;=M}+KsgK)cR|?cxLn&RMpUMtwC$yfF8nSx`ihDT}FOV zB|qhkFNV_V)0x*#z2SrJ#rxFvW(T0+-!kZO3w*vLSB_G{TzRHha2(^C{%1#PX=ops zXyh>?Po~LJh|JG;bjaseB-`v-(2zDwB)FP*hv3N;Y?qhE*n94K&;l3E+<`tt?jawz z1A8soLBUBIbMlU}=wd^*4FPC(SO7PYbB0`#y-SFeQwmu~)8>!O=Bj4%ea&X*mQL_Z zByw;mEh6D@p@GjC*{_i=TjbeWDDXWt-fbi7w;|9qX(~#pnm2kEmayB<)HX)65445j z#ljwT8`7L+*UcfMuUh2m9rE)X@{1kvocxmfiu^hahz+f*q20=(!EKd)W{|g4@?neU zCn>I_q#>w~j(?KA{nlk$!6Qxo7jgyGW7Gz)H3C2$qrX?@9xnKyRH2v8_zsM5r~Y6$ zMx|nR>UTPv@|Y~6-Ua3F7?i&Q)+@@RG!Er$Xo~WPc2>&UkQC(+X&lPi&=lnn&7l0e zpuD<%4sjkQDbAy$4#V*|e}*fgZ4En;vuMCG$w({dZ2-;)07?4q6iZRXr&5JZdVB}Q zxKn?%kX|Zwr~abDDVM!d(r*}~-vH|s=}{Vo^foj_dPF-b>1{}g^oTSL>1}9=^oVAV zz9vYYyL%6@9%m`mqohJOKI_kNU$(76(H<@MN^;UldmDhFy$&F0|1ZT;95IUa_>R;5 z-xk_S#qQKUbU5X+cS`$)LHh<+uV|0bIJCE+DcU32S!r)WQnW{;acFNtQ?y4kgZ2x8 z_W8cU5btrC;yp?#hU4@8OuYizIu!BIgs)F0z70STUk8xH-`qvBo7F!?tikV?Ee$;UW#OKMf2aBV15$F&q%w*=9Hmka(+(MZ8Rrk&(%jO zKC4`E;qG2v^Xu4ptKY3B#}OMG9m7JfX?1g$LhE&ehVP8fu&J-Uz6nhheN-;ecK~>O z{SBW{YS;$z-(aP~)NQi)_MUS@DE}>jvbI+sDF8BVb?-$7L+gEJFI)v!}VZ oaa3@@oAR4-+4Vzct97YPQo>HV1*QzTv&!Z0mufMJ>k=C04p!F~B`G?QpSbsKIiB%rJ{qD)5zzUqLA=W3xH;mrV z-xg=6o60h*#=XAoFE=_e6*|DaJ~ia`A%iqnw*#-w4m|4)6s8tE(nCXR1E-BAuh0K2 z`RNH;rjLtbnfJ-~q99-iPYk%cYgr7t8kG)@yz@H literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/bee0557f29dd857b7bf234c839604363ed975a50/_base.scssc b/user/themes/antimatter/.sass-cache/bee0557f29dd857b7bf234c839604363ed975a50/_base.scssc new file mode 100644 index 0000000000000000000000000000000000000000..301eef6778e96a15d063708159cc469423ba8d34 GIT binary patch literal 912 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 O+>651XSC9oH~$OyPiM3M literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_animation.scssc b/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_animation.scssc new file mode 100644 index 0000000000000000000000000000000000000000..17b0692bc14f500cc7f9dedad90b4fa1c77fc72d GIT binary patch literal 10946 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 literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_appearance.scssc b/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_appearance.scssc new file mode 100644 index 0000000000000000000000000000000000000000..293164b0c8d969d8b2b5055f0b6a4a9c4ab3b981 GIT binary patch literal 1999 zcmb_dU2oeq6wSjR+e%{3*+)Otc8Zr436NTDVs|sS529NG1Zaz*_WI%nfs(FmB9f?) zbka2Ff8V8SH&!=q!LUb>m*<{)?>Se;?Owa*?LSKZVv$X}=kWv%+%Ph=Ti;g^B(Oz&deR##1EkXeOpBi{u!K$%pV8?+Q%G5M32EtMa0_~7=NZg`DO|!-tx?dlpBL5I?~!dM|7$D5SfND z^YQ4|53c*ywn0TJ>P)1$RQOO5Z_fR6aey;BK{onQ8%V3jP2ucLTfh8wZbilhQ^1qp z{{g$rG-{(5VQ|4!h7!dgR0m)jBs}GM`eEY)rDoe|=ggYed70ah=&Owm*;_cHTt=n zYpQ~px=X)U`P!pjvL^kC?a+IyDe2}X#-LlPHd%xCsDya9ifE}zvbV56$%-$8HjCa^ z>qCOF&5Rzol6u$$Nn1rPHZLGN6Q*b~g3<5j9(}m3wswh0ca=#QwVKNJH-qezAb(g7 zSxF23*oyy|WWR(+*CRUeW)y!c0sgceu%>f}Zie}D3G>-1rd@B4>sBGMocB9}Dk63E|W8U@J_4fCQrEuU~xt_;F7A3P7yya@yzm7cg=8=cq+z=ir c*h{r1Jv-C`>V9yG$>Lw-Ur9Sl(zG-D6LOI&)c^nh literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_backface-visibility.scssc b/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_backface-visibility.scssc new file mode 100644 index 0000000000000000000000000000000000000000..58978d2216fad456c6c2576cff7f29bdd945036b GIT binary patch literal 2294 zcmb_dQE%He5O#+_vE?LgyRFE&ty7F_O@hSok~wY20VC2ioq@I(YOgPT5Gd(v6OlxX zq?2Yrf7t%rj<63V-SNBczB?W^T8);seUbpgA{%%w;{oirt*9Rzw2psn zJ&S&7@x!Cz=kc@X=pc&wNBE77AUr+}`SZ~Iye!Gr9j-MYT?IhMJ1Nau8N(`BXVFk3 zv4X6(BFVS2MlWQVLN>9hvU8q{py#yf_x|yB@9N|GuD9!*@aU}1BiKI|T7)7I=F&^W z2a)07U44At+w~pdyzCN}nadnVRf`1kqfW1cH1zF)r_dy8Oy)+&Okb7IG!YpHhdg9j zj#LDJ;@JQs*%&j`DK?Q%yIUbOrVUpn$fcI#n|YHzq!u>p3SGx|t4#L$8VvqjW01v# z3w>x0%k&HJ4sW)I+I8g*WeWZooQurw2m{*3JB*0-!3;&j8yOgXq(S*+2q~WO%!rg5 zgF8CX+CRtWQu!ew4Q1xz)}bGSw;69(Yll|4NQOvrsW5^h-Z+W&WCIm+im>#hHjtJP zq(UXN>%abgkj0HPrhq5G-2~fU8tWL?Vg?snW!NxSjdBN!gMf!z4?mVpCHZbv>u;>u zeuKVkigmQI&h7ff0-6fEF5_yTdyegy%}JRfC2})uu=iXE9wtzwPulg`jjRjrM{JbE zpmZb^#0AbnF|Fka`r-p9i->;T!wE4db!RS-*QhwflM20U@ZJstLOMnv!)UOaFN=-3 zq$XnQH_;cMNS(!i5F&1n0+Hb*c>sTn1Wp;WX=48FC;7XW|KscY?P`BEe@VSXWYf(> z+%Agk&&4LQu`PZ{wiXrowa{k5ksYRxU=LVZP~nIGtj_6@TF~VYEni5+ z8C+gS6=U-~8B_PC5eXr0rAm1s{)YGs&sWF;YZvH3MRw#?SjzLO60JAw5jOB3xYl%u zt~LuXEtW@l4$|*8Nlu*>^^|k%WIL=eb;5~{qav8Tj@`-4m=;bx+haH%K6`r4zq7Xx zpF(`2mOq7edJ`+2S8u_5+upjFRy*F6>v>FMQ8J3bn~sd_1#WxZjNhI&mb+*5xkKHL XZXr^9_de-q2N}QNf4rK`w1e)yT%dT} literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_background-image.scssc b/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_background-image.scssc new file mode 100644 index 0000000000000000000000000000000000000000..ecf6d3adfaeb832a6af34af8aafc653b950bdef0 GIT binary patch literal 13053 zcmeHNTXWM$77o;`<6Gi{5E394;e^~Kwv`(YH83i6p(<4~?9?PXFFd#uyOXG}-5yEi zvJ}5$-**4P?%V#jJ*RbPb-RrdFf&uNld2F}Qh$B!=XCeks~%JjjE!e4N}F!y+<4wR zrb{+HJaDS(HxV!tXdDuAEp?kagj~WjjHS*tNnRWZv@qNoW z@hG*dpBM{XvL-EBlXm06Z8bgGc{R?gh4e>%X6-iZMBf$cH%_ZZUuBNU*Ntnntx^5d zYI$SJc;+--pL?v=X;$2}b54z}$GX%D-WzAkGn^)8y4`C9Zns5^)8uP|f9)G@-QWUo z&ON8;0?q!m0rPOKA9x@zlvy%8`N#;^ISnqTSB1Hw`l;27ty;#)JU_AWcJRJSt%C2i zfF_c8H3s57!-3PLrZr)+Zs4+x|6vS1ZMhxlW~>{w&w5^i);*_lPMI|yYUG$d1jXUg zoK>>@!1025m-)=PD}VAM^Ie1;CzF6zwAtC2PXqYxgiSk5K84)CmpL-y{sb!{MMq^; zyI^fvdrjZCo!YS*P`?Ii1a6}OB61r}wL^ni&!=7uB-VzvPA35A2LU|s8@^wA1L(}F zodTt&tW$$Wd$qbyRjAl1ewrb<6Oe@4?lKRiGs_4$IEo&CnZ5v;{P%u9+gYH{19Lqp zfA{$m@)b+AN1axEG+^_#4@#_~ChKnmMGAOi$nIR3@Qu@}r*Ogq#M?mM^h z7kY-CHwjROc0AWPZP5Z*Iw}`J zZ{YK9+2Bmn^Bc^gO-`ot9@JkTB}S%lWSWKMPylmSA~#c``()NGkz4i@DZ<|gy8tGf zS9ppE;5;D_H{R0I*KQE1J5+VvrtiR^tyLWd-@AVBJ(!#4v@jac78n;eFmMh=PP>i= zyn7}LPCamY8qnqoAik&&Uj*WBC&Y&%g?O<4^Pb~1Y10I+IB&62r)8p3lA_6()1&4j z)H|_A7+IM_cBlLym=VK7hb6bf_tpz$@m2H@kT@Z3vktlwW>Kfp+(}~Wu@pXD^g0cv)hfZ4 z_!lFInFOXHX0Hl6i<21-NSUF5C?||7e`4w4P;7hfI?8)9BhGs>BJa)h<-HjY@FJ}I z8{|FU_*c$*u;S?Q9)Mjc?*Wr>nPX2$b~%<66ja$mPjf9bif1bj1ynX<&pMw*$J5y+I*IQ=Cp4g2okX-J=maYU+8 zc-d>8QZG-|-7zlpS-aC~V;p2&z1MMhJuwGj@36Mpk)A?~ z^jz2=IIW{{#snTPW$WmxO7zvz^hLB06A8#70b~aXfL(i^>;dZDCs21J)ZH{HS!To- zC-**#kuvo-OgO-{BRenJn=NOckweIwpcRWM_4 zGpMmIw2)cFLS`ik!Ol6{jLnB)Q2TcSf9jL@M3qc1T2JA3s4SQB}mzgl~~`s zI+WolduT33YbY`@kt36gB-XKjyXItckKC|f|7A~-JNAT{i&Frwflf~=r>7C1P4A2U znEGnIs08kT9+`Ys4+A_{X;io`jMy(1gkR3~`Q-xm<;ov^dFAst9!RfTxPN`WEZ~`^ z!{a=f|J7Y{L2*qqkoCmJa8yhCSifr~04dkRX=ZxbVAp(>{T;hzdBm<+{*-H$|8ULE zIy(Q|x+Y$vIA4%8%Zh8Ffe6>c(Gb^608*}r)B0R<*bX)ed(?P?BA-V`*AByv#0X$4 zz>N%wq!MFQ;A|SML!v4*IvgY81^hVP`oalkUK$nL6-6*Bz|(FLvvBlC4L%UJzRszM zo|-!nHHUrF4Bt%NF)?OBC9Pw&q=$!N^GOt4{~7TbBkLuyVdC2&90OJ0(vFvNn{Z_r z30&4N3SD_pa90(Z;An^fRJyqM$zCXQ9l8)Yq7zA6dZFu3gwPS?v4k=}=sFl7bO~n2`5V~0Y{^h1 zg|}%}j9y`_^`+5kQPJTdNJK<09Q~TnOGk}}UP#RsMK2w^(4qtnCx8Q@*E%B`CA`m5 zqu17zqSull_$6R&Er|v=>Pw8D8NGBX2^Hf?Nx;DUF8P*`?eQ>jLG*&q1wp6)hwbvN z8RsoY^nTapNEo_IvX_otIvAk>1WjOK6{t~SL<(3|7+Qw4g#vIiL;)&YVf5M$qn8d{ z2p!SoxT6=k4n+tZQRKvfBxr=LgAqcPV6bWE6SoJtd>#j|;ib~NBJz1)Km=nPt*AD1 ziIeUmGwR?4n-csdY-?!2cU$4&w!{UF`nbSi2O`E++7omz(}_b#F!6^?_;U8_*%=a2l{VCZDbZhaN2I zskSA_JWo^orMm!PXl_k)+7aCrD7hDD8hD=!TBg#QqJt3~4H8UjoVv!DS_zZKV6*F+ z1NOk5$tJg@nB10RayY7}OvNUr25DG;Ka$K%hcCrX{$k$9^SkmmJBy%EX$xLP)A8_E7<{gn)2_x9d_!!m~-| z)OW|A@c?^M>;C&r;JmZ49r{-8A=7~i2}t199B%=vOC6sCTk`B{|4f92Q1WcE*S%``Uj5DY2F6S|2kBDmFrHC6la^s6PdHOPBV{OWx3Swb)vFygNp7r$)j_pd-84Sr4P!Ok6X;vU z#wNk1q8BfE1`lltjf_SJU;uUm#bFen7)L@19|90Sxo5^k)ZZ47v}rtf619tml;L-) z(QUPb1NcdrU7|_bhPiF*agy=%YAk%-31R6!e*m9zB0@6aC2;vNELV>B;dp7`SP{c0 zpZF&wC-wEmWD(l(sR0bj)baJgQvqqom<5n~U4Lj03rr9qDG_89oziV2D}phmSxE$@ z=m*%+O%=wFOuQ6#;fd`)?(_$`L%GvYcsb^DGqt>-dLs@c(SlCGf_y`Mye+%Yw!tgY zNLVQwf%!&)AXWzLNQ%IrK;VR^P3mB6X`X$w1MZ;q~xNy;H*ec+A+yx zc9(Wsk6)lq(YI*td(}QfpP`S?bFd3wfrTW>raZ~iobeBKvEMm3e>eaRHrKY-wypA$ zHl2TzV(}Q!k%&(CtkZ5(C*==Z_lSYed%{Pw43xRI4|6GpC0D+ zN>~0{T^ZJ|TFqN4))Tk!{5bIY-KNzG{2mRWS60gpEVs!<+v&F>uh*v5k?0p%{SXBa zp7=p@;&z(|)Ab`a^8D@^G=}x7R;`t4&dz;xVCS9aRgc<*&})NONbYb1q}RfR+o3gk z((!vpJ$yX^UE5xldO7==6Z-w2LF<9rJ*K{WD;DrRdkA{Kr{i|f2_rX%>ODX7?b~XX z@BPq2*ikYCcoUA_YK1g{|4urz+hm`RYxr`UT=#we%E-}P$*Z3D9a?=(UwGZ>z8BH3 z3N#|GQK8X^*KpUmG^+MP8dReb+JU!jH}X1e6v30Q5r)+lfbIv?BjEJN?^fZ_X0f3kHp7G54#q0i&w$O#9pcj6;S1L;B zFgEj!8ytsVB?Tw!wcW_K?!8y9DVjSJbi`H~(z z_o9l>$_(I!YU)=}=0d`J%ZUCYPYS1_ez@KSEn@?c` z6WRzSU<7x?2;!DD0&s!jz8f@Yvj&cF-1d*$b`AZKOw`y2&8XuF>H?RGPwr3Qm}kQt zZRjH=i#~ZUL6!jfVU3iL;Yp3*Nnm(hK*ueOVX|B!D;kF;7|9{R+z}kALHsMXae|tf z1PgrO1|i1gtPQq78$P*bv@TLI8dFglS&=cpjR{-JoTZd86}SLzWQ+#g!63nDjm|V6 zF9-?7tpOxxf+;947H5~UIHT$K6b7$q3|>_P5w`|l&;%nHM3}o72BpVUaMno}xkEn)0q`W4{J$E()n)tICgXfeAIM4Om1d^kvdRd`u5Fqu-{{0{-bA)J{~)SJgQ_0dEY_K z!cq?mc$mOIMzZdckqMGJFY1fwV@6jwOFB&PKh?9&jRRm<$}uz4l%wFy$dqF$opKaM z3A`lJ-d&*lA>|k}w?bF62TD1>ka%wCpyXw8DJ*P5BwT7dNG9KLNIY25p6T`zrt-GE z&m3?ZLq#EWMiwb-87eysrn6hLLiCFiKkhvN-)hrnP22nj26*egxhN%x+05U*l8fLdC0=Ab;rA80P zm`}!GfuZFU@FJgmRPZ)6s+&O75>&DEh*O2QQDnT%*T@}6av&cU%$s0}W|+hAvpkcG z?Uk;lW@CtrEN=5vPqNBYgRU_N1E5il-rt9t2~97EAWotVSBHXTZhp+J%zuo75=_S^9L^YPT4ZwR>h z5+laewmxE>>#U-wj-a+k1p?oi^CwaT`>Q4PXF}dpkQEnJP{%T;n`fX(TS9(`!mnA+ zCf?>1-ab`OaEv=OvRfmMd5A}SnqZ_pkr@HQ^?B_$aGM@vs4~7@f>v*7TD_%c6rFo$ivQPCz(NCnv+#?r;?2!x7BWE)nxd1}D|G^_KaKeaIfALlA z<$GiSw@}?UQ+q3?T+o~nP2-{PE^JlP-j#Jq0g!S^{0x_M!k15X%Gt?Zu~R-6vQs`d z%PAjxaLNlF`~Pa467zTW9cIc0np2`_NTt8R^Io-`C&VFuu0=5=sQ6TEayBqrc}vcz^a4d;wlm-EmkZfxP8TUBvB70W~3ez7_NuxiP`Y9P}a0i zRrKXXAUeAM$W{@m=tc#CN1G z<2$x8@#7-#-2^YKTY=|s<#OZuJudTPy!T*)GQMN$oX9e8d^b^&Q3ffg_F#@OCKMTE z5GA7@Q6zkY8QiX6^)4**Qj~pGgaCIVbX_o0;Ag?pQ%TX)v=h<6aVKPwq zKCcaGUKtd&GJ_)J8mqHSCqpI}x#Ut{cqR5JHw>^^e62{Ttd66s6ES2 z(~DK&8(X}llfY6{t3T4JIljQ;r^~m313APzU zR`;W%e^gMAQ&@%Q_ajUSlZD#~47aIMZ*ZJvQRWXp!R$p!z1*61HEY^ctO;AY`WU%2 z8D|L~#h#}~C6;8OBrORkeVwJWGY;lLcH!@=O+Zfn3D(z}fTgk#co1cqP^7XEWgumn zV5G7&7=Fj6s3`$2sEi47#nuWJ4eV~hjjlQ`eLT>vMSc&L5AjCLG!z!<#fz{;8FDFp( z-k!W%WgjFr*1?k=s&sY&~D(u1zfn|`b1o;eftZz03$Ep4wb3R0@6mF;0M@o-DCQDERkHbYOB^JlP~sL6#Lq&l;xc7 zb|gVI?u00gw*>z$iD3e8Mz407bJQ>Y>3TMHd=rZsb>9vth)rXi@euFjC~WZYf$`MM zTRr8{{nshAyeSFcm`9Opx0Z$I!c{B14VwO3vtZPY>2tY%Cq5o%yz$w@spB;tUHm4- zi=iR@4d0LuHxX}aOq|%jqz16qgg_P&3^86Bl@0H}yEA^XYO$3;Vi`JVfU^XkW^Q1Z wV8Yr%d?o=In=&SW>t*PN=&MQ>4G}uL$tNjqPMhg-FgMDXGH&tPxAwvR0J~dJ$p8QV literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_border-image.scssc b/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_border-image.scssc new file mode 100644 index 0000000000000000000000000000000000000000..2a1e94f9dd2736e655546d07359d633619462fdd GIT binary patch literal 17452 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 literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_calc.scssc b/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_calc.scssc new file mode 100644 index 0000000000000000000000000000000000000000..9813522270ed74a81f0db25bb136d6c0634ee4e5 GIT binary patch literal 2701 zcmb`J+i%-86vp!~D7JH}leEpyW>cM{OPY)1IB8b$VZ_iFFt85A67(el1X`kFqOzz` z%xyvb_Z`x~8-aGZyjW(mjnX*-owHN5|a{QL{@~ z6dp#sR+F+1Cnw=am;U;mMNQT`YBi6VN3|a+0{wVKvkakg$rwU^38DTJ5t~PgB<%Az zk}SD!1X?do`owQ}@{#rQ#6?si2_3LbqZ-mUbdYm;4ntI4W*4&;vjV*tt~?7RPt|yv zFH~~cjoBQobQ%k(6e*MH&cW4l^nzR^5tCUcB#VNfv^}FnVxBPWpkh=w2GEUrl?dwDl&my*;77?j4LjZS-b#x^F;J|8B=^2EfAJOW(lsFmw1`K zg1CA-hEPMVF9yu}%C33hopHr75B5+z+-IuKLwb-fok7* zephD4B_bJ(ga1ctjbuQDsb6qIWdd+Q`YUHlIbgU?v;Mi7HW&9fc*U3vC&59pYg3><2vpW%vT{_Qk!I|)=I6`%l4>wrv`^?+0#Rmp%yW78I}+P6Khz-K3{ z&jMey+`4{RnY0ehX%9B{(MxjE*U+UD*dOlShQ28cnu%@noCwJ;c|zm(E>P@Nwb3fk z)d;|I5Q<5ya7<^E@fzmM+_RR$C*TpJPbHR zxG7q|zFl#!1atf+!g*nZvsDfUH^#*+F*r%&v=nVwn!A>!PV9!jdpdf&Z$fl-#$n+D z>|y^Yt9zF0z9qZa##?RtwvB&j;~o5NvVP?7>9snSw43o6R44je4zjyM(OXnW*bTJI z41VoT%8mL>Lu=!Zn*w5Wj|bLqZ912Hw5;R+p|v4AQG16e35% ztAr%hCPk@^t*b^WLDq>F(^vGxv|Gu^MIBg}7YM#!;3f>lA6n-l5x5rNV%N76d~5sz z_X>P&xdw;L@u$+ByJ-&B9rwQGx*PZTiwERdXC%Bb6CZZ)qlxb5XQay$A8O_dntsFD Lu{e1G-k<*q)r-TZ literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_columns.scssc b/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_columns.scssc new file mode 100644 index 0000000000000000000000000000000000000000..c47acbd72753bc43ef1326b9dd6b8a14cc4ad28a GIT binary patch literal 11597 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 literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_filter.scssc b/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_filter.scssc new file mode 100644 index 0000000000000000000000000000000000000000..3ca15380fa8a1c2cc6b1a95ad24ffff1ed8e8242 GIT binary patch literal 2037 zcmb_d?{6DL5DgMK|4L#K3Y3yG7dJ>rNOH!BlX@4y3TPxtZB=2@FBY=acVl~%yW3-T zoiv301^m;@-uWCmBnS{6Z*O*H-kbMkkB^#1O?UVE5Filo$bAuvV6W`^esDH8ZJj}@ zRd4X1egdZr{(RW_8cv(d=4qqVIBD@=Q2wwe$>$xeH6dLEK*�n%6RbWwOfru?PbN zanF%tb3W*mcqif?VQ2$aNtwkwf_AMk6rlm-5a&e~54jrYp3^HxvYp-S_(~)uFZ7lx z!3QB!Xt7;e8BSu~2pK!H)Fq#?NgROEzElwOv*e2rWfqDUghSSumJ{VeU-5VZl02T4 zN)Hi@JuQ(c(}pY4Po$RQi^Y&PQVUzTKvyu|GLyrh1|uGk6$WvTUZHF0Pr5EP5f`FF zu;7hl1l|Q)irDK21KPtHM)-$d#=_@EF&J;6L3w5j5&q?|5fL{?kf(jEy-Un4l{dgn z2Qv2X=-BIL3?A8ll!;X)qC_gZB#E2#-JTxc#Llr3eXR{dMeIxA@m}*jC6wiE3RS`C=Q_50pno9W3I>Vm(EdWmQp)rwuY?B#EwJXEX^P<3g;z~ zt$0`>6?VzP2@ZYAOdj^uo)XeA3hR~VR=ZY;WegS`-DIC(WpkYXsfqw_CPM*=)K~zC z0-qZcoQSbN(uZFs0t;YF-AaS5N?I+^kL0Zyw&=%mU(e_xwnjf;>vRKgRG3aej#pC$ zY-F>`EcSzpBFvh)jBfRucJ0jDcfZMIf0#SrTeo-j=$C!>ch^F3_q`O&HmPV!oxv(g zbfa$JVXuWdy%tcp#aXZR>n!h8k|*=6rN*|6RZ~|YB}4HJEp4eQ_llA}MLs2UQ&w}o zPkE)=v__v05Ab#HaK_XetLy@-@zj7qrU?TRzNdRu{ kn%yk_fjcX3;AVnytpfIF`F**Z>frwMvIx=1A<{Px# literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_flex-box.scssc b/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_flex-box.scssc new file mode 100644 index 0000000000000000000000000000000000000000..fef8e974b7530ec4eb87d11e0d0856e122a1954b GIT binary patch literal 76057 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 caL2bi7`zSg3}{zAE#2Ih3U6ubhCTWJ4R literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_font-face.scssc b/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_font-face.scssc new file mode 100644 index 0000000000000000000000000000000000000000..db7460fe2378db8766bdae63cbb38e345d82b257 GIT binary patch literal 13395 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 literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_hidpi-media-query.scssc b/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_hidpi-media-query.scssc new file mode 100644 index 0000000000000000000000000000000000000000..05b3037bd787d9f69dcf2b3ce52fe48e3f0c4b5d GIT binary patch literal 4544 zcmc&&TXWM!6b?*Bw&h$1w?b)C;ZR5dww!yiOF`3uThA2AG$}86@W|3SUXZjxT9bq{ zeeX}{ujyavIg)Hkj+~^FX`h^3?YZoCzH`~E*4At5+QN4ZV>b8pwdeLeTU0H3g>ALB z)>(UXb$heZSu?jc*H;)@SzBw{>+9{+ZML=6-fpX(6$QDyV}>Ciy8&Z_{33*WDQq@L zrVXph9Xnv&UO|vA(}%tnuFJgST-kVUIz6_hG%LUBOWKe8*{i1J@AAi3qRPy(4bj)`tdGC7H5ornNI7|D7$5Z5XBaTvUOkv z9l@0P-(GKgyce1Y!tHX>5)Z8R$-;WPA{Mx(~Q5#!wX=B{+RFrgSL+4(hg7 zt-9hvPMsa1Mjz5g2uEoIjuHTHd*Cy!*3v%z6FBlzZ)8+IPODDCVLbU4+)8kmtBP~E z(?>xaK|#%+fUA|Xt3wpX{k($HjEE;7m7t}}LOW@*4%C=BDH$%eFTkWce}>SZKc}FB z=Hun3hMFTn68U`HZUvY3zqg9?)jAKgBa;qvu(sv203&_p9YzQ(3e$;*eIee7c3FHWQa7oNR*fi%dw%<=$eyv%0$G8mqrft3tfV-BR) zTG-x5=$dC`D`SPEt@JHGS0*YsQGgm;glJ znhyWK>=&kA03O4+Rv2|eoOYphnEvqueNe|w!211G(ydeG6GkF54>Nwy^c5l=53)IK z8%3BoFGi=w8O51Y#^iC+$wN1joEZR=@^EpyqW?5!CP#8+GLtj7IxlC=pAGVC3?qa# zmd}e&$@cxj(;>>!yfQ!*HE(1zLx}#&4N;z=VTevC>W2u2wFz_!W^-w_Lp~9Yk0Y;5 zXo>M_Q^hwOovbIsm>L0p3LI7k?&Ip}(EYwp-lSC=2%)Q6eIa-p!n>l?e+TalE$2=5 z%0LOu`dVKJZS>_J`{8+oQ!+e4F8_5&*Z+^#vI=tqyo$8w5wvhGDy{?{<%`;}s%b{_ zcGPe<*Wz(Jn!^{)9;t~ID_VR6Do)9sF;$)|ICcyp+Wc{B@kC!9Z*ng%GO0?6JwZ0F;0M#B_d){xblg5qDJWj{{k2xr2=FaQX^jVAAXJ9zXA1_qly3k literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_hyphens.scssc b/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_hyphens.scssc new file mode 100644 index 0000000000000000000000000000000000000000..42a922edcd333b43201ca3404158569d493b8b9b GIT binary patch literal 2180 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 Lk(9i>@3;Q|9eGo( literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_linear-gradient.scssc b/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_linear-gradient.scssc new file mode 100644 index 0000000000000000000000000000000000000000..515cd689f2d55e53bf9c9e93aa940f783a4a887d GIT binary patch literal 15493 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 K#-mG_iv0~>5m`9^ literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_placeholder.scssc b/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_placeholder.scssc new file mode 100644 index 0000000000000000000000000000000000000000..b20d629be87d2ee3604c9b526864628a74e6a0ec GIT binary patch literal 2540 zcmb_eZBOGy5T;UPV)J&q9D(ER>ZT`3)dm~5D`odXSF}Vzx}K_n?n^#c8+(#$alG#C zhJzx0S^r#T9SC*^YE|`1oE^{3JTvp`vp(2;xBJfDIZgo*k@ftOqzB)4M?dT(N1S&K z5BB12cnEwyd3$)U&%dbzCGK%lH6J8_)8T$IzE)0?HxI$vM8^s;ApCWR7WkX+r9> zXD4EP+txw!}YUTE`P7*IU5m?4D$WJb4L zN&M;lg|Ca4E_phHM{Xajm5?)|u%9knK5eX$<|pV}2-6f1}9 zvc$CE%0#);l5AC7ewA8S6tlFB@#dNAb~PALCkqU+q}W2YikI}I_!={JMT(R9J?P5; z1Q&2AvfvDxrvuDkMBD_^7ct+>zyw1LDlmO)rw({##DE(tCD5_f!6inQD(E26j?4ly z9RyKnZoAg2=+hz-gIp@yId1gnodG%5LOA+b8yM6OoI>uMHh%o?;EIe(OaV`$|0mc6 z)5z_}5> z@{!PCV`>w;sNuPNJubnnzAd-9DBQ97Tov)*NKcpSp~C-dl-1d7VreMJ_B8mXg-l7* zXjGGBY;Xs<2sI=w8;C^Gps1^&@Rrlz<2GRt?nDtT!d@H~VOK9Ei$FEzT@;Cs)Y+%L zRU}KBXoR9g*2~7iu|=LUsYFj?JWa1716QU+)|fq`5h9ObnIijEC)UejX~r^%o5>9B zxHAp&dX?E_@;Oq?V zXfcB%#{s__jcs&G|0Ho5TW;)#l@UD71K0*e?mZ#6J5AsfphqerXQ=jpzGs zN(N2*M)me?SOaP@KF5zccEa62r$Fm6$~q-`^%*-IVROWk%fjV7z!VD;wMQ YZ}IomyY-42p^g<-uYt#1a7tbH8@=<^+5i9m literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_radial-gradient.scssc b/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_radial-gradient.scssc new file mode 100644 index 0000000000000000000000000000000000000000..215a2b9900ac7d2b1ee727532a90d2b3790ed0b7 GIT binary patch literal 16177 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 He%$>(x{`e| literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_transform.scssc b/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_transform.scssc new file mode 100644 index 0000000000000000000000000000000000000000..ea90ffc8595f2dbe9bde704bb13c0a9594ec1c41 GIT binary patch literal 5002 zcmb`LTT>f16vs)Y_xhM`KK!7z+3YFS)n_KIdB-1H0FFbhGYZ+_UU2P>f zfu#8g{i^*6J(9gQvt~?NUa;2E|6Fv=Zzb<+?r!d)m8U+XT^1gr7u{pJYI%FRO>eKc z-)wsOTRXkIt)AQM?ryo=ZR++qJKOtP)bqZf`_|_bj=wr^rNsD9P>S(yoU1pyOJ{N2 z@%qf~3K|~4q&wM3uh}UJpVOY6SjUzVx&du9>Ponw>~Rs4aOuS%Ja@&hJSrWPIlez! ze&7ifso2(AS1`BZ(;BI?8gr505f$pJM5>4QOJ@*vsgNEQwA&u)=Vw@s&qB&dc+ru3 zAUxUz>&KMin#}k}7rs&p9;g znk8hxd`T7=g1CCjhj{yTp9j=Fq3>8|A23Cw4K@_>HmK?|&)p2EvImk1TlHxG-@2h< zfvXfek)D+HJ5cAs?trHq9@_9|$8IM{+|+YSGU^TsA}(MZ$7tw!YxDs2?Ik!P&!nP3 z1zZ!bf33!k|K2rYao!Qs_1piC*iA=5eV9#bzjs9lWeR&xIiRWp4)L^Rj{yS%FsG@jgVZ^huaYl#S`ZC# zH8Xlht~m?jy0b`bLmV|nM!pM6O%vQ6?%lA_p79_6Rnu$a-chO5cx103q;Doe++fMopeW&MPL>sB|>ps1J=9DtTn(gRH%$ofD?wV!1fNX3mpuv!3Kt zD*^v7o#b9l5>J*a2L=(Q1TNeLl2iO)vSNu(=i-x`;E$69t1_bAbec|1^LbWN1Dr;# za1|HWl9B5{?>ZgfdM6ax_2q;ru_r4U3e=qwdiI`+E)ePNuwZ^y%*Xf*yvAIgeW2af zZdAq#dR|)^m;jV;)d}3_;|y79>aT!m$L*xkGd)?<5S5%uFVZ06MlOO(+Q=p7qLp|N zy!?Ql?f6A~$Vs`bd-!^a4=&g-3r+ql^DZ7WUDZ9M!`gv{O9ykTHrB*7FnBldS&wo} zY?^IIhzSUOGYC3VSmYktGdaKRgo6O!4LjK$gbcb5;8$AKF5(-2;E)F_%zQfojXI3N z^;?a~ZqrPK4KMOE#e()UNtDJ7Y?k3LS)LsN_sU;D+|v#Blu5LKeA-h$UJrOc1$={?e8nUEZ8E>ZmEys<`5)r>Xwu(EKc+i*nCJTJ*nZ4HTxmJf zVYC&O11FEBL3nX>=(k9MkohsA^I#?=xgM>>MzbVO>u9W~iuBf#qSAUv5N4}1!O6-j zS)H29MHY5)7QV}SoPDVkletI|=Oi!SXd#)46jPAuG&qx;EFyD};7>UhpH3E>K;|ON zXF1KEvzla$JSOWJz(otUFIcE6ZiAD}GO+=rO@mXirJFQ^&?3hI2Pehz z@5v(Fhe=YkZW>Agxzdy*D2zAu& zg%kza!lhAAB$=W>OI{WQMT#j3wBjXEP$Zb5Knq?T1x1=E3bf_~6cjB?QE-0YR46DC zO;Mml3s6whKPd`y|EwnkynQ&jPQi%-?$i3}2KW5W{=VV_`WFwB@L^>s{JwRhlQR$=u!liOmo9pNd(tXqPUKRmk$KD1r$ickv>4L66=#?jr*}NJQuAj z>BAgGa5Nfua;Z}dcz&r<4a}eRRC96EBljVA?f<0$Hy}nUOXfdDnw>iI3zNKICWE!n V|A~1v6fVB)r=_D0;-yUK`~#9A)<6IN literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_transition.scssc b/user/themes/antimatter/.sass-cache/d62b4b9d8c37ba914b09913572174a0456ded71e/_transition.scssc new file mode 100644 index 0000000000000000000000000000000000000000..3a92177084ab900d6f454ad72e9fe846909cf43a GIT binary patch literal 22146 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 UuN*(8%Dr^;yAI>jT#@s?0AGfGv;Y7A literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/daea5344f80308049a5da4a53dec3b28db51a434/_features.scssc b/user/themes/antimatter/.sass-cache/daea5344f80308049a5da4a53dec3b28db51a434/_features.scssc new file mode 100644 index 0000000000000000000000000000000000000000..1eba3f2f8087c23f98a80498a7968c221099479b GIT binary patch literal 18254 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 T9*4SR+|)c-OZ`7Gpo;k&979-6 literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/daea5344f80308049a5da4a53dec3b28db51a434/_showcase.scssc b/user/themes/antimatter/.sass-cache/daea5344f80308049a5da4a53dec3b28db51a434/_showcase.scssc new file mode 100644 index 0000000000000000000000000000000000000000..264b20627124d63c369d96fc0a7591ce588ed078 GIT binary patch literal 14110 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 literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/daea5344f80308049a5da4a53dec3b28db51a434/_text.scssc b/user/themes/antimatter/.sass-cache/daea5344f80308049a5da4a53dec3b28db51a434/_text.scssc new file mode 100644 index 0000000000000000000000000000000000000000..faf50aa24f3e48fc37593516e78e8d39bab72a35 GIT binary patch literal 7608 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 literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/dbe7a29446e4d31383c175434b5aeaa81e1fe437/_prefixer.scssc b/user/themes/antimatter/.sass-cache/dbe7a29446e4d31383c175434b5aeaa81e1fe437/_prefixer.scssc new file mode 100644 index 0000000000000000000000000000000000000000..d88cdcecc1f5a5454fc548be6ce9717ddd86f9c5 GIT binary patch literal 2048 zcmb`I(Qn%}5XRG@kZswC+pg^rY-v@uDB56&oF#En@?k=T7I0A%!)){=4+bTjY$B4V zl60DM*#EwxY{!yqIM^^h7$$xE_~YHj-loJW*xGW4ss@zOM#IHae zs6Z)a&$Wp4zE5mVUuQt-ipMBRt@91sJu(B9K$~oOBGVj~|FwakF;9V8`c!Tq=k&q3=#7uwoyOM_nroNfqfNR<7In?Z4CI zJ2pKDEFSznV%wg=0uD?S2j7@XjU5E3_CQ+*JYs6}_r?c7c8lJc`Nx=W3!}{9ZtKY; zH~Z+N{cqr3aGlfI9$aPf-1Gv;Gd;8NC#;QRagCzKpH53Z4ftXlOURiJafMd`OVb7r5*aml@s4wMt^n zWh9ok9u>G$2Eh_meF3Xp!ZM>h7U$p8QV literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/dbe7a29446e4d31383c175434b5aeaa81e1fe437/_px-to-em.scssc b/user/themes/antimatter/.sass-cache/dbe7a29446e4d31383c175434b5aeaa81e1fe437/_px-to-em.scssc new file mode 100644 index 0000000000000000000000000000000000000000..9ffae9bcc155789b637af363e69c11987fb94a49 GIT binary patch literal 988 zcmb_bK~EDw6z;(+wA5mt2xu^+@t}uxS)eV>9GsXy(!>yB8!j9+v%9bDgxPtUnOVdb z|GRH%QHb$kJnozCeeZkU`}U+i=npz?K4^eUnR(|to5R~ibb5Anl%9-EhR5%c2u6`i zX3;1cW@&UfO66b}9S_e2L)mz;j%$@!TnESw9)hl< zRWi{~0b8sgjLc!&Z9?8lq=SG3=ToY}U15=Rel|{0s|tTV<)iXorLMCLaVvERf55J) zDr1*ro`7xerrKdo1r}bRao=ieN0>4v29Gu_jq>g~7rs7E#a`VDa2NqIqBJ3$zB%8ma1B3o5Fc%eO#bJ_VO|06FODt zTjN{A*AzILIq>Qk2?vucTln+kBi~hR@@J+rxposSFo*C4Zj}iqOAD@q|QX-%~zvh@l0 zfCMk3TYRrw(4i}1E0EYG@8_ko8Dvws$XsJ0^$`!QYy9wtx5P$uD!z@pUFSRa`#NiU z@4?pr-xu5bg=nvuXaaduXzA&EuU@ZG&pK78I)@p|WT`!GRQvyhKX}9+-1AciX^Hs$ Hx10U|N7y&f literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/.sass-cache/e9f8e971350809fde8cc2362287e5f67968406b3/nucleus.scssc b/user/themes/antimatter/.sass-cache/e9f8e971350809fde8cc2362287e5f67968406b3/nucleus.scssc new file mode 100644 index 0000000000000000000000000000000000000000..f9e4e7b7f4afbc6f0272bb3966b1561e0715bacd GIT binary patch literal 2979 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 tags + +# v1.7.5 +## 09/16/2015 + +1. [](#improved) + * Use new form plugin templates + +# v1.7.3 +## 09/11/2015 + +1. [](#new) + * Added SCSS configurable notes colors +1. [](#improved) + * Various typos + +# v1.7.3 +## 08/31/2015 + +1. [](#new) + * Added header image control and blueprints to admin plugin +1. [](#improved) + * Use new template field for modular pages + +# v1.7.2 +## 08/24/2015 + +1. [](#new) + * Added support for `login-status` partial in menu + +# v1.7.1 +## 08/11/2015 + +1. [](#improved) + * Use new toggle for item blueprint + +# v1.7.0 +## 08/06/2015 + +1. [](#new) + * Blueprints that work with new admin plugin! +1. [](#bugfix) + * Favicon with full image URL + +# v1.6.1 +## 07/24/2015 + +1. [](#bugfix) + * Fixed sidebar links when site at root + +# v1.6.0 +## 07/21/2015 + +1. [](#new) + * Added support for `langswitcher` plugin +1. [](#improved) + * Made sidebar links more robust + +# v1.5.0 +## 07/14/2015 + +1. [](#new) + * Added canonical URL support +1. [](#improved) + * More improvements for blueprints +1. [](#bugfix) + * Fixes for multi-language support + +# v1.4.0 +## 05/09/2015 + +1. [](#improved) + * Improved blueprints +1. [](#bugfix) + * Fix for when page.summary is equal to page.content + +# v1.3.9 +## 04/13/2015 + +1. [](#bugfix) + * Fix for image class in modular template 'text.html.twig` + +# v1.3.8 +## 04/07/2015 + +1. [](#improved) + * Genericized theme_config variable for better inheritance + +# v1.3.7 +## 03/28/2015 + +1. [](#bugfix) + * Rolled back changes that resulted in broken header + +# v1.3.6 +## 03/24/2015 + +1. [](#bugfix) + * Fix for compressed text in `.pure-g` divs + +# v1.3.5 +## 03/24/2015 + +1. [](#improved) + * Keep html,body on height:100%; use body for scroll event + * Use Footer colors from vars rather than hard-coded +1. [](#bugfix) + * Load pure grids at all times for better non-flexbox support + +# v1.3.4 +## 03/01/2015 + +1. [](#improved) + * Use new Grav builtin 'jQuery' support + +# v1.3.3 +## 02/19/2015 + +1. [](#improved) + * Implemented new `param_sep` variable from Grav 0.9.18 +1. [](#bugfix) + * Fix for table column widths + * Force snipcart slider to look in all pages + +# v1.3.2 +## 02/05/2015 + +1. [](#improved) + * Minor typo in assets + +# v1.3.1 +## 01/23/2015 + +1. [](#bugfix) + * Added page title encoding + * Stop modular pages showing up in dropdown menus + * Fixed typo in streams setup + +# v1.3.0 +## 01/09/2015 + +1. [](#improved) + * NOTE: BREAKING CHANGE - Fixed references to plugins in `partials/` folder + * Updated README.md + +# v1.2.7 +## 12/29/2014 + +1. [](#bugfix) + * Removed `Fixed` header image to resolve issues with mobile browsers + +# v1.2.6 +## 12/21/2014 + +1. [](#new) + * Added support for list of custom menu items in `site.yaml` + * Updated `README.md` with some instructions on how to use some Antimatter features +1. [](#improved) + * Removed `cache.html.twig` file that was used only for testing + * Removed unused `color` option in `antimatter.yaml` + +# v1.2.5 +## 12/15/2014 + +1. [](#bugfix) + * Fix for Firefox 34 Flex/Responsiveness issues + +# v1.2.4 +## 12/12/2014 + +1. [](#new) + * Added demo link to blueprints +1. [](#improved) + * Inverted Previous/Next buttons on blog item template + +# v1.2.3 +## 12/05/2014 + +1. [](#improved) + * Simplified Previous/Next buttons to use Page methods + +# v1.2.2 +## 12/04/2014 + +1. [](#new) + * Added Previous/Next buttons with Collection methods + * Added Related posts in blog sidebar +1. [](#bugfix) + * Fix for DaringFireball style link + +# v1.2.1 +## 11/30/2014 + +1. [](#improved) + * Renamed core theme JS file + * Removed featherlight from Antimatter +1. [](#bugfix) + * Fixed response code in error template + +# v1.2.0 +## 11/28/2014 + +1. [](#new) + * Added SimpleSearch display in blog sidebar + * Added reference to `custom.css` file in core +1. [](#improved) + * Added plugins checks for improved flexibility if plugins are not installed + + +# v1.1.11 +## 11/21/2014 + +1. [](#new) + * ChangeLog started... diff --git a/user/themes/antimatter/LICENSE b/user/themes/antimatter/LICENSE new file mode 100644 index 0000000..484793a --- /dev/null +++ b/user/themes/antimatter/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Grav + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/user/themes/antimatter/README.md b/user/themes/antimatter/README.md new file mode 100644 index 0000000..1797c1e --- /dev/null +++ b/user/themes/antimatter/README.md @@ -0,0 +1,136 @@ +# Antimatter + +![Antimatter](assets/readme_1.png) + +Antimatter is the default [Grav](http://getgrav.org) theme. Simple, fast and modern. + +# Installation + +Installing the Antimatter theme can be done in one of two ways. Our GPM (Grav Package Manager) installation method enables you to quickly and easily install the theme with a simple terminal command, while the manual method enables you to do so via a zip file. + +The theme by itself is useful, but you may have an easier time getting up and running by installing a skeleton. The Antimatter theme can be found in both the [One-page](https://github.com/getgrav/grav-skeleton-onepage-site) and [Blog Site](https://github.com/getgrav/grav-skeleton-blog-site) which are self-contained repositories for a complete sites which include: sample content, configuration, theme, and plugins. + +## GPM Installation (Preferred) + +The simplest way to install this theme is via the [Grav Package Manager (GPM)](http://learn.getgrav.org/advanced/grav-gpm) through your system's Terminal (also called the command line). From the root of your Grav install type: + + bin/gpm install antimatter + +This will install the Antimatter theme into your `/user/themes` directory within Grav. Its files can be found under `/your/site/grav/user/themes/antimatter`. + +## Manual Installation + +To install this theme, just download the zip version of this repository and unzip it under `/your/site/grav/user/themes`. Then, rename the folder to `antimatter`. You can find these files either on [GitHub](https://github.com/getgrav/grav-theme-antimatter) or via [GetGrav.org](http://getgrav.org/downloads/themes). + +You should now have all the theme files under + + /your/site/grav/user/themes/antimatter + +>> NOTE: This theme is a modular component for Grav which requires the [Grav](http://github.com/getgrav/grav), [Error](https://github.com/getgrav/grav-theme-error) and [Problems](https://github.com/getgrav/grav-plugin-problems) plugins. + +# Updating + +As development for the Antimatter theme continues, new versions may become available that add additional features and functionality, improve compatibility with newer Grav releases, and generally provide a better user experience. Updating Antimatter is easy, and can be done through Grav's GPM system, as well as manually. + +## GPM Update (Preferred) + +The simplest way to update this theme is via the [Grav Package Manager (GPM)](http://learn.getgrav.org/advanced/grav-gpm). You can do this with this by navigating to the root directory of your Grav install using your system's Terminal (also called command line) and typing the following: + + bin/gpm update antimatter + +This command will check your Grav install to see if your Antimatter theme is due for an update. If a newer release is found, you will be asked whether or not you wish to update. To continue, type `y` and hit enter. The theme will automatically update and clear Grav's cache. + +## Manual Update + +Manually updating Antimatter is pretty simple. Here is what you will need to do to get this done: + +* Delete the `your/site/user/themes/antimatter` directory. +* Download the new version of the Antimatter theme from either [GitHub](https://github.com/getgrav/grav-plugin-antimatter) or [GetGrav.org](http://getgrav.org/downloads/themes#extras). +* Unzip the zip file in `your/site/user/themes` and rename the resulting folder to `antimatter`. +* Clear the Grav cache. The simplest way to do this is by going to the root Grav directory in terminal and typing `bin/grav clear-cache`. + +> Note: Any changes you have made to any of the files listed under this directory will also be removed and replaced by the new set. Any files located elsewhere (for example a YAML settings file placed in `user/config/themes`) will remain intact. + +## Features + +* Lightweight and minimal for optimal performance +* Fully responsive with off-page mobile navigation +* SCSS based CSS source files for easy customization +* Built-in support for on-page navigation +* Multiple page template types +* Fontawesome icon support + +### Supported Page Templates + +* Default view template +* Blog view template +* Error view template +* Blog item view template +* Modular view templates: + * Features Modular view template + * Showcase Modular view template + * Text Modular view template +* SnipCart view template + +### Menu Features + +##### Dropdown Menu + +You can enable **dropdown menu** support by enabling it in the `antimatter.yaml` configuration file. As per usual, copy this file to your `user/config/themes/` folder (create if required) and edit there. + +``` +dropdown: + enabled: true +``` + +This will ensure that sub-pages show up as sub-menus in the navigation. + +##### Menu Text & Icons + +Each page shows up in the menu using the title by default, however you can set what displays in the menu directly by setting an explicit `menu:` option in the page header: + +``` +menu: My Menu +``` + +You can also provide an icon to show up in front of the menu item by providing an `icon:` option. You need to use name of the FontAwesome icon without the `fa-` prefix. Check out the full [list of current FontAwesome 4.2 icons](http://fortawesome.github.io/Font-Awesome/icons/): + +``` +icon: bar-chart-o +``` + +#### Custom Menu Items + +By default, Grav generates the menu from the page structure. However, there are times when you may want to add custom menu items to the end of the menu. This is now supported in Antimatter by creating a menu list in your `site.yaml` file. An example of this is as follows: + +``` +menu: + - text: Source + url: https://github.com/getgrav/grav + - icon: twitter + url: http://twitter.com/getgrav +``` + +The `url:` option is required, but you can provide **either** or **both** `text:` and/or `icon:` + +### Blog Features + +##### Daring Fireball Link Pages + +Antimatter supports the ability for a page to have a `link:` header option. This will then in turn create a **link page** where the title of the page will actually be linked to the link provided and a prefexid double angle `>>` will link to the page itself. Simply provide the link in the page header: + +``` +link: http://getgrav.org/blog +``` + +# Setup + +If you want to set Antimatter as the default theme, you can do so by following these steps: + +* Navigate to `/your/site/grav/user/config`. +* Open the **system.yaml** file. +* Change the `theme:` setting to `theme: antimatter`. +* Save your changes. +* Clear the Grav cache. The simplest way to do this is by going to the root Grav directory in Terminal and typing `bin/grav clear-cache`. + +Once this is done, you should be able to see the new theme on the frontend. Keep in mind any customizations made to the previous theme will not be reflected as all of the theme and templating information is now being pulled from the **antimatter** folder. diff --git a/user/themes/antimatter/antimatter.php b/user/themes/antimatter/antimatter.php new file mode 100644 index 0000000..f0bd1b8 --- /dev/null +++ b/user/themes/antimatter/antimatter.php @@ -0,0 +1,9 @@ +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%0Ad%&^45Y#&6$K^9CYPK3>lYx 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

                                                                        acz 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

                                                                        +(u~PfCiCxy&_`Ez@nX5f!jiSbKWwjY0U( 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 d0mRO}xo^G_%I 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 SdSQM28?+M|D(2r_;{O0|uQ74} literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/fonts/fontawesome-webfont.woff2 b/user/themes/antimatter/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..4d13fc60404b91e398a37200c4a77b645cfd9586 GIT binary patch literal 77160 zcmV(81_!itTT%&fM`8Do zgetlXfhX-f>pHa>CezJ5a+CKJB5E?t-D3Q@I zv;Az_{%F*wqQWVk+*x^)@=9sx>ldws&U_`?fwx|)6i0%hGq@6No|Wjj+Lhc2#LbXI zik@&>S#lthOy5xS4viawbfqcF5t#22r#4c;ULsQqOn&iMQrAORQWXh`G=YxhM*4YN zTfgWxZlU6?d>wP(yNq!jqfNVxB}>Ww7cSen4lE1$g!lMN&~*PN_7ITCO&u%|6=U~^ zD`NV@*N5j%{d4(V*d&F9*Lp4o^=-wV4E$&&XJX#);dbqZ^8pUYCyEa?qdKs=!}D|N zZKGn0G1#bWFe1l-8nC}AR*a~P9;0KUBrGsNR8Um3F%kp&^sGD!?K|!B(qItgwkPpO z4nOg8&Z#<)4^Bj%sQjrANfD$Zj098^i(7$$Vl;{o&HR7r?C&hE&b-&}y`y4mHj%mu zNlfW!ecOyC;56fuZ7e6t7R&P^z1O9)e^Pe=qGENxwk%7Q3&sYU;&zJz+X!u6Ex^F$ zTu6(Z`;JIR{;Knn>IcTcKbV%&ZSxB`P>8MADLLm#sD>oQy@;IWvGh3j=*Qa5&VIQ& z#BvplZofSw5gN50lul%1ZW|#duBPzgJG1nxIGMaB*-obI9wC1%7zRoi%C^%k;Mn?+ z?pUuq3@j1^4v?E3B49cgqW>EY2?-#3jqje^;JgycOCcwp0HG~LNR*rji6bO_n_6Fl zxt$OawF6EyR#iAg$gdotjwKXO)cf75+S~gE2n>cpa0mh<1W_5Hw7c36opP+~qRPFS z?z(HcYuX#9GugKj(K=EQB_0sAfiipahu*36k{xIzyD2!y5%vK1@c|DQ3Q0^$kT!Po zBklXM?*0ZWJJ6;!hoDZHGR|mrw+{{o{_lUy{_6}+Pm!l|BNl}Q;&@bv@2Wy(0-c_O zab6Z9oUWgiKYRW)Vv0%P;3X|rT9E6xVx&Q%6AWJDG0oX-H5vJ?>5A8;PEnm%C;H~y z%@URb{E<@x+!!CGA#@@j24G?{>Gvg*2lVeVHM;^7(Pnl#tDV)(Y|gCiIh;CbXJ$WV za+~#V|9GDufDe2U{2(L>iu$ z&FbBmZ9gV+TlVF2nNyNeYL2HloUh~eKdpS)>J9Pm#Xd(4%myqFVno%qUa9n|Ua803 z8#-)?GmgDZL7HHzH4B_FHnRat`EXP62|?edFIDRb!q%9yytA|?Ib5`-)rNGqg%GbH z-}d(Uw;KH$fouQgEh;fvK+gfZPMGsl{cktu>gD1?zL z`z7_05U{qkjReFC1qI#x+jpODe!iG=?eIufIBbyAS`i6yq~pK;J!P{R?B6jf<_85Y z$&N8sKi05v?h+0-IZ#Z-(g8koZ#f{v7%?Dp!%F^s91LTw|BvSLb7Oj@878i9HK*kSp)6{%ZXlv-PQ)RD zE`x4f_xM$H9{@mn{1`uWwLbR;xgELO9FcMuRbkvnQXmT&j}ZE~*Z9?u0F(1c4Md6G z%ZpLJy?$`%3V_^=J3F{;`T31Z7#Ad=bomK731~(`S)uLTR8OErP908ueHZaDB4D$q z{GZri&j-sW%|A#W5to*SAH-ai&E<86{%v3LDwPh%=3Mm7wrS#iOV1$&8oKgshx_jMlowl4ED4$f#L1!t6C1g9p~=ODPt z5-F*yQZ*RmNQ`~4r~k{Ouxs3@+Z>Q5N}1kIzW_;y+Y`2(U+=Sj1(9)2Vkg!}$DaT~ zSw&5w0~|KUc7%a7st`^}4doR9Pl!$j8b%9FcqlQFIssg|->XC5YmQ@}VmJj+^a&GW z;TT&?6ewkE94j()E$+}^)|h0Xjx{@?P9)U!BBDsDj}WU31 zAtcV{=d|bI-bs8=m>_-=CKKcXWW_GX0~^$^=>jcb2lM)283`*Z!V{7?x-M-}_~|s` zV|lNhxg(2J)xt(s?g(|g4crMAX)o}cuastffHd9kY=i3#SX1;l!-O06F-4v5y)!_N z{n~32h};!G7bhd5ytZSkz1eQ+sUW)X74K7DJFF%9?n#Q!!7ID?F7r$p*h2z%vFq+0 z9=`hOhOu`E+Rawmf`Ea#sNtl*!}&#cW`0Ouz3DI?ydh+i=s;0>PiQfT7Zu*A>rw!Z2oWMZdTlLANQLT4}czIhYZic*axDrD;QpTldic#?)QnYZQ#V&@GPdWKu$ce zkR96D(D?F+uOEL7E{&8{@#anN+7VOiE7M#=o-3l-Qlfm(Hnj`lCvjX<;N1eImGc}P zIfq1q23S0QB<*mCfZhipyXl3dlKdo_(zgrVEctLByL0)aRMXBH-Ttp)yZ_WqYe|tF zU*@4;)#eID=!hTcSCgMs|CA-!(RT=~eyOCyMAVSk!pq$%^Rswq@*cQ(TXI^ehX9#d zQzf)Vo7@<4U`9OSg`E*=es@n8G*SbT@I9!qVekl|qYka=BE@A6$s=C?(x-c+DlyNW} z6eaQe@Drh#XmE?Ex(!VKoZcdgD?X0w=CviN3tmmjikMECbJNHMagMY-l@hQIzV7AZ zriQRf5j1k=Eh_KlCFt5{BiAK6a8T){lxWsNJ@?M~+S(158s#PwDXC&%gvLuu_&~q; zp5%18A)_>(Gy@` zHu}fy7?5gdqUqRaZ9G+VYFVjT`f3hBTtJLx%QHo4W^k7Hn4dbj+U@EPSKG&~pSs!K zvyPmU&Tyr~vom3Dulo^!F^FVgi})a%1Gn9)rTvJRN`lw2KOkz(aW}5MO~dBSW@edL zwPwp4)N=wJup1;S7@U)OkZj2gQGo~o4#o=@iYEeNjFZoLvW2r$?(LKzQYnI52$jlzP&K3-Fs?@ z8TYz{a*Ip6o|)y)qHif|*~IjRGj3tOR55>Cr^87ZMJVZQz4x-c--DZz!bJ3J`mBFt zv$MzMB*TT@cUYc?%vG%XC_t5juJ=v#VIpp<4lLvW$%%|VH?JfU3&D=q@FkudiARUh(d2N+ zWLd~2X5t4S?fb`JHk6Khs0b;)4m))>Bf>MuG>~md#IxJ@3UBxJiBI@&t;m6*b~tLF z>Y4m_C`-#PTHIv21B#D$$;E^HZ8uiYUtFhV*G%O%3~-xR^LiE@?1e}-zAdW`mbEM> zF-u5dt!0p?EOIRw9HXESaG^}g@5b$*Gd<>1m;%N!sdSMt*}PbmYdWd4wf_iOfHlC+ za|MYGa1MylQ*%_SxCI*3>pCu7wYNkflt8fcEw)9s%#j8m5R?-^jqs5&y2-XJ@J1PZ zvCEQxGD63Ll8sRsnbjBI1u1mJ!>4@OBQ%73++6qLsDSXuV7F#t5G=NzBh&|HiRm#q z*)7%le!&>OD#^0421Im4)tJOE2i~}o^A-DsEaeX+t0KZ z{sQInfSneVRDtp{f^<>g*rTZi2sAuCI!Z9Zh$ZFSky>G5VCcOA>UPbn{DxunR4-Zq z0{Rr3Vcwm`(344N37c0jkQV&${exerkPtp8!}^!LNFtPq`QzzulIshDd^c?rMzvmA z&&_^jixC$vO7ZGm0Le*_7u+*exgqHorQCbdJY~!;JgCi-!q5HtGLD2^A9dP#_`PVfh~Qf+*{6POoKUi6l2P%*Hl&QKAyfLqkaIKd`D8JY1@={Zhq*1zZjQU5-VVG9EdQhh(N}S^W*!YLJe?QZ~`l?e_yw z5+Rt%0P61dAXbLEnF=K$2o+w?V3$raPx6eS5Bi3KtXuINb~@n7ggV*iUfP^;*T3fx zK(YWg|IErMMW^{br`nI~*hvLG+;Qa(JTE9Xz2mD|`K zWkMsBLSxbz*}wwmYD`=a5~IW|zFKINTi5zYJdLXS5AlQ;aj16QewJ%pn@7XW)l@{k zKU1m8+14)_#x2y>CEb#Vl-cMv42b@BrfGab7RyPY#BuR=W2k^v0h<(f44SbZ&kQd& z1c7+0f=Eva?9UId@{fgyyLhy>XLZ>Hs_gVQ>JLK39^$?US5+# zF8FwgP0>wLKjyriCrA1t{C?ppovgaV>1c~smv@h!4uR$(`2`$DeE7c~B> zpO)wsEU7ZQ#)-uJ6()96NKJ8Y@H7-Z0#aPGy|SvlSYbSo*fbFCmK;D$X{<=pL|?w> z37bU`XR6OqiFvV2n$yv2RQ}kYO5LsvtCo2WW6I7VnMg|XEFd+Y{o1b`B?Ku6B<2+= z&U7;n*3GsPjMqSY02HvKv_gCJS?}VwnX)lP$9Q?8>7cln_TCYaRXg*#;^hb%1uH+IT+qbi5QUIEkAPwUL- zZcK{joDF?6iF-BK80ny(qch>Bj2#sVh;E9olq4i9E2BhC2h@ZuNbOcWnAb?Aj+ol{ zPjg%dw*~)|Ezvu`S2h4n_?1nG-8izHMroCi)H}Y7r8gOC^D?nEB?8ux%nux4T`W2w zjmomxy+te?pWb^_g#G~wZee%3vH68gXQ75Jt@23+IdVE`poA6wl8hR#JV_HpwK4Eu zBw$Qpa>tT{f!Cet&Rr4Zc;X#7JyIEVCMr=i=zs(;dVe1C%lLUbh~NS0gJ4a3_SBi0 zWKV|KrDg~RR0H=-#?#LMUi65trDJ==U20Be7 z%Xwpj z8rGRuVi>6*eIn2 z4sdTqnx|BWhY_zMYaCA7zUpjza))jPvt-vupa&k7+<6n*ist$5`NN|BwO~KBX%LYryjwYCD`L@BOz&Y#&6yLk zrl09#3<5$~a4xgYhziDTTr}+GvxUZ_irgNJWb6?^#5mb!Oz(fO^4&7G%H z5^GS_GXIRAC_Q6#bn~Jjo?A1S$rmQJt!U~*P6dbvJ-70Rj*C#qoAg1nM--Cz!Y317 z=u#u7#!Wgd*X$9WGk^)j?$&fleixkNGkSM;Ai$K^JD4}R=>kur91A#{$yq51$wX5{ z_^yQCFMy;I)XX=RX%FBGjUjh=$~M62v?QPtjW|Ux>QrIgjQe~*2*&>nXZq^b5AiNL zZOI)6wC_3KIl*(?NODXbHzum22a=JFGaEv41mKQ*TW=5nCK7LT+EZuu)vXw=D|?|q zMZe$WYg*z7q#{n@ie%~;HG`r$nwUvewW8XJl|HLR?P9D;g~!gQW+^ITmZnEFJoC&$ zpqK!kl`d!W6#u8;k_s8NrGXb9K``UKExyy)qZX#Ac7FthR3Nwo1`lL3ODL!o z#aVG+vZ|XXb=~EAEWJ7~DkOX|><)vPi!TI8y2~t+U`4!!=-3qTcu*UzvmX| zU;vxoFY7w$fXLF*)+alS*@;#LhY>_6%d`y63v$W)kPx*5f^bYS(x#$=iQiEsSbWTj#TRZs?$7t8|iN~L%c(PyNt zN>cc8olk|i&vOa$9mc_tq1qTUO?Q~7+#U@N=prKaG!!!T;ppICO~e}UM7l3dA&J#? zf-}{*xAKAEE{qjsE0aKYPnTB6aq63DUe`n4s;NtDuJ@l2EaI^^NCY{ITBxi%Cb)05 zg&!!x67sqr4))=f2=^B;|&U9nAtxK%O?JrH(qLN-KLYGA2ys`5Pbca_F5=9yX0 zI@KWOZ;?E|06C&Ni~*hajz+-M`jaFaJ2KXs*J`w}5c=M_?075|63ZIOft^DH#ZttH zbQl)6uo5JL99BwZ9>Hda#W}|*0Iy-0IZ%nKCgAwd#WqiGzSaX5Y^gk*)brv38S)wL zWOF?u0W-yO7LT=1Ezn{_pw#>#jSuWwImbE(F^wt}}lf1z<$?f+@!t&&enhvFSp|oAa+s9!U zHXe30?GjS`pv=ByF^BCWSWJbRy2A=eiD6-y5fj~pEXMQfgpkY{A~P+|N8}+K%cVH8 zxAHg&eBe|%Q{GUMi~=9Hw)OFF98FTLS>9sw=B0b@E4xqqW!sxF_VU+f1*fUgb*|_4 zRz3PvJ}t!oYhpH4pAwRi(5Y}*;!VBKPpDx3vfLzB=tRMJ8;%jV@j>6aqg%i<1&#b+ zk^D-3Kdxp(KRuW4k%?rmuP94I&g0b4>O%zd6?@oyO6liO1^U`$YEO(w~dfSW-)I*JFbc95RKnhH_Ueo)^V z5O<-H?_2BbD+u?V6s?hlkNW{&D{7-4R^P`fkDgL0;{mp{b)#&5Aruay{_1@GD<`i@ zS^hSgHnz=Q2J4n}WYT?K1Ba~KTmN}=+nAMVj->#wyKf}M<5@kRd1_Le5osxl7MTWO zkkpGzVMHjsSp8MXcS#7V+PhkS79{jH0@}OoIU2e8CV!dMG+M*m)+daUL`I+W-4I(& zUB!OpWEez0R`B*0QI%Jr&CRlbeRfkm!A=eXZTHE;D+5#BaqzefNU;B5|N6>RA@|Ob zujYmt7m3)_czpI-ihZS1NN z{mBusZ?O_Oo54A_*Q29z84jB*6Wst#IvTqXn1FOd0WHRQYg4!CYPDfB?VoaEw10XJ zM*G{lAl|>>gn0kjc8K>kTL8Snq(eBCBR95iHQy_>TsDaOw3GMV`td+(amo3Y-6~SVgFExhSbYQt48O)0=vGOBz@93V1J{b z%hnjMkz5Lb^ba^Q<`P+L@G)XOzkbHOO0N0Xg0Ihy$^3ajb3G!GhUm=0X6-0?ONj*> z_f3DrB8?gdNMPm0cL=p(y+ve&>N;XLt~MwFIj|UsJns<6WB+W8-IyLPg}oO15Nn;A zXX*?`q_n+^0gs7HP%P#UtYbBYu|?p@^*>8)y$gH5q(rM|2sDE3?Nr_ z6;wk|U!eBTYxBbDj4oegyx`H4PD;~E0DDx)A+w4$lWIO__?$4^47wxdhTYj)uj=EM znyJ8s%uB-ov3ip%{vp~EGl-_rGMMKEfwnp}WIi3G1!!q)Mb=!*J@7~jy3`z6D|(ulUfoM`T~yvcgH%qlR3L>cQz}3KH_#K=7el_UiNveh$%U8? z_LGuK4xOlJQHD;H94v&y2_rh?&Qj5;yNIP~_>vbFIhO?$;xT|Nf?1iDP{&TfzW|C{ zCb@Y`IIq*W&G(5WFw0|-!FC7~@WzQ;j=+kc@=CQq%FR2Z@=-e+m0g92{YkVJKEF#;crZ%nQcFJ%ER9s%lZuHyt zzJCQXZKOUpq-8^{@!U>*5UtJX?PJ5B=GmY497K(+_9#(mFzjTf_-f`njzVGrbu~ zIo%B~2+9wdNd~?$Ckbz>{gcoZ5?p1VB{W_&eWQl99s=eyg47Eg{UFjXJqPm>4W7YD z$9-*oALJ8xuo5PzsHx8)k^U}Y)`AIEyYYQx=Stt&>pC^1 z<1Ipzi|(09mqxhhS;O1DqBDH|#e6Brh?)T?##hqzUdF1q6jPRD!uP? zbWjmu@AiW4LERk~L~lO?LlBOkXS8(lwDr(C^0>rF%Uwqug_tr@MLb@WZA&whtoIbB zE8!EYJKqhOTZ^g|%QMT``HvY}F|fSBy?KOoxP^}j7bAZUs@!njJZjWwL(^eq=6+n~ z8%LxAL!~qu?!w+=bz*cNLZC~R!u8OxQEj~wJTO)h@b)gBEo@zQDyI4YXo5}-(Ea; zYM(shM=smh)qbs|w%6;$>GU<*xxL%3UDH z0vH0D^OBr9a`sG=$rh?)7@YIo7tGXb<&x^?G`z4x$kihn?Wt54!tl=`j5ks~^J>k@Dr0)P<4=`SHK z9HqZCbCIW(RVN`J;D75Pe20ytLgS&Ts0!l`bX*&cR3jPU^U~6tO^zfhGHzeRUZ*DYv5=CgnUBb27sKfkX_*_QW8g{ZJrxy%`UQ0*MHZ%`jL5C?){`F! z&C1heYOrD0xYm%Mlg`aWz|)=J6XL61(PaYmoZu*Oee#}dZ#fyd`&CdjdPpQ^urvhm z*}68VQ1kadK;l>pC^5~>n9Trx;doyON_o9|l{4Dr69cU$EWU&B<4x-^ZkyN@g+6xh zPwMoB)w72E_{3`d-x8SCuyV~Y<7PBtbGlz8b|q|+<4fOKPHB=WR`~8S-zT@E#MIz^ z=alPCn@!+HKuGW89YXG6E7SeT?x%L$Rz`6^7@OU(bxT^EXsU2P?CnJ`_xORo0LS5ZqJMxCVbRWeo-#hK z{zFi%iIA{N#Sai5nrc7MZU}T|<(}BnT?3{T;ZumX`1pI_wN=xH1(7Hxv$bO9qbFvM z=4UX|gWc*FmBdU?L8VP}WEBU@DdV#;!@A>HA=Y*PjwWDlg|GfH5>Q(U8=Ya^l!UuA z`@jrShkPR|fU*HMN(H2f3L_iHxXfRx)nrwvq&6c~8APszz?(uMOM~~;e4-k-z`+?7 zfGGlRkkAmSbZh-=1DfW@EUpy$Y!T?8>kso)AM7dJxn-C&fjmLF2(TVpFr4e2U+g#7 z+4k*TetXy?4RKO}&ah^a69N0{Pzn%X8X;zvwD}fTRfDp#XjmKaqHNo}UcvD?D4zpu zpg)quKs{n;XPMnk&6ayDlWEX8k|(r56^l4OXTtD$NJe@v5fJxV4@4v5kU@+YF81KM zB`3Ckcdb1#4>KC1$+)+jS|{?MNO*>ms=Mx+CI?BKk~GjUN$;IXX{4>cn`P*Fl-e82 z)6I{U{cqygw40B6gQ97V*DIRULB6*KLPT`CR2Q|GilRB@t|Z3gvZLw#C-?I9 zy!hb|Fjj~seB&a|1(KNJ>wxs3916gZ*He~34@x1F)sNqi(l*9MHd0)QHWXaHyE(K7 z7cKZ-J*L4?vm!Z3S1w#G4ti~Cddo)5wN>F(8-aiB*r&s{6%BN!A zfXYqSk3jA<$0DOjjri6<$##L%7TK|6qVIW0hR0*(fg#o6fLB0H$oz`;1a}}DIS=m zbyp1H(H}*@XgRD90l;D@8c^gVE|w&ON1VYZKqwZG5%G1S)>4fd>}E_8%j0} z>CWmY4@fF`)8Fw6=$}2#(#%l{FRR_s*mX%Ry$HHIkK6B%!5A!-uyP}Uc?5jE0|so# zJYf39QTYezJ;eLe`Rl1hBpc|f(m|4R>6nc&+U%5MHUVSI^MY5$rR0aBG=BCa?{*tv z8T?`Y(3M|9)vn`N-fV}=sLpm8aiki6a}XqLIP~HXQxETrC1SUhA1v?k|2gmVR&_R2s(seFN2Y%r46JqWZi{zMzO@6d9I)pcW^+TATpWS22)!K7 z{@c%I{Tj3rhq(T^vsRbu&Ze%9K%2Jx;;cHVUtnV^eewPNOqD#*TeOfPRjbx2AAHc} zt-4#2+gs(Qnd`dLr*F8*$-Dx&zg#^>Qus?OAzM6)zDVOgj)gmgIpO%m1%Wz|)Je^w zE56KO{+Rh8zqjowkH|kGk|#&d2je}T?ZiXYJha&VyO4V8#=E9bh(Tco8rT zPe-~LXJF3m-dlc?;6F}7;88&8_{fAd=8#U#frP4_L49h#jzVGc!5lN~#ic3g6~oWV zv^sIRNviD2sp=g0o*CI#Z^KCv z#FxvQ-B_rBq7Gjt0mKsW!!`BC6$k3Nbv~=i32Sh;2_&#wx~G` z(eO_m^%*b>b$6$%N#e-yrUExgrg)Xbt1_?iT*?_%W<73Jkye1Kq|hQGIg_l`b~tzn z`?hTr4-{}gX!g?+=y~FiGlIKtQ3(zuiP@z5*mQMqJp{b_?lasFliFvhEL3A?EU$@}>?(xy?0}JwQH8W)@ zgM%@G>PXH-ueM<_`@adULW)`<8U01d5R+zQxRm%!F$xyv|chrOou44}{FQ zu6YqRf~q96u+ODLO0G^H%4Fs2B8k-be>oiK3g$C0AW6*^ms%)ZC=G0PHVrTJK#p08 zLXKYE*x7xsPgH(6W4>d;@{V2knw5LvDa+k`?zu!b?IaU>6Z`Pq6UTXDmMjv=q=0+& zbV0gTGkOq6NxG|T!|+7LG~A?B1pV4nGi0U@Nzx9T^F)#<4HAstN!zTAE&*ige(75b zE&EHBUNV4MV+@np3f(yUgLS?vS?RQ1T-jfytki+QU-&E97h_7L+8iXKTrxUZSLO`W zV$?#Q?RP!b+FLOvP6MA=R(dp(9y_!AD3@k>PN&3w;8lV1W+;Df)|ucTc-JF?m*BR~ zOsPF17R8HHWkv%j8E+8z^ns8d>p9D}&pP2~Dkoz~<@M#QkC?n$ z&e?ks$b<$?W~FX=nO!(W5x+0$ryG2dx-rUj?F|2CK-5Y)v02RT)wWJ`+B%|S>gH%j ztfKJtZwjIKzq@q2O_0W5goIMejlWX#_i4d8d`{b6P$HnB{fI(9u(`CzAZ=h_p7o2O zI!*lxi_iiR31c$L#i%^U6{h{zleCsq2#-&VQv#A)oq+%)VO&84x^U<84CMIggs<|k zy=BH+=Ey;ktf{G+F3hldr`GGNcZSEmemrDYNoc|SQck^RYZ`Xo=5O44Zl=_nqJ53m z?jA^dWvppdl~<{u*c`_{q0Ag3%_vJcw7Cau9bggfCgx23cwR=Xk^w6xrQHLW>mJ6~ zoLc6EiL#W%j~X5^KVItxMGgd}D4^Y)9{5DysmOKYi5BuUui;d}nD6_L6YasFOjC}# zHczo(ZSUG->j%o24td8i_|W>9e3D++Qxe`w@T9$cDvUBrFU6PyDH+cIXb67yo5J#3 zG40794Me%jg^c&;B&HbEF_T9x&XsSefG`7I4C>qZhx=cAaV){D41BBnVE){<2L>v7 z@O+e}#wYA`9CLORgK8)rap0>`tBHC{KGDrK|BkwuzlaI=96JbeGJ_Pwi(vS%g;$GU z{Zx5S_h+a9Wo0lHhxZH-?es7(>U}TAl)Q~QXj^ng`9!-l)?P)w#v|is_sESpWZ=t+AIf!#G5rs&Syz>JIdC**R%{28T7 z3V@q>j&C4r)}lPRp4ColvW%S&W~ir4e=5v=&{fKhhgb93U!Md&2bOjoJ19Yb8HK3L zy4q61UjHC7w>>t}Ha#-tZtH%1W3Rmx2ar!UlUNLfmEdH$tN}_H)_jlNOi-NOoqi9^ zg{k`SIGQU_MC|n7T(8vT(ya@_ty9AnT&F$vRoQmT4Nc^QnjT{!Vf(8~JI_I`92Py) zsKlD7l)2VxfdNW{PJnQm=uIU-Qee^9h&$N%C=>g=hc&|xSDL-sJ+%mnhFKt;XD#Gj z2zE4q&{%)2*@^mvO4vZ|*FE@S$1}z1{Oo{4vd%e)yV|NLF_6$95=Yw_z4vQ4lC3tBMDGfINUylPM{vLdC8$PvGww3M z#7!FCN}^#}-qt^>V~yZ$FrFzti)i5lP8Wc{b)L^3ngy~Q{tIn0A4raVvcVtQ$}w_8 z{3pGv*4Hunp5VvTf00XaophUX0ZP&+jLmekkfXZY#_;M=VNVsAyL*H&%BP~bR*Q}dWg0oT^8Hb z+8?1G&z0BSPn^-$hiXOPI+G&__cnoUIy{k1=Mc@&b;oJ3rj6kk$$N!*-WU(H*D=bT zr0V|Tqw7^x$?|Od3@g!L!cOqQSF7ZW$!NRFDNm;|d2K~(*`%*Q*3~y3q@}A_QE>1T z_6D(LLad5BIEtTzyE_8L9|e!)^p^N1XG>BwZkhJX2IjpB!BjvAu5P?4wikmTJr-d# ze~F%~qM?I`uv&gYSC`RHUPM?eSZ1ec==@HA#jy~*aWwx=5(dFZKo$AuQ_>Rp!25mj zSZFWpKHMx~mgDF1I61Y+^zJP>M|=fW1(A{|-QHr~ANxVa>i9KBlioZk*_GScI>eu& z1|bw(XKH?{PY2&7|BF?JPV1t%IM>@CuK1MYhZAS<3|$8;R~lD;C|B%GHu9HNvEw0;77(X?22w1IM z%aiOB(=+-KA2<0vs~0Nfhj)MhXFr;#l`0{U>G=9ec~qi63stjc&eM9u(Mj>TmCs)n zqy~jI(kAj;bc_&x@JKEnS@BxtC^T6o>twE#!UOw>4wdD*?dko{h9uAd6M2~^-V^XtQB8iDT>SuRV5`lF@KVqR6BpM!C7IOSK==Vpw&g(pxj3)fUkzqW=b~T@qFwtEZ zW+hV>@`(tZVIO~PD)HCr*ovK<9kXxHykgqU{en1fN;#jwg4p7qn!+cTEpyI5hH}vG z>x6~8sZ_AKr9oJMqy|Y0(OfufU3-I1W($>IBOJ=s6IioUUS_%(HTTpfCmY%9#O%-* z7Wh}nGS9alcExi=;#_~8?TAqrbG4o*nahwsLFg1}QWPF4TIl>4u;pQqh|II-98+uo z(Uzi8j9bgxoMgNzDV@owyPUubP~^g*#Jxy#7^83fyfvKkIEl$Fgu-3GXv3c-G_7y!TzN53|0z0QrgQ7caCIUODsHrJxMO^Wb*kGR?`kWpC;A=J&>1(h7!{7l6brcI(kLf%V{TT2<75-6 z8&zYT427ft`=>CKA>vVv&c z>9c-_$@t1_qhpRP6z0#+ww!e6an%ezStolEC*FwaLF8jo@%>hTO&IniscS@-4Xk^{ zrtKJ5&7a4q|Ll#BJS?d+UDhcz~oPM2|KSxUs4*+p8fP(ywu!Bkt8%c6sw78 zWyNMQf4$PiP-wJBw)J zFrI&zxy$w&L>{f?;zPdE1W50pp&X*=#w>q9Fo{|y964+OygHpN!b_)=H+o!D;6hCIj zaWcvUbE@H&Wtj%YJiK-AP$vs@i<*4hd0{uunqN#iOC>hj6>gO$NE&}#blRdD+`i|#RqLfDYEs|E;WZS(Jd4JuKXL$d|7$*@si*w5&^NgZ;jfd9P&&PAfyK0 z@-#u^rMW!<3dHgDRD+nfKzz(tB&HQ<8g4F2+(~@yQiKAa_dwrJf`{u|5QPP|UW&x-B%aYvU?T(iBW85A*9V0nld}B|2ByRyeWvN&^j9@JKZ@!Qbsb8_^ zONlcJ=M0REj)N6&mU~$eu?2^f;T}P5TkRP+t4-So4XIQpAtJu020vP`T?2z@1x3Vd zvJ1qX!amg}mWG+-dq>E0of@wos@EzJey05Ent8dE>tKl|t3mre*_a~%{M0D|w-9f} zC?w+bfEz#g9_ATATsZS!`bnjtFS^eH6s zdY{~Fa>v+oy@j+DD2O^9u(yLph#W_UVr5pQccN(|L%vTj^!N}UkkH#>=UUua>^w(f zJbJADK(RUlt4b}v)x_UlVCbm>IDnyO(zDGhZ+jkL3o0&`h0 z@{No_wWBu{*EDzEFzZK`(=~~~dX2&bK`()oMNe|h|4Dlo1x#xHR(r?t-E^1H#SqLUK8XTlHbx)yx-zJV%;W zKH0>$zqd^jvt0{Zv#3t^*dDNRu~*%VWSum|q z51|7P!|^AB8yP?XE}H1sStdAo3W_XgHx(MPwWI3&GkMs-JB@+sRef+T-$|bg0qg$@ zcvks%*4}As_(r{2#p-68|I7JkSlVNUnAGeZE@BMm>Ov~4d?vr*k9=pVw`DKNYshuG z{&rknNQbtbo??Qa3K@Uo4zmWL7IK@zzE~4tS9XEc*vZt)r;Y|JJv<;-Pq|0 z%OO{|+~4Q~2Y_nK%zLWsoY`7QB;R_zdr#gJaIYRa=XjEGnV2kj4}%4b7WKja_3cjMco6HoZV~yG2pj)qF`7L zVJc{QADVF*X?0cOT;3WMsv=DOy3n*h`BatGSlLolhrUJwXZBrl<;2|=MZwM#05d?$ zzq2)~RxsboSgg_(FUIe6>$S#fx_X73LiM~S2ib$bO1gL%8=}nT-y8|%NqY0{0f5ps z`ihbDjgrz?{)Wz#?J;z;zqWa=h_}v~Uwwh0e6)CN<68v4cmhg&di-qj$o@o|*H)MN zhH~@QV{>G4ak_TpTan|pCJ~N~V4rVQwtu+3Z0kPcpe!WQvt4J6;&li^~|lB(=48NU`r2 z$5ptqRbX95wQEDI>V|^m?Dw++2AZ+`PnhjdQ-wp7;&+p8j}{AOe&HW^M>tULnR|Ok zuD>oM_4^m!6*k2o77=|29Aq>saUVY9U>1M`Y;3hvO+r$Wxlm;ShBD?sjWJS$x#CFt zalGMd2ttrizow=n(pRG;iN|8%w`f9%viT0fnpPY@C_nri9kzc)_XwUrm{EN^M?~~8 z9KsqptPf>CkY>~*A_I*VIO4tc$c;w&m!_F!^Xs=YV7%&ksTIJ23`_L&b#~lbrq5XC zwJVsP@(gweY7>RvwgO%>J>JhSGf$I)DB$V(zS=M?Nr#PQOVRaGpb^N&Z?Kz!PpG`j zY2z{z2Er-Wh6fb0NAky>3RpbR633Wj$86{78f~M+Q_WnU=k|wC%-kU%`fqsdB*QBV z7l{ai1U_VJ?Zx0LjOU$ViklGOPDxDz7Q{@2g^ zTzoYk-lO!p*rq7Q`jeoGlGu3*@oJ@Ulo@R(vh4SO=F>b}N0A8?-ZIw*>G5P#o*45` zoR=`K^ynmrr?zg-4U}@Yt^%@cxh{CkoMm5 zoPXV&&8X3vA}~MBUNYsjSVrfKEPHdn=5k+U5I|P0`W2GF@sfF;XNZy%{u&bu&Q8i- z=V|l^j+gs)0&%@NSlY-OMMQ(3T%oOEF&Z96qmn4Lq!5jYQghe9lB!h2%iZ)m8(i9n zQU3Xn0y1<|34=SAp9^4;)!bVf2iYvJ>OpJ1qf4XeVnl2s<6=0?EM1vtT&$b1{(Ngg ziP`1QcuaAAau(eR)Xs)Je2aR_jJpp)irmA=VV~$?#P>g8-w^PChhYw9GrTaM=nm53 zC<$un+#*J`K`QNg-=oW9v|YuSD_BV8lzPB(|Jl~}3*`%1sRC2!;!GV6;0|>541kSrttz3llsEV32psoEb>y#`{&)#REmCm={YP3 zkS~Izr@rF*wXZJjgaYCHsz`u-g(1b@h09>l*8)ZPyAQk=cp3W?_!Lk1+m;~P8*K!4 z0ZFiI>Zi2PkyUz~diHB7y()Zd<(bL?Dhn<@{q^^L<@~-4$mL_}__@FWXmHolKV{8X zmtDCkNPNtjG0*go`N(BIsa87)*ry2&G7*|kQC5h&l5AHtZ5%aE5u`I4Cj;AF{i3TJ zcoP!fEU41C8?#|4RP34arDaw7u5&RktJ~QYgl2R(7ZZT|fW!VA{8YQHd(t7WicG+# z(LnD{Opce;bjQ6R$qxFtUgJz5bgkxTAoiq|Uby)>LlXGRQts9Xg1wpWOPu`;5H@|AnueaE;&Yr*p!z}53qVrc-7QXPLS&p48sckL6*~l23wsvl+#eZ@qD?{k}E!>@*~j(GCw3uZe+c6>cFUF(NmvF zC7+C~{t{)_o_?MERiAN})$tgb3cTL4+0ux5*#%N=;LyJ;H-rU?%dzP961Dfy#l=2g z7sV9@3e7L;bw(0rhldkSXDLwUl}hx5Tq#%^zXWR_Rz@Q6=mT7I_Se|Ta?%1L^4NDp zU9)or6R3XU9B02{=iu1H`}AmFc}s^F;7ukNi;7i&ih z)Bjxo@;ow7%fz+n`CL9A&@#?$i4;Th0(zq zq4@P%1npcbS*gTbO0&BD8R^ft-;ju`#KWw9ySA545D}A}9Ns}CKAj7;@tFi&)#MX0 zP?>BsaJb-4lf%)F2=;+n%78RaK%c^)5i9`50Me|Ahl4GHEE$u}8Xyn}nlhj}i8BndXM!{V9@ULn(5BO=r$<`sYbb4v3~;t~tLvr= za%ox-M$LVSxQl5z$uH~snh+g~V|q}Z#dTK2Q8`78(k3U&FYF74k#^;r@~!y%rO(}G_EA+zTka?F#8vv(l>5w`m)5p>zc?}JARmg2a;0vX@8X)$ zxrGwVeI2^a3I#e75dbX2(7D|AHX2wrq@S+utY)mi8fBX&1q}yIO&OsTGH`r?G}-iU zHU*Hj0#KEWC4DbARw|3e#iG>jy*FKP&EG4~32 zmoC^Zo2~LJm+tb7QgYY%8DF{mc~wIt63q`c`uX!V5sy>UWxeE81)SF@eNm%^c75VZ*KB>B;`2 z;ddS|3p!af%~7->3c!l$pDPw;A`&Gk9-}fE0qJzh^_pOfN2QS6w51KeW;$q2Gwc>K z#ui=$hJHLy5Ccv6zghsx1S)re`Nq%I(vb2=FrXH2AtGRbP*dgt3ry$(6*dbBHmpzF z)DwFHCb+zC5sVNNXL5^sPFcLNv>-LCj}*in zB%n`#2xa~aM{dQ&bC}^Iii}(a?`ivB<3!fj+0pGkwBNo3JMsYP=y%-A>orw^cxry` zw9KZ~+_i?Pr}WmHpFW3q)2ZL~;3*u^Zz*gl-tLh|@GTvdJNwA=0|P7Be32N^D_f*juK7AWtCz#4>hE>(_0DNNN*N>a1aA&IDhdw9bkWyB#<|~n11hB zccL`+tIBq9mMF%!i3+ z7PVFGOz=o-eeG5ewfKU|_u7UZRra6A9V$XI{cMyD z6jD%T>j}|h1Ft6zzWU8PYR1716h*Dx5hTjS2M1bZcwGy(MXMlwbkF7HBmQnTJ*tKi<85{MeCN8$Q(z-qr#~Oz!UG+tI~i0b9dl{Z0yvB||xj zSfxDrQSI$sY5BX_?~8CORUpWb6c-C0RKtn(ev$1}t}+)WCwF|-FPf`DGZX;A>ao}8 z=Sm1HyL1Zb9^CP)S7%I4B=R6z$X4V04t(CenRdWvFj$>f{tW5tn$OTY+iH$z=lPtr z8Hs8z(9U~uOipdHt>#->Odj?#Q?Vpj2!j##rSZy$6MhZfhoyg#kxQPix~=gT-67Rc zMJU*dnv;ve*-$zrf0y}tug1L7tTc1QlZk~_Ofx}@Hic3R5ovZU6*mP_5IUbsu`{i( zWd@q@?zuf)s*8!Q8KT9eG|RKUGzP*?L*MCAe%z3Zg-%N_D`O-kGnP%U{MPApJUXQ! z6v^u>OgO2=!ar*yf>Yt8mk!+9#p4YSJoDfdZ?`D-Lm?uLxs_J(rRaWjcjl(l~; zK?+iH{>VLBM7RoSIUI4S@8WhIf6qhQZf^tPol8<4GKO~FDaOszF=U)$eMFfuYdkqW zz+DbI#5nz-fBL#YQYm=$%cDC;(`mGQd(AgAp3TY^G|!J)7Q_n--a2QRRtGJ8K)4{? zp&DP;fJ#t$7p1e0`iG5`SUZ;~VMI#JKc$bHToof&lELh9>6+(v@NK@y&Hh32(2g=( zsSVvd5#}~IYKcssUrw z(x6waKfH!3`oiD<_5Zy0<6z!{&xf)jL%o2P%Lo|7Lh768S0_TN!+x`?g3bM7;bIK{ z6Vm?g+BJTCVDQyJ)=e?_>fj3~(wvuFsXmya5;| z*x|VcAa9N&-KDBKX7XU7%%a%*bg{X~pGvPJ-}~dLNFV;?TIB!)5=)iC)QW?#9M5Y5 zz$*|;0d4KA6yD$OQZgQ-<*qUGEUuZslsAo76}LL=}fX=+YRK2vu_!3iu+bq88_~6K6d23g`7+NXELRGw=j@D~xdDR;< zSpN0LOT*?Y4Kwiy?nVFt`{lej7~*hC>vfK=u+_JN3zv-9agadwoS08RcK&%sH1PV6 z%ii8DEN!`?BSa!z%+aHV0XS@=QCjt-G4=C;tI$J~uAk^!t2A#)+^CG`?VgGcm8PJD z9h3cJL^kJWTc*5x8kyHj(HvdXR``B_E{4}Sw&@Ox#uCibFnTHl7##W;6`Dv`*DQd~ zzt1>$l zy`tr!xYPUpkWSf{f5Sj7i_}-tF$F}i2YMV^5W%qGTd++fR^~PAav?M(Rhe?D4Rhk4 zHzj$00OwBGN+>_2Zdq-K9wJl|`a_LPZF2iA1n!vKw0mMxPE?E?>|H7uedv-Kc3`Tc znERrYG3s7Oo#pO}({__iZ|+swhCx#{SD8=QiDe60DB8|K5d-C-&7B^FbZ;?Y&#M($ zNP_3Qd(pu4q<+gzfPGdS%Zu5$0B^FA6+DYRBgg%sZ>sR_zEnm;BJUd|H}5m9tk*8} zC_fdxX19`qisj~A-_rG9A@!WVvHZZlyfGzJ@APp@I_R9IsL!~3k_7ueI4AQLE3Wlc zsJ2%gb=#nVoiKlk3(I{VD^xFu?on>(6QJU35bBa=XfzR!b_H+p_jZ;uafnByQ$ZFzeFCn{3?&FTXjn(nbO86K)<>eWp)YTN2fr4;#I; zuOdnA*$U}^3y!5y|wZ%gt2Spw?1r~Xs#>Bj<$lV% zOegfQxuQPduw&@N;gU{38I`@@s_{4=;TOt_ihJyWm3kCn_5?TuUw8;s;?(fd+}bD} zSR!4{l&r*?O*VJ_ETm@WXJ(YsE6toKRI1fV8&wE&J`FACU3z^38-{PADv@nR2gSA@ zmNAJ_%^i$9yRo{v+qLC~{I@2mg%vs%mzhz6dhtl@;cB|QY#OF&{<%y6?i>x+MlAdP z!SMKxVdz<^A}37CtcJ<7rLtm5aC`Q=mo}}{tLCH*Xp`pAT@$~J5N)ar{YBC}t_#wB zlImumyV?Xsb{vY|>W4+UU`1DHZWeWT;5Z>iR$1piKQ~KW_7y9eTQawn-6dbFZFl6l zbHiG->gi2dKiqcWY@V}|IitB|q=-+-49|NU`Le1kvnM&LFB^Ro01Z@q<;)xF%I7xO z-d5{+!?gc)RT8;d;?ZPO9xPvV>Q>6_qvS=+D?%1Jfq3HKVUJlZOf-#h-B8Oh@*)wf zp>D75YFjB-bJh_xG>!EE+aSp_bLCUYHr>IiqVf!TnJ5J;iECG?hY&ZGs*@ zMqi^@Gv{UkUbjpVm1gT^CmIz%)EFjBH@8MGdxDJTl@dp%im_D4Ld4O|(=V?dX1LXQ zabx&hE=(>-5wdPx9=)X5(pRBtl-4Ni5NH~T-D9L7$ejA?u6*K(CD=bDz|dU%gf`t3 zQO3ZuZYsH%Fu(%jvnLp<87GR3j?-7JXvC@GpFR5k?!}!!NfITQtWVex=oEq$Qbdv_)@$k~&IuRwktnFF{qbwn&9`6Nb>Uc41%a?M zgG${LZ>@pdbjP58^&MamShIiV3+(fVYy{dbgx)RP)TyehuE7}!6jVYZ%RegiAp?{fle zrZ~A&f3U?pW+7v@D4I(fNcW2BgHx@`=twsqOz=~`E=0rvH0O&X{@H$A%i7trVZ2A_ z0-AHLX$VU&kiqv@&@*~q_hy|-?`nyJ1?Y7xt?`{TNyhP**=B8&I%%g8dVJT|pQ!OT)J~x!odB)G@6&^!F&Xx#i;#~kuQXG?@y9`0` z8jmoU@C*%0W|Oo=J$eg_#%Ba)iUY57W}7z`OL!oVThJ2as~-$ZUM^d+rqr!I^IFjX zWBVC5Xt}pViP5L?6Ps)lU5J|-On4|x5|JRH{|v!INPmIG^6cHduk;ZDTpT-w*`2b=}lq&|5&VzP9gpLxa=Pdj-IB)8~jZ0xqAXJQ<(_Q1Ei` z&6%0u5p%gQxx6o&7S&E2IIwkfqP;HDzf-DTa)fHDUASDWrJ7-OUX|n{3@uxM!@ zW_&@H(PqGBU3px^=npz&)a3oneUBfD$JMVB=SHsCO|dRb7o{ys+C!t{MTlnUx~#vf zb?xF@Q79BkjoXBvQfjTMxl;QQ$B)tPFSYPn%>=h~4pdKK4y21jI}=0Lw_^g0MZ1>0 zMaEQ9al_sGXftG#+bw$q{AO5i7R1BwHm9v<4_%_U+g77UVKY3f)!YDfnbb-^Sf=9X zzUTJMO~iU+Qp!wX1*0>fkuR76^az-TxMX^$BA58{Kh%H&A7|P+L|>&H(ZW!uzBj$C z!e7~-%Tr?&eZCc;mcswvsPxK}{4kIt`JFHVrJ!^ByWpEmM2C~*PgS#&h!5i+1eBY&9lSe`3@5A=D2})4dQ=Lbi7ELpiQ@aGf`O>dG~-{rIee z9&s}0(W>Ca(zF2gRl|+DEbGjMZCmj6<=#PJ)7>Vh$6hE6ad&nj>*K!(9`EXsj{E;E(NN#n zqq}mP(>xZHN;%~eYdXK62QEvGuyRNb#S zGVo+VAqX@L`QWZD3X+OWkpnnSEM~p>rxKihGE`|+4RwpLb$8_IQ< zXVLJ&lFU1%8B25DCl6kvrxKufD}x$0RaH-&sQW^h_|UfME3G87B~QCKWo*@@Dv{b_ zK&puaMu`OVV>T3LX9e_4RexXEelcc*rgptnyEP4o5c4fo4V&CB9gi5nAQvfLMDcsQ z^VG9qF&i0{BT;b8BYvnDRc3XEhGa-0g&L$J zwlZr`49qW!tK8Hd13py~UzBx+xJKWsC_4{hGpMNf*5q8{KjbHZJNA z^jbTY%}}r_Ptz%g(^#edwhcZ=ca_8*&Y? zl{cCt)2II&xO<)-uML|M;dle8ZJ`~f2E8$F(2}$CX@l``6R_kU5=z#}+)tXXCsrYe znIg9musw++6$%Z}mo$XJ_)Al|E9#NL$|hRc+nIxrC#2?vrCE*+;Lu*%7Pkduz6Aoz z=6?VG_kH4)EQP{&Cn9sBZ{MzDvB&+fAEV#BeS0nl=WFQ5$W%&MJ7#9;mhXj**J`Ir zR+6|Jyh86Q(e`S^+yNbNO|Dl=uOgcpW%Vze*S5RgyIE$L{fzW@ccMx4@;YnlkxA?5 zaW003$Fc~VWK36SZSMTIvt1ql$(QxQ$NOCkX3yfdDS|@b>U(Um*1NaC9boQ^vC3-J zexu%o-s!J9#DP10tv9j7EqX!0@7UK^!6&TF4s>Fljo2K6S5MV0n9Cm|0Q3e&Q!rA= znpX9Z$)8+E81nn+%5I`6XaO5-DT|>j8V0%P3hEr&E5R&YWX(0Rh&Q}B338(XS`fzLR;O0^i zd>Hn<8c&)sFK*C4k~U4@vH;Ce=+&!2e5nwaToqMrp`;65!)&i}-NFU5JrG-atd}08 zK?AM@KeF)*dP-jqQZ@nvt^QL%gXO>D3BQc`kD#^uZ_*#iOk;S?;n2L=z$7UxKT4FBS~l*jqV5r3fL zc?yV&`?|@ewX^2-Wh-^gXstuOJjO5YEOQBWd8of5@oLxDN$2purs%J=pL_ArjuQT~ z`pGQWzw#ySrGw631ydqhJG9;XUw&X4AwKL~`rM8aD$d$;T{udabsN{W56yK?!3~Mk z4%MMZK8T74XzxsGaW`k;61Y+_7WOR4s*$=FT3yC`ppYc2Lt3S*wviCb!H35qsum>>o?g+x^38-2Cux#N_m_E3sN z0tqF7xNdRLU5MqF$v(gd`g-)XXqjy=ke8ct%L6}x@&+Ke05ej2PWVuP&-WV7*Xz-^YdpaeNVp4 zS347URKFp(y4dzcf?Euw`K@p14Q!Q&zAE|}u&1=ZO9lazgiD9wRd%-AyvB^#t4>)o zn zTIh5Ujl*cs#>u;pQp2VJM{vf&6*oV2Nj_6aiBDkj?Gq;%?$-RYrP1murR10)yKlB$jpRoq* zU7O+1_k{A7X`)3)%S6uynj4a-7SL)p zY{A_GL;yC~rxz{!hK~Zb)WIvKeOgsCpI)x#cu%$6yq%wB#r)V&9!U5b6c7uI!s=B! zB1wDqDUsYUg#?XSz_9olF7?xcD{h2wDDc&ny!|Y+GD2sBK(aaW{CO3T&3Tvuj8CNjN6N2 zc^<8pBeum+YM(Y_a(^QMr^u1Bg5DHL?aMT55*qSP76$I$#wd9XhZgTn_04@GZH^3E znglJ&eDjmkh${UN9h6h?id^^6oQ?kIhlxNE{|n1N3fR(~3Up*`2 zijvce&z>hx^xV344M)^U?$&HBi@N=CsB!yR$aWt@D4j$@85l>8CgVft*s;SQ5ux&v zuRW5-qk1%jf{J!1qa-^6yn6Hp>aAVR%!xZca8VP7<010#C z&pr(kf!0j6UhAS}@7lX}z714Y-k-Mr2U6J$%r9TLNgk@iro>GrLVqrvwAd_Anl0%1 zNXlv{{r)9TfBC(>^h9tn+sIz+UU!XPOV+D_OXveoVLr~j@2jP1&!}hW_$mEMQ~cA} zyb|tYM@Csk%p{W)s+AS^SYU_@HzktNfMc>tk=jufPq`bxkAWgW)u9_gl_#s{wq6h} z>tG`AhC9kff1(D{|A5GBWz>?bPhM<^gF2Z}8KFMxG&N-#7Wf)HTQ?+ny{83(w0{iY zX}{%0@LVcF^bQm!$DPJOmJ9`JZ{7m9kmpTCW4yrK5Wa+krveuUd*Pv0edJrHe_c_J+3K;Y0fGo2K7-^3KpC?_WFK2zB=YrOQX#|1ZRY}N$ zsjg3wbQaq1zOBrX2Esqh)oYCB=NAGx(#X}&Tlw5RR8wig^q~--1elwg97Q}g_Zmel z?@kHWkas)hZA1u-uXWbPdM8_271IRIjYHLUr-uPBp=?(Ras7yfm^#HYOSK& z`wvMb^~2LMmRw~tZiUa+5rruoQg&l_>o4?H(nG{Q-Ana{or#-gdml%+`dImrvbG{( z7p&tb<2KF1iyEl$<3+|T(cr$3H{GD2`gSx^hn7h3?N z-7f#2g>parXHTO6Xp+A#C2Zuc{Zdc36GglYx@H|9PCaBM{&in*V!%HPSi-P^+!JO5 zI@rugFRTlbeLpC5i#EQCqt8&7BKWgRe%EPME#GG`?dVxT9A|p(!G9fnHgQW#ss8N_Q1c&3xd57=V@14Ul( z;Oq|aNiyHKuw+(mm2ptbABVYXT46HV*GPgdjvGBFxMN#vS0!oI8@L~%w_{iUf@6pe z!J}wU#&NgP={AWH8DsoS@;|-{eIIF4Xopg5(CA$r`Op>xj-ym(=xp)QE=7Xv{$V{4qbf+kT65`SQT( z!ZyvE*xJEVow#eKj@8VD4<6E)84uEj`&>;30OfqZbRZDZHBUS=J|IdC=Y78387%)% z9dc1B&9C;GL0lCl^(lD;dekR|9TQ7r*scadjrLb$X}myZdUYo;Torx0UU9+a&q+K6 zK4o6kXer21DjvD?6l{8}e?ow4KMQBv`LY4j_lk?k1Ir+oK{PaH?B{SH*qzj};=~S$xWpk*YrTFKJ~fRkm`kA6J*@ z(N}Xe3Y2Hsg` zd_4%nK)XGK!B0X5uzJQ&ykzsh$u(ATY$O1^q0w5^ggB79gS0qa&ySdKa40%KHcB;6 zSuzO;!>CpsnY9ilN0f=q%y4Dq;hn8qwyJ1qlNKKx4x-X>n%%9B&MK?4XR z6VrUXNWt|*BRA29)zaX!+%fR}Xm1 zh)0bC`jGnm?+!;tk`SQRu6~VKx=N|OR5wj=Uc%_QBZ4r2r{vhfwQ+~O1RC?#%j#l_ zFq%tNZ*=in4T>4nmTeIZUgv8d7i+Y-Eo94Z+TEXj|F2#QO7z`i_A{c#-IYcf6OTsE zROZjR+n1d=Z%+j1JTn zd+6vm8?`#Qp7VM|4Fn(8W8II^OkLUcMnV0%8i zr-c?L`(fwaopm_}=js0UIS}xkC!hfcsZ1Uc`D4(y%EXaKXp!_}&7Sgy>)}~Pk7k*v z0R*+iSy#a$v~R zeX^24%(kxlnZBzNfrHfi>tqOoyp%v43|w(75S}?G)apg?N;OE`O0+b$p?Yc&Fa4;>M((f(+qN5a0fa6{?2lCvuLHUtJ~ zs?$>|(7(8KG&DIi>SSt=D-4F6OKZ8(PI2i%r5OSRluhu66AmjYKYItpG80XMn@&o9 zR`GQZ{5deuBqL;2oG;ZZDUr_&L2EFS#)4iOjE8~wMjVvio6QBl+}v)l0*m+ix|BR6 zq7j@*t-zf3jCOGVB%GV-9-qnRuVe{8>Sv@<-AIjL3V*mP=gMK7dWVl_LqBz>zeAM?E0)b*m z(-tW@b|C-yqZl(%hEkVNw2uUR%ev%$PwfoW32O$$RZzsii+!`7Q&yF){S3^1cz<&M zQOa^}ud$yq9;5$y=a4dqMi8Wo()uUXucO%AZcab&9@l#!UG*^*LMtD{)wQJ!^~{{|qje>0#VA_7t-GV0Vt=7IO_^w2S|1KGCn=&7 zIiMqlKFliD13Y7lJK7x7ntg0O;-~v1`zg0pU=VC&Sr_guH7d{#*$<^ee(Eg@iS`F% zHA>;eTJ<4O1GTx+rl($J0Z@RWFJ@}K3xQP1SdkK<1Xw00W+4cO!<}9e@|b5YYCH+E zFWSfJrGrx^O4gG#;Z|M={+0UQpTC}7#2Ib8d!Ua7GQO-kqNNQmX*UEU0pJe@7AE4U zwf@t!j*X40k61-dQ|KSSc*Zpj9>=l0*@|=`jumLC5r}r@uU|vj7K7zem7BeOK_t37 zhCmC^0leiNW{O-pQ_NwEDVnA>L($P+o!;NhiVSBkC^Ts;Yr+#e1qvfIbcC$AnegCRn?NkwemQ9q{hZ80)DRKKV55>n@+ zrF_6xec$!x3-5M?t7hpcw?AKqOMFRL_1?t$qmqSty(Mj6DiAf?M7yNXV2p=OfuA`f zBa>sjholVH6rcqddf`ip%Fh>sbg|fg9}8rHx@*{h-8b_G>|28~r~`VU8QhR8o~FUQ zVm$X6d{aD^e%QJ#Rz-f)Y+bL?@#<8df815HKiz1(<-p~CrfcD+F|np^Vcxs=+ty|2{Ww#AoH6&% zo#cyzwgikJ)APFGIg@CG*hvi-ht@)l>k0=EIZLZ=Unl@u0cII6x44LJA^Z!4lKC?+ z9iBtCzQH?K4wgx1B&ErK=cc(pgvCHGS8NR*-4R`eCMk0^@ZhL4ck!fIkTYX0{Nqgm zXA54u6v#2s$LYCGvvG4HO>^;rGg?keO=~o~A8voFukYHJ1yE)-pw)>!Y}+;oIY8agmiMNa9*?C0;5E;h zHZt=0bU-%>p5aW6&N2xd_SY96bo}-0C)BUNVo1v5@6@~jh<6gp=2vF&@wdr}H$BYT z{4PCWcnu{5WIqkMf5GmJVYAB1Ad)%YW&d!Hr;EKvkJ70OOUUK-T=0;^+mHL5gr0C3 zEfR5KgQKbmo0CAPN#e)o^I~h<*%Y~*smuj4Wl)?JMmXI8iCS${OeonAC~;6QHNP2d z87I7@!9)1R!d8j3ifO>Ls+-yplcA1kmC*3XzXVu6ap`AXI@6oLTU$`DRye7g8L|tZ zpEjfb+C53hi6{uQV+PGfmYNmYK&cfMz2Hn@A#As71>D9s->gk`+WGpOc2;8bao>Iw z+|m*+q}t6T$4O})h=stm(t^*S)}vJOojv*?LbHPePzF;5I;L%%b*y%a&;$ig1fR%r z&(EdrJEy-Frq5agd~+-oM}-f|I^f1|NcM`aXW8ji6?K547g`8XK4#|3K%L?MWfbCz zu0Te^JT~LavfwTq1(Ui=feqFWFM%nOSdLj|`ofd%rjvvjgu(Vy^JZUHZQ6_h6WNlg9F`pn0bGzs>?3HLw0ZOK&|M5DU zPKimPl{Zeo*d(cX7TUPF^a~>+90YH4G8YBWFps2b{&?jK$gEYWx3(D1 z!<21adU``7ytCf#r&HikiojIc~8C+D%CNYW3!UMh+0Xdsi zJa%p$1_QS`eLF%c*M|;d-cycTNT3ng2n@+=H5Bb2YKy3*W@TT9jMnMqPRxN}#5li# ze0*p1fWUan)K^A~Y4FG;5kt>L0VD19O>3u&F_-A{u@MHIcSe0TnJmI^0V)0=rO?PJ0vAVOUPhak5s4~M34*5kF z25O02RuL8fQ>{_BoGq=8f#?NIsMkGNodk7Ylh7DoD8 zzPfI@YFNx}*sLL!U@enFT-YvoYpfdnBm?&Bf@OHevw%+U zNRBWjHA7s0U^svMzgEe2yb+DSJl{eE#<^>v`hffK8eg-Ib!p$35ZH= z5}7G;Zk%*q^70w$Uk`XiORbbdlm;NByg~_?BxhNeLBCc$A7><$B}~vTOe5~&dmARs zotTzJbPr_fT)?GJloLIi(i>qk;>rz=9}hSpoIKo}ii>mnOkQ42-`w&=W1Po!xvcF- zEnhzAm-46a){EHM_yRk8D~DsL$RUfV1i!Yw-s%fDz8_C7(k|$ygu(YpZpJvgCa5gz z5rLK^>vQvTkX<$?3u_0KNH*~diAHfFDBFo!mU)+qkEVP3!7wP3Uf{|L*1y4G*7)n! zqpZcO4g-UdfaDhx0NmOOot^!(ktSw_&U!;}Nr}%A5Eb1#&YUEYt0*XFT+&5E=|j=< z9|0W|t=$~l^XX$>=y>)o!GlGDE;{5K{rqWO_{J-W&Yzw!e;C)M$@9{JN@+AeU~GqY z5Kiw*B<7HqHp9|Xm#W1QE}fP?(CUxm4>Si|42@W%F=%{!XE;1D$fP_A?m$ZdjhZhO z$MvEw3*)8HHSKT#$bZ+I%5UrFk#v%-aEB0KAZqEQbl_q|krJE>MX7oAwZ0-PRqgo|BCn>&`IF=Y?=7?)5<=Q#D7yDqGNhr5l|ces8J$>Q}~C`goaq;?B(t0HPdZ@otlM-AqfX#@VUglq#y zWsHU;X<;Tgvt)_3&m3ev^ZX7iX$`k*O%m?D+_2dep;STdlq9yCR!B#D=dR@7LJ z85N`5m3X>xbXYH-LD6v6GPDl}URyDKQhVzb^W8M3^|hoU-b4nq-D5+^lon2;PL zp(ocvSOQQmHb;Zou95p}Tj@NO8%~3BV^2n9QToa)l4ofo^B7W2=o7O2Zy7hzS9+Qa zUv#>;B0uVSJW_+F zhC<5xXSd1N+X}5uO%?u&Sz?xr+3NE3!%pTXIOg(K;@F{1e<)9X;eFV@x8p{La*u76dWsCAC0 z;3<~x07XE$zic`7(5?15A?1C^k-R-y@)9btnLDSgvH^s3d$6>z1M4mtq?T|Iz2YM3 zA?o4=EdIQF9Ci+?4{lBwn@bE6?KU%Y0AxOc_BM={1iR09FGv=mecTfslJU`zg93YT zOo1Jo@g$P+4GQO+;4Q?&^kJcoTaNzub94*cZc~hIGLFQb;6R~&lI|MOw~CDqzYY(N zjCe>+aKWO9$K$o$5FXMp@zCQ4CIsQ>3o`==r}2dIkaDmk(QT?&E&SMTv9|S&6XJknCMcy%W2@rdP%wEgdul!cz zeevkyGTT7sO3FwDl~dss9`+PIA%681n@s6mWE&6(nC5c8(lsyV9gs(PP7hc92rczs z1*EYX;^fJiOiBZui#@5-C{m?XGQ-G^>`gnqI*TpO>_G@HJQ>KO2~5KWF-$y0DAG#q zt@IR34uMfZFui753z0sPh|B0G^vM_P~}qobEq zrQ0l5Oo}5#*R0Y-wylJR92l8TH7-l~!I80%rumsuY;$h{jKzA1WRep%|$Mtgz z>Xr+=pZTauYs&7%qXV9JSn}5Q%GN$Inb@Zcg!Jn~;z5y>%z8 z^3vmGU7;TFwL<%I6im0bLCFC%Q-^5POQUw?oOW(4%3o!?IS^&_RtF+&ldlJfLJ~Uf zM+45QzIfJS^;%d8uD;1{8XM`_dH&`30P?~}5KCuNoE&~*P6xuc7wzHzhfi8dI^1I1 zK?i^(IYS9uox^YP70QEYqMHOIy;UmhPlW)g916w1eH_QvJjhlsxs zzRRIMb@u&1a;aLGnikCh(OuI)>sTNZU)6T+O%J?}F;*Owza|+_T<_`~#Wq-@lQQe; zoozSdrLkLV(vK&*9zm(eQ8rS$3sVd2QGM&{l&w>T>}7wI?C(l~^;=Qa)VPBkGn3IpP+HR#54sm{HY` z+mRkD9%1=qq|fB0SeqliDuv(YXIAV~ZgKgK%|}d^D44=pDbsI+P4mHNj^!aETG1E; z%18w+gU}@LiOGOh`t`J+uUxQjskjx;D#*6=jSCkq50sTIXTH*TAUTuoOfr{&8gQp5 z(IZ+dDQS+uxbwB$YU{MpYSgV6Js%ppFk+MQ@*7}oqcGrMU7Tw&lSwJMSnWmIIA)e^ zM6u4dyCpc1LsKr^Z`u`$#G4rQPG{dIe`MWotu39|N|QZdx{AG7JZ#+T$Dj;p*7UX{56pUxSdX5*+lmX{xiD172Y)8r^qOtsfs`JakDoOQx94|Zfum+8Ls zezZtV@&Kz_v2H}f%*thGFWQJGGO015Xk}l@lu>S0J&{A?_VALZ`AGj98-GQO?`Ion zey1g>LZ#y|HU7rnV|vAv3w8~GK4I%wfbk`UB}`S4+3I45lSh*7q z+hO`l8Q2kJcgc&M^(|;weL5bf!FXvPPq_skm5O+LD_)Dkv9d#P0VRZg1LnA0ds|x@ z9@udrnhD%^KuibLb#T>`9o55XyXu1r3*6Q%0o~}MTRq8ti@^1h*ru{v4Dn@&i)wLO z{w41mvtC!Fhm;x_C*nwI(|N*U>hvW_IEolaZFrT!HA2U&7A(LOnqvi2eC;=E(YKM^1`El#k zQ}QEbC`U9$-j_)}w5QbIh2(D4+Jr@t1`hn$ssHzl@?M0Sl7Qxy%a@DVJVYcuZt+M* zTgMhni6_ZJ)FzV0xF>J;a#d{z1%Moi#u59?PRq~TzJGU00Y8ZnP-B1t17 zR+L{Za&t*>4R9ORsqnewx*$Ff1j%AY>`r=>#l14Jah6z<{Y3dmuGV3S_LkZwNdFL4 zgH)oe?3}!rpC6S)$#jo=`r1deGnOa~Z%=e`N^B385_1APJ3fuNIMJ8rg!Roe5xQJDC_U?_s{tY_J-Nuwi)+f zWY`BH3AvFA+bwfZXCvY)F-@=*oP4jXFR69SX!cT+vC}QbE^8!5_)9F^g)w0jJz=Z- zj9E~}LB=d`lqDe%*8d7mP6ZWuc1||eUZutZKJf0wtU>8^+)9T=@YB7`DX_^3FP)i+ z-l}ZOlBq&7M@<==uP0j=kQyv*To%6Pj9eXS-qE8CZ7~IF59R2j!o&fVtm}T)n)zyOF+NOMiR^UwBUR5fNa=fSkCVa9152N(|@>YDi4> zO%JI&l0c6qkRajwR%$ zO>Wq5=AjE(0Ms-6Kt3n-O}y}A4gOiWEJ6fSvzK+T!b$J6YU+fqO93Djd_VvMQB)SN#!#r_D+d_kI&~iIvSZzS(4M_ivYX2bq40%5HH_M* z$^tksg4Srrsj8}+r(w65Ms@aBOk-Q2Zcf*zcyvzRM4MRH#VQd_I0ORy@W$NX!*e$t z0v3rCeE9YlhRre!e~<-Idp>cWJ{Hro9peUl!p4jv$vgDAsPKfCX;7=1yl zVD}F<8`K3jl<0sMOc_Wlt(rF{w;X`k) zw9awDr~6u`W$5Pfn!R+azh&bYS84v0w}D z2dB>*Lf_-4s)9MGaRN8iK=~Q5i-NDXC$tjK?G_&6p5gi(t6M!~9vq3pNGo2^m%7E? z>R~VSM}-qMjC$2P@HQ!V(6)!=L`dX!M$6Ch;}dq}`uZ|%M!hK|!({mL?*qB+E}bdi z2o%QKl~6Wb!?$t?jpGD+s%ZDfJc>-pKeI__E~mGcjsvS!7Y zusJ3)F4{W)=5srbLX5AK{q_nHnrrs;8QkXe^_70lKB#Ib&#-wSRLkR?ylTBoRU3f< z>157=O}yQ)t+ZSJghcUYG!J_kE8*RpAE}H2p%*%;JcBuLsRFkF{z1=w6aoc*p%r%r z2~2&v#X&v7qc#&8uiKzycKF>vbrF;+Rr+85ANEn+GiKgDpXB0|8&bDimk2NgQpNxn ze+{HkULf-<_n7Ne(RYR1SE3so6@q`V?lR(FK?xt_cBx0HJUI&wlgc!1SUaIVy9165W~)bEVdWK?t&E>anro9=REA^l2S{WD}o3I-yMc) zHONyJ~x~)-!6B6-+T3?r`y=Z8V zO!akq*TxVy`3(ue*5q20roz;H@kvO+I>w7{OMSbH3d~_IE!AtI^LSQqFvJ4Fa>~ws zOhb@g;DiViL=ZM;Cg{79Q>AfzaNnr%J(?J}els|}5TWs2c#c!wp<}+N)i_mc5wZ7W zemAhVwjT7ER#jTZI`nqNuM6Z`ZRtLRzY~Bz(+$xG;BXs#^j`+y`4DGI214ERq58vL z3MK1bq-Q<%Noag7-KE5Z^8Qv1UNPj8x-bbMdy|$ohJ$T}bI>`+59*tyv-HtI;PvcI zo|H+!6L5#jX?qG?N~|F25cWDvxT>YndE_OD#dU_~)dm2+`bXvj&Hq-`fuRDm3+B=R zYXWOLZz&qidpsRa@kdJ6rJ;C3PHHnP%c>iy@9_{QpEUqGU2?+IsT<#j` zWPWZHu#qxyaxzb1yEcMbmQ;b((h5=-535UK%USd1ii`NKG-F+nKC~31jRuTxdElq! zfocYDIvNB=U9Vcu=-9|45-b$pGVH3D>%Bu-UOz|o_*Q1(?DprNv9bjF7brsO;7Mik{3{fR zIjt7%It@V#4hzHeobL+%ymqLi)X+54QbM;#AlG{5(X)B%eE)bGzOJ0squW0&_+)V&)k&ZlVcwHls)yDF-7GhRwz{SlA71SeGBHRa#K0Baw`(tc>suBaw4;>+a^8 zyE`uH>D?LzyZSD4ir1++>Pr?$R3{gKHkcZf%5688(jxLY?;7mlzHc#ftUNg=wW9_cFMZljE zbDsz__PRp@cT8%1DH*Z(;yfsZo>_26cjDdiSBqYf{YXrVEem$b+i-;W#F0P&cizO% zpK!&@xt&$|OSqT7p*}I|w}A1)Ov}EhX5s`eaEZ{)j+Yxf)L-k2@t+|J2|508##_3& z!N#qw`E-OWV_Xf@2|(3x@m;c#;6p)5w6Ac@P+@O;9(k#3PTuN~dk;p2^C~m5M$q`n zcuap(cA~Vz<#{E6V7!wZG^fW|(pzO%7JafdOZ-X&%c+Es63hSqUL!oo zoyiE#N#9>D?yfR3EkLnsvow~=`(VoKP~trS=1V3$E-C5F)tp#%Osa^*X0dPC3!RHX zM_t~ojTX`?0`iOI*n&`bxX?+CZmCva=4&l}Q;fxA(Craq{Q}ryRkxQe+Goa>C*2@1 zPKy2YtuRm_^Z*E<&aZ-pNR{oVT}WoI5}prRv|7S=%N^py1zaw|Ad%pJy(^+zUlueI zVwk2+cCQ-$f{KzOyRP=Jh{bjxf^5tLEYx^B>>5N9cu7tIEk+Z9>}4!3iCk@h-qU2X zP+3&RXfPER%PaAAh7A(j2^#CyZFwKZ=7^+l2SZ#n&oRS1XbWI3xcA+g0SYCJwuqw z0lq`Ao}SV699L>VoU*kH+D~c2?VpULl4)!(2N*|mV?75{qY12aHJv=!gz<&?Cryez zBL$AD4emjwM2Hrm!{oMw5TYsQZG$4moADV~ArKBN>X*)(VZKrxm8ycdnP08+k$ovU z%{w*|#qZFcvM7#@Z#veL{Bc8G{rSh0?Wy~%+qLPfK|PLo`5I5}2V%+zg=B<&_{zoG z+xxbS*Y0R~mu@dgewfFq#iV*u=qyTtrb;6+#jV5h5NQkH|5|=uqI+Yzj2>NY2bN+| zI`nor>!afKKV?4&bXr~3xZl;F-)GgTO=}M778E9qdU~I6vmfOp!&O69Tv^`QyJd6r zwuU!pcB145xvW~3WbX(X6cL|PsTNk|tWnHEjvORy1jLMMz-bKKceKX81rj6k=C3;s z&G^iV$q6NS%SRurI6yTzd2uPUsH}YAjI2)G=RN(j#_Yx2Le_!BUR?gEQ~5Yu2LkK$ zs$H5td%U1>SNXN_(p!Hm?71sf4;Z9z*(qK!)%f52$1TXr8%s-|6fkEriA>VG?j}$9 zvQtpJWbNProyDFlZL$@B1;;-3xZU%Bhi>e68_H36S>?2j0Ak@B;)!{tLlRM%2%FBw z`auBC8Ivgpn2$os>qKBYV3LUJnZef>v$3-91?j*3H=fA{k-H^kBBfc07Lyf?`#!dk z+0dv*UEEZC>R@OSr8JmDa98lcwx9A-gh3Sj zPVeG{tq5mo-YMS6?BXV>ie#Ap47xQ7xHPSQA2fbzEiy~0qEPxGWkKaZ_zYE#=I?FR%$ z`X}qka2xh9=8he`O2Zg!>S6}k_RZB{TkkUOvE@H&OK|}lr?Mf8h(Ik~SvfcNDxH>Z zFz|tqX~j*_Y~(%l-@5#^wC$?DrIPl(DCsw6sl2~mtKY|&#{^g9*rTM=E-w3x3XBeL z&D$R6Yov?=pRNn;BM+?e`1rwNT?Rnl`2+5kl8tc#i*K597G11%OOC*4UDHDqD;=6k zHr5L*?Jp-&qRZ%eR;uAfBX9-Argcvy;pJx@^m>V@b@JeJlB#%ROq4E)sCM3S+)ZZh z(Vsvs(E-}a6UbJ? zi)t=*-PZ9{NTKsE!OCsNmDboQGZLu0htOgNbTfdX+Q}&4&m=}8vBXe=XnIucAv-Yc~5wEt#<(A_qRo#V9!r3PQ(T_+p zvDb$fg~Kxb)%*&vb!|;U&7}tCp>S;~S<9`fi_$p`0m5Iqo$}%pN)cPc^YgkcIkeX% z^WiLVfJnG$--9^Gg`n?Y!p+vm-x-%%zfK;QZnOS8jze;IOttTF`ARb4c4HV6{^UM* z%?bRR?$#0HN*;nEb>pN5w>oZFlNOzreHv`^dcxDLwCP@1JD#@Wv3j)Xvlr8etTDh~ zH+qA1FPfNN=bV$U$_{&w&l^1_REHp7O4+=1b4=r+>{F zJz}v137f{^?qY}leL_mwIf;h)#KP2$@ky@pJwsMfjkzVxOw~oop1wSB86Z#E4XT z@RsOP5gsq4QI%Q#rAz&e71cMl|C^R(y%bQy;I z=SraX>8v=nGuK(Qwce=wMqWCe%!=cD?vBcuIAC&p;8EwnXh!KY)$5|VY9g~bYoanc zYopFCEbk`%)_U7iNk+F+dH6k@OPRtu!fW|{B~$mW6rG`^P9mMg|(`OwEA(}UJ(8eEa{%8cMe z%`O7PK5(|??Uy0VT|B4)+wy5mxdFml#Mz~8&TD!I`8A0Vy9 z_LYqv+(tyYkaA?dME-0IVQF zq6on(SOc)SW|R7tuYcQIk^a?H%$GdpFj7aqHr3b^DfUK#a1 z1%xQI+DKBV)IxZTwM^89h-xhu@a^wm+Hf4=b(#WY-J3M zntBML_NYog>eV&+tKxaMLl*~)Q9x2sae`0zr?5OP9ponQ9Z5$f0xfVrUsEr;ZEmLZ zzu3Y9W2TT=H9Pe@c?1a<8hSkmdIs)AmE+0`hl$i@S+5i(+8GNE>~;xS&2k6 z&H+5_A3=)xrPCLtkWR;}m6~bAM3wdqP9%TAHz4izE`}h|E6c!V97&vKp~gD3BR}D| zq)>H7mlts>H9RPj8PD3TEl9gcM4ub4xZqVWCTHxs&b}jAxdIp?eZ+&1i3cr|bE6eJ zNt(*JjbP4uHo}2$*i)qYnsq_zoNa9ui${ZSJP_@f-1>9)PibQ?0?M|6b-x(+1)Y?f zW*)*dZzB(^lAMws+SM-aZ(W6Kt~@AzN$b^?E6^ZY6htkSvC|S{q45O2aUJTNyWuGr z%RE(3ad~f1UNkvN9Gem&2`a(A@g-jV=Jt;wRv&hR94als=IV3Vc`+hRq#?sJ#t86S zRV2}$%8OgA%)m{3f!~o&zJGE8J(=}OEs+NbiN829N#(8n-Yby^$|$iNS!8W!ucpP2 zh@1sXVW7MuRhd+mt_t>)L-!~K4+Os2<%%7S9VZ}2CqF1Ij&~sytX# zm#$Hiq{;({!UaqYDMn3;hhD2bhQhpsaK+vjh3_!~%tE-2YOpH34hR`f@__ApPq7XR z6fA=70*d{S?l8&Uu&>Iw0?@tlh%6j+?umfI=!E>h!V0uVbN&)Fz23yK*~(I-)#@mv zhx7G~E2PjyyG+L)KSpRHeo7bg^1U$+^^}&D0vrpJw4o4iDNiEJElS7|{c#Wtn*zy$ zH^+50mDecSgrdLqtL*>omLX6;f$9i88pDAxlnMZ(CKMSbj&n1u*@uQ$EbBR0gBN_i za~iADLC8Zzc5udg%(^8Mn6m^kxHlhvlwT@%L+j=^&k8)FB8(p!Cn86|wejcDAqU;U zqr?!T=T`OWv#H>7z$QF4L@jNekHMRviw=Qwu5_My=y5gvw<2x#jIX>(>)h;pU;HRu z4!v#dCsv@do11eI-U8dSM)y7v4}B_g)>g?C(}x2VBCw{Q%=c~lx3{eZ@BI9z)fV)r zId5^Oxu?3(`Fp{XZ>*3Z3_K2^e_eM6zd&IQ@FQW2#Ob+N*I9jO!J?GJd?V6w@6ufM z2J(rQNelv%U*DODS1a4gBJGim|J+X8o`Nu!e3$2^Ij1=2*1ZZY#d&6sq__z0ZtVVZ z%b@`1Vwk_qejRWsHAN!<@&$7W%XUuQIX=*1$>iv>QAgDw>wv?W#}9!x{`}C2k$JN= zCaTH|y)81ceo_0D%K(8}^kLz-mYD0%z9}`;ALHZM>0euyk$Uf6X&&!%s^#-yDBrCf z8c(E+J?KL(`pMv&4DAlE8BjDo3=cWxRLd*^?lAzOuhp#56oxs`%_8+?z2M1E?yRO= zQ@i!sAJm+GC?7C(H2ZVUN(XadwV7^Fw|nXA{04o^3?sonr2X>u?#Yj!@t+x(RoTJ& z6TPNhzMN7k7=bS~_a_Pxq?eExi;EG+OK7L}E$!b%_;Z0ZlUV+=-j-PWd00{RGlh;?}k=%CeTjT3gH8S}klO z-cE{TlvhYs2G32%Ul`E}R@0~Cc;<7H^_E#ihG;W_N+Zn02X1Gb;|^{|d`gISN$vPb6iA3F7=ul4nrMeB6Y z*XQm7VkWpe4VXpfU+eMFaM3VIbb24aSPZAFLbS5=tS(aa?fUf!E=9uP#EzhpbuBPY zQ$oYO7;OpS+ttUSoS^aIlk6G?U3Qcf-(;O&w|~pSomd(FQ2*eZ;`*Cg4Ht~+R_;U7 zG*1wbjFGjFzxOaEddCv@3C?)J?>!L=pYD~CkOjz=7SenIVc z)*kS@Lr_avssNX67ObD=zEWqrym-PZ&h#5;d>goL@yeXy@sc>Kw{M&maZ0mb1Dq7= z{6`er;eHH;iOH33AW#bDI1sRT4|Q>Z>!P*U!U)Xz*6@&^wfdQ-jg6m~)r>vHwx1K5 zRNTV1ZZdGK61l%&K^-sQMq3SCD{x-6wMMlUo5U!}^Zmj<$*ePHX94rG_1O*t>`^JS z0mH<^inR_zOl>sxm`6LmKR7YhThXi3RMB&PllwK#Z)ue{h&rb({Q!uxKDj+GFHFA&Z ze4l{Gq>7VX%s=>geYaciqQHSuR|i%1y&m=(u>|Z?eHwv{KTOxa_W2G~&0f2}jLm%* zObOC9Xt+4r4eny%jmM5f+OPs{yf1`J0nyn(g$@MlHp=4b`?ixdO=}c9>CAOGjc+w6 zKXIuEBgQZ>Id!8!F3N3K0v4%h$g1*YXU0)~8k4uWS8wtDXRScS>lk&cJHrXdZxaa*E0_iv+lS{OF)}dP)V5I@OJP>2nDX zo-+~l_juI0*DOc3Ae~K1WW1WNb{8dL?XhpZgMSCsd;;M7t=eohrFscoVM9kddRA<> z4j_DA^}`RQ{cYf{w?(O1QEZ&*yN*Z1H?2wk-`wgXYdgN!d(4dHe{W=Gps5=uM& zs6F0!cNRdrQoq~f{&Bh)TmuqoOE7yfbaw4920bEo4KRPiPTm)k1NFRe4X;G*ZrTQe zN?$c1TWqgUorX6^!WMtQ*YhxV8~87K$A$rMu#mwxJ~l?O zz78iaDhNkh@=@Di*Caawo@j|?6aYm+*ZilMLlU}{gtskV88Cs}0V(j0gL#x&Xv&e1 z_7lIvR_c`sNHU&qLy8%+cu}=b!lm%&IhqnaCVFS#fUS=zl`Ct>yo4vk6u-(>U!;CX z`L&M0P-kEF5JOLUV)5e6%$A9xs$tc)^R`aO$RP00^a`i@enBS=l`jHG+2!qwpKr36 z_39rYrwrQMtQsmXcLJxux%04r>yAqrqfbnDi~EUbF~ChKf6IV++?TO?nIM~O&1Fiu zAuLZP_NZDiPKs>~!Vd=GI;gac+@dN+$6(;}cwKYSwj*XlT$m930rI*Pqr^r@f}Kcr z^X**{tEvE!Nela;kw3UMBNfPkRf#U~HFq`1uFg_FH~ZEXkPoipFdUIOy)&u5ZW94; zCOIbOR&{W&9kirDMstu9n~WP(V>?NGyCGbU7_L=z!W*>ZeW-*1VuHU9nR+_S&CWS_ z9^4@yQrXnl*Ur9^?vvj9smcmYKq-kZ-jI@VOCAy`-Pzor;FIKC~AnIxkg#JEFRE_du zH#B0&q+aZPUhF6-dB+q%QNXQ_XSDMmyplN_Y;5q}yR-|V~XBWrhISFaFAU8k6$!ku*yc^EJSGK*T z=KmJrv-}|W)j{&|Q29k__J?rgrdiT*(u&d(@*R>&7U2?b7&pUyR-wDvz_&Qyw99Xw zKbNE0@4L&_{_7xztJ>$S{4*m;MhQDpY&H;4L4auz-G8eDr11qq-w*6&e^fA8@^>Br z!b$u0v@3qp9<*DRuxmmcu?6CjG|@3k`KVi=D)YuWFKW~JOaVbnFj(b%KK&4}xuml7 zF64CBx^)%E!*m~Njk3gPT8+5sHpJ|qDdP~aq;(PO9%T5M_-^B_`~<+cm8-v=e?OG8 z*~-cl?h1o^ZZvONyYo0m+b^TgXw@OB-2?`GgGoNA*A^e%{NH5$Z)T`L)kW06IxI=<98b%6lU} zd;iB+CHAF5u!l=cJK>D$!T?2$D0_BP5;hA=VVhZf#%kkFlZ?@=RQAxazhDq`AhEds zgq7{P%O6U_+S`NmGG>G^_TNOB>Eo_1pG_M4=u(X_vqNHs79c<)55!(1c}OC*V*}wO z8{dE%PE)z|3zSu&W$!s?u>Xg-9gr~?|U0uB@mjb^C5Ev3=!e?GFI*zjmb|Q4D zyu~u@3=`&LVB1jIu!OhXiT)16P)2N6vDfmM}z$}e0Zi01L{OR))P zfu4}63BO`^8d`|I>r7G-zM8sey-&v|J?^%A((R=D$5wrax+(Cr*S?+LTU!C?AKFm% zThH_E@opW=^W-w@Hdz;)ORAL#zf~Aa6PkSkl2;ipB!Ak2QaYfg45d#1{WD2wx+u<) zA5zwZN{xUE@R2E}ozxcj?YE|}u?71ENSjIfgV}DJQ@1F~XP8Usa0{iV?=qWQpO2;v zZ%*CsfgO2a=)0Qsufd);lqckn+HkfGu_YUS*8xkbMMbG+PZ-5pIx5W9xDWu(4{*Ae z;MPsxlNSsOfn>me1GePI-i?ZjASVHTm#mzJl7?24ui?0DtQoTo zs!1+h#mj{W!Mq+g-|#}8Zy>e5meHZgrj4= z8?!cubAI>-pzZ=nX>G6<7U{7Tqq%Fdj{ zJ6-jjMV`da96|v>(2xaDnTc#7lvUN*e}?e2EZ#%xDgF@TCuW;Nd)!MzhF#ilBPbjN zUh&S~9u>OfdG`);J-nG1Jyp5fYHt>9{t)nNR%I0Sb;+PHh2|qcnGMo#QJl8w2aXxPeRIhTR9(X3!3R|_iCoR%=rf{e*YNuQ9J2MWPNq6ar z4!pI1Hcme~o3T7?Cn}71MA!X4BthWHg7F$S4~b?XA~449yUJQg`8$lGAYb32RT5)I zYp5d03mRD>Vh_R)3Wq#$U)jJeROYo@y{cnAjje|rbW=m_5v zdRhre4peW9JI6TY%}C1-uZa$T%TOO)MRQaN5+_TXK*8h&?#~4G3<`vF_JKn4B}QuG zWJA+`gV)!p1{Mu(u^pqXhCoacn)1(OF^k+Q143^xvVp zbL#KqOr9Ywh(R))QuiPaAe%G_qZz4~f;t^%wO@@YTXY1Mi1bq`U5>vt73?g58&5gA zGXtii)TcZ5eX>j{;)dPC|}Y;umdv*NnW%@a{bJ%bE9HM1yc^v49`?q&f!})o1m8}dVgcOqEpVx4TXOF@ru2`4y|3%+mhgT=W*RK8 z6(O@ep%JM|2AZRqIayLNy6|@Ka`{9v@5Cqi3d8uB4@&O^R@KgztCSwA@*G zejM6|)v@YSADEAE&J1%pcDX={?om(r#j7lDc9prji1zFK94xnCq5@^uO7aSZC05 zUNoyxd;YU#6dH<5$q{+ee{cxV;hLJs1^_YMsC=+b2Myj7GTY!a-XaVP@^r~n;5w-WnAY*kzmT$khfH&2ouL;on2i6_id@}sdR_6ReKn5@%}+F;L77DhvpWU# zR~PA$Lq(#_o)&Wd<$LE~$tH=!EFUNI+jRfk>=llRTR6cNap8$|?)VBVD91|dUAvex z4XE1lnX>E3xizcj@L_rUw+d)z`dP94nYb?R{>wC-2Wlp;wi=T(-|~XCVfGxN_6vh? z%O@zB3xze{mlYEogz~r)a~g_R!$qCdnJxh~9m-+< zUmHO+y#4ztJ!HJx;|xB;xnC|B?y6|d&&cRFbVA{Cxacs%4@gSJABt?8;h}6>RY)}U zb}k9K%06AjC<<$gIWC|eRg^(GEI}<5tiQ&0=7o96u#nP;%kfs=YF1SYoL;_|fqk%i zcYjn!!PA&59|J*g$S^xB^IAkIuG}MgpS-PX%t$xj)nXn}Snn`HfyZRcbwbgi^)=FD zs6EYAuv}CSJnQ6K_r6wz`$U7Gvh4EHB^h>UCRfN0>oF8QmleUAP=ENiR0;ep?5Ol1bMx<)P ztE$4zlNy*+vINO|PA7Ftq~gOIq0xAyhbD?C3aK`Ca&m7+=AbkI7Y(t#-b~w4x4H>u zZj^{xVV|S9z?36&D-|;2K51ql2!9gKrM(;xDaXF~J}@LE+sg!Tq`(lp4;Ai?l>b_^H}p9?N?P7 zRV(TIQAf_v`BC%S#^2;KEadAi;3bMhZ=9n7j^D%HhYl3gyyy<+^p#}IH+p>p4I>>- zw{&}XL?ScctP8us^h=)3WUiI)AbUe~H~o+&(hV9zDQ<)?dmhg;tZSyNkSKf!btpCc zm31j1>wLBpRv`YAS8^1dobY9?6!C7|e{PfB>sVKWPadRukA#v!b(vRHhXx<1k}NVz zA&n@DOMSSa1CaEZr1Qc9y0`qCHF0z6pl^ZoF$ia4Lg4a`fI&`~0(aoLagn+LQRlq|N5^ zAo?@Ty_40YcT(~JErnoFdR*_*r;T>$0D)ulk34{L2mpz=&?+f^;>O=4ZRfvdPTZ#M zx~)lhvVJ4yn>s?eeeZjjL=Y<9{s&aT4?=5{ZP?qoUOTkK1S_$(jNz z*h0Td6Ql>gJg;ZuO-W6E2>{ur0Ok9R5*P^K&cZ-$X5avZT%h=U!L(!^9B-Jyhlz~s zj9V8rTdqPRthzZZx1Lg6)q<1a1_o5keeHD;K_r_i!DZ5-6g0+b0Q$R*b|>%Z>HMFT zUP}nh?9$2{7&Z-IJ2+%5cq_Hl;YtTzhIJKRG7Qe5N3Q_~%5no`Jsq7tz})-WD7O9m z1A&SYcZZZ4FE5lR#{yqqy*2uG&M%%XD>_(xw_5yI*1|4wb;yuWmVlRmS0?QP++|gB zKYxLG@PAH&(tK)a1R7t+O?NXfhvdf*9}gpO7D`)n|5rxvc=^t{UL!E`&pX(Tml8^17>keUn3>qx z_9L=9pXlpN>w0}2baie1xNG~4aEF#*Qx>e4uAb8tATslC7%o9xQ!$=jE_X*CVQ(cj zt}IhkSE-cMl?pfKZDh11MfN=`+faqx>Zx1Ou+!y=nyU5fY>MsY@k@|BGrB%#I&fMy zf7hQMyJvp?-Xrgd)H@t_M6Yz)-%q=y{(RZqbke$g)YT?gIsND76uQQ)aAI{;TV0Te z@t9P)qS(&4Bf{aTRn|ste}4HEdCt|Ps-evg+l9%YLdZI~68eRYJi;uE+=( zy^}oQq7v`}YQUPoHF>1bgKy<2UAm3$u`IoWwkzme$12f8jI200yT!cXn)Vf@plwr% z-BhJX%=S6ry14`6?As!${;kAcOG{^H#qcJ>TwY;4qze*QhNm77#{DRX9CcvsvmK>v zXHOd}i_?jQ0%(1K`;y*ys0JjN1KW}kq$CXAMaKJE)9GT8$L0*PTpikq$arjiTgC9c z0MXNIIk91iyVMQ8uU zLx2A$raTpYXSZbU+t<*ba!q?oSJJLW2WS#E{5i8%_eRN_EOSx@h0EWSdPq0Yde526 zMsj0FOZ@-%8sBdjQ?B9TMqw}+!xpW2vVoOo$3vn|?*Dyxxe6SAQ39 zr}o=50!rC%N7bOy()6@2%<7C^)zpoujsV|rSO3JAl$Z*CT{W0^43YrJ_Mn~?;Q2Aj zd3Dkz=BEy?I7rBkCljCkJEYP;yF5|ucJ(;9gp94ebyloA9_F{nrbSsP7Au+WbZ)t^ ze9qsp)l0SXl?>D$-RZT}Gb)M87O3hX+x)fy_TH-_BOCf2@VMIzlF*J$*=Zt8L!(BR zTETTx2nyZ7gQhq1?GWmDTs`;EhQ85}V+55CSXm@0=3d%KPU~pyaU2D~hiJ(>hp_C2 zqSERdTekq`t%i}cCBccsRay4VLGDNNIGk-8UXIXnAFZ-=7uLeIlanMi33PpWqwGzZGc^&=nRnea|NaiXT#nC$KguRg@; zFjIWnUqNM&XRbUl%s3GJK&>n3u{D$lGy7*ta5~oM@T^4#>P+7MLU#X4uda)UYWq6k zz3wU|dWDqT;HmmB;tp0I3qB5^%}2CY9sWZ~qv}cWPqOz#awYkt zVfMKTxtqb&36J<(y-k6*{Go|<^2nP?XLx;d4Oo1rBJAW;$YLuQ?P3oWpZMX9ftu~R*EY_5 z>qxKAn}=;AoSJlH)-f#}#G4B4{I$Hh2uEFMx!joWsF~ooB)hs%I&KH;M`>RX{u zppQp9s+yUpG8&cB;`Wa`y;aBL<&N%mu$7#ct}8v{IlaZZ5 z=Zq!ATK!0?TvF(_71yry!WnJoSz3fFUExbel3UtEw-Cd>$K)?;JKtu#>kZqP{YrS_#AOR!cJRfQ$C&JWVVDMyly zLYXAKMK@e#{8`quROGJhxW@|h21{q&-^sT-qBk4wAa}2+LTLUe`D=yE%`~!&m;dQp z^Rse1!g_VVt8}YVd}~=Kb&KS0C0xZ>O05*hZ^(wj(LXfpj?Ltv2gj zo8?Ha&UZ5`5o>v?l+mGht-Qj4$}B;K*S85};;G9chJ`QG=>2rtb9JnpBl?`eIEl08 z=F8#vJ7>(744v9t$Nn5!hks;X6vl6}u0eqaY>4|9XCt>DZ~Z{tULNz&c1aGSL$$ev z65-Dm;A_w05pn{E{A-9!a0?dI)PUjhOP!6*ZEg-q_%@``%^}1Idxd&YNmfpta)EM1 z&RUkbaOAbpSEY9-TX`D!9r>%W4Jryw`9t|r#SViZe<6Rv*rQ|A?vR9|{=&j7ajm`3 z9#wZr`#owb!W-}fozU3pz0hm`9__JPUUN*ob?Iu32|rp z;kgF3`_32QV@_zB`;`4u!hd$xDOa20WWvcA?On%R#~mt3*&W9n#uA)vzN8Pqkp@@8H+}ttZw5(A?hRnQ>%D5kf1xQip0-5#VERy0HuB#4XRgf zb-G*_%N++ublNIM#GVdz$~vmkTjRb=*K(NNEugEZdHhGvZ3=6HEjCLRzdeFE0oX)7 zxkqdEzTys>VMG}2Y&qaOYTX-Em=toaod7orjI7}FYP7j3?FLS4rMtiskCPWEIKdHW zkTR6eV&dsj%fKEjVTzk`^Y7?1WFRaVrU76Cf;a{N8y;#fUq(YJxDqy{6sL(Qzgr|< zTp)2LI~YSUY(&;c()klTBjOkFI^I@rEht}`=}2MBxg?|{J$Jt&7HtMYDna2fN{boQ zP`M?VbKqnur#jT(B?*1#y6e$2szFjX?!3eW28EfE_{ z5Z5feEJ4dm=;L*?TbY`i`5n))QA#!1CwiHc51K$u)Sb^-%!#K(M9x5?C{R{pY?G{9 zI8Ny%ES#_@NnN&NtLCIm^Zw7?Sr#}eyUL#GU%Li(pajnQ?EiJ*rHbr0*CYGnEAue| zWbHU}Hi41@^`6J98-3-YuMD5!(ezb$i}Ge;kinU_E6UXSAt{Z>rnBBLo3|CdTj#P) z>#+3d*L^d`u1QC%+jU)z+jxH7UWLk(m^2EVnVWHB>E@UNxLY1Rlq`Gft}!F=UNfri zNks3P>pkmn2PCm2@}SA3!t**oDuLcZX9^2a$-%@x43$EZhDiO6m_Xzq9#n4qn-$u3 zwrt|f%dPMg*kK41v0d)X^U18T!x8iYdNmW93$@Z1@d$f*-xkI3G13H5CV-D@o?KVa zpOpJ&g7BCCl0`|`k#s4C9-;_@IFM4PRB$Q-SxuYTi}&+2B-&RZr>_BEkOW6iu0HSQT6zh@E+HVE_|mVKdIxxk8`>1o!DGj-sSrnCDQ&I zXOi=DGG0uOBRfl;Fg`o7AH&WekdqSmQ&UOR$NU5#A+Oa3NQXY4Q`HpCe7r)w&$Y$1 z9#KxO2rMM47A#8d%Paw{pLz3Pjy^%6@B;TDR0rTw=z~q2&(;o0mcIVc?FS;mN$jhL zoGYn2JEhaS=%ril>EShyttwvSo-rYb-8%qn$t^8EcVb>;nW95!=uZ`UuXQ+NQ_LD#8ldFQlyV_ z8HXb>1RRuE-_{gBurj>nfll`}UR0XDDRo=S6+Sd5ZX@FnDtDj4vPxo}(%t{AB*>(d z)E=s3(*NbiN^unI%{*&L$8QE%m_qn0VNpTH{VTY6%{GUaZg zuKcylw5TpaOh234XZoLP(=yv!^^_y0E?1bU@>yW%9UfOlfx$jY+qzNL&<0zYOH9myL{1h`)?iN&`dd|p}^n! z7iWqFt?}fCgs5W3CA=oLvS`R4-gv;)OrWhPdkYsRW^eYJf9z13NEw#vp2vP{7nYM9 z@z^+`AT4w1v@^RXAqyE^1G zVw`VIzDvSXlD}vkciQLJQ687Z7k>%5uqox8f!!zyy=j=owihOFIgy-@n4H}nMx$i+ zNr1riQ}Ca9vDMU~rRM_Hb#a>)6=&YvwCPqv(OUE-VECHS0RM1( zorRg7`C$_of#;R$EI$ml@aH&?&=3{}=9!!PONO3bm9Moo%xB_11kiGu5mzo%(E(|W*UN~m%89UW)1r-Q6OpSdONsqpjp2Ot(n^TqzQUf6`KywCiL*z>t6&C{%i zl^o^l9z^GW2ADjOt;6+-B{T(sGCl4f9rw~S+mk;$^ z{DUY6{rJd1(1Yq-c<;e!@mgz;u;U~(pzH-z+=z%j16r!JPW}TrHQZXizX1Y6<^?BO z>fEHteIFEep{Lq@NJZn`0j*X}C-YA_sZz!L7^r+oC9Dz@*r6B#%+y0JUf{XM+K%O5 z%i3qnkSH@DwvS;Aj9W0tm<|xay8t7gsAFAfq1ziNn1Nst8}HI`b4nqlDr&X`5))(f z2xedul)Z1uE9MQZ@9iBK85=uoc&NO%c>jSQwHz`$bH)`l)%uP=gGf}ueTlDLjo?s$ z$T}5ud;K1)P$#w5?b-M*wYsf7Jq>*bN=t96o0S<2VG8A`>R3+Zx-H=ZzDv3TI}~_K zKtLVAwuzKs9gFZR1mcOv5vZ!nbzL3Lx~ZL2ELrwDN$p|S%de~@7J19UTnUIAz$3Xb zBA{fs!4ZjJMc%bOP?dhKKW@dKc3pQ`#P7^m*Q^50?~bvs@PM~rDTwCYGo3SZGSKnk z?+^E_RQ~`_rlfhpY%0L9PhA9Y0^}0ZSl-pTiU5kN?3J{ed?992iu_-l6d{b!&^W!t97dh zt7nGy_wxIp0OCNv9gF-c`XYb@lTt1dK~s=an=7sdI8z6JnXxl+3Q#O@-IZ2egk}Z0 z0NvAKnfBV9U1WS~unHP@bWsc3!=yc;6FTAu1aU(z(Z1hH`ZnY_K+X}&rnLV!+k=fM zuj4ibZPja!&x;?05_)@ycKx-r#X}Mc>+MGqt@D(qX?TwE6ZjpAfQr9ybd8y6PZFl%4DfeL*&Dg(7b!f@w@i zj2)gy4>kF`dEl4hKLCM*hk<;r)>UOKhti_VXkzQIEM2{_TZJ zSRGrEJGS)UgfvCVXd%c#L9NT*Y8S5)TFE?oI%csOp`rtcAC`KWJiqwjRGUIa5yKXTRWOv{SP zW~}#b%gqQ$4{p!(NZ1vb%^hjkaaCt$>W$?o(}$)MX&&`08eyybb!p7YG%R6zo*-_% zStPKyoB2rXYf2eo)Xqu>0XRU3bTL7ad5`M*r8uKfQO+qS=MBMea{fHE!s)9gRK)+3 zGEr4UzVlRwsD~847orT*s|ud!(keteAq12X;-#2i@|3Fuxm}VlUf-fCJ;$r{s!4na zUcM4f{b6{cyC;|9iA2y;QxZ}&f_wc(a05#XI2<80k7E^_AxkZi3@j^aVRxL^>^7Ob_S6Y5u&tBC9%x@o1b>UV_z88v6zBou;Epp^(tqoxe1)JWq zLX6^&05_3NIkO?P_-9EVGV6l`X-`5QxvUGiDtpMPA-yKLM%)l{sKHaApYP%5ZFJKr zR>ta)V`zM}lFFitCJ;qEqpd{*mMenOLQ0?}Q6evK!eo)(=gmy#4Aj$-=1%U@W5BBMycfgJo z<+z#TBC6zRsx;upeL|I~S2LO4tnTCPTW>U3X1UBFiyi*b(lapwM1ODEl)b=m!Cgax zs)TUQyg_+vu%c_pH&Y-?uFYz}stxr(**^XGbNVI!@#-+!DRmLGLAoH_IsJ$&UV9oN zc=#`&-lj}j7GUBqFRhj+iQGTJs9DV^hS-~73XFG2d*ZER&16FeF|U=j+1>c<+K}2u z@Qh@I5^9OOJeK2t@fz}^Qm^YU@G50lL$OYCNhp3UmL))Y2Dz9MFs%#?Dv?0Jg6 zV$n;z&Aa&yk);Mi$il9-nupzPd` zE|_1o6$aDR|F39^B74{v`DgM++YxH6-RBhHc@PHS!WFHDJ0Vz%JBr2|gZvgl3P`Au zDrfd`Es*{@GD$nKf$(JG`c#tFSn9+j5?tM87gVhG2bG)0no@J1-);F2$1UzJERG$^ z!aG&4y;ZW?-}$i+#C9!vg{PA}m2OW7If4M4@@s$}5mm11m5`mP?&6aY9t7@-65;LE02$&Il8gBz;kB!3emQ*ocX3=7?L3q^K^<&Wvva# zUN?1o&rq%0|9-~Q#t=VNTzFlgZ$^f1XC|I^HBYD3 zZ|f{GmD{RpOjP}!*2A^j8HP@71^HEAdZ%1e7tT#@_oYT_{jk zoYC=^^mrvQin?FQ<(`=5GG{>kMZlkz$!CV7NNT&wbm>j)`wods5$ZPfMozvB+hbn3 z$_4P*vb^oB@?(+J>#Tn*O5jA)U&jS5EAgRBQEY)vkpl?AWaR*0b(6cNAG|xM;nt>A z{bKECm@DWJeNT{G=H|2U?!oXA4%&&swIR$Ie`08u3B~;4AJYaBj>ma2FZLvTEi?nZ zt&lAOf%g)qqT3vOmf#tDkbYdp&o6E1+KA7wzyu&(gd{Qpp3RivH6z^TzQ9}$flyq6 zYgn_i4vfEaculM+#+4LLYzDw7UielyW-I#?baRbryb;>S%auyJsS~XD3||t4~R3@K@<}WEJcd zjW53+n)c0Z-w?3!@hQ;xFr@qIP$O6}Klwt(hO-f=DT_4=G?taDB ziL0FtwWGmVSeAtY#6csIUoe6elBkN7YK0{o7b8l^^Eh9nyqRV$=kLVG;VsUJUdArq z)+Y*#WOc#*?BavacnB;#a{um}vLlgYv6Hr?f$}OrTFuJcg~bzFQz~l=q4l-I?6iRN z=txez1Q%4YvL*RNorE2g7WsCJL4xMUV~SGWS(G+_;s9jp%)6^u+_C|s02>sC4g&o2 z%I|?6ij7Am2mcvk1Bg81^lzS*kS5}6^LKTOy+2GyT9mVtZk&y)O({e#^HrR2*0MXl z8}__A>JJ4CkL-_(?hL%f_GccAx3dwOxZNoM%F*4Ts-LBd|GBq$4tIQBeq`Tl1Fse) z$-Y42ook7pXevXu7dHH!|z2d*cX8Ip# z{kDk+QwQJGz|@gMRJxTHo|TnN72+7l0D(^>NgMu;YJ1l~a zd+L1`ge=mW+&!(obC2F`jEOzRx=%?v_9TC*?$U7b?ZPK%CTolz+&8Y-`n^Xk?)I?~ z=KYPj58d|7bo2leFzOp}1-0l6CmpT)Vq7_cs&apk+wKi)XKGK}+AVSn-2Rem@dINL z#q5j2H)&&SE7Ktrt3;Pw)%1zZVKF_?q&0DYi);pejt{L4Z139!)uW>&5tWg&8q$&d zYQzag_heKG!Vh)=FQfGN3H690_Uw-zsl86#zSUmA40w~A>_VB_ic2YEP&jVFGdTLc!J;94=7^~+UF+< zNCIV!sC4bz6>ob|mVG2|MHFKDu|Ju^*%g7ytnQ;hp$~Z#vu4}=nz2JK&Yzrn-PW^p zH+tlfj~$O1lh9a4wsxVi)&APsEmuCjxvgJ*nQPCZl*sXqh?JD>zp8fba>$!$f+iua zDk*`p2pw`s_3YAOK;`VJmL*L!(4BLWAx@jU>pj&oXv8I8fgM#d2C|Ni^?6o&433TD zaEK2G(`zg?uGZD9id`#v6ZZ7RMb4L8z!TJ7+0z8d)&qHN+mtRU9Z`CfO;5A))xZDg z5Jc}0?%gNsRF(fzT%s_TS5+r9`;@*qnIqw7&V@l0CCWuwx5}I~Vzttos}wd(F8f|_ z=hf}gw%S2n@nfyOw5crG$6I zp%;9$_}WhPcK~EzdnHly31gpm*wJT^{Zg}@pq#})IePD)ShWX2PM&-<`Pq@P5rmcNLB753es^X2f~1W|_^o1I&Auz<&NSHfmi1H{v*L*{8t1yQ(X;9&T25C| zsAdqu9a^S%sgey+x6K}}eIAnt%=gsI9;-#y+M;z{!1t|v+YOnluowS5*1R+1u|q-Z zY(re*qbEfU&Z#NaE{kF=E&9jzM?(Cx?wr_!^6p4Md|E|^d5p`g(|Peo=iEB~4ErRF zh7%`>ScUd>AIUQ&yLs~hR#8eXxw-$ENnYvG#oGz$Cp22`|5;lZeLnoelWrEDoY?Ec z(XHkg#iMrUtNv7PXIFaLyts14F>4KdP-E~eX8OgQ>Gl%) zOhDwfUV|;&&^PdKYJ_j8vAdjd&7|=9MB=uz3vh5tbn=1119BAlk5zrjBxh|(bdW(% zgS5kTt=-EE9B30N*|O!$n=SXX{aVm=CdFh(t7?2Sw@}6oIiU0VvEDyjU4ME7cN-Yn z?gAhY0DuS@cliIKOq<~k2bjRxdd(nuz=i1^xS-IfA=UUU1uG{kdYoc7`|b#Xrw=OM zt|W`z>W0p0&W0?4wKwWwL*|76731rYZ=NsO_g%q7tY|A9x)Qe|P)@2D$T|%l(#JfX zMB-BrUsE&?I}Xm)Oh+HAu9@BMv+P!1{UJxQsW_L2%A6&z_W~WQXK`JycUZaH!W$S8 zTzU&#h(ecFu=@;$&b!xo{p?gz`F5c6Y}3l{@X8Q{hE}*MBl?Qrp`5C-G8-wq!WLcaLM{2QQ?{dvP@$dI>&A3HC%GgKa ztTc_@6Pv%q*5q>Gt1sfz4Kot5m6GO^s4?rjQ(CK~6i zdwsMs1Mz*Gz4wgQ^`ae?U{VKF1Lt|CtO#jtqE;LlZe@7ico^8PsAKnrVR7J4wd7P6D5A~O2YX{c0+BVIFD-`b~(KTMT)m)-DY;4N7F!3bYEvH=O zw8lx8O++`GPZry{(&MdiRr(Cd6gpAbgPSotJJJa)tC;IL7~y*Bulimk@o|v6LcUr{ zicv)C=*D{m(wCNa$8TjNv?_26*A5mpe6=lfJYL;+*rU*5RQ~NMZVZ*>ea_pNZ_vui zp4TYz-2v~kvV*4t*Vd0agHj&rli=;pMSiD$>gx*yz$ZS@6+m89wm$!o-B&dWfWRd) zBUp(w^adi|w&%FD=xuj@46e86BP{5DEU`oNIO&#!omY;}Pd&uD;)WR9NcS5z>*GDn zw#CdEIxEo);gg;yPUWmT&BAUXT|3#V;Y11w3M+?AeFU{xVAkgs2kg)2)5z)!Pu0FclNz#B-?$EVx zRIcV37GXCe?rjqKeH@89VZ*=wZEG&XG}9j3=QpbHwgb3Jblr=TLi>CC5Z=!p^Pag{ zJ)@C-`z!cKp%?n5;pCV1cl7<~lW$I`F0YVM@gi%kPc>+=ycJ=&y+f5tkT4rhuZsO2 zP^%<_FS~nj%XM4964t<9X6s)fE|7QRc_i#ODI#xJh&waDG+HO*@{^)RCZ4SHZ`tfM z8=&%M$gBxl3p|iOUUic2NB0~0l+0H!Ij%(Fu`Z}fizb5rLM1#qf zAN<)s3GuptNw~=3G(7BVoI@h*V86&V=lrF?-ZvJ|iz@iPDW%5_Z0mX&NDg0$dQFsz0rFIT#po}Z_E^|Zy){2{g*c?4<954(@xJKZV&hT28|^%(^pbnZIM$^O~b&S73B9a06;F7-`6OMF4A)GeU>Yu5D5g*Vf-5?5YJ1dp zePd7h?(6*{Rv@AV`yI@sDV;hD&+cZRo~S6pz4B2W>hK^O^v8hSDyhm_!_~E)lC0r= z#4TWG_`oqKI=_g+1%}d@oEW#lZVx~$$j;q?+9y6^6DYEu@$b(*ET*ZkkyS8`E>WNE zuYc~_FN~yfRVub?qTZ2GF(xKEdz?Kyq#g-T0i_nTkYvM!QWY2_q?H||u~M%Iz@)v! z;-^MHA`*$t_7w<*Gp=CAKV9D zzVQDa3?B2({|te`TO+C0$IRgnyjljg?%FTFgb+DcO-7xl+lPA+;KAHC^8OwI$eEC_ zoZ6}6^v~iOw=0STXoj=H!~b(cW+5Rj*Tvd-#@P#d+_?16J@xKqFg%GB%&8}^@X zR`WtFMQJ$6w>hlP$ud00$Wwk!2}|3l#BkFmhr@!PhX;TvkrmdQ)^}r9M&I^hryi)D zOFzO|K}rzW#=50&H`KSh^I{;;X@~gs%S%ksU|q-SXUUFmBy1^%ar_IpqQSA!jaIQj zAErZ(Dr4_}{7bKCa(aIuku&JphqfHHvwSe)-$t{F4Pf*KTAM-ynNePz_IiCHA=Rl( zkFNM~A`8D;-WgJ|j2iEez)e5x$M6q^xF8d~A2*il3*iZeWK3inNGn*=>GxD{ox8U6 zmmfQwjNiLgwa?GnGmnOAK5F`>S6!f6_XPp^(SnyzRDSpeH#xOMojjXz1(lI$@uwi6p;$ww{h(GIasiWY zPNqh$6O~Kvd^tH$Q0JKT8e(BB{eB806#|h*7H(LOfIm86E^q;6E*~BO3n9X;L*ZtK z0EFL!S`Q@o-0y(;z84DW;nv-rT-b?fwzR8_a(2>Un=$(2z(zC+3ME1y5C|W+LJeyo zy>hZF9VDmpB<#ukT!}YJm8~`2bNBOZU&IW)(JS@!v7;4swY{exitI@gyIAUmMv+dfhbcfG*UTOs)P+I(p#t@!OC)kW`bXDpV+m32 zQe6$9zg=Zq6+<8pcMx9c%DT+}@R6RcS2o_NeM~}p`RLNInW(ciG4q{L3=Oo=aBe-4 zhYTGIVi1%aK0s>*v;G!Dwo=#E#*9J?z&vE@7DUWXOP%N5XL?HOGKFn#1;5>TO>PB6 z=Y2&>N5EH<oBbrabh`Y z3qxPPeo*Rf*7fjVt(nSzz%lTYK4RCYijmXYY1Vdz|C=^58FgO>oXI<8Y90f)FEJ;1 zuo*eGL^zva(I5q_x^62LE?U6y7-n(*xjw;K4$Q;zRFIk$&Y#Y#1od+^r|Rj;8V%R( zAMK!bqgD(btUxLF!RiQs_TYCHF{ly#yR%@@XzvLFrhHm=vXG0ahWAyo|7r8L4<2Ez ze|z{{=d%7Hs+SNo3y4_vAg@jLp+s0_Y{_c^VWW_Ex60Z2C$Kp-5+SFwF}5mTn4YdOpVi8d2WxACwK?(wTJ7cuFiuCig@(&A zgEey5VNpsJ3l760&i#KYjuu+MEUHha>Cb5GPYvig`Wn_)6$d?Fr%%7;Fo?knjuhXE z92|_iS3L4g9n3qx%6nV0z8;+X9Mfem#a_2Z=g7|8tiUaM3_89h9Nd=mR-qOdPaZvV zU54|#wa3x+G{%ohMtw0+tXBb0%6Z}wKu@K9YxnV{Tkk7@xnrLZ3`btN%croh%9}h$fRAg3r~5fEUv2F?ew`DbVpE%N4HtN`|X z@7sX+?i$ArIa94w60cVPfgw-I8luvbr0HO2z`8%1FPJ@_r1J_O@NdWYBKMgZ29G*8 zg7`r;0#-}LBc_p9t{=9DpovLw^l^_%g^umqc`VVmgF0SNL3I#*-`(pn%^z zi(q7tnQSt3*xDWcb`3V2HDc2J3z^5Qt+0Vh)Ax4k{O!>ek8cZzfQqim4V`ZjqnQdx z(U7G$5Q^v!FpB8NO^p2c?FoNVf63Sv5>6lX`~{ZOCQI)--3 zMF?UJO4^h4Fp!i>B9LI@M}JzM(bsOF*+^DaN~^NI7L!8ku06qi~X2%kd{V?eTHWTz%dFj>j}T?yx{aH-F$- z!1EKCceWN;HRa}>-su}K6gHFpzSEe^>d=ybAhaqe1GDJtfb)8{M;7W+JOM67IU?ua zLt)M#dW5c{id(*Z#ZW$)lHIgp1CiKTLjR9q%rtBs5W zfodp9m9*8I8?rixaawOBIU*p86`#rCgU{hKX~5E zfLHS{O)aaXH_{p(*qNT9?nrW0s4@z-krW+C>a^}W```%c;^ru~+~&Cz2JH`=4K;On zcWOd(h0Fit9Et`(k+84Uk8c+bhV@)!8#7tqj{3DsT<*%cYiuKP|8vmGf0Pc(ugn`1 zM-vX{V*f8|=Fr4KS}>OKauv=*xoCw%*cx#;;r>_a^PkdsvqK$>9XKFBtjQAq(?b{P z1vHU_w&I-e6^br5qrz32dtawq(GY--UwtDXe0r29F*3MMhmW1F1iG{Q~9EjEcD;1^ddH6j{7%L#klChR8DOCnXZb_w0aTTWQ>@HiwDn zXiP?u3auGPPhGwKgofVdqYaHs6`kSkBHP?m?b0!yP~g=H4_grO9=VMrfBomA;m43jr2Z+86zdY~WEfX1T?JdSS5b7@3(9@(KUv&Ewa!}^=C z@YNGDZC5VIdon8r*r%-S%XE?#V(@^K#Y&xm1eRmh3j`wSy~_nT3&qaEkycKV6N+Hs-MIds`6X-C(Is)myLbJty^QX0>P7dsg$8M5?956AuVueKNd@&q@_h!q62|?-?G{EKJ8TgR<=lmw&r=_zjry990o;ft^oeJW!XNQp~8D2yN6oL*2$1klFP$Ib8h(%=6y$c^E z9SBn+mem4qOQ6W_fJ7dc+W|!Uqze1UnhX5!>KaXmIYQROG)Lhc^JPHsW{!T|yE_A6 zez#XoYYNvxOabWejv!Qq=aqb*JC@yc=qcimvtdXUlD7<&z`5{xu03pdPWlw0Q(pS( z2H$u`hv}~{7^($k-^O?$Ww-;zxGtJGm8QVrTqp_$|0r&6L1|CjK($AN!?Ap4JMQH@8Aa9@G|DGS zJp4edx_k(Wm^5C1aS43oT;+fJhE^3H;_VxsF>s&{C0oWLQ`GO^BkV@$i~8dC&)6ff zs4b>Lq)GAG% zCM>7Si{DTetjkQUS>fL#IPk!rKK9ZN(LMOWTgTRS+&l&<2}2lu&Ljd{n5CXs$yqo5 zn^z=R;gf%{tX`0uapFcLMTOSc*Fn=1R}->PsT4QLd)4sht&fTkWD3zq%%hh)4} zR8UUkko^dEVzQ6B)SQD|9+UZIf7 zZ%2H-o#7)_Duaqe{pm=d2+@aDcwKEI@7mRmkxNQV&kr<4EvuIpZ&B+*8=b1Q+A`6{ z?Xw2DGjT72RG(eFDe)Z^JT@+BcyGTid_zHArdwk|>N2V0d_f7hdvAZxF|CzLd+`P` zK^0(6t?>*SMmW2|JEzqrAij$^5(E;)fIwnW!(Hx_qsq6@aV%EaZx^3DD)5r}_-wrq zUXg+bjRt zs}9U9vKC{UYi=(3%kOp>mLxwqi|>i1f$!Xx-^IZGV#j;m6U||I1Henb!|L9nWSK{6 zc~;i8yupR1TKTWdr8>9FCt8jbb7z|_0=ofETo*4Z-)Z|UgrzlV%04Kejtf14|32~v z%XS_L+w^xmH(Y}>z8~4(--vnf`hF?c$#EG@O928G0&}Tze)2hgJfheOYYm*>w|is( zhNj=vZ~4QXJD;`3TIh|0umt8o#8Qbgr*?9~txe5=meI2L63T#{my0IyUp}>PJYifW z5ZzK1^IvhFzs+wAKv*JBT~t-xFnPb|zIGYlcC-t3*6RJGbjn@jRn?ak?P=c&hddQS z)8g@Iu6R9TF?KgOiYR9J3hYhlYxCNKI+G{bstUVF>WU1N2KQimdCmwqMD4t$@imfe zj__3uI=VwEFFrX{$3`e4Wl5BLl}jPI+TqZWlWZ`kq%$_L*>1;7N0((PHcn*?FUyP? z?bMFf#j0v*)tcjX`n0X{W%b23a(vN(kl=)r_nW*Tlp6uNXgF)(=TFq0c zLvjk%ltSZ4o3d_nhuYSDwJpsfTH{u`f4kbqcKX&G8%(mSLIE3c`KKZ|#g{dn*uy#C z9)LJj2EOXJc&rC#>R)7D%Q};Mcx_h!D4(}}tKSX!P3n1pE2SwT5+%xlwV5Av{i=nX zf_~nwz83q3(TR&HxAdg9#Y+>Tlvs{~ukSqg&(UYA`!@i5U=V=K+SYm!u*OI*l^nFs zX=_=SJu=4@7UbdY`{iy8U;Ec}|5(5NM^{$TxsHyrfmvNIOFT;MRAg=zow&GJv+d^f zN=-IE;OBDPjhq|vPWxhNzVFjS9XPdoAkD%jgERm(*b+=Y{vkc#Nu?AQb$@#5Z4R2s zkY2spNmV+O5P<2JWdDuB-HZ}p4nJWsXaX;gu*7NZdBr=}*KP(;x{3JbZy?z3kdr8j z{(-f3BUf<-_~!{pVJD6ygusKR@**+z#_9 zUupR8uaaG&#iBsBkip|rei7U`8GFp^9aXe&t^7^>*;pOdkf8-?`ozgo>6@unIy&#s zKvoo!R@uIQMiy^b`(7xJK9Pg5Ifgw}#EUkT$JQsde_T;h7pswSZdX`o zBSt(hd087`3w@5%ml>7RcLn^BBO^zV(9mOrW?HmyHMOy3adL2Lc{&>mzfYG}-gIUR zvQ(uPmV|mCv`7+D_a;#4$`4*Z79Nbok%`0Y9Sy^dOFK>k@$5R(jS-`_ET71?$G^1j z#hG8oLeZ3y!I zIr!2KKxMG`e%y50jm)j5zrxdGk|6RbETSD?hO(x>^k(_Cb8uRYT*DnIqva{A%}LW! z%?zE2exenF<@3*R@AmFSnk+t(IaEI3HZ91nt3`wm?IQ@KIu4F2GPNIFgW1w-^5Tjr zzliSakOP*e2+4~lXJqpP?xT`+QJ^t(OKNuLq7nQ`U_{~f^uX0Vf+JtzdIy!v3*TE2yxCq+3 zmx2?LZ@vO7E!oLXgADFuhj0Py?`ao@9K$>RJRZX#?8>k$SNF?|r3xP5aU*ScE6enB zWo2B_tEVq_xcR+Q;G}N9c<1B3U&`F5BT65Q(LlpRp!gFOz}T3DZOMUSZxE8V`)k*N z1pVct^9@hQl-|Lh@LZ@r5e~>B@eQk=Zv)hL&FJlozmJ^-vaz?bkE?{3W4|B?9Wl#rhXOZA@F^c##c(~_f3A^44sA8$3F=Yvq)2`RJ&I76~~@H!P<-0mJstYKMk^W z-sKgB0TZBoVR*UQdEOeOoXp@X?j7Q1#^VJ=N6~R*JeikR;1#*8w0Kj3_tfuvYGkcg zlALYL&ie#>9tu!z{eYXNOosb&YI;j2*As}Sbr*4<{#7@5yMvCd+RmfXXPZ>?LQ~cW z43IOF(h6MlNq0h_;<>zwepxd2Xo4-M9|&lgk_ExSSZyl2d&6@uXGa3mru04xOC7_2 zeTxNLP5zdtLmE+qnSt>7%*McATI{_ggapmw$ba4 z)47KnvtHpDgRN8Gd6DmD&VU@!V-#;qkolx`T~Nfvh6ST*^iw;4i!0=K2GrR(yB425 zx1z7lCDO16g5L&2!UyWzO^JT`w>I_7nVv$&xDn16db~&w(;2%dxz5GWS!@?W+l%RL z3d>o2*5&Tx_q9OdM5w!~h?hpmOUgYmi z>Vw5{pBc#t(lo#3iIUn=PL(2~eA%106>GSzBJ4=nWSQ33(9U#p+#cGAG;K6Cc${!w zp!zL!oX6YK? zPhI&O*L7gLVKK|yzjQ0m;&LnK;Ar(MF>(?R5;318I+O4Ld6FyC$%e^z+pvXz{l~9jfQxHf$)q$Ogb2+$5*WC2&13Btc zb|lHGdOF1yW+UPX`?*(dB8OU(XM|dJ_Tb4nu{2yl-EaSin=LoZjtvhQzi(aj{?xA2 z*VWyZZK&l1(=@1>ty>FcK=r+|ygG0RWE?!6kGnY(sWxIc3{F3!r2vugB~K?sq}csb z*>s$l@E7}ykdc*@i7ikw)1dHV851~GR7?paz>g7f2uen=i2HLeyl+Me;22Ebi^j89XnvHWgModvFZwFxteCyK_{Pfc`AnRn$l{Z&4W~^yrjq~P04i4Zpid?a^vu2|4`97BKQtU=SAMAT@hYg!+U8x>1a5l(k z(q}(LUBdg{{}lW_cLmPA9Z(({PJO5ffHP+-XyQbV#q3g zT;LT1k;*N|TQC}{og&qHOz}EtP5mBAdbb~5M<8m&Gg_RNN?QpvQB7oRPq!G@8=J>B z8VMwEe~f5`3lqY{!Q7CL**EZwt*40;t%UYAGeSk~8_lQ|*+?I{(Im zM6Iwe%GQCFR)G>y@jLRz)B3 zs#dSsj8h|R7nSjZdgw`zOOz|qmmt4pks!F_i1;7XUbJ0Cz(oD zbOuVKkK|Bnk6Kha)c7r81k~>!B zER=eoTxlpY+10w!Bfp91QnDKHMfQA@lk!iHeX7{aKbI{xi%wg_XiI~7R5UWI*rr`y z^!fLsU!velyQi>BR}f)mg6~7VNUHx5Cl^>S*vrI`Z<0SPWEZ9&R|YV50^yR%glz0C zj^_?F*>#p(F`47~xliY!W(4pzl_dS-b`I^$h8ZYJC?-nae8$odxYcTT=i}WQ7mjw# zgHPv--!4z-8`0NNptNVs+m^UC1z+DSj!*7;(4E`?{$HGn|LQS+j9Ru$Q0Mt>bebJj zeHFCu_jeXCcIaMY8*LR0P}}X-l=Xj{ULfjIKh&6cNM6Gwm|=tRs{v=kVXMiX@6%dx zLr+l#>wYSMIwgGbo6<<=B7&|ga_(B{^Vooo`bkYEnk}vvDj;g377=`jAcR>i8tPZAUT~)gNk>lRbaFvK3 zWD?)4LaDVe;q?lv3x8skl7JoX=$CQQ5$dnY{d+OuLt=6)#YesFT(Z!;@3W#F*j9AdR6S@TTvC6kCu--xuKO z%(~|<I@d0!?Ze^g<`QT~8HQx3YR;=bu2MQm^$aQ*E}bi|yq7K?87K)e zIOR1`-F(r=sugj$^Ap%yeFiYZEoM{$$&hb1?k`=>>__`<5w)(jrLeMxqql7GaA1fgXZW_ zjvEU2!V#?mf)!f|A`)i0DSej9*3%r)yLVD@COY^44&(BZIhx9)@DVSl!MaX4p8KKq z`fH{%V$bXHe%>x*f>;tBe-NyB%F~m+M<(j^NpfhL1uyMtySiU9cTqyg`L1$AnkFsq z6g_0PLKn?PReWp!6$rgew@b@KNcI;?fa7)yDh+sN-vlFNb@|nwtz2Jv3>5G&e8d+0 zMCAq-v8Y+|q9y(P|LB1B`C^m}GWACf5Ja1!6V(gpsp~!%B}ww!q3$(WywZyIjim!W z92<}wiR&_v5hXwOdws{{;_Mwm=RE(ty!y3{ zO7313dtvL9vSs+|`jZOodR1h8n+I1VWOEFnPHv&PBLo z|3{e!zMSRyk!UU&*;xx-4>t=TA8X}|NUNAA>}1A@a7(gcyTggq!|Xi6)&Ako=o5S2 zUXOQo-+_dk%60*Z#ar~Lti@-T#T;J`U16m?8+_%l+iLiq_V+N3ZgWJrYDjU*$!)(2 z<)_E6eG}h?MP0}LQpqIG<`=jx|K^w2m{etqeH&7+1yp3E+52@f>Ge&c|1`!taDLo< z?Ry`q?!;wX3uJcBLmiO8CU-{@6GP)Jkq67jz-m(rI6PuXlqD)Mo#Yn{ChH^3JoTrG zN{>9^GkZ2n9r(P zVNJskC(vRmgm0vq83Mq~zJPen*TUaG+-9HenJyK%_2mtJdY=h$hfPnamJ?W$iA~csmYBI6DmDi%%vn=XSWpGJ$OI5;gcSJwdPv?1Bd?m)mrlW zJ$qNanNc{sn=d;)ub>`RBE8-p5O^f22~?p-NblrO5jkR>OJA>yzx33)aJQXOhx}y% zAT(BNCoiCnwv#i}>79@jCv4(F$c?~cRDW&gndWeF8Ks&EB9o7GLV`kfQjS*W)b-~v zA{NyEK`xZS&V+yB)1>beuI_yWiYqJKXzKy?}t9UZbjUEgSe|1tF`&$~7NYRvxz?25tbyRbAe27dHI>nK= zhFZv@J7UY@v$A8IIK8!;uFzE#&-hkIK)?Oi_omncEP)ih?^`@WT&zmKMw?T?<#o4U z0E8)}taVbxW+J)BL2Gbl_xbFzAvr)iZ3VB&Fx9X_9~Bil+GY$LJS= zu(5Qq>zQjyj)t^d=5&>>cV)U2e>0aOktkZ67U0 zzaM+qMdXXE-m{SRi^~!+B(O4a@kAOIV1Yw%G8S3NUieQ{ z@`=%UqY^ok@;kyO+gKB^0@B;C*l44)wZBY-*1Qa;46fTrGvSyB$(NFN(RSU!j=aC& zs@kBXkRq>@lPtu5@(S57qR9%?Y;QP_pGFKTOPJJ*b$G#`g0o5Lpng(K7L6wc3jJYE zWA0}1YjK`yIlTiswHaa`F{!pLv7c&OHR$c#KB35I#*r8{HOF<>-pm@HUn(9)gb)Xs z#151Dy*9Tqou2zX*1y)bliHDNv75X?7#8Q}CX<=cF^MlxPJYRL z-p&K{r<)xG@b8_zZd9^98(9sDS-EqmV61Mjgy?!Lw?{N4=>gDN{UaJDAK70tZ2{p5 zlnkJmk6~^j0Q_QM{ws;j60EQ7!~I=!pN;eDmxlL9lSupqM)~O5%<^qqBZ}TU5>iqk z^EYF-dmkjr4syM-(x8IJ>>X(~z%px4wL7VW#aO*`n;mmvcfSd%z?`X+%B-wS231>v z(KrLy%EF1C)|2f*5E z35$#~9)VjnVylbnQv7s3OXUi`B}S%VL!(I9^)G_4>bz0 z;Zt4&XL26;b3-Cs&%rH#+VWH+|IFIZt6OJVs}Xt1WQ|SF3I)v=1O12#J3fXC^gMC0 zmpv6?TBJm5Yhi(*-f+Zo2%wfnq>>3@0h^QXZa=F2ow?#!WWk+S@+?L|NjKAE8<$^| zLkfCH^7vpF7x&a36OtmKKNt5TLcQHU-^bSKx7K|$sy1u`od2T$QkJv0L!HFkrb>?h=_O48fmctYHQl!rtQL>13-$W5(BbyiJ}MoRrs*1IF91XV7YsfBa{aVl2s zx57pJzH2CNk3p4**K0Gw{VaQP^R_d?eA^{SWqYY-VH)tjNX6$lns%fag+BmciwTD; z{eVqUm4Mgr3)34~grHgkOhHM1NIlmK)DJ;NPEBY=^bL5fof%EdN2GAc*tSba|5 zd%Da_mCezJ-OR#}B5eCDOYKr|h*?#syewp!p-?V6K2h15S)NpCOho4^p0%JDK5iEh zx5E`Egfd;y$Z2-YWKQw6dL`Uh+8l`BJ0L5q7U=v+RZic}Zm1hu}UNe`mO z=LptzGSdq5EKUf?`+YG^;{mRZ>MEv&WAW2kl}mE-NCVt17>JK7Wgxm{we_u2<8t}k zhE3`2yO=e>c54;}iy6mEDa~O){1F{NO2EspIQ_)1BZPC>#dQK?im_j?!XC+>TvujUx`O zrP>n6kf(ZfC;SY5DVK1NYw{0LRH(j&?q7GP^!vy~O?pd-yJBaRdj5PM2kMk9%57Lq z8{48QQJxx3-?aAE)fi{#%_G-5f|VtP;dT|evh}ysUl}sn2)6>_4#d`5)A05UZPLX1 z02wc&ab>YE*| z00wzTjq#4xcwee33dNraE!<1rf#}rrLC>Ne*Hz+OPOl;ShcE&{W3yKE(nV^p6KB=` zRMYM@Oo1fB_Fum@?w?s^yJuO8^%W-k>^AFHd7i`>XSn}I49ca z=gHReK08-Pi5@6RFtZAuUM|6SAmr9D@_T~cKyi9ccIdqOV(_+7_q`0!Q~}bIJ)p&& zW{@X%7USX^sK)VIDH$%xZw&JAFK)XGZ*H5^hV7)=SIL`3%j>^td5j9#)xL!K>sfi& z?cYH2ZOjQlvHR&piRSs_6lh@}Fy1D3bWyLXRg>DSOkm@f2&XQ#-T~XVg*Xa+Hzzm> z(gA&X*`GJTi-N~5ukS-Mho#wx7!m1QlKQ3LjFDcuw^Q0VZ0*zsb4BrpU(-i{iRjxZ z4wO`zbg%Kr_q%?k8tX1bhjnJ%E;{f`!2~Od6BuwtlWYrt-E_9gK&;Y|FbP3`P{}?M z?*aFreO^3N5_5SLsoPEJFHiDa>%XbLV$8Z*TJ?HoymC7LVZcg7WTsE-x}QtvjkteE z)emmI$xS`a4?+LBe*!!~@gDlt&DDD1dMDe?TRB)09>_d7wn* z>B%%mKS|5ch9vpQtJwXuLJjOM2Z}vQpox06_V}qN{w1Hf;cu>$RMe=8G?PF*FVnZ< zlGv3(nC%)xH(B;wJMqlj{ebX1v|JYhFlX+7n zbOM7NWBYsG`uS@hqD#v^z^BId-Y#pPr(%W@#^g(|t?qMl-|B&F%?8!`c&j(aaz0d{ zGRmQ$2!<3KgmgVe;%z+tR>_L5{q2jsae_f=KcLhRe{PNxD2qyj1QLQAg#pu3`yOas zD@2DAgAQrzZLUC)(Avl_%KNLYno*aAk#w*|2=AMjyPsokxx--ms^V$9V1_pjI3=1Y z#8SZ|$E_JsT`3M5xPrvD%0an8oi56j=9s90h3n8&sNajoTxSRe2822S-r=;hF%2DM ze8e+Kre}(!T_RZ$(U4rL|I%ZzEV~EFNNeM@N8t6~7*%c>!R!d8lVXBl zVJWn=l4EWf;4AzSakR{LSO?S*SHc4=Xh6ACdK~c8lySDg_f`pkFa*>HU#k^?Mk*9{ za)hMXOej0CYjHfP@rr~g=bzpZWd>K)z(RWS24$;J{WoGXRRr;k!7#8hjdn`O-U8}5 zo6@7Qu$vlPAwxkd&&~X!a5-rWMK9dA?DB9=jmEx5D3{D5oiT{fXLI@`D=Ux#grhuG zD^+!nEA~NcC)v7i@}e#|#_(t9O%4YG-k=tCW>)%JiM~ScnO!i>TNad-?#I#}>v((J!f2=gHwtwVc_EHLQC){JFeq7&ps>W$Ag5{AA z5%-n%)m`Uk9s6B0JIB6kaJrH3z;!O?qLioid$n=1i4lrqDOhOBjy_{)&~}-)5yfq~ zDifYQW_zyMSN{T4L=Pc#ME$CI0va)*OlfjUkgHml<^y$ie%U+w2tv?6msX5G3P$2| z#}ZAU`GSWiS?V@OD{M@e!KF@7;%AG)l_V?oK94RRx+$P-W{4>of3`BKkt$%=Cw)rH zdIYbw;3}9c=gIK<(6$4kYGoOTejN0P^d6Erc!4g3XYGDqwO^ERSQsi+-!=}GN!)X>w*ji{P1H>wZ{UH6 zX{an&UKRFSLBQ>AVwy2F&Q`XK_T!efPgBi&dArxpzkCbg)}*sMQ3d!ynYcWix z_|npYGkjM4H_VCfl1lDfoX0C$VNvA=MKO()qiafz$U5Uzd^r!`sw6gjbZ`=$i^_!5*E*mpvGd zg5%DuZ3wIxm4a&5e0xsqmgD* zYGLt_w3+$h0%!yaVq;0um3t$XEA$yK5Pw|pv!C9zSh@wc?lNT5)5EG6KfIzyluy3k zUv3{ba}*4FG$(pmR^nCj0s#eCNQ4~D zqf!&>E;YJNTW#siz8Z?A8ZLGxgC714l~`@O#>4Wd5=#=oawdMM<77yT(2db7k@4Wp zE%_OM$dm`us47x}?QgqM7)?HZM=$E)8)}u-P|8J5me;Vs-QgJLa01hjt`-GZf4WXYs8)21~d#k7r)eGs%T zoTM@mjdY}?b}Wv#jHbE*Kz`zf{tRkAt>Qc*%XqotdNs+gjp4Eba2n*ly|eRwCt$ys zh~nX>+L&#zD&EyQzPT7a-T4FSO1;b<&IKtjfrbAlppEY|+K)W=f(08x4LSchxPcZ; z&=#FTV)*|ywEy4&Mhf@OGx`^f5+SBVpmLE zI=62U*W>|>NHHU*R5SE{tCw-<<`9FC;fkJ1!6_8;hau))x%lmF$sfp7&pD(kD96H)c$SxIVbZT_~A3 zq=}nfv}2Lwr=d1$v7i?b+##9FLkXQFg^h;+o~eoUixID_yyG_rQYZ@APz*{54#pA0 zKa>pR#RSC`{ME;>CYUt;d;KKSEM)0R4s_P8I^L$4pB(rX9NTKK(#8fN{R*CJBK6fj zg$x42U%7H@19J?CBoA$x)b)Wp621#55p_mM7E4!7(moooafA6ECF-Zt^1qol{;FtA zId&y37DAx8Lw|yrU@Kx3nm!Z4dtT`gHi}vb$}j&kSBP&eGZ2SUb=dNsnEsur&WEKT z)j_QnLZ)5KOXZBcM8xs9Gw{W^CwZ=9$>@IzmDQpcEd(2W&^0pw4EE)QCw7R^@bLL; z`;jKBD-xYQQ2yd6a!O3cQ1R6Y?8$v6opn%hlyAYLdyZByBqP$wt`$?@3G?GqjI-WI zFr(&N%W-LTiVx^1Ho9CEPW9Z5AOL?Gi|-iXg08;`9bHFOX<@)jh53F(ufGo7X8;-H z0l)YvMmC@|H(*Hq)5~Lc+wpVu7B-~+C=Jcxyn+Svys26)m~PyI-+W15v=_={`XO5l zHTRU5<6Q%(;GtU{_)M$_Z@txr^r;MoqLKj!*lxsJ-o*}P>e`FX{w*=TWA)e>mkquq zR>aObeoL>tvlW0b{B)@!*Q#MRNDVE1iwYTY0jEF7nOpwz-CzpVB)}t%DHnxnklM&j z{5nE-m_I0{MuyF@X{w^ZXId;$ZzxX3PofMm&=br2L2ZV2EG&HUL-^jmzMYczD$O`Z z?tN3awcrjqUCwXxK5<+SI?>|?PR!D$t||ghxxLKVr-Z6Dw@24}CgX^Pq}kM_7!5qg z%Z*9SS}A#;Gxrf6Yzc??{fJaAfRlxa)hoqd(HC= z7O1`LmWceuZ0Io0(jzpSr>;rS>W?x`vcp>fVVJl1r4thU;2&FV>(dCwX&XK8S-%w< z9R&H4wYnRLSj%_btvh@R$#$Oo0`rfNf}|CtyFYe$!fDRQ{TCn#B2oP}ys`rt2n8pY zPr*hy=n`c2!FY)-Q6avwsaI|ld#8}B@=2^@?xy>AgA!eO(n7ietiyp6B?7 zzEjdImQZsbH{m6+$_l~!C_p?uVA-?$aetr2!i(>2oJ8*9svS$rL?LjaYe}8@!`*TQ zq#ig1wLj@;6j;-piPNt2DLzE!!*!-C3&;{_h7O&)YC#HO4{G<&N_9zob7B%}yt1NC zn%`Mm`%Yl-g?yhDxiV;rXh^>0f5my?!*A)t)TMO`3`(N+D9}1!YxNnLK)>@{8hpI5 zD`Qq^)g>Q(N6@}yx=%cj9sNvX@vp)=nn6ncK;7JEiZgd^P2j%)6VR%zgBZHuTvAw6 z>wG|E*}P>alWtK8B}_gAdu^xWy(?U(@8_IgZ{Dg_YfH_i| zcEU*ZONGosHYDv&Sy(wA_rub(!|ZW;oHgD9RV~OgubHzEy>?~?K2bePVezxt2%>;P z-?ra7<4n?x&FYaE?cEGI)-)$tD$5+muBu}U?sPHFKe+hV5?aCTUXV`J=9AHC=o-*Q zXUuT@-0>M!)m+!o+T(oHaeB!5lJUF^EcXIqSUNsvI7$4;|X#{w!e5pUJ_ zak1J+C*mxrK*L>l)}}XDmB5!T;U_ev;jCB9B2`6t)Wa`7=7pam>YPepUHy>E1}-i| zx=cTq2|P}#Ey5pcy4D8*2oic4dykynV%zxoUkQ#ZS%}$Wd?mL`_nI;G*TmEF^KJp z_vh{DE5H7`9RZOzAku0+?DJ`Ocwh zS7jB5f%YHF1(sTSKSuTtezZh?ey859@nDV}*wx8We3^(^>c;D^k{15Qf0gLJdBw#% zK4AOfnWngIHTLC=dT)#w{3rZBSpE+*HU0+;Htp>`-fzW8*#W`aU5e&a;9&m+kS-Mo literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/images/favicon.png b/user/themes/antimatter/images/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..ec645f19245eef8402ba367897f622e0ddbf3ac4 GIT binary patch literal 1177 zcmV;K1ZMk*P)dbVG7wVRUJ4ZXi@?ZDjy4F)uSOF*Inm5byv11M*2k zK~z|U&6m$hD_0c9KNIH>l~34N==gj?n@5#C6 zen-M06h-+2=m%Z{Ex;?_W&ZI6@E+I$-T^@ vm{l`Igq0HeT{zzd6duYq5I?}ZS1 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 literal 0 HcmV?d00001 diff --git a/user/themes/antimatter/js/antimatter.js b/user/themes/antimatter/js/antimatter.js new file mode 100644 index 0000000..298ed75 --- /dev/null +++ b/user/themes/antimatter/js/antimatter.js @@ -0,0 +1,37 @@ +var isTouch = window.DocumentTouch && document instanceof DocumentTouch; + +function scrollHeader() { + // Has scrolled class on header + var zvalue = $(document).scrollTop(); + if ( zvalue > 75 ) + $("#header").addClass("scrolled"); + else + $("#header").removeClass("scrolled"); +} + +jQuery(document).ready(function($){ + + // ON SCROLL EVENTS + if (!isTouch){ + $(document).scroll(function() { + scrollHeader(); + }); + }; + + // TOUCH SCROLL + $(document).on({ + 'touchmove': function(e) { + scrollHeader(); // Replace this with your code. + } + }); + + //Smooth scroll to top + $('#toTop').click(function(){ + $("html, body").animate({ scrollTop: 0 }, 500); + return false; + }); + // Responsive Menu + +}); + + diff --git a/user/themes/antimatter/js/html5shiv-printshiv.min.js b/user/themes/antimatter/js/html5shiv-printshiv.min.js new file mode 100644 index 0000000..9c78ee3 --- /dev/null +++ b/user/themes/antimatter/js/html5shiv-printshiv.min.js @@ -0,0 +1,4 @@ +/** +* @preserve HTML5 Shiv prev3.7.1 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed +*/ +!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=x.elements;return"string"==typeof a?a.split(" "):a}function e(a){var b=w[a[u]];return b||(b={},v++,a[u]=v,w[v]=b),b}function f(a,c,d){if(c||(c=b),p)return c.createElement(a);d||(d=e(c));var f;return f=d.cache[a]?d.cache[a].cloneNode():t.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!f.canHaveChildren||s.test(a)||f.tagUrn?f:d.frag.appendChild(f)}function g(a,c){if(a||(a=b),p)return a.createDocumentFragment();c=c||e(a);for(var f=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)f.createElement(h[g]);return f}function h(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return x.shivMethods?f(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(x,b.frag)}function i(a){a||(a=b);var d=e(a);return!x.shivCSS||o||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),p||h(a,d),a}function j(a){for(var b,c=a.getElementsByTagName("*"),e=c.length,f=RegExp("^(?:"+d().join("|")+")$","i"),g=[];e--;)b=c[e],f.test(b.nodeName)&&g.push(b.applyElement(k(b)));return g}function k(a){for(var b,c=a.attributes,d=c.length,e=a.ownerDocument.createElement(z+":"+a.nodeName);d--;)b=c[d],b.specified&&e.setAttribute(b.nodeName,b.nodeValue);return e.style.cssText=a.style.cssText,e}function l(a){for(var b,c=a.split("{"),e=c.length,f=RegExp("(^|[\\s,>+~])("+d().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),g="$1"+z+"\\:$2";e--;)b=c[e]=c[e].split("}"),b[b.length-1]=b[b.length-1].replace(f,g),c[e]=b.join("}");return c.join("{")}function m(a){for(var b=a.length;b--;)a[b].removeNode()}function n(a){function b(){clearTimeout(g._removeSheetTimer),d&&d.removeNode(!0),d=null}var d,f,g=e(a),h=a.namespaces,i=a.parentWindow;return!A||a.printShived?a:("undefined"==typeof h[z]&&h.add(z),i.attachEvent("onbeforeprint",function(){b();for(var e,g,h,i=a.styleSheets,k=[],m=i.length,n=Array(m);m--;)n[m]=i[m];for(;h=n.pop();)if(!h.disabled&&y.test(h.media)){try{e=h.imports,g=e.length}catch(o){g=0}for(m=0;g>m;m++)n.push(e[m]);try{k.push(h.cssText)}catch(o){}}k=l(k.reverse().join("")),f=j(a),d=c(a,k)}),i.attachEvent("onafterprint",function(){m(f),clearTimeout(g._removeSheetTimer),g._removeSheetTimer=setTimeout(b,500)}),a.printShived=!0,a)}var o,p,q="3.7.0",r=a.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,t=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,u="_html5shiv",v=0,w={};!function(){try{var a=b.createElement("a");a.innerHTML="",o="hidden"in a,p=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){o=!0,p=!0}}();var x={elements:r.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:q,shivCSS:r.shivCSS!==!1,supportsUnknownElements:p,shivMethods:r.shivMethods!==!1,type:"default",shivDocument:i,createElement:f,createDocumentFragment:g};a.html5=x,i(b);var y=/^$|\b(?:all|print)\b/,z="html5shiv",A=!p&&function(){var c=b.documentElement;return!("undefined"==typeof b.namespaces||"undefined"==typeof b.parentWindow||"undefined"==typeof c.applyElement||"undefined"==typeof c.removeNode||"undefined"==typeof a.attachEvent)}();x.type+=" print",x.shivPrint=n,n(b)}(this,document); \ No newline at end of file diff --git a/user/themes/antimatter/js/modernizr.custom.71422.js b/user/themes/antimatter/js/modernizr.custom.71422.js new file mode 100644 index 0000000..63cc6c2 --- /dev/null +++ b/user/themes/antimatter/js/modernizr.custom.71422.js @@ -0,0 +1,4 @@ +/* Modernizr 2.7.1 (Custom Build) | MIT & BSD + * Build: http://modernizr.com/download/#-csstransforms3d-shiv-cssclasses-teststyles-testprop-testallprops-prefixes-domprefixes-load + */ +;window.Modernizr=function(a,b,c){function z(a){j.cssText=a}function A(a,b){return z(m.join(a+";")+(b||""))}function B(a,b){return typeof a===b}function C(a,b){return!!~(""+a).indexOf(b)}function D(a,b){for(var d in a){var e=a[d];if(!C(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function E(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:B(f,"function")?f.bind(d||b):f}return!1}function F(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+o.join(d+" ")+d).split(" ");return B(b,"string")||B(b,"undefined")?D(e,b):(e=(a+" "+p.join(d+" ")+d).split(" "),E(e,b,c))}var d="2.7.1",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l={}.toString,m=" -webkit- -moz- -o- -ms- ".split(" "),n="Webkit Moz O ms",o=n.split(" "),p=n.toLowerCase().split(" "),q={},r={},s={},t=[],u=t.slice,v,w=function(a,c,d,e){var f,i,j,k,l=b.createElement("div"),m=b.body,n=m||b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=["­",'"].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},x={}.hasOwnProperty,y;!B(x,"undefined")&&!B(x.call,"undefined")?y=function(a,b){return x.call(a,b)}:y=function(a,b){return b in a&&B(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=u.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(u.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(u.call(arguments)))};return e}),q.csstransforms3d=function(){var a=!!F("perspective");return a&&"webkitPerspective"in g.style&&w("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a};for(var G in q)y(q,G)&&(v=G.toLowerCase(),e[v]=q[G](),t.push((e[v]?"":"no-")+v));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)y(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},z(""),i=k=null,function(a,b){function l(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function m(){var a=s.elements;return typeof a=="string"?a.split(" "):a}function n(a){var b=j[a[h]];return b||(b={},i++,a[h]=i,j[i]=b),b}function o(a,c,d){c||(c=b);if(k)return c.createElement(a);d||(d=n(c));var g;return d.cache[a]?g=d.cache[a].cloneNode():f.test(a)?g=(d.cache[a]=d.createElem(a)).cloneNode():g=d.createElem(a),g.canHaveChildren&&!e.test(a)&&!g.tagUrn?d.frag.appendChild(g):g}function p(a,c){a||(a=b);if(k)return a.createDocumentFragment();c=c||n(a);var d=c.frag.cloneNode(),e=0,f=m(),g=f.length;for(;e",g="hidden"in a,k=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){g=!0,k=!0}})();var s={elements:d.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:c,shivCSS:d.shivCSS!==!1,supportsUnknownElements:k,shivMethods:d.shivMethods!==!1,type:"default",shivDocument:r,createElement:o,createDocumentFragment:p};a.html5=s,r(b)}(this,b),e._version=d,e._prefixes=m,e._domPrefixes=p,e._cssomPrefixes=o,e.testProp=function(a){return D([a])},e.testAllProps=F,e.testStyles=w,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+t.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f + * Dual licensed under MIT and GPL. + * @author Chris Wojcik + * @version 1.2.0 + */ +if(typeof Object.create!=="function"){Object.create=function(e){function t(){}t.prototype=e;return new t}}(function(e,t,n,r){"use strict";var i={init:function(n,r){this.options=e.extend({},e.fn.singlePageNav.defaults,n);this.container=r;this.$container=e(r);this.$links=this.$container.find("a");if(this.options.filter!==""){this.$links=this.$links.filter(this.options.filter)}this.$window=e(t);this.$htmlbody=e("html, body");this.$links.on("click.singlePageNav",e.proxy(this.handleClick,this));this.didScroll=false;this.checkPosition();this.setTimer()},handleClick:function(t){var n=this,r=t.currentTarget,i=e(r.hash);t.preventDefault();if(i.length){n.clearTimer();if(typeof n.options.beforeStart==="function"){n.options.beforeStart()}n.setActiveLink(r.hash);n.scrollTo(i,function(){if(n.options.updateHash&&history.pushState){history.pushState(null,null,r.hash)}n.setTimer();if(typeof n.options.onComplete==="function"){n.options.onComplete()}})}},scrollTo:function(e,t){var n=this;var r=n.getCoords(e).top;var i=false;n.$htmlbody.stop().animate({scrollTop:r},{duration:n.options.speed,easing:n.options.easing,complete:function(){if(typeof t==="function"&&!i){t()}i=true}})},setTimer:function(){var e=this;e.$window.on("scroll.singlePageNav",function(){e.didScroll=true});e.timer=setInterval(function(){if(e.didScroll){e.didScroll=false;e.checkPosition()}},250)},clearTimer:function(){clearInterval(this.timer);this.$window.off("scroll.singlePageNav");this.didScroll=false},checkPosition:function(){var e=this.$window.scrollTop();var t=this.getCurrentSection(e);this.setActiveLink(t)},getCoords:function(e){return{top:Math.round(e.offset().top)-this.options.offset}},setActiveLink:function(e){var t=this.$container.find("a[href$='"+e+"']");if(!t.hasClass(this.options.currentClass)){this.$links.removeClass(this.options.currentClass);t.addClass(this.options.currentClass)}},getCurrentSection:function(t){var n,r,i,s;for(n=0;n=i.top-this.options.threshold){s=r}}}return s||this.$links[0].hash}};e.fn.singlePageNav=function(e){return this.each(function(){var t=Object.create(i);t.init(e,this)})};e.fn.singlePageNav.defaults={offset:0,threshold:120,speed:400,currentClass:"current",easing:"swing",updateHash:false,filter:"",onComplete:false,beforeStart:false}})(jQuery,window,document); \ No newline at end of file diff --git a/user/themes/antimatter/js/slidebars.min.js b/user/themes/antimatter/js/slidebars.min.js new file mode 100644 index 0000000..528522d --- /dev/null +++ b/user/themes/antimatter/js/slidebars.min.js @@ -0,0 +1,2 @@ +// Slidebars 0.10.2 (http://plugins.adchsm.me/slidebars/) written by Adam Smith (http://www.adchsm.me/) released under MIT License (http://plugins.adchsm.me/slidebars/license.txt) +!function(t){t.slidebars=function(s){function e(){!c.disableOver||"number"==typeof c.disableOver&&c.disableOver>=T?(y=!0,t("html").addClass("sb-init"),c.hideControlClasses&&k.removeClass("sb-hide"),i()):"number"==typeof c.disableOver&&c.disableOverb||v&&5>v)&&t("html").addClass("sb-static");var g=t("#sb-site, .sb-site-container");if(t(".sb-left").length)var m=t(".sb-left"),C=!1;if(t(".sb-right").length)var p=t(".sb-right"),w=!1;var y=!1,T=t(window).width(),k=t(".sb-toggle-left, .sb-toggle-right, .sb-open-left, .sb-open-right, .sb-close"),O=t(".sb-slide");e(),t(window).resize(function(){var s=t(window).width();T!==s&&(T=s,e(),C&&o("left"),w&&o("right"))});var x;d&&f?(x="translate",b&&4.4>b&&(x="side")):x="jQuery",this.slidebars={open:o,close:a,toggle:l,init:function(){return y},active:function(t){return"left"===t&&m?C:"right"===t&&p?w:void 0},destroy:function(t){"left"===t&&m&&(C&&a(),setTimeout(function(){m.remove(),m=!1},400)),"right"===t&&p&&(w&&a(),setTimeout(function(){p.remove(),p=!1},400))}},t(".sb-toggle-left").on("touchend click",function(s){r(s,t(this)),l("left")}),t(".sb-toggle-right").on("touchend click",function(s){r(s,t(this)),l("right")}),t(".sb-open-left").on("touchend click",function(s){r(s,t(this)),o("left")}),t(".sb-open-right").on("touchend click",function(s){r(s,t(this)),o("right")}),t(".sb-close").on("touchend click",function(s){if(t(this).is("a")||t(this).children().is("a")){if("click"===s.type){s.preventDefault();var e=t(this).is("a")?t(this).attr("href"):t(this).find("a").attr("href");a(e)}}else r(s,t(this)),a()}),g.on("touchend click",function(s){c.siteClose&&(C||w)&&(r(s,t(this)),a())})}}(jQuery); \ No newline at end of file diff --git a/user/themes/antimatter/languages.yaml b/user/themes/antimatter/languages.yaml new file mode 100644 index 0000000..d3f206b --- /dev/null +++ b/user/themes/antimatter/languages.yaml @@ -0,0 +1,295 @@ +en: + TRANSLATION_TEST: Antimatter! + BLOG: + ITEM: + CONTINUE_READING: Continue reading... + NEXT_POST: Next Post + PREV_POST: Previous Post + SIDEBAR: + SIMPLE_SEARCH: + HEADLINE: Search + RELATED_POSTS: + HEADLINE: Related Posts + RANDOM_ARTICLE: + HEADLINE: Random Article + FEELING_LUCKY: I'm Feeling Lucky! + SOME_TEXT_WIDGET: + HEADLINE: Some Text Widget + POPULAR_TAGS: + HEADLINE: Popular Tags + ARCHIVES: + HEADLINE: Archives + SYNDICATE: + HEADLINE: Syndicate + FORM_DATA: + SUMMARY: "Here is the summary of what you wrote to us:" + ERROR: Error + +de: + TRANSLATION_TEST: Antimatter! + BLOG: + ITEM: + CONTINUE_READING: Weiterlesen... + NEXT_POST: Nächster Beitrag + PREV_POST: Vorheriger Beitrag + SIDEBAR: + SIMPLE_SEARCH: + HEADLINE: SimpleSearch + RELATED_POSTS: + HEADLINE: Ähnliche Beiträge + RANDOM_ARTICLE: + HEADLINE: Zufälliger Artikel + FEELING_LUCKY: Auf gut Glück! + SOME_TEXT_WIDGET: + HEADLINE: Text Widget Beispiel + POPULAR_TAGS: + HEADLINE: Häufigste Tags + ARCHIVES: + HEADLINE: Archiv + SYNDICATE: + HEADLINE: Abonnements + FORM_DATA: + SUMMARY: "Folgendes haben Sie uns mitgeteilt:" + ERROR: Fehler + +es: + TRANSLATION_TEST: Antimatter! + BLOG: + ITEM: + CONTINUE_READING: Continuar leyendo... + NEXT_POST: Siguiente Entrada + PREV_POST: Entrada Anterior + SIDEBAR: + SIMPLE_SEARCH: + HEADLINE: Buscar + RELATED_POSTS: + HEADLINE: Entradas Relacionadas + RANDOM_ARTICLE: + HEADLINE: Artículo Aleatorio + FEELING_LUCKY: Voy a tener suerte! + SOME_TEXT_WIDGET: + HEADLINE: Algunos Widget de Texto + POPULAR_TAGS: + HEADLINE: Etiquetas Populares + ARCHIVES: + HEADLINE: Archivos + SYNDICATE: + HEADLINE: Distribuir + FORM_DATA: + SUMMARY: "Este es un resumen de lo escrito:" + ERROR: Error + +fr: + TRANSLATION_TEST: Antimatter ! + BLOG: + ITEM: + CONTINUE_READING: Continuer la lecture... + NEXT_POST: Article suivant + PREV_POST: Article précédent + SIDEBAR: + SIMPLE_SEARCH: + HEADLINE: Recherche simple + RELATED_POSTS: + HEADLINE: Articles en relation + RANDOM_ARTICLE: + HEADLINE: Article aléatoire + FEELING_LUCKY: J’ai de la chance ! + SOME_TEXT_WIDGET: + HEADLINE: Du texte gadget + POPULAR_TAGS: + HEADLINE: Tags populaires + ARCHIVES: + HEADLINE: Archives + SYNDICATE: + HEADLINE: Syndication + FORM_DATA: + SUMMARY: "Voici le résumé de ce que vous avez écrit pour nous :" + ERROR: Erreur + +it: + TRANSLATION_TEST: Antimatter! + BLOG: + ITEM: + CONTINUE_READING: Continua a leggere... + NEXT_POST: Prossimo articolo + PREV_POST: Articolo precedente + SIDEBAR: + SIMPLE_SEARCH: + HEADLINE: SimpleSearch + RELATED_POSTS: + HEADLINE: Articoli correlati + RANDOM_ARTICLE: + HEADLINE: Articolo a caso + FEELING_LUCKY: Mi sento fortunato! + SOME_TEXT_WIDGET: + HEADLINE: Widget di testo + POPULAR_TAGS: + HEADLINE: Tag popolari + ARCHIVES: + HEADLINE: Archivio + SYNDICATE: + HEADLINE: Feed + FORM_DATA: + SUMMARY: "Questo è il riassunto di quanto ci hai scritto:" + ERROR: Errore + +ro: + BLOG: + ITEM: + CONTINUE_READING: Mai multe... + NEXT_POST: Următorul articol + PREV_POST: Articolul anterior + SIDEBAR: + SIMPLE_SEARCH: + HEADLINE: Căutare + RELATED_POSTS: + HEADLINE: Articole corelate + RANDOM_ARTICLE: + HEADLINE: Articol aleator + FEELING_LUCKY: Mă simt norocos + SOME_TEXT_WIDGET: + HEADLINE: Text modular + POPULAR_TAGS: + HEADLINE: Etichete populare + ARCHIVES: + HEADLINE: Arhive + SYNDICATE: + HEADLINE: AbonaÈ›i-vă + FORM_DATA: + SUMMARY: "Acesta este rezumatul mesajului Dvs:" + ERROR: Eroare + +ru: + TRANSLATION_TEST: Antimatter! + BLOG: + ITEM: + CONTINUE_READING: Читать далее... + NEXT_POST: Ð¡Ð»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ + PREV_POST: ÐŸÑ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ + SIDEBAR: + SIMPLE_SEARCH: + HEADLINE: ПоиÑк + RELATED_POSTS: + HEADLINE: Также читайте + RANDOM_ARTICLE: + HEADLINE: Ð¡Ð»ÑƒÑ‡Ð°Ð¹Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ + FEELING_LUCKY: Мне повезёт! + SOME_TEXT_WIDGET: + HEADLINE: ТекÑтовой виджет + POPULAR_TAGS: + HEADLINE: ПопулÑрные теги + ARCHIVES: + HEADLINE: Ðрхив + SYNDICATE: + HEADLINE: Ð¡Ð¸Ð½Ð´Ð¸ÐºÐ°Ñ†Ð¸Ñ + FORM_DATA: + SUMMARY: "Ð’Ñ‹ напиÑали нам:" + ERROR: Ошибка + +uk: + TRANSLATION_TEST: Antimatter! + BLOG: + ITEM: + CONTINUE_READING: Читати далі... + NEXT_POST: ÐаÑтупний Ð·Ð°Ð¿Ð¸Ñ + PREV_POST: Попередній Ð·Ð°Ð¿Ð¸Ñ + SIDEBAR: + SIMPLE_SEARCH: + HEADLINE: Пошук + RELATED_POSTS: + HEADLINE: Також читайте + RANDOM_ARTICLE: + HEADLINE: Випадковий Ð·Ð°Ð¿Ð¸Ñ + FEELING_LUCKY: Мені пощаÑтить! + SOME_TEXT_WIDGET: + HEADLINE: ТекÑтовий віджет + POPULAR_TAGS: + HEADLINE: ПопулÑрні теги + ARCHIVES: + HEADLINE: Ðрхів + SYNDICATE: + HEADLINE: Ð¡Ð¸Ð½Ð´Ð¸ÐºÐ°Ñ†Ñ–Ñ + FORM_DATA: + SUMMARY: "Ви напиÑали нам:" + ERROR: Помилка + +hr: + TRANSLATION_TEST: Antimatter! + BLOG: + ITEM: + CONTINUE_READING: Nastavi s Äitanjem... + NEXT_POST: Slijedeća objava + PREV_POST: Prethodna objava + SIDEBAR: + SIMPLE_SEARCH: + HEADLINE: Pretraživanje + RELATED_POSTS: + HEADLINE: Povezane objave + RANDOM_ARTICLE: + HEADLINE: SluÄajni Älanak + FEELING_LUCKY: Osjećam se sretno! + SOME_TEXT_WIDGET: + HEADLINE: Neki tekst widget + POPULAR_TAGS: + HEADLINE: Popularni tagovi + ARCHIVES: + HEADLINE: Arhiva + SYNDICATE: + HEADLINE: Kanali + FORM_DATA: + SUMMARY: "Ovo je sažetak onog Å¡to ste nam napisali:" + ERROR: GreÅ¡ka + +pl: + TRANSLATION_TEST: Antimatter! + BLOG: + ITEM: + CONTINUE_READING: Czytaj dalej... + NEXT_POST: NastÄ™pny wpis + PREV_POST: Poprzedni wpis + SIDEBAR: + SIMPLE_SEARCH: + HEADLINE: Szukaj + RELATED_POSTS: + HEADLINE: PowiÄ…zane wpisy + RANDOM_ARTICLE: + HEADLINE: Losowy wpis + FEELING_LUCKY: Szczęśliwy traf! + SOME_TEXT_WIDGET: + HEADLINE: JakiÅ› tekst - widget + POPULAR_TAGS: + HEADLINE: Popularne tagi + ARCHIVES: + HEADLINE: Archiwum + SYNDICATE: + HEADLINE: Feed + FORM_DATA: + SUMMARY: "Podsumowanie tego co do nas napisaÅ‚eÅ›:" + ERROR: Błąd + +pt-BR: + TRANSLATION_TEST: Antimatter! + BLOG: + ITEM: + CONTINUE_READING: Continue lendo... + NEXT_POST: Próximo Post + PREV_POST: Post anterior + SIDEBAR: + SIMPLE_SEARCH: + HEADLINE: Buscar + RELATED_POSTS: + HEADLINE: Posts relacionados + RANDOM_ARTICLE: + HEADLINE: Artigo aleatório + FEELING_LUCKY: Me sinto sortudo. + SOME_TEXT_WIDGET: + HEADLINE: Algum widget de texto + POPULAR_TAGS: + HEADLINE: Tags Populares + ARCHIVES: + HEADLINE: Arquivos + SYNDICATE: + HEADLINE: Feed + FORM_DATA: + SUMMARY: "Aqui está o resumo do que você nos escreveu:" + ERROR: Erro diff --git a/user/themes/antimatter/screenshot.jpg b/user/themes/antimatter/screenshot.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2c0e79cea8c268705804777b20e5c820cd8840ba GIT binary patch literal 162937 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

                                                                        +(u~PfCiCxy&_`Ez@nX5f!jiSbKWwjY0U( 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 literal 0 HcmV?d00001 diff --git a/user/plugins/mediaembed/blueprints.yaml b/user/plugins/mediaembed/blueprints.yaml new file mode 100644 index 0000000..17e6a87 --- /dev/null +++ b/user/plugins/mediaembed/blueprints.yaml @@ -0,0 +1,242 @@ +name: MediaEmbed +version: 1.3.0 +description: "This plugin embeds several media sites (e.g. YouTube, Vimeo, Soundcloud) by only providing the URL to the medium." +icon: spinner +author: + name: Sommerregen + email: sommerregen@benjamin-regler.de +homepage: https://github.com/sommerregen/grav-plugin-mediaembed +keywords: [video, embed, oembed, media, youtube, vimeo, plugin] +docs: https://github.com/sommerregen/grav-plugin-mediaembed/blob/master/README.md +bugs: https://github.com/sommerregen/grav-plugin-mediaembed/issues +license: MIT/GPL + +form: + validation: strict + fields: + global: + type: section + title: "Global plugin configurations" + underline: 1 + + fields: + enabled: + type: toggle + label: "Plugin Status" + highlight: 1 + default: 0 + options: + 1: "Enabled" + 0: "Disabled" + validate: + type: bool + + built_in_css: + type: toggle + label: "Use built in CSS" + highlight: 1 + default: 1 + options: + 1: "Yes" + 0: "No" + validate: + type: bool + + built_in_js: + type: toggle + label: "Use built in JS" + highlight: 1 + default: 1 + options: + 1: "Yes" + 0: "No" + validate: + type: bool + + default: + type: section + title: "Default values for MediaEmbed configuration" + underline: 1 + + fields: + media: + type: section + title: "Media" + + fields: + media.width: + type: text + size: x-small + label: "Default media width" + default: 640 + placeholder: 640 + validate: + type: int + min: 0 + + media.height: + type: text + size: x-small + label: "Default media height including controls" + default: 390 + placeholder: 390 + validate: + type: int + min: 0 + + media.adjust: + type: select + size: medium + label: "Adjust media size" + help: Adjust media or keep default dimensions? + default: 1 + options: + 1: "True - Adjust media size" + 0: "False - Keep default dimensions" + validate: + type: bool + + media.preview: + type: toggle + label: "Show preview" + default: 1 + options: + 1: "Yes" + 0: "No" + validate: + type: bool + + media.responsive: + type: toggle + label: "Responsive media" + help: "Allow media to be responsive" + default: 1 + options: + 1: "Enabled" + 0: "Disabled" + validate: + type: bool + + media.protocol: + type: text + size: medium + label: "Protocol" + help: "Default protocol for remote media resources" + default: "http://" + placeholder: "http://" + + services: + type: section + title: "Services" + + fields: + services.SoundCloud.enabled: + type: toggle + label: "Embed SoundCloud" + default: 1 + options: + 1: "Yes" + 0: "No" + validate: + type: bool + + services.Spotify.enabled: + type: toggle + label: "Embed Spotify" + default: 1 + options: + 1: "Yes" + 0: "No" + validate: + type: bool + + services.Flickr.enabled: + type: toggle + label: "Embed Flickr" + default: 1 + options: + 1: "Yes" + 0: "No" + validate: + type: bool + + services.Imgur.enabled: + type: toggle + label: "Embed Imgur" + default: 1 + options: + 1: "Yes" + 0: "No" + validate: + type: bool + + + services.Instagram.enabled: + type: toggle + label: "Embed Instagram" + default: 1 + options: + 1: "Yes" + 0: "No" + validate: + type: bool + + services.Dailymotion.enabled: + type: toggle + label: "Embed Dailymotion" + default: 1 + options: + 1: "Yes" + 0: "No" + validate: + type: bool + + services.YouTube.enabled: + type: toggle + label: "Embed YouTube" + default: 1 + options: + 1: "Yes" + 0: "No" + validate: + type: bool + + services.Vimeo.enabled: + type: toggle + label: "Embed Vimeo" + default: 1 + options: + 1: "Yes" + 0: "No" + validate: + type: bool + + services.GitHub.enabled: + type: toggle + label: "Embed GitHub" + default: 1 + options: + 1: "Yes" + 0: "No" + validate: + type: bool + + services.Slides.enabled: + type: toggle + label: "Embed Slides" + default: 1 + options: + 1: "Yes" + 0: "No" + validate: + type: bool + + services.Twitter.enabled: + type: toggle + label: "Embed Twitter" + default: 1 + options: + 1: "Yes" + 0: "No" + validate: + type: bool diff --git a/user/plugins/mediaembed/classes/Autoloader.php b/user/plugins/mediaembed/classes/Autoloader.php new file mode 100644 index 0000000..849646d --- /dev/null +++ b/user/plugins/mediaembed/classes/Autoloader.php @@ -0,0 +1,103 @@ + __DIR__]; + } + + $this->route($routes); + } + + public function route($var = null, $reset = true) + { + if ($var !== null && is_array($var)) { + if ($reset) { + $this->routes = []; + } + + // Setup routes + foreach ($var as $prefix => $path) { + if (false !== strrpos($prefix, '\\')) { + // Prefix is a namespaced path + $prefix = rtrim($prefix, '_\\') . '\\'; + } else { + // Prefix contain underscores + $prefix = rtrim($prefix, '_') . '_'; + } + + $this->routes[$prefix] = rtrim($path, '/\\') . '/'; + } + } + + return $this->routes; + } + + /** + * Autoload classes + * + * @param string $class Class name + * + * @return mixed false FALSE if unable to load $class; Class name if + * $class is successfully loaded + */ + public function autoload($class) + { + foreach ($this->routes as $prefix => $path) { + // Only load classes of MediaEmbed plugin + if (false !== strpos($class, $prefix)) { + // Remove prefix from class + $class = substr($class, strlen($prefix)); + + // Replace namespace tokens to directory separators + $file = $path . preg_replace('#\\\|_(?!.+\\\)#', '/', $class) . '.php'; + + // Load class + if (stream_resolve_include_path($file)) { + return include_once($file); + } + + return false; + } + } + + return false; + } + + /** + * Registers this instance as an autoloader + * + * @param bool $prepend Whether to prepend the autoloader or not + */ + public function register($prepend = false) + { + spl_autoload_register(array($this, 'autoload'), false, $prepend); + } + + /** + * Unregisters this instance as an autoloader + */ + public function unregister() + { + spl_autoload_unregister(array($this, 'autoload')); + } +} diff --git a/user/plugins/mediaembed/classes/MediaEmbed.php b/user/plugins/mediaembed/classes/MediaEmbed.php new file mode 100644 index 0000000..efa3988 --- /dev/null +++ b/user/plugins/mediaembed/classes/MediaEmbed.php @@ -0,0 +1,497 @@ +service = new Service(); + $this->config = $config; + $this->hashes = []; + + $services = $this->config->get('plugins.mediaembed.services', []); + foreach ($services as $name => $config) { + if (!$config['enabled']) { + continue; + } + + // Load providers in directory "services" + $class = __NAMESPACE__ . "\\Services\\$name"; + if (!class_exists($class)) { + // Fallback to a more generic one + $type = isset($config['type']) ? $config['type'] : ''; + $class = __NAMESPACE__."\\OEmbed\\OEmbed".ucfirst($type); + } + + // Populate config + $config['media'] = $this->config->get('plugins.mediaembed.media', []); + $config['name'] = $name; + + if (class_exists($class)) { + // Load ServiceProvider + $provider = new $class($config); + + // Register ServiceProvider + $this->service->register($provider); + } + } + } + + /** + * Gets and sets the identifier for hashing. + * + * @param string $var the identifier + * + * @return string the identifier + */ + public function id($var = null) + { + if ($var !== null) { + $this->id = $var; + } + return $this->id; + } + + public function prepare($content, $id = '') + { + // Set unique identifier based on page content + $this->id(md5(time() . $id . md5($content))); + + // Reset class hashes before processing + $this->reset(); + + $regex = "~ + ( # wrap whole match in $1 + !\\[ + (?P.*?) # alt text = $2 + \\] + \\( # literal paren + [ \\t]* + \S+?)>? # src url = $3 + [ \\t]* + ( # $4 + (['\"]) # quote char = $5 + (?.*?) # title = $6 + \\5 # matching quote + [ \\t]* + )? # title is optional + \\) + ) + ~xs"; + + // Replace all mediaembed links by a (unique) hash + $content = preg_replace_callback($regex, function($matches) { + // Get the url and parse it + $url = parse_url(htmlspecialchars_decode($matches[3])); + + // If there is no host set but there is a path, the file is local + if (!isset($url['host']) && isset($url['path'])) { + return $matches[0]; + } + + if (!isset($matches['title'])) { + $matches['title'] = ''; + } + + return $this->hash($matches[0], $matches); + }, $content); + + return $content; + } + + public function process($content, $config = []) + { + /** @var Twig $twig */ + $twig = self::getGrav()['twig']; + + // Initialize unique per-page counter + $uid = 1; + + // '~(<p>)?\s*<a[^>]*href\s*=\s*([\'"])(?P<href>.*?)\2[^>]*>(?P<code>.*?)</a>\s*(?(1)(</p>))~i', + + // Get all <a> tags and extract "href" attribute + $content = preg_replace_callback( + '~mediaembed::([0-9a-z]+)::([0-9]+)::M~i', + function($match) use ($twig, &$uid, $config) { + list($embed, $data) = $this->hashes[$match[0]]; + + // Check if a service for a specific domain is registered + if ($this->service->match($data['src'])) { + $mediaembed = [ + 'uid' => $uid++, + 'service' => null, + 'config' => $config, + + 'raw' => [ + 'alt' => $data['alt'], + 'title' => $data['title'], + 'src' => html_entity_decode($data['src']), + ], + + 'success' => true, + 'message' => '', + ]; + + // Load and get data of OEmbed Media Service + try { + $provider = $this->service->embed($data['src']); + } catch (\Exception $e) { + $mediaembed['message'] = $e->getMessage(); + $mediaembed['success'] = false; + } + + // Setup variables for embedding OEmbed Media Service + if ($mediaembed['success']) { + // Get assets/options of current provider + $assets = $provider->onTwigTemplateVariables( + new Event(['service' => $this->service, 'mediaembed' => $this]) + ); + + // Assets are passed by value as an array + if (is_array($assets)) { + $this->addAssets($assets); + } + + // Add OEmbed Service to variables + $mediaembed['service'] = $provider; + + // TODO: Cache contents from thumbnail and url + } + + // Embed OEmbed Media + $vars = ['mediaembed' => $mediaembed]; + $template = 'partials/mediaembed' . TEMPLATE_EXT; + $embed = $twig->processTemplate($template, $vars); + } else { + $text = (strlen($data['alt']) > 0) ? $data['alt'] : $data['src']; + + // If display link or img + $link = $config->get('link'); + if($link == true) { + $attributes = [ + 'href' => $data['src'], + 'title' => $data['title'], + ]; + + $format = '<a%s>%s</a>'; + + } else { + $attributes = [ + 'src' => $data['src'], + 'title' => $data['title'], + 'alt' => $data['alt'], + ]; + + $format = '<img%s>'; + + } + + foreach ($attributes as $key => $value) { + if (strlen($value) == 0) { + unset($attributes[$key]); + } else { + $value = htmlspecialchars($value, ENT_QUOTES, 'UTF-8'); + $attributes[$key] = $key . '="' . $value . '"'; + } + } + + $attributes = $attributes ? ' ' . implode(' ', $attributes) : ''; + + // Transform embed media to link or img for compatibility + $embed = sprintf($format, $attributes, $text); + + } + + return $embed; + }, $content); + + $this->reset(); + // Write content back to page + return $content; + } + + /** + * Fires an event with optional parameters. + * + * @param string $eventName The name of the event. + * @param Event $event Optional parameter to be passed to the + * called methods. + * @return Event + */ + public function fireEvent($eventName, Event $event = null) + { + // Dispatch event; just propagate it to service class + return $this->service->call($eventName, $event); + } + + /** + * Get assets of loaded media services. + * + * @param boolean $reset Toggle whether to reset assets after retrieving + * or not. + */ + public function getAssets($reset = true) + { + $assets = $this->assets; + if ($reset) { + $this->assets = []; + } + + return $assets; + } + + /** + * Add assets to the queue of MediaEmbed plugin + * + * @param array $assets An array of assets to add. + * @param boolean $append Append assets to array or reset assets. + */ + public function addAssets($assets, $append = true) + { + // Append or reset assets + if (!$append) { + $this->assets = []; + } + + // Wrap non-array assets in an array + if (!is_array($assets)) { + $assets = array($assets); + } + + // Merge assets + $assets = array_merge($this->assets, $assets); + + // Remove duplicates + $this->assets = array_keys(array_flip($assets)); + } + + /** + * Add assets to the queue of MediaEmbed plugin + * + * Alias for `addAssets` + * + * @param array $assets An array of assets to add. + * @param boolean $append Append assets to array or reset assets. + */ + public function add($assets, $append = true) + { + return $this->addAssets($assets, $append); + } + + /** + * Add assets to the queue of MediaEmbed plugin + * + * Alias for `addAssets` + * + * @param array $assets An array of assets to add. + * @param boolean $append Append assets to array or reset assets. + */ + public function addCss($assets, $append = true) + { + return $this->addAssets($assets, $append); + } + + /** + * Add assets to the queue of MediaEmbed plugin + * + * Alias for `addAssets` + * + * @param array $assets An array of assets to add. + * @param boolean $append Append assets to array or reset assets. + */ + public function addJs($assets, $append = true) + { + return $this->addAssets($assets, $append); + } + + /** ------------------------------- + * Private/protected helper methods + * -------------------------------- + */ + + /** + * Get cached media or media with key. + * + * @param string $key The key to load from the cache. + * @return mixed The media content. + */ + protected function getCachedMedia($key) + { + /** @var Cache $cache */ + $cache = $grav['cache']; + + // Check, if cache should be used or not + if ($this->config->get('cache.enabled')) { + // Get cache id and try to fetch data + $cache_id = md5('mediaembed' . $key . $cache->getKey()); + $data = $cache->fetch($cache_id); + + if ((false === $data) || (time() > $data['expire'])) { + // Pack and provide data with a time stamp. + $data = array( + 'content' => $this->service->embed($key), + 'expire' => time() + $this->config->get('cache.lifetime'), + ); + $cache->save($cache_id, $data); + } + + // Return data contents + $content = $data['content']; + } else { + // Just call callback and return result + $content = $this->service->embed($key); + } + + return $content; + } + + protected function parseUrl($url) + { + if (!filter_var($url, FILTER_VALIDATE_URL)) { + return []; + } + + // Parse URL + $url = html_entity_decode($url, ENT_COMPAT | ENT_HTML401, 'UTF-8'); + $parts = parse_url($url); + $parts['url'] = $url; + + // Get top-level domain from URL + $parts['domain'] = isset($parts['host']) ? $parts['host'] : ''; + if ( preg_match('~(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$~i', $parts['domain'], $match) ) { + $parts['domain'] = $match['domain']; + } + + if (isset($parts['query'])) { + parse_str(urldecode($parts['query']), $parts['query']); + } + $parts['query'] = []; + + return $parts; + } + + /** + * Reset MathJax class + */ + protected function reset() + { + $this->hashes = []; + } + + /** + * Hash a given text. + * + * Called whenever a tag must be hashed when a function insert an + * atomic element in the text stream. Passing $text to through this + * function gives a unique text-token which will be reverted back when + * calling unhash. + * + * @param string $text The text to be hashed + * @param string $type The type (category) the text should be saved + * + * @return string Return a unique text-token which will be + * reverted back when calling unhash. + */ + protected function hash($text, $data = []) + { + static $counter = 0; + + // Swap back any tag hash found in $text so we do not have to `unhash` + // multiple times at the end. + $text = $this->unhash($text); + + // Then hash the block + $key = implode('::', array('mediaembed', $this->id, ++$counter, 'M')); + $this->hashes[$key] = [$text, $data]; + + // String that will replace the tag + return $key; + } + + /** + * Swap back in all the tags hashed by hash. + * + * @param string $text The text to be un-hashed + * + * @return string A text containing no hash inside + */ + protected function unhash($text) + { + $text = preg_replace_callback( + '~mediaembed::([0-9a-z]+)::([0-9]+)::M~i', function($atches) { + return $this->hashes[$matches[0]][0]; + }, $text); + + return $text; + } +} diff --git a/user/plugins/mediaembed/classes/OEmbed/OEmbed.php b/user/plugins/mediaembed/classes/OEmbed/OEmbed.php new file mode 100644 index 0000000..904cc82 --- /dev/null +++ b/user/plugins/mediaembed/classes/OEmbed/OEmbed.php @@ -0,0 +1,494 @@ +<?php +/** + * OEmbed + * + * This file is part of Grav MediaEmbed plugin. + * + * Dual licensed under the MIT or GPL Version 3 licenses, see LICENSE. + * http://benjamin-regler.de/license/ + */ + +namespace Grav\Plugin\MediaEmbed\OEmbed; + +use Grav\Common\GravTrait; +use Grav\Common\Data\Data; +use RocketTheme\Toolbox\Event\Event; + +/** + * OEmbed + */ +class OEmbed implements OEmbedInterface +{ + use GravTrait; + + /** + * @var \Grav\Common\Data\Data + */ + protected $base_config; + + /** + * @var \Grav\Common\Data\Data + */ + protected $config; + + /** + * @var string + */ + protected $embedCode = ''; + + /** + * @var array + */ + protected $attributes; + + /** + * @var array + */ + protected $params; + + /** + * @var array + */ + protected $oembed; + + protected $protocol; + + /** ------------- + * Public methods + * -------------- + */ + + /** + * Constructor. + */ + public function __construct(array $config = []) + { + $this->base_config = $this->config = new Data($config); + + $schemes = $this->base_config->get('schemes', []); + if (!is_array($schemes)) { + $schemes = [$schemes]; + } + + foreach ($schemes as $index => $scheme) { + $scheme = preg_quote($scheme); + + $schemes[$index] = preg_replace_callback('~((?:\\\\\*){1,2})(.[^\\\\]?|$)~', + function($match) { + // Remove control characters + $separator = preg_replace('~[^\p{L}]~i', '', $match[2]); + $star = strlen(str_replace('\\', '', $match[1])); + + if (ctype_alnum($separator)) { + $replace = '.*?'; + } else { + $separator = (strlen($separator) == 0) ? substr($match[2], -1) : $separator; + $replace = (strlen($match[2]) > 0) ? "[^$separator ]+" : '[^\"\&\?\. ]+'; + } + + // Wrap one star result in parenthesis + $replace = ($star > 1) ? $replace : "($replace)"; + return $replace . $match[2]; + }, $scheme); + } + $this->base_config->set('schemes', $schemes); + } + + public function init($embedCode, $config = []) + { + $this->reset(); + + // Normalize URL to embed + $url = $this->parseUrl($embedCode); + $this->embedCode = $this->canonicalize($embedCode); + $this->oembed = new Data((array) $this->getOEmbed()); + + // Get media attributes and object parameters + $attributes = [ + 'width'=> $this->oembed->get('width', 0), + 'height' => $this->oembed->get('height', 0), + 'protocol' => ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://", + ]; + + // $this->config->merge($config); + // $attributes = $this->config->get('media', []); + $params = array_replace_recursive($this->config->get('params', []), $url['query']); + + // Copy media attributes from object parameters + $attr_keys = ['width', 'height', 'adjust', 'preview', 'responsive']; + foreach ($attr_keys as $key) { + if (isset($params[$key])) { + $attributes[$key] = $params[$key]; + unset($params[$key]); + } + } + + // Set media attributes and object parameters + $this->attributes($attributes); + $this->params($params); + } + + public function canonicalize($embedCode) + { + $schemes = $this->config->get('schemes', []); + foreach ($schemes as $scheme) { + preg_match("~$scheme~i", $embedCode, $matches); + if ($matches && $this->validId(end($matches))) { + return end($matches); + } + } + } + + /** + * Check if a media id is valid. + * + * @param string $id Id to check against the oembed stream. + * + * @return boolean TRUE if id is valid, FALSE otherwise. Throws errors + * on invalid ids. + */ + protected function validId($id) + { + $endpoint = $this->config->get('endpoint', ''); + $endpoint = $this->format($endpoint, ['{:id}' => $id]); + + if (!$id || !$endpoint) { + return false; + } + + $response = \Requests::head($endpoint); + // If a head request fails, try to send a get request + if ($response->status_code != 200) { + $response = \Requests::get($endpoint); + } + + if ( $response->status_code == 401 ) { + throw new \Exception('Embedding has been disabled for this media.'); + } elseif ( $response->status_code == 404 ) { + throw new \Exception('The media ID was not found.'); + } elseif ( $response->status_code == 501 ) { + throw new \Exception('Media informations can not be retrieved.'); + } elseif ( $response->status_code != 200 ) { + throw new \Exception('The media ID is invalid or the media was deleted.'); + } elseif (!$response->success) { + $response->throw_for_status(); + } + + return true; + } + + public function reset() + { + // Reset values + $this->embedCode = ''; + $this->oembed = null; + + $this->attributes([], true); + $this->params([], true); + + $this->config = new Data($this->base_config->toArray()); + } + + public function id() + { + return $this->embedCode; + } + + public function slug() + { + $slug = strtolower($this->name()) . '://' . $this->id(); + return $slug; + } + + public function name() + { + $name = get_class($this); + $name = substr($name, strrpos($name, '\\') + 1); + + if ($this->embedCode) { + $name = $this->config->get('name', $name); + if (mb_strlen($name) == 0 && $this->oembed) { + $this->oembed->get('provider_name', ''); + } + } + + return $name; + } + + public function title() + { + $title = ''; + if ($this->oembed) { + $title = $this->oembed->get('title', ''); + } + return $title; + } + + public function description() + { + $description = ''; + if ($this->oembed) { + $description = $this->oembed->get('description', ''); + } + return $description; + } + + public function url() + { + $url = ''; + if ($this->embedCode && $this->oembed) { + $url = $this->format($this->config->get('url', ''), ['{:url}' => '']); + if (strlen($url) == 0) { + $url = $this->oembed->get('url', $url); + } else { + $protocol = isset($this->attributes['protocol']) ? $this->attributes['protocol'] : '//'; + $url = $protocol . $url; + } + } + + return $url; + } + + public function website() + { + $website = ''; + if ($this->oembed) { + $website = $this->oembed->get('provider_url', ''); + } + return $website; + } + + /** + * Returns a png img + * + * @param array $stub or string $alias + * @return Resource or null if not available + */ + public function icon() { + $icon = ''; + + $endpoint = ''; + if ($this->oembed) { + $endpoint = $this->format($this->config->get('endpoint', '')); + } + + if (!$endpoint) { + return $icon; + } + + $pieces = parse_url($endpoint); + $url = $pieces['host']; + + // Grab favicon from Google cache + $icon = 'http://www.google.com/s2/favicons?domain='; + $icon .= urlencode($url); + + return $icon; + } + + public function thumbnail() + { + $thumbnail = ''; + if ($this->oembed) { + $thumbnail = $this->oembed->get('thumbnail_url', ''); + } + return $thumbnail; + } + + public function type() + { + $type = $this->config->get('type', 'generic'); + if ($type === 'generic' && $this->embedCode && $this->oembed) { + $type = $this->oembed->get('type', $type); + } + + return $type; + } + + public function author($key = 'name') + { + $author = ''; + if ($this->embedCode && $this->oembed) { + $author = $this->oembed->get('author_' . strtolower($key), ''); + } + return $author; + } + + public function attributes($var = null, $reset = false) + { + if ($var !== null) { + if ($reset) { + $this->attributes = $var; + } else { + $this->attributes = array_replace_recursive($this->attributes, $var); + } + } + if (!is_array($this->attributes)) { + $this->attributes = []; + } + return $this->attributes; + } + + public function params($var = null, $reset = false) + { + if ($var !== null) { + if ($reset) { + $this->params = $var; + } else { + $this->params = array_replace_recursive($this->params, $var); + } + } + if (!is_array($this->params)) { + $this->params = []; + } + return $this->params; + } + + public function getEmbedCode($params = []) + { + $params = array_replace_recursive($this->params(), $params); + $url = $this->url(); + + $query = http_build_query($params); + if (mb_strlen($query) > 0) { + $query = (false === strpos($url, '?') ? '?' : '&') . $query; + } + return $url . $query; + } + + /** + * Returns information about the media. See http://www.oembed.com/. + * + * @return + * If oEmbed information is available, an array containing 'title', 'type', + * 'url', and other information as specified by the oEmbed standard. + * Otherwise, NULL. + */ + public function getOEmbed() + { + if ($this->oembed) { + return $this->oembed; + } + + $endpoint = $this->format($this->config->get('endpoint', '')); + if (!$endpoint) { + return []; + } + + $response = \Requests::get($endpoint); + if (!$response->success) { + $response->throw_for_status(); + } + + return json_decode($response->body, true); + } + + /** + * Return the domain(s) of this media resource + * + * @return string + */ + public function getDomains() + { + // Get domains of media resources + $schemes = $this->base_config->get('schemes', []); + + // Ensure domains are of type array + if (!is_array($schemes)) { + $schemes = [$schemes]; + } + + $domains = []; + foreach ($schemes as $scheme) { + // Trick: extract domains from scheme attributes + $domain = parse_url(str_replace('\.', '.', "http://$scheme"), PHP_URL_HOST); + + // Take out the www. in front of domain + $domains[] = preg_replace("/^www\./", '', $domain); + } + + // Faster alternative to PHP’s array unique function + return array_keys(array_flip($domains)); + } + + public function onTwigTemplateVariables(Event $event) + { + $mediaembed = $event['mediaembed']; + foreach ($this->config->get('assets', []) as $asset) { + if (is_string($asset) && strlen($asset) > 0) { + $mediaembed->add($asset); + } + } + } + + /** + * Convenience wrapper for `echo $ServiceProvider` + * + * @return string + */ + public function __toString() + { + return $this->getEmbedCode(); + } + + /** ------------------------------- + * Private/protected helper methods + * -------------------------------- + */ + + protected function format($string, $params = []) + { + $keys = ['id', 'name', 'url']; + foreach ($keys as $key) { + if (!isset($params["{:$key}"])) { + $params["{:$key}"] = $this->{$key}(); + } + } + $params += [ + '{:canonical}' => $this->config->get('canonical', ''), + ]; + + // Format URL placeholder with params + $keys = ['{:url}', '{:canonical}']; + foreach ($keys as $key) { + $params[$key] = urlencode(str_ireplace( + array_keys($params), $params, $params[$key]) + ); + } + + // Replace OEmbed calls with response + $string = preg_replace_callback('~\{\:oembed(?:\.(?=\w))([\.\w_]+)?\}~i', + function($match) { + $ombed = $this->getOEmbed(); + return $oembed ? $oembed->get($match[1], '') : $match[0]; + }, $string); + + return str_ireplace(array_keys($params), $params, $string); + } + + protected function parseUrl($url) + { + if (!filter_var($url, FILTER_VALIDATE_URL)) { + return []; + } + + // Parse URL + $url = html_entity_decode($url, ENT_COMPAT | ENT_HTML401, 'UTF-8'); + $parts = parse_url($url); + $parts['url'] = $url; + + // Get top-level domain from URL + $parts['domain'] = isset($parts['host']) ? $parts['host'] : ''; + if ( preg_match('~(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$~i', $parts['domain'], $match) ) { + $parts['domain'] = $match['domain']; + } + + if (isset($parts['query'])) { + parse_str(urldecode($parts['query']), $parts['query']); + } else { + $parts['query'] = []; + } + + return $parts; + } +} diff --git a/user/plugins/mediaembed/classes/OEmbed/OEmbedInterface.php b/user/plugins/mediaembed/classes/OEmbed/OEmbedInterface.php new file mode 100644 index 0000000..4c5f779 --- /dev/null +++ b/user/plugins/mediaembed/classes/OEmbed/OEmbedInterface.php @@ -0,0 +1,156 @@ +<?php +/** + * OEmbedInterface + * + * This file is part of Grav MediaEmbed plugin. + * + * Dual licensed under the MIT or GPL Version 3 licenses, see LICENSE. + * http://benjamin-regler.de/license/ + */ + +namespace Grav\Plugin\MediaEmbed\OEmbed; + +/** + * OEmbedInterface + */ +interface OEmbedInterface +{ + /** + * Initialize service. + */ + public function init($embedCode, $config = []); + + /** + * Reset service. + */ + public function reset(); + + /** + * Extract and normalize id from embed code. + * + * @param string $embedCode The embed code to be canonicalized + * @return string Returns the canonicalized embed code, + * usually an id. + */ + public function canonicalize($embedCode); + + /** + * Returns the unique id of a media resource. + * + * @return string + */ + public function id(); + + /** + * Returns the host as slugged string. + * + * @return string + */ + public function slug(); + + /** + * Returns the name of this media. + * + * @return string + */ + public function name(); + + /** + * Returns the title of this media. + * + * @return string + */ + public function title(); + + /** + * Returns the description of this media. + * + * @return string + */ + public function description(); + + /** + * The URL of this media + * + * @return string + */ + public function url(); + + /** + * The website where this media come from. + * + * @return string + */ + public function website(); + + /** + * Gets the thumbnail of the media and its dimensions. + * + * @return array + */ + public function thumbnail(); + + /** + * Returns the type of this media. + * + * @return string + */ + public function type(); + + /** + * Gets the author and informations about him from the media. + * + * @return array + */ + public function author($key = 'name'); + + /** + * Gets or sets object attributes about the media + * + * @param bool $var Media attributes + * + * @return array Returns object attributes about the media i.e. + * width, height and so on. + */ + public function attributes($var = [], $reset = false); + + /** + * Gets or sets object parameter about the media + * + * @param bool $var Media parameter. + * + * @return array Returns the object parameter about the media i.e. + * additional parameter for the request + */ + public function params($var = [], $reset = false); + + /** + * Returns the final HTML code for display. + * + * @return string + */ + public function getEmbedCode($params = []); + + /** + * Returns information about the media. See http://www.oembed.com/. + * + * @return + * If oEmbed information is available, an array containing 'title', 'type', + * 'url', and other information as specified by the oEmbed standard. + * Otherwise, NULL. + */ + public function getOEmbed(); + + /** + * Returns the accepted domains of this media resource + * + * @return array + */ + public function getDomains(); + + /** + * Special Template events fired by Grav\Plugin\MediaEmbed\Service. + */ + // public function onTwigTemplatePaths(); + // public function onTwigTemplateVariables(Event $event); +} diff --git a/user/plugins/mediaembed/classes/OEmbed/OEmbedLink.php b/user/plugins/mediaembed/classes/OEmbed/OEmbedLink.php new file mode 100644 index 0000000..8f39722 --- /dev/null +++ b/user/plugins/mediaembed/classes/OEmbed/OEmbedLink.php @@ -0,0 +1,25 @@ +<?php +/** + * OEmbedLink + * + * This file is part of Grav MediaEmbed plugin. + * + * Dual licensed under the MIT or GPL Version 3 licenses, see LICENSE. + * http://benjamin-regler.de/license/ + */ + +namespace Grav\Plugin\MediaEmbed\OEmbed; + +use Grav\Plugin\MediaEmbed\OEmbed\OEmbed; + +/** + * OEmbedLink + * + * Responses of this type allow a provider to return any generic embed + * data (such as title and author_name), without providing either the + * url or html parameters. The consumer may then link to the resource, + * using the URL specified in the original request. + */ +class OEmbedLink extends OEmbed +{ +} diff --git a/user/plugins/mediaembed/classes/OEmbed/OEmbedPhoto.php b/user/plugins/mediaembed/classes/OEmbed/OEmbedPhoto.php new file mode 100644 index 0000000..b471132 --- /dev/null +++ b/user/plugins/mediaembed/classes/OEmbed/OEmbedPhoto.php @@ -0,0 +1,48 @@ +<?php +/** + * OEmbedPhoto + * + * This file is part of Grav MediaEmbed plugin. + * + * Dual licensed under the MIT or GPL Version 3 licenses, see LICENSE. + * http://benjamin-regler.de/license/ + */ + +namespace Grav\Plugin\MediaEmbed\OEmbed; + +use Grav\Plugin\MediaEmbed\OEmbed\OEmbed; + +/** + * OEmbedPhoto + * + * This type is used for representing static photos. The following + * parameters are defined: + * + * url (required) + * The source URL of the image. Consumers should be able to insert + * this URL into an <img> element. Only HTTP and HTTPS URLs are valid. + * + * width (required) + * The width in pixels of the image specified in the url parameter. + * + * height (required) + * The height in pixels of the image specified in the url parameter. + * + * Responses of this type must obey the maxwidth and maxheight request + * parameter. + */ +class OEmbedPhoto extends OEmbed +{ + public function getOEmbed() + { + $oembed = parent::getOEmbed(); + + if ($this->embedCode && $this->oembed) { + $width = $this->oembed->get('width'); + $height = $this->oembed->get('height'); + $this->attributes(['width' => $width, 'height' => $height]); + } + + return $oembed; + } +} diff --git a/user/plugins/mediaembed/classes/OEmbed/OEmbedRich.php b/user/plugins/mediaembed/classes/OEmbed/OEmbedRich.php new file mode 100644 index 0000000..95b5393 --- /dev/null +++ b/user/plugins/mediaembed/classes/OEmbed/OEmbedRich.php @@ -0,0 +1,62 @@ +<?php +/** + * OEmbedRich + * + * This file is part of Grav MediaEmbed plugin. + * + * Dual licensed under the MIT or GPL Version 3 licenses, see LICENSE. + * http://benjamin-regler.de/license/ + */ + +namespace Grav\Plugin\MediaEmbed\OEmbed; + +use Grav\Plugin\MediaEmbed\OEmbed\OEmbed; + +/** + * OEmbedRich + * + * This type is used for rich HTML content that does not fall under one + * of the other categories. The following parameters are defined: + * + * html (required) + * The HTML required to display the resource. The HTML should have no + * padding or margins. Consumers may wish to load the HTML in an + * off-domain iframe to avoid XSS vulnerabilities. The markup should + * be valid XHTML 1.0 Basic. + * + * width (required) + * The width in pixels required to display the HTML. + * + * height (required) + * The height in pixels required to display the HTML. + * + * Responses of this type must obey the maxwidth and maxheight request + * parameters. + */ +class OEmbedRich extends OEmbed +{ + public function getOEmbed() + { + $oembed = parent::getOEmbed(); + + $sizes = ['width', 'height']; + foreach ($sizes as $key) { + $size = isset($oembed[$key]) ? $oembed[$key] : 0; + if (!preg_match('~^\d+$~', $size)) { + $oembed[$key] = 0; + } + } + + return $oembed; + } + + public function getEmbedCode($params = []) + { + $embed = parent::getEmbedCode($params); + if ($this->embedCode && $this->oembed) { + $embed = $this->oembed->get('html', ''); + } + + return $embed; + } +} diff --git a/user/plugins/mediaembed/classes/OEmbed/OEmbedVideo.php b/user/plugins/mediaembed/classes/OEmbed/OEmbedVideo.php new file mode 100644 index 0000000..06c75d4 --- /dev/null +++ b/user/plugins/mediaembed/classes/OEmbed/OEmbedVideo.php @@ -0,0 +1,61 @@ +<?php +/** + * OEmbedVideo + * + * This file is part of Grav MediaEmbed plugin. + * + * Dual licensed under the MIT or GPL Version 3 licenses, see LICENSE. + * http://benjamin-regler.de/license/ + */ + +namespace Grav\Plugin\MediaEmbed\OEmbed; + +use Grav\Plugin\MediaEmbed\OEmbed\OEmbed; + +/** + * OEmbedVideo + * + * This type is used for representing playable videos. The following + * parameters are defined: + * + * html (required) + * The HTML required to embed a video player. The HTML should have + * no padding or margins. Consumers may wish to load the HTML in an + * off-domain iframe to avoid XSS vulnerabilities. + * + * width (required) + * The width in pixels required to display the HTML. + * + * height (required) + * The height in pixels required to display the HTML. + * + * Responses of this type must obey the maxwidth and maxheight request + * parameters. If a provider wishes the consumer to just provide a + * thumbnail, rather than an embeddable player, they should instead + * return a photo response type. + */ +class OEmbedVideo extends OEmbed +{ + public function getOEmbed() + { + $oembed = parent::getOEmbed(); + + if ($this->embedCode && $this->oembed) { + $width = $this->oembed->get('width'); + $height = $this->oembed->get('height'); + $this->attributes(['width' => $width, 'height' => $height]); + } + + return $oembed; + } + + public function getEmbedCode($params = []) + { + $embed = parent::getEmbedCode($params); + if (mb_strlen($embed) == 0 && $this->embedCode && $this->oembed) { + $embed = $this->oembed->get('html', ''); + } + + return $embed; + } +} diff --git a/user/plugins/mediaembed/classes/ProviderInterface.php b/user/plugins/mediaembed/classes/ProviderInterface.php new file mode 100644 index 0000000..750826a --- /dev/null +++ b/user/plugins/mediaembed/classes/ProviderInterface.php @@ -0,0 +1,115 @@ +<?php +/** + * ProviderInterface + * + * This file is part of Grav MediaEmbed plugin. + * + * Dual licensed under the MIT or GPL Version 3 licenses, see LICENSE. + * http://benjamin-regler.de/license/ + */ + +namespace Grav\Plugin\MediaEmbed; + +/** + * ProviderInterface + */ +interface ProviderInterface +{ + /** + * Initialize service. + */ + public function init($embedCode); + + /** + * Reset service. + */ + public function reset(); + + /** + * Extract and normalize id from embed code. + * + * @param string $embedCode The embed code to be canonicalized + * @return string Returns the canonicalized embed code, + * usually an id. + */ + public function canonicalize($embedCode); + + /** + * Returns the unique id of a media resource. + * + * @return string + */ + public function id(); + + /** + * Returns the host as slugged string. + * + * @return string + */ + public function slug(); + + /** + * Returns the name of this media. + * + * @return string + */ + public function name(); + + /** + * Returns the type of this media. + * + * @return string + */ + public function type(); + + + /** + * Gets or sets object attributes about the media + * + * @param bool $var Media attributes + * + * @return array Returns object attributes about the media i.e. + * width, height and so on. + */ + public function attributes($var = []); + + /** + * Gets or sets object parameter about the media + * + * @param bool $var Media parameter. + * + * @return array Returns the object parameter about the media i.e. + * additional parameter for the request + */ + public function params($var = []); + + /** + * Returns the final HTML code for display. + * + * @return string + */ + public function getEmbedCode(); + + /** + * Returns information about the media. See http://www.oembed.com/. + * + * @return + * If oEmbed information is available, an array containing 'title', 'type', + * 'url', and other information as specified by the oEmbed standard. + * Otherwise, NULL. + */ + public function getOEmbed(); + + /** + * Returns the accepted domains of this media resource + * + * @return array + */ + public function getDomains(); + + /** + * Special Template events fired by Grav\Plugin\MediaEmbed\Service. + */ + // public function onTwigTemplatePaths(); + // public function onTwigTemplateVariables(Event $event); +} diff --git a/user/plugins/mediaembed/classes/Service.php b/user/plugins/mediaembed/classes/Service.php new file mode 100644 index 0000000..7be3bc2 --- /dev/null +++ b/user/plugins/mediaembed/classes/Service.php @@ -0,0 +1,318 @@ +<?php +/** + * Service + * + * This file is part of Grav MediaEmbed plugin. + * + * Dual licensed under the MIT or GPL Version 3 licenses, see LICENSE. + * http://benjamin-regler.de/license/ + */ + +namespace Grav\Plugin\MediaEmbed; + +use Grav\Common\Grav; +use Grav\Common\GravTrait; +use RocketTheme\Toolbox\Event\Event; + +/** + * Service + */ +class Service +{ + /** + * @var Service + */ + use GravTrait; + + /** --------------------------- + * Private/protected properties + * ---------------------------- + */ + + /** + * @var Grav\Plugin\MediaEmbed\ServiceProvider + */ + protected $services = []; + + /** + * @var array + */ + protected $domains; + + /** ------------- + * Public methods + * -------------- + */ + + public function __construct() + { + // Fire event + self::getGrav()->fireEvent('onMediaEmbed', new Event(['service' => $this])); + } + + public function call($method, $params = []) + { + $result = []; + foreach ($this->services as $key => $service) { + if (method_exists($service['provider'], $method)) { + $data = call_user_method_array([$service['provider'], $method], $params); + if ($data) { + $result[] = $data; + } + } + } + + return $result; + } + + public function match($url, $embedCode = null) + { + $embed_key = 'embed'; + if ($embedCode && (strtolower($embedCode) !== $embed_key)) { + return false; + } + + $parts = $this->parseUrl($url); + if ($parts['host'] == $embed_key) { + return false; + } + + return isset($this->domains[$parts['host']]); + } + + public function embed($embedCode, $options = []) + { + if (!$this->match($embedCode)) { + throw new \Exception('Unknown embed code "' . htmlspecialchars($embedCode) . '".'); + } + + // Extract domain from embed code + $domain = strtolower($this->parseUrl($embedCode)['host']); + $key = $this->domains[$domain]; + + // Call OEmbed service provider + $provider = $this->services[$key]['provider']; + $provider->init($embedCode, $options); + + // Return initialized provider + return $provider; + + // // Get type of media + // $type = ucfirst($provider->type()); + + // // Get the default properties of the response class + // $class = __NAMESPACE__ . "\\Response\\{$type}Response"; + + // // Repopulate properties + // $vars = [ + // 'raw' => $embedCode, + // 'options' => $provider->attributes(), + // 'url' => $provider->getEmbedCode(, + // ] + get_class_vars($class); + + // // Enrich properties with media resource informations + // foreach ($vars as $key => $value) { + // if (!$value) { + // $vars[$key] = $provider->{$key}(); + // } + // } + + // // Create response + // $response = new $class($vars); + + // return [$provider, $response]; + + // try { + // // Call ServiceProvider + // $provider->init($embedCode); + + // $embed += array( + // // Get unique id of video + // 'id' => $provider->canonicalize($embedCode), + + // // Templates are stored in the templates/partials folder + // 'assets' => $provider->getAssets(), + // 'template' => $provider->getTemplatePaths(), + // 'variables' => $provider->getTemplateVariables(), + + // // Store embed status of ServiceProvider call + // 'success' => true, + // 'message' => '', + // ); + // } catch (\Exception $e) { + // $embed['success'] = false; + // $embed['message'] = $e->getMessage(); + // } + // } + + // return $embed; + } + + public function getDomains() + { + $allDomains = []; + foreach ($this->services as $key => $service) { + $allDomains[] = $service['domains']; + } + + // Flatten multidimensional array of domains + $domains = []; + array_walk($allDomains, function($domain) use (&$domains) { + $domains[] = $domain; + }); + + // Return unique array of domains + return array_unique($domains); + } + + public function getProviders() + { + // Get providers sorted by priority + $classes = $this->collectProviders(function($key, $service) { + return true; + }, true, 'class'); + + // Replace names with provider classes + $providers = []; + foreach ($classes as $class) { + $name = substr($class, strrpos($class, '\\') + 1); + $provider = $this->services[$class]['provider']; + + if ( isset($providers[$name]) ) { + $providers[$name] = array($providers[$name], $provider); + } else { + $providers[$name][] = $provider; + } + } + + return $providers; + } + + public function getProviderByName($name, $all = false) + { + $providers = $this->collectProviders( + function($key, $service) use ($name) { + return preg_match("~^$name$~i", $service['name']); + }, $all); + + return $providers; + } + + public function getProviderByDomain($domain, $all = false) + { + $providers = $this->collectProviders( + function($key, $service) use ($domain) { + return in_array($domain, $service['domains']); + }, $all); + + return $providers; + } + + public function register($provider, $priority = 0) + { + if ($provider instanceof \Grav\Plugin\MediaEmbed\OEmbed\OEmbed) { + $key = md5(spl_object_hash($provider)); + $domains = $provider->getDomains(); + + $this->services[$key] = array( + 'priority' => $priority, + 'domains' => $domains, + 'provider' => $provider, + 'name' => $provider->name(), + 'class' => $key, + ); + + foreach ($domains as $domain) { + if (!isset($this->domains[$domain]) || ($priority > $this->services[$domain]['priority'])) { + $this->domains[$domain] = $key; + } + } + } + } + + public function unregister($provider) + { + if ($provider instanceof \Grav\Plugin\MediaEmbed\OEmbed\OEmbed) { + $key = md5(spl_object_hash($provider)); + if (isset($this->services[$key])) { + $domains = $this->services[$key]['domains']; + unset($this->services[$key]); + + // Unset and repopulate domain keys, if possible + foreach ($domains as $domain) { + if ($provider = $this->getProviderByDomain($domain)) { + $this->domains[$domain] = get_class($provider); + } else { + unset($this->domains[$domain]); + } + } + } + } + } + + protected function collectProviders($callback, $all, $id = 'provider') + { + $services = []; + foreach ($this->services as $key => $service) { + if ($callback($key, $service)) { + $services[] = $service; + } + } + + // Sort providers based on priority + uasort($services, function ($a, $b) { + // Priority is first sort criterion + $cmp = $a['priority'] - $b['priority']; + + // Text string is second criterion (in case of two equal priorities) + if ( $cmp == 0 ) { + $cmp = strnatcmp($a['name'], $b['name']); + } + + return $cmp; + }); + + // Strip additional service informations + $providers = array_map(function($service) use ($id) { + return $service[$id]; + }, $services); + + if (count($providers)) { + // Return providers + return ($all ? $providers : $providers[0]); + } + + return []; + } + + /** ------------------------------- + * Private/protected helper methods + * -------------------------------- + */ + + protected function parseUrl($url) + { + if (!filter_var($url, FILTER_VALIDATE_URL)) { + return []; + } + + // Parse URL + $url = html_entity_decode($url, ENT_COMPAT | ENT_HTML401, 'UTF-8'); + $parts = parse_url($url); + $parts['url'] = $url; + $parts['host'] = preg_replace("/^www\./", '', $parts['host']); + + // Get top-level domain from URL + $parts['domain'] = isset($parts['host']) ? $parts['host'] : ''; + if ( preg_match('~(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$~i', $parts['domain'], $match) ) { + $parts['domain'] = $match['domain']; + } + + if (isset($parts['query'])) { + parse_str(urldecode($parts['query']), $parts['query']); + } + $parts['query'] = []; + + return $parts; + } +} diff --git a/user/plugins/mediaembed/classes/ServiceProvider.php b/user/plugins/mediaembed/classes/ServiceProvider.php new file mode 100644 index 0000000..751e333 --- /dev/null +++ b/user/plugins/mediaembed/classes/ServiceProvider.php @@ -0,0 +1,234 @@ +<?php +/** + * ServiceProvider + * + * This file is part of Grav MediaEmbed plugin. + * + * Dual licensed under the MIT or GPL Version 3 licenses, see LICENSE. + * http://benjamin-regler.de/license/ + */ + +namespace Grav\Plugin\MediaEmbed; + +use Grav\Common\Grav; +use Grav\Common\GravTrait; +use Grav\Common\Data\Data; +use RocketTheme\Toolbox\Event\Event; + +/** + * ServiceProvider + */ +abstract class ServiceProvider implements ProviderInterface +{ + use GravTrait; + /** + * @var \Grav\Common\Data\Data + */ + protected $config; + + /** + * @var string + */ + protected $embedCode = ''; + + /** + * @var array + */ + protected $attributes; + + /** + * @var array + */ + protected $params; + + /** ------------- + * Public methods + * -------------- + */ + + /** + * Constructor. + */ + public function __construct(array $config = []) + { + $this->config = new Data($config); + } + + public function init($embedCode) + { + $this->reset(); + + // Normalize URL to embed + $this->embedCode = $this->canonicalize($embedCode); + $url = $this->parseUrl($embedCode); + + // Get media attributes and object parameters + $attributes = $this->config->get('media', []); + $params = array_replace_recursive($this->config->get('params', []), $url['query']); + + // Copy media attributes from object parameters + $attr_keys = ['width', 'height', 'crop', 'preview', 'responsive']; + foreach ($attr_keys as $key) { + if (isset($params[$key])) { + $attributes[$key] = $params[$key]; + unset($params[$key]); + } + } + + // Set media attributes and object parameters + $this->attributes($attributes); + $this->params($params); + } + + public function reset() { + // Reset values + $this->embedCode = ''; + + $this->attributes([]); + $this->params([]); + } + + public function id() + { + return $this->embedCode; + } + + public function slug() + { + $slug = strtolower($this->name()) . '://' . $this->id(); + return $slug; + } + + public function name() + { + $name = $this->config->get('name', get_class($this)); + return substr($name, strrpos($name, '\\') + 1); + } + + public function type() + { + return $this->config->get('type', 'unknown'); + } + + public function thumbnail() { + $thumbnails = $this->config->get('thumbnail', []); + if (is_string($thumbnails)) { + $thumbnails = [$thumbnails]; + } + + $url = ''; + foreach ($thumbnails as $thumbnail) { + $thumbnail = $this->format($thumbnail); + if (substr(get_headers($thumbnail)[0], -6) == '200 OK') { + $url = $thumbnail; + break; + } + } + + return $url; + } + + public function attributes($var = null) + { + if ($var !== null) { + $this->attributes = $var; + } + if (!is_array($this->attributes)) { + $this->attributes = []; + } + return $this->attributes; + } + + public function params($var = null) + { + if ($var !== null) { + $this->params = $var; + } + if (!is_array($this->params)) { + $this->params = []; + } + return $this->params; + } + + /** + * Return the domain(s) of this media resource + * + * @return string + */ + // public function getDomains() + // { + // return []; + // } + + public function onTwigTemplateVariables(Event $event) + { + $mediaembed = $event['mediaembed']; + foreach ($this->config->get('assets', []) as $asset) { + $mediaembed->add($asset); + } + } + + /** + * Convenience wrapper for `echo $ServiceProvider` + * + * @return string + */ + public function __toString() { + return $this->getEmbedCode(); + } + + /** ------------------------------- + * Private/protected helper methods + * -------------------------------- + */ + + protected function format($string, $params = []) + { + $params += [ + '{:id}' => $this->id(), + '{:name}' => $this->name(), + '{:url}' => urlencode($this->config->get('website', '')), + ]; + + // Format URL placeholder with params + $params['{:url}'] = urlencode(str_ireplace(array_keys($params), $params, $params['{:url}'])); + + $string = preg_replace_callback('~\{\:oembed(?:\.(?=\w))([\.\w_]+)?\}~i', + function($match) { + static $oembed; + + if (is_null($oembed)) { + $oembed = new Data($this->getOEmbed()); + } + + return $oembed->get($match[1], ''); + }, $string); + + return str_ireplace(array_keys($params), $params, $string); + } + + protected function parseUrl($url) + { + if (!filter_var($url, FILTER_VALIDATE_URL)) { + return []; + } + + // Parse URL + $url = html_entity_decode($url, ENT_COMPAT | ENT_HTML401, 'UTF-8'); + $parts = parse_url($url); + $parts['url'] = $url; + + // Get top-level domain from URL + $parts['domain'] = isset($parts['host']) ? $parts['host'] : ''; + if ( preg_match('~(?P<domain>[a-z0-9][a-z0-9\-]{1,63}\.[a-z\.]{2,6})$~i', $parts['domain'], $match) ) { + $parts['domain'] = $match['domain']; + } + + if (isset($parts['query'])) { + parse_str(urldecode($parts['query']), $parts['query']); + } + $parts['query'] = []; + + return $parts; + } +} diff --git a/user/plugins/mediaembed/classes/Services/Github.php b/user/plugins/mediaembed/classes/Services/Github.php new file mode 100644 index 0000000..7314136 --- /dev/null +++ b/user/plugins/mediaembed/classes/Services/Github.php @@ -0,0 +1,56 @@ +<?php +/** + * GitHub + * + * This file is part of Grav MediaEmbed plugin. + * + * Dual licensed under the MIT or GPL Version 3 licenses, see LICENSE. + * http://benjamin-regler.de/license/ + */ + +namespace Grav\Plugin\MediaEmbed\Services; + +use Grav\Common\Debugger; +use Grav\Plugin\MediaEmbed\OEmbed\OEmbedRich; + +/** + * GitHub + */ +class GitHub extends OEmbedRich +{ + + public function getOEmbed() + { + if ($this->oembed) { + return $this->oembed; + } + + $endpoint = $this->format($this->config->get('endpoint', '')); + + if (!$endpoint) { + return []; + } + + $response = \Requests::get($endpoint); + if (!$response->success) { + $response->throw_for_status(); + } + + $json = json_decode($response->body, true); + + $this->oembed = [ + 'type' => 'rich', + 'title' => $json['files'], + 'description' => $json['description'], + 'author_name' => $json['owner'], + 'author_url' => 'https://github.com/' . $json['owner'], + 'provider' => 'GitHub', + 'provider_url' => 'https://gist.github.com/', + 'url' => 'https://gist.github.com/' . $this->embedCode, + 'html' => $json['div'], + ]; + + $this->config->join('assets', [$json['stylesheet']]); + return $this->oembed; + } +} diff --git a/user/plugins/mediaembed/classes/Services/Slides.php b/user/plugins/mediaembed/classes/Services/Slides.php new file mode 100644 index 0000000..746278e --- /dev/null +++ b/user/plugins/mediaembed/classes/Services/Slides.php @@ -0,0 +1,72 @@ +<?php +/** + * Slides.com + * + * This file is part of Grav MediaEmbed plugin. + * + * Dual licensed under the MIT or GPL Version 3 licenses, see LICENSE. + * http://benjamin-regler.de/license/ + */ + +namespace Grav\Plugin\MediaEmbed\Services; + +use Grav\Plugin\MediaEmbed\OEmbed\OEmbedRich; + +/** + * Slides + */ +class Slides extends OEmbedRich +{ + public function getOEmbed() + { + if ($this->oembed) { + return $this->oembed; + } + + $endpoint = $this->format($this->config->get('endpoint', '')); + if (!$endpoint) { + return []; + } + + // Extract owner from embed code + list($owner, $id) = explode('/', $this->embedCode, 2); + + // Fake response + $this->oembed = [ + 'type' => 'rich', + 'title' => '', + 'description' => '', + 'author_name' => $owner, + 'author_url' => 'http://slides.com/'.$owner, + 'provider' => 'Slides', + 'provider_url' => 'http://slides.com', + 'url' => 'http://slides.com/'.$this->embedCode, + 'html' => '<iframe src="//slides.com/'.rtrim($this->embedCode, '/').'/embed" width="576" height="420" scrolling="no" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>', + 'width' => 576, + 'height' => 420, + ]; + + return $this->oembed; + } + + public function getEmbedCode($params = []) + { + $embed = parent::getEmbedCode($params); + if ($this->embedCode && $this->oembed) { + // Inject parameters directly into HTML OEmbed attribute + $query = http_build_query($this->params()); + $url = $this->attributes['protocol'].'slides.com/'.rtrim($this->embedCode, '/').'/embed'; + if (mb_strlen($query) > 0) { + $url .= (false === strpos($url, '?') ? '?' : '&') . $query; + } + + // Get width and height + $width = $this->attributes['width']; + $height = $this->attributes['height']; + + $embed = '<iframe src="'.$url.'" width="'.$width.'" height="'.$height.'" scrolling="no" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>'; + } + + return $embed; + } +} diff --git a/user/plugins/mediaembed/classes/Services/Twitter.php b/user/plugins/mediaembed/classes/Services/Twitter.php new file mode 100644 index 0000000..999c992 --- /dev/null +++ b/user/plugins/mediaembed/classes/Services/Twitter.php @@ -0,0 +1,51 @@ +<?php +/** + * Twitter + * + * This file is part of Grav MediaEmbed plugin. + * + * Dual licensed under the MIT or GPL Version 3 licenses, see LICENSE. + * http://benjamin-regler.de/license/ + */ + +namespace Grav\Plugin\MediaEmbed\Services; + +use Grav\Plugin\MediaEmbed\OEmbed\OEmbedRich; + +/** + * Twitter + */ +class Twitter extends OEmbedRich +{ + + public function getOEmbed() + { + if ($this->oembed) { + return $this->oembed; + } + + $endpoint = $this->format($this->config->get('endpoint', '')); + if (!$endpoint) { + return []; + } + + $response = \Requests::get($endpoint); + if (!$response->success) { + $response->throw_for_status(); + } + + $json = json_decode($response->body, true); + + $this->oembed = [ + 'type' => 'rich', + 'author_name' => $json['author_name'], + 'author_url' => 'https://twitter.com/' . $json['author_name'], + 'provider_name' => 'Twitter', + 'provider_url' => 'https://twitter.com/', + 'url' => 'https://www.twitter.com/' . $this->embedCode, + 'html' => $json['html'], + ]; + + return $this->oembed; + } +} \ No newline at end of file diff --git a/user/plugins/mediaembed/docs/CONTRIBUTING.md b/user/plugins/mediaembed/docs/CONTRIBUTING.md new file mode 100644 index 0000000..af26328 --- /dev/null +++ b/user/plugins/mediaembed/docs/CONTRIBUTING.md @@ -0,0 +1,125 @@ +# Contributing to Grav MediaEmbed plugin + +Please take a moment to review this document in order to make the contribution process easy and effective for everyone involved. + +Following these guidelines helps to communicate that you respect the time of the developers managing and developing this open source project. In return, they should reciprocate that respect in addressing your issue or assessing patches and features. + +## Using the issue tracker + +The issue tracker is the preferred channel for [bug reports](#bugs), [features requests](#features) and [submitting pull requests](#pull-requests), but please respect the following restrictions: + +* Please format your issue using [GitHub's markdown syntax and features][markdown]. + +* Please **do not** use the issue tracker for personal support requests (use [Stack Overflow](http://stackoverflow.com) or IRC). + +* Please **do not** derail or troll issues. Keep the discussion on topic and respect the opinions of others. + +As a courtesy to avoid sending notifications to any user that might have the `@username` being referenced, please remember that GitHub usernames also start with the at sign and therefore wrap words that begin with the at sign (`@`) in backticks. + +<a id="bugs"></a> +## Bug reports + +A bug is a _demonstrable problem_ that is caused by the code in the repository. Good bug reports are extremely helpful - thank you! + +Guidelines for bug reports: + +1. **Use the GitHub issue search** — check if the issue has already been reported. + +2. **Check if the issue has been fixed** — try to reproduce it using the latest `master` or development branch in the repository. + +3. **Isolate the problem** — create a [reduced test case](http://css-tricks.com/6263-reduced-test-cases/) and a live example that should be included in each bug report. + +A good bug report shouldn't leave others needing to chase you up for more information. Please try to be as detailed as possible in your report. What is your environment? What steps will reproduce the issue? What browser(s) and OS experience the problem? What would you expect to be the outcome? All these details will help people to fix any potential bugs. + +_Example:_ + +> Short and descriptive example bug report title +> +> A summary of the issue and the browser/OS environment in which it occurs. If +> suitable, include the steps required to reproduce the bug. +> +> 1. This is the first step +> 2. This is the second step +> 3. Further steps, etc. +> +> `<url>` - a link to the reduced test case +> +> Any other information you want to share that is relevant to the issue being +> reported. This might include the lines of code that you have identified as +> causing the bug, and potential solutions (and your opinions on their +> merits). + +Last but not least, if you have a solution or suggestion for how to fix the bug you're reporting, please include it, too, or make a pull request - this will make the life of the maintainers easier and a bug faster to be fixed. + +<a id="features"></a> +## Feature requests + +Feature requests are welcome. But take a moment to find out whether your idea fits with the scope and aims of the project. It's up to *you* to make a strong case to convince the project's developers of the merits of this feature. Please provide as much detail and context as possible and don't forget: + +* Please search for existing feature requests first to see if something similar already exists. +* Include a clear and specific use-case. We love new ideas, but we do not add features without a reason. +* Consider whether or not your feature would be better as a function or implemented in a separate project. + +## Pull requests + +Good pull requests - patches, improvements, new features - are a fantastic help. They should remain focused in scope and avoid containing unrelated commits. You can start by adding a feature request to get feedback and see how your idea is received. + +**Please ask first** before embarking on any significant pull request (e.g. implementing features, refactoring code, porting to a different language), otherwise you risk spending a lot of time working on something that the project's developers might not want to merge into the project. + +Please adhere to the coding conventions used throughout a project (indentation, accurate comments, etc.) and any other requirements (such as test coverage). + +Follow this process if you'd like your work considered for inclusion in the project: + +1. [Fork](http://help.github.com/fork-a-repo/) the project, clone your fork, and configure the remotes: + + ```bash + # Clone your fork of the repo into the current directory + git clone https://github.com/<your-username>/<repo-name> + # Navigate to the newly cloned directory + cd <repo-name> + # Assign the original repo to a remote called "upstream" + git remote add upstream https://github.com/<upstream-owner>/<repo-name> + ``` + +2. If you cloned a while ago, get the latest changes from upstream: + + ```bash + git checkout <dev-branch> + git pull upstream <dev-branch> + ``` + +3. Create a new topic branch (off the main project development branch) to contain your feature, change, or fix: + + ```bash + git checkout -b <topic-branch-name> + ``` + +4. Commit your changes in logical chunks. Please adhere to these [git commit message guidelines](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) or your code is unlikely be merged into the main project. Use Git's [interactive rebase](https://help.github.com/articles/interactive-rebase) feature to tidy up your commits before making them public. + +5. Locally merge (or rebase) the upstream development branch into your topic branch: + + ```bash + git pull [--rebase] upstream <dev-branch> + ``` + +6. Push your topic branch up to your fork: + + ```bash + git push origin <topic-branch-name> + ``` + +7. [Open a Pull Request](https://help.github.com/articles/using-pull-requests/) with a clear title and description. + +**IMPORTANT**: By submitting a patch, you agree to allow the project owner to +license your work under the same license as that used by the project. + +### Coding Standards + +* Always use spaces, never tabs +* End lines in semi-colons. + +## Developing + +If you want to take an issue, just add a small comment saying you are having a go at something, so we don't get duplication. + +[markdown]: https://help.github.com/articles/github-flavored-markdown diff --git a/user/plugins/mediaembed/docs/INSTALL.md b/user/plugins/mediaembed/docs/INSTALL.md new file mode 100644 index 0000000..df57a50 --- /dev/null +++ b/user/plugins/mediaembed/docs/INSTALL.md @@ -0,0 +1,47 @@ +# [Installation and update guide][project] +[project]: https://github.com/sommerregen/grav-plugin-mediaembed + +## Installation + +Installing the `MediaEmbed` plugin can be done in one of two ways. The GPM (Grav Package Manager) installation method enables you to quickly and easily install the plugin with a simple terminal command, while the manual method enables you to do so via a zip file. + +### GPM Installation (Preferred) + +The simplest way to install this plugin is via the [Grav Package Manager (GPM)](http://learn.getgrav.org/advanced/grav-gpm) through your system's Terminal (also called the command line). From the root of your Grav install type: + + bin/gpm install mediaembed + +This will install the `MediaEmbed` plugin into your `/user/plugins` directory within Grav. Its files can be found under `/your/site/grav/user/plugins/mediaembed`. + +### Manual Installation + +To install this plugin, just download the zip version of this repository and unzip it under `/your/site/grav/user/plugins`. Then, rename the folder to `mediaembed`. You can find these files either on [GitHub](https://github.com/sommerregen/grav-plugin-mediaembed) or via [GetGrav.org](http://getgrav.org/downloads/plugins). + +You should now have all the plugin files under + + /your/site/grav/user/plugins/mediaembed + +>> NOTE: This plugin is a modular component for Grav which requires [Grav](http://github.com/getgrav/grav) and a theme to be installed in order to operate. + +## Updating + +As development for `MediaEmbed` continues, new versions may become available that add additional features and functionality, improve compatibility with newer Grav releases, and generally provide a better user experience. Updating `MediaEmbed` is easy, and can be done through Grav's GPM system, as well as manually. + +### GPM Update (Preferred) + +The simplest way to update this plugin is via the [Grav Package Manager (GPM)](http://learn.getgrav.org/advanced/grav-gpm). You can do this with this by navigating to the root directory of your Grav install using your system's Terminal (also called command line) and typing the following: + + bin/gpm update mediaembed + +This command will check your Grav install to see if your `MediaEmbed` plugin is due for an update. If a newer release is found, you will be asked whether or not you wish to update. To continue, type `y` and hit enter. The plugin will automatically update and clear Grav's cache. + +#### Manual Update + +Manually updating `MediaEmbed` is pretty simple. Here is what you will need to do to get this done: + +* Delete the `your/site/user/plugins/mediaembed` directory. +* Download the new version of the `MediaEmbed` plugin from either [GitHub](https://github.com/sommerregen/grav-plugin-mediaembed) or [GetGrav.org](http://getgrav.org/downloads/plugins). +* Unzip the zip file in `your/site/user/plugins` and rename the resulting folder to `mediaembed`. +* Clear the Grav cache. The simplest way to do this is by going to the root Grav directory in terminal and typing `bin/grav clear-cache`. + +>> Note: Any changes you have made to any of the files listed under this directory will also be removed and replaced by the new set. Any files located elsewhere (for example a YAML settings file placed in `user/config/plugins`) will remain intact. diff --git a/user/plugins/mediaembed/hebe.json b/user/plugins/mediaembed/hebe.json new file mode 100644 index 0000000..cbe06bb --- /dev/null +++ b/user/plugins/mediaembed/hebe.json @@ -0,0 +1,15 @@ +{ + "project":"grav-plugin-mediaembed", + "platforms":{ + "grav":{ + "nodes":{ + "plugin":[ + { + "source":"/", + "destination":"/user/plugins/mediaembed" + } + ] + } + } + } +} diff --git a/user/plugins/mediaembed/mediaembed.php b/user/plugins/mediaembed/mediaembed.php new file mode 100644 index 0000000..79a1d72 --- /dev/null +++ b/user/plugins/mediaembed/mediaembed.php @@ -0,0 +1,212 @@ +<?php +/** + * MediaEmbed v1.3.0 + * + * This plugin embeds several media sites (e.g. YouTube, Vimeo, + * Soundcloud) by only providing the URL to the medium. + * + * Dual licensed under the MIT or GPL Version 3 licenses, see LICENSE. + * http://benjamin-regler.de/license/ + * + * @package MediaEmbed + * @version 1.3.0 + * @link <https://github.com/sommerregen/grav-plugin-archive-plus> + * @author Benjamin Regler <sommerregen@benjamin-regler.de> + * @copyright 2017, Benjamin Regler + * @license <http://opensource.org/licenses/MIT> MIT + * @license <http://opensource.org/licenses/GPL-3.0> GPLv3 + */ + +namespace Grav\Plugin; + +use Grav\Common\Grav; +use Grav\Common\Plugin; +use Grav\Common\Page\Page; +use RocketTheme\Toolbox\Event\Event; + +use Grav\Plugin\MediaEmbed\Autoloader; +use Grav\Plugin\MediaEmbed\MediaEmbed; + +/** + * MediaEmbed + * + * This plugin ... + */ +class MediaEmbedPlugin extends Plugin +{ + /** + * @var MediaEmbedPlugin + */ + + /** --------------------------- + * Private/protected properties + * ---------------------------- + */ + + /** + * Instance of MediaEmbed class + * + * @var object + */ + protected $mediaembed; + + /** ------------- + * Public methods + * -------------- + */ + + /** + * Return a list of subscribed events. + * + * @return array The list of events of the plugin of the form + * 'name' => ['method_name', priority]. + */ + public static function getSubscribedEvents() + { + return [ + 'onPluginsInitialized' => ['onPluginsInitialized', 0], + ]; + } + + /** + * Initialize configuration. + */ + public function onPluginsInitialized() + { + if ($this->isAdmin()) { + $this->active = false; + return; + } + + if ($this->config->get('plugins.mediaembed.enabled')) { + // Initialize Autoloader + require_once(__DIR__ . '/classes/Autoloader.php'); + require_once(__DIR__ . '/vendor/Requests/library/Requests.php'); + + $autoloader = new Autoloader(); + $autoloader->route([ + 'Requests_' => __DIR__ . '/vendor/Requests/library/Requests', + ], false); + $autoloader->register(); + + // Initialize MediaEmbed class + $this->mediaembed = new MediaEmbed($this->config); + + $this->enable([ + 'onPageContentRaw' => ['onPageContentRaw', 0], + 'onPageContentProcessed' => ['onPageContentProcessed', 0], + 'onTwigTemplatePaths' => ['onTwigTemplatePaths', 0], + 'onTwigSiteVariables' => ['onTwigSiteVariables', 0], + ]); + } + } + + /** + * Add content after page content was read into the system. + * + * @param Event $event An event object, when `onPageContentRaw` is + * fired. + */ + public function onPageContentRaw(Event $event) + { + /** @var Page $page */ + $page = $event['page']; + $config = $this->mergeConfig($page); + + if ($config->get('enabled')) { + // Get raw content and substitute all formulas by a unique token + $raw_content = $page->getRawContent(); + + // Save modified page content with tokens as placeholders + $page->setRawContent( + $this->mediaembed->prepare($raw_content, $page->id()) + ); + } + } + + /** + * Apply mediaembed filter to content, when each page has not been + * cached yet. + * + * @param Event $event The event when 'onPageContentProcessed' was + * fired. + */ + public function onPageContentProcessed(Event $event) + { + /** @var Page $page */ + $page = $event['page']; + + $config = $this->mergeConfig($page); + if ($config->get('enabled') && $this->compileOnce($page)) { + // Get content + $content = $page->getRawContent(); + + // Apply MediaEmbed filter and save modified page content + $page->setRawContent( + $this->mediaembed->process($content, $config) + ); + } + } + + /** + * Add current directory to twig lookup paths. + */ + public function onTwigTemplatePaths() + { + // Register MediaEmbed Twig templates + $this->grav['twig']->twig_paths[] = __DIR__ . '/templates'; + + // Fire event for MediaEmbed plugins + $this->mediaembed->fireEvent('onTwigTemplatePaths'); + } + + /** + * Set needed variables to display videos. + */ + public function onTwigSiteVariables() + { + // Register built-in CSS assets + if ($this->config->get('plugins.mediaembed.built_in_css')) { + $this->grav['assets'] + ->add('plugin://mediaembed/assets/css/mediaembed.css'); + } + + if ($this->config->get('plugins.mediaembed.built_in_js')) { + $this->grav['assets'] + ->add('plugin://mediaembed/assets/js/mediaembed.js'); + } + + // Register assets from MediaEmbed Services + $assets = $this->mediaembed->getAssets(); + foreach ($assets as $asset) { + $this->grav['assets']->add($asset); + } + } + + /** ------------------------------- + * Private/protected helper methods + * -------------------------------- + */ + + /** + * Checks if a page has already been compiled yet. + * + * @param Page $page The page to check + * + * @return boolean Returns TRUE if page has already been + * compiled yet, FALSE otherwise + */ + protected function compileOnce(Page $page) + { + static $processed = []; + + $id = md5($page->path()); + // Make sure that contents is only processed once + if (!isset($processed[$id]) || ($processed[$id] < $page->modified())) { + $processed[$id] = $page->modified(); + return true; + } + + return false; + } +} diff --git a/user/plugins/mediaembed/mediaembed.yaml b/user/plugins/mediaembed/mediaembed.yaml new file mode 100644 index 0000000..83ca30e --- /dev/null +++ b/user/plugins/mediaembed/mediaembed.yaml @@ -0,0 +1,241 @@ +# Global plugin configurations + +enabled: true # Set to false to disable this plugin completely +link: false # Set if display link or img, if false display img tag for not mediaembed +built_in_css: true # Use built-in CSS of the plugin +built_in_js: true # Use built-in JS of the plugin + +# Default options for MediaEmbed configuration + +# -- Media -- +media: + width: 640 # Default media width + height: 390 # Default media height including controls + adjust: true # Adjust media or keep default dimensions? + + preview: true # Show or hide media preview + responsive: false # Allow media to be responsive + protocol: "http://" # Default protocol for remote media resources + +# -- Services -- +services: + ## Audio ## + SoundCloud: + enabled: true # Set to false to disable this service completely + type: "rich" # Type of the media service + + example: "https://soundcloud.com/semiseria/verruckert-ausschnitt" + + # URL of media service used for embedding + url: "w.soundcloud.com/player/?url=http://api.soundcloud.com/tracks/{:id}" + + # Canonical URL of media service (used in endpoint calls) + canonical: "http://soundcloud.com/{:id}" + + # Endpoint to grab media informations + endpoint: "http://soundcloud.com/oembed?url={:canonical}&format=json" + + # Schemes to grab media id + schemes: + - "soundcloud.com/*" + - "soundcloud.com/*/*" + - "soundcloud.com/*/sets/*" + - "soundcloud.com/groups/*" + - "snd.sc/*" + + params: + auto_play: false + buying: true + download: true + hide_related: false + liking: true + sharing: true + show_artwork: true + show_comments: true + show_playcount: true + show_user: true + visual: false + + Spotify: + enabled: true # Set to false to disable this service completely + type: "rich" # Type of the media service + + # Canonical URL of media service (used in endpoint calls) + canonical: "http://open.spotify.com/track/{:id}" + + # Endpoint to grab media informations + endpoint: "https://embed.spotify.com/oembed/?url={:canonical}&format=json" + + # Schemes to grab media id + schemes: + - "open.spotify.com/track/*" + - "spoti.fi/*" + + ## Photo ## + Flickr: + enabled: true # Set to false to disable this service completely + type: "photo" # Type of the media service + + # Canonical URL of media service (used in endpoint calls) + canonical: "http://www.flickr.com/photos/{:id}" + + # Endpoint to grab media informations + endpoint: "http://flickr.com/services/oembed?url={:canonical}&format=json" + + # Schemes to grab media id + schemes: + - "flickr.com/photos/*" + - "flic.kr/*" + + Imgur: + enabled: true # Set to false to disable this service completely + type: "rich" # Type of the media service + + # Canonical URL of media service (used in endpoint calls) + canonical: "http://imgur.com/gallery/{:id}" + + # Endpoint to grab media informations + endpoint: "http://api.imgur.com/oembed?url={:canonical}&format=json" + + # Schemes to grab media id + schemes: + - "imgur.com/gallery/*" + - "imgur.com/a/*" + - "imgur.com/*" + + Instagram: + enabled: true # Set to false to disable this service completely + type: "rich" # Type of the media service + + # Canonical URL of media service (used in endpoint calls) + canonical: "http://instagram.com/p/{:id}" + + # Endpoint to grab media informations + endpoint: "http://api.instagram.com/oembed?url={:canonical}&format=json" + + # Schemes to grab media id + schemes: + - "instagr.am/p/*" + - "instagram.com/p/*" + + ## Video ## + Dailymotion: # Legacy media service name + enabled: true # Set to false to disable this service completely + type: "video" # Type of the legacy media service + + # URL of media service used for embedding + url: "www.dailymotion.com/embed/video/{:id}" + + # Canonical URL of media service (used in endpoint calls) + canonical: "http://dailymotion.com/video/{:id}" + + # Endpoint to grab media informations + endpoint: "http://www.dailymotion.com/services/oembed?url={:canonical}&format=json" + + schemes: # Regex filter ("~REGEX~i") to grab media id + - "dailymotion.com/video/*" + - "dailymotion.com/*/video/*" + - "dai\.ly/*" + + # Custom service-related media option overrides + params: + quality: 1080 + + YouTube: + enabled: true # Set to false to disable this service completely + type: "video" # Type of the media service + + # URL of media service used for embedding + url: "www.youtube.com/embed/{:id}" + + # Canonical URL of media service (used in endpoint calls) + canonical: "http://www.youtube.com/watch?v={:id}" + + # Endpoint to grab media informations + endpoint: "http://www.youtube.com/oembed?url={:canonical}&format=json" + + # Regex filters ("~REGEX~i") to grab media id + schemes: + - "youtube.com/watch?*v=*" + - "youtube.com/embed/*" + - "youtube.com/v/*" + - "youtube.com/?*v=*" + - "youtu.be/*" + + # Custom service-related media option overrides + params: + autoplay: 0 + modestbranding: 1 + theme: "light" + + Vimeo: # Legacy media service name + enabled: true # Set to false to disable this service completely + type: "video" # Type of the legacy media service + + url: "player.vimeo.com/video/{:id}" + canonical: "https://vimeo.com/{:id}" + + # Endpoint to grab media informations + endpoint: "http://vimeo.com/api/oembed.json?url={:canonical}" + + schemes: # Regex filter ("~REGEX~i") to grab media id + - "vimeo.com/*" + - "vimeo.com/channels/*/*" + - "vimeo.com/groups/*/videos/*" + + # Custom service-related media option overrides + params: + autoplay: 0 + + ## Others ## + Github: + enabled: true # Set to false to disable this service completely + type: "rich" # Type of the media service + + # Canonical URL of media service (used in endpoint calls) + canonical: "https://gist.github.com/{:id}" + + # Endpoint to grab media informations + endpoint: "https://gist.github.com/{:id}.json" + + # Schemes to grab media id + schemes: + - "gist.github.com/*" + - "gist.github.com/*/*" + - "gist.github.com/*?*" + + Slides: + enabled: true # Set to false to disable this service completely + type: "rich" # Type of the media service + + # Canonical URL of media service (used in endpoint calls) + canonical: "http://slides.com/{:id}" + + # Endpoint to grab media informations + endpoint: "http://slides.com/{:id}" + + # Schemes to grab media id + schemes: + - "slides.com/*" + - "slid.es/*" + + # Custom service-related media option overrides + params: + style: "light" # Footer style: dark, light, hidden + width: 1920 + height: 1400 + + Twitter: + enabled: true # Set to false to disable this service completely + type: "rich" # Type of the media service + + # Canonical URL of media service (used in endpoint calls) + canonical: "https://twitter.com/{:id}" + + # Endpoint to grab media informations + endpoint: "https://api.twitter.com/1/statuses/oembed.json?url={:canonical}" + + # Schemes to grab media id + schemes: + - "twitter.com/*" + - "twitter.com/*/*" \ No newline at end of file diff --git a/user/plugins/mediaembed/templates/partials/mediaembed.html.twig b/user/plugins/mediaembed/templates/partials/mediaembed.html.twig new file mode 100644 index 0000000..76c73f9 --- /dev/null +++ b/user/plugins/mediaembed/templates/partials/mediaembed.html.twig @@ -0,0 +1,124 @@ +{# Shortcut variables #} +{% set default = mediaembed.config.media %} +{% set oembed = mediaembed.service %} + +{# Processing error #} +{% if not mediaembed.success %} + {% if default.responsive %} + {% set class = "-responsive mediaembed-msod" %} + {% else %} + {% set class = " mediaembed-msod\" style=\"max-width: " ~ default.width ~ "px;" %} + {% endif %} + + <div class="mediaembed{{ class }}"> + <p class="mediaembed-icon">☕</p> + <p class="mediaembed-error-title"><b>Unable to process oEmbed media:</b><a href="{{ mediaembed.raw.src }}" alt="{{ mediaembed.raw.alt }}" title="{{ mediaembed.raw.title }}">{{ mediaembed.raw.src|e }}</a></p> + <p class="mediaembed-error-message"><b>Error:</b>{{ mediaembed.message }}</p> + </div> + +{# Setup block #} +{% else %} + {% set response = oembed.attributes %} + {# Normalize response #} + {% if (response.width is empty) or not (response.width is defined) or (response.width == 0) %} + {% set response = response|merge({'width' : default.width|default(1)}) %} + {% endif %} + + {% if (response.height is empty) or not (response.height is defined) or (response.height == 0) %} + {% set response = response|merge({'height' : default.height|default(1)}) %} + {% endif %} + + {% set width = response.width %} + {% set height = response.height %} + {% set ratio = height / width %} + + {# Adjust OEmbed media dimensions or restrict them? #} + {% if default.adjust %} + {# Check if computed height is larger than default setting #} + {% if (width * ratio) > default.height or (height / ratio) > default.width %} + {# Rescale width and height #} + {% set width = default.width|default(1) %} + {% set height = (default.width * ratio)|round %} + {% endif %} + {% else %} + {% set width = default.width|default(1) %} + {% set height = default.height|default(1) %} + {% endif %} + + {# Recompute aspect ratio #} + {% set ratio = height / width %} + {% set container_styles = "padding-bottom: " ~ "%.2f"|format(ratio * 100) ~ "%;" %} + + {# Embed responsive OEmbed media #} + {% if default.responsive %} + {% set responsive = "-responsive" %} + + {% set width = 1920 %} + {% set height = (width * ratio)|round %} + {% else %} + {% set styles = " style=\"max-width: " ~ width ~ "px; max-height: " ~ height ~ "px;\"" %} + {% endif %} + + {# Setup lazy loading media for those with preview enabled #} + {% if default.preview %} + {% set lazyload = " lazyload" %} + {% set lazyload_script = " onclick=\"lazyload(this)\"" %} + {% endif %} + + <div class="mediaembed{{ responsive }} mediaembed-media mediaembed-{{ oembed.type }} mediaembed-{{ oembed.name|lower }}{{ lazyload }}"{{ styles }}> + <div class="mediaembed-container" style="{{ container_styles }}"> + {# Embed content according to media type #} + + {# -- Photo -- #} + {% if oembed.type == "photo" %} + {% set title = oembed.getOembed().provider_name ~ ': “' ~ oembed.title ~ '” by ' ~ oembed.author %} + <a class="mediaembed-embed" href="{{ oembed.author('url') }}" title="{{ title }}"> + <img src="{{ oembed.url }}" alt="{{ oembed.title }}"> + </a> + + {# -- Video -- #} + {% elseif oembed.type == "video" %} + <a href="{{ oembed.getEmbedCode }}" alt="{{ mediaembed.raw.alt }}" title="{{ mediaembed.raw.title }}" class="mediaembed-media"{{ lazyload_script }}> + {# JavaScript lazy-loading #} + <!-- + <iframe class="mediaembed-embed" src="{{ oembed.getEmbedCode }}" width="{{ width }}" height="{{ height }}" frameborder="0" scrolling="no" webkitallowfullscreen mozallowfullscreen allowfullscreen> + <p>Your browser does not support iframes.</p> + </iframe> + --> + + {# Show Thumbnail #} + {% if default.preview and oembed.thumbnail %} + <img src="{{ oembed.thumbnail }}" alt="{{ mediaembed.raw.alt }}" title="{{ mediaembed.raw.title }}" class="mediaembed-thumbnail" /> + {% else %} + {# Show placeholder #} + {% endif %} + + {# Toggle for loading iframe content #} + <input type="checkbox" id="mediaembed-hidden-input-{{ mediaembed.uid }}" class="mediaembed-input" /> + + {# Implement JavaScript-less lazyload technique #} + <noscript> + <iframe class="mediaembed-embed" src="{{ oembed.getEmbedCode }}" width="{{ width }}" height="{{ height }}" frameborder="0" scrolling="no" webkitallowfullscreen mozallowfullscreen allowfullscreen style="display: none;"> + <p>Your browser does not support iframes.</p> + </iframe> + </noscript> + + <label class="mediaembed-play" for="mediaembed-hidden-input-{{ mediaembed.uid }}">▶</label> + </a> + + {# -- Link -- #} + {% elseif oembed.type == "link" %} + {% set title = oembed.getOembed().provider_name ~ ': “' ~ oembed.mediaembed.raw.title|default(title) ~ '” by ' ~ oembed.author %} + <a href="{{ mediaembed.raw.src }}" alt="{{ mediaembed.raw.alt }}" title="{{ title }}">{{ mediaembed.raw.src|e }}</a> + {# -- Rich media -- #} + {% elseif oembed.type == "rich" %} + <div class="mediaembed-media">{{ oembed.getEmbedCode() }}</div> + + {# -- Nothing from above -- #} + {% else %} + {# Show at least a link for the user #} + <a href="{{ mediaembed.raw.src }}" alt="{{ mediaembed.raw.alt }}" title="{{ mediaembed.raw.title }}">{{ mediaembed.raw.src|e }}</a> + {% endif %} + </div> + </div> +{% endif %} diff --git a/user/plugins/mediaembed/vendor/Requests/.coveralls.yml b/user/plugins/mediaembed/vendor/Requests/.coveralls.yml new file mode 100644 index 0000000..243fef6 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/.coveralls.yml @@ -0,0 +1,4 @@ +src_dir: library +coverage_clover: tests/clover.xml +json_path: tests/coveralls.json +service_name: travis-ci \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/.travis.yml b/user/plugins/mediaembed/vendor/Requests/.travis.yml new file mode 100644 index 0000000..7aae19a --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/.travis.yml @@ -0,0 +1,27 @@ +language: php +before_script: + # Setup Coveralls and httpbin-php + - phpenv local 5.5 + - composer install --dev --no-interaction + + - TESTPHPBIN=$(phpenv which php) + - sudo PHPBIN=$TESTPHPBIN vendor/bin/start.sh + - export REQUESTS_TEST_HOST_HTTP=localhost + - phpenv local --unset + + # Work out of the tests directory + - cd tests +script: + - phpunit --coverage-clover clover.xml +after_script: + - cd .. + - phpenv local 5.5 + - sudo PATH=$PATH vendor/bin/stop.sh + - php vendor/bin/coveralls -v + - phpenv local --unset +php: + - 5.2 + - 5.3 + - 5.4 + - 5.5 + - hhvm diff --git a/user/plugins/mediaembed/vendor/Requests/CHANGELOG.md b/user/plugins/mediaembed/vendor/Requests/CHANGELOG.md new file mode 100644 index 0000000..ee644f3 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/CHANGELOG.md @@ -0,0 +1,48 @@ +Changelog +========= + +1.6.0 +----- +- [Add multiple request support][#23] - Send multiple HTTP requests with both + fsockopen and cURL, transparently falling back to synchronous when + not supported. + +- [Add proxy support][#70] - HTTP proxies are now natively supported via a + [high-level API][docs/proxy]. Major props to Ozh for his fantastic work + on this. + +- [Verify host name for SSL requests][#63] - Requests is now the first and only + standalone HTTP library to fully verify SSL hostnames even with socket + connections. Thanks to Michael Adams, Dion Hulse, Jon Cave, and Pádraic Brady + for reviewing the crucial code behind this. + +- [Add cookie support][#64] - Adds built-in support for cookies (built entirely + as a high-level API) + +- [Add sessions][#62] - To compliment cookies, [sessions][docs/usage-advanced] + can be created with a base URL and default options, plus a shared cookie jar. + +- Add [PUT][#1], [DELETE][#3], and [PATCH][#2] request support + +- [Add Composer support][#6] - You can now install Requests via the + `rmccue/requests` package on Composer + +[docs/proxy]: http://requests.ryanmccue.info/docs/proxy.html +[docs/usage-advanced]: http://requests.ryanmccue.info/docs/usage-advanced.html + +[#1]: https://github.com/rmccue/Requests/issues/1 +[#2]: https://github.com/rmccue/Requests/issues/2 +[#3]: https://github.com/rmccue/Requests/issues/3 +[#6]: https://github.com/rmccue/Requests/issues/6 +[#9]: https://github.com/rmccue/Requests/issues/9 +[#23]: https://github.com/rmccue/Requests/issues/23 +[#62]: https://github.com/rmccue/Requests/issues/62 +[#63]: https://github.com/rmccue/Requests/issues/63 +[#64]: https://github.com/rmccue/Requests/issues/64 +[#70]: https://github.com/rmccue/Requests/issues/70 + +[View all changes][https://github.com/rmccue/Requests/compare/v1.5.0...v1.6.0] + +1.5.0 +----- +Initial release! \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/LICENSE b/user/plugins/mediaembed/vendor/Requests/LICENSE new file mode 100644 index 0000000..d61ae7b --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/LICENSE @@ -0,0 +1,49 @@ +Requests +======== + +Copyright (c) 2010-2012 Ryan McCue and contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +ComplexPie IRI Parser +===================== + +Copyright (c) 2007-2010, Geoffrey Sneddon and Steve Minutillo. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name of the SimplePie Team nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. diff --git a/user/plugins/mediaembed/vendor/Requests/README.md b/user/plugins/mediaembed/vendor/Requests/README.md new file mode 100644 index 0000000..3ff6ab6 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/README.md @@ -0,0 +1,145 @@ +Requests for PHP +================ + +Requests is a HTTP library written in PHP, for human beings. It is roughly +based on the API from the excellent [Requests Python +library](http://python-requests.org/). Requests is [ISC +Licensed](https://github.com/rmccue/Requests/blob/master/LICENSE) (similar to +the new BSD license) and has no dependencies, except for PHP 5.2+. + +Despite PHP's use as a language for the web, its tools for sending HTTP requests +are severely lacking. cURL has an +[interesting API](http://php.net/manual/en/function.curl-setopt.php), to say the +least, and you can't always rely on it being available. Sockets provide only low +level access, and require you to build most of the HTTP response parsing +yourself. + +We all have better things to do. That's why Requests was born. + +```php +$headers = array('Accept' => 'application/json'); +$options = array('auth' => array('user', 'pass')); +$request = Requests::get('https://api.github.com/gists', $headers, $options); + +var_dump($request->status_code); +// int(200) + +var_dump($request->headers['content-type']); +// string(31) "application/json; charset=utf-8" + +var_dump($request->body); +// string(26891) "[...]" +``` + +Requests allows you to send **HEAD**, **GET**, **POST**, **PUT**, **DELETE**, +and **PATCH** HTTP requests. You can add headers, form data, multipart files, +and parameters with simple arrays, and access the response data in the same way. +Requests uses cURL and fsockopen, depending on what your system has available, +but abstracts all the nasty stuff out of your way, providing a consistent API. + + +Features +-------- + +- International Domains and URLs +- Browser-style SSL Verification +- Basic/Digest Authentication +- Automatic Decompression +- Connection Timeouts + + +Installation +------------ + +### Install with Composer +If you're using [Composer](https://github.com/composer/composer) to manage +dependencies, you can add Requests with it. + + { + "require": { + "rmccue/requests": ">=1.0" + } + } + +### Install source from GitHub +To install the source code: + + $ git clone git://github.com/rmccue/Requests.git + +And include it in your scripts: + + require_once '/path/to/Requests/library/Requests.php'; + +You'll probably also want to register an autoloader: + + Requests::register_autoloader(); + + +### Install source from zip/tarball +Alternatively, you can fetch a [tarball][] or [zipball][]: + + $ curl -L https://github.com/rmccue/Requests/tarball/master | tar xzv + (or) + $ wget https://github.com/rmccue/Requests/tarball/master -O - | tar xzv + +[tarball]: https://github.com/rmccue/Requests/tarball/master +[zipball]: https://github.com/rmccue/Requests/zipball/master + + +### Using a Class Loader +If you're using a class loader (e.g., [Symfony Class Loader][]) for +[PSR-0][]-style class loading: + + $loader->registerPrefix('Requests', 'path/to/vendor/Requests/library'); + +[Symfony Class Loader]: https://github.com/symfony/ClassLoader +[PSR-0]: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md + + +Documentation +------------- +The best place to start is our [prose-based documentation][], which will guide +you through using Requests. + +After that, take a look at [the documentation for +`Requests::request()`][request_method], where all the parameters are fully +documented. + +Requests is [100% documented with PHPDoc](http://requests.ryanmccue.info/api/). +If you find any problems with it, [create a new +issue](https://github.com/rmccue/Requests/issues/new)! + +[prose-based documentation]: https://github.com/rmccue/Requests/blob/master/docs/README.md +[request_method]: http://requests.ryanmccue.info/api/class-Requests.html#_request + +Testing +------- +[![Build Status](https://secure.travis-ci.org/rmccue/Requests.png?branch=master)](http://travis-ci.org/rmccue/Requests) +[![Coverage Status](https://coveralls.io/repos/rmccue/Requests/badge.png?branch=master)][coveralls] + +Requests strives to have 100% code-coverage of the library with an extensive +set of tests. We're not quite there yet, but [we're getting close][coveralls]. + +[coveralls]: https://coveralls.io/r/rmccue/Requests?branch=master + +To run the test suite, first check that you have the [PHP +JSON extension ](http://php.net/manual/en/book.json.php) enabled. Then +simply: + + $ cd tests + $ phpunit + +If you'd like to run a single set of tests, specify just the name: + + $ phpunit Transport/cURL + +Contribute +---------- + +1. Check for open issues or open a new issue for a feature request or a bug +2. Fork [the repository][] on Github to start making your changes to the + `master` branch (or branch off of it) +3. Write a test which shows that the bug was fixed or that the feature works as expected +4. Send a pull request and bug me until I merge it + +[the repository]: https://github.com/rmccue/Requests diff --git a/user/plugins/mediaembed/vendor/Requests/bin/create_pear_package.php b/user/plugins/mediaembed/vendor/Requests/bin/create_pear_package.php new file mode 100644 index 0000000..3267709 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/bin/create_pear_package.php @@ -0,0 +1,55 @@ +<?php +/** + * PEAR package builder + * + * Inspired by Twig's create_pear_package.php. + * @link https://raw.github.com/fabpot/Twig/master/bin/create_pear_package.php + * @author Twig Team + * @license BSD license + */ + +if (!isset($argv[1]) || $argv[1] === '-h' || $argv[1] === '--help') { + echo 'usage: php ' . $argv[0] . ' <version> <stability>' . PHP_EOL; + echo PHP_EOL; + echo ' version:' . PHP_EOL; + echo ' Version of the package, in the form of major.minor.bug' . PHP_EOL; + echo PHP_EOL; + echo ' stability:' . PHP_EOL; + echo ' One of alpha, beta, stable' . PHP_EOL; + die(); +} + +if (!isset($argv[2])) { + die('You must provide the stability (alpha, beta, or stable)'); +} + +$context = array( + 'date' => gmdate('Y-m-d'), + 'time' => gmdate('H:m:00'), + 'version' => $argv[1], + 'api_version' => $argv[1], + 'stability' => $argv[2], + 'api_stability' => $argv[2], +); + +$context['files'] = ''; +$path = realpath(dirname(__FILE__).'/../library/Requests'); +foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path), RecursiveIteratorIterator::LEAVES_ONLY) as $file) { + if (preg_match('/\.php$/', $file)) { + $name = str_replace($path . DIRECTORY_SEPARATOR, '', $file); + $name = str_replace(DIRECTORY_SEPARATOR, '/', $name); + $context['files'][] = "\t\t\t\t\t" . '<file install-as="Requests/' . $name . '" name="' . $name . '" role="php" />'; + } +} + +$context['files'] = implode("\n", $context['files']); + +$template = file_get_contents(dirname(__FILE__).'/../package.xml.tpl'); +$content = preg_replace_callback('/\{\{\s*([a-zA-Z0-9_]+)\s*\}\}/', 'replace_parameters', $template); +file_put_contents(dirname(__FILE__).'/../package.xml', $content); + +function replace_parameters($matches) { + global $context; + + return isset($context[$matches[1]]) ? $context[$matches[1]] : null; +} diff --git a/user/plugins/mediaembed/vendor/Requests/composer.json b/user/plugins/mediaembed/vendor/Requests/composer.json new file mode 100644 index 0000000..6422b8c --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/composer.json @@ -0,0 +1,24 @@ +{ + "name": "rmccue/requests", + "description": "A HTTP library written in PHP, for human beings.", + "homepage": "http://github.com/rmccue/Requests", + "license": "ISC", + "keywords": ["http", "idna", "iri", "ipv6", "curl", "sockets", "fsockopen"], + "authors": [ + { + "name": "Ryan McCue", + "homepage": "http://ryanmccue.info" + } + ], + "require": { + "php": ">=5.2" + }, + "require-dev": { + "satooshi/php-coveralls": "dev-master", + "requests/test-server": "dev-master" + }, + "type": "library", + "autoload": { + "psr-0": {"Requests": "library/"} + } +} diff --git a/user/plugins/mediaembed/vendor/Requests/docs/README.md b/user/plugins/mediaembed/vendor/Requests/docs/README.md new file mode 100644 index 0000000..8116963 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/docs/README.md @@ -0,0 +1,28 @@ +Documentation +============= + +If you're here, you're looking for documentation for Requests! The documents +here are prose; you might also want to check out the [API documentation][]. + +[API documentation]: http://requests.ryanmccue.info/api/ + +* Introduction + * [Goals][goals] + * [Why should I use Requests instead of X?][why-requests] +* Usage + * [Making a request][usage] + * [Advanced usage][usage-advanced] + * [Authenticating your request][authentication] +* Advanced Usage + * [Custom authentication][authentication-custom] + * [Requests through proxy][proxy] + * [Hooking system][hooks] + +[goals]: goals.md +[why-requests]: why-requests.md +[usage]: usage.md +[usage-advanced]: usage-advanced.md +[authentication]: authentication.md +[authentication-custom]: authentication-custom.md +[hooks]: hooks.md +[proxy]: proxy.md \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/docs/authentication-custom.md b/user/plugins/mediaembed/vendor/Requests/docs/authentication-custom.md new file mode 100644 index 0000000..d145d21 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/docs/authentication-custom.md @@ -0,0 +1,44 @@ +Custom Authentication +===================== +Custom authentication handlers are designed to be extremely simple to write. +In order to write a handler, you'll need to implement the `Requests_Auth` +interface. + +An instance of this handler is then passed in by the user via the `auth` +option, just like for normal authentication. + +Let's say we have a HTTP endpoint that checks for the `Hotdog` header and +authenticates you if said header is set to `Yummy`. (I don't know of any +services that do this; perhaps this is a market waiting to be tapped?) + +```php +class MySoftware_Auth_Hotdog implements Requests_Auth { + protected $password; + + public function __construct($password) { + $this->password = $password; + } + + public function register(Requests_Hooks &$hooks) { + $hooks->register('requests.before_request', array(&$this, 'before_request')); + } + + public function before_request(&$url, &$headers, &$data, &$type, &$options) { + $headers['Hotdog'] = $this->password; + } +} +``` + +We then use this in our request calls: + +``` +$options = array( + 'auth' => new MySoftware_Auth_Hotdog('yummy') +); +$response = Requests::get('http://hotdogbin.org/admin', array(), $options); +``` + +(For more information on how to register and use hooks, see the [hooking +system documentation][hooks]) + +[hooks]: hooks.md \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/docs/authentication.md b/user/plugins/mediaembed/vendor/Requests/docs/authentication.md new file mode 100644 index 0000000..574a49c --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/docs/authentication.md @@ -0,0 +1,31 @@ +Authentication +============== +Many requests that you make will require authentication of some type. Requests +includes support out of the box for HTTP Basic authentication, with more +built-ins coming soon. + +Making a Basic authenticated call is ridiculously easy: + +```php +$options = array( + 'auth' => new Requests_Auth_Basic(array('user', 'password')) +); +Requests::get('http://httpbin.org/basic-auth/user/password', array(), $options); +``` + +As Basic authentication is usually what you want when you specify a username +and password, you can also just pass in an array as a shorthand: + +```php +$options = array( + 'auth' => array('user', 'password') +); +Requests::get('http://httpbin.org/basic-auth/user/password', array(), $options); +``` + +Note that POST/PUT can also take a data parameter, so you also need that +before `$options`: + +```php +Requests::post('http://httpbin.org/basic-auth/user/password', array(), null, $options); +``` diff --git a/user/plugins/mediaembed/vendor/Requests/docs/goals.md b/user/plugins/mediaembed/vendor/Requests/docs/goals.md new file mode 100644 index 0000000..3275a3f --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/docs/goals.md @@ -0,0 +1,29 @@ +Goals +===== + +1. **Simple interface** + + Requests is designed to provide a simple, unified interface to making + requests, regardless of what is available on the system. This means not worrying. + +2. **Fully tested code** + + Requests strives to have 90%+ code coverage from the unit tests, aiming for + the ideal 100%. Introducing new features always means introducing new tests + + (Note: some parts of the code are not covered by design. These sections are + marked with `@codeCoverageIgnore` tags) + +3. **Maximum compatibility** + + No matter what you have installed on your system, you should be able to run + Requests. We use cURL if it's available, and fallback to sockets otherwise. + We require only a baseline of PHP 5.2, leaving the choice of PHP minimum + requirement fully in your hands, and giving you the ability to support many + more hosts. + +4. **No dependencies** + + Requests is designed to be entirely self-contained and doesn't require + anything else at all. You can run Requests on an entirely stock PHP build + without any additional extensions outside the standard library. diff --git a/user/plugins/mediaembed/vendor/Requests/docs/hooks.md b/user/plugins/mediaembed/vendor/Requests/docs/hooks.md new file mode 100644 index 0000000..96a39bf --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/docs/hooks.md @@ -0,0 +1,92 @@ +Hooks +===== +Requests has a hook system that you can use to manipulate parts of the request +process along with internal transport hooks. + +Check out the [API documentation for `Requests_Hooks`][requests_hooks] for more +information on how to use the hook system. + +Available Hooks +--------------- + +* `requests.before_request` + + Alter the request before it's sent to the transport. + + Parameters: `string &$url`, `array &$headers`, `array|string &$data`, + `string &$type`, `array &$options` + +* `requests.before_parse` + + Alter the raw HTTP response before parsing + + Parameters: `string &$response` + +* `requests.after_request` + + Alter the response object before it's returned to the user + + Parameters: `Requests_Response &$return` + +* `curl.before_request` + + Set cURL options before the transport sets any (note that Requests may + override these) + + Parameters: `cURL resource &$fp` + +* `curl.before_send` + + Set cURL options just before the request is actually sent via `curl_exec` + + Parameters: `cURL resource &$fp` + +* `curl.after_request` + + Alter the raw HTTP response before returning for parsing + + Parameters: `string &$response` + +* `fsockopen.before_request` + + Run events before the transport does anything + +* `fsockopen.after_headers` + + Add extra headers before the body begins (i.e. before `\r\n\r\n`) + + Parameters: `string &$out` + +* `fsockopen.before_send` + + Add body data before sending the request + + Parameters: `string &$out` + +* `fsockopen.after_send` + + Run events after writing the data to the socket + +* `fsockopen.after_request` + + Alter the raw HTTP response before returning for parsing + + Parameters: `string &$response` + + +Registering Hooks +----------------- +Note: if you're doing this in an authentication handler, see the [Custom +Authentication guide][authentication-custom] instead. + +[authentication-custom]: authentication-custom.md + +In order to register your own hooks, you need to instantiate `Requests_hooks` +and pass this in via the 'hooks' option. + +```php +$hooks = new Requests_Hooks(); +$hooks->register('requests.after_request', 'mycallback'); + +$request = Requests::get('http://httpbin.org/get', array(), array('hooks' => $hooks)); +``` \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/docs/proxy.md b/user/plugins/mediaembed/vendor/Requests/docs/proxy.md new file mode 100644 index 0000000..cb2675d --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/docs/proxy.md @@ -0,0 +1,23 @@ +Proxy Support +============= + +You can easily make requests through HTTP proxies. + +To make requests through an open proxy, specify the following options: + +```php +$options = array( + 'proxy' => '127.0.0.1:3128' +); +Requests::get('http://httpbin.org/ip', array(), $options); +``` + +If your proxy needs you to authenticate, the option will become an array like +the following: + +```php +$options = array( + 'proxy' => array( '127.0.0.1:3128', 'my_username', 'my_password' ) +); +Requests::get('http://httpbin.org/ip', array(), $options); +``` diff --git a/user/plugins/mediaembed/vendor/Requests/docs/usage-advanced.md b/user/plugins/mediaembed/vendor/Requests/docs/usage-advanced.md new file mode 100644 index 0000000..b3f2880 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/docs/usage-advanced.md @@ -0,0 +1,74 @@ +Advanced Usage +============== + +Session Handling +---------------- +Making multiple requests to the same site with similar options can be a pain, +since you end up repeating yourself. The Session object can be used to set +default parameters for these. + +Let's simulate communicating with GitHub. + +```php +$session = new Requests_Session('https://api.github.com/'); +$session->headers['X-ContactAuthor'] = 'rmccue'; +$session->useragent = 'My-Awesome-App'; + +$response = $session->get('/zen'); +``` + +You can use the `url`, `headers`, `data` and `options` properties of the Session +object to set the defaults for this session, and the constructor also takes +parameters in the same order as `Requests::request()`. Accessing any other +properties will set the corresponding key in the options array; that is: + +```php +// Setting the property... +$session->useragent = 'My-Awesome-App'; + +// ...is the same as setting the option +$session->options['useragent'] = 'My-Awesome-App'; +``` + + +Secure Requests with SSL +------------------------ +By default, HTTPS requests will use the most secure options available: + +```php +$response = Requests::get('https://httpbin.org/'); +``` + +Requests bundles certificates from the [Mozilla certificate authority list][], +which is the same list of root certificates used in most browsers. If you're +accessing sites with certificates from other CAs, or self-signed certificates, +you can point Requests to a custom CA list in PEM form (the same format +accepted by cURL and OpenSSL): + +```php +$options = array( + 'verify' => '/path/to/cacert.pem' +); +$response = Requests::get('https://httpbin.org/', array(), $options); +``` + +Alternatively, if you want to disable verification completely, this is possible +with `'verify' => false`, but note that this is extremely insecure and should be +avoided. + +### Security Note +Requests supports SSL across both cURL and fsockopen in a transparent manner. +Unlike other PHP HTTP libraries, support for verifying the certificate name is +built-in; that is, a request for `https://github.com/` will actually verify the +certificate's name even with the fsockopen transport. This makes Requests the +first and currently only PHP HTTP library that supports full SSL verification. + +(Note that WordPress now also supports this verification, thanks to efforts by +the Requests development team.) + +(See also the [related PHP][php-bug-47030] and [OpenSSL-related][php-bug-55820] +bugs in PHP for more information on Subject Alternate Name field.) + +[Mozilla certificate authority list]: http://www.mozilla.org/projects/security/certs/ +[php-bug-47030]: https://bugs.php.net/bug.php?id=47030 +[php-bug-55820]:https://bugs.php.net/bug.php?id=55820 diff --git a/user/plugins/mediaembed/vendor/Requests/docs/usage.md b/user/plugins/mediaembed/vendor/Requests/docs/usage.md new file mode 100644 index 0000000..53ca495 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/docs/usage.md @@ -0,0 +1,154 @@ +Usage +===== + +Ready to go? Make sure you have Requests installed before attempting any of the +steps in this guide. + + +Loading Requests +---------------- +Before we can load Requests up, we'll need to make sure it's loaded. This is a +simple two-step: + +```php +// First, include Requests +include('/path/to/library/Requests.php'); + +// Next, make sure Requests can load internal classes +Requests::register_autoloader(); +``` + +If you'd like to bring along your own autoloader, you can forget about this +completely. + + +Make a GET Request +------------------ +One of the most basic things you can do with HTTP is make a GET request. + +Let's grab GitHub's public timeline: + +```php +$response = Requests::get('https://github.com/timeline.json'); +``` + +`$response` is now a **Requests_Response** object. Response objects are what +you'll be working with whenever you want to get data back from your request. + + +Using the Response Object +------------------------- +Now that we have the response from GitHub, let's get the body of the response. + +```php +var_dump($response->body); +// string(42865) "[{"repository":{"url":"... +``` + + +Custom Headers +-------------- +If you want to add custom headers to the request, simply pass them in as an +associative array as the second parameter: + +```php +$response = Requests::get('https://github.com/timeline.json', array('X-Requests' => 'Is Awesome!')); +``` + + +Make a POST Request +------------------- +Making a POST request is very similar to making a GET: + +```php +$response = Requests::post('http://httpbin.org/post'); +``` + +You'll probably also want to pass in some data. You can pass in either a +string, an array or an object (Requests uses [`http_build_query`][build_query] +internally) as the third parameter (after the URL and headers): + +[build_query]: http://php.net/http_build_query + +```php +$data = array('key1' => 'value1', 'key2' => 'value2'); +$response = Requests::post('http://httpbin.org/post', array(), $data); +var_dump($response->body); +``` + +This gives the output: + + string(503) "{ + "origin": "124.191.162.147", + "files": {}, + "form": { + "key2": "value2", + "key1": "value1" + }, + "headers": { + "Content-Length": "23", + "Accept-Encoding": "deflate;q=1.0, compress;q=0.5, gzip;q=0.5", + "X-Forwarded-Port": "80", + "Connection": "keep-alive", + "User-Agent": "php-requests/1.6-dev", + "Host": "httpbin.org", + "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8" + }, + "url": "http://httpbin.org/post", + "args": {}, + "data": "" + }" + +To send raw data, simply pass in a string instead. You'll probably also want to +set the Content-Type header to ensure the remote server knows what you're +sending it: + +```php +$url = 'https://api.github.com/some/endpoint'; +$headers = array('Content-Type' => 'application/json'); +$data = array('some' => 'data'); +$response = Requests::post($url, $headers, json_encode($data)); +``` + +Note that if you don't manually specify a Content-Type header, Requests has +undefined behaviour for the header. It may be set to various values depending +on the internal execution path, so it's recommended to set this explicitly if +you need to. + + +Status Codes +------------ +The Response object also gives you access to the status code: + +```php +var_dump($response->status_code); +// int(200) +``` + +You can also easily check if this status code is a success code, or if it's an +error: + +```php +var_dump($response->success); +// bool(true) +``` + + +Response Headers +---------------- +We can also grab headers pretty easily: + +```php +var_dump($response->headers['Date']); +// string(29) "Thu, 09 Feb 2012 15:22:06 GMT" +``` + +Note that this is case-insensitive, so the following are all equivalent: + +* `$response->headers['Date']` +* `$response->headers['date']` +* `$response->headers['DATE']` +* `$response->headers['dAtE']` + +If a header isn't set, this will give `null`. You can also check with +`isset($response->headers['date'])` diff --git a/user/plugins/mediaembed/vendor/Requests/docs/why-requests.md b/user/plugins/mediaembed/vendor/Requests/docs/why-requests.md new file mode 100644 index 0000000..2874731 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/docs/why-requests.md @@ -0,0 +1,192 @@ +Why Requests Instead of X? +========================== +This is a quick look at why you should use Requests instead of another +solution. Keep in mind though that these are my point of view, and they may not +be issues for you. + +As always with software, you should choose what you think is best. + + +Why should I use Requests? +-------------------------- +1. **Designed for maximum compatibility** + + The realities of working with widely deployable software mean that awesome + PHP features aren't always available. PHP 5.3, cURL, OpenSSL and more are not + necessarily going to be available on every system. While you're welcome to + require PHP 5.3, 5.4 or even 5.5, it's not our job to force you to use those. + + (The WordPress project estimates [about 60%][wpstats] of hosts are running + PHP 5.2, so this is a serious issue for developers working on large + deployable projects.) + + Don't worry though, Requests will automatically use better features where + possible, giving you an extra speed boost with cURL. + +2. **Simple API** + + Requests' API is designed to be able to be learnt in 10 minutes. Everything + from basic requests all the way up to advanced usage involving custom SSL + certificates and stored cookies is handled by a simple API. + + Other HTTP libraries optimize for the library developer's time; **Requests + optimizes for your time**. + +3. **Thoroughly tested** + + Requests is [continuously integrated with Travis][travis] and test coverage + is [constantly monitored with Coveralls][coveralls] to give you confidence in + the library. We aim for test coverage **over 90%** at all times, and new + features require new tests to go along with them. This ensures that you can + be confident in the quality of the code, as well as being able to update to + the latest version of Requests without worrying about compatibility. + +4. **Secure by default** + + Unlike other HTTP libraries, Requests is secure by default. Requests is the + **first and currently only** standalone HTTP library to + **[fully verify][requests_ssl] all HTTPS requests** even without cURL. We + also bundle the latest root certificate authorities to ensure that your + secure requests are actually secure. + + (Of note is that WordPress as of version 3.7 also supports full checking of + the certificates, thanks to [evangelism efforts on our behalf][wpssl]. + Together, we are the only HTTP libraries in PHP to fully verify certificates + to the same level as browsers.) + +5. **Extensible from the core** + + If you need low-level access to Requests' internals, simply plug your + callbacks in via the built-in [hooking system][] and mess around as much as + you want. Requests' simple hooking system is so powerful that both + authentication handlers and cookie support is actually handled internally + with hooks. + +[coveralls]: https://coveralls.io/r/rmccue/Requests +[hooking system]: hooks.md +[requests_ssl]: https://github.com/rmccue/Requests/blob/master/library/Requests/SSL.php +[travis]: https://travis-ci.org/rmccue/Requests +[wpssl]: http://core.trac.wordpress.org/ticket/25007 + + +Why shouldn't I use... +---------------------- +Requests isn't the first or only HTTP library in PHP and it's important to +acknowledge the other solutions out there. Here's why you should use Requests +instead of something else, in our opinion. + + +### cURL + +1. **Not every host has cURL installed** + + cURL is far from being ubiquitous, so you can't rely on it always being + available when distributing software. Anecdotal data collected from various + projects indicates that cURL is available on roughly 90% of hosts, but that + leaves 10% of hosts without it. + +2. **cURL's interface sucks** + + cURL's interface was designed for PHP 4, and hence uses resources with + horrible functions such as `curl_setopt()`. Combined with that, it uses 229 + global constants, polluting the global namespace horribly. + + Requests, on the other hand, exposes only a handful of classes to the + global namespace, most of which are for internal use. You can learn to use + the `Requests::request()` method and the `Requests_Response` object in the + space of 10 minutes and you already know how to use Requests. + + +### Guzzle + +1. **Requires cURL and PHP 5.3+** + + Guzzle is designed to be a client to fit a large number of installations, but + as a result of optimizing for Guzzle developer time, it uses cURL as an + underlying transport. As noted above, this is a majority of systems, but + far from all. + + The same is true for PHP 5.3+. While we'd all love to rely on PHP's newer + features, the fact is that a huge percentage of hosts are still running on + PHP 5.2. (The WordPress project estimates [about 60%][wpstats] of hosts are + running PHP 5.2.) + +2. **Not just a HTTP client** + + Guzzle is not intended to just be a HTTP client, but rather to be a + full-featured REST client. Requests is just a HTTP client, intentionally. Our + development strategy is to act as a low-level library that REST clients can + easily be built on, not to provide the whole kitchen sink for you. + + If you want to rapidly develop a web service client using a framework, Guzzle + will suit you perfectly. On the other hand, if you want a HTTP client without + all the rest, Requests is the way to go. + +[wpstats]: http://wordpress.org/about/stats/ + + +### Buzz + +1. **Requires PHP 5.3+** + + As with Guzzle, while PHP 5.3+ is awesome, you can't always rely on it being + on a host. With widely distributable software, this is a huge problem. + +2. **Not transport-transparent** + + For making certain types of requests, such as multi-requests, you can't rely + on a high-level abstraction and instead have to use the low-level transports. + This really gains nothing (other than a fancy interface) over just using the + methods directly and means that you can't rely on features to be available. + + +### fsockopen + +1. **Very low-level** + + fsockopen is used for working with sockets directly, so it only knows about + the transport layer (TCP in our case), not anything higher (i.e. HTTP on the + application layer). To be able to use fsockopen as a HTTP client, you need + to write all the HTTP code yourself, and once you're done, you'll end up + with something that is almost exactly like Requests. + + +### PEAR HTTP_Request2 + +1. **Requires PEAR** + + PEAR is (in theory) a great distribution system (with a less than wonderful + implementation), however it is not ubiquitous, as many hosts disable it to + save on space that most people aren't going to use anyway. + + PEAR is also a pain for users. Users want to be able to download a zip of + your project without needing to install anything else from PEAR. + + (If you really want though, Requests is available via PEAR. Check the README + to see how to grab it.) + +2. **Depends on other PEAR utilities** + + HTTP\_Request2 requires Net_URL2 in order to function, locking you in to + using PEAR for your project. + + Requests is entirely self-contained, and includes all the libraries it needs + (for example, Requests\_IRI is based on ComplexPie\_IRI by Geoffrey Sneddon). + + +### PECL HttpRequest + +1. **Requires a PECL extension** + + Similar to PEAR, users aren't big fans of installing extra libraries. Unlike + PEAR though, PECL extensions require compiling, which end users will be + unfamiliar with. In addition, on systems where users do not have full + control over PHP, they will be unable to install custom extensions. + + +### Zend Framework's Zend\_Http\_Client + +1. **Requires other parts of the Zend Framework** + + Similar to HTTP_Request2, Zend's client is not fully self-contained and + requires other components from the framework. diff --git a/user/plugins/mediaembed/vendor/Requests/examples/basic-auth.php b/user/plugins/mediaembed/vendor/Requests/examples/basic-auth.php new file mode 100644 index 0000000..a9584a8 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/examples/basic-auth.php @@ -0,0 +1,16 @@ +<?php + +// First, include Requests +include('../library/Requests.php'); + +// Next, make sure Requests can load internal classes +Requests::register_autoloader(); + +// Now let's make a request! +$options = array( + 'auth' => array('someuser', 'password') +); +$request = Requests::get('http://httpbin.org/basic-auth/someuser/password', array(), $options); + +// Check what we received +var_dump($request); \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/examples/get.php b/user/plugins/mediaembed/vendor/Requests/examples/get.php new file mode 100644 index 0000000..8d06537 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/examples/get.php @@ -0,0 +1,13 @@ +<?php + +// First, include Requests +include('../library/Requests.php'); + +// Next, make sure Requests can load internal classes +Requests::register_autoloader(); + +// Now let's make a request! +$request = Requests::get('http://httpbin.org/get', array('Accept' => 'application/json')); + +// Check what we received +var_dump($request); \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/examples/multiple.php b/user/plugins/mediaembed/vendor/Requests/examples/multiple.php new file mode 100644 index 0000000..69757c3 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/examples/multiple.php @@ -0,0 +1,45 @@ +<?php + +// First, include Requests +include('../library/Requests.php'); + +// Next, make sure Requests can load internal classes +Requests::register_autoloader(); + +// Setup what we want to request +$requests = array( + array( + 'url' => 'http://httpbin.org/get', + 'headers' => array('Accept' => 'application/javascript'), + ), + 'post' => array( + 'url' => 'http://httpbin.org/post', + 'data' => array('mydata' => 'something'), + ), + 'delayed' => array( + 'url' => 'http://httpbin.org/delay/10', + 'options' => array( + 'timeout' => 20, + ), + ), +); + +// Setup a callback +function my_callback(&$request, $id) { + var_dump($id, $request); +} + +// Tell Requests to use the callback +$options = array( + 'complete' => 'my_callback', +); + +// Send the request! +$responses = Requests::request_multiple($requests, $options); + +// Note: the response from the above call will be an associative array matching +// $requests with the response data, however we've already handled it in +// my_callback() anyway! +// +// If you don't believe me, uncomment this: +# var_dump($responses); \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/examples/post.php b/user/plugins/mediaembed/vendor/Requests/examples/post.php new file mode 100644 index 0000000..5c9e2c7 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/examples/post.php @@ -0,0 +1,13 @@ +<?php + +// First, include Requests +include('../library/Requests.php'); + +// Next, make sure Requests can load internal classes +Requests::register_autoloader(); + +// Now let's make a request! +$request = Requests::post('http://httpbin.org/post', array(), array('mydata' => 'something')); + +// Check what we received +var_dump($request); \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/examples/proxy.php b/user/plugins/mediaembed/vendor/Requests/examples/proxy.php new file mode 100644 index 0000000..c8a2e94 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/examples/proxy.php @@ -0,0 +1,18 @@ +<?php + +// First, include Requests +include('../library/Requests.php'); + +// Next, make sure Requests can load internal classes +Requests::register_autoloader(); + +// Now let's make a request via a proxy. +$options = array( + 'proxy' => '127.0.0.1:8080', // syntax: host:port, eg 12.13.14.14:8080 or someproxy.com:3128 + // If you need to authenticate, use the following syntax: + // 'proxy' => array( '127.0.0.1:8080', 'username', 'password' ), +); +$request = Requests::get('http://httpbin.org/ip', array(), $options ); + +// See result +var_dump($request->body); diff --git a/user/plugins/mediaembed/vendor/Requests/examples/session.php b/user/plugins/mediaembed/vendor/Requests/examples/session.php new file mode 100644 index 0000000..ff44d24 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/examples/session.php @@ -0,0 +1,24 @@ +<?php + +// First, include Requests +include('../library/Requests.php'); + +// Next, make sure Requests can load internal classes +Requests::register_autoloader(); + +// Set up our session +$session = new Requests_Session('http://httpbin.org/'); +$session->headers['Accept'] = 'application/json'; +$session->useragent = 'Awesomesauce'; + +// Now let's make a request! +$request = $session->get('/get'); + +// Check what we received +var_dump($request); + +// Let's check our user agent! +$request = $session->get('/user-agent'); + +// And check again +var_dump($request); diff --git a/user/plugins/mediaembed/vendor/Requests/examples/timeout.php b/user/plugins/mediaembed/vendor/Requests/examples/timeout.php new file mode 100644 index 0000000..5a1c2f7 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/examples/timeout.php @@ -0,0 +1,17 @@ +<?php + +// First, include Requests +include('../library/Requests.php'); + +// Next, make sure Requests can load internal classes +Requests::register_autoloader(); + +// Define a timeout of 2.5 seconds +$options = array( + 'timeout' => 2.5, +); + +// Now let's make a request to a page that will delay its response by 3 seconds +$request = Requests::get('http://httpbin.org/delay/3', array(), $options); + +// An exception will be thrown, stating a timeout of the request ! diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests.php b/user/plugins/mediaembed/vendor/Requests/library/Requests.php new file mode 100644 index 0000000..31eee40 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests.php @@ -0,0 +1,869 @@ +<?php +/** + * Requests for PHP + * + * Inspired by Requests for Python. + * + * Based on concepts from SimplePie_File, RequestCore and WP_Http. + * + * @package Requests + */ + +/** + * Requests for PHP + * + * Inspired by Requests for Python. + * + * Based on concepts from SimplePie_File, RequestCore and WP_Http. + * + * @package Requests + */ +class Requests { + /** + * POST method + * + * @var string + */ + const POST = 'POST'; + + /** + * PUT method + * + * @var string + */ + const PUT = 'PUT'; + + /** + * GET method + * + * @var string + */ + const GET = 'GET'; + + /** + * HEAD method + * + * @var string + */ + const HEAD = 'HEAD'; + + /** + * DELETE method + * + * @var string + */ + const DELETE = 'DELETE'; + + /** + * PATCH method + * + * @link http://tools.ietf.org/html/rfc5789 + * @var string + */ + const PATCH = 'PATCH'; + + /** + * Current version of Requests + * + * @var string + */ + const VERSION = '1.6'; + + /** + * Registered transport classes + * + * @var array + */ + protected static $transports = array(); + + /** + * Selected transport name + * + * Use {@see get_transport()} instead + * + * @var array + */ + public static $transport = array(); + + /** + * This is a static class, do not instantiate it + * + * @codeCoverageIgnore + */ + private function __construct() {} + + /** + * Autoloader for Requests + * + * Register this with {@see register_autoloader()} if you'd like to avoid + * having to create your own. + * + * (You can also use `spl_autoload_register` directly if you'd prefer.) + * + * @codeCoverageIgnore + * + * @param string $class Class name to load + */ + public static function autoloader($class) { + // Check that the class starts with "Requests" + if (strpos($class, 'Requests') !== 0) { + return; + } + + $file = str_replace('_', '/', $class); + if (file_exists(dirname(__FILE__) . '/' . $file . '.php')) { + require_once(dirname(__FILE__) . '/' . $file . '.php'); + } + } + + /** + * Register the built-in autoloader + * + * @codeCoverageIgnore + */ + public static function register_autoloader() { + spl_autoload_register(array('Requests', 'autoloader')); + } + + /** + * Register a transport + * + * @param string $transport Transport class to add, must support the Requests_Transport interface + */ + public static function add_transport($transport) { + if (empty(self::$transports)) { + self::$transports = array( + 'Requests_Transport_cURL', + 'Requests_Transport_fsockopen', + ); + } + + self::$transports = array_merge(self::$transports, array($transport)); + } + + /** + * Get a working transport + * + * @throws Requests_Exception If no valid transport is found (`notransport`) + * @return Requests_Transport + */ + protected static function get_transport($capabilities = array()) { + // Caching code, don't bother testing coverage + // @codeCoverageIgnoreStart + // array of capabilities as a string to be used as an array key + ksort($capabilities); + $cap_string = serialize($capabilities); + + // Don't search for a transport if it's already been done for these $capabilities + if (isset(self::$transport[$cap_string]) && self::$transport[$cap_string] !== null) { + return new self::$transport[$cap_string](); + } + // @codeCoverageIgnoreEnd + + if (empty(self::$transports)) { + self::$transports = array( + 'Requests_Transport_cURL', + 'Requests_Transport_fsockopen', + ); + } + + // Find us a working transport + foreach (self::$transports as $class) { + if (!class_exists($class)) + continue; + + $result = call_user_func(array($class, 'test'), $capabilities); + if ($result) { + self::$transport[$cap_string] = $class; + break; + } + } + if (self::$transport[$cap_string] === null) { + throw new Requests_Exception('No working transports found', 'notransport', self::$transports); + } + + return new self::$transport[$cap_string](); + } + + /**#@+ + * @see request() + * @param string $url + * @param array $headers + * @param array $options + * @return Requests_Response + */ + /** + * Send a GET request + */ + public static function get($url, $headers = array(), $options = array()) { + return self::request($url, $headers, null, self::GET, $options); + } + + /** + * Send a HEAD request + */ + public static function head($url, $headers = array(), $options = array()) { + return self::request($url, $headers, null, self::HEAD, $options); + } + + /** + * Send a DELETE request + */ + public static function delete($url, $headers = array(), $options = array()) { + return self::request($url, $headers, null, self::DELETE, $options); + } + /**#@-*/ + + /**#@+ + * @see request() + * @param string $url + * @param array $headers + * @param array $data + * @param array $options + * @return Requests_Response + */ + /** + * Send a POST request + */ + public static function post($url, $headers = array(), $data = array(), $options = array()) { + return self::request($url, $headers, $data, self::POST, $options); + } + /** + * Send a PUT request + */ + public static function put($url, $headers = array(), $data = array(), $options = array()) { + return self::request($url, $headers, $data, self::PUT, $options); + } + + /** + * Send a PATCH request + * + * Note: Unlike {@see post} and {@see put}, `$headers` is required, as the + * specification recommends that should send an ETag + * + * @link http://tools.ietf.org/html/rfc5789 + */ + public static function patch($url, $headers, $data = array(), $options = array()) { + return self::request($url, $headers, $data, self::PATCH, $options); + } + /**#@-*/ + + /** + * Main interface for HTTP requests + * + * This method initiates a request and sends it via a transport before + * parsing. + * + * The `$options` parameter takes an associative array with the following + * options: + * + * - `timeout`: How long should we wait for a response? + * (float, seconds with a millisecond precision, default: 10, example: 0.01) + * - `connect_timeout`: How long should we wait while trying to connect? + * (float, seconds with a millisecond precision, default: 10, example: 0.01) + * - `useragent`: Useragent to send to the server + * (string, default: php-requests/$version) + * - `follow_redirects`: Should we follow 3xx redirects? + * (boolean, default: true) + * - `redirects`: How many times should we redirect before erroring? + * (integer, default: 10) + * - `blocking`: Should we block processing on this request? + * (boolean, default: true) + * - `filename`: File to stream the body to instead. + * (string|boolean, default: false) + * - `auth`: Authentication handler or array of user/password details to use + * for Basic authentication + * (Requests_Auth|array|boolean, default: false) + * - `proxy`: Proxy details to use for proxy by-passing and authentication + * (Requests_Proxy|array|boolean, default: false) + * - `idn`: Enable IDN parsing + * (boolean, default: true) + * - `transport`: Custom transport. Either a class name, or a + * transport object. Defaults to the first working transport from + * {@see getTransport()} + * (string|Requests_Transport, default: {@see getTransport()}) + * - `hooks`: Hooks handler. + * (Requests_Hooker, default: new Requests_Hooks()) + * - `verify`: Should we verify SSL certificates? Allows passing in a custom + * certificate file as a string. (Using true uses the system-wide root + * certificate store instead, but this may have different behaviour + * across transports.) + * (string|boolean, default: library/Requests/Transport/cacert.pem) + * - `verifyname`: Should we verify the common name in the SSL certificate? + * (boolean: default, true) + * + * @throws Requests_Exception On invalid URLs (`nonhttp`) + * + * @param string $url URL to request + * @param array $headers Extra headers to send with the request + * @param array $data Data to send either as a query string for GET/HEAD requests, or in the body for POST requests + * @param string $type HTTP request type (use Requests constants) + * @param array $options Options for the request (see description for more information) + * @return Requests_Response + */ + public static function request($url, $headers = array(), $data = array(), $type = self::GET, $options = array()) { + if (empty($options['type'])) { + $options['type'] = $type; + } + $options = array_merge(self::get_default_options(), $options); + + self::set_defaults($url, $headers, $data, $type, $options); + + $options['hooks']->dispatch('requests.before_request', array(&$url, &$headers, &$data, &$type, &$options)); + + if (!empty($options['transport'])) { + $transport = $options['transport']; + + if (is_string($options['transport'])) { + $transport = new $transport(); + } + } else { + $need_ssl = (0 === stripos($url, 'https://')); + $capabilities = array('ssl' => $need_ssl); + $transport = self::get_transport($capabilities); + } + $response = $transport->request($url, $headers, $data, $options); + + $options['hooks']->dispatch('requests.before_parse', array(&$response, $url, $headers, $data, $type, $options)); + + return self::parse_response($response, $url, $headers, $data, $options); + } + + /** + * Send multiple HTTP requests simultaneously + * + * The `$requests` parameter takes an associative or indexed array of + * request fields. The key of each request can be used to match up the + * request with the returned data, or with the request passed into your + * `multiple.request.complete` callback. + * + * The request fields value is an associative array with the following keys: + * + * - `url`: Request URL Same as the `$url` parameter to + * {@see Requests::request} + * (string, required) + * - `headers`: Associative array of header fields. Same as the `$headers` + * parameter to {@see Requests::request} + * (array, default: `array()`) + * - `data`: Associative array of data fields or a string. Same as the + * `$data` parameter to {@see Requests::request} + * (array|string, default: `array()`) + * - `type`: HTTP request type (use Requests constants). Same as the `$type` + * parameter to {@see Requests::request} + * (string, default: `Requests::GET`) + * - `cookies`: Associative array of cookie name to value, or cookie jar. + * (array|Requests_Cookie_Jar) + * + * If the `$options` parameter is specified, individual requests will + * inherit options from it. This can be used to use a single hooking system, + * or set all the types to `Requests::POST`, for example. + * + * In addition, the `$options` parameter takes the following global options: + * + * - `complete`: A callback for when a request is complete. Takes two + * parameters, a Requests_Response/Requests_Exception reference, and the + * ID from the request array (Note: this can also be overridden on a + * per-request basis, although that's a little silly) + * (callback) + * + * @param array $requests Requests data (see description for more information) + * @param array $options Global and default options (see {@see Requests::request}) + * @return array Responses (either Requests_Response or a Requests_Exception object) + */ + public static function request_multiple($requests, $options = array()) { + $options = array_merge(self::get_default_options(true), $options); + + if (!empty($options['hooks'])) { + $options['hooks']->register('transport.internal.parse_response', array('Requests', 'parse_multiple')); + if (!empty($options['complete'])) { + $options['hooks']->register('multiple.request.complete', $options['complete']); + } + } + + foreach ($requests as $id => &$request) { + if (!isset($request['headers'])) { + $request['headers'] = array(); + } + if (!isset($request['data'])) { + $request['data'] = array(); + } + if (!isset($request['type'])) { + $request['type'] = self::GET; + } + if (!isset($request['options'])) { + $request['options'] = $options; + $request['options']['type'] = $request['type']; + } + else { + if (empty($request['options']['type'])) { + $request['options']['type'] = $request['type']; + } + $request['options'] = array_merge($options, $request['options']); + } + + self::set_defaults($request['url'], $request['headers'], $request['data'], $request['type'], $request['options']); + + // Ensure we only hook in once + if ($request['options']['hooks'] !== $options['hooks']) { + $request['options']['hooks']->register('transport.internal.parse_response', array('Requests', 'parse_multiple')); + if (!empty($request['options']['complete'])) { + $request['options']['hooks']->register('multiple.request.complete', $request['options']['complete']); + } + } + } + unset($request); + + if (!empty($options['transport'])) { + $transport = $options['transport']; + + if (is_string($options['transport'])) { + $transport = new $transport(); + } + } + else { + $transport = self::get_transport(); + } + $responses = $transport->request_multiple($requests, $options); + + foreach ($responses as $id => &$response) { + // If our hook got messed with somehow, ensure we end up with the + // correct response + if (is_string($response)) { + $request = $requests[$id]; + self::parse_multiple($response, $request); + $request['options']['hooks']->dispatch('multiple.request.complete', array(&$response, $id)); + } + } + + return $responses; + } + + /** + * Get the default options + * + * @see Requests::request() for values returned by this method + * @param boolean $multirequest Is this a multirequest? + * @return array Default option values + */ + protected static function get_default_options($multirequest = false) { + $defaults = array( + 'timeout' => 10, + 'connect_timeout' => 10, + 'useragent' => 'php-requests/' . self::VERSION, + 'redirected' => 0, + 'redirects' => 10, + 'follow_redirects' => true, + 'blocking' => true, + 'type' => self::GET, + 'filename' => false, + 'auth' => false, + 'proxy' => false, + 'cookies' => false, + 'idn' => true, + 'hooks' => null, + 'transport' => null, + 'verify' => dirname( __FILE__ ) . '/Requests/Transport/cacert.pem', + 'verifyname' => true, + ); + if ($multirequest !== false) { + $defaults['complete'] = null; + } + return $defaults; + } + + /** + * Set the default values + * + * @param string $url URL to request + * @param array $headers Extra headers to send with the request + * @param array $data Data to send either as a query string for GET/HEAD requests, or in the body for POST requests + * @param string $type HTTP request type + * @param array $options Options for the request + * @return array $options + */ + protected static function set_defaults(&$url, &$headers, &$data, &$type, &$options) { + if (!preg_match('/^http(s)?:\/\//i', $url, $matches)) { + throw new Requests_Exception('Only HTTP requests are handled.', 'nonhttp', $url); + } + + if (empty($options['hooks'])) { + $options['hooks'] = new Requests_Hooks(); + } + + if (is_array($options['auth'])) { + $options['auth'] = new Requests_Auth_Basic($options['auth']); + } + if ($options['auth'] !== false) { + $options['auth']->register($options['hooks']); + } + + if (!empty($options['proxy'])) { + $options['proxy'] = new Requests_Proxy_HTTP($options['proxy']); + } + if ($options['proxy'] !== false) { + $options['proxy']->register($options['hooks']); + } + + if (is_array($options['cookies'])) { + $options['cookies'] = new Requests_Cookie_Jar($options['cookies']); + } + elseif (empty($options['cookies'])) { + $options['cookies'] = new Requests_Cookie_Jar(); + } + if ($options['cookies'] !== false) { + $options['cookies']->register($options['hooks']); + } + + if ($options['idn'] !== false) { + $iri = new Requests_IRI($url); + $iri->host = Requests_IDNAEncoder::encode($iri->ihost); + $url = $iri->uri; + } + } + + /** + * HTTP response parser + * + * @throws Requests_Exception On missing head/body separator (`requests.no_crlf_separator`) + * @throws Requests_Exception On missing head/body separator (`noversion`) + * @throws Requests_Exception On missing head/body separator (`toomanyredirects`) + * + * @param string $headers Full response text including headers and body + * @param string $url Original request URL + * @param array $req_headers Original $headers array passed to {@link request()}, in case we need to follow redirects + * @param array $req_data Original $data array passed to {@link request()}, in case we need to follow redirects + * @param array $options Original $options array passed to {@link request()}, in case we need to follow redirects + * @return Requests_Response + */ + protected static function parse_response($headers, $url, $req_headers, $req_data, $options) { + $return = new Requests_Response(); + if (!$options['blocking']) { + return $return; + } + + $return->raw = $headers; + $return->url = $url; + + if (!$options['filename']) { + if (($pos = strpos($headers, "\r\n\r\n")) === false) { + // Crap! + throw new Requests_Exception('Missing header/body separator', 'requests.no_crlf_separator'); + } + + $headers = substr($return->raw, 0, $pos); + $return->body = substr($return->raw, $pos + strlen("\n\r\n\r")); + } + else { + $return->body = ''; + } + // Pretend CRLF = LF for compatibility (RFC 2616, section 19.3) + $headers = str_replace("\r\n", "\n", $headers); + // Unfold headers (replace [CRLF] 1*( SP | HT ) with SP) as per RFC 2616 (section 2.2) + $headers = preg_replace('/\n[ \t]/', ' ', $headers); + $headers = explode("\n", $headers); + preg_match('#^HTTP/1\.\d[ \t]+(\d+)#i', array_shift($headers), $matches); + if (empty($matches)) { + throw new Requests_Exception('Response could not be parsed', 'noversion', $headers); + } + $return->status_code = (int) $matches[1]; + if ($return->status_code >= 200 && $return->status_code < 300) { + $return->success = true; + } + + foreach ($headers as $header) { + list($key, $value) = explode(':', $header, 2); + $value = trim($value); + preg_replace('#(\s+)#i', ' ', $value); + $return->headers[$key] = $value; + } + if (isset($return->headers['transfer-encoding'])) { + $return->body = self::decode_chunked($return->body); + unset($return->headers['transfer-encoding']); + } + if (isset($return->headers['content-encoding'])) { + $return->body = self::decompress($return->body); + } + + //fsockopen and cURL compatibility + if (isset($return->headers['connection'])) { + unset($return->headers['connection']); + } + + $options['hooks']->dispatch('requests.before_redirect_check', array(&$return, $req_headers, $req_data, $options)); + + if ((in_array($return->status_code, array(300, 301, 302, 303, 307)) || $return->status_code > 307 && $return->status_code < 400) && $options['follow_redirects'] === true) { + if (isset($return->headers['location']) && $options['redirected'] < $options['redirects']) { + if ($return->status_code === 303) { + $options['type'] = Requests::GET; + } + $options['redirected']++; + $location = $return->headers['location']; + if (strpos ($location, 'http://') !== 0 && strpos ($location, 'https://') !== 0) { + // relative redirect, for compatibility make it absolute + $location = Requests_IRI::absolutize($url, $location); + $location = $location->uri; + } + $redirected = self::request($location, $req_headers, $req_data, false, $options); + $redirected->history[] = $return; + return $redirected; + } + elseif ($options['redirected'] >= $options['redirects']) { + throw new Requests_Exception('Too many redirects', 'toomanyredirects', $return); + } + } + + $return->redirects = $options['redirected']; + + $options['hooks']->dispatch('requests.after_request', array(&$return, $req_headers, $req_data, $options)); + return $return; + } + + /** + * Callback for `transport.internal.parse_response` + * + * Internal use only. Converts a raw HTTP response to a Requests_Response + * while still executing a multiple request. + * + * @param string $headers Full response text including headers and body + * @param array $request Request data as passed into {@see Requests::request_multiple()} + * @return null `$response` is either set to a Requests_Response instance, or a Requests_Exception object + */ + public static function parse_multiple(&$response, $request) { + try { + $response = self::parse_response($response, $request['url'], $request['headers'], $request['data'], $request['options']); + } + catch (Requests_Exception $e) { + $response = $e; + } + } + + /** + * Decoded a chunked body as per RFC 2616 + * + * @see http://tools.ietf.org/html/rfc2616#section-3.6.1 + * @param string $data Chunked body + * @return string Decoded body + */ + protected static function decode_chunked($data) { + if (!preg_match('/^([0-9a-f]+)[^\r\n]*\r\n/i', trim($data))) { + return $data; + } + + $decoded = ''; + $encoded = $data; + + while (true) { + $is_chunked = (bool) preg_match( '/^([0-9a-f]+)[^\r\n]*\r\n/i', $encoded, $matches ); + if (!$is_chunked) { + // Looks like it's not chunked after all + return $data; + } + + $length = hexdec(trim($matches[1])); + if ($length === 0) { + // Ignore trailer headers + return $decoded; + } + + $chunk_length = strlen($matches[0]); + $decoded .= $part = substr($encoded, $chunk_length, $length); + $encoded = substr($encoded, $chunk_length + $length + 2); + + if (trim($encoded) === '0' || empty($encoded)) { + return $decoded; + } + } + + // We'll never actually get down here + // @codeCoverageIgnoreStart + } + // @codeCoverageIgnoreEnd + + /** + * Convert a key => value array to a 'key: value' array for headers + * + * @param array $array Dictionary of header values + * @return array List of headers + */ + public static function flatten($array) { + $return = array(); + foreach ($array as $key => $value) { + $return[] = "$key: $value"; + } + return $return; + } + + /** + * Convert a key => value array to a 'key: value' array for headers + * + * @deprecated Misspelling of {@see Requests::flatten} + * @param array $array Dictionary of header values + * @return array List of headers + */ + public static function flattern($array) { + return self::flatten($array); + } + + /** + * Decompress an encoded body + * + * Implements gzip, compress and deflate. Guesses which it is by attempting + * to decode. + * + * @todo Make this smarter by defaulting to whatever the headers say first + * @param string $data Compressed data in one of the above formats + * @return string Decompressed string + */ + public static function decompress($data) { + if (substr($data, 0, 2) !== "\x1f\x8b" && substr($data, 0, 2) !== "\x78\x9c") { + // Not actually compressed. Probably cURL ruining this for us. + return $data; + } + + if (function_exists('gzdecode') && ($decoded = @gzdecode($data)) !== false) { + return $decoded; + } + elseif (function_exists('gzinflate') && ($decoded = @gzinflate($data)) !== false) { + return $decoded; + } + elseif (($decoded = self::compatible_gzinflate($data)) !== false) { + return $decoded; + } + elseif (function_exists('gzuncompress') && ($decoded = @gzuncompress($data)) !== false) { + return $decoded; + } + + return $data; + } + + /** + * Decompression of deflated string while staying compatible with the majority of servers. + * + * Certain Servers will return deflated data with headers which PHP's gzinflate() + * function cannot handle out of the box. The following function has been created from + * various snippets on the gzinflate() PHP documentation. + * + * Warning: Magic numbers within. Due to the potential different formats that the compressed + * data may be returned in, some "magic offsets" are needed to ensure proper decompression + * takes place. For a simple progmatic way to determine the magic offset in use, see: + * http://core.trac.wordpress.org/ticket/18273 + * + * @since 2.8.1 + * @link http://core.trac.wordpress.org/ticket/18273 + * @link http://au2.php.net/manual/en/function.gzinflate.php#70875 + * @link http://au2.php.net/manual/en/function.gzinflate.php#77336 + * + * @param string $gzData String to decompress. + * @return string|bool False on failure. + */ + public static function compatible_gzinflate($gzData) { + // Compressed data might contain a full zlib header, if so strip it for + // gzinflate() + if ( substr($gzData, 0, 3) == "\x1f\x8b\x08" ) { + $i = 10; + $flg = ord( substr($gzData, 3, 1) ); + if ( $flg > 0 ) { + if ( $flg & 4 ) { + list($xlen) = unpack('v', substr($gzData, $i, 2) ); + $i = $i + 2 + $xlen; + } + if ( $flg & 8 ) + $i = strpos($gzData, "\0", $i) + 1; + if ( $flg & 16 ) + $i = strpos($gzData, "\0", $i) + 1; + if ( $flg & 2 ) + $i = $i + 2; + } + $decompressed = self::compatible_gzinflate( substr( $gzData, $i ) ); + if ( false !== $decompressed ) { + return $decompressed; + } + } + + // If the data is Huffman Encoded, we must first strip the leading 2 + // byte Huffman marker for gzinflate() + // The response is Huffman coded by many compressors such as + // java.util.zip.Deflater, Ruby’s Zlib::Deflate, and .NET's + // System.IO.Compression.DeflateStream. + // + // See http://decompres.blogspot.com/ for a quick explanation of this + // data type + $huffman_encoded = false; + + // low nibble of first byte should be 0x08 + list( , $first_nibble ) = unpack( 'h', $gzData ); + + // First 2 bytes should be divisible by 0x1F + list( , $first_two_bytes ) = unpack( 'n', $gzData ); + + if ( 0x08 == $first_nibble && 0 == ( $first_two_bytes % 0x1F ) ) + $huffman_encoded = true; + + if ( $huffman_encoded ) { + if ( false !== ( $decompressed = @gzinflate( substr( $gzData, 2 ) ) ) ) + return $decompressed; + } + + if ( "\x50\x4b\x03\x04" == substr( $gzData, 0, 4 ) ) { + // ZIP file format header + // Offset 6: 2 bytes, General-purpose field + // Offset 26: 2 bytes, filename length + // Offset 28: 2 bytes, optional field length + // Offset 30: Filename field, followed by optional field, followed + // immediately by data + list( , $general_purpose_flag ) = unpack( 'v', substr( $gzData, 6, 2 ) ); + + // If the file has been compressed on the fly, 0x08 bit is set of + // the general purpose field. We can use this to differentiate + // between a compressed document, and a ZIP file + $zip_compressed_on_the_fly = ( 0x08 == (0x08 & $general_purpose_flag ) ); + + if ( ! $zip_compressed_on_the_fly ) { + // Don't attempt to decode a compressed zip file + return $gzData; + } + + // Determine the first byte of data, based on the above ZIP header + // offsets: + $first_file_start = array_sum( unpack( 'v2', substr( $gzData, 26, 4 ) ) ); + if ( false !== ( $decompressed = @gzinflate( substr( $gzData, 30 + $first_file_start ) ) ) ) { + return $decompressed; + } + return false; + } + + // Finally fall back to straight gzinflate + if ( false !== ( $decompressed = @gzinflate( $gzData ) ) ) { + return $decompressed; + } + + // Fallback for all above failing, not expected, but included for + // debugging and preventing regressions and to track stats + if ( false !== ( $decompressed = @gzinflate( substr( $gzData, 2 ) ) ) ) { + return $decompressed; + } + + return false; + } + + public static function match_domain($host, $reference) { + // Check for a direct match + if ($host === $reference) { + return true; + } + + // Calculate the valid wildcard match if the host is not an IP address + // Also validates that the host has 3 parts or more, as per Firefox's + // ruleset. + $parts = explode('.', $host); + if (ip2long($host) === false && count($parts) >= 3) { + $parts[0] = '*'; + $wildcard = implode('.', $parts); + if ($wildcard === $reference) { + return true; + } + } + + return false; + } +} diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Auth.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Auth.php new file mode 100644 index 0000000..bca4109 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Auth.php @@ -0,0 +1,33 @@ +<?php +/** + * Authentication provider interface + * + * @package Requests + * @subpackage Authentication + */ + +/** + * Authentication provider interface + * + * Implement this interface to act as an authentication provider. + * + * Parameters should be passed via the constructor where possible, as this + * makes it much easier for users to use your provider. + * + * @see Requests_Hooks + * @package Requests + * @subpackage Authentication + */ +interface Requests_Auth { + /** + * Register hooks as needed + * + * This method is called in {@see Requests::request} when the user has set + * an instance as the 'auth' option. Use this callback to register all the + * hooks you'll need. + * + * @see Requests_Hooks::register + * @param Requests_Hooks $hooks Hook system + */ + public function register(Requests_Hooks &$hooks); +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Auth/Basic.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Auth/Basic.php new file mode 100644 index 0000000..b5f420e --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Auth/Basic.php @@ -0,0 +1,88 @@ +<?php +/** + * Basic Authentication provider + * + * @package Requests + * @subpackage Authentication + */ + +/** + * Basic Authentication provider + * + * Provides a handler for Basic HTTP authentication via the Authorization + * header. + * + * @package Requests + * @subpackage Authentication + */ +class Requests_Auth_Basic implements Requests_Auth { + /** + * Username + * + * @var string + */ + public $user; + + /** + * Password + * + * @var string + */ + public $pass; + + /** + * Constructor + * + * @throws Requests_Exception On incorrect number of arguments (`authbasicbadargs`) + * @param array|null $args Array of user and password. Must have exactly two elements + */ + public function __construct($args = null) { + if (is_array($args)) { + if (count($args) !== 2) { + throw new Requests_Exception('Invalid number of arguments', 'authbasicbadargs'); + } + + list($this->user, $this->pass) = $args; + } + } + + /** + * Register the necessary callbacks + * + * @see curl_before_send + * @see fsockopen_header + * @param Requests_Hooks $hooks Hook system + */ + public function register(Requests_Hooks &$hooks) { + $hooks->register('curl.before_send', array(&$this, 'curl_before_send')); + $hooks->register('fsockopen.after_headers', array(&$this, 'fsockopen_header')); + } + + /** + * Set cURL parameters before the data is sent + * + * @param resource $handle cURL resource + */ + public function curl_before_send(&$handle) { + curl_setopt($handle, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); + curl_setopt($handle, CURLOPT_USERPWD, $this->getAuthString()); + } + + /** + * Add extra headers to the request before sending + * + * @param string $out HTTP header string + */ + public function fsockopen_header(&$out) { + $out .= "Authorization: Basic " . base64_encode($this->getAuthString()) . "\r\n"; + } + + /** + * Get the authentication string (user:pass) + * + * @return string + */ + public function getAuthString() { + return $this->user . ':' . $this->pass; + } +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Cookie.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Cookie.php new file mode 100644 index 0000000..d978817 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Cookie.php @@ -0,0 +1,374 @@ +<?php +/** + * Cookie storage object + * + * @package Requests + * @subpackage Cookies + */ + +/** + * Cookie storage object + * + * @package Requests + * @subpackage Cookies + */ +class Requests_Cookie { + /** + * + * @var string + */ + public $name; + + /** + * @var string + */ + public $value; + + /** + * Cookie attributes + * + * Valid keys are (currently) path, domain, expires, max-age, secure and + * httponly. + * + * @var array + */ + public $attributes = array(); + + /** + * Cookie flags + * + * Valid keys are (currently) creation, last-access, persistent and + * host-only. + * + * @var array + */ + public $flags = array(); + + /** + * Create a new cookie object + * + * @param string $name + * @param string $value + * @param array $attributes Associative array of attribute data + */ + public function __construct($name, $value, $attributes = array(), $flags = array()) { + $this->name = $name; + $this->value = $value; + $this->attributes = $attributes; + $default_flags = array( + 'creation' => time(), + 'last-access' => time(), + 'persistent' => false, + 'host-only' => true, + ); + $this->flags = array_merge($default_flags, $flags); + + $this->normalize(); + } + + /** + * Check if a cookie is valid for a given URI + * + * @param Requests_IRI $uri URI to check + * @return boolean Whether the cookie is valid for the given URI + */ + public function uriMatches(Requests_IRI $uri) { + if (!$this->domainMatches($uri->host)) { + return false; + } + + if (!$this->pathMatches($uri->path)) { + return false; + } + + if (!empty($this->attributes['secure']) && $uri->scheme !== 'https') { + return false; + } + + return true; + } + + /** + * Check if a cookie is valid for a given domain + * + * @param string $string Domain to check + * @return boolean Whether the cookie is valid for the given domain + */ + public function domainMatches($string) { + if (!isset($this->attributes['domain'])) { + // Cookies created manually; cookies created by Requests will set + // the domain to the requested domain + return true; + } + + $domain_string = $this->attributes['domain']; + if ($domain_string === $string) { + // The domain string and the string are identical. + return true; + } + + // If the cookie is marked as host-only and we don't have an exact + // match, reject the cookie + if ($this->flags['host-only'] === true) { + return false; + } + + if (strlen($string) <= strlen($domain_string)) { + // For obvious reasons, the string cannot be a suffix if the domain + // is shorter than the domain string + return false; + } + + if (substr($string, -1 * strlen($domain_string)) !== $domain_string) { + // The domain string should be a suffix of the string. + return false; + } + + $prefix = substr($string, 0, strlen($string) - strlen($domain_string)); + if (substr($prefix, -1) !== '.') { + // The last character of the string that is not included in the + // domain string should be a %x2E (".") character. + return false; + } + + if (preg_match('#^(.+\.)\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$#', $string)) { + // The string should be a host name (i.e., not an IP address). + return false; + } + + return true; + } + + /** + * Check if a cookie is valid for a given path + * + * From the path-match check in RFC 6265 section 5.1.4 + * + * @param string $request_path Path to check + * @return boolean Whether the cookie is valid for the given path + */ + public function pathMatches($request_path) { + if (empty($request_path)) { + // Normalize empty path to root + $request_path = '/'; + } + + if (!isset($this->attributes['path'])) { + // Cookies created manually; cookies created by Requests will set + // the path to the requested path + return true; + } + + $cookie_path = $this->attributes['path']; + + if ($cookie_path === $request_path) { + // The cookie-path and the request-path are identical. + return true; + } + + if (strlen($request_path) > strlen($cookie_path) && substr($request_path, 0, strlen($cookie_path)) === $cookie_path) { + if (substr($cookie_path, -1) === '/') { + // The cookie-path is a prefix of the request-path, and the last + // character of the cookie-path is %x2F ("/"). + return true; + } + + if (substr($request_path, strlen($cookie_path), 1) === '/') { + // The cookie-path is a prefix of the request-path, and the + // first character of the request-path that is not included in + // the cookie-path is a %x2F ("/") character. + return true; + } + } + + return false; + } + + /** + * Normalize cookie and attributes + * + * @return boolean Whether the cookie was successfully normalized + */ + public function normalize() { + foreach ($this->attributes as $key => $value) { + $orig_value = $value; + switch ($key) { + case 'domain': + // Domain normalization, as per RFC 6265 section 5.2.3 + if ($value[0] === '.') { + $value = substr($value, 1); + } + break; + } + + if ($value !== $orig_value) { + $this->attributes[$key] = $value; + } + } + + return true; + } + + /** + * Format a cookie for a Cookie header + * + * This is used when sending cookies to a server. + * + * @return string Cookie formatted for Cookie header + */ + public function formatForHeader() { + return sprintf('%s=%s', $this->name, $this->value); + } + + /** + * Format a cookie for a Set-Cookie header + * + * This is used when sending cookies to clients. This isn't really + * applicable to client-side usage, but might be handy for debugging. + * + * @return string Cookie formatted for Set-Cookie header + */ + public function formatForSetCookie() { + $header_value = $this->formatForHeader(); + if (!empty($this->attributes)) { + $parts = array(); + foreach ($this->attributes as $key => $value) { + // Ignore non-associative attributes + if (is_numeric($key)) { + $parts[] = $value; + } + else { + $parts[] = sprintf('%s=%s', $key, $value); + } + } + + $header_value .= '; ' . implode('; ', $parts); + } + return $header_value; + } + + /** + * Get the cookie value + * + * Attributes and other data can be accessed via methods. + */ + public function __toString() { + return $this->value; + } + + /** + * Parse a cookie string into a cookie object + * + * Based on Mozilla's parsing code in Firefox and related projects, which + * is an intentional deviation from RFC 2109 and RFC 2616. RFC 6265 + * specifies some of this handling, but not in a thorough manner. + * + * @param string Cookie header value (from a Set-Cookie header) + * @return Requests_Cookie Parsed cookie object + */ + public static function parse($string, $name = '') { + $parts = explode(';', $string); + $kvparts = array_shift($parts); + + if (!empty($name)) { + $value = $string; + } + elseif (strpos($kvparts, '=') === false) { + // Some sites might only have a value without the equals separator. + // Deviate from RFC 6265 and pretend it was actually a blank name + // (`=foo`) + // + // https://bugzilla.mozilla.org/show_bug.cgi?id=169091 + $name = ''; + $value = $kvparts; + } + else { + list($name, $value) = explode('=', $kvparts, 2); + } + $name = trim($name); + $value = trim($value); + + // Attribute key are handled case-insensitively + $attributes = new Requests_Utility_CaseInsensitiveDictionary(); + + if (!empty($parts)) { + foreach ($parts as $part) { + if (strpos($part, '=') === false) { + $part_key = $part; + $part_value = true; + } + else { + list($part_key, $part_value) = explode('=', $part, 2); + $part_value = trim($part_value); + } + + $part_key = trim($part_key); + $attributes[$part_key] = $part_value; + } + } + + return new Requests_Cookie($name, $value, $attributes); + } + + /** + * Parse all Set-Cookie headers from request headers + * + * @param Requests_Response_Headers $headers + * @return array + */ + public static function parseFromHeaders(Requests_Response_Headers $headers, Requests_IRI $origin = null) { + $cookie_headers = $headers->getValues('Set-Cookie'); + if (empty($cookie_headers)) { + return array(); + } + + $cookies = array(); + foreach ($cookie_headers as $header) { + $parsed = self::parse($header); + + // Default domain/path attributes + if (empty($parsed->attributes['domain']) && !empty($origin)) { + $parsed->attributes['domain'] = $origin->host; + $parsed->flags['host-only'] = false; + } + else { + $parsed->flags['host-only'] = true; + } + + $path_is_valid = (!empty($parsed->attributes['path']) && $parsed->attributes['path'][0] === '/'); + if (!$path_is_valid && !empty($origin)) { + $path = $origin->path; + + // Default path normalization as per RFC 6265 section 5.1.4 + if (substr($path, 0, 1) !== '/') { + // If the uri-path is empty or if the first character of + // the uri-path is not a %x2F ("/") character, output + // %x2F ("/") and skip the remaining steps. + $path = '/'; + } + elseif (substr_count($path, '/') === 1) { + // If the uri-path contains no more than one %x2F ("/") + // character, output %x2F ("/") and skip the remaining + // step. + $path = '/'; + } + else { + // Output the characters of the uri-path from the first + // character up to, but not including, the right-most + // %x2F ("/"). + $path = substr($path, 0, strrpos($path, '/')); + } + $parsed->attributes['path'] = $path; + } + + // Reject invalid cookie domains + if (!$parsed->domainMatches($origin->host)) { + continue; + } + + $cookies[$parsed->name] = $parsed; + } + + return $cookies; + } +} diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Cookie/Jar.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Cookie/Jar.php new file mode 100644 index 0000000..82c332d --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Cookie/Jar.php @@ -0,0 +1,158 @@ +<?php +/** + * Cookie holder object + * + * @package Requests + * @subpackage Cookies + */ + +/** + * Cookie holder object + * + * @package Requests + * @subpackage Cookies + */ +class Requests_Cookie_Jar implements ArrayAccess, IteratorAggregate { + /** + * Actual item data + * + * @var array + */ + protected $cookies = array(); + + /** + * Create a new jar + * + * @param array $cookies Existing cookie values + */ + public function __construct($cookies = array()) { + $this->cookies = $cookies; + } + + /** + * Normalise cookie data into a Requests_Cookie + * + * @param string|Requests_Cookie $cookie + * @return Requests_Cookie + */ + public function normalizeCookie($cookie, $key = null) { + if ($cookie instanceof Requests_Cookie) { + return $cookie; + } + + return Requests_Cookie::parse($cookie, $key); + } + + /** + * Check if the given item exists + * + * @param string $key Item key + * @return boolean Does the item exist? + */ + public function offsetExists($key) { + return isset($this->cookies[$key]); + } + + /** + * Get the value for the item + * + * @param string $key Item key + * @return string Item value + */ + public function offsetGet($key) { + if (!isset($this->cookies[$key])) + return null; + + return $this->cookies[$key]; + } + + /** + * Set the given item + * + * @throws Requests_Exception On attempting to use dictionary as list (`invalidset`) + * + * @param string $key Item name + * @param string $value Item value + */ + public function offsetSet($key, $value) { + if ($key === null) { + throw new Requests_Exception('Object is a dictionary, not a list', 'invalidset'); + } + + $this->cookies[$key] = $value; + } + + /** + * Unset the given header + * + * @param string $key + */ + public function offsetUnset($key) { + unset($this->cookies[$key]); + } + + /** + * Get an iterator for the data + * + * @return ArrayIterator + */ + public function getIterator() { + return new ArrayIterator($this->cookies); + } + + /** + * Register the cookie handler with the request's hooking system + * + * @param Requests_Hooker $hooks Hooking system + */ + public function register(Requests_Hooker $hooks) { + $hooks->register('requests.before_request', array($this, 'before_request')); + $hooks->register('requests.before_redirect_check', array($this, 'before_redirect_check')); + } + + /** + * Add Cookie header to a request if we have any + * + * As per RFC 6265, cookies are separated by '; ' + * + * @param string $url + * @param array $headers + * @param array $data + * @param string $type + * @param array $options + */ + public function before_request($url, &$headers, &$data, &$type, &$options) { + if ( ! $url instanceof Requests_IRI ) { + $url = new Requests_IRI($url); + } + + if (!empty($this->cookies)) { + $cookies = array(); + foreach ($this->cookies as $key => $cookie) { + $cookie = $this->normalizeCookie($cookie, $key); + + if ( $cookie->domainMatches( $url->host ) ) { + $cookies[] = $cookie->formatForHeader(); + } + } + + $headers['Cookie'] = implode('; ', $cookies); + } + } + + /** + * Parse all cookies from a response and attach them to the response + * + * @var Requests_Response $response + */ + public function before_redirect_check(Requests_Response &$return) { + $url = $return->url; + if ( ! $url instanceof Requests_IRI ) { + $url = new Requests_IRI($url); + } + + $cookies = Requests_Cookie::parseFromHeaders($return->headers, $url); + $this->cookies = array_merge($this->cookies, $cookies); + $return->cookies = $this; + } +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception.php new file mode 100644 index 0000000..37d4711 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception.php @@ -0,0 +1,62 @@ +<?php +/** + * Exception for HTTP requests + * + * @package Requests + */ + +/** + * Exception for HTTP requests + * + * @package Requests + */ +class Requests_Exception extends Exception { + /** + * Type of exception + * + * @var string + */ + protected $type; + + /** + * Data associated with the exception + * + * @var mixed + */ + protected $data; + + /** + * Create a new exception + * + * @param string $message Exception message + * @param string $type Exception type + * @param mixed $data Associated data + * @param integer $code Exception numerical code, if applicable + */ + public function __construct($message, $type, $data = null, $code = 0) { + parent::__construct($message, $code); + + $this->type = $type; + $this->data = $data; + } + + /** + * Like {@see getCode()}, but a string code. + * + * @codeCoverageIgnore + * @return string + */ + public function getType() { + return $this->type; + } + + /** + * Gives any relevant data + * + * @codeCoverageIgnore + * @return mixed + */ + public function getData() { + return $this->data; + } +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP.php new file mode 100644 index 0000000..dc8954f --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP.php @@ -0,0 +1,67 @@ +<?php +/** + * Exception based on HTTP response + * + * @package Requests + */ + +/** + * Exception based on HTTP response + * + * @package Requests + */ +class Requests_Exception_HTTP extends Requests_Exception { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 0; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'Unknown'; + + /** + * Create a new exception + * + * There is no mechanism to pass in the status code, as this is set by the + * subclass used. Reason phrases can vary, however. + * + * @param string $reason Reason phrase + * @param mixed $data Associated data + */ + public function __construct($reason = null, $data = null) { + if ($reason !== null) { + $this->reason = $reason; + } + + $message = sprintf('%d %s', $this->code, $this->reason); + parent::__construct($message, 'httpresponse', $data, $this->code); + } + + /** + * Get the status message + */ + public function getReason() { + return $this->reason; + } + + /** + * Get the correct exception class for a given error code + * + * @param int $code HTTP status code + * @return string Exception class name to use + */ + public static function get_class($code) { + $class = sprintf('Requests_Exception_HTTP_%d', $code); + if (class_exists($class)) { + return $class; + } + + return 'Requests_Exception_HTTP_Unknown'; + } +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/400.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/400.php new file mode 100644 index 0000000..b3ad774 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/400.php @@ -0,0 +1,27 @@ +<?php +/** + * Exception for 400 Bad Request responses + * + * @package Requests + */ + +/** + * Exception for 400 Bad Request responses + * + * @package Requests + */ +class Requests_Exception_HTTP_400 extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 400; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'Bad Request'; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/401.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/401.php new file mode 100644 index 0000000..2e1e3d0 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/401.php @@ -0,0 +1,27 @@ +<?php +/** + * Exception for 401 Unauthorized responses + * + * @package Requests + */ + +/** + * Exception for 401 Unauthorized responses + * + * @package Requests + */ +class Requests_Exception_HTTP_401 extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 401; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'Unauthorized'; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/402.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/402.php new file mode 100644 index 0000000..1d965d2 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/402.php @@ -0,0 +1,27 @@ +<?php +/** + * Exception for 402 Payment Required responses + * + * @package Requests + */ + +/** + * Exception for 402 Payment Required responses + * + * @package Requests + */ +class Requests_Exception_HTTP_402 extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 402; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'Payment Required'; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/403.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/403.php new file mode 100644 index 0000000..5ca3caf --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/403.php @@ -0,0 +1,27 @@ +<?php +/** + * Exception for 403 Forbidden responses + * + * @package Requests + */ + +/** + * Exception for 403 Forbidden responses + * + * @package Requests + */ +class Requests_Exception_HTTP_403 extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 403; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'Forbidden'; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/404.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/404.php new file mode 100644 index 0000000..f08be2d --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/404.php @@ -0,0 +1,27 @@ +<?php +/** + * Exception for 404 Not Found responses + * + * @package Requests + */ + +/** + * Exception for 404 Not Found responses + * + * @package Requests + */ +class Requests_Exception_HTTP_404 extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 404; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'Not Found'; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/405.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/405.php new file mode 100644 index 0000000..b8419e1 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/405.php @@ -0,0 +1,27 @@ +<?php +/** + * Exception for 405 Method Not Allowed responses + * + * @package Requests + */ + +/** + * Exception for 405 Method Not Allowed responses + * + * @package Requests + */ +class Requests_Exception_HTTP_405 extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 405; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'Method Not Allowed'; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/406.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/406.php new file mode 100644 index 0000000..09d0622 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/406.php @@ -0,0 +1,27 @@ +<?php +/** + * Exception for 406 Not Acceptable responses + * + * @package Requests + */ + +/** + * Exception for 406 Not Acceptable responses + * + * @package Requests + */ +class Requests_Exception_HTTP_406 extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 406; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'Not Acceptable'; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/407.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/407.php new file mode 100644 index 0000000..c21d1ec --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/407.php @@ -0,0 +1,27 @@ +<?php +/** + * Exception for 407 Proxy Authentication Required responses + * + * @package Requests + */ + +/** + * Exception for 407 Proxy Authentication Required responses + * + * @package Requests + */ +class Requests_Exception_HTTP_407 extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 407; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'Proxy Authentication Required'; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/408.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/408.php new file mode 100644 index 0000000..0691863 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/408.php @@ -0,0 +1,27 @@ +<?php +/** + * Exception for 408 Request Timeout responses + * + * @package Requests + */ + +/** + * Exception for 408 Request Timeout responses + * + * @package Requests + */ +class Requests_Exception_HTTP_408 extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 408; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'Request Timeout'; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/409.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/409.php new file mode 100644 index 0000000..5a3e0d1 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/409.php @@ -0,0 +1,27 @@ +<?php +/** + * Exception for 409 Conflict responses + * + * @package Requests + */ + +/** + * Exception for 409 Conflict responses + * + * @package Requests + */ +class Requests_Exception_HTTP_409 extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 409; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'Conflict'; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/410.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/410.php new file mode 100644 index 0000000..8eb3daf --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/410.php @@ -0,0 +1,27 @@ +<?php +/** + * Exception for 410 Gone responses + * + * @package Requests + */ + +/** + * Exception for 410 Gone responses + * + * @package Requests + */ +class Requests_Exception_HTTP_410 extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 410; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'Gone'; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/411.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/411.php new file mode 100644 index 0000000..cee6496 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/411.php @@ -0,0 +1,27 @@ +<?php +/** + * Exception for 411 Length Required responses + * + * @package Requests + */ + +/** + * Exception for 411 Length Required responses + * + * @package Requests + */ +class Requests_Exception_HTTP_411 extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 411; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'Length Required'; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/412.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/412.php new file mode 100644 index 0000000..e377d79 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/412.php @@ -0,0 +1,27 @@ +<?php +/** + * Exception for 412 Precondition Failed responses + * + * @package Requests + */ + +/** + * Exception for 412 Precondition Failed responses + * + * @package Requests + */ +class Requests_Exception_HTTP_412 extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 412; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'Precondition Failed'; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/413.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/413.php new file mode 100644 index 0000000..3b5fe27 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/413.php @@ -0,0 +1,27 @@ +<?php +/** + * Exception for 413 Request Entity Too Large responses + * + * @package Requests + */ + +/** + * Exception for 413 Request Entity Too Large responses + * + * @package Requests + */ +class Requests_Exception_HTTP_413 extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 413; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'Request Entity Too Large'; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/414.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/414.php new file mode 100644 index 0000000..14d5a59 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/414.php @@ -0,0 +1,27 @@ +<?php +/** + * Exception for 414 Request-URI Too Large responses + * + * @package Requests + */ + +/** + * Exception for 414 Request-URI Too Large responses + * + * @package Requests + */ +class Requests_Exception_HTTP_414 extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 414; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'Request-URI Too Large'; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/415.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/415.php new file mode 100644 index 0000000..32446c8 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/415.php @@ -0,0 +1,27 @@ +<?php +/** + * Exception for 415 Unsupported Media Type responses + * + * @package Requests + */ + +/** + * Exception for 415 Unsupported Media Type responses + * + * @package Requests + */ +class Requests_Exception_HTTP_415 extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 415; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'Unsupported Media Type'; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/416.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/416.php new file mode 100644 index 0000000..8c5f833 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/416.php @@ -0,0 +1,27 @@ +<?php +/** + * Exception for 416 Requested Range Not Satisfiable responses + * + * @package Requests + */ + +/** + * Exception for 416 Requested Range Not Satisfiable responses + * + * @package Requests + */ +class Requests_Exception_HTTP_416 extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 416; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'Requested Range Not Satisfiable'; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/417.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/417.php new file mode 100644 index 0000000..8807c71 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/417.php @@ -0,0 +1,27 @@ +<?php +/** + * Exception for 417 Expectation Failed responses + * + * @package Requests + */ + +/** + * Exception for 417 Expectation Failed responses + * + * @package Requests + */ +class Requests_Exception_HTTP_417 extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 417; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'Expectation Failed'; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/418.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/418.php new file mode 100644 index 0000000..a554d73 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/418.php @@ -0,0 +1,29 @@ +<?php +/** + * Exception for 418 I'm A Teapot responses + * + * @see http://tools.ietf.org/html/rfc2324 + * @package Requests + */ + +/** + * Exception for 418 I'm A Teapot responses + * + * @see http://tools.ietf.org/html/rfc2324 + * @package Requests + */ +class Requests_Exception_HTTP_418 extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 418; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = "I'm A Teapot"; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/428.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/428.php new file mode 100644 index 0000000..e320b46 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/428.php @@ -0,0 +1,29 @@ +<?php +/** + * Exception for 428 Precondition Required responses + * + * @see http://tools.ietf.org/html/rfc6585 + * @package Requests + */ + +/** + * Exception for 428 Precondition Required responses + * + * @see http://tools.ietf.org/html/rfc6585 + * @package Requests + */ +class Requests_Exception_HTTP_428 extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 428; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'Precondition Required'; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/429.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/429.php new file mode 100644 index 0000000..0970e1e --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/429.php @@ -0,0 +1,29 @@ +<?php +/** + * Exception for 429 Too Many Requests responses + * + * @see http://tools.ietf.org/html/draft-nottingham-http-new-status-04 + * @package Requests + */ + +/** + * Exception for 429 Too Many Requests responses + * + * @see http://tools.ietf.org/html/draft-nottingham-http-new-status-04 + * @package Requests + */ +class Requests_Exception_HTTP_429 extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 429; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'Too Many Requests'; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/431.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/431.php new file mode 100644 index 0000000..eec56e5 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/431.php @@ -0,0 +1,29 @@ +<?php +/** + * Exception for 431 Request Header Fields Too Large responses + * + * @see http://tools.ietf.org/html/rfc6585 + * @package Requests + */ + +/** + * Exception for 431 Request Header Fields Too Large responses + * + * @see http://tools.ietf.org/html/rfc6585 + * @package Requests + */ +class Requests_Exception_HTTP_431 extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 431; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'Request Header Fields Too Large'; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/500.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/500.php new file mode 100644 index 0000000..5165e35 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/500.php @@ -0,0 +1,27 @@ +<?php +/** + * Exception for 500 Internal Server Error responses + * + * @package Requests + */ + +/** + * Exception for 500 Internal Server Error responses + * + * @package Requests + */ +class Requests_Exception_HTTP_500 extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 500; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'Internal Server Error'; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/501.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/501.php new file mode 100644 index 0000000..3dd6946 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/501.php @@ -0,0 +1,27 @@ +<?php +/** + * Exception for 501 Not Implemented responses + * + * @package Requests + */ + +/** + * Exception for 501 Not Implemented responses + * + * @package Requests + */ +class Requests_Exception_HTTP_501 extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 501; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'Not Implemented'; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/502.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/502.php new file mode 100644 index 0000000..50c72d4 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/502.php @@ -0,0 +1,27 @@ +<?php +/** + * Exception for 502 Bad Gateway responses + * + * @package Requests + */ + +/** + * Exception for 502 Bad Gateway responses + * + * @package Requests + */ +class Requests_Exception_HTTP_502 extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 502; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'Bad Gateway'; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/503.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/503.php new file mode 100644 index 0000000..9304ecc --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/503.php @@ -0,0 +1,27 @@ +<?php +/** + * Exception for 503 Service Unavailable responses + * + * @package Requests + */ + +/** + * Exception for 503 Service Unavailable responses + * + * @package Requests + */ +class Requests_Exception_HTTP_503 extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 503; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'Service Unavailable'; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/504.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/504.php new file mode 100644 index 0000000..f46696b --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/504.php @@ -0,0 +1,27 @@ +<?php +/** + * Exception for 504 Gateway Timeout responses + * + * @package Requests + */ + +/** + * Exception for 504 Gateway Timeout responses + * + * @package Requests + */ +class Requests_Exception_HTTP_504 extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 504; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'Gateway Timeout'; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/505.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/505.php new file mode 100644 index 0000000..1f80294 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/505.php @@ -0,0 +1,27 @@ +<?php +/** + * Exception for 505 HTTP Version Not Supported responses + * + * @package Requests + */ + +/** + * Exception for 505 HTTP Version Not Supported responses + * + * @package Requests + */ +class Requests_Exception_HTTP_505 extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 505; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'HTTP Version Not Supported'; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/511.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/511.php new file mode 100644 index 0000000..90bcc5d --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/511.php @@ -0,0 +1,29 @@ +<?php +/** + * Exception for 511 Network Authentication Required responses + * + * @see http://tools.ietf.org/html/rfc6585 + * @package Requests + */ + +/** + * Exception for 511 Network Authentication Required responses + * + * @see http://tools.ietf.org/html/rfc6585 + * @package Requests + */ +class Requests_Exception_HTTP_511 extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 511; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'Network Authentication Required'; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/Unknown.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/Unknown.php new file mode 100644 index 0000000..2c4fc7e --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Exception/HTTP/Unknown.php @@ -0,0 +1,44 @@ +<?php +/** + * Exception for unknown status responses + * + * @package Requests + */ + +/** + * Exception for unknown status responses + * + * @package Requests + */ +class Requests_Exception_HTTP_Unknown extends Requests_Exception_HTTP { + /** + * HTTP status code + * + * @var integer + */ + protected $code = 0; + + /** + * Reason phrase + * + * @var string + */ + protected $reason = 'Unknown'; + + /** + * Create a new exception + * + * If `$data` is an instance of {@see Requests_Response}, uses the status + * code from it. Otherwise, sets as 0 + * + * @param string $reason Reason phrase + * @param mixed $data Associated data + */ + public function __construct($reason = null, $data = null) { + if ($data instanceof Requests_Response) { + $this->code = $data->status_code; + } + + parent::__construct($reason, $data); + } +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Hooker.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Hooker.php new file mode 100644 index 0000000..f667ae9 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Hooker.php @@ -0,0 +1,33 @@ +<?php +/** + * Event dispatcher + * + * @package Requests + * @subpackage Utilities + */ + +/** + * Event dispatcher + * + * @package Requests + * @subpackage Utilities + */ +interface Requests_Hooker { + /** + * Register a callback for a hook + * + * @param string $hook Hook name + * @param callback $callback Function/method to call on event + * @param int $priority Priority number. <0 is executed earlier, >0 is executed later + */ + public function register($hook, $callback, $priority = 0); + + /** + * Dispatch a message + * + * @param string $hook Hook name + * @param array $parameters Parameters to pass to callbacks + * @return boolean Successfulness + */ + public function dispatch($hook, $parameters = array()); +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Hooks.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Hooks.php new file mode 100644 index 0000000..7a99b9b --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Hooks.php @@ -0,0 +1,61 @@ +<?php +/** + * Handles adding and dispatching events + * + * @package Requests + * @subpackage Utilities + */ + +/** + * Handles adding and dispatching events + * + * @package Requests + * @subpackage Utilities + */ +class Requests_Hooks implements Requests_Hooker { + /** + * Constructor + */ + public function __construct() { + // pass + } + + /** + * Register a callback for a hook + * + * @param string $hook Hook name + * @param callback $callback Function/method to call on event + * @param int $priority Priority number. <0 is executed earlier, >0 is executed later + */ + public function register($hook, $callback, $priority = 0) { + if (!isset($this->hooks[$hook])) { + $this->hooks[$hook] = array(); + } + if (!isset($this->hooks[$hook][$priority])) { + $this->hooks[$hook][$priority] = array(); + } + + $this->hooks[$hook][$priority][] = $callback; + } + + /** + * Dispatch a message + * + * @param string $hook Hook name + * @param array $parameters Parameters to pass to callbacks + * @return boolean Successfulness + */ + public function dispatch($hook, $parameters = array()) { + if (empty($this->hooks[$hook])) { + return false; + } + + foreach ($this->hooks[$hook] as $priority => $hooked) { + foreach ($hooked as $callback) { + call_user_func_array($callback, $parameters); + } + } + + return true; + } +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/IDNAEncoder.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/IDNAEncoder.php new file mode 100644 index 0000000..53cdd0a --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/IDNAEncoder.php @@ -0,0 +1,390 @@ +<?php + +/** + * IDNA URL encoder + * + * Note: Not fully compliant, as nameprep does nothing yet. + * + * @package Requests + * @subpackage Utilities + * @see http://tools.ietf.org/html/rfc3490 IDNA specification + * @see http://tools.ietf.org/html/rfc3492 Punycode/Bootstrap specification + */ +class Requests_IDNAEncoder { + /** + * ACE prefix used for IDNA + * + * @see http://tools.ietf.org/html/rfc3490#section-5 + * @var string + */ + const ACE_PREFIX = 'xn--'; + + /**#@+ + * Bootstrap constant for Punycode + * + * @see http://tools.ietf.org/html/rfc3492#section-5 + * @var int + */ + const BOOTSTRAP_BASE = 36; + const BOOTSTRAP_TMIN = 1; + const BOOTSTRAP_TMAX = 26; + const BOOTSTRAP_SKEW = 38; + const BOOTSTRAP_DAMP = 700; + const BOOTSTRAP_INITIAL_BIAS = 72; + const BOOTSTRAP_INITIAL_N = 128; + /**#@-*/ + + /** + * Encode a hostname using Punycode + * + * @param string $string Hostname + * @return string Punycode-encoded hostname + */ + public static function encode($string) { + $parts = explode('.', $string); + foreach ($parts as &$part) { + $part = self::to_ascii($part); + } + return implode('.', $parts); + } + + /** + * Convert a UTF-8 string to an ASCII string using Punycode + * + * @throws Requests_Exception Provided string longer than 64 ASCII characters (`idna.provided_too_long`) + * @throws Requests_Exception Prepared string longer than 64 ASCII characters (`idna.prepared_too_long`) + * @throws Requests_Exception Provided string already begins with xn-- (`idna.provided_is_prefixed`) + * @throws Requests_Exception Encoded string longer than 64 ASCII characters (`idna.encoded_too_long`) + * + * @param string $string ASCII or UTF-8 string (max length 64 characters) + * @return string ASCII string + */ + public static function to_ascii($string) { + // Step 1: Check if the string is already ASCII + if (self::is_ascii($string)) { + // Skip to step 7 + if (strlen($string) < 64) { + return $string; + } + + throw new Requests_Exception('Provided string is too long', 'idna.provided_too_long', $string); + } + + // Step 2: nameprep + $string = self::nameprep($string); + + // Step 3: UseSTD3ASCIIRules is false, continue + // Step 4: Check if it's ASCII now + if (self::is_ascii($string)) { + // Skip to step 7 + if (strlen($string) < 64) { + return $string; + } + + throw new Requests_Exception('Prepared string is too long', 'idna.prepared_too_long', $string); + } + + // Step 5: Check ACE prefix + if (strpos($string, self::ACE_PREFIX) === 0) { + throw new Requests_Exception('Provided string begins with ACE prefix', 'idna.provided_is_prefixed', $string); + } + + // Step 6: Encode with Punycode + $string = self::punycode_encode($string); + + // Step 7: Prepend ACE prefix + $string = self::ACE_PREFIX . $string; + + // Step 8: Check size + if (strlen($string) < 64) { + return $string; + } + + throw new Requests_Exception('Encoded string is too long', 'idna.encoded_too_long', $string); + } + + /** + * Check whether a given string contains only ASCII characters + * + * @internal (Testing found regex was the fastest implementation) + * + * @param string $string + * @return bool Is the string ASCII-only? + */ + protected static function is_ascii($string) { + return (preg_match('/(?:[^\x00-\x7F])/', $string) !== 1); + } + + /** + * Prepare a string for use as an IDNA name + * + * @todo Implement this based on RFC 3491 and the newer 5891 + * @param string $string + * @return string Prepared string + */ + protected static function nameprep($string) { + return $string; + } + + /** + * Convert a UTF-8 string to a UCS-4 codepoint array + * + * Based on Requests_IRI::replace_invalid_with_pct_encoding() + * + * @throws Requests_Exception Invalid UTF-8 codepoint (`idna.invalidcodepoint`) + * @param string $input + * @return array Unicode code points + */ + protected static function utf8_to_codepoints($input) { + $codepoints = array(); + + // Get number of bytes + $strlen = strlen($input); + + for ($position = 0; $position < $strlen; $position++) { + $value = ord($input[$position]); + + // One byte sequence: + if ((~$value & 0x80) === 0x80) { + $character = $value; + $length = 1; + $remaining = 0; + } + // Two byte sequence: + elseif (($value & 0xE0) === 0xC0) { + $character = ($value & 0x1F) << 6; + $length = 2; + $remaining = 1; + } + // Three byte sequence: + elseif (($value & 0xF0) === 0xE0) { + $character = ($value & 0x0F) << 12; + $length = 3; + $remaining = 2; + } + // Four byte sequence: + elseif (($value & 0xF8) === 0xF0) { + $character = ($value & 0x07) << 18; + $length = 4; + $remaining = 3; + } + // Invalid byte: + else { + throw new Requests_Exception('Invalid Unicode codepoint', 'idna.invalidcodepoint', $value); + } + + if ($remaining > 0) { + if ($position + $length > $strlen) { + throw new Requests_Exception('Invalid Unicode codepoint', 'idna.invalidcodepoint', $character); + } + for ($position++; $remaining > 0; $position++) { + $value = ord($input[$position]); + + // If it is invalid, count the sequence as invalid and reprocess the current byte: + if (($value & 0xC0) !== 0x80) { + throw new Requests_Exception('Invalid Unicode codepoint', 'idna.invalidcodepoint', $character); + } + + $character |= ($value & 0x3F) << (--$remaining * 6); + } + $position--; + } + + if ( + // Non-shortest form sequences are invalid + $length > 1 && $character <= 0x7F + || $length > 2 && $character <= 0x7FF + || $length > 3 && $character <= 0xFFFF + // Outside of range of ucschar codepoints + // Noncharacters + || ($character & 0xFFFE) === 0xFFFE + || $character >= 0xFDD0 && $character <= 0xFDEF + || ( + // Everything else not in ucschar + $character > 0xD7FF && $character < 0xF900 + || $character < 0x20 + || $character > 0x7E && $character < 0xA0 + || $character > 0xEFFFD + ) + ) { + throw new Requests_Exception('Invalid Unicode codepoint', 'idna.invalidcodepoint', $character); + } + + $codepoints[] = $character; + } + + return $codepoints; + } + + /** + * RFC3492-compliant encoder + * + * @internal Pseudo-code from Section 6.3 is commented with "#" next to relevant code + * @throws Requests_Exception On character outside of the domain (never happens with Punycode) (`idna.character_outside_domain`) + * + * @param string $input UTF-8 encoded string to encode + * @return string Punycode-encoded string + */ + public static function punycode_encode($input) { + $output = ''; +# let n = initial_n + $n = self::BOOTSTRAP_INITIAL_N; +# let delta = 0 + $delta = 0; +# let bias = initial_bias + $bias = self::BOOTSTRAP_INITIAL_BIAS; +# let h = b = the number of basic code points in the input + $h = $b = 0; // see loop +# copy them to the output in order + $codepoints = self::utf8_to_codepoints($input); + + foreach ($codepoints as $char) { + if ($char < 128) { + // Character is valid ASCII + // TODO: this should also check if it's valid for a URL + $output .= chr($char); + $h++; + } + // Check if the character is non-ASCII, but below initial n + // This never occurs for Punycode, so ignore in coverage + // @codeCoverageIgnoreStart + elseif ($char < $n) { + throw new Requests_Exception('Invalid character', 'idna.character_outside_domain', $char); + } + // @codeCoverageIgnoreEnd + else { + $extended[$char] = true; + } + } + $extended = array_keys($extended); + sort($extended); + $b = $h; +# [copy them] followed by a delimiter if b > 0 + if (strlen($output) > 0) { + $output .= '-'; + } +# {if the input contains a non-basic code point < n then fail} +# while h < length(input) do begin + while ($h < count($codepoints)) { +# let m = the minimum code point >= n in the input + $m = array_shift($extended); + //printf('next code point to insert is %s' . PHP_EOL, dechex($m)); +# let delta = delta + (m - n) * (h + 1), fail on overflow + $delta += ($m - $n) * ($h + 1); +# let n = m + $n = $m; +# for each code point c in the input (in order) do begin + for ($num = 0; $num < count($codepoints); $num++) { + $c = $codepoints[$num]; +# if c < n then increment delta, fail on overflow + if ($c < $n) { + $delta++; + } +# if c == n then begin + elseif ($c === $n) { +# let q = delta + $q = $delta; +# for k = base to infinity in steps of base do begin + for ($k = self::BOOTSTRAP_BASE; ; $k += self::BOOTSTRAP_BASE) { +# let t = tmin if k <= bias {+ tmin}, or +# tmax if k >= bias + tmax, or k - bias otherwise + if ($k <= ($bias + self::BOOTSTRAP_TMIN)) { + $t = self::BOOTSTRAP_TMIN; + } + elseif ($k >= ($bias + self::BOOTSTRAP_TMAX)) { + $t = self::BOOTSTRAP_TMAX; + } + else { + $t = $k - $bias; + } +# if q < t then break + if ($q < $t) { + break; + } +# output the code point for digit t + ((q - t) mod (base - t)) + $digit = $t + (($q - $t) % (self::BOOTSTRAP_BASE - $t)); + //printf('needed delta is %d, encodes as "%s"' . PHP_EOL, $delta, self::digit_to_char($digit)); + $output .= self::digit_to_char($digit); +# let q = (q - t) div (base - t) + $q = floor(($q - $t) / (self::BOOTSTRAP_BASE - $t)); +# end + } +# output the code point for digit q + $output .= self::digit_to_char($q); + //printf('needed delta is %d, encodes as "%s"' . PHP_EOL, $delta, self::digit_to_char($q)); +# let bias = adapt(delta, h + 1, test h equals b?) + $bias = self::adapt($delta, $h + 1, $h === $b); + //printf('bias becomes %d' . PHP_EOL, $bias); +# let delta = 0 + $delta = 0; +# increment h + $h++; +# end + } +# end + } +# increment delta and n + $delta++; + $n++; +# end + } + + return $output; + } + + /** + * Convert a digit to its respective character + * + * @see http://tools.ietf.org/html/rfc3492#section-5 + * @throws Requests_Exception On invalid digit (`idna.invalid_digit`) + * + * @param int $digit Digit in the range 0-35 + * @return string Single character corresponding to digit + */ + protected static function digit_to_char($digit) { + // @codeCoverageIgnoreStart + // As far as I know, this never happens, but still good to be sure. + if ($digit < 0 || $digit > 35) { + throw new Requests_Exception(sprintf('Invalid digit %d', $digit), 'idna.invalid_digit', $digit); + } + // @codeCoverageIgnoreEnd + $digits = 'abcdefghijklmnopqrstuvwxyz0123456789'; + return substr($digits, $digit, 1); + } + + /** + * Adapt the bias + * + * @see http://tools.ietf.org/html/rfc3492#section-6.1 + * @param int $delta + * @param int $numpoints + * @param bool $firsttime + * @return int New bias + */ + protected static function adapt($delta, $numpoints, $firsttime) { +# function adapt(delta,numpoints,firsttime): +# if firsttime then let delta = delta div damp + if ($firsttime) { + $delta = floor($delta / self::BOOTSTRAP_DAMP); + } +# else let delta = delta div 2 + else { + $delta = floor($delta / 2); + } +# let delta = delta + (delta div numpoints) + $delta += floor($delta / $numpoints); +# let k = 0 + $k = 0; +# while delta > ((base - tmin) * tmax) div 2 do begin + $max = floor(((self::BOOTSTRAP_BASE - self::BOOTSTRAP_TMIN) * self::BOOTSTRAP_TMAX) / 2); + while ($delta > $max) { +# let delta = delta div (base - tmin) + $delta = floor($delta / (self::BOOTSTRAP_BASE - self::BOOTSTRAP_TMIN)); +# let k = k + base + $k += self::BOOTSTRAP_BASE; +# end + } +# return k + (((base - tmin + 1) * delta) div (delta + skew)) + return $k + floor(((self::BOOTSTRAP_BASE - self::BOOTSTRAP_TMIN + 1) * $delta) / ($delta + self::BOOTSTRAP_SKEW)); + } +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/IPv6.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/IPv6.php new file mode 100644 index 0000000..5e5c259 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/IPv6.php @@ -0,0 +1,221 @@ +<?php +/** + * Class to validate and to work with IPv6 addresses + * + * @package Requests + * @subpackage Utilities + */ + +/** + * Class to validate and to work with IPv6 addresses + * + * This was originally based on the PEAR class of the same name, but has been + * entirely rewritten. + * + * @package Requests + * @subpackage Utilities + */ +class Requests_IPv6 +{ + /** + * Uncompresses an IPv6 address + * + * RFC 4291 allows you to compress consecutive zero pieces in an address to + * '::'. This method expects a valid IPv6 address and expands the '::' to + * the required number of zero pieces. + * + * Example: FF01::101 -> FF01:0:0:0:0:0:0:101 + * ::1 -> 0:0:0:0:0:0:0:1 + * + * @author Alexander Merz <alexander.merz@web.de> + * @author elfrink at introweb dot nl + * @author Josh Peck <jmp at joshpeck dot org> + * @copyright 2003-2005 The PHP Group + * @license http://www.opensource.org/licenses/bsd-license.php + * @param string $ip An IPv6 address + * @return string The uncompressed IPv6 address + */ + public static function uncompress($ip) + { + $c1 = -1; + $c2 = -1; + if (substr_count($ip, '::') === 1) + { + list($ip1, $ip2) = explode('::', $ip); + if ($ip1 === '') + { + $c1 = -1; + } + else + { + $c1 = substr_count($ip1, ':'); + } + if ($ip2 === '') + { + $c2 = -1; + } + else + { + $c2 = substr_count($ip2, ':'); + } + if (strpos($ip2, '.') !== false) + { + $c2++; + } + // :: + if ($c1 === -1 && $c2 === -1) + { + $ip = '0:0:0:0:0:0:0:0'; + } + // ::xxx + else if ($c1 === -1) + { + $fill = str_repeat('0:', 7 - $c2); + $ip = str_replace('::', $fill, $ip); + } + // xxx:: + else if ($c2 === -1) + { + $fill = str_repeat(':0', 7 - $c1); + $ip = str_replace('::', $fill, $ip); + } + // xxx::xxx + else + { + $fill = ':' . str_repeat('0:', 6 - $c2 - $c1); + $ip = str_replace('::', $fill, $ip); + } + } + return $ip; + } + + /** + * Compresses an IPv6 address + * + * RFC 4291 allows you to compress consecutive zero pieces in an address to + * '::'. This method expects a valid IPv6 address and compresses consecutive + * zero pieces to '::'. + * + * Example: FF01:0:0:0:0:0:0:101 -> FF01::101 + * 0:0:0:0:0:0:0:1 -> ::1 + * + * @see uncompress() + * @param string $ip An IPv6 address + * @return string The compressed IPv6 address + */ + public static function compress($ip) + { + // Prepare the IP to be compressed + $ip = self::uncompress($ip); + $ip_parts = self::split_v6_v4($ip); + + // Replace all leading zeros + $ip_parts[0] = preg_replace('/(^|:)0+([0-9])/', '\1\2', $ip_parts[0]); + + // Find bunches of zeros + if (preg_match_all('/(?:^|:)(?:0(?::|$))+/', $ip_parts[0], $matches, PREG_OFFSET_CAPTURE)) + { + $max = 0; + $pos = null; + foreach ($matches[0] as $match) + { + if (strlen($match[0]) > $max) + { + $max = strlen($match[0]); + $pos = $match[1]; + } + } + + $ip_parts[0] = substr_replace($ip_parts[0], '::', $pos, $max); + } + + if ($ip_parts[1] !== '') + { + return implode(':', $ip_parts); + } + else + { + return $ip_parts[0]; + } + } + + /** + * Splits an IPv6 address into the IPv6 and IPv4 representation parts + * + * RFC 4291 allows you to represent the last two parts of an IPv6 address + * using the standard IPv4 representation + * + * Example: 0:0:0:0:0:0:13.1.68.3 + * 0:0:0:0:0:FFFF:129.144.52.38 + * + * @param string $ip An IPv6 address + * @return array [0] contains the IPv6 represented part, and [1] the IPv4 represented part + */ + private static function split_v6_v4($ip) + { + if (strpos($ip, '.') !== false) + { + $pos = strrpos($ip, ':'); + $ipv6_part = substr($ip, 0, $pos); + $ipv4_part = substr($ip, $pos + 1); + return array($ipv6_part, $ipv4_part); + } + else + { + return array($ip, ''); + } + } + + /** + * Checks an IPv6 address + * + * Checks if the given IP is a valid IPv6 address + * + * @param string $ip An IPv6 address + * @return bool true if $ip is a valid IPv6 address + */ + public static function check_ipv6($ip) + { + $ip = self::uncompress($ip); + list($ipv6, $ipv4) = self::split_v6_v4($ip); + $ipv6 = explode(':', $ipv6); + $ipv4 = explode('.', $ipv4); + if (count($ipv6) === 8 && count($ipv4) === 1 || count($ipv6) === 6 && count($ipv4) === 4) + { + foreach ($ipv6 as $ipv6_part) + { + // The section can't be empty + if ($ipv6_part === '') + return false; + + // Nor can it be over four characters + if (strlen($ipv6_part) > 4) + return false; + + // Remove leading zeros (this is safe because of the above) + $ipv6_part = ltrim($ipv6_part, '0'); + if ($ipv6_part === '') + $ipv6_part = '0'; + + // Check the value is valid + $value = hexdec($ipv6_part); + if (dechex($value) !== strtolower($ipv6_part) || $value < 0 || $value > 0xFFFF) + return false; + } + if (count($ipv4) === 4) + { + foreach ($ipv4 as $ipv4_part) + { + $value = (int) $ipv4_part; + if ((string) $value !== $ipv4_part || $value < 0 || $value > 0xFF) + return false; + } + } + return true; + } + else + { + return false; + } + } +} diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/IRI.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/IRI.php new file mode 100644 index 0000000..26f215b --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/IRI.php @@ -0,0 +1,1221 @@ +<?php +/** + * IRI parser/serialiser/normaliser + * + * @package Requests + * @subpackage Utilities + */ + +/** + * IRI parser/serialiser/normaliser + * + * Copyright (c) 2007-2010, Geoffrey Sneddon and Steve Minutillo. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * * Neither the name of the SimplePie Team nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * @package Requests + * @subpackage Utilities + * @author Geoffrey Sneddon + * @author Steve Minutillo + * @copyright 2007-2009 Geoffrey Sneddon and Steve Minutillo + * @license http://www.opensource.org/licenses/bsd-license.php + * @link http://hg.gsnedders.com/iri/ + */ +class Requests_IRI +{ + /** + * Scheme + * + * @var string + */ + protected $scheme = null; + + /** + * User Information + * + * @var string + */ + protected $iuserinfo = null; + + /** + * ihost + * + * @var string + */ + protected $ihost = null; + + /** + * Port + * + * @var string + */ + protected $port = null; + + /** + * ipath + * + * @var string + */ + protected $ipath = ''; + + /** + * iquery + * + * @var string + */ + protected $iquery = null; + + /** + * ifragment + * + * @var string + */ + protected $ifragment = null; + + /** + * Normalization database + * + * Each key is the scheme, each value is an array with each key as the IRI + * part and value as the default value for that part. + */ + protected $normalization = array( + 'acap' => array( + 'port' => 674 + ), + 'dict' => array( + 'port' => 2628 + ), + 'file' => array( + 'ihost' => 'localhost' + ), + 'http' => array( + 'port' => 80, + ), + 'https' => array( + 'port' => 443, + ), + ); + + /** + * Return the entire IRI when you try and read the object as a string + * + * @return string + */ + public function __toString() + { + return $this->get_iri(); + } + + /** + * Overload __set() to provide access via properties + * + * @param string $name Property name + * @param mixed $value Property value + */ + public function __set($name, $value) + { + if (method_exists($this, 'set_' . $name)) + { + call_user_func(array($this, 'set_' . $name), $value); + } + elseif ( + $name === 'iauthority' + || $name === 'iuserinfo' + || $name === 'ihost' + || $name === 'ipath' + || $name === 'iquery' + || $name === 'ifragment' + ) + { + call_user_func(array($this, 'set_' . substr($name, 1)), $value); + } + } + + /** + * Overload __get() to provide access via properties + * + * @param string $name Property name + * @return mixed + */ + public function __get($name) + { + // isset() returns false for null, we don't want to do that + // Also why we use array_key_exists below instead of isset() + $props = get_object_vars($this); + + if ( + $name === 'iri' || + $name === 'uri' || + $name === 'iauthority' || + $name === 'authority' + ) + { + $return = $this->{"get_$name"}(); + } + elseif (array_key_exists($name, $props)) + { + $return = $this->$name; + } + // host -> ihost + elseif (($prop = 'i' . $name) && array_key_exists($prop, $props)) + { + $name = $prop; + $return = $this->$prop; + } + // ischeme -> scheme + elseif (($prop = substr($name, 1)) && array_key_exists($prop, $props)) + { + $name = $prop; + $return = $this->$prop; + } + else + { + trigger_error('Undefined property: ' . get_class($this) . '::' . $name, E_USER_NOTICE); + $return = null; + } + + if ($return === null && isset($this->normalization[$this->scheme][$name])) + { + return $this->normalization[$this->scheme][$name]; + } + else + { + return $return; + } + } + + /** + * Overload __isset() to provide access via properties + * + * @param string $name Property name + * @return bool + */ + public function __isset($name) + { + if (method_exists($this, 'get_' . $name) || isset($this->$name)) + { + return true; + } + else + { + return false; + } + } + + /** + * Overload __unset() to provide access via properties + * + * @param string $name Property name + */ + public function __unset($name) + { + if (method_exists($this, 'set_' . $name)) + { + call_user_func(array($this, 'set_' . $name), ''); + } + } + + /** + * Create a new IRI object, from a specified string + * + * @param string $iri + */ + public function __construct($iri = null) + { + $this->set_iri($iri); + } + + /** + * Create a new IRI object by resolving a relative IRI + * + * Returns false if $base is not absolute, otherwise an IRI. + * + * @param IRI|string $base (Absolute) Base IRI + * @param IRI|string $relative Relative IRI + * @return IRI|false + */ + public static function absolutize($base, $relative) + { + if (!($relative instanceof Requests_IRI)) + { + $relative = new Requests_IRI($relative); + } + if (!$relative->is_valid()) + { + return false; + } + elseif ($relative->scheme !== null) + { + return clone $relative; + } + else + { + if (!($base instanceof Requests_IRI)) + { + $base = new Requests_IRI($base); + } + if ($base->scheme !== null && $base->is_valid()) + { + if ($relative->get_iri() !== '') + { + if ($relative->iuserinfo !== null || $relative->ihost !== null || $relative->port !== null) + { + $target = clone $relative; + $target->scheme = $base->scheme; + } + else + { + $target = new Requests_IRI; + $target->scheme = $base->scheme; + $target->iuserinfo = $base->iuserinfo; + $target->ihost = $base->ihost; + $target->port = $base->port; + if ($relative->ipath !== '') + { + if ($relative->ipath[0] === '/') + { + $target->ipath = $relative->ipath; + } + elseif (($base->iuserinfo !== null || $base->ihost !== null || $base->port !== null) && $base->ipath === '') + { + $target->ipath = '/' . $relative->ipath; + } + elseif (($last_segment = strrpos($base->ipath, '/')) !== false) + { + $target->ipath = substr($base->ipath, 0, $last_segment + 1) . $relative->ipath; + } + else + { + $target->ipath = $relative->ipath; + } + $target->ipath = $target->remove_dot_segments($target->ipath); + $target->iquery = $relative->iquery; + } + else + { + $target->ipath = $base->ipath; + if ($relative->iquery !== null) + { + $target->iquery = $relative->iquery; + } + elseif ($base->iquery !== null) + { + $target->iquery = $base->iquery; + } + } + $target->ifragment = $relative->ifragment; + } + } + else + { + $target = clone $base; + $target->ifragment = null; + } + $target->scheme_normalization(); + return $target; + } + else + { + return false; + } + } + } + + /** + * Parse an IRI into scheme/authority/path/query/fragment segments + * + * @param string $iri + * @return array + */ + protected function parse_iri($iri) + { + $iri = trim($iri, "\x20\x09\x0A\x0C\x0D"); + if (preg_match('/^((?P<scheme>[^:\/?#]+):)?(\/\/(?P<authority>[^\/?#]*))?(?P<path>[^?#]*)(\?(?P<query>[^#]*))?(#(?P<fragment>.*))?$/', $iri, $match)) + { + if ($match[1] === '') + { + $match['scheme'] = null; + } + if (!isset($match[3]) || $match[3] === '') + { + $match['authority'] = null; + } + if (!isset($match[5])) + { + $match['path'] = ''; + } + if (!isset($match[6]) || $match[6] === '') + { + $match['query'] = null; + } + if (!isset($match[8]) || $match[8] === '') + { + $match['fragment'] = null; + } + return $match; + } + else + { + trigger_error('This should never happen', E_USER_ERROR); + die; + } + } + + /** + * Remove dot segments from a path + * + * @param string $input + * @return string + */ + protected function remove_dot_segments($input) + { + $output = ''; + while (strpos($input, './') !== false || strpos($input, '/.') !== false || $input === '.' || $input === '..') + { + // A: If the input buffer begins with a prefix of "../" or "./", then remove that prefix from the input buffer; otherwise, + if (strpos($input, '../') === 0) + { + $input = substr($input, 3); + } + elseif (strpos($input, './') === 0) + { + $input = substr($input, 2); + } + // B: if the input buffer begins with a prefix of "/./" or "/.", where "." is a complete path segment, then replace that prefix with "/" in the input buffer; otherwise, + elseif (strpos($input, '/./') === 0) + { + $input = substr($input, 2); + } + elseif ($input === '/.') + { + $input = '/'; + } + // C: if the input buffer begins with a prefix of "/../" or "/..", where ".." is a complete path segment, then replace that prefix with "/" in the input buffer and remove the last segment and its preceding "/" (if any) from the output buffer; otherwise, + elseif (strpos($input, '/../') === 0) + { + $input = substr($input, 3); + $output = substr_replace($output, '', strrpos($output, '/')); + } + elseif ($input === '/..') + { + $input = '/'; + $output = substr_replace($output, '', strrpos($output, '/')); + } + // D: if the input buffer consists only of "." or "..", then remove that from the input buffer; otherwise, + elseif ($input === '.' || $input === '..') + { + $input = ''; + } + // E: move the first path segment in the input buffer to the end of the output buffer, including the initial "/" character (if any) and any subsequent characters up to, but not including, the next "/" character or the end of the input buffer + elseif (($pos = strpos($input, '/', 1)) !== false) + { + $output .= substr($input, 0, $pos); + $input = substr_replace($input, '', 0, $pos); + } + else + { + $output .= $input; + $input = ''; + } + } + return $output . $input; + } + + /** + * Replace invalid character with percent encoding + * + * @param string $string Input string + * @param string $extra_chars Valid characters not in iunreserved or + * iprivate (this is ASCII-only) + * @param bool $iprivate Allow iprivate + * @return string + */ + protected function replace_invalid_with_pct_encoding($string, $extra_chars, $iprivate = false) + { + // Normalize as many pct-encoded sections as possible + $string = preg_replace_callback('/(?:%[A-Fa-f0-9]{2})+/', array(&$this, 'remove_iunreserved_percent_encoded'), $string); + + // Replace invalid percent characters + $string = preg_replace('/%(?![A-Fa-f0-9]{2})/', '%25', $string); + + // Add unreserved and % to $extra_chars (the latter is safe because all + // pct-encoded sections are now valid). + $extra_chars .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~%'; + + // Now replace any bytes that aren't allowed with their pct-encoded versions + $position = 0; + $strlen = strlen($string); + while (($position += strspn($string, $extra_chars, $position)) < $strlen) + { + $value = ord($string[$position]); + + // Start position + $start = $position; + + // By default we are valid + $valid = true; + + // No one byte sequences are valid due to the while. + // Two byte sequence: + if (($value & 0xE0) === 0xC0) + { + $character = ($value & 0x1F) << 6; + $length = 2; + $remaining = 1; + } + // Three byte sequence: + elseif (($value & 0xF0) === 0xE0) + { + $character = ($value & 0x0F) << 12; + $length = 3; + $remaining = 2; + } + // Four byte sequence: + elseif (($value & 0xF8) === 0xF0) + { + $character = ($value & 0x07) << 18; + $length = 4; + $remaining = 3; + } + // Invalid byte: + else + { + $valid = false; + $length = 1; + $remaining = 0; + } + + if ($remaining) + { + if ($position + $length <= $strlen) + { + for ($position++; $remaining; $position++) + { + $value = ord($string[$position]); + + // Check that the byte is valid, then add it to the character: + if (($value & 0xC0) === 0x80) + { + $character |= ($value & 0x3F) << (--$remaining * 6); + } + // If it is invalid, count the sequence as invalid and reprocess the current byte: + else + { + $valid = false; + $position--; + break; + } + } + } + else + { + $position = $strlen - 1; + $valid = false; + } + } + + // Percent encode anything invalid or not in ucschar + if ( + // Invalid sequences + !$valid + // Non-shortest form sequences are invalid + || $length > 1 && $character <= 0x7F + || $length > 2 && $character <= 0x7FF + || $length > 3 && $character <= 0xFFFF + // Outside of range of ucschar codepoints + // Noncharacters + || ($character & 0xFFFE) === 0xFFFE + || $character >= 0xFDD0 && $character <= 0xFDEF + || ( + // Everything else not in ucschar + $character > 0xD7FF && $character < 0xF900 + || $character < 0xA0 + || $character > 0xEFFFD + ) + && ( + // Everything not in iprivate, if it applies + !$iprivate + || $character < 0xE000 + || $character > 0x10FFFD + ) + ) + { + // If we were a character, pretend we weren't, but rather an error. + if ($valid) + $position--; + + for ($j = $start; $j <= $position; $j++) + { + $string = substr_replace($string, sprintf('%%%02X', ord($string[$j])), $j, 1); + $j += 2; + $position += 2; + $strlen += 2; + } + } + } + + return $string; + } + + /** + * Callback function for preg_replace_callback. + * + * Removes sequences of percent encoded bytes that represent UTF-8 + * encoded characters in iunreserved + * + * @param array $match PCRE match + * @return string Replacement + */ + protected function remove_iunreserved_percent_encoded($match) + { + // As we just have valid percent encoded sequences we can just explode + // and ignore the first member of the returned array (an empty string). + $bytes = explode('%', $match[0]); + + // Initialize the new string (this is what will be returned) and that + // there are no bytes remaining in the current sequence (unsurprising + // at the first byte!). + $string = ''; + $remaining = 0; + + // Loop over each and every byte, and set $value to its value + for ($i = 1, $len = count($bytes); $i < $len; $i++) + { + $value = hexdec($bytes[$i]); + + // If we're the first byte of sequence: + if (!$remaining) + { + // Start position + $start = $i; + + // By default we are valid + $valid = true; + + // One byte sequence: + if ($value <= 0x7F) + { + $character = $value; + $length = 1; + } + // Two byte sequence: + elseif (($value & 0xE0) === 0xC0) + { + $character = ($value & 0x1F) << 6; + $length = 2; + $remaining = 1; + } + // Three byte sequence: + elseif (($value & 0xF0) === 0xE0) + { + $character = ($value & 0x0F) << 12; + $length = 3; + $remaining = 2; + } + // Four byte sequence: + elseif (($value & 0xF8) === 0xF0) + { + $character = ($value & 0x07) << 18; + $length = 4; + $remaining = 3; + } + // Invalid byte: + else + { + $valid = false; + $remaining = 0; + } + } + // Continuation byte: + else + { + // Check that the byte is valid, then add it to the character: + if (($value & 0xC0) === 0x80) + { + $remaining--; + $character |= ($value & 0x3F) << ($remaining * 6); + } + // If it is invalid, count the sequence as invalid and reprocess the current byte as the start of a sequence: + else + { + $valid = false; + $remaining = 0; + $i--; + } + } + + // If we've reached the end of the current byte sequence, append it to Unicode::$data + if (!$remaining) + { + // Percent encode anything invalid or not in iunreserved + if ( + // Invalid sequences + !$valid + // Non-shortest form sequences are invalid + || $length > 1 && $character <= 0x7F + || $length > 2 && $character <= 0x7FF + || $length > 3 && $character <= 0xFFFF + // Outside of range of iunreserved codepoints + || $character < 0x2D + || $character > 0xEFFFD + // Noncharacters + || ($character & 0xFFFE) === 0xFFFE + || $character >= 0xFDD0 && $character <= 0xFDEF + // Everything else not in iunreserved (this is all BMP) + || $character === 0x2F + || $character > 0x39 && $character < 0x41 + || $character > 0x5A && $character < 0x61 + || $character > 0x7A && $character < 0x7E + || $character > 0x7E && $character < 0xA0 + || $character > 0xD7FF && $character < 0xF900 + ) + { + for ($j = $start; $j <= $i; $j++) + { + $string .= '%' . strtoupper($bytes[$j]); + } + } + else + { + for ($j = $start; $j <= $i; $j++) + { + $string .= chr(hexdec($bytes[$j])); + } + } + } + } + + // If we have any bytes left over they are invalid (i.e., we are + // mid-way through a multi-byte sequence) + if ($remaining) + { + for ($j = $start; $j < $len; $j++) + { + $string .= '%' . strtoupper($bytes[$j]); + } + } + + return $string; + } + + protected function scheme_normalization() + { + if (isset($this->normalization[$this->scheme]['iuserinfo']) && $this->iuserinfo === $this->normalization[$this->scheme]['iuserinfo']) + { + $this->iuserinfo = null; + } + if (isset($this->normalization[$this->scheme]['ihost']) && $this->ihost === $this->normalization[$this->scheme]['ihost']) + { + $this->ihost = null; + } + if (isset($this->normalization[$this->scheme]['port']) && $this->port === $this->normalization[$this->scheme]['port']) + { + $this->port = null; + } + if (isset($this->normalization[$this->scheme]['ipath']) && $this->ipath === $this->normalization[$this->scheme]['ipath']) + { + $this->ipath = ''; + } + if (isset($this->ihost) && empty($this->ipath)) + { + $this->ipath = '/'; + } + if (isset($this->normalization[$this->scheme]['iquery']) && $this->iquery === $this->normalization[$this->scheme]['iquery']) + { + $this->iquery = null; + } + if (isset($this->normalization[$this->scheme]['ifragment']) && $this->ifragment === $this->normalization[$this->scheme]['ifragment']) + { + $this->ifragment = null; + } + } + + /** + * Check if the object represents a valid IRI. This needs to be done on each + * call as some things change depending on another part of the IRI. + * + * @return bool + */ + public function is_valid() + { + $isauthority = $this->iuserinfo !== null || $this->ihost !== null || $this->port !== null; + if ($this->ipath !== '' && + ( + $isauthority && ( + $this->ipath[0] !== '/' || + substr($this->ipath, 0, 2) === '//' + ) || + ( + $this->scheme === null && + !$isauthority && + strpos($this->ipath, ':') !== false && + (strpos($this->ipath, '/') === false ? true : strpos($this->ipath, ':') < strpos($this->ipath, '/')) + ) + ) + ) + { + return false; + } + + return true; + } + + /** + * Set the entire IRI. Returns true on success, false on failure (if there + * are any invalid characters). + * + * @param string $iri + * @return bool + */ + protected function set_iri($iri) + { + static $cache; + if (!$cache) + { + $cache = array(); + } + + if ($iri === null) + { + return true; + } + elseif (isset($cache[$iri])) + { + list($this->scheme, + $this->iuserinfo, + $this->ihost, + $this->port, + $this->ipath, + $this->iquery, + $this->ifragment, + $return) = $cache[$iri]; + return $return; + } + else + { + $parsed = $this->parse_iri((string) $iri); + + $return = $this->set_scheme($parsed['scheme']) + && $this->set_authority($parsed['authority']) + && $this->set_path($parsed['path']) + && $this->set_query($parsed['query']) + && $this->set_fragment($parsed['fragment']); + + $cache[$iri] = array($this->scheme, + $this->iuserinfo, + $this->ihost, + $this->port, + $this->ipath, + $this->iquery, + $this->ifragment, + $return); + return $return; + } + } + + /** + * Set the scheme. Returns true on success, false on failure (if there are + * any invalid characters). + * + * @param string $scheme + * @return bool + */ + protected function set_scheme($scheme) + { + if ($scheme === null) + { + $this->scheme = null; + } + elseif (!preg_match('/^[A-Za-z][0-9A-Za-z+\-.]*$/', $scheme)) + { + $this->scheme = null; + return false; + } + else + { + $this->scheme = strtolower($scheme); + } + return true; + } + + /** + * Set the authority. Returns true on success, false on failure (if there are + * any invalid characters). + * + * @param string $authority + * @return bool + */ + protected function set_authority($authority) + { + static $cache; + if (!$cache) + $cache = array(); + + if ($authority === null) + { + $this->iuserinfo = null; + $this->ihost = null; + $this->port = null; + return true; + } + elseif (isset($cache[$authority])) + { + list($this->iuserinfo, + $this->ihost, + $this->port, + $return) = $cache[$authority]; + + return $return; + } + else + { + $remaining = $authority; + if (($iuserinfo_end = strrpos($remaining, '@')) !== false) + { + $iuserinfo = substr($remaining, 0, $iuserinfo_end); + $remaining = substr($remaining, $iuserinfo_end + 1); + } + else + { + $iuserinfo = null; + } + if (($port_start = strpos($remaining, ':', strpos($remaining, ']'))) !== false) + { + if (($port = substr($remaining, $port_start + 1)) === false) + { + $port = null; + } + $remaining = substr($remaining, 0, $port_start); + } + else + { + $port = null; + } + + $return = $this->set_userinfo($iuserinfo) && + $this->set_host($remaining) && + $this->set_port($port); + + $cache[$authority] = array($this->iuserinfo, + $this->ihost, + $this->port, + $return); + + return $return; + } + } + + /** + * Set the iuserinfo. + * + * @param string $iuserinfo + * @return bool + */ + protected function set_userinfo($iuserinfo) + { + if ($iuserinfo === null) + { + $this->iuserinfo = null; + } + else + { + $this->iuserinfo = $this->replace_invalid_with_pct_encoding($iuserinfo, '!$&\'()*+,;=:'); + $this->scheme_normalization(); + } + + return true; + } + + /** + * Set the ihost. Returns true on success, false on failure (if there are + * any invalid characters). + * + * @param string $ihost + * @return bool + */ + protected function set_host($ihost) + { + if ($ihost === null) + { + $this->ihost = null; + return true; + } + elseif (substr($ihost, 0, 1) === '[' && substr($ihost, -1) === ']') + { + if (Requests_IPv6::check_ipv6(substr($ihost, 1, -1))) + { + $this->ihost = '[' . Requests_IPv6::compress(substr($ihost, 1, -1)) . ']'; + } + else + { + $this->ihost = null; + return false; + } + } + else + { + $ihost = $this->replace_invalid_with_pct_encoding($ihost, '!$&\'()*+,;='); + + // Lowercase, but ignore pct-encoded sections (as they should + // remain uppercase). This must be done after the previous step + // as that can add unescaped characters. + $position = 0; + $strlen = strlen($ihost); + while (($position += strcspn($ihost, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ%', $position)) < $strlen) + { + if ($ihost[$position] === '%') + { + $position += 3; + } + else + { + $ihost[$position] = strtolower($ihost[$position]); + $position++; + } + } + + $this->ihost = $ihost; + } + + $this->scheme_normalization(); + + return true; + } + + /** + * Set the port. Returns true on success, false on failure (if there are + * any invalid characters). + * + * @param string $port + * @return bool + */ + protected function set_port($port) + { + if ($port === null) + { + $this->port = null; + return true; + } + elseif (strspn($port, '0123456789') === strlen($port)) + { + $this->port = (int) $port; + $this->scheme_normalization(); + return true; + } + else + { + $this->port = null; + return false; + } + } + + /** + * Set the ipath. + * + * @param string $ipath + * @return bool + */ + protected function set_path($ipath) + { + static $cache; + if (!$cache) + { + $cache = array(); + } + + $ipath = (string) $ipath; + + if (isset($cache[$ipath])) + { + $this->ipath = $cache[$ipath][(int) ($this->scheme !== null)]; + } + else + { + $valid = $this->replace_invalid_with_pct_encoding($ipath, '!$&\'()*+,;=@:/'); + $removed = $this->remove_dot_segments($valid); + + $cache[$ipath] = array($valid, $removed); + $this->ipath = ($this->scheme !== null) ? $removed : $valid; + } + $this->scheme_normalization(); + return true; + } + + /** + * Set the iquery. + * + * @param string $iquery + * @return bool + */ + protected function set_query($iquery) + { + if ($iquery === null) + { + $this->iquery = null; + } + else + { + $this->iquery = $this->replace_invalid_with_pct_encoding($iquery, '!$&\'()*+,;=:@/?', true); + $this->scheme_normalization(); + } + return true; + } + + /** + * Set the ifragment. + * + * @param string $ifragment + * @return bool + */ + protected function set_fragment($ifragment) + { + if ($ifragment === null) + { + $this->ifragment = null; + } + else + { + $this->ifragment = $this->replace_invalid_with_pct_encoding($ifragment, '!$&\'()*+,;=:@/?'); + $this->scheme_normalization(); + } + return true; + } + + /** + * Convert an IRI to a URI (or parts thereof) + * + * @return string + */ + protected function to_uri($string) + { + static $non_ascii; + if (!$non_ascii) + { + $non_ascii = implode('', range("\x80", "\xFF")); + } + + $position = 0; + $strlen = strlen($string); + while (($position += strcspn($string, $non_ascii, $position)) < $strlen) + { + $string = substr_replace($string, sprintf('%%%02X', ord($string[$position])), $position, 1); + $position += 3; + $strlen += 2; + } + + return $string; + } + + /** + * Get the complete IRI + * + * @return string + */ + protected function get_iri() + { + if (!$this->is_valid()) + { + return false; + } + + $iri = ''; + if ($this->scheme !== null) + { + $iri .= $this->scheme . ':'; + } + if (($iauthority = $this->get_iauthority()) !== null) + { + $iri .= '//' . $iauthority; + } + $iri .= $this->ipath; + if ($this->iquery !== null) + { + $iri .= '?' . $this->iquery; + } + if ($this->ifragment !== null) + { + $iri .= '#' . $this->ifragment; + } + + return $iri; + } + + /** + * Get the complete URI + * + * @return string + */ + protected function get_uri() + { + return $this->to_uri($this->get_iri()); + } + + /** + * Get the complete iauthority + * + * @return string + */ + protected function get_iauthority() + { + if ($this->iuserinfo !== null || $this->ihost !== null || $this->port !== null) + { + $iauthority = ''; + if ($this->iuserinfo !== null) + { + $iauthority .= $this->iuserinfo . '@'; + } + if ($this->ihost !== null) + { + $iauthority .= $this->ihost; + } + if ($this->port !== null) + { + $iauthority .= ':' . $this->port; + } + return $iauthority; + } + else + { + return null; + } + } + + /** + * Get the complete authority + * + * @return string + */ + protected function get_authority() + { + $iauthority = $this->get_iauthority(); + if (is_string($iauthority)) + return $this->to_uri($iauthority); + else + return $iauthority; + } +} diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Proxy.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Proxy.php new file mode 100644 index 0000000..ac7c1d6 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Proxy.php @@ -0,0 +1,35 @@ +<?php +/** + * Proxy connection interface + * + * @package Requests + * @subpackage Proxy + * @since 1.6 + */ + +/** + * Proxy connection interface + * + * Implement this interface to handle proxy settings and authentication + * + * Parameters should be passed via the constructor where possible, as this + * makes it much easier for users to use your provider. + * + * @see Requests_Hooks + * @package Requests + * @subpackage Proxy + * @since 1.6 + */ +interface Requests_Proxy { + /** + * Register hooks as needed + * + * This method is called in {@see Requests::request} when the user has set + * an instance as the 'auth' option. Use this callback to register all the + * hooks you'll need. + * + * @see Requests_Hooks::register + * @param Requests_Hooks $hooks Hook system + */ + public function register(Requests_Hooks &$hooks); +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Proxy/HTTP.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Proxy/HTTP.php new file mode 100644 index 0000000..1311f6f --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Proxy/HTTP.php @@ -0,0 +1,150 @@ +<?php +/** + * HTTP Proxy connection interface + * + * @package Requests + * @subpackage Proxy + * @since 1.6 + */ + +/** + * HTTP Proxy connection interface + * + * Provides a handler for connection via an HTTP proxy + * + * @package Requests + * @subpackage Proxy + * @since 1.6 + */ +class Requests_Proxy_HTTP implements Requests_Proxy { + /** + * Proxy host and port + * + * Notation: "host:port" (eg 127.0.0.1:8080 or someproxy.com:3128) + * + * @var string + */ + public $proxy; + + /** + * Username + * + * @var string + */ + public $user; + + /** + * Password + * + * @var string + */ + public $pass; + + /** + * Do we need to authenticate? (ie username & password have been provided) + * + * @var boolean + */ + public $use_authentication; + + /** + * Constructor + * + * @since 1.6 + * @throws Requests_Exception On incorrect number of arguments (`authbasicbadargs`) + * @param array|null $args Array of user and password. Must have exactly two elements + */ + public function __construct($args = null) { + if (is_string($args)) { + $this->proxy = $args; + } + elseif (is_array($args)) { + if (count($args) == 1) { + list($this->proxy) = $args; + } + elseif (count($args) == 3) { + list($this->proxy, $this->user, $this->pass) = $args; + $this->use_authentication = true; + } + else { + throw new Requests_Exception( 'Invalid number of arguments', 'proxyhttpbadargs'); + } + } + } + + /** + * Register the necessary callbacks + * + * @since 1.6 + * @see curl_before_send + * @see fsockopen_remote_socket + * @see fsockopen_remote_host_path + * @see fsockopen_header + * @param Requests_Hooks $hooks Hook system + */ + public function register(Requests_Hooks &$hooks) { + $hooks->register('curl.before_send', array(&$this, 'curl_before_send')); + + $hooks->register('fsockopen.remote_socket', array(&$this, 'fsockopen_remote_socket')); + $hooks->register('fsockopen.remote_host_path', array(&$this, 'fsockopen_remote_host_path')); + if( $this->use_authentication ) { + $hooks->register('fsockopen.after_headers', array(&$this, 'fsockopen_header')); + } + } + + /** + * Set cURL parameters before the data is sent + * + * @since 1.6 + * @param resource $handle cURL resource + */ + public function curl_before_send(&$handle) { + curl_setopt($handle, CURLOPT_PROXYTYPE, CURLPROXY_HTTP); + curl_setopt($handle, CURLOPT_PROXY, $this->proxy); + + if ($this->use_authentication) { + curl_setopt($handle, CURLOPT_PROXYAUTH, CURLAUTH_ANY); + curl_setopt($handle, CURLOPT_PROXYUSERPWD, $this->get_auth_string()); + } + } + + /** + * Alter remote socket information before opening socket connection + * + * @since 1.6 + * @param string $out HTTP header string + */ + public function fsockopen_remote_socket( &$remote_socket ) { + $remote_socket = $this->proxy; + } + + /** + * Alter remote path before getting stream data + * + * @since 1.6 + * @param string $out HTTP header string + */ + public function fsockopen_remote_host_path( &$path, $url ) { + $path = $url; + } + + /** + * Add extra headers to the request before sending + * + * @since 1.6 + * @param string $out HTTP header string + */ + public function fsockopen_header( &$out ) { + $out .= "Proxy-Authorization: Basic " . base64_encode($this->get_auth_string()) . "\r\n"; + } + + /** + * Get the authentication string (user:pass) + * + * @since 1.6 + * @return string + */ + public function get_auth_string() { + return $this->user . ':' . $this->pass; + } +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Response.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Response.php new file mode 100644 index 0000000..684d2d6 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Response.php @@ -0,0 +1,95 @@ +<?php +/** + * HTTP response class + * + * Contains a response from Requests::request() + * @package Requests + */ + +/** + * HTTP response class + * + * Contains a response from Requests::request() + * @package Requests + */ +class Requests_Response { + /** + * Constructor + */ + public function __construct() { + $this->headers = new Requests_Response_Headers(); + } + + /** + * Response body + * @var string + */ + public $body = ''; + + /** + * Raw HTTP data from the transport + * @var string + */ + public $raw = ''; + + /** + * Headers, as an associative array + * @var array + */ + public $headers = array(); + + /** + * Status code, false if non-blocking + * @var integer|boolean + */ + public $status_code = false; + + /** + * Whether the request succeeded or not + * @var boolean + */ + public $success = false; + + /** + * Number of redirects the request used + * @var integer + */ + public $redirects = 0; + + /** + * URL requested + * @var string + */ + public $url = ''; + + /** + * Previous requests (from redirects) + * @var array Array of Requests_Response objects + */ + public $history = array(); + + /** + * Cookies from the request + */ + public $cookies = array(); + + /** + * Throws an exception if the request was not successful + * + * @throws Requests_Exception If `$allow_redirects` is false, and code is 3xx (`response.no_redirects`) + * @throws Requests_Exception_HTTP On non-successful status code. Exception class corresponds to code (e.g. {@see Requests_Exception_HTTP_404}) + * @param boolean $allow_redirects Set to false to throw on a 3xx as well + */ + public function throw_for_status($allow_redirects = true) { + if ($this->status_code >= 300 && $this->status_code < 400) { + if (!$allow_redirects) { + throw new Requests_Exception('Redirection not allowed', 'response.no_redirects', $this); + } + } + + elseif (!$this->success) { + $exception = Requests_Exception_HTTP::get_class($this->status_code); + throw new $exception(null, $this); + } + } +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Response/Headers.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Response/Headers.php new file mode 100644 index 0000000..aa90725 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Response/Headers.php @@ -0,0 +1,95 @@ +<?php +/** + * Case-insensitive dictionary, suitable for HTTP headers + * + * @package Requests + */ + +/** + * Case-insensitive dictionary, suitable for HTTP headers + * + * @package Requests + */ +class Requests_Response_Headers extends Requests_Utility_CaseInsensitiveDictionary { + /** + * Get the given header + * + * Unlike {@see self::getValues()}, this returns a string. If there are + * multiple values, it concatenates them with a comma as per RFC2616. + * + * Avoid using this where commas may be used unquoted in values, such as + * Set-Cookie headers. + * + * @param string $key + * @return string Header value + */ + public function offsetGet($key) { + $key = strtolower($key); + if (!isset($this->data[$key])) + return null; + + return $this->flatten($this->data[$key]); + } + + /** + * Set the given item + * + * @throws Requests_Exception On attempting to use dictionary as list (`invalidset`) + * + * @param string $key Item name + * @param string $value Item value + */ + public function offsetSet($key, $value) { + if ($key === null) { + throw new Requests_Exception('Object is a dictionary, not a list', 'invalidset'); + } + + $key = strtolower($key); + + if (!isset($this->data[$key])) { + $this->data[$key] = array(); + } + + $this->data[$key][] = $value; + } + + /** + * Get all values for a given header + * + * @param string $key + * @return array Header values + */ + public function getValues($key) { + $key = strtolower($key); + if (!isset($this->data[$key])) + return null; + + return $this->data[$key]; + } + + /** + * Flattens a value into a string + * + * Converts an array into a string by imploding values with a comma, as per + * RFC2616's rules for folding headers. + * + * @param string|array $value Value to flatten + * @return string Flattened value + */ + public function flatten($value) { + if (is_array($value)) + $value = implode(',', $value); + + return $value; + } + + /** + * Get an iterator for the data + * + * Converts the internal + * @return ArrayIterator + */ + public function getIterator() { + return new Requests_Utility_FilteredIterator($this->data, array($this, 'flatten')); + } +} diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/SSL.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/SSL.php new file mode 100644 index 0000000..1ddd894 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/SSL.php @@ -0,0 +1,151 @@ +<?php +/** + * SSL utilities for Requests + * + * @package Requests + * @subpackage Utilities + */ + +/** + * SSL utilities for Requests + * + * Collection of utilities for working with and verifying SSL certificates. + * + * @package Requests + * @subpackage Utilities + */ +class Requests_SSL { + /** + * Verify the certificate against common name and subject alternative names + * + * Unfortunately, PHP doesn't check the certificate against the alternative + * names, leading things like 'https://www.github.com/' to be invalid. + * Instead + * + * @see http://tools.ietf.org/html/rfc2818#section-3.1 RFC2818, Section 3.1 + * + * @throws Requests_Exception On not obtaining a match for the host (`fsockopen.ssl.no_match`) + * @param string $host Host name to verify against + * @param resource $context Stream context + * @return bool + */ + public static function verify_certificate($host, $cert) { + // Calculate the valid wildcard match if the host is not an IP address + $parts = explode('.', $host); + if (ip2long($host) === false) { + $parts[0] = '*'; + } + $wildcard = implode('.', $parts); + + $has_dns_alt = false; + + // Check the subjectAltName + if (!empty($cert['extensions']) && !empty($cert['extensions']['subjectAltName'])) { + $altnames = explode(',', $cert['extensions']['subjectAltName']); + foreach ($altnames as $altname) { + $altname = trim($altname); + if (strpos($altname, 'DNS:') !== 0) + continue; + + $has_dns_alt = true; + + // Strip the 'DNS:' prefix and trim whitespace + $altname = trim(substr($altname, 4)); + + // Check for a match + if (self::match_domain($host, $altname) === true) { + return true; + } + } + } + + // Fall back to checking the common name if we didn't get any dNSName + // alt names, as per RFC2818 + if (!$has_dns_alt && !empty($cert['subject']['CN'])) { + // Check for a match + if (self::match_domain($host, $cert['subject']['CN']) === true) { + return true; + } + } + + return false; + } + + /** + * Verify that a reference name is valid + * + * Verifies a dNSName for HTTPS usage, (almost) as per Firefox's rules: + * - Wildcards can only occur in a name with more than 3 components + * - Wildcards can only occur as the last character in the first + * component + * - Wildcards may be preceded by additional characters + * + * We modify these rules to be a bit stricter and only allow the wildcard + * character to be the full first component; that is, with the exclusion of + * the third rule. + * + * @param string $reference Reference dNSName + * @return boolean Is the name valid? + */ + public static function verify_reference_name($reference) { + $parts = explode('.', $reference); + + // Check the first part of the name + $first = array_shift($parts); + + if (strpos($first, '*') !== false) { + // Check that the wildcard is the full part + if ($first !== '*') { + return false; + } + + // Check that we have at least 3 components (including first) + if (count($parts) < 2) { + return false; + } + } + + // Check the remaining parts + foreach ($parts as $part) { + if (strpos($part, '*') !== false) { + return false; + } + } + + // Nothing found, verified! + return true; + } + + /** + * Match a hostname against a dNSName reference + * + * @param string $host Requested host + * @param string $reference dNSName to match against + * @return boolean Does the domain match? + */ + public static function match_domain($host, $reference) { + // Check if the reference is blacklisted first + if (self::verify_reference_name($reference) !== true) { + return false; + } + + // Check for a direct match + if ($host === $reference) { + return true; + } + + // Calculate the valid wildcard match if the host is not an IP address + // Also validates that the host has 3 parts or more, as per Firefox's + // ruleset. + if (ip2long($host) === false) { + $parts = explode('.', $host); + $parts[0] = '*'; + $wildcard = implode('.', $parts); + if ($wildcard === $reference) { + return true; + } + } + + return false; + } +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Session.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Session.php new file mode 100644 index 0000000..f519d8d --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Session.php @@ -0,0 +1,258 @@ +<?php +/** + * Session handler for persistent requests and default parameters + * + * @package Requests + * @subpackage Session Handler + */ + +/** + * Session handler for persistent requests and default parameters + * + * Allows various options to be set as default values, and merges both the + * options and URL properties together. A base URL can be set for all requests, + * with all subrequests resolved from this. Base options can be set (including + * a shared cookie jar), then overridden for individual requests. + * + * @package Requests + * @subpackage Session Handler + */ +class Requests_Session { + /** + * Base URL for requests + * + * URLs will be made absolute using this as the base + * @var string|null + */ + public $url = null; + + /** + * Base headers for requests + * @var array + */ + public $headers = array(); + + /** + * Base data for requests + * + * If both the base data and the per-request data are arrays, the data will + * be merged before sending the request. + * + * @var array + */ + public $data = array(); + + /** + * Base options for requests + * + * The base options are merged with the per-request data for each request. + * The only default option is a shared cookie jar between requests. + * + * Values here can also be set directly via properties on the Session + * object, e.g. `$session->useragent = 'X';` + * + * @var array + */ + public $options = array(); + + /** + * Create a new session + * + * @param string|null $url Base URL for requests + * @param array $headers Default headers for requests + * @param array $data Default data for requests + * @param array $options Default options for requests + */ + public function __construct($url = null, $headers = array(), $data = array(), $options = array()) { + $this->url = $url; + $this->headers = $headers; + $this->data = $data; + $this->options = $options; + + if (empty($this->options['cookies'])) { + $this->options['cookies'] = new Requests_Cookie_Jar(); + } + } + + /** + * Get a property's value + * + * @param string $key Property key + * @return mixed|null Property value, null if none found + */ + public function __get($key) { + if (isset($this->options[$key])) { + return $this->options[$key]; + } + + return null; + } + + /** + * Set a property's value + * + * @param string $key Property key + * @param mixed $value Property value + */ + public function __set($key, $value) { + $this->options[$key] = $value; + } + + /** + * Remove a property's value + * + * @param string $key Property key + */ + public function __isset($key) { + return isset($this->options[$key]); + } + + /** + * Remove a property's value + * + * @param string $key Property key + */ + public function __unset($key) { + if (isset($this->options[$key])) { + unset($this->options[$key]); + } + } + + /**#@+ + * @see request() + * @param string $url + * @param array $headers + * @param array $options + * @return Requests_Response + */ + /** + * Send a GET request + */ + public function get($url, $headers = array(), $options = array()) { + return $this->request($url, $headers, null, Requests::GET, $options); + } + + /** + * Send a HEAD request + */ + public function head($url, $headers = array(), $options = array()) { + return $this->request($url, $headers, null, Requests::HEAD, $options); + } + + /** + * Send a DELETE request + */ + public function delete($url, $headers = array(), $options = array()) { + return $this->request($url, $headers, null, Requests::DELETE, $options); + } + /**#@-*/ + + /**#@+ + * @see request() + * @param string $url + * @param array $headers + * @param array $data + * @param array $options + * @return Requests_Response + */ + /** + * Send a POST request + */ + public function post($url, $headers = array(), $data = array(), $options = array()) { + return $this->request($url, $headers, $data, Requests::POST, $options); + } + + /** + * Send a PUT request + */ + public function put($url, $headers = array(), $data = array(), $options = array()) { + return $this->request($url, $headers, $data, Requests::PUT, $options); + } + + /** + * Send a PATCH request + * + * Note: Unlike {@see post} and {@see put}, `$headers` is required, as the + * specification recommends that should send an ETag + * + * @link http://tools.ietf.org/html/rfc5789 + */ + public function patch($url, $headers, $data = array(), $options = array()) { + return $this->request($url, $headers, $data, Requests::PATCH, $options); + } + /**#@-*/ + + /** + * Main interface for HTTP requests + * + * This method initiates a request and sends it via a transport before + * parsing. + * + * @see Requests::request() + * + * @throws Requests_Exception On invalid URLs (`nonhttp`) + * + * @param string $url URL to request + * @param array $headers Extra headers to send with the request + * @param array $data Data to send either as a query string for GET/HEAD requests, or in the body for POST requests + * @param string $type HTTP request type (use Requests constants) + * @param array $options Options for the request (see {@see Requests::request}) + * @return Requests_Response + */ + public function request($url, $headers = array(), $data = array(), $type = Requests::GET, $options = array()) { + $request = $this->merge_request(compact('url', 'headers', 'data', 'options')); + + return Requests::request($request['url'], $request['headers'], $request['data'], $type, $request['options']); + } + + /** + * Send multiple HTTP requests simultaneously + * + * @see Requests::request_multiple() + * + * @param array $requests Requests data (see {@see Requests::request_multiple}) + * @param array $options Global and default options (see {@see Requests::request}) + * @return array Responses (either Requests_Response or a Requests_Exception object) + */ + public function request_multiple($requests, $options = array()) { + foreach ($requests as $key => $request) { + $requests[$key] = $this->merge_request($request, false); + } + + $options = array_merge($this->options, $options); + + // Disallow forcing the type, as that's a per request setting + unset($options['type']); + + return Requests::request_multiple($requests, $options); + } + + /** + * Merge a request's data with the default data + * + * @param array $request Request data (same form as {@see request_multiple}) + * @param boolean $merge_options Should we merge options as well? + * @return array Request data + */ + protected function merge_request($request, $merge_options = true) { + if ($this->url !== null) { + $request['url'] = Requests_IRI::absolutize($this->url, $request['url']); + $request['url'] = $request['url']->uri; + } + + $request['headers'] = array_merge($this->headers, $request['headers']); + + if (is_array($request['data']) && is_array($this->data)) { + $request['data'] = array_merge($this->data, $request['data']); + } + + if ($merge_options !== false) { + $request['options'] = array_merge($this->options, $request['options']); + + // Disallow forcing the type, as that's a per request setting + unset($request['options']['type']); + } + + return $request; + } +} diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Transport.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Transport.php new file mode 100644 index 0000000..7e4a262 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Transport.php @@ -0,0 +1,41 @@ +<?php +/** + * Base HTTP transport + * + * @package Requests + * @subpackage Transport + */ + +/** + * Base HTTP transport + * + * @package Requests + * @subpackage Transport + */ +interface Requests_Transport { + /** + * Perform a request + * + * @param string $url URL to request + * @param array $headers Associative array of request headers + * @param string|array $data Data to send either as the POST body, or as parameters in the URL for a GET/HEAD + * @param array $options Request options, see {@see Requests::response()} for documentation + * @return string Raw HTTP result + */ + public function request($url, $headers = array(), $data = array(), $options = array()); + + /** + * Send multiple requests simultaneously + * + * @param array $requests Request data (array of 'url', 'headers', 'data', 'options') as per {@see Requests_Transport::request} + * @param array $options Global options, see {@see Requests::response()} for documentation + * @return array Array of Requests_Response objects (may contain Requests_Exception or string responses as well) + */ + public function request_multiple($requests, $options); + + /** + * Self-test whether the transport can be used + * @return bool + */ + public static function test(); +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Transport/cURL.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Transport/cURL.php new file mode 100644 index 0000000..678ab73 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Transport/cURL.php @@ -0,0 +1,372 @@ +<?php +/** + * cURL HTTP transport + * + * @package Requests + * @subpackage Transport + */ + +/** + * cURL HTTP transport + * + * @package Requests + * @subpackage Transport + */ +class Requests_Transport_cURL implements Requests_Transport { + const CURL_7_10_5 = 0x070A05; + const CURL_7_16_2 = 0x071002; + + /** + * Raw HTTP data + * + * @var string + */ + public $headers = ''; + + /** + * Information on the current request + * + * @var array cURL information array, see {@see http://php.net/curl_getinfo} + */ + public $info; + + /** + * Version string + * + * @var long + */ + public $version; + + /** + * cURL handle + * + * @var resource + */ + protected $fp; + + /** + * Have we finished the headers yet? + * + * @var boolean + */ + protected $done_headers = false; + + /** + * If streaming to a file, keep the file pointer + * + * @var resource + */ + protected $stream_handle; + + /** + * Constructor + */ + public function __construct() { + $curl = curl_version(); + $this->version = $curl['version_number']; + $this->fp = curl_init(); + + curl_setopt($this->fp, CURLOPT_HEADER, false); + curl_setopt($this->fp, CURLOPT_RETURNTRANSFER, 1); + if ($this->version >= self::CURL_7_10_5) { + curl_setopt($this->fp, CURLOPT_ENCODING, ''); + } + if (defined('CURLOPT_PROTOCOLS')) { + curl_setopt($this->fp, CURLOPT_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS); + } + if (defined('CURLOPT_REDIR_PROTOCOLS')) { + curl_setopt($this->fp, CURLOPT_REDIR_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS); + } + } + + /** + * Perform a request + * + * @throws Requests_Exception On a cURL error (`curlerror`) + * + * @param string $url URL to request + * @param array $headers Associative array of request headers + * @param string|array $data Data to send either as the POST body, or as parameters in the URL for a GET/HEAD + * @param array $options Request options, see {@see Requests::response()} for documentation + * @return string Raw HTTP result + */ + public function request($url, $headers = array(), $data = array(), $options = array()) { + $this->setup_handle($url, $headers, $data, $options); + + $options['hooks']->dispatch('curl.before_send', array(&$this->fp)); + + if ($options['filename'] !== false) { + $this->stream_handle = fopen($options['filename'], 'wb'); + curl_setopt($this->fp, CURLOPT_FILE, $this->stream_handle); + } + + if (isset($options['verify'])) { + if ($options['verify'] === false) { + curl_setopt($this->fp, CURLOPT_SSL_VERIFYHOST, 0); + curl_setopt($this->fp, CURLOPT_SSL_VERIFYPEER, 0); + + } elseif (is_string($options['verify'])) { + curl_setopt($this->fp, CURLOPT_CAINFO, $options['verify']); + } + } + + if (isset($options['verifyname']) && $options['verifyname'] === false) { + curl_setopt($this->fp, CURLOPT_SSL_VERIFYHOST, 0); + } + + $response = curl_exec($this->fp); + + $options['hooks']->dispatch('curl.after_send', array(&$fake_headers)); + + if (curl_errno($this->fp) === 23 || curl_errno($this->fp) === 61) { + curl_setopt($this->fp, CURLOPT_ENCODING, 'none'); + $response = curl_exec($this->fp); + } + + $this->process_response($response, $options); + curl_close($this->fp); + return $this->headers; + } + + /** + * Send multiple requests simultaneously + * + * @param array $requests Request data + * @param array $options Global options + * @return array Array of Requests_Response objects (may contain Requests_Exception or string responses as well) + */ + public function request_multiple($requests, $options) { + $multihandle = curl_multi_init(); + $subrequests = array(); + $subhandles = array(); + + $class = get_class($this); + foreach ($requests as $id => $request) { + $subrequests[$id] = new $class(); + $subhandles[$id] = $subrequests[$id]->get_subrequest_handle($request['url'], $request['headers'], $request['data'], $request['options']); + $request['options']['hooks']->dispatch('curl.before_multi_add', array(&$subhandles[$id])); + curl_multi_add_handle($multihandle, $subhandles[$id]); + } + + $completed = 0; + $responses = array(); + + $request['options']['hooks']->dispatch('curl.before_multi_exec', array(&$multihandle)); + + do { + $active = false; + + do { + $status = curl_multi_exec($multihandle, $active); + } + while ($status === CURLM_CALL_MULTI_PERFORM); + + $to_process = array(); + + // Read the information as needed + while ($done = curl_multi_info_read($multihandle)) { + $key = array_search($done['handle'], $subhandles, true); + if (!isset($to_process[$key])) { + $to_process[$key] = $done; + } + } + + // Parse the finished requests before we start getting the new ones + foreach ($to_process as $key => $done) { + $options = $requests[$key]['options']; + $responses[$key] = $subrequests[$key]->process_response(curl_multi_getcontent($done['handle']), $options); + + $options['hooks']->dispatch('transport.internal.parse_response', array(&$responses[$key], $requests[$key])); + + curl_multi_remove_handle($multihandle, $done['handle']); + curl_close($done['handle']); + + if (!is_string($responses[$key])) { + $options['hooks']->dispatch('multiple.request.complete', array(&$responses[$key], $key)); + } + $completed++; + } + } + while ($active || $completed < count($subrequests)); + + $request['options']['hooks']->dispatch('curl.after_multi_exec', array(&$multihandle)); + + curl_multi_close($multihandle); + + return $responses; + } + + /** + * Get the cURL handle for use in a multi-request + * + * @param string $url URL to request + * @param array $headers Associative array of request headers + * @param string|array $data Data to send either as the POST body, or as parameters in the URL for a GET/HEAD + * @param array $options Request options, see {@see Requests::response()} for documentation + * @return resource Subrequest's cURL handle + */ + public function &get_subrequest_handle($url, $headers, $data, $options) { + $this->setup_handle($url, $headers, $data, $options); + + if ($options['filename'] !== false) { + $this->stream_handle = fopen($options['filename'], 'wb'); + curl_setopt($this->fp, CURLOPT_FILE, $this->stream_handle); + } + + return $this->fp; + } + + /** + * Setup the cURL handle for the given data + * + * @param string $url URL to request + * @param array $headers Associative array of request headers + * @param string|array $data Data to send either as the POST body, or as parameters in the URL for a GET/HEAD + * @param array $options Request options, see {@see Requests::response()} for documentation + */ + protected function setup_handle($url, $headers, $data, $options) { + $options['hooks']->dispatch('curl.before_request', array(&$this->fp)); + + $headers = Requests::flatten($headers); + if (in_array($options['type'], array(Requests::HEAD, Requests::GET, Requests::DELETE)) & !empty($data)) { + $url = self::format_get($url, $data); + } + elseif (!empty($data) && !is_string($data)) { + $data = http_build_query($data, null, '&'); + } + + switch ($options['type']) { + case Requests::POST: + curl_setopt($this->fp, CURLOPT_POST, true); + curl_setopt($this->fp, CURLOPT_POSTFIELDS, $data); + break; + case Requests::PATCH: + case Requests::PUT: + curl_setopt($this->fp, CURLOPT_CUSTOMREQUEST, $options['type']); + curl_setopt($this->fp, CURLOPT_POSTFIELDS, $data); + break; + case Requests::DELETE: + curl_setopt($this->fp, CURLOPT_CUSTOMREQUEST, 'DELETE'); + break; + case Requests::HEAD: + curl_setopt($this->fp, CURLOPT_NOBODY, true); + break; + } + + if( is_int($options['timeout']) or $this->version < self::CURL_7_16_2 ) { + curl_setopt($this->fp, CURLOPT_TIMEOUT, ceil($options['timeout'])); + } else { + curl_setopt($this->fp, CURLOPT_TIMEOUT_MS, round($options['timeout'] * 1000) ); + } + if( is_int($options['connect_timeout']) or $this->version < self::CURL_7_16_2 ) { + curl_setopt($this->fp, CURLOPT_CONNECTTIMEOUT, ceil($options['connect_timeout'])); + } else { + curl_setopt($this->fp, CURLOPT_CONNECTTIMEOUT_MS, round($options['connect_timeout'] * 1000)); + } + curl_setopt($this->fp, CURLOPT_URL, $url); + curl_setopt($this->fp, CURLOPT_REFERER, $url); + curl_setopt($this->fp, CURLOPT_USERAGENT, $options['useragent']); + curl_setopt($this->fp, CURLOPT_HTTPHEADER, $headers); + + if (true === $options['blocking']) { + curl_setopt($this->fp, CURLOPT_HEADERFUNCTION, array(&$this, 'stream_headers')); + } + } + + public function process_response($response, $options) { + if ($options['blocking'] === false) { + $fake_headers = ''; + $options['hooks']->dispatch('curl.after_request', array(&$fake_headers)); + return false; + } + if ($options['filename'] !== false) { + fclose($this->stream_handle); + $this->headers = trim($this->headers); + } + else { + $this->headers .= $response; + } + + if (curl_errno($this->fp)) { + throw new Requests_Exception('cURL error ' . curl_errno($this->fp) . ': ' . curl_error($this->fp), 'curlerror', $this->fp); + return; + } + $this->info = curl_getinfo($this->fp); + + $options['hooks']->dispatch('curl.after_request', array(&$this->headers)); + return $this->headers; + } + + /** + * Collect the headers as they are received + * + * @param resource $handle cURL resource + * @param string $headers Header string + * @return integer Length of provided header + */ + protected function stream_headers($handle, $headers) { + // Why do we do this? cURL will send both the final response and any + // interim responses, such as a 100 Continue. We don't need that. + // (We may want to keep this somewhere just in case) + if ($this->done_headers) { + $this->headers = ''; + $this->done_headers = false; + } + $this->headers .= $headers; + + if ($headers === "\r\n") { + $this->done_headers = true; + } + return strlen($headers); + } + + /** + * Format a URL given GET data + * + * @param string $url + * @param array|object $data Data to build query using, see {@see http://php.net/http_build_query} + * @return string URL with data + */ + protected static function format_get($url, $data) { + if (!empty($data)) { + $url_parts = parse_url($url); + if (empty($url_parts['query'])) { + $query = $url_parts['query'] = ''; + } + else { + $query = $url_parts['query']; + } + + $query .= '&' . http_build_query($data, null, '&'); + $query = trim($query, '&'); + + if (empty($url_parts['query'])) { + $url .= '?' . $query; + } + else { + $url = str_replace($url_parts['query'], $query, $url); + } + } + return $url; + } + + /** + * Whether this transport is valid + * + * @codeCoverageIgnore + * @return boolean True if the transport is valid, false otherwise. + */ + public static function test($capabilities = array()) { + if (!function_exists('curl_init') && !function_exists('curl_exec')) + return false; + + // If needed, check that our installed curl version supports SSL + if (isset( $capabilities['ssl'] ) && $capabilities['ssl']) { + $curl_version = curl_version(); + if (!(CURL_VERSION_SSL & $curl_version['features'])) + return false; + } + + return true; + } +} diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Transport/cacert.pem b/user/plugins/mediaembed/vendor/Requests/library/Requests/Transport/cacert.pem new file mode 100644 index 0000000..56ece1a --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Transport/cacert.pem @@ -0,0 +1,3554 @@ +## +## ca-bundle.crt -- Bundle of CA Root Certificates +## +## Certificate data from Mozilla as of: Sat Dec 29 20:03:40 2012 +## +## This is a bundle of X.509 certificates of public Certificate Authorities +## (CA). These were automatically extracted from Mozilla's root certificates +## file (certdata.txt). This file can be found in the mozilla source tree: +## http://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins/certdata.txt?raw=1 +## +## It contains the certificates in PEM format and therefore +## can be directly used with curl / libcurl / php_curl, or with +## an Apache+mod_ssl webserver for SSL client authentication. +## Just configure this file as the SSLCACertificateFile. +## + +# @(#) $RCSfile: certdata.txt,v $ $Revision: 1.87 $ $Date: 2012/12/29 16:32:45 $ + +EE Certification Centre Root CA +=============================== +-----BEGIN CERTIFICATE----- +MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG +EwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEoMCYGA1UEAwwfRUUgQ2Vy +dGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYGCSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIw +MTAxMDMwMTAxMDMwWhgPMjAzMDEyMTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlB +UyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRy +ZSBSb290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUyeuuOF0+W2Ap7kaJjbMeM +TC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvObntl8jixwKIy72KyaOBhU8E2lf/slLo2 +rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIwWFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw +93X2PaRka9ZP585ArQ/dMtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtN +P2MbRMNE1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYDVR0T +AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/zQas8fElyalL1BSZ +MEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEF +BQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEFBQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+Rj +xY6hUFaTlrg4wCQiZrxTFGGVv9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqM +lIpPnTX/dqQGE5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u +uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIWiAYLtqZLICjU +3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/vGVCJYMzpJJUPwssd8m92kMfM +dcGWxZ0= +-----END CERTIFICATE----- + +GTE CyberTrust Global Root +========================== +-----BEGIN CERTIFICATE----- +MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYDVQQKEw9HVEUg +Q29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNvbHV0aW9ucywgSW5jLjEjMCEG +A1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJvb3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEz +MjM1OTAwWjB1MQswCQYDVQQGEwJVUzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQL +Ex5HVEUgQ3liZXJUcnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0 +IEdsb2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrHiM3dFw4u +sJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTSr41tiGeA5u2ylc9yMcql +HHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X404Wqk2kmhXBIgD8SFcd5tB8FLztimQID +AQABMA0GCSqGSIb3DQEBBAUAA4GBAG3rGwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMW +M4ETCJ57NE7fQMh017l93PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OF +NMQkpw0PlZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/ +-----END CERTIFICATE----- + +Thawte Server CA +================ +-----BEGIN CERTIFICATE----- +MIIDEzCCAnygAwIBAgIBATANBgkqhkiG9w0BAQQFADCBxDELMAkGA1UEBhMCWkExFTATBgNVBAgT +DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs +dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcGA1UE +AxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5j +b20wHhcNOTYwODAxMDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBxDELMAkGA1UEBhMCWkExFTATBgNV +BAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29u +c3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcG +A1UEAxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0 +ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANOkUG7I/1Zr5s9dtuoMaHVHoqrC2oQl +/Kj0R1HahbUgdJSGHg91yekIYfUGbTBuFRkC6VLAYttNmZ7iagxEOM3+vuNkCXDF/rFrKbYvScg7 +1CcEJRCXL+eQbcAoQpnXTEPew/UhbVSfXcNY4cDk2VuwuNy0e982OsK1ZiIS1ocNAgMBAAGjEzAR +MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAB/pMaVz7lcxG7oWDTSEwjsrZqG9J +GubaUeNgcGyEYRGhGshIPllDfU+VPaGLtwtimHp1it2ITk6eQNuozDJ0uW8NxuOzRAvZim+aKZuZ +GCg70eNAKJpaPNW15yAbi8qkq43pUdniTCxZqdq5snUb9kLy78fyGPmJvKP/iiMucEc= +-----END CERTIFICATE----- + +Thawte Premium Server CA +======================== +-----BEGIN CERTIFICATE----- +MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkExFTATBgNVBAgT +DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs +dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UE +AxMYVGhhd3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZl +ckB0aGF3dGUuY29tMB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYT +AlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsGA1UEChMU +VGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2 +aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNlcnZlciBDQTEoMCYGCSqGSIb3DQEJARYZ +cHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2 +aovXwlue2oFBYo847kkEVdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIh +Udib0GfQug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMRuHM/ +qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQAm +SCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUIhfzJATj/Tb7yFkJD57taRvvBxhEf +8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JMpAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7t +UCemDaYj+bvLpgcUQg== +-----END CERTIFICATE----- + +Equifax Secure CA +================= +-----BEGIN CERTIFICATE----- +MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEQMA4GA1UE +ChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5 +MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoT +B0VxdWlmYXgxLTArBgNVBAsTJEVxdWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCB +nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPR +fM6fBeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+AcJkVV5MW +8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kCAwEAAaOCAQkwggEFMHAG +A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UE +CxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoG +A1UdEAQTMBGBDzIwMTgwODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvS +spXXR9gjIBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQFMAMB +Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAFjOKer89961 +zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y7qj/WsjTVbJmcVfewCHrPSqnI0kB +BIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee95 +70+sB3c4 +-----END CERTIFICATE----- + +Digital Signature Trust Co. Global CA 1 +======================================= +-----BEGIN CERTIFICATE----- +MIIDKTCCApKgAwIBAgIENnAVljANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJVUzEkMCIGA1UE +ChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQLEwhEU1RDQSBFMTAeFw05ODEy +MTAxODEwMjNaFw0xODEyMTAxODQwMjNaMEYxCzAJBgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFs +IFNpZ25hdHVyZSBUcnVzdCBDby4xETAPBgNVBAsTCERTVENBIEUxMIGdMA0GCSqGSIb3DQEBAQUA +A4GLADCBhwKBgQCgbIGpzzQeJN3+hijM3oMv+V7UQtLodGBmE5gGHKlREmlvMVW5SXIACH7TpWJE +NySZj9mDSI+ZbZUTu0M7LklOiDfBu1h//uG9+LthzfNHwJmm8fOR6Hh8AMthyUQncWlVSn5JTe2i +o74CTADKAqjuAQIxZA9SLRN0dja1erQtcQIBA6OCASQwggEgMBEGCWCGSAGG+EIBAQQEAwIABzBo +BgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0 +dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgRTExDTALBgNVBAMTBENSTDEwKwYDVR0QBCQw +IoAPMTk5ODEyMTAxODEwMjNagQ8yMDE4MTIxMDE4MTAyM1owCwYDVR0PBAQDAgEGMB8GA1UdIwQY +MBaAFGp5fpFpRhgTCgJ3pVlbYJglDqL4MB0GA1UdDgQWBBRqeX6RaUYYEwoCd6VZW2CYJQ6i+DAM +BgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GB +ACIS2Hod3IEGtgllsofIH160L+nEHvI8wbsEkBFKg05+k7lNQseSJqBcNJo4cvj9axY+IO6CizEq +kzaFI4iKPANo08kJD038bKTaKHKTDomAsH3+gG9lbRgzl4vCa4nuYD3Im+9/KzJic5PLPON74nZ4 +RbyhkwS7hp86W0N6w4pl +-----END CERTIFICATE----- + +Digital Signature Trust Co. Global CA 3 +======================================= +-----BEGIN CERTIFICATE----- +MIIDKTCCApKgAwIBAgIENm7TzjANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJVUzEkMCIGA1UE +ChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQLEwhEU1RDQSBFMjAeFw05ODEy +MDkxOTE3MjZaFw0xODEyMDkxOTQ3MjZaMEYxCzAJBgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFs +IFNpZ25hdHVyZSBUcnVzdCBDby4xETAPBgNVBAsTCERTVENBIEUyMIGdMA0GCSqGSIb3DQEBAQUA +A4GLADCBhwKBgQC/k48Xku8zExjrEH9OFr//Bo8qhbxe+SSmJIi2A7fBw18DW9Fvrn5C6mYjuGOD +VvsoLeE4i7TuqAHhzhy2iCoiRoX7n6dwqUcUP87eZfCocfdPJmyMvMa1795JJ/9IKn3oTQPMx7JS +xhcxEzu1TdvIxPbDDyQq2gyd55FbgM2UnQIBA6OCASQwggEgMBEGCWCGSAGG+EIBAQQEAwIABzBo +BgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0 +dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgRTIxDTALBgNVBAMTBENSTDEwKwYDVR0QBCQw +IoAPMTk5ODEyMDkxOTE3MjZagQ8yMDE4MTIwOTE5MTcyNlowCwYDVR0PBAQDAgEGMB8GA1UdIwQY +MBaAFB6CTShlgDzJQW6sNS5ay97u+DlbMB0GA1UdDgQWBBQegk0oZYA8yUFurDUuWsve7vg5WzAM +BgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GB +AEeNg61i8tuwnkUiBbmi1gMOOHLnnvx75pO2mqWilMg0HZHRxdf0CiUPPXiBng+xZ8SQTGPdXqfi +up/1902lMXucKS1M/mQ+7LZT/uqb7YLbdHVLB3luHtgZg3Pe9T7Qtd7nS2h9Qy4qIOF+oHhEngj1 +mPnHfxsb1gYgAlihw6ID +-----END CERTIFICATE----- + +Verisign Class 3 Public Primary Certification Authority +======================================================= +-----BEGIN CERTIFICATE----- +MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkGA1UEBhMCVVMx +FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5 +IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVow +XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz +IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94 +f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol +hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBAgUAA4GBALtMEivPLCYA +TxQT3ab7/AoRhIzzKBxnki98tsX63/Dolbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59Ah +WM1pF+NEHJwZRDmJXNycAA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2Omuf +Tqj/ZA1k +-----END CERTIFICATE----- + +Verisign Class 3 Public Primary Certification Authority - G2 +============================================================ +-----BEGIN CERTIFICATE----- +MIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT +MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy +eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln +biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz +dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT +MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy +eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln +biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz +dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCO +FoUgRm1HP9SFIIThbbP4pO0M8RcPO/mn+SXXwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71 +lSk8UOg013gfqLptQ5GVj0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwIDAQAB +MA0GCSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSkU01UbSuvDV1Ai2TT +1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7iF6YM40AIOw7n60RzKprxaZLvcRTD +Oaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo1KpYoJ2daZH9 +-----END CERTIFICATE----- + +GlobalSign Root CA +================== +-----BEGIN CERTIFICATE----- +MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx +GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds +b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV +BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD +VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa +DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc +THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb +Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP +c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX +gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF +AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj +Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG +j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH +hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC +X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== +-----END CERTIFICATE----- + +GlobalSign Root CA - R2 +======================= +-----BEGIN CERTIFICATE----- +MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4GA1UECxMXR2xv +YmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh +bFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT +aWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln +bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6 +ErPLv4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8eoLrvozp +s6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklqtTleiDTsvHgMCJiEbKjN +S7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzdC9XZzPnqJworc5HGnRusyMvo4KD0L5CL +TfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pazq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6C +ygPCm48CAwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E +FgQUm+IHV2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9i +YWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG3lm0mi3f3BmGLjAN +BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp +9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu +01yiPqFbQfXf5WRDLenVOavSot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG7 +9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7 +TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg== +-----END CERTIFICATE----- + +ValiCert Class 1 VA +=================== +-----BEGIN CERTIFICATE----- +MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp +b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs +YXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh +bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNTIy +MjM0OFoXDTE5MDYyNTIyMjM0OFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0 +d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDEg +UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0 +LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQDYWYJ6ibiWuqYvaG9YLqdUHAZu9OqNSLwxlBfw8068srg1knaw0KWlAdcAAxIi +GQj4/xEjm84H9b9pGib+TunRf50sQB1ZaG6m+FiwnRqP0z/x3BkGgagO4DrdyFNFCQbmD3DD+kCm +DuJWBQ8YTfwggtFzVXSNdnKgHZ0dwN0/cQIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFBoPUn0LBwG +lN+VYH+Wexf+T3GtZMjdd9LvWVXoP+iOBSoh8gfStadS/pyxtuJbdxdA6nLWI8sogTLDAHkY7FkX +icnGah5xyf23dKUlRWnFSKsZ4UWKJWsZ7uW7EvV/96aNUcPwnXS3qT6gpf+2SQMT2iLM7XGCK5nP +Orf1LXLI +-----END CERTIFICATE----- + +ValiCert Class 2 VA +=================== +-----BEGIN CERTIFICATE----- +MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp +b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs +YXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh +bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw +MTk1NFoXDTE5MDYyNjAwMTk1NFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0 +d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDIg +UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0 +LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQDOOnHK5avIWZJV16vYdA757tn2VUdZZUcOBVXc65g2PFxTXdMwzzjsvUGJ7SVC +CSRrCl6zfN1SLUzm1NZ9WlmpZdRJEy0kTRxQb7XBhVQ7/nHk01xC+YDgkRoKWzk2Z/M/VXwbP7Rf +ZHM047QSv4dk+NoS/zcnwbNDu+97bi5p9wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBADt/UG9vUJSZ +SWI4OB9L+KXIPqeCgfYrx+jFzug6EILLGACOTb2oWH+heQC1u+mNr0HZDzTuIYEZoDJJKPTEjlbV +UjP9UNV+mWwD5MlM/Mtsq2azSiGM5bUMMj4QssxsodyamEwCW/POuZ6lcg5Ktz885hZo+L7tdEy8 +W9ViH0Pd +-----END CERTIFICATE----- + +RSA Root Certificate 1 +====================== +-----BEGIN CERTIFICATE----- +MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp +b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs +YXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh +bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw +MjIzM1oXDTE5MDYyNjAwMjIzM1owgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0 +d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDMg +UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0 +LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQDjmFGWHOjVsQaBalfDcnWTq8+epvzzFlLWLU2fNUSoLgRNB0mKOCn1dzfnt6td +3zZxFJmP3MKS8edgkpfs2Ejcv8ECIMYkpChMMFp2bbFc893enhBxoYjHW5tBbcqwuI4V7q0zK89H +BFx1cQqYJJgpp0lZpd34t0NiYfPT4tBVPwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFa7AliEZwgs +3x/be0kz9dNnnfS0ChCzycUs4pJqcXgn8nCDQtM+z6lU9PHYkhaM0QTLS6vJn0WuPIqpsHEzXcjF +V9+vqDWzf4mH6eglkrh/hXqu1rweN1gqZ8mRzyqBPu3GOd/APhmcGcwTTYJBtYze4D1gCCAPRX5r +on+jjBXu +-----END CERTIFICATE----- + +Verisign Class 3 Public Primary Certification Authority - G3 +============================================================ +-----BEGIN CERTIFICATE----- +MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV +UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv +cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl +IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy +dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv +cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkg +Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAMu6nFL8eB8aHm8bN3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1 +EUGO+i2tKmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGukxUc +cLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBmCC+Vk7+qRy+oRpfw +EuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJXwzw3sJ2zq/3avL6QaaiMxTJ5Xpj +055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWuimi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA +ERSWwauSCPc/L8my/uRan2Te2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5f +j267Cz3qWhMeDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC +/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565pF4ErWjfJXir0 +xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa +t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== +-----END CERTIFICATE----- + +Verisign Class 4 Public Primary Certification Authority - G3 +============================================================ +-----BEGIN CERTIFICATE----- +MIIEGjCCAwICEQDsoKeLbnVqAc/EfMwvlF7XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV +UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv +cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl +IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy +dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv +cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkg +Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAK3LpRFpxlmr8Y+1GQ9Wzsy1HyDkniYlS+BzZYlZ3tCD5PUPtbut8XzoIfzk6AzufEUiGXaS +tBO3IFsJ+mGuqPKljYXCKtbeZjbSmwL0qJJgfJxptI8kHtCGUvYynEFYHiK9zUVilQhu0GbdU6LM +8BDcVHOLBKFGMzNcF0C5nk3T875Vg+ixiY5afJqWIpA7iCXy0lOIAgwLePLmNxdLMEYH5IBtptiW +Lugs+BGzOA1mppvqySNb247i8xOOGlktqgLw7KSHZtzBP/XYufTsgsbSPZUd5cBPhMnZo0QoBmrX +Razwa2rvTl/4EYIeOGM0ZlDUPpNz+jDDZq3/ky2X7wMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA +j/ola09b5KROJ1WrIhVZPMq1CtRK26vdoV9TxaBXOcLORyu+OshWv8LZJxA6sQU8wHcxuzrTBXtt +mhwwjIDLk5Mqg6sFUYICABFna/OIYUdfA5PVWw3g8dShMjWFsjrbsIKr0csKvE+MW8VLADsfKoKm +fjaF3H48ZwC15DtS4KjrXRX5xm3wrR0OhbepmnMUWluPQSjA1egtTaRezarZ7c7c2NU8Qh0XwRJd +RTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/bLvSHgCwIe34QWKCudiyxLtG +UPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg== +-----END CERTIFICATE----- + +Entrust.net Secure Server CA +============================ +-----BEGIN CERTIFICATE----- +MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMCVVMxFDASBgNV +BAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5uZXQvQ1BTIGluY29ycC4gYnkg +cmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRl +ZDE6MDgGA1UEAxMxRW50cnVzdC5uZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhv +cml0eTAeFw05OTA1MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIG +A1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBi +eSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1p +dGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQ +aO2f55M28Qpku0f1BBc/I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5 +gXpa0zf3wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OCAdcw +ggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHboIHYpIHVMIHSMQsw +CQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5l +dC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF +bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENl +cnRpZmljYXRpb24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu +dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0MFqBDzIwMTkw +NTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8BdiE1U9s/8KAGv7UISX8+1i0Bow +HQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAaMAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EA +BAwwChsEVjQuMAMCBJAwDQYJKoZIhvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyN +Ewr75Ji174z4xRAN95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9 +n9cd2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI= +-----END CERTIFICATE----- + +Entrust.net Premium 2048 Secure Server CA +========================================= +-----BEGIN CERTIFICATE----- +MIIEXDCCA0SgAwIBAgIEOGO5ZjANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u +ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp +bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV +BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx +NzUwNTFaFw0xOTEyMjQxODIwNTFaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3 +d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl +MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u +ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL +Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr +hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW +nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi +VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo3QwcjARBglghkgBhvhC +AQEEBAMCAAcwHwYDVR0jBBgwFoAUVeSB0RGAvtiJuQijMfmhJAkWuXAwHQYDVR0OBBYEFFXkgdER +gL7YibkIozH5oSQJFrlwMB0GCSqGSIb2fQdBAAQQMA4bCFY1LjA6NC4wAwIEkDANBgkqhkiG9w0B +AQUFAAOCAQEAWUesIYSKF8mciVMeuoCFGsY8Tj6xnLZ8xpJdGGQC49MGCBFhfGPjK50xA3B20qMo +oPS7mmNz7W3lKtvtFKkrxjYR0CvrB4ul2p5cGZ1WEvVUKcgF7bISKo30Axv/55IQh7A6tcOdBTcS +o8f0FbnVpDkWm1M6I5HxqIKiaohowXkCIryqptau37AUX7iH0N18f3v/rxzP5tsHrV7bhZ3QKw0z +2wTR5klAEyt2+z7pnIkPFc4YsIV4IU9rTw76NmfNB/L/CNDi3tm/Kq+4h4YhPATKt5Rof8886ZjX +OP/swNlQ8C5LWK5Gb9Auw2DaclVyvUxFnmG6v4SBkgPR0ml8xQ== +-----END CERTIFICATE----- + +Baltimore CyberTrust Root +========================= +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE +ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li +ZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMC +SUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFs +dGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKME +uyKrmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsB +UnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/C +G9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9 +XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjpr +l3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI +VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB +BQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT929hkTI7gQCvlYpNRh +cL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3WgxjkzSswF07r51XgdIGn9w/xZchMB5 +hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa +Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H +RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp +-----END CERTIFICATE----- + +Equifax Secure Global eBusiness CA +================================== +-----BEGIN CERTIFICATE----- +MIICkDCCAfmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT +RXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1aWZheCBTZWN1cmUgR2xvYmFsIGVCdXNp +bmVzcyBDQS0xMB4XDTk5MDYyMTA0MDAwMFoXDTIwMDYyMTA0MDAwMFowWjELMAkGA1UEBhMCVVMx +HDAaBgNVBAoTE0VxdWlmYXggU2VjdXJlIEluYy4xLTArBgNVBAMTJEVxdWlmYXggU2VjdXJlIEds +b2JhbCBlQnVzaW5lc3MgQ0EtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuucXkAJlsTRV +PEnCUdXfp9E3j9HngXNBUmCbnaEXJnitx7HoJpQytd4zjTov2/KaelpzmKNc6fuKcxtc58O/gGzN +qfTWK8D3+ZmqY6KxRwIP1ORROhI8bIpaVIRw28HFkM9yRcuoWcDNM50/o5brhTMhHD4ePmBudpxn +hcXIw2ECAwEAAaNmMGQwEQYJYIZIAYb4QgEBBAQDAgAHMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j +BBgwFoAUvqigdHJQa0S3ySPY+6j/s1draGwwHQYDVR0OBBYEFL6ooHRyUGtEt8kj2Puo/7NXa2hs +MA0GCSqGSIb3DQEBBAUAA4GBADDiAVGqx+pf2rnQZQ8w1j7aDRRJbpGTJxQx78T3LUX47Me/okEN +I7SS+RkAZ70Br83gcfxaz2TE4JaY0KNA4gGK7ycH8WUBikQtBmV1UsCGECAhX2xrD2yuCRyv8qIY +NMR1pHMc8Y3c7635s3a0kr/clRAevsvIO1qEYBlWlKlV +-----END CERTIFICATE----- + +Equifax Secure eBusiness CA 1 +============================= +-----BEGIN CERTIFICATE----- +MIICgjCCAeugAwIBAgIBBDANBgkqhkiG9w0BAQQFADBTMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT +RXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNzIENB +LTEwHhcNOTkwNjIxMDQwMDAwWhcNMjAwNjIxMDQwMDAwWjBTMQswCQYDVQQGEwJVUzEcMBoGA1UE +ChMTRXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNz +IENBLTEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM4vGbwXt3fek6lfWg0XTzQaDJj0ItlZ +1MRoRvC0NcWFAyDGr0WlIVFFQesWWDYyb+JQYmT5/VGcqiTZ9J2DKocKIdMSODRsjQBuWqDZQu4a +IZX5UkxVWsUPOE9G+m34LjXWHXzr4vCwdYDIqROsvojvOm6rXyo4YgKwEnv+j6YDAgMBAAGjZjBk +MBEGCWCGSAGG+EIBAQQEAwIABzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFEp4MlIR21kW +Nl7fwRQ2QGpHfEyhMB0GA1UdDgQWBBRKeDJSEdtZFjZe38EUNkBqR3xMoTANBgkqhkiG9w0BAQQF +AAOBgQB1W6ibAxHm6VZMzfmpTMANmvPMZWnmJXbMWbfWVMMdzZmsGd20hdXgPfxiIKeES1hl8eL5 +lSE/9dR+WB5Hh1Q+WKG1tfgq73HnvMP2sUlG4tega+VWeponmHxGYhTnyfxuAxJ5gDgdSIKN/Bf+ +KpYrtWKmpj29f5JZzVoqgrI3eQ== +-----END CERTIFICATE----- + +Equifax Secure eBusiness CA 2 +============================= +-----BEGIN CERTIFICATE----- +MIIDIDCCAomgAwIBAgIEN3DPtTANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEXMBUGA1UE +ChMORXF1aWZheCBTZWN1cmUxJjAkBgNVBAsTHUVxdWlmYXggU2VjdXJlIGVCdXNpbmVzcyBDQS0y +MB4XDTk5MDYyMzEyMTQ0NVoXDTE5MDYyMzEyMTQ0NVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoT +DkVxdWlmYXggU2VjdXJlMSYwJAYDVQQLEx1FcXVpZmF4IFNlY3VyZSBlQnVzaW5lc3MgQ0EtMjCB +nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA5Dk5kx5SBhsoNviyoynF7Y6yEb3+6+e0dMKP/wXn +2Z0GvxLIPw7y1tEkshHe0XMJitSxLJgJDR5QRrKDpkWNYmi7hRsgcDKqQM2mll/EcTc/BPO3QSQ5 +BxoeLmFYoBIL5aXfxavqN3HMHMg3OrmXUqesxWoklE6ce8/AatbfIb0CAwEAAaOCAQkwggEFMHAG +A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORXF1aWZheCBTZWN1cmUx +JjAkBgNVBAsTHUVxdWlmYXggU2VjdXJlIGVCdXNpbmVzcyBDQS0yMQ0wCwYDVQQDEwRDUkwxMBoG +A1UdEAQTMBGBDzIwMTkwNjIzMTIxNDQ1WjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUUJ4L6q9e +uSBIplBqy/3YIHqngnYwHQYDVR0OBBYEFFCeC+qvXrkgSKZQasv92CB6p4J2MAwGA1UdEwQFMAMB +Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAAyGgq3oThr1 +jokn4jVYPSm0B482UJW/bsGe68SQsoWou7dC4A8HOd/7npCy0cE+U58DRLB+S/Rv5Hwf5+Kx5Lia +78O9zt4LMjTZ3ijtM2vE1Nc9ElirfQkty3D1E4qUoSek1nDFbZS1yX2doNLGCEnZZpum0/QL3MUm +V+GRMOrN +-----END CERTIFICATE----- + +AddTrust Low-Value Services Root +================================ +-----BEGIN CERTIFICATE----- +MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML +QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRU +cnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMwMTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQsw +CQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBO +ZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEB +AQUAA4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ulCDtbKRY6 +54eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6ntGO0/7Gcrjyvd7ZWxbWr +oulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyldI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1 +Zmne3yzxbrww2ywkEtvrNTVokMsAsJchPXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJui +GMx1I4S+6+JNM3GOGvDC+Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8w +HQYDVR0OBBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8EBTAD +AQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBlMQswCQYDVQQGEwJT +RTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEw +HwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxt +ZBsfzQ3duQH6lmM0MkhHma6X7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0Ph +iVYrqW9yTkkz43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY +eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJlpz/+0WatC7xr +mYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOAWiFeIc9TVPC6b4nbqKqVz4vj +ccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk= +-----END CERTIFICATE----- + +AddTrust External Root +====================== +-----BEGIN CERTIFICATE----- +MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChML +QWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYD +VQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEw +NDgzOFowbzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRU +cnVzdCBFeHRlcm5hbCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0Eg +Um9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvtH7xsD821 ++iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9uMq/NzgtHj6RQa1wVsfw +Tz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzXmk6vBbOmcZSccbNQYArHE504B4YCqOmo +aSYYkKtMsE8jqzpPhNjfzp/haW+710LXa0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy +2xSoRcRdKn23tNbE7qzNE0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv7 +7+ldU9U0WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYDVR0P +BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0Jvf6xCZU7wO94CTL +VBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRk +VHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENB +IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZl +j7DYd7usQWxHYINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 +6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvCNr4TDea9Y355 +e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u +G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= +-----END CERTIFICATE----- + +AddTrust Public Services Root +============================= +-----BEGIN CERTIFICATE----- +MIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEUMBIGA1UEChML +QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSAwHgYDVQQDExdBZGRU +cnVzdCBQdWJsaWMgQ0EgUm9vdDAeFw0wMDA1MzAxMDQxNTBaFw0yMDA1MzAxMDQxNTBaMGQxCzAJ +BgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5l +dHdvcmsxIDAeBgNVBAMTF0FkZFRydXN0IFB1YmxpYyBDQSBSb290MIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEA6Rowj4OIFMEg2Dybjxt+A3S72mnTRqX4jsIMEZBRpS9mVEBV6tsfSlbu +nyNu9DnLoblv8n75XYcmYZ4c+OLspoH4IcUkzBEMP9smcnrHAZcHF/nXGCwwfQ56HmIexkvA/X1i +d9NEHif2P0tEs7c42TkfYNVRknMDtABp4/MUTu7R3AnPdzRGULD4EfL+OHn3Bzn+UZKXC1sIXzSG +Aa2Il+tmzV7R/9x98oTaunet3IAIx6eH1lWfl2royBFkuucZKT8Rs3iQhCBSWxHveNCD9tVIkNAw +HM+A+WD+eeSI8t0A65RF62WUaUC6wNW0uLp9BBGo6zEFlpROWCGOn9Bg/QIDAQABo4HRMIHOMB0G +A1UdDgQWBBSBPjfYkrAfd59ctKtzquf2NGAv+jALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB +/zCBjgYDVR0jBIGGMIGDgBSBPjfYkrAfd59ctKtzquf2NGAv+qFopGYwZDELMAkGA1UEBhMCU0Ux +FDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29yazEgMB4G +A1UEAxMXQWRkVHJ1c3QgUHVibGljIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBAAP3FUr4 +JNojVhaTdt02KLmuG7jD8WS6IBh4lSknVwW8fCr0uVFV2ocC3g8WFzH4qnkuCRO7r7IgGRLlk/lL ++YPoRNWyQSW/iHVv/xD8SlTQX/D67zZzfRs2RcYhbbQVuE7PnFylPVoAjgbjPGsye/Kf8Lb93/Ao +GEjwxrzQvzSAlsJKsW2Ox5BF3i9nrEUEo3rcVZLJR2bYGozH7ZxOmuASu7VqTITh4SINhwBk/ox9 +Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQmXiLsks3/QppEIW1cxeMiHV9H +EufOX1362KqxMy3ZdvJOOjMMK7MtkAY= +-----END CERTIFICATE----- + +AddTrust Qualified Certificates Root +==================================== +-----BEGIN CERTIFICATE----- +MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEUMBIGA1UEChML +QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSMwIQYDVQQDExpBZGRU +cnVzdCBRdWFsaWZpZWQgQ0EgUm9vdDAeFw0wMDA1MzAxMDQ0NTBaFw0yMDA1MzAxMDQ0NTBaMGcx +CzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQ +IE5ldHdvcmsxIzAhBgNVBAMTGkFkZFRydXN0IFF1YWxpZmllZCBDQSBSb290MIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5B6a/twJWoekn0e+EV+vhDTbYjx5eLfpMLXsDBwqxBb/4Oxx +64r1EW7tTw2R0hIYLUkVAcKkIhPHEWT/IhKauY5cLwjPcWqzZwFZ8V1G87B4pfYOQnrjfxvM0PC3 +KP0q6p6zsLkEqv32x7SxuCqg+1jxGaBvcCV+PmlKfw8i2O+tCBGaKZnhqkRFmhJePp1tUvznoD1o +L/BLcHwTOK28FSXx1s6rosAx1i+f4P8UWfyEk9mHfExUE+uf0S0R+Bg6Ot4l2ffTQO2kBhLEO+GR +wVY18BTcZTYJbqukB8c10cIDMzZbdSZtQvESa0NvS3GU+jQd7RNuyoB/mC9suWXY6QIDAQABo4HU +MIHRMB0GA1UdDgQWBBQ5lYtii1zJ1IC6WA+XPxUIQ8yYpzALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/ +BAUwAwEB/zCBkQYDVR0jBIGJMIGGgBQ5lYtii1zJ1IC6WA+XPxUIQ8yYp6FrpGkwZzELMAkGA1UE +BhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29y +azEjMCEGA1UEAxMaQWRkVHJ1c3QgUXVhbGlmaWVkIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQAD +ggEBABmrder4i2VhlRO6aQTvhsoToMeqT2QbPxj2qC0sVY8FtzDqQmodwCVRLae/DLPt7wh/bDxG +GuoYQ992zPlmhpwsaPXpF/gxsxjE1kh9I0xowX67ARRvxdlu3rsEQmr49lx95dr6h+sNNVJn0J6X +dgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3P6CxB9bpT9ze +RXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9YiQBCYz95OdBEsIJuQRno3eDB +iFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5noxqE= +-----END CERTIFICATE----- + +Entrust Root Certification Authority +==================================== +-----BEGIN CERTIFICATE----- +MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV +BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw +b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG +A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0 +MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu +MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu +Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v +dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz +A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww +Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68 +j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN +rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw +DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1 +MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH +hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA +A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM +Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa +v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS +W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0 +tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8 +-----END CERTIFICATE----- + +RSA Security 2048 v3 +==================== +-----BEGIN CERTIFICATE----- +MIIDYTCCAkmgAwIBAgIQCgEBAQAAAnwAAAAKAAAAAjANBgkqhkiG9w0BAQUFADA6MRkwFwYDVQQK +ExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJpdHkgMjA0OCBWMzAeFw0wMTAy +MjIyMDM5MjNaFw0yNjAyMjIyMDM5MjNaMDoxGTAXBgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAb +BgNVBAsTFFJTQSBTZWN1cml0eSAyMDQ4IFYzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEAt49VcdKA3XtpeafwGFAyPGJn9gqVB93mG/Oe2dJBVGutn3y+Gc37RqtBaB4Y6lXIL5F4iSj7 +Jylg/9+PjDvJSZu1pJTOAeo+tWN7fyb9Gd3AIb2E0S1PRsNO3Ng3OTsor8udGuorryGlwSMiuLgb +WhOHV4PR8CDn6E8jQrAApX2J6elhc5SYcSa8LWrg903w8bYqODGBDSnhAMFRD0xS+ARaqn1y07iH +KrtjEAMqs6FPDVpeRrc9DvV07Jmf+T0kgYim3WBU6JU2PcYJk5qjEoAAVZkZR73QpXzDuvsf9/UP ++Ky5tfQ3mBMY3oVbtwyCO4dvlTlYMNpuAWgXIszACwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/ +MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQHw1EwpKrpRa41JPr/JCwz0LGdjDAdBgNVHQ4E +FgQUB8NRMKSq6UWuNST6/yQsM9CxnYwwDQYJKoZIhvcNAQEFBQADggEBAF8+hnZuuDU8TjYcHnmY +v/3VEhF5Ug7uMYm83X/50cYVIeiKAVQNOvtUudZj1LGqlk2iQk3UUx+LEN5/Zb5gEydxiKRz44Rj +0aRV4VCT5hsOedBnvEbIvz8XDZXmxpBp3ue0L96VfdASPz0+f00/FGj1EVDVwfSQpQgdMWD/YIwj +VAqv/qFuxdF6Kmh4zx6CCiC0H63lhbJqaHVOrSU3lIW+vaHU6rcMSzyd6BIA8F+sDeGscGNz9395 +nzIlQnQFgCi/vcEkllgVsRch6YlL2weIZ/QVrXA+L02FO8K32/6YaCOJ4XQP3vTFhGMpG8zLB8kA +pKnXwiJPZ9d37CAFYd4= +-----END CERTIFICATE----- + +GeoTrust Global CA +================== +-----BEGIN CERTIFICATE----- +MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK +Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw +MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j +LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo +BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet +8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc +T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU +vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD +AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk +DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q +zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4 +d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2 +mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p +XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm +Mw== +-----END CERTIFICATE----- + +GeoTrust Global CA 2 +==================== +-----BEGIN CERTIFICATE----- +MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN +R2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwHhcNMDQwMzA0MDUw +MDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j +LjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQDvPE1APRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6CsgncbzYEbYwbLVjDHZ3CB5JIG/ +NTL8Y2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5SJBri1WeR0IIQ13hLTytCOb1k +LUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHqZ38MN5aL5mkWRxHCJ1kDs6ZgwiFA +Vvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7S4wMcoKK+xfNAGw6EzywhIdLFnopsk/b +HdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe2HSPqht/XvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFHE4NvICMVNHK266ZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNH +K266ZUapEBVYIAUJMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6tdEPx7 +srJerJsOflN4WT5CBP51o62sgU7XAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv/NgdRN3ggX+d6Yvh +ZJFiCzkIjKx0nVnZellSlxG5FntvRdOW2TF9AjYPnDtuzywNA0ZF66D0f0hExghAzN4bcLUprbqL +OzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkC +x1YAzUm5s2x7UwQa4qjJqhIFI8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqF +H4z1Ir+rzoPz4iIprn2DQKi6bA== +-----END CERTIFICATE----- + +GeoTrust Universal CA +===================== +-----BEGIN CERTIFICATE----- +MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN +R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1 +MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IElu +Yy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP +ADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9t +JPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0e +RXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs +7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d +8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7V +qnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3Cga +Rr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hB +Z3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZu +KGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08 +ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0 +XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIB +hjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc +aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2 +qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvL +oJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsK +xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxF +KyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2 +DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslK +xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU +p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI +P/rmMuGNG2+k5o7Y+SlIis5z/iw= +-----END CERTIFICATE----- + +GeoTrust Universal CA 2 +======================= +-----BEGIN CERTIFICATE----- +MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN +R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0 +MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg +SW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUA +A4ICDwAwggIKAoICAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0 +DE81WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUGFF+3Qs17 +j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8Q +JqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//a +QMJS9/7jOvdqdzXQ2o3rXhhqMcceujwbKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2 +WP0+GfPtDCapkzj4T8FdIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP +20gaXT73y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRthAAn +ZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgC +SqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4zsslG +8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2 ++/CfXGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8E +BAMCAYYwDQYJKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z +dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ +4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYwx7WBr+ +mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSoag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpq +A1Ihn0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpg +Y+RdM4kX2TGq2tbzGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiP +pm8m1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJVOCiNUW7d +FGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUp +gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm +X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS +-----END CERTIFICATE----- + +America Online Root Certification Authority 1 +============================================= +-----BEGIN CERTIFICATE----- +MIIDpDCCAoygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT +QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eSAxMB4XDTAyMDUyODA2MDAwMFoXDTM3MTExOTIwNDMwMFowYzELMAkG +A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg +T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAKgv6KRpBgNHw+kqmP8ZonCaxlCyfqXfaE0bfA+2l2h9LaaLl+lkhsmj76CG +v2BlnEtUiMJIxUo5vxTjWVXlGbR0yLQFOVwWpeKVBeASrlmLojNoWBym1BW32J/X3HGrfpq/m44z +DyL9Hy7nBzbvYjnF3cu6JRQj3gzGPTzOggjmZj7aUTsWOqMFf6Dch9Wc/HKpoH145LcxVR5lu9Rh +sCFg7RAycsWSJR74kEoYeEfffjA3PlAb2xzTa5qGUwew76wGePiEmf4hjUyAtgyC9mZweRrTT6PP +8c9GsEsPPt2IYriMqQkoO3rHl+Ee5fSfwMCuJKDIodkP1nsmgmkyPacCAwEAAaNjMGEwDwYDVR0T +AQH/BAUwAwEB/zAdBgNVHQ4EFgQUAK3Zo/Z59m50qX8zPYEX10zPM94wHwYDVR0jBBgwFoAUAK3Z +o/Z59m50qX8zPYEX10zPM94wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBBQUAA4IBAQB8itEf +GDeC4Liwo+1WlchiYZwFos3CYiZhzRAW18y0ZTTQEYqtqKkFZu90821fnZmv9ov761KyBZiibyrF +VL0lvV+uyIbqRizBs73B6UlwGBaXCBOMIOAbLjpHyx7kADCVW/RFo8AasAFOq73AI25jP4BKxQft +3OJvx8Fi8eNy1gTIdGcL+oiroQHIb/AUr9KZzVGTfu0uOMe9zkZQPXLjeSWdm4grECDdpbgyn43g +Kd8hdIaC2y+CMMbHNYaz+ZZfRtsMRf3zUMNvxsNIrUam4SdHCh0Om7bCd39j8uB9Gr784N/Xx6ds +sPmuujz9dLQR6FgNgLzTqIA6me11zEZ7 +-----END CERTIFICATE----- + +America Online Root Certification Authority 2 +============================================= +-----BEGIN CERTIFICATE----- +MIIFpDCCA4ygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT +QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eSAyMB4XDTAyMDUyODA2MDAwMFoXDTM3MDkyOTE0MDgwMFowYzELMAkG +A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg +T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIwDQYJKoZIhvcNAQEBBQAD +ggIPADCCAgoCggIBAMxBRR3pPU0Q9oyxQcngXssNt79Hc9PwVU3dxgz6sWYFas14tNwC206B89en +fHG8dWOgXeMHDEjsJcQDIPT/DjsS/5uN4cbVG7RtIuOx238hZK+GvFciKtZHgVdEglZTvYYUAQv8 +f3SkWq7xuhG1m1hagLQ3eAkzfDJHA1zEpYNI9FdWboE2JxhP7JsowtS013wMPgwr38oE18aO6lhO +qKSlGBxsRZijQdEt0sdtjRnxrXm3gT+9BoInLRBYBbV4Bbkv2wxrkJB+FFk4u5QkE+XRnRTf04JN +RvCAOVIyD+OEsnpD8l7eXz8d3eOyG6ChKiMDbi4BFYdcpnV1x5dhvt6G3NRI270qv0pV2uh9UPu0 +gBe4lL8BPeraunzgWGcXuVjgiIZGZ2ydEEdYMtA1fHkqkKJaEBEjNa0vzORKW6fIJ/KD3l67Xnfn +6KVuY8INXWHQjNJsWiEOyiijzirplcdIz5ZvHZIlyMbGwcEMBawmxNJ10uEqZ8A9W6Wa6897Gqid +FEXlD6CaZd4vKL3Ob5Rmg0gp2OpljK+T2WSfVVcmv2/LNzGZo2C7HK2JNDJiuEMhBnIMoVxtRsX6 +Kc8w3onccVvdtjc+31D1uAclJuW8tf48ArO3+L5DwYcRlJ4jbBeKuIonDFRH8KmzwICMoCfrHRnj +B453cMor9H124HhnAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFE1FwWg4u3Op +aaEg5+31IqEjFNeeMB8GA1UdIwQYMBaAFE1FwWg4u3OpaaEg5+31IqEjFNeeMA4GA1UdDwEB/wQE +AwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAZ2sGuV9FOypLM7PmG2tZTiLMubekJcmnxPBUlgtk87FY +T15R/LKXeydlwuXK5w0MJXti4/qftIe3RUavg6WXSIylvfEWK5t2LHo1YGwRgJfMqZJS5ivmae2p ++DYtLHe/YUjRYwu5W1LtGLBDQiKmsXeu3mnFzcccobGlHBD7GL4acN3Bkku+KVqdPzW+5X1R+FXg +JXUjhx5c3LqdsKyzadsXg8n33gy8CNyRnqjQ1xU3c6U1uPx+xURABsPr+CKAXEfOAuMRn0T//Zoy +zH1kUQ7rVyZ2OuMeIjzCpjbdGe+n/BLzJsBZMYVMnNjP36TMzCmT/5RtdlwTCJfy7aULTd3oyWgO +ZtMADjMSW7yV5TKQqLPGbIOtd+6Lfn6xqavT4fG2wLHqiMDn05DpKJKUe2h7lyoKZy2FAjgQ5ANh +1NolNscIWC2hp1GvMApJ9aZphwctREZ2jirlmjvXGKL8nDgQzMY70rUXOm/9riW99XJZZLF0Kjhf +GEzfz3EEWjbUvy+ZnOjZurGV5gJLIaFb1cFPj65pbVPbAZO1XB4Y3WRayhgoPmMEEf0cjQAPuDff +Z4qdZqkCapH/E8ovXYO8h5Ns3CRRFgQlZvqz2cK6Kb6aSDiCmfS/O0oxGfm/jiEzFMpPVF/7zvuP +cX/9XhmgD0uRuMRUvAawRY8mkaKO/qk= +-----END CERTIFICATE----- + +Visa eCommerce Root +=================== +-----BEGIN CERTIFICATE----- +MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBrMQswCQYDVQQG +EwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2Ug +QXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2 +WhcNMjIwNjI0MDAxNjEyWjBrMQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMm +VmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv +bW1lcmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h2mCxlCfL +F9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4ElpF7sDPwsRROEW+1QK8b +RaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdVZqW1LS7YgFmypw23RuwhY/81q6UCzyr0 +TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI +/k4+oKsGGelT84ATB+0tvz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzs +GHxBvfaLdXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG +MB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUFAAOCAQEAX/FBfXxc +CLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcRzCSs00Rsca4BIGsDoo8Ytyk6feUW +YFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pz +zkWKsKZJ/0x9nXGIxHYdkFsd7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBu +YQa7FkKMcPcw++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt +398znM/jra6O1I7mT1GvFpLgXPYHDw== +-----END CERTIFICATE----- + +Certum Root CA +============== +-----BEGIN CERTIFICATE----- +MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQK +ExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTAeFw0wMjA2MTExMDQ2Mzla +Fw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8u +by4xEjAQBgNVBAMTCUNlcnR1bSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6x +wS7TT3zNJc4YPk/EjG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdL +kKWoePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GIULdtlkIJ +89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapuOb7kky/ZR6By6/qmW6/K +Uz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUgAKpoC6EahQGcxEZjgoi2IrHu/qpGWX7P +NSzVttpd90gzFFS269lvzs2I1qsb2pY7HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkq +hkiG9w0BAQUFAAOCAQEAuI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+ +GXYkHAQaTOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTgxSvg +GrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1qCjqTE5s7FCMTY5w/ +0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5xO/fIR/RpbxXyEV6DHpx8Uq79AtoS +qFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs6GAqm4VKQPNriiTsBhYscw== +-----END CERTIFICATE----- + +Comodo AAA Services root +======================== +-----BEGIN CERTIFICATE----- +MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS +R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg +TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw +MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl +c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV +BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG +C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs +i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW +Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH +Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK +Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f +BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl +cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz +LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm +7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz +Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z +8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C +12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg== +-----END CERTIFICATE----- + +Comodo Secure Services root +=========================== +-----BEGIN CERTIFICATE----- +MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS +R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg +TGltaXRlZDEkMCIGA1UEAwwbU2VjdXJlIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAw +MDAwMFoXDTI4MTIzMTIzNTk1OVowfjELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFu +Y2hlc3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxJDAi +BgNVBAMMG1NlY3VyZSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBAMBxM4KK0HDrc4eCQNUd5MvJDkKQ+d40uaG6EfQlhfPMcm3ye5drswfxdySRXyWP +9nQ95IDC+DwN879A6vfIUtFyb+/Iq0G4bi4XKpVpDM3SHpR7LZQdqnXXs5jLrLxkU0C8j6ysNstc +rbvd4JQX7NFc0L/vpZXJkMWwrPsbQ996CF23uPJAGysnnlDOXmWCiIxe004MeuoIkbY2qitC++rC +oznl2yY4rYsK7hljxxwk3wN42ubqwUcaCwtGCd0C/N7Lh1/XMGNooa7cMqG6vv5Eq2i2pRcV/b3V +p6ea5EQz6YiO/O1R65NxTq0B50SOqy3LqP4BSUjwwN3HaNiS/j0CAwEAAaOBxzCBxDAdBgNVHQ4E +FgQUPNiTiMLAggnMAZkGkyDpnnAJY08wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w +gYEGA1UdHwR6MHgwO6A5oDeGNWh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL1NlY3VyZUNlcnRpZmlj +YXRlU2VydmljZXMuY3JsMDmgN6A1hjNodHRwOi8vY3JsLmNvbW9kby5uZXQvU2VjdXJlQ2VydGlm +aWNhdGVTZXJ2aWNlcy5jcmwwDQYJKoZIhvcNAQEFBQADggEBAIcBbSMdflsXfcFhMs+P5/OKlFlm +4J4oqF7Tt/Q05qo5spcWxYJvMqTpjOev/e/C6LlLqqP05tqNZSH7uoDrJiiFGv45jN5bBAS0VPmj +Z55B+glSzAVIqMk/IQQezkhr/IXownuvf7fM+F86/TXGDe+X3EyrEeFryzHRbPtIgKvcnDe4IRRL +DXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJaD61JlfutuC23bkpgHl9j6Pw +pCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDlizeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1H +RR3B7Hzs/Sk= +-----END CERTIFICATE----- + +Comodo Trusted Services root +============================ +-----BEGIN CERTIFICATE----- +MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS +R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg +TGltaXRlZDElMCMGA1UEAwwcVHJ1c3RlZCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0wNDAxMDEw +MDAwMDBaFw0yODEyMzEyMzU5NTlaMH8xCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1h +bmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVkMSUw +IwYDVQQDDBxUcnVzdGVkIENlcnRpZmljYXRlIFNlcnZpY2VzMIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEA33FvNlhTWvI2VFeAxHQIIO0Yfyod5jWaHiWsnOWWfnJSoBVC21ndZHoa0Lh7 +3TkVvFVIxO06AOoxEbrycXQaZ7jPM8yoMa+j49d/vzMtTGo87IvDktJTdyR0nAducPy9C1t2ul/y +/9c3S0pgePfw+spwtOpZqqPOSC+pw7ILfhdyFgymBwwbOM/JYrc/oJOlh0Hyt3BAd9i+FHzjqMB6 +juljatEPmsbS9Is6FARW1O24zG71++IsWL1/T2sr92AkWCTOJu80kTrV44HQsvAEAtdbtz6SrGsS +ivnkBbA7kUlcsutT6vifR4buv5XAwAaf0lteERv0xwQ1KdJVXOTt6wIDAQABo4HJMIHGMB0GA1Ud +DgQWBBTFe1i97doladL3WRaoszLAeydb9DAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB +/zCBgwYDVR0fBHwwejA8oDqgOIY2aHR0cDovL2NybC5jb21vZG9jYS5jb20vVHJ1c3RlZENlcnRp +ZmljYXRlU2VydmljZXMuY3JsMDqgOKA2hjRodHRwOi8vY3JsLmNvbW9kby5uZXQvVHJ1c3RlZENl +cnRpZmljYXRlU2VydmljZXMuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQDIk4E7ibSvuIQSTI3S8Ntw +uleGFTQQuS9/HrCoiWChisJ3DFBKmwCL2Iv0QeLQg4pKHBQGsKNoBXAxMKdTmw7pSqBYaWcOrp32 +pSxBvzwGa+RZzG0Q8ZZvH9/0BAKkn0U+yNj6NkZEUD+Cl5EfKNsYEYwq5GWDVxISjBc/lDb+XbDA +BHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+xqFx7D+gIIxmOom0jtTYsU0l +R+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/AtyjcndBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O +9y5Xt5hwXsjEeLBi +-----END CERTIFICATE----- + +QuoVadis Root CA +================ +-----BEGIN CERTIFICATE----- +MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE +ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 +eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAz +MTkxODMzMzNaFw0yMTAzMTcxODMzMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRp +cyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQD +EyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Ypli4kVEAkOPcahdxYTMuk +J0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2RgbaIr1VxqYuvXtdj182d6UajtL +F8HVj71lODqV0D1VNk7feVcxKh7YWWVJWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeL +YzcS19Dsw3sgQUSj7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWen +AScOospUxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4w +PQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVvdmFkaXNvZmZzaG9y +ZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREwggENMIIBCQYJKwYBBAG+WAABMIH7 +MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmlj +YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs +ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh +Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYIKwYBBQUHAgEW +Fmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3TKbkGGew5Oanwl4Rqy+/fMIGu +BgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkw +FwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6 +tlCLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSkfnIYj9lo +fFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf87C9TqnN7Az10buYWnuul +LsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1RcHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2x +gI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi +5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi +5nrQNiOKSnQ2+Q== +-----END CERTIFICATE----- + +QuoVadis Root CA 2 +================== +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +QuoVadis Root CA 3 +================== +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +Security Communication Root CA +============================== +-----BEGIN CERTIFICATE----- +MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP +U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw +HhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP +U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw +8yl89f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJDKaVv0uM +DPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9Ms+k2Y7CI9eNqPPYJayX +5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/NQV3Is00qVUarH9oe4kA92819uZKAnDfd +DJZkndwi92SL32HeFZRSFaB9UslLqCHJxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2 +JChzAgMBAAGjPzA9MB0GA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYw +DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vGkl3g +0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfrUj94nK9NrvjVT8+a +mCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5Bw+SUEmK3TGXX8npN6o7WWWXlDLJ +s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ +6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi +FL39vmwLAw== +-----END CERTIFICATE----- + +Sonera Class 2 Root CA +====================== +-----BEGIN CERTIFICATE----- +MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG +U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw +NjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh +IENsYXNzMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3 +/Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybT +dXnt5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVToMG +f+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2EjvOr7nQKV0ba5cTppCD8P +tOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz3BjotJPqdURrBGAgcVeH +nfO+oJAjPYok4doh28MCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITT +XjwwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt +0jSv9zilzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/3DEI +cbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvDFNr450kkkdAdavph +Oe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSx +EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH +llpwrN9M +-----END CERTIFICATE----- + +Staat der Nederlanden Root CA +============================= +-----BEGIN CERTIFICATE----- +MIIDujCCAqKgAwIBAgIEAJiWijANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJOTDEeMBwGA1UE +ChMVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSYwJAYDVQQDEx1TdGFhdCBkZXIgTmVkZXJsYW5kZW4g +Um9vdCBDQTAeFw0wMjEyMTcwOTIzNDlaFw0xNTEyMTYwOTE1MzhaMFUxCzAJBgNVBAYTAk5MMR4w +HAYDVQQKExVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xJjAkBgNVBAMTHVN0YWF0IGRlciBOZWRlcmxh +bmRlbiBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmNK1URF6gaYUmHFt +vsznExvWJw56s2oYHLZhWtVhCb/ekBPHZ+7d89rFDBKeNVU+LCeIQGv33N0iYfXCxw719tV2U02P +jLwYdjeFnejKScfST5gTCaI+Ioicf9byEGW07l8Y1Rfj+MX94p2i71MOhXeiD+EwR+4A5zN9RGca +C1Hoi6CeUJhoNFIfLm0B8mBF8jHrqTFoKbt6QZ7GGX+UtFE5A3+y3qcym7RHjm+0Sq7lr7HcsBth +vJly3uSJt3omXdozSVtSnA71iq3DuD3oBmrC1SoLbHuEvVYFy4ZlkuxEK7COudxwC0barbxjiDn6 +22r+I/q85Ej0ZytqERAhSQIDAQABo4GRMIGOMAwGA1UdEwQFMAMBAf8wTwYDVR0gBEgwRjBEBgRV +HSAAMDwwOgYIKwYBBQUHAgEWLmh0dHA6Ly93d3cucGtpb3ZlcmhlaWQubmwvcG9saWNpZXMvcm9v +dC1wb2xpY3kwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSofeu8Y6R0E3QA7Jbg0zTBLL9s+DAN +BgkqhkiG9w0BAQUFAAOCAQEABYSHVXQ2YcG70dTGFagTtJ+k/rvuFbQvBgwp8qiSpGEN/KtcCFtR +EytNwiphyPgJWPwtArI5fZlmgb9uXJVFIGzmeafR2Bwp/MIgJ1HI8XxdNGdphREwxgDS1/PTfLbw +MVcoEoJz6TMvplW0C5GUR5z6u3pCMuiufi3IvKwUv9kP2Vv8wfl6leF9fpb8cbDCTMjfRTTJzg3y +nGQI0DvDKcWy7ZAEwbEpkcUwb8GpcjPM/l0WFywRaed+/sWDCN+83CI6LiBpIzlWYGeQiy52OfsR +iJf2fL1LuCAWZwWN4jvBcj+UlTfHXbme2JOhF4//DGYVwSR8MnwDHTuhWEUykw== +-----END CERTIFICATE----- + +TDC Internet Root CA +==================== +-----BEGIN CERTIFICATE----- +MIIEKzCCAxOgAwIBAgIEOsylTDANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJESzEVMBMGA1UE +ChMMVERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTAeFw0wMTA0MDUx +NjMzMTdaFw0yMTA0MDUxNzAzMTdaMEMxCzAJBgNVBAYTAkRLMRUwEwYDVQQKEwxUREMgSW50ZXJu +ZXQxHTAbBgNVBAsTFFREQyBJbnRlcm5ldCBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAxLhAvJHVYx/XmaCLDEAedLdInUaMArLgJF/wGROnN4NrXceO+YQwzho7+vvOi20j +xsNuZp+Jpd/gQlBn+h9sHvTQBda/ytZO5GhgbEaqHF1j4QeGDmUApy6mcca8uYGoOn0a0vnRrEvL +znWv3Hv6gXPU/Lq9QYjUdLP5Xjg6PEOo0pVOd20TDJ2PeAG3WiAfAzc14izbSysseLlJ28TQx5yc +5IogCSEWVmb/Bexb4/DPqyQkXsN/cHoSxNK1EKC2IeGNeGlVRGn1ypYcNIUXJXfi9i8nmHj9eQY6 +otZaQ8H/7AQ77hPv01ha/5Lr7K7a8jcDR0G2l8ktCkEiu7vmpwIDAQABo4IBJTCCASEwEQYJYIZI +AYb4QgEBBAQDAgAHMGUGA1UdHwReMFwwWqBYoFakVDBSMQswCQYDVQQGEwJESzEVMBMGA1UEChMM +VERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTENMAsGA1UEAxMEQ1JM +MTArBgNVHRAEJDAigA8yMDAxMDQwNTE2MzMxN1qBDzIwMjEwNDA1MTcwMzE3WjALBgNVHQ8EBAMC +AQYwHwYDVR0jBBgwFoAUbGQBx/2FbazI2p5QCIUItTxWqFAwHQYDVR0OBBYEFGxkAcf9hW2syNqe +UAiFCLU8VqhQMAwGA1UdEwQFMAMBAf8wHQYJKoZIhvZ9B0EABBAwDhsIVjUuMDo0LjADAgSQMA0G +CSqGSIb3DQEBBQUAA4IBAQBOQ8zR3R0QGwZ/t6T609lN+yOfI1Rb5osvBCiLtSdtiaHsmGnc540m +gwV5dOy0uaOXwTUA/RXaOYE6lTGQ3pfphqiZdwzlWqCE/xIWrG64jcN7ksKsLtB9KOy282A4aW8+ +2ARVPp7MVdK6/rtHBNcK2RYKNCn1WBPVT8+PVkuzHu7TmHnaCB4Mb7j4Fifvwm899qNLPg7kbWzb +O0ESm70NRyN/PErQr8Cv9u8btRXE64PECV90i9kR+8JWsTz4cMo0jUNAE4z9mQNUecYu6oah9jrU +Cbz0vGbMPVjQV0kK7iXiQe4T+Zs4NNEA9X7nlB38aQNiuJkFBT1reBK9sG9l +-----END CERTIFICATE----- + +UTN DATACorp SGC Root CA +======================== +-----BEGIN CERTIFICATE----- +MIIEXjCCA0agAwIBAgIQRL4Mi1AAIbQR0ypoBqmtaTANBgkqhkiG9w0BAQUFADCBkzELMAkGA1UE +BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl +IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZ +BgNVBAMTElVUTiAtIERBVEFDb3JwIFNHQzAeFw05OTA2MjQxODU3MjFaFw0xOTA2MjQxOTA2MzBa +MIGTMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4w +HAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRy +dXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dDMIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEA3+5YEKIrblXEjr8uRgnn4AgPLit6E5Qbvfa2gI5lBZMAHryv4g+OGQ0SR+ys +raP6LnD43m77VkIVni5c7yPeIbkFdicZD0/Ww5y0vpQZY/KmEQrrU0icvvIpOxboGqBMpsn0GFlo +wHDyUwDAXlCCpVZvNvlK4ESGoE1O1kduSUrLZ9emxAW5jh70/P/N5zbgnAVssjMiFdC04MwXwLLA +9P4yPykqlXvY8qdOD1R8oQ2AswkDwf9c3V6aPryuvEeKaq5xyh+xKrhfQgUL7EYw0XILyulWbfXv +33i+Ybqypa4ETLyorGkVl73v67SMvzX41MPRKA5cOp9wGDMgd8SirwIDAQABo4GrMIGoMAsGA1Ud +DwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRTMtGzz3/64PGgXYVOktKeRR20TzA9 +BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLURBVEFDb3JwU0dD +LmNybDAqBgNVHSUEIzAhBggrBgEFBQcDAQYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMA0GCSqGSIb3 +DQEBBQUAA4IBAQAnNZcAiosovcYzMB4p/OL31ZjUQLtgyr+rFywJNn9Q+kHcrpY6CiM+iVnJowft +Gzet/Hy+UUla3joKVAgWRcKZsYfNjGjgaQPpxE6YsjuMFrMOoAyYUJuTqXAJyCyjj98C5OBxOvG0 +I3KgqgHf35g+FFCgMSa9KOlaMCZ1+XtgHI3zzVAmbQQnmt/VDUVHKWss5nbZqSl9Mt3JNjy9rjXx +EZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwP +DPafepE39peC4N1xaf92P2BNPM/3mfnGV/TJVTl4uix5yaaIK/QI +-----END CERTIFICATE----- + +UTN USERFirst Hardware Root CA +============================== +-----BEGIN CERTIFICATE----- +MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCBlzELMAkGA1UE +BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl +IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAd +BgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgx +OTIyWjCBlzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0 +eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVz +ZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlI +wrthdBKWHTxqctU8EGc6Oe0rE81m65UJM6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFd +tqdt++BxF2uiiPsA3/4aMXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8 +i4fDidNdoI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqIDsjf +Pe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9KsyoUhbAgMBAAGjgbkw +gbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFKFyXyYbKJhDlV0HN9WF +lp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNF +UkZpcnN0LUhhcmR3YXJlLmNybDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUF +BwMGBggrBgEFBQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM +//bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28GpgoiskliCE7/yMgUsogW +XecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gECJChicsZUN/KHAG8HQQZexB2 +lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kn +iCrVWFCVH/A7HFe7fRQ5YiuayZSSKqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67 +nfhmqA== +-----END CERTIFICATE----- + +Camerfirma Chambers of Commerce Root +==================================== +-----BEGIN CERTIFICATE----- +MIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe +QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i +ZXJzaWduLm9yZzEiMCAGA1UEAxMZQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdDAeFw0wMzA5MzAx +NjEzNDNaFw0zNzA5MzAxNjEzNDRaMH8xCzAJBgNVBAYTAkVVMScwJQYDVQQKEx5BQyBDYW1lcmZp +cm1hIFNBIENJRiBBODI3NDMyODcxIzAhBgNVBAsTGmh0dHA6Ly93d3cuY2hhbWJlcnNpZ24ub3Jn +MSIwIAYDVQQDExlDaGFtYmVycyBvZiBDb21tZXJjZSBSb290MIIBIDANBgkqhkiG9w0BAQEFAAOC +AQ0AMIIBCAKCAQEAtzZV5aVdGDDg2olUkfzIx1L4L1DZ77F1c2VHfRtbunXF/KGIJPov7coISjlU +xFF6tdpg6jg8gbLL8bvZkSM/SAFwdakFKq0fcfPJVD0dBmpAPrMMhe5cG3nCYsS4No41XQEMIwRH +NaqbYE6gZj3LJgqcQKH0XZi/caulAGgq7YN6D6IUtdQis4CwPAxaUWktWBiP7Zme8a7ileb2R6jW +DA+wWFjbw2Y3npuRVDM30pQcakjJyfKl2qUMI/cjDpwyVV5xnIQFUZot/eZOKjRa3spAN2cMVCFV +d9oKDMyXroDclDZK9D7ONhMeU+SsTjoF7Nuucpw4i9A5O4kKPnf+dQIBA6OCAUQwggFAMBIGA1Ud +EwEB/wQIMAYBAf8CAQwwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5jaGFtYmVyc2lnbi5v +cmcvY2hhbWJlcnNyb290LmNybDAdBgNVHQ4EFgQU45T1sU3p26EpW1eLTXYGduHRooowDgYDVR0P +AQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzAnBgNVHREEIDAegRxjaGFtYmVyc3Jvb3RAY2hh +bWJlcnNpZ24ub3JnMCcGA1UdEgQgMB6BHGNoYW1iZXJzcm9vdEBjaGFtYmVyc2lnbi5vcmcwWAYD +VR0gBFEwTzBNBgsrBgEEAYGHLgoDATA+MDwGCCsGAQUFBwIBFjBodHRwOi8vY3BzLmNoYW1iZXJz +aWduLm9yZy9jcHMvY2hhbWJlcnNyb290Lmh0bWwwDQYJKoZIhvcNAQEFBQADggEBAAxBl8IahsAi +fJ/7kPMa0QOx7xP5IV8EnNrJpY0nbJaHkb5BkAFyk+cefV/2icZdp0AJPaxJRUXcLo0waLIJuvvD +L8y6C98/d3tGfToSJI6WjzwFCm/SlCgdbQzALogi1djPHRPH8EjX1wWnz8dHnjs8NMiAT9QUu/wN +UPf6s+xCX6ndbcj0dc97wXImsQEcXCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34OirsrXdx/n +ADydb47kMgkdTXg0eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1 +erfutGWaIZDgqtCYvDi1czyL+Nw= +-----END CERTIFICATE----- + +Camerfirma Global Chambersign Root +================================== +-----BEGIN CERTIFICATE----- +MIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe +QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i +ZXJzaWduLm9yZzEgMB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwHhcNMDMwOTMwMTYx +NDE4WhcNMzcwOTMwMTYxNDE4WjB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMeQUMgQ2FtZXJmaXJt +YSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEg +MB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwggEgMA0GCSqGSIb3DQEBAQUAA4IBDQAw +ggEIAoIBAQCicKLQn0KuWxfH2H3PFIP8T8mhtxOviteePgQKkotgVvq0Mi+ITaFgCPS3CU6gSS9J +1tPfnZdan5QEcOw/Wdm3zGaLmFIoCQLfxS+EjXqXd7/sQJ0lcqu1PzKY+7e3/HKE5TWH+VX6ox8O +by4o3Wmg2UIQxvi1RMLQQ3/bvOSiPGpVeAp3qdjqGTK3L/5cPxvusZjsyq16aUXjlg9V9ubtdepl +6DJWk0aJqCWKZQbua795B9Dxt6/tLE2Su8CoX6dnfQTyFQhwrJLWfQTSM/tMtgsL+xrJxI0DqX5c +8lCrEqWhz0hQpe/SyBoT+rB/sYIcd2oPX9wLlY/vQ37mRQklAgEDo4IBUDCCAUwwEgYDVR0TAQH/ +BAgwBgEB/wIBDDA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmNoYW1iZXJzaWduLm9yZy9j +aGFtYmVyc2lnbnJvb3QuY3JsMB0GA1UdDgQWBBRDnDafsJ4wTcbOX60Qq+UDpfqpFDAOBgNVHQ8B +Af8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMCoGA1UdEQQjMCGBH2NoYW1iZXJzaWducm9vdEBj +aGFtYmVyc2lnbi5vcmcwKgYDVR0SBCMwIYEfY2hhbWJlcnNpZ25yb290QGNoYW1iZXJzaWduLm9y +ZzBbBgNVHSAEVDBSMFAGCysGAQQBgYcuCgEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly9jcHMuY2hh +bWJlcnNpZ24ub3JnL2Nwcy9jaGFtYmVyc2lnbnJvb3QuaHRtbDANBgkqhkiG9w0BAQUFAAOCAQEA +PDtwkfkEVCeR4e3t/mh/YV3lQWVPMvEYBZRqHN4fcNs+ezICNLUMbKGKfKX0j//U2K0X1S0E0T9Y +gOKBWYi+wONGkyT+kL0mojAt6JcmVzWJdJYY9hXiryQZVgICsroPFOrGimbBhkVVi76SvpykBMdJ +PJ7oKXqJ1/6v/2j1pReQvayZzKWGVwlnRtvWFsJG8eSpUPWP0ZIV018+xgBJOm5YstHRJw0lyDL4 +IBHNfTIzSJRUTN3cecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREes +t2d/AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A== +-----END CERTIFICATE----- + +NetLock Notary (Class A) Root +============================= +-----BEGIN CERTIFICATE----- +MIIGfTCCBWWgAwIBAgICAQMwDQYJKoZIhvcNAQEEBQAwga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQI +EwdIdW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6 +dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9j +ayBLb3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNDIzMTQ0N1oX +DTE5MDIxOTIzMTQ0N1owga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQH +EwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYD +VQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBLb3pqZWd5em9pIChDbGFz +cyBBKSBUYW51c2l0dmFueWtpYWRvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvHSM +D7tM9DceqQWC2ObhbHDqeLVu0ThEDaiDzl3S1tWBxdRL51uUcCbbO51qTGL3cfNk1mE7PetzozfZ +z+qMkjvN9wfcZnSX9EUi3fRc4L9t875lM+QVOr/bmJBVOMTtplVjC7B4BPTjbsE/jvxReB+SnoPC +/tmwqcm8WgD/qaiYdPv2LD4VOQ22BFWoDpggQrOxJa1+mm9dU7GrDPzr4PN6s6iz/0b2Y6LYOph7 +tqyF/7AlT3Rj5xMHpQqPBffAZG9+pyeAlt7ULoZgx2srXnN7F+eRP2QM2EsiNCubMvJIH5+hCoR6 +4sKtlz2O1cH5VqNQ6ca0+pii7pXmKgOM3wIDAQABo4ICnzCCApswDgYDVR0PAQH/BAQDAgAGMBIG +A1UdEwEB/wQIMAYBAf8CAQQwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaC +Ak1GSUdZRUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pv +bGdhbHRhdGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQu +IEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2Vn +LWJpenRvc2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0 +ZXRlbGUgYXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFz +IGxlaXJhc2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBh +IGh0dHBzOi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVu +b3J6ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBh +bmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sg +Q1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFp +bCBhdCBjcHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4IBAQBIJEb3ulZv+sgoA0BO5TE5 +ayZrU3/b39/zcT0mwBQOxmd7I6gMc90Bu8bKbjc5VdXHjFYgDigKDtIqpLBJUsY4B/6+CgmM0ZjP +ytoUMaFP0jn8DxEsQ8Pdq5PHVT5HfBgaANzze9jyf1JsIPQLX2lS9O74silg6+NJMSEN1rUQQeJB +CWziGppWS3cC9qCbmieH6FUpccKQn0V4GuEVZD3QDtigdp+uxdAu6tYPVuxkf1qbFFgBJ34TUMdr +KuZoPL9coAob4Q566eKAw+np9v1sEZ7Q5SgnK1QyQhSCdeZK8CtmdWOMovsEPoMOmzbwGOQmIMOM +8CgHrTwXZoi1/baI +-----END CERTIFICATE----- + +NetLock Business (Class B) Root +=============================== +-----BEGIN CERTIFICATE----- +MIIFSzCCBLSgAwIBAgIBaTANBgkqhkiG9w0BAQQFADCBmTELMAkGA1UEBhMCSFUxETAPBgNVBAcT +CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV +BAsTEVRhbnVzaXR2YW55a2lhZG9rMTIwMAYDVQQDEylOZXRMb2NrIFV6bGV0aSAoQ2xhc3MgQikg +VGFudXNpdHZhbnlraWFkbzAeFw05OTAyMjUxNDEwMjJaFw0xOTAyMjAxNDEwMjJaMIGZMQswCQYD +VQQGEwJIVTERMA8GA1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRv +bnNhZ2kgS2Z0LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxMjAwBgNVBAMTKU5ldExvY2sg +VXpsZXRpIChDbGFzcyBCKSBUYW51c2l0dmFueWtpYWRvMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB +iQKBgQCx6gTsIKAjwo84YM/HRrPVG/77uZmeBNwcf4xKgZjupNTKihe5In+DCnVMm8Bp2GQ5o+2S +o/1bXHQawEfKOml2mrriRBf8TKPV/riXiK+IA4kfpPIEPsgHC+b5sy96YhQJRhTKZPWLgLViqNhr +1nGTLbO/CVRY7QbrqHvcQ7GhaQIDAQABo4ICnzCCApswEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNV +HQ8BAf8EBAMCAAYwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1GSUdZ +RUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pvbGdhbHRh +dGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQuIEEgaGl0 +ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2VnLWJpenRv +c2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUg +YXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJh +c2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBhIGh0dHBz +Oi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVub3J6ZXNA +bmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBhbmQgdGhl +IHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sgQ1BTIGF2 +YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBj +cHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4GBAATbrowXr/gOkDFOzT4JwG06sPgzTEdM +43WIEJessDgVkcYplswhwG08pXTP2IKlOcNl40JwuyKQ433bNXbhoLXan3BukxowOR0w2y7jfLKR +stE3Kfq51hdcR0/jHTjrn9V7lagonhVK0dHQKwCXoOKSNitjrFgBazMpUIaD8QFI +-----END CERTIFICATE----- + +NetLock Express (Class C) Root +============================== +-----BEGIN CERTIFICATE----- +MIIFTzCCBLigAwIBAgIBaDANBgkqhkiG9w0BAQQFADCBmzELMAkGA1UEBhMCSFUxETAPBgNVBAcT +CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV +BAsTEVRhbnVzaXR2YW55a2lhZG9rMTQwMgYDVQQDEytOZXRMb2NrIEV4cHJlc3N6IChDbGFzcyBD +KSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNTE0MDgxMVoXDTE5MDIyMDE0MDgxMVowgZsxCzAJ +BgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6 +dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE0MDIGA1UEAxMrTmV0TG9j +ayBFeHByZXNzeiAoQ2xhc3MgQykgVGFudXNpdHZhbnlraWFkbzCBnzANBgkqhkiG9w0BAQEFAAOB +jQAwgYkCgYEA6+ywbGGKIyWvYCDj2Z/8kwvbXY2wobNAOoLO/XXgeDIDhlqGlZHtU/qdQPzm6N3Z +W3oDvV3zOwzDUXmbrVWg6dADEK8KuhRC2VImESLH0iDMgqSaqf64gXadarfSNnU+sYYJ9m5tfk63 +euyucYT2BDMIJTLrdKwWRMbkQJMdf60CAwEAAaOCAp8wggKbMBIGA1UdEwEB/wQIMAYBAf8CAQQw +DgYDVR0PAQH/BAQDAgAGMBEGCWCGSAGG+EIBAQQEAwIABzCCAmAGCWCGSAGG+EIBDQSCAlEWggJN +RklHWUVMRU0hIEV6ZW4gdGFudXNpdHZhbnkgYSBOZXRMb2NrIEtmdC4gQWx0YWxhbm9zIFN6b2xn +YWx0YXRhc2kgRmVsdGV0ZWxlaWJlbiBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBB +IGhpdGVsZXNpdGVzIGZvbHlhbWF0YXQgYSBOZXRMb2NrIEtmdC4gdGVybWVrZmVsZWxvc3NlZy1i +aXp0b3NpdGFzYSB2ZWRpLiBBIGRpZ2l0YWxpcyBhbGFpcmFzIGVsZm9nYWRhc2FuYWsgZmVsdGV0 +ZWxlIGF6IGVsb2lydCBlbGxlbm9yemVzaSBlbGphcmFzIG1lZ3RldGVsZS4gQXogZWxqYXJhcyBs +ZWlyYXNhIG1lZ3RhbGFsaGF0byBhIE5ldExvY2sgS2Z0LiBJbnRlcm5ldCBob25sYXBqYW4gYSBo +dHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIGNpbWVuIHZhZ3kga2VyaGV0byBheiBlbGxlbm9y +emVzQG5ldGxvY2submV0IGUtbWFpbCBjaW1lbi4gSU1QT1JUQU5UISBUaGUgaXNzdWFuY2UgYW5k +IHRoZSB1c2Ugb2YgdGhpcyBjZXJ0aWZpY2F0ZSBpcyBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIENQ +UyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cubmV0bG9jay5uZXQvZG9jcyBvciBieSBlLW1haWwg +YXQgY3BzQG5ldGxvY2submV0LjANBgkqhkiG9w0BAQQFAAOBgQAQrX/XDDKACtiG8XmYta3UzbM2 +xJZIwVzNmtkFLp++UOv0JhQQLdRmF/iewSf98e3ke0ugbLWrmldwpu2gpO0u9f38vf5NNwgMvOOW +gyL1SRt/Syu0VMGAfJlOHdCM7tCs5ZL6dVb+ZKATj7i4Fp1hBWeAyNDYpQcCNJgEjTME1A== +-----END CERTIFICATE----- + +XRamp Global CA Root +==================== +-----BEGIN CERTIFICATE----- +MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE +BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj +dXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx +HjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkg +U2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp +dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwu +IR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMx +foArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FE +zG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqs +AxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvry +xS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud +EwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6Ap +oCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMC +AQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc +/Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt +qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n +nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz +8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw= +-----END CERTIFICATE----- + +Go Daddy Class 2 CA +=================== +-----BEGIN CERTIFICATE----- +MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY +VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkG +A1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g +RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQAD +ggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv +2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32 +qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6j +YGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmY +vLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0O +BBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2o +atTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMu +MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG +A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wim +PQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKt +I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ +HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI +Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b +vZ8= +-----END CERTIFICATE----- + +Starfield Class 2 CA +==================== +-----BEGIN CERTIFICATE----- +MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc +U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg +Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBo +MQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAG +A1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqG +SIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTY +bitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZ +JRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVm +epsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSN +F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HF +MIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0f +hvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNo +bm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24g +QXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGs +afPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLM +PUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl +xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD +KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3 +QBFGmh95DmK/D5fs4C8fF5Q= +-----END CERTIFICATE----- + +StartCom Certification Authority +================================ +-----BEGIN CERTIFICATE----- +MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN +U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu +ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0 +NjM2WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk +LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg +U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw +ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y +o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/ +Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d +eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt +2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z +6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ +osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/ +untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc +UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT +37uMdBNSSwIDAQABo4ICUjCCAk4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAa4wHQYDVR0OBBYE +FE4L7xqkQFulF2mHMMo0aEPQQa7yMGQGA1UdHwRdMFswLKAqoCiGJmh0dHA6Ly9jZXJ0LnN0YXJ0 +Y29tLm9yZy9zZnNjYS1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0Y29tLm9yZy9zZnNj +YS1jcmwuY3JsMIIBXQYDVR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBATCCATswLwYIKwYBBQUH +AgEWI2h0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRw +Oi8vY2VydC5zdGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYg +U3RhcnQgQ29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5 +LCByZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl +cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQuc3Rh +cnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilT +dGFydENvbSBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOC +AgEAFmyZ9GYMNPXQhV59CuzaEE44HF7fpiUFS5Eyweg78T3dRAlbB0mKKctmArexmvclmAk8jhvh +3TaHK0u7aNM5Zj2gJsfyOZEdUauCe37Vzlrk4gNXcGmXCPleWKYK34wGmkUWFjgKXlf2Ysd6AgXm +vB618p70qSmD+LIU424oh0TDkBreOKk8rENNZEXO3SipXPJzewT4F+irsfMuXGRuczE6Eri8sxHk +fY+BUZo7jYn0TZNmezwD7dOaHZrzZVD1oNB1ny+v8OqCQ5j4aZyJecRDjkZy42Q2Eq/3JR44iZB3 +fsNrarnDy0RLrHiQi+fHLB5LEUTINFInzQpdn4XBidUaePKVEFMy3YCEZnXZtWgo+2EuvoSoOMCZ +EoalHmdkrQYuL6lwhceWD3yJZfWOQ1QOq92lgDmUYMA0yZZwLKMS9R9Ie70cfmu3nZD0Ijuu+Pwq +yvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuCO3NJo2pXh5Tl +1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6Vum0ABj6y6koQOdjQK/W/7HW/ +lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkyShNOsF/5oirpt9P/FlUQqmMGqz9IgcgA38coro +g14= +-----END CERTIFICATE----- + +Taiwan GRCA +=========== +-----BEGIN CERTIFICATE----- +MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQG +EwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X +DTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1owPzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dv +dmVybm1lbnQgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQAD +ggIPADCCAgoCggIBAJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qN +w8XRIePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1qgQdW8or5 +BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKyyhwOeYHWtXBiCAEuTk8O +1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAtsF/tnyMKtsc2AtJfcdgEWFelq16TheEfO +htX7MfP6Mb40qij7cEwdScevLJ1tZqa2jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wov +J5pGfaENda1UhhXcSTvxls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7 +Q3hub/FCVGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHKYS1t +B6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoHEgKXTiCQ8P8NHuJB +O9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThNXo+EHWbNxWCWtFJaBYmOlXqYwZE8 +lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1UdDgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNV +HRMEBTADAQH/MDkGBGcqBwAEMTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg2 +09yewDL7MTqKUWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ +TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyfqzvS/3WXy6Tj +Zwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaKZEk9GhiHkASfQlK3T8v+R0F2 +Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFEJPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlU +D7gsL0u8qV1bYH+Mh6XgUmMqvtg7hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6Qz +DxARvBMB1uUO07+1EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+Hbk +Z6MmnD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WXudpVBrkk +7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44VbnzssQwmSNOXfJIoRIM3BKQ +CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy ++fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS +-----END CERTIFICATE----- + +Firmaprofesional Root CA +======================== +-----BEGIN CERTIFICATE----- +MIIEVzCCAz+gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBnTELMAkGA1UEBhMCRVMxIjAgBgNVBAcT +GUMvIE11bnRhbmVyIDI0NCBCYXJjZWxvbmExQjBABgNVBAMTOUF1dG9yaWRhZCBkZSBDZXJ0aWZp +Y2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2ODEmMCQGCSqGSIb3DQEJARYXY2FA +ZmlybWFwcm9mZXNpb25hbC5jb20wHhcNMDExMDI0MjIwMDAwWhcNMTMxMDI0MjIwMDAwWjCBnTEL +MAkGA1UEBhMCRVMxIjAgBgNVBAcTGUMvIE11bnRhbmVyIDI0NCBCYXJjZWxvbmExQjBABgNVBAMT +OUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2 +ODEmMCQGCSqGSIb3DQEJARYXY2FAZmlybWFwcm9mZXNpb25hbC5jb20wggEiMA0GCSqGSIb3DQEB +AQUAA4IBDwAwggEKAoIBAQDnIwNvbyOlXnjOlSztlB5uCp4Bx+ow0Syd3Tfom5h5VtP8c9/Qit5V +j1H5WuretXDE7aTt/6MNbg9kUDGvASdYrv5sp0ovFy3Tc9UTHI9ZpTQsHVQERc1ouKDAA6XPhUJH +lShbz++AbOCQl4oBPB3zhxAwJkh91/zpnZFx/0GaqUC1N5wpIE8fUuOgfRNtVLcK3ulqTgesrBlf +3H5idPayBQC6haD9HThuy1q7hryUZzM1gywfI834yJFxzJeL764P3CkDG8A563DtwW4O2GcLiam8 +NeTvtjS0pbbELaW+0MOUJEjb35bTALVmGotmBQ/dPz/LP6pemkr4tErvlTcbAgMBAAGjgZ8wgZww +KgYDVR0RBCMwIYYfaHR0cDovL3d3dy5maXJtYXByb2Zlc2lvbmFsLmNvbTASBgNVHRMBAf8ECDAG +AQH/AgEBMCsGA1UdEAQkMCKADzIwMDExMDI0MjIwMDAwWoEPMjAxMzEwMjQyMjAwMDBaMA4GA1Ud +DwEB/wQEAwIBBjAdBgNVHQ4EFgQUMwugZtHq2s7eYpMEKFK1FH84aLcwDQYJKoZIhvcNAQEFBQAD +ggEBAEdz/o0nVPD11HecJ3lXV7cVVuzH2Fi3AQL0M+2TUIiefEaxvT8Ub/GzR0iLjJcG1+p+o1wq +u00vR+L4OQbJnC4xGgN49Lw4xiKLMzHwFgQEffl25EvXwOaD7FnMP97/T2u3Z36mhoEyIwOdyPdf +wUpgpZKpsaSgYMN4h7Mi8yrrW6ntBas3D7Hi05V2Y1Z0jFhyGzflZKG+TQyTmAyX9odtsz/ny4Cm +7YjHX1BiAuiZdBbQ5rQ58SfLyEDW44YQqSMSkuBpQWOnryULwMWSyx6Yo1q6xTMPoJcB3X/ge9YG +VM+h4k0460tQtcsm9MracEpqoeJ5quGnM/b9Sh/22WA= +-----END CERTIFICATE----- + +Wells Fargo Root CA +=================== +-----BEGIN CERTIFICATE----- +MIID5TCCAs2gAwIBAgIEOeSXnjANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UEBhMCVVMxFDASBgNV +BAoTC1dlbGxzIEZhcmdvMSwwKgYDVQQLEyNXZWxscyBGYXJnbyBDZXJ0aWZpY2F0aW9uIEF1dGhv +cml0eTEvMC0GA1UEAxMmV2VsbHMgRmFyZ28gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN +MDAxMDExMTY0MTI4WhcNMjEwMTE0MTY0MTI4WjCBgjELMAkGA1UEBhMCVVMxFDASBgNVBAoTC1dl +bGxzIEZhcmdvMSwwKgYDVQQLEyNXZWxscyBGYXJnbyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEv +MC0GA1UEAxMmV2VsbHMgRmFyZ28gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDVqDM7Jvk0/82bfuUER84A4n135zHCLielTWi5MbqNQ1mX +x3Oqfz1cQJ4F5aHiidlMuD+b+Qy0yGIZLEWukR5zcUHESxP9cMIlrCL1dQu3U+SlK93OvRw6esP3 +E48mVJwWa2uv+9iWsWCaSOAlIiR5NM4OJgALTqv9i86C1y8IcGjBqAr5dE8Hq6T54oN+J3N0Prj5 +OEL8pahbSCOz6+MlsoCultQKnMJ4msZoGK43YjdeUXWoWGPAUe5AeH6orxqg4bB4nVCMe+ez/I4j +sNtlAHCEAQgAFG5Uhpq6zPk3EPbg3oQtnaSFN9OH4xXQwReQfhkhahKpdv0SAulPIV4XAgMBAAGj +YTBfMA8GA1UdEwEB/wQFMAMBAf8wTAYDVR0gBEUwQzBBBgtghkgBhvt7hwcBCzAyMDAGCCsGAQUF +BwIBFiRodHRwOi8vd3d3LndlbGxzZmFyZ28uY29tL2NlcnRwb2xpY3kwDQYJKoZIhvcNAQEFBQAD +ggEBANIn3ZwKdyu7IvICtUpKkfnRLb7kuxpo7w6kAOnu5+/u9vnldKTC2FJYxHT7zmu1Oyl5GFrv +m+0fazbuSCUlFLZWohDo7qd/0D+j0MNdJu4HzMPBJCGHHt8qElNvQRbn7a6U+oxy+hNH8Dx+rn0R +OhPs7fpvcmR7nX1/Jv16+yWt6j4pf0zjAFcysLPp7VMX2YuyFA4w6OXVE8Zkr8QA1dhYJPz1j+zx +x32l2w8n0cbyQIjmH/ZhqPRCyLk306m+LFZ4wnKbWV01QIroTmMatukgalHizqSQ33ZwmVxwQ023 +tqcZZE6St8WRPH9IFmV7Fv3L/PvZ1dZPIWU7Sn9Ho/s= +-----END CERTIFICATE----- + +Swisscom Root CA 1 +================== +-----BEGIN CERTIFICATE----- +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 +NY6E0F/6MBr1mmz0DlP5OlvRHA== +-----END CERTIFICATE----- + +DigiCert Assured ID Root CA +=========================== +-----BEGIN CERTIFICATE----- +MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw +IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx +MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL +ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO +9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy +UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW +/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy +oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf +GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF +66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq +hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc +EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn +SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i +8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe ++o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== +-----END CERTIFICATE----- + +DigiCert Global Root CA +======================= +-----BEGIN CERTIFICATE----- +MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw +HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw +MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 +dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq +hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn +TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5 +BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H +4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y +7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB +o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm +8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF +BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr +EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt +tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886 +UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk +CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= +-----END CERTIFICATE----- + +DigiCert High Assurance EV Root CA +================================== +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw +KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw +MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ +MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu +Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t +Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS +OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3 +MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ +NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe +h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB +Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY +JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ +V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp +myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK +mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe +vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K +-----END CERTIFICATE----- + +Certplus Class 2 Primary CA +=========================== +-----BEGIN CERTIFICATE----- +MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAwPTELMAkGA1UE +BhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFzcyAyIFByaW1hcnkgQ0EwHhcN +OTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2Vy +dHBsdXMxGzAZBgNVBAMTEkNsYXNzIDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANxQltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR +5aiRVhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyLkcAbmXuZ +Vg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCdEgETjdyAYveVqUSISnFO +YFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yasH7WLO7dDWWuwJKZtkIvEcupdM5i3y95e +e++U8Rs+yskhwcWYAqqi9lt3m/V+llU0HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRME +CDAGAQH/AgEKMAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJ +YIZIAYb4QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMuY29t +L0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/AN9WM2K191EBkOvD +P9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8yfFC82x/xXp8HVGIutIKPidd3i1R +TtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMRFcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+ +7UCmnYR0ObncHoUW2ikbhiMAybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW +//1IMwrh3KWBkJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7 +l7+ijrRU +-----END CERTIFICATE----- + +DST Root CA X3 +============== +-----BEGIN CERTIFICATE----- +MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK +ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X +DTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1 +cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmT +rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9 +UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRy +xXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d +utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0T +AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQ +MA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikug +dB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjE +GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw +RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS +fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ +-----END CERTIFICATE----- + +DST ACES CA X6 +============== +-----BEGIN CERTIFICATE----- +MIIECTCCAvGgAwIBAgIQDV6ZCtadt3js2AdWO4YV2TANBgkqhkiG9w0BAQUFADBbMQswCQYDVQQG +EwJVUzEgMB4GA1UEChMXRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QxETAPBgNVBAsTCERTVCBBQ0VT +MRcwFQYDVQQDEw5EU1QgQUNFUyBDQSBYNjAeFw0wMzExMjAyMTE5NThaFw0xNzExMjAyMTE5NTha +MFsxCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdDERMA8GA1UE +CxMIRFNUIEFDRVMxFzAVBgNVBAMTDkRTVCBBQ0VTIENBIFg2MIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEAuT31LMmU3HWKlV1j6IR3dma5WZFcRt2SPp/5DgO0PWGSvSMmtWPuktKe1jzI +DZBfZIGxqAgNTNj50wUoUrQBJcWVHAx+PhCEdc/BGZFjz+iokYi5Q1K7gLFViYsx+tC3dr5BPTCa +pCIlF3PoHuLTrCq9Wzgh1SpL11V94zpVvddtawJXa+ZHfAjIgrrep4c9oW24MFbCswKBXy314pow +GCi4ZtPLAZZv6opFVdbgnf9nKxcCpk4aahELfrd755jWjHZvwTvbUJN+5dCOHze4vbrGn2zpfDPy +MjwmR/onJALJfh1biEITajV8fTXpLmaRcpPVMibEdPVTo7NdmvYJywIDAQABo4HIMIHFMA8GA1Ud +EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgHGMB8GA1UdEQQYMBaBFHBraS1vcHNAdHJ1c3Rkc3Qu +Y29tMGIGA1UdIARbMFkwVwYKYIZIAWUDAgEBATBJMEcGCCsGAQUFBwIBFjtodHRwOi8vd3d3LnRy +dXN0ZHN0LmNvbS9jZXJ0aWZpY2F0ZXMvcG9saWN5L0FDRVMtaW5kZXguaHRtbDAdBgNVHQ4EFgQU +CXIGThhDD+XWzMNqizF7eI+og7gwDQYJKoZIhvcNAQEFBQADggEBAKPYjtay284F5zLNAdMEA+V2 +5FYrnJmQ6AgwbN99Pe7lv7UkQIRJ4dEorsTCOlMwiPH1d25Ryvr/ma8kXxug/fKshMrfqfBfBC6t +Fr8hlxCBPeP/h40y3JTlR4peahPJlJU90u7INJXQgNStMgiAVDzgvVJT11J8smk/f3rPanTK+gQq +nExaBqXpIK1FZg9p8d2/6eMyi/rgwYZNcjwu2JN4Cir42NInPRmJX1p7ijvMDNpRrscL9yuwNwXs +vFcj4jjSm2jzVhKIT0J8uDHEtdvkyCE06UgRNe76x5JXxZ805Mf29w4LTJxoeHtxMcfrHuBnQfO3 +oKfN5XozNmr6mis= +-----END CERTIFICATE----- + +TURKTRUST Certificate Services Provider Root 1 +============================================== +-----BEGIN CERTIFICATE----- +MIID+zCCAuOgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBtzE/MD0GA1UEAww2VMOcUktUUlVTVCBF +bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGDAJUUjEP +MA0GA1UEBwwGQU5LQVJBMVYwVAYDVQQKDE0oYykgMjAwNSBUw5xSS1RSVVNUIEJpbGdpIMSwbGV0 +acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLjAeFw0wNTA1MTMx +MDI3MTdaFw0xNTAzMjIxMDI3MTdaMIG3MT8wPQYDVQQDDDZUw5xSS1RSVVNUIEVsZWt0cm9uaWsg +U2VydGlmaWthIEhpem1ldCBTYcSfbGF5xLFjxLFzxLExCzAJBgNVBAYMAlRSMQ8wDQYDVQQHDAZB +TktBUkExVjBUBgNVBAoMTShjKSAyMDA1IFTDnFJLVFJVU1QgQmlsZ2kgxLBsZXRpxZ9pbSB2ZSBC +aWxpxZ9pbSBHw7x2ZW5sacSfaSBIaXptZXRsZXJpIEEuxZ4uMIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEAylIF1mMD2Bxf3dJ7XfIMYGFbazt0K3gNfUW9InTojAPBxhEqPZW8qZSwu5GX +yGl8hMW0kWxsE2qkVa2kheiVfrMArwDCBRj1cJ02i67L5BuBf5OI+2pVu32Fks66WJ/bMsW9Xe8i +Si9BB35JYbOG7E6mQW6EvAPs9TscyB/C7qju6hJKjRTP8wrgUDn5CDX4EVmt5yLqS8oUBt5CurKZ +8y1UiBAG6uEaPj1nH/vO+3yC6BFdSsG5FOpU2WabfIl9BJpiyelSPJ6c79L1JuTm5Rh8i27fbMx4 +W09ysstcP4wFjdFMjK2Sx+F4f2VsSQZQLJ4ywtdKxnWKWU51b0dewQIDAQABoxAwDjAMBgNVHRME +BTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAV9VX/N5aAWSGk/KEVTCD21F/aAyT8z5Aa9CEKmu46 +sWrv7/hg0Uw2ZkUd82YCdAR7kjCo3gp2D++Vbr3JN+YaDayJSFvMgzbC9UZcWYJWtNX+I7TYVBxE +q8Sn5RTOPEFhfEPmzcSBCYsk+1Ql1haolgxnB2+zUEfjHCQo3SqYpGH+2+oSN7wBGjSFvW5P55Fy +B0SFHljKVETd96y5y4khctuPwGkplyqjrhgjlxxBKot8KsF8kOipKMDTkcatKIdAaLX/7KfS0zgY +nNN9aV3wxqUeJBujR/xpB2jn5Jq07Q+hh4cCzofSSE7hvP/L8XKSRGQDJereW26fyfJOrN3H +-----END CERTIFICATE----- + +TURKTRUST Certificate Services Provider Root 2 +============================================== +-----BEGIN CERTIFICATE----- +MIIEPDCCAySgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBF +bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP +MA0GA1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg +QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwHhcN +MDUxMTA3MTAwNzU3WhcNMTUwOTE2MTAwNzU3WjCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBFbGVr +dHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEPMA0G +A1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmls +acWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpNn7DkUNMwxmYCMjHWHtPFoylzkkBH3MOrHUTpvqe +LCDe2JAOCtFp0if7qnefJ1Il4std2NiDUBd9irWCPwSOtNXwSadktx4uXyCcUHVPr+G1QRT0mJKI +x+XlZEdhR3n9wFHxwZnn3M5q+6+1ATDcRhzviuyV79z/rxAc653YsKpqhRgNF8k+v/Gb0AmJQv2g +QrSdiVFVKc8bcLyEVK3BEx+Y9C52YItdP5qtygy/p1Zbj3e41Z55SZI/4PGXJHpsmxcPbe9TmJEr +5A++WXkHeLuXlfSfadRYhwqp48y2WBmfJiGxxFmNskF1wK1pzpwACPI2/z7woQ8arBT9pmAPAgMB +AAGjQzBBMB0GA1UdDgQWBBTZN7NOBf3Zz58SFq62iS/rJTqIHDAPBgNVHQ8BAf8EBQMDBwYAMA8G +A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAHJglrfJ3NgpXiOFX7KzLXb7iNcX/ntt +Rbj2hWyfIvwqECLsqrkw9qtY1jkQMZkpAL2JZkH7dN6RwRgLn7Vhy506vvWolKMiVW4XSf/SKfE4 +Jl3vpao6+XF75tpYHdN0wgH6PmlYX63LaL4ULptswLbcoCb6dxriJNoaN+BnrdFzgw2lGh1uEpJ+ +hGIAF728JRhX8tepb1mIvDS3LoV4nZbcFMMsilKbloxSZj2GFotHuFEJjOp9zYhys2AzsfAKRO8P +9Qk3iCQOLGsgOqL6EfJANZxEaGM7rDNvY7wsu/LSy3Z9fYjYHcgFHW68lKlmjHdxx/qR+i9Rnuk5 +UrbnBEI= +-----END CERTIFICATE----- + +SwissSign Gold CA - G2 +====================== +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +SwissSign Silver CA - G2 +======================== +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +GeoTrust Primary Certification Authority +======================================== +-----BEGIN CERTIFICATE----- +MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG +EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD +ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgx +CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQ +cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWN +b6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9 +nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGge +RwLmnWDiNpcB3841kt++Z8dtd1k7j53WkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGt +tm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI +hvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5K +Ts4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl4b7UVXGYNTq+k+qurUKykG/g/CFN +NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa +Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG +1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk= +-----END CERTIFICATE----- + +thawte Primary Root CA +====================== +-----BEGIN CERTIFICATE----- +MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE +BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2 +aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv +cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3 +MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg +SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMv +KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT +FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs +oPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ +1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGc +q/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K +aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR32HuHUETVPm4p +afs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD +VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUF +AAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE +uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX +xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89 +jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH +z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA== +-----END CERTIFICATE----- + +VeriSign Class 3 Public Primary Certification Authority - G5 +============================================================ +-----BEGIN CERTIFICATE----- +MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE +BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO +ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk +IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB +yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln +biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh +dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt +YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz +j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD +Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/ +Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r +fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/ +BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv +Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy +aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG +SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+ +X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE +KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC +Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE +ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq +-----END CERTIFICATE----- + +SecureTrust CA +============== +-----BEGIN CERTIFICATE----- +MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG +EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy +dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe +BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC +ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX +OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t +DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH +GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b +01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH +ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj +aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ +KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu +SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf +mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ +nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR +3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= +-----END CERTIFICATE----- + +Secure Global CA +================ +-----BEGIN CERTIFICATE----- +MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG +EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH +bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg +MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg +Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx +YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ +bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g +8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV +HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi +0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud +EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn +oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA +MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+ +OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn +CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5 +3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc +f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW +-----END CERTIFICATE----- + +COMODO Certification Authority +============================== +-----BEGIN CERTIFICATE----- +MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE +BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG +A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1 +dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb +MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD +T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH ++7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww +xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV +4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA +1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI +rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k +b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC +AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP +OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ +RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc +IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN ++8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ== +-----END CERTIFICATE----- + +Network Solutions Certificate Authority +======================================= +-----BEGIN CERTIFICATE----- +MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG +EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr +IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMx +MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu +MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwzc7MEL7xx +jOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT +aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXT +crA/vGp97Eh/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc +/Qzpf14Dl847ABSHJ3A4qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMB +AAGjgZcwgZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIBBjAP +BgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv +bS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3JsMA0GCSqGSIb3DQEBBQUA +A4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc86fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q +4LqILPxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/ +GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv +wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD +ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey +-----END CERTIFICATE----- + +WellsSecure Public Root Certificate Authority +============================================= +-----BEGIN CERTIFICATE----- +MIIEvTCCA6WgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoM +F1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYw +NAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN +MDcxMjEzMTcwNzU0WhcNMjIxMjE0MDAwNzU0WjCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dl +bGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYD +VQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDub7S9eeKPCCGeOARBJe+rWxxTkqxtnt3CxC5FlAM1 +iGd0V+PfjLindo8796jE2yljDpFoNoqXjopxaAkH5OjUDk/41itMpBb570OYj7OeUt9tkTmPOL13 +i0Nj67eT/DBMHAGTthP796EfvyXhdDcsHqRePGj4S78NuR4uNuip5Kf4D8uCdXw1LSLWwr8L87T8 +bJVhHlfXBIEyg1J55oNjz7fLY4sR4r1e6/aN7ZVyKLSsEmLpSjPmgzKuBXWVvYSV2ypcm44uDLiB +K0HmOFafSZtsdvqKXfcBeYF8wYNABf5x/Qw/zE5gCQ5lRxAvAcAFP4/4s0HvWkJ+We/SlwxlAgMB +AAGjggE0MIIBMDAPBgNVHRMBAf8EBTADAQH/MDkGA1UdHwQyMDAwLqAsoCqGKGh0dHA6Ly9jcmwu +cGtpLndlbGxzZmFyZ28uY29tL3dzcHJjYS5jcmwwDgYDVR0PAQH/BAQDAgHGMB0GA1UdDgQWBBQm +lRkQ2eihl5H/3BnZtQQ+0nMKajCBsgYDVR0jBIGqMIGngBQmlRkQ2eihl5H/3BnZtQQ+0nMKaqGB +i6SBiDCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRww +GgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMg +Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCAQEwDQYJKoZIhvcNAQEFBQADggEBALkVsUSRzCPI +K0134/iaeycNzXK7mQDKfGYZUMbVmO2rvwNa5U3lHshPcZeG1eMd/ZDJPHV3V3p9+N701NX3leZ0 +bh08rnyd2wIDBSxxSyU+B+NemvVmFymIGjifz6pBA4SXa5M4esowRBskRDPQ5NHcKDj0E0M1NSlj +qHyita04pO2t/caaH/+Xc/77szWnk4bGdpEA5qxRFsQnMlzbc9qlk1eOPm01JghZ1edE13YgY+es +E2fDbbFwRnzVlhE9iW9dqKHrjQrawx0zbKPqZxmamX9LPYNRKh3KL4YMon4QLSvUFpULB6ouFJJJ +tylv2G0xffX8oRAHh84vWdw+WNs= +-----END CERTIFICATE----- + +COMODO ECC Certification Authority +================================== +-----BEGIN CERTIFICATE----- +MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC +R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE +ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwHhcNMDgwMzA2MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0Ix +GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR +Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRo +b3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSRFtSrYpn1PlILBs5BAH+X +4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6IHG4/bC8vCVlbpVsLM5ni +wz2J+Wos77LTBumjQjBAMB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VG +FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA +U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= +-----END CERTIFICATE----- + +IGC/A +===== +-----BEGIN CERTIFICATE----- +MIIEAjCCAuqgAwIBAgIFORFFEJQwDQYJKoZIhvcNAQEFBQAwgYUxCzAJBgNVBAYTAkZSMQ8wDQYD +VQQIEwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVE +Q1NTSTEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZy +MB4XDTAyMTIxMzE0MjkyM1oXDTIwMTAxNzE0MjkyMlowgYUxCzAJBgNVBAYTAkZSMQ8wDQYDVQQI +EwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVEQ1NT +STEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZyMIIB +IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsh/R0GLFMzvABIaIs9z4iPf930Pfeo2aSVz2 +TqrMHLmh6yeJ8kbpO0px1R2OLc/mratjUMdUC24SyZA2xtgv2pGqaMVy/hcKshd+ebUyiHDKcMCW +So7kVc0dJ5S/znIq7Fz5cyD+vfcuiWe4u0dzEvfRNWk68gq5rv9GQkaiv6GFGvm/5P9JhfejcIYy +HF2fYPepraX/z9E0+X1bF8bc1g4oa8Ld8fUzaJ1O/Id8NhLWo4DoQw1VYZTqZDdH6nfK0LJYBcNd +frGoRpAxVs5wKpayMLh35nnAvSk7/ZR3TL0gzUEl4C7HG7vupARB0l2tEmqKm0f7yd1GQOGdPDPQ +tQIDAQABo3cwdTAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBRjAVBgNVHSAEDjAMMAoGCCqB +egF5AQEBMB0GA1UdDgQWBBSjBS8YYFDCiQrdKyFP/45OqDAxNjAfBgNVHSMEGDAWgBSjBS8YYFDC +iQrdKyFP/45OqDAxNjANBgkqhkiG9w0BAQUFAAOCAQEABdwm2Pp3FURo/C9mOnTgXeQp/wYHE4RK +q89toB9RlPhJy3Q2FLwV3duJL92PoF189RLrn544pEfMs5bZvpwlqwN+Mw+VgQ39FuCIvjfwbF3Q +MZsyK10XZZOYYLxuj7GoPB7ZHPOpJkL5ZB3C55L29B5aqhlSXa/oovdgoPaN8In1buAKBQGVyYsg +Crpa/JosPL3Dt8ldeCUFP1YUmwza+zpI/pdpXsoQhvdOlgQITeywvl3cO45Pwf2aNjSaTFR+FwNI +lQgRHAdvhQh+XU3Endv7rs6y0bO4g2wdsrN58dhwmX7wEwLOXt1R0982gaEbeC9xs/FZTEYYKKuF +0mBWWg== +-----END CERTIFICATE----- + +Security Communication EV RootCA1 +================================= +-----BEGIN CERTIFICATE----- +MIIDfTCCAmWgAwIBAgIBADANBgkqhkiG9w0BAQUFADBgMQswCQYDVQQGEwJKUDElMCMGA1UEChMc +U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEqMCgGA1UECxMhU2VjdXJpdHkgQ29tbXVuaWNh +dGlvbiBFViBSb290Q0ExMB4XDTA3MDYwNjAyMTIzMloXDTM3MDYwNjAyMTIzMlowYDELMAkGA1UE +BhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xKjAoBgNVBAsTIVNl +Y3VyaXR5IENvbW11bmljYXRpb24gRVYgUm9vdENBMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +AQoCggEBALx/7FebJOD+nLpCeamIivqA4PUHKUPqjgo0No0c+qe1OXj/l3X3L+SqawSERMqm4miO +/VVQYg+kcQ7OBzgtQoVQrTyWb4vVog7P3kmJPdZkLjjlHmy1V4qe70gOzXppFodEtZDkBp2uoQSX +WHnvIEqCa4wiv+wfD+mEce3xDuS4GBPMVjZd0ZoeUWs5bmB2iDQL87PRsJ3KYeJkHcFGB7hj3R4z +ZbOOCVVSPbW9/wfrrWFVGCypaZhKqkDFMxRldAD5kd6vA0jFQFTcD4SQaCDFkpbcLuUCRarAX1T4 +bepJz11sS6/vmsJWXMY1VkJqMF/Cq/biPT+zyRGPMUzXn0kCAwEAAaNCMEAwHQYDVR0OBBYEFDVK +9U2vP9eCOKyrcWUXdYydVZPmMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqG +SIb3DQEBBQUAA4IBAQCoh+ns+EBnXcPBZsdAS5f8hxOQWsTvoMpfi7ent/HWtWS3irO4G8za+6xm +iEHO6Pzk2x6Ipu0nUBsCMCRGef4Eh3CXQHPRwMFXGZpppSeZq51ihPZRwSzJIxXYKLerJRO1RuGG +Av8mjMSIkh1W/hln8lXkgKNrnKt34VFxDSDbEJrbvXZ5B3eZKK2aXtqxT0QsNY6llsf9g/BYxnnW +mHyojf6GPgcWkuF75x3sM3Z+Qi5KhfmRiWiEA4Glm5q+4zfFVKtWOxgtQaQM+ELbmaDgcm+7XeEW +T1MKZPlO9L9OVL14bIjqv5wTJMJwaaJ/D8g8rQjJsJhAoyrniIPtd490 +-----END CERTIFICATE----- + +OISTE WISeKey Global Root GA CA +=============================== +-----BEGIN CERTIFICATE----- +MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UE +BhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHlyaWdodCAoYykgMjAwNTEiMCAG +A1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBH +bG9iYWwgUm9vdCBHQSBDQTAeFw0wNTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYD +VQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIw +IAYDVQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5 +IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy0+zAJs9 +Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxRVVuuk+g3/ytr6dTqvirdqFEr12bDYVxg +Asj1znJ7O7jyTmUIms2kahnBAbtzptf2w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbD +d50kc3vkDIzh2TbhmYsFmQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ +/yxViJGg4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t94B3R +LoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw +AwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ +KoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOxSPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vIm +MMkQyh2I+3QZH4VFvbBsUfk2ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4 ++vg1YFkCExh8vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa +hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZiFj4A4xylNoEY +okxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ/L7fCg0= +-----END CERTIFICATE----- + +Microsec e-Szigno Root CA +========================= +-----BEGIN CERTIFICATE----- +MIIHqDCCBpCgAwIBAgIRAMy4579OKRr9otxmpRwsDxEwDQYJKoZIhvcNAQEFBQAwcjELMAkGA1UE +BhMCSFUxETAPBgNVBAcTCEJ1ZGFwZXN0MRYwFAYDVQQKEw1NaWNyb3NlYyBMdGQuMRQwEgYDVQQL +EwtlLVN6aWdubyBDQTEiMCAGA1UEAxMZTWljcm9zZWMgZS1Temlnbm8gUm9vdCBDQTAeFw0wNTA0 +MDYxMjI4NDRaFw0xNzA0MDYxMjI4NDRaMHIxCzAJBgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVz +dDEWMBQGA1UEChMNTWljcm9zZWMgTHRkLjEUMBIGA1UECxMLZS1Temlnbm8gQ0ExIjAgBgNVBAMT +GU1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +AQDtyADVgXvNOABHzNuEwSFpLHSQDCHZU4ftPkNEU6+r+ICbPHiN1I2uuO/TEdyB5s87lozWbxXG +d36hL+BfkrYn13aaHUM86tnsL+4582pnS4uCzyL4ZVX+LMsvfUh6PXX5qqAnu3jCBspRwn5mS6/N +oqdNAoI/gqyFxuEPkEeZlApxcpMqyabAvjxWTHOSJ/FrtfX9/DAFYJLG65Z+AZHCabEeHXtTRbjc +QR/Ji3HWVBTji1R4P770Yjtb9aPs1ZJ04nQw7wHb4dSrmZsqa/i9phyGI0Jf7Enemotb9HI6QMVJ +PqW+jqpx62z69Rrkav17fVVA71hu5tnVvCSrwe+3AgMBAAGjggQ3MIIEMzBnBggrBgEFBQcBAQRb +MFkwKAYIKwYBBQUHMAGGHGh0dHBzOi8vcmNhLmUtc3ppZ25vLmh1L29jc3AwLQYIKwYBBQUHMAKG +IWh0dHA6Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNydDAPBgNVHRMBAf8EBTADAQH/MIIBcwYD +VR0gBIIBajCCAWYwggFiBgwrBgEEAYGoGAIBAQEwggFQMCgGCCsGAQUFBwIBFhxodHRwOi8vd3d3 +LmUtc3ppZ25vLmh1L1NaU1ovMIIBIgYIKwYBBQUHAgIwggEUHoIBEABBACAAdABhAG4A+gBzAO0A +dAB2AOEAbgB5ACAA6QByAHQAZQBsAG0AZQB6AOkAcwDpAGgAZQB6ACAA6QBzACAAZQBsAGYAbwBn +AGEAZADhAHMA4QBoAG8AegAgAGEAIABTAHoAbwBsAGcA4QBsAHQAYQB0APMAIABTAHoAbwBsAGcA +4QBsAHQAYQB0AOEAcwBpACAAUwB6AGEAYgDhAGwAeQB6AGEAdABhACAAcwB6AGUAcgBpAG4AdAAg +AGsAZQBsAGwAIABlAGwAagDhAHIAbgBpADoAIABoAHQAdABwADoALwAvAHcAdwB3AC4AZQAtAHMA +egBpAGcAbgBvAC4AaAB1AC8AUwBaAFMAWgAvMIHIBgNVHR8EgcAwgb0wgbqggbeggbSGIWh0dHA6 +Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNybIaBjmxkYXA6Ly9sZGFwLmUtc3ppZ25vLmh1L0NO +PU1pY3Jvc2VjJTIwZS1Temlnbm8lMjBSb290JTIwQ0EsT1U9ZS1Temlnbm8lMjBDQSxPPU1pY3Jv +c2VjJTIwTHRkLixMPUJ1ZGFwZXN0LEM9SFU/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdDtiaW5h +cnkwDgYDVR0PAQH/BAQDAgEGMIGWBgNVHREEgY4wgYuBEGluZm9AZS1zemlnbm8uaHWkdzB1MSMw +IQYDVQQDDBpNaWNyb3NlYyBlLVN6aWduw7MgUm9vdCBDQTEWMBQGA1UECwwNZS1TemlnbsOzIEhT +WjEWMBQGA1UEChMNTWljcm9zZWMgS2Z0LjERMA8GA1UEBxMIQnVkYXBlc3QxCzAJBgNVBAYTAkhV +MIGsBgNVHSMEgaQwgaGAFMegSXUWYYTbMUuE0vE3QJDvTtz3oXakdDByMQswCQYDVQQGEwJIVTER +MA8GA1UEBxMIQnVkYXBlc3QxFjAUBgNVBAoTDU1pY3Jvc2VjIEx0ZC4xFDASBgNVBAsTC2UtU3pp +Z25vIENBMSIwIAYDVQQDExlNaWNyb3NlYyBlLVN6aWdubyBSb290IENBghEAzLjnv04pGv2i3Gal +HCwPETAdBgNVHQ4EFgQUx6BJdRZhhNsxS4TS8TdAkO9O3PcwDQYJKoZIhvcNAQEFBQADggEBANMT +nGZjWS7KXHAM/IO8VbH0jgdsZifOwTsgqRy7RlRw7lrMoHfqaEQn6/Ip3Xep1fvj1KcExJW4C+FE +aGAHQzAxQmHl7tnlJNUb3+FKG6qfx1/4ehHqE5MAyopYse7tDk2016g2JnzgOsHVV4Lxdbb9iV/a +86g4nzUGCM4ilb7N1fy+W955a9x6qWVmvrElWl/tftOsRm1M9DKHtCAE4Gx4sHfRhUZLphK3dehK +yVZs15KrnfVJONJPU+NVkBHbmJbGSfI+9J8b4PeI3CVimUTYc78/MPMMNz7UwiiAc7EBt51alhQB +S6kRnSlqLtBdgcDPsiBDxwPgN05dCtxZICU= +-----END CERTIFICATE----- + +Certigna +======== +-----BEGIN CERTIFICATE----- +MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw +EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3 +MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwI +Q2VydGlnbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7q +XOEm7RFHYeGifBZ4QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyH +GxnygQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbwzBfsV1/p +ogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q130yGLMLLGq/jj8UEYkg +DncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKf +Irjxwo1p3Po6WAbfAgMBAAGjgbwwgbkwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQ +tCRZvgHyUtVF9lo53BEwZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJ +BgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzjAQ/J +SP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQUFAAOCAQEA +hQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8hbV6lUmPOEvjvKtpv6zf+EwLHyzs+ +ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFncfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1klu +PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY +1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw +WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== +-----END CERTIFICATE----- + +AC Ra\xC3\xADz Certic\xC3\xA1mara S.A. +====================================== +-----BEGIN CERTIFICATE----- +MIIGZjCCBE6gAwIBAgIPB35Sk3vgFeNX8GmMy+wMMA0GCSqGSIb3DQEBBQUAMHsxCzAJBgNVBAYT +AkNPMUcwRQYDVQQKDD5Tb2NpZWRhZCBDYW1lcmFsIGRlIENlcnRpZmljYWNpw7NuIERpZ2l0YWwg +LSBDZXJ0aWPDoW1hcmEgUy5BLjEjMCEGA1UEAwwaQUMgUmHDrXogQ2VydGljw6FtYXJhIFMuQS4w +HhcNMDYxMTI3MjA0NjI5WhcNMzAwNDAyMjE0MjAyWjB7MQswCQYDVQQGEwJDTzFHMEUGA1UECgw+ +U29jaWVkYWQgQ2FtZXJhbCBkZSBDZXJ0aWZpY2FjacOzbiBEaWdpdGFsIC0gQ2VydGljw6FtYXJh +IFMuQS4xIzAhBgNVBAMMGkFDIFJhw616IENlcnRpY8OhbWFyYSBTLkEuMIICIjANBgkqhkiG9w0B +AQEFAAOCAg8AMIICCgKCAgEAq2uJo1PMSCMI+8PPUZYILrgIem08kBeGqentLhM0R7LQcNzJPNCN +yu5LF6vQhbCnIwTLqKL85XXbQMpiiY9QngE9JlsYhBzLfDe3fezTf3MZsGqy2IiKLUV0qPezuMDU +2s0iiXRNWhU5cxh0T7XrmafBHoi0wpOQY5fzp6cSsgkiBzPZkc0OnB8OIMfuuzONj8LSWKdf/WU3 +4ojC2I+GdV75LaeHM/J4Ny+LvB2GNzmxlPLYvEqcgxhaBvzz1NS6jBUJJfD5to0EfhcSM2tXSExP +2yYe68yQ54v5aHxwD6Mq0Do43zeX4lvegGHTgNiRg0JaTASJaBE8rF9ogEHMYELODVoqDA+bMMCm +8Ibbq0nXl21Ii/kDwFJnmxL3wvIumGVC2daa49AZMQyth9VXAnow6IYm+48jilSH5L887uvDdUhf +HjlvgWJsxS3EF1QZtzeNnDeRyPYL1epjb4OsOMLzP96a++EjYfDIJss2yKHzMI+ko6Kh3VOz3vCa +Mh+DkXkwwakfU5tTohVTP92dsxA7SH2JD/ztA/X7JWR1DhcZDY8AFmd5ekD8LVkH2ZD6mq093ICK +5lw1omdMEWux+IBkAC1vImHFrEsm5VoQgpukg3s0956JkSCXjrdCx2bD0Omk1vUgjcTDlaxECp1b +czwmPS9KvqfJpxAe+59QafMCAwEAAaOB5jCB4zAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE +AwIBBjAdBgNVHQ4EFgQU0QnQ6dfOeXRU+Tows/RtLAMDG2gwgaAGA1UdIASBmDCBlTCBkgYEVR0g +ADCBiTArBggrBgEFBQcCARYfaHR0cDovL3d3dy5jZXJ0aWNhbWFyYS5jb20vZHBjLzBaBggrBgEF +BQcCAjBOGkxMaW1pdGFjaW9uZXMgZGUgZ2FyYW507WFzIGRlIGVzdGUgY2VydGlmaWNhZG8gc2Ug +cHVlZGVuIGVuY29udHJhciBlbiBsYSBEUEMuMA0GCSqGSIb3DQEBBQUAA4ICAQBclLW4RZFNjmEf +AygPU3zmpFmps4p6xbD/CHwso3EcIRNnoZUSQDWDg4902zNc8El2CoFS3UnUmjIz75uny3XlesuX +EpBcunvFm9+7OSPI/5jOCk0iAUgHforA1SBClETvv3eiiWdIG0ADBaGJ7M9i4z0ldma/Jre7Ir5v +/zlXdLp6yQGVwZVR6Kss+LGGIOk/yzVb0hfpKv6DExdA7ohiZVvVO2Dpezy4ydV/NgIlqmjCMRW3 +MGXrfx1IebHPOeJCgBbT9ZMj/EyXyVo3bHwi2ErN0o42gzmRkBDI8ck1fj+404HGIGQatlDCIaR4 +3NAvO2STdPCWkPHv+wlaNECW8DYSwaN0jJN+Qd53i+yG2dIPPy3RzECiiWZIHiCznCNZc6lEc7wk +eZBWN7PGKX6jD/EpOe9+XCgycDWs2rjIdWb8m0w5R44bb5tNAlQiM+9hup4phO9OSzNHdpdqy35f +/RWmnkJDW2ZaiogN9xa5P1FlK2Zqi9E4UqLWRhH6/JocdJ6PlwsCT2TG9WjTSy3/pDceiz+/RL5h +RqGEPQgnTIEgd4kI6mdAXmwIUV80WoyWaM3X94nCHNMyAK9Sy9NgWyo6R35rMDOhYil/SrnhLecU +Iw4OGEfhefwVVdCx/CVxY3UzHCMrr1zZ7Ud3YA47Dx7SwNxkBYn8eNZcLCZDqQ== +-----END CERTIFICATE----- + +TC TrustCenter Class 2 CA II +============================ +-----BEGIN CERTIFICATE----- +MIIEqjCCA5KgAwIBAgIOLmoAAQACH9dSISwRXDswDQYJKoZIhvcNAQEFBQAwdjELMAkGA1UEBhMC +REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNVBAsTGVRDIFRydXN0Q2VudGVy +IENsYXNzIDIgQ0ExJTAjBgNVBAMTHFRDIFRydXN0Q2VudGVyIENsYXNzIDIgQ0EgSUkwHhcNMDYw +MTEyMTQzODQzWhcNMjUxMjMxMjI1OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1 +c3RDZW50ZXIgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQTElMCMGA1UE +AxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +AQoCggEBAKuAh5uO8MN8h9foJIIRszzdQ2Lu+MNF2ujhoF/RKrLqk2jftMjWQ+nEdVl//OEd+DFw +IxuInie5e/060smp6RQvkL4DUsFJzfb95AhmC1eKokKguNV/aVyQMrKXDcpK3EY+AlWJU+MaWss2 +xgdW94zPEfRMuzBwBJWl9jmM/XOBCH2JXjIeIqkiRUuwZi4wzJ9l/fzLganx4Duvo4bRierERXlQ +Xa7pIXSSTYtZgo+U4+lK8edJsBTj9WLL1XK9H7nSn6DNqPoByNkN39r8R52zyFTfSUrxIan+GE7u +SNQZu+995OKdy1u2bv/jzVrndIIFuoAlOMvkaZ6vQaoahPUCAwEAAaOCATQwggEwMA8GA1UdEwEB +/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTjq1RMgKHbVkO3kUrL84J6E1wIqzCB +7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRydXN0Y2VudGVyLmRlL2NybC92Mi90 +Y19jbGFzc18yX2NhX0lJLmNybIaBn2xkYXA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBU +cnVzdENlbnRlciUyMENsYXNzJTIwMiUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21i +SCxPVT1yb290Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u +TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEAjNfffu4bgBCzg/XbEeprS6iSGNn3Bzn1LL4G +dXpoUxUc6krtXvwjshOg0wn/9vYua0Fxec3ibf2uWWuFHbhOIprtZjluS5TmVfwLG4t3wVMTZonZ +KNaL80VKY7f9ewthXbhtvsPcW3nS7Yblok2+XnR8au0WOB9/WIFaGusyiC2y8zl3gK9etmF1Kdsj +TYjKUCjLhdLTEKJZbtOTVAB6okaVhgWcqRmY5TFyDADiZ9lA4CQze28suVyrZZ0srHbqNZn1l7kP +JOzHdiEoZa5X6AeIdUpWoNIFOqTmjZKILPPy4cHGYdtBxceb9w4aUUXCYWvcZCcXjFq32nQozZfk +vQ== +-----END CERTIFICATE----- + +TC TrustCenter Class 3 CA II +============================ +-----BEGIN CERTIFICATE----- +MIIEqjCCA5KgAwIBAgIOSkcAAQAC5aBd1j8AUb8wDQYJKoZIhvcNAQEFBQAwdjELMAkGA1UEBhMC +REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNVBAsTGVRDIFRydXN0Q2VudGVy +IENsYXNzIDMgQ0ExJTAjBgNVBAMTHFRDIFRydXN0Q2VudGVyIENsYXNzIDMgQ0EgSUkwHhcNMDYw +MTEyMTQ0MTU3WhcNMjUxMjMxMjI1OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1 +c3RDZW50ZXIgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBDQTElMCMGA1UE +AxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +AQoCggEBALTgu1G7OVyLBMVMeRwjhjEQY0NVJz/GRcekPewJDRoeIMJWHt4bNwcwIi9v8Qbxq63W +yKthoy9DxLCyLfzDlml7forkzMA5EpBCYMnMNWju2l+QVl/NHE1bWEnrDgFPZPosPIlY2C8u4rBo +6SI7dYnWRBpl8huXJh0obazovVkdKyT21oQDZogkAHhg8fir/gKya/si+zXmFtGt9i4S5Po1auUZ +uV3bOx4a+9P/FRQI2AlqukWdFHlgfa9Aigdzs5OW03Q0jTo3Kd5c7PXuLjHCINy+8U9/I1LZW+Jk +2ZyqBwi1Rb3R0DHBq1SfqdLDYmAD8bs5SpJKPQq5ncWg/jcCAwEAAaOCATQwggEwMA8GA1UdEwEB +/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTUovyfs8PYA9NXXAek0CSnwPIA1DCB +7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRydXN0Y2VudGVyLmRlL2NybC92Mi90 +Y19jbGFzc18zX2NhX0lJLmNybIaBn2xkYXA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBU +cnVzdENlbnRlciUyMENsYXNzJTIwMyUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21i +SCxPVT1yb290Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u +TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEANmDkcPcGIEPZIxpC8vijsrlNirTzwppVMXzE +O2eatN9NDoqTSheLG43KieHPOh6sHfGcMrSOWXaiQYUlN6AT0PV8TtXqluJucsG7Kv5sbviRmEb8 +yRtXW+rIGjs/sFGYPAfaLFkB2otE6OF0/ado3VS6g0bsyEa1+K+XwDsJHI/OcpY9M1ZwvJbL2NV9 +IJqDnxrcOfHFcqMRA/07QlIp2+gB95tejNaNhk4Z+rwcvsUhpYeeeC422wlxo3I0+GzjBgnyXlal +092Y+tTmBvTwtiBjS+opvaqCZh77gaqnN60TGOaSw4HBM7uIHqHn4rS9MWwOUT1v+5ZWgOI2F9Hc +5A== +-----END CERTIFICATE----- + +TC TrustCenter Universal CA I +============================= +-----BEGIN CERTIFICATE----- +MIID3TCCAsWgAwIBAgIOHaIAAQAC7LdggHiNtgYwDQYJKoZIhvcNAQEFBQAweTELMAkGA1UEBhMC +REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNVBAsTG1RDIFRydXN0Q2VudGVy +IFVuaXZlcnNhbCBDQTEmMCQGA1UEAxMdVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBIEkwHhcN +MDYwMzIyMTU1NDI4WhcNMjUxMjMxMjI1OTU5WjB5MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMg +VHJ1c3RDZW50ZXIgR21iSDEkMCIGA1UECxMbVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBMSYw +JAYDVQQDEx1UQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0EgSTCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAKR3I5ZEr5D0MacQ9CaHnPM42Q9e3s9B6DGtxnSRJJZ4Hgmgm5qVSkr1YnwC +qMqs+1oEdjneX/H5s7/zA1hV0qq34wQi0fiU2iIIAI3TfCZdzHd55yx4Oagmcw6iXSVphU9VDprv +xrlE4Vc93x9UIuVvZaozhDrzznq+VZeujRIPFDPiUHDDSYcTvFHe15gSWu86gzOSBnWLknwSaHtw +ag+1m7Z3W0hZneTvWq3zwZ7U10VOylY0Ibw+F1tvdwxIAUMpsN0/lm7mlaoMwCC2/T42J5zjXM9O +gdwZu5GQfezmlwQek8wiSdeXhrYTCjxDI3d+8NzmzSQfO4ObNDqDNOMCAwEAAaNjMGEwHwYDVR0j +BBgwFoAUkqR1LKSevoFE63n8isWVpesQdXMwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AYYwHQYDVR0OBBYEFJKkdSyknr6BROt5/IrFlaXrEHVzMA0GCSqGSIb3DQEBBQUAA4IBAQAo0uCG +1eb4e/CX3CJrO5UUVg8RMKWaTzqwOuAGy2X17caXJ/4l8lfmXpWMPmRgFVp/Lw0BxbFg/UU1z/Cy +vwbZ71q+s2IhtNerNXxTPqYn8aEt2hojnczd7Dwtnic0XQ/CNnm8yUpiLe1r2X1BQ3y2qsrtYbE3 +ghUJGooWMNjsydZHcnhLEEYUjl8Or+zHL6sQ17bxbuyGssLoDZJz3KL0Dzq/YSMQiZxIQG5wALPT +ujdEWBF6AmqI8Dc08BnprNRlc/ZpjGSUOnmFKbAWKwyCPwacx/0QK54PLLae4xW/2TYcuiUaUj0a +7CIMHOCkoj3w6DnPgcB77V0fb8XQC9eY +-----END CERTIFICATE----- + +Deutsche Telekom Root CA 2 +========================== +-----BEGIN CERTIFICATE----- +MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMT +RGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEG +A1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENBIDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5 +MjM1OTAwWjBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0G +A1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBS +b290IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEUha88EOQ5 +bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhCQN/Po7qCWWqSG6wcmtoI +KyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1MjwrrFDa1sPeg5TKqAyZMg4ISFZbavva4VhY +AUlfckE8FQYBjl2tqriTtM2e66foai1SNNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aK +Se5TBY8ZTNXeWHmb0mocQqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTV +jlsB9WoHtxa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAPBgNV +HRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAlGRZrTlk5ynr +E/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756AbrsptJh6sTtU6zkXR34ajgv8HzFZMQSy +zhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpaIzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8 +rZ7/gFnkm0W09juwzTkZmDLl6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4G +dyd1Lx+4ivn+xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU +Cm26OWMohpLzGITY+9HPBVZkVw== +-----END CERTIFICATE----- + +ComSign Secured CA +================== +-----BEGIN CERTIFICATE----- +MIIDqzCCApOgAwIBAgIRAMcoRwmzuGxFjB36JPU2TukwDQYJKoZIhvcNAQEFBQAwPDEbMBkGA1UE +AxMSQ29tU2lnbiBTZWN1cmVkIENBMRAwDgYDVQQKEwdDb21TaWduMQswCQYDVQQGEwJJTDAeFw0w +NDAzMjQxMTM3MjBaFw0yOTAzMTYxNTA0NTZaMDwxGzAZBgNVBAMTEkNvbVNpZ24gU2VjdXJlZCBD +QTEQMA4GA1UEChMHQ29tU2lnbjELMAkGA1UEBhMCSUwwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQDGtWhfHZQVw6QIVS3joFd67+l0Kru5fFdJGhFeTymHDEjWaueP1H5XJLkGieQcPOqs +49ohgHMhCu95mGwfCP+hUH3ymBvJVG8+pSjsIQQPRbsHPaHA+iqYHU4Gk/v1iDurX8sWv+bznkqH +7Rnqwp9D5PGBpX8QTz7RSmKtUxvLg/8HZaWSLWapW7ha9B20IZFKF3ueMv5WJDmyVIRD9YTC2LxB +kMyd1mja6YJQqTtoz7VdApRgFrFD2UNd3V2Hbuq7s8lr9gOUCXDeFhF6K+h2j0kQmHe5Y1yLM5d1 +9guMsqtb3nQgJT/j8xH5h2iGNXHDHYwt6+UarA9z1YJZQIDTAgMBAAGjgacwgaQwDAYDVR0TBAUw +AwEB/zBEBgNVHR8EPTA7MDmgN6A1hjNodHRwOi8vZmVkaXIuY29tc2lnbi5jby5pbC9jcmwvQ29t +U2lnblNlY3VyZWRDQS5jcmwwDgYDVR0PAQH/BAQDAgGGMB8GA1UdIwQYMBaAFMFL7XC29z58ADsA +j8c+DkWfHl3sMB0GA1UdDgQWBBTBS+1wtvc+fAA7AI/HPg5Fnx5d7DANBgkqhkiG9w0BAQUFAAOC +AQEAFs/ukhNQq3sUnjO2QiBq1BW9Cav8cujvR3qQrFHBZE7piL1DRYHjZiM/EoZNGeQFsOY3wo3a +BijJD4mkU6l1P7CW+6tMM1X5eCZGbxs2mPtCdsGCuY7e+0X5YxtiOzkGynd6qDwJz2w2PQ8KRUtp +FhpFfTMDZflScZAmlaxMDPWLkz/MdXSFmLr/YnpNH4n+rr2UAJm/EaXc4HnFFgt9AmEd6oX5AhVP +51qJThRv4zdLhfXBPGHg/QVBspJ/wx2g0K5SZGBrGMYmnNj1ZOQ2GmKfig8+/21OGVZOIJFsnzQz +OjRXUDpvgV4GxvU+fE6OK85lBi5d0ipTdF7Tbieejw== +-----END CERTIFICATE----- + +Cybertrust Global Root +====================== +-----BEGIN CERTIFICATE----- +MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYGA1UEChMPQ3li +ZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBSb290MB4XDTA2MTIxNTA4 +MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQD +ExZDeWJlcnRydXN0IEdsb2JhbCBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA ++Mi8vRRQZhP/8NN57CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW +0ozSJ8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2yHLtgwEZL +AfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iPt3sMpTjr3kfb1V05/Iin +89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNzFtApD0mpSPCzqrdsxacwOUBdrsTiXSZT +8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAYXSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAP +BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2 +MDSgMqAwhi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3JsMB8G +A1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUAA4IBAQBW7wojoFRO +lZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMjWqd8BfP9IjsO0QbE2zZMcwSO5bAi +5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUxXOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2 +hO0j9n0Hq0V+09+zv+mKts2oomcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+T +X3EJIrduPuocA06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW +WL1WMRJOEcgh4LMRkWXbtKaIOM5V +-----END CERTIFICATE----- + +ePKI Root Certification Authority +================================= +-----BEGIN CERTIFICATE----- +MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQG +EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xKjAoBgNVBAsMIWVQS0kg +Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMx +MjdaMF4xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEq +MCgGA1UECwwhZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0B +AQEFAAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAHSyZbCUNs +IZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAhijHyl3SJCRImHJ7K2RKi +lTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3XDZoTM1PRYfl61dd4s5oz9wCGzh1NlDiv +qOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX +12ruOzjjK9SXDrkb5wdJfzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0O +WQqraffAsgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uUWH1+ +ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLSnT0IFaUQAS2zMnao +lQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pHdmX2Os+PYhcZewoozRrSgx4hxyy/ +vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJipNiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXi +Zo1jDiVN1Rmy5nk3pyKdVDECAwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/Qkqi +MAwGA1UdEwQFMAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH +ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGBuvl2ICO1J2B0 +1GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6YlPwZpVnPDimZI+ymBV3QGypzq +KOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkPJXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdV +xrsStZf0X4OFunHB2WyBEXYKCrC/gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEP +NXubrjlpC2JgQCA2j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+r +GNm65ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUBo2M3IUxE +xJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS/jQ6fbjpKdx2qcgw+BRx +gMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2zGp1iro2C6pSe3VkQw63d4k3jMdXH7Ojy +sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD +BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw= +-----END CERTIFICATE----- + +T\xc3\x9c\x42\xC4\xB0TAK UEKAE K\xC3\xB6k Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 - S\xC3\xBCr\xC3\xBCm 3 +============================================================================================================================= +-----BEGIN CERTIFICATE----- +MIIFFzCCA/+gAwIBAgIBETANBgkqhkiG9w0BAQUFADCCASsxCzAJBgNVBAYTAlRSMRgwFgYDVQQH +DA9HZWJ6ZSAtIEtvY2FlbGkxRzBFBgNVBAoMPlTDvHJraXllIEJpbGltc2VsIHZlIFRla25vbG9q +aWsgQXJhxZ90xLFybWEgS3VydW11IC0gVMOcQsSwVEFLMUgwRgYDVQQLDD9VbHVzYWwgRWxla3Ry +b25payB2ZSBLcmlwdG9sb2ppIEFyYcWfdMSxcm1hIEVuc3RpdMO8c8O8IC0gVUVLQUUxIzAhBgNV +BAsMGkthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppMUowSAYDVQQDDEFUw5xCxLBUQUsgVUVLQUUg +S8O2ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSAtIFPDvHLDvG0gMzAeFw0wNzA4 +MjQxMTM3MDdaFw0xNzA4MjExMTM3MDdaMIIBKzELMAkGA1UEBhMCVFIxGDAWBgNVBAcMD0dlYnpl +IC0gS29jYWVsaTFHMEUGA1UECgw+VMO8cmtpeWUgQmlsaW1zZWwgdmUgVGVrbm9sb2ppayBBcmHF +n3TEsXJtYSBLdXJ1bXUgLSBUw5xCxLBUQUsxSDBGBgNVBAsMP1VsdXNhbCBFbGVrdHJvbmlrIHZl +IEtyaXB0b2xvamkgQXJhxZ90xLFybWEgRW5zdGl0w7xzw7wgLSBVRUtBRTEjMCEGA1UECwwaS2Ft +dSBTZXJ0aWZpa2FzeW9uIE1lcmtlemkxSjBIBgNVBAMMQVTDnELEsFRBSyBVRUtBRSBLw7ZrIFNl +cnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIC0gU8O8csO8bSAzMIIBIjANBgkqhkiG9w0B +AQEFAAOCAQ8AMIIBCgKCAQEAim1L/xCIOsP2fpTo6iBkcK4hgb46ezzb8R1Sf1n68yJMlaCQvEhO +Eav7t7WNeoMojCZG2E6VQIdhn8WebYGHV2yKO7Rm6sxA/OOqbLLLAdsyv9Lrhc+hDVXDWzhXcLh1 +xnnRFDDtG1hba+818qEhTsXOfJlfbLm4IpNQp81McGq+agV/E5wrHur+R84EpW+sky58K5+eeROR +6Oqeyjh1jmKwlZMq5d/pXpduIF9fhHpEORlAHLpVK/swsoHvhOPc7Jg4OQOFCKlUAwUp8MmPi+oL +hmUZEdPpCSPeaJMDyTYcIW7OjGbxmTDY17PDHfiBLqi9ggtm/oLL4eAagsNAgQIDAQABo0IwQDAd +BgNVHQ4EFgQUvYiHyY/2pAoLquvF/pEjnatKijIwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF +MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAB18+kmPNOm3JpIWmgV050vQbTlswyb2zrgxvMTfvCr4 +N5EY3ATIZJkrGG2AA1nJrvhY0D7twyOfaTyGOBye79oneNGEN3GKPEs5z35FBtYt2IpNeBLWrcLT +y9LQQfMmNkqblWwM7uXRQydmwYj3erMgbOqwaSvHIOgMA8RBBZniP+Rr+KCGgceExh/VS4ESshYh +LBOhgLJeDEoTniDYYkCrkOpkSi+sDQESeUWoL4cZaMjihccwsnX5OD+ywJO0a+IDRM5noN+J1q2M +dqMTw5RhK2vZbMEHCiIHhWyFJEapvj+LeISCfiQMnf2BN+MlqO02TpUsyZyQ2uypQjyttgI= +-----END CERTIFICATE----- + +Buypass Class 2 CA 1 +==================== +-----BEGIN CERTIFICATE----- +MIIDUzCCAjugAwIBAgIBATANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU +QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMiBDQSAxMB4XDTA2 +MTAxMzEwMjUwOVoXDTE2MTAxMzEwMjUwOVowSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh +c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDIgQ0EgMTCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAIs8B0XY9t/mx8q6jUPFR42wWsE425KEHK8T1A9vNkYgxC7M +cXA0ojTTNy7Y3Tp3L8DrKehc0rWpkTSHIln+zNvnma+WwajHQN2lFYxuyHyXA8vmIPLXl18xoS83 +0r7uvqmtqEyeIWZDO6i88wmjONVZJMHCR3axiFyCO7srpgTXjAePzdVBHfCuuCkslFJgNJQ72uA4 +0Z0zPhX0kzLFANq1KWYOOngPIVJfAuWSeyXTkh4vFZ2B5J2O6O+JzhRMVB0cgRJNcKi+EAUXfh/R +uFdV7c27UsKwHnjCTTZoy1YmwVLBvXb3WNVyfh9EdrsAiR0WnVE1703CVu9r4Iw7DekCAwEAAaNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUP42aWYv8e3uco684sDntkHGA1sgwDgYDVR0P +AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQAVGn4TirnoB6NLJzKyQJHyIdFkhb5jatLPgcIV +1Xp+DCmsNx4cfHZSldq1fyOhKXdlyTKdqC5Wq2B2zha0jX94wNWZUYN/Xtm+DKhQ7SLHrQVMdvvt +7h5HZPb3J31cKA9FxVxiXqaakZG3Uxcu3K1gnZZkOb1naLKuBctN518fV4bVIJwo+28TOPX2EZL2 +fZleHwzoq0QkKXJAPTZSr4xYkHPB7GEseaHsh7U/2k3ZIQAw3pDaDtMaSKk+hQsUi4y8QZ5q9w5w +wDX3OaJdZtB7WZ+oRxKaJyOkLY4ng5IgodcVf/EuGO70SH8vf/GhGLWhC5SgYiAynB321O+/TIho +-----END CERTIFICATE----- + +Buypass Class 3 CA 1 +==================== +-----BEGIN CERTIFICATE----- +MIIDUzCCAjugAwIBAgIBAjANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU +QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMyBDQSAxMB4XDTA1 +MDUwOTE0MTMwM1oXDTE1MDUwOTE0MTMwM1owSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh +c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDMgQ0EgMTCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAKSO13TZKWTeXx+HgJHqTjnmGcZEC4DVC69TB4sSveZn8AKx +ifZgisRbsELRwCGoy+Gb72RRtqfPFfV0gGgEkKBYouZ0plNTVUhjP5JW3SROjvi6K//zNIqeKNc0 +n6wv1g/xpC+9UrJJhW05NfBEMJNGJPO251P7vGGvqaMU+8IXF4Rs4HyI+MkcVyzwPX6UvCWThOia +AJpFBUJXgPROztmuOfbIUxAMZTpHe2DC1vqRycZxbL2RhzyRhkmr8w+gbCZ2Xhysm3HljbybIR6c +1jh+JIAVMYKWsUnTYjdbiAwKYjT+p0h+mbEwi5A3lRyoH6UsjfRVyNvdWQrCrXig9IsCAwEAAaNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUOBTmyPCppAP0Tj4io1vy1uCtQHQwDgYDVR0P +AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQABZ6OMySU9E2NdFm/soT4JXJEVKirZgCFPBdy7 +pYmrEzMqnji3jG8CcmPHc3ceCQa6Oyh7pEfJYWsICCD8igWKH7y6xsL+z27sEzNxZy5p+qksP2bA +EllNC1QCkoS72xLvg3BweMhT+t/Gxv/ciC8HwEmdMldg0/L2mSlf56oBzKwzqBwKu5HEA6BvtjT5 +htOzdlSY9EqBs1OdTUDs5XcTRa9bqh/YL0yCe/4qxFi7T/ye/QNlGioOw6UgFpRreaaiErS7GqQj +el/wroQk5PMr+4okoyeYZdowdXb8GZHo2+ubPzK/QJcHJrrM85SFSnonk8+QQtS4Wxam58tAA915 +-----END CERTIFICATE----- + +EBG Elektronik Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 +========================================================================== +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +certSIGN ROOT CA +================ +-----BEGIN CERTIFICATE----- +MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD +VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa +Fw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UE +CxMQY2VydFNJR04gUk9PVCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7I +JUqOtdu0KBuqV5Do0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHH +rfAQUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5dRdY4zTW2 +ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQOA7+j0xbm0bqQfWwCHTD +0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwvJoIQ4uNllAoEwF73XVv4EOLQunpL+943 +AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B +Af8EBAMCAcYwHQYDVR0OBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IB +AQA+0hyJLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecYMnQ8 +SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ44gx+FkagQnIl6Z0 +x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTEHBDa0GpC9oHRxUIlt +vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz +TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD +-----END CERTIFICATE----- + +CNNIC ROOT +========== +-----BEGIN CERTIFICATE----- +MIIDVTCCAj2gAwIBAgIESTMAATANBgkqhkiG9w0BAQUFADAyMQswCQYDVQQGEwJDTjEOMAwGA1UE +ChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1QwHhcNMDcwNDE2MDcwOTE0WhcNMjcwNDE2MDcw +OTE0WjAyMQswCQYDVQQGEwJDTjEOMAwGA1UEChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1Qw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDTNfc/c3et6FtzF8LRb+1VvG7q6KR5smzD +o+/hn7E7SIX1mlwhIhAsxYLO2uOabjfhhyzcuQxauohV3/2q2x8x6gHx3zkBwRP9SFIhxFXf2tiz +VHa6dLG3fdfA6PZZxU3Iva0fFNrfWEQlMhkqx35+jq44sDB7R3IJMfAw28Mbdim7aXZOV/kbZKKT +VrdvmW7bCgScEeOAH8tjlBAKqeFkgjH5jCftppkA9nCTGPihNIaj3XrCGHn2emU1z5DrvTOTn1Or +czvmmzQgLx3vqR1jGqCA2wMv+SYahtKNu6m+UjqHZ0gNv7Sg2Ca+I19zN38m5pIEo3/PIKe38zrK +y5nLAgMBAAGjczBxMBEGCWCGSAGG+EIBAQQEAwIABzAfBgNVHSMEGDAWgBRl8jGtKvf33VKWCscC +wQ7vptU7ETAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIB/jAdBgNVHQ4EFgQUZfIxrSr3991S +lgrHAsEO76bVOxEwDQYJKoZIhvcNAQEFBQADggEBAEs17szkrr/Dbq2flTtLP1se31cpolnKOOK5 +Gv+e5m4y3R6u6jW39ZORTtpC4cMXYFDy0VwmuYK36m3knITnA3kXr5g9lNvHugDnuL8BV8F3RTIM +O/G0HAiw/VGgod2aHRM2mm23xzy54cXZF/qD1T0VoDy7HgviyJA/qIYM/PmLXoXLT1tLYhFHxUV8 +BS9BsZ4QaRuZluBVeftOhpm4lNqGOGqTo+fLbuXf6iFViZx9fX+Y9QCJ7uOEwFyWtcVG6kbghVW2 +G8kS1sHNzYDzAgE8yGnLRUhj2JTQ7IUOO04RZfSCjKY9ri4ilAnIXOo8gV0WKgOXFlUJ24pBgp5m +mxE= +-----END CERTIFICATE----- + +ApplicationCA - Japanese Government +=================================== +-----BEGIN CERTIFICATE----- +MIIDoDCCAoigAwIBAgIBMTANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJKUDEcMBoGA1UEChMT +SmFwYW5lc2UgR292ZXJubWVudDEWMBQGA1UECxMNQXBwbGljYXRpb25DQTAeFw0wNzEyMTIxNTAw +MDBaFw0xNzEyMTIxNTAwMDBaMEMxCzAJBgNVBAYTAkpQMRwwGgYDVQQKExNKYXBhbmVzZSBHb3Zl +cm5tZW50MRYwFAYDVQQLEw1BcHBsaWNhdGlvbkNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEAp23gdE6Hj6UG3mii24aZS2QNcfAKBZuOquHMLtJqO8F6tJdhjYq+xpqcBrSGUeQ3DnR4 +fl+Kf5Sk10cI/VBaVuRorChzoHvpfxiSQE8tnfWuREhzNgaeZCw7NCPbXCbkcXmP1G55IrmTwcrN +wVbtiGrXoDkhBFcsovW8R0FPXjQilbUfKW1eSvNNcr5BViCH/OlQR9cwFO5cjFW6WY2H/CPek9AE +jP3vbb3QesmlOmpyM8ZKDQUXKi17safY1vC+9D/qDihtQWEjdnjDuGWk81quzMKq2edY3rZ+nYVu +nyoKb58DKTCXKB28t89UKU5RMfkntigm/qJj5kEW8DOYRwIDAQABo4GeMIGbMB0GA1UdDgQWBBRU +WssmP3HMlEYNllPqa0jQk/5CdTAOBgNVHQ8BAf8EBAMCAQYwWQYDVR0RBFIwUKROMEwxCzAJBgNV +BAYTAkpQMRgwFgYDVQQKDA/ml6XmnKzlm73mlL/lupwxIzAhBgNVBAsMGuOCouODl+ODquOCseOD +vOOCt+ODp+ODs0NBMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADlqRHZ3ODrs +o2dGD/mLBqj7apAxzn7s2tGJfHrrLgy9mTLnsCTWw//1sogJhyzjVOGjprIIC8CFqMjSnHH2HZ9g +/DgzE+Ge3Atf2hZQKXsvcJEPmbo0NI2VdMV+eKlmXb3KIXdCEKxmJj3ekav9FfBv7WxfEPjzFvYD +io+nEhEMy/0/ecGc/WLuo89UDNErXxc+4z6/wCs+CZv+iKZ+tJIX/COUgb1up8WMwusRRdv4QcmW +dupwX3kSa+SjB1oF7ydJzyGfikwJcGapJsErEU4z0g781mzSDjJkaP+tBXhfAx2o45CsJOAPQKdL +rosot4LKGAfmt1t06SAZf7IbiVQ= +-----END CERTIFICATE----- + +GeoTrust Primary Certification Authority - G3 +============================================= +-----BEGIN CERTIFICATE----- +MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UE +BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0 +IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFy +eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIz +NTk1OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAo +YykgMjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMT +LUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5j +K/BGvESyiaHAKAxJcCGVn2TAppMSAmUmhsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdE +c5IiaacDiGydY8hS2pgn5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3C +IShwiP/WJmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exALDmKu +dlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZChuOl1UcCAwEAAaNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMR5yo6hTgMdHNxr +2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9 +cr5HqQ6XErhK8WTTOd8lNNTBzU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbE +Ap7aDHdlDkQNkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD +AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s +t/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+oghLrGREt +-----END CERTIFICATE----- + +thawte Primary Root CA - G2 +=========================== +-----BEGIN CERTIFICATE----- +MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDELMAkGA1UEBhMC +VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGhhd3RlLCBJbmMu +IC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3Qg +Q0EgLSBHMjAeFw0wNzExMDUwMDAwMDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEV +MBMGA1UEChMMdGhhd3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBG +b3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAt +IEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/BebfowJPDQfGAFG6DAJS +LSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6papu+7qzcMBniKI11KOasf2twu8x+qi5 +8/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU +mtgAMADna3+FGO6Lts6KDPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUN +G4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ3K +rr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg== +-----END CERTIFICATE----- + +thawte Primary Root CA - G3 +=========================== +-----BEGIN CERTIFICATE----- +MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCBrjELMAkGA1UE +BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2 +aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv +cml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0w +ODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh +d3RlLCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMTgwNgYD +VQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIG +A1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAsr8nLPvb2FvdeHsbnndmgcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2At +P0LMqmsywCPLLEHd5N/8YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC ++BsUa0Lfb1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS99irY +7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2SzhkGcuYMXDhpxwTW +vGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUkOQIDAQABo0IwQDAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJ +KoZIhvcNAQELBQADggEBABpA2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweK +A3rD6z8KLFIWoCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu +t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7cKUGRIjxpp7sC +8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fMm7v/OeZWYdMKp8RcTGB7BXcm +er/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa6sY6A= +-----END CERTIFICATE----- + +GeoTrust Primary Certification Authority - G2 +============================================= +-----BEGIN CERTIFICATE----- +MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDELMAkGA1UEBhMC +VVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA3IEdlb1RydXN0IElu +Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBD +ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1 +OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg +MjAwNyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMTLUdl +b1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjB2MBAGByqGSM49AgEG +BSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcLSo17VDs6bl8VAsBQps8lL33KSLjHUGMc +KiEIfJo22Av+0SbFWDEwKCXzXV2juLaltJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYD +VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+ +EVXVMAoGCCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGTqQ7m +ndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBuczrD6ogRLQy7rQkgu2 +npaqBA+K +-----END CERTIFICATE----- + +VeriSign Universal Root Certification Authority +=============================================== +-----BEGIN CERTIFICATE----- +MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCBvTELMAkGA1UE +BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO +ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk +IHVzZSBvbmx5MTgwNgYDVQQDEy9WZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9u +IEF1dGhvcml0eTAeFw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJV +UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv +cmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl +IG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNhbCBSb290IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj +1mCOkdeQmIN65lgZOIzF9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGP +MiJhgsWHH26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+HLL72 +9fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN/BMReYTtXlT2NJ8I +AfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPTrJ9VAMf2CGqUuV/c4DPxhGD5WycR +tPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0G +CCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2O +a8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud +DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4sAPmLGd75JR3 +Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+seQxIcaBlVZaDrHC1LGmWazx +Y8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTx +P/jgdFcrGJ2BtMQo2pSXpXDrrB2+BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+P +wGZsY6rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4 +mJO37M2CYfE45k+XmCpajQ== +-----END CERTIFICATE----- + +VeriSign Class 3 Public Primary Certification Authority - G4 +============================================================ +-----BEGIN CERTIFICATE----- +MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UEBhMC +VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3 +b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVz +ZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjEL +MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU +cnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRo +b3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5 +IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8 +Utpkmw4tXNherJI9/gHmGUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGz +rl0Bp3vefLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUwAwEB +/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEw +HzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24u +Y29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMWkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMD +A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIx +AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA== +-----END CERTIFICATE----- + +NetLock Arany (Class Gold) FÅ‘tanúsítvány +============================================ +-----BEGIN CERTIFICATE----- +MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G +A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610 +dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBB +cmFueSAoQ2xhc3MgR29sZCkgRsWRdGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgx +MjA2MTUwODIxWjCBpzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxO +ZXRMb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlmaWNhdGlv +biBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNzIEdvbGQpIEbFkXRhbsO6 +c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu +0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrTlF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw +/HpYzY6b7cNGbIRwXdrzAZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAk +H3B5r9s5VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRGILdw +fzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2BJtr+UBdADTHLpl1 +neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2MU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwW +qZw8UQCgwBEIBaeZ5m8BiFRhbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTta +YtOUZcTh5m2C+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC +bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2FuLjbvrW5Kfna +NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu +dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E= +-----END CERTIFICATE----- + +Staat der Nederlanden Root CA - G2 +================================== +-----BEGIN CERTIFICATE----- +MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE +CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g +Um9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oXDTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMC +TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l +ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ +5291qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8SpuOUfiUtn +vWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPUZ5uW6M7XxgpT0GtJlvOj +CwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvEpMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiil +e7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCR +OME4HYYEhLoaJXhena/MUGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpI +CT0ugpTNGmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy5V65 +48r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv6q012iDTiIJh8BIi +trzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEKeN5KzlW/HdXZt1bv8Hb/C3m1r737 +qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMB +AAGjgZcwgZQwDwYDVR0TAQH/BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcC +ARYxaHR0cDovL3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV +HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqGSIb3DQEBCwUA +A4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLySCZa59sCrI2AGeYwRTlHSeYAz ++51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwj +f/ST7ZwaUb7dRUG/kSS0H4zpX897IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaN +kqbG9AclVMwWVxJKgnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfk +CpYL+63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxLvJxxcypF +URmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkmbEgeqmiSBeGCc1qb3Adb +CG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvkN1trSt8sV4pAWja63XVECDdCcAz+3F4h +oKOKwJCcaNpQ5kUQR3i2TtJlycM33+FCY7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoV +IPVVYpbtbZNQvOSqeK3Zywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm +66+KAQ== +-----END CERTIFICATE----- + +CA Disig +======== +-----BEGIN CERTIFICATE----- +MIIEDzCCAvegAwIBAgIBATANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMK +QnJhdGlzbGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwHhcNMDYw +MzIyMDEzOTM0WhcNMTYwMzIyMDEzOTM0WjBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMKQnJhdGlz +bGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQCS9jHBfYj9mQGp2HvycXXxMcbzdWb6UShGhJd4NLxs/LxFWYgm +GErENx+hSkS943EE9UQX4j/8SFhvXJ56CbpRNyIjZkMhsDxkovhqFQ4/61HhVKndBpnXmjxUizkD +Pw/Fzsbrg3ICqB9x8y34dQjbYkzo+s7552oftms1grrijxaSfQUMbEYDXcDtab86wYqg6I7ZuUUo +hwjstMoVvoLdtUSLLa2GDGhibYVW8qwUYzrG0ZmsNHhWS8+2rT+MitcE5eN4TPWGqvWP+j1scaMt +ymfraHtuM6kMgiioTGohQBUgDCZbg8KpFhXAJIJdKxatymP2dACw30PEEGBWZ2NFAgMBAAGjgf8w +gfwwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUjbJJaJ1yCCW5wCf1UJNWSEZx+Y8wDgYDVR0P +AQH/BAQDAgEGMDYGA1UdEQQvMC2BE2Nhb3BlcmF0b3JAZGlzaWcuc2uGFmh0dHA6Ly93d3cuZGlz +aWcuc2svY2EwZgYDVR0fBF8wXTAtoCugKYYnaHR0cDovL3d3dy5kaXNpZy5zay9jYS9jcmwvY2Ff +ZGlzaWcuY3JsMCygKqAohiZodHRwOi8vY2EuZGlzaWcuc2svY2EvY3JsL2NhX2Rpc2lnLmNybDAa +BgNVHSAEEzARMA8GDSuBHpGT5goAAAABAQEwDQYJKoZIhvcNAQEFBQADggEBAF00dGFMrzvY/59t +WDYcPQuBDRIrRhCA/ec8J9B6yKm2fnQwM6M6int0wHl5QpNt/7EpFIKrIYwvF/k/Ji/1WcbvgAa3 +mkkp7M5+cTxqEEHA9tOasnxakZzArFvITV734VP/Q3f8nktnbNfzg9Gg4H8l37iYC5oyOGwwoPP/ +CBUz91BKez6jPiCp3C9WgArtQVCwyfTssuMmRAAOb54GvCKWU3BlxFAKRmukLyeBEicTXxChds6K +ezfqwzlhA5WYOudsiCUI/HloDYd9Yvi0X/vF2Ey9WLw/Q1vUHgFNPGO+I++MzVpQuGhU+QqZMxEA +4Z7CRneC9VkGjCFMhwnN5ag= +-----END CERTIFICATE----- + +Juur-SK +======= +-----BEGIN CERTIFICATE----- +MIIE5jCCA86gAwIBAgIEO45L/DANBgkqhkiG9w0BAQUFADBdMRgwFgYJKoZIhvcNAQkBFglwa2lA +c2suZWUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKExlBUyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMRAw +DgYDVQQDEwdKdXVyLVNLMB4XDTAxMDgzMDE0MjMwMVoXDTE2MDgyNjE0MjMwMVowXTEYMBYGCSqG +SIb3DQEJARYJcGtpQHNrLmVlMQswCQYDVQQGEwJFRTEiMCAGA1UEChMZQVMgU2VydGlmaXRzZWVy +aW1pc2tlc2t1czEQMA4GA1UEAxMHSnV1ci1TSzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAIFxNj4zB9bjMI0TfncyRsvPGbJgMUaXhvSYRqTCZUXP00B841oiqBB4M8yIsdOBSvZiF3tf +TQou0M+LI+5PAk676w7KvRhj6IAcjeEcjT3g/1tf6mTll+g/mX8MCgkzABpTpyHhOEvWgxutr2TC ++Rx6jGZITWYfGAriPrsfB2WThbkasLnE+w0R9vXW+RvHLCu3GFH+4Hv2qEivbDtPL+/40UceJlfw +UR0zlv/vWT3aTdEVNMfqPxZIe5EcgEMPPbgFPtGzlc3Yyg/CQ2fbt5PgIoIuvvVoKIO5wTtpeyDa +Tpxt4brNj3pssAki14sL2xzVWiZbDcDq5WDQn/413z8CAwEAAaOCAawwggGoMA8GA1UdEwEB/wQF +MAMBAf8wggEWBgNVHSAEggENMIIBCTCCAQUGCisGAQQBzh8BAQEwgfYwgdAGCCsGAQUFBwICMIHD +HoHAAFMAZQBlACAAcwBlAHIAdABpAGYAaQBrAGEAYQB0ACAAbwBuACAAdgDkAGwAagBhAHMAdABh +AHQAdQBkACAAQQBTAC0AaQBzACAAUwBlAHIAdABpAGYAaQB0AHMAZQBlAHIAaQBtAGkAcwBrAGUA +cwBrAHUAcwAgAGEAbABhAG0ALQBTAEsAIABzAGUAcgB0AGkAZgBpAGsAYQBhAHQAaQBkAGUAIABr +AGkAbgBuAGkAdABhAG0AaQBzAGUAawBzMCEGCCsGAQUFBwIBFhVodHRwOi8vd3d3LnNrLmVlL2Nw +cy8wKwYDVR0fBCQwIjAgoB6gHIYaaHR0cDovL3d3dy5zay5lZS9qdXVyL2NybC8wHQYDVR0OBBYE +FASqekej5ImvGs8KQKcYP2/v6X2+MB8GA1UdIwQYMBaAFASqekej5ImvGs8KQKcYP2/v6X2+MA4G +A1UdDwEB/wQEAwIB5jANBgkqhkiG9w0BAQUFAAOCAQEAe8EYlFOiCfP+JmeaUOTDBS8rNXiRTHyo +ERF5TElZrMj3hWVcRrs7EKACr81Ptcw2Kuxd/u+gkcm2k298gFTsxwhwDY77guwqYHhpNjbRxZyL +abVAyJRld/JXIWY7zoVAtjNjGr95HvxcHdMdkxuLDF2FvZkwMhgJkVLpfKG6/2SSmuz+Ne6ML678 +IIbsSt4beDI3poHSna9aEhbKmVv8b20OxaAehsmR0FyYgl9jDIpaq9iVpszLita/ZEuOyoqysOkh +Mp6qqIWYNIE5ITuoOlIyPfZrN4YGWhWY3PARZv40ILcD9EEQfTmEeZZyY7aWAuVrua0ZTbvGRNs2 +yyqcjg== +-----END CERTIFICATE----- + +Hongkong Post Root CA 1 +======================= +-----BEGIN CERTIFICATE----- +MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoT +DUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4XDTAzMDUx +NTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25n +IFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1 +ApzQjVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEnPzlTCeqr +auh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjhZY4bXSNmO7ilMlHIhqqh +qZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9nnV0ttgCXjqQesBCNnLsak3c78QA3xMY +V18meMjWCnl3v/evt3a5pQuEF10Q6m/hq5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNV +HRMBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7i +h9legYsCmEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI37pio +l7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clBoiMBdDhViw+5Lmei +IAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJsEhTkYY2sEJCehFC78JZvRZ+K88ps +T/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpOfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilT +c4afU9hDDl3WY4JxHYB0yvbiAmvZWg== +-----END CERTIFICATE----- + +SecureSign RootCA11 +=================== +-----BEGIN CERTIFICATE----- +MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UEChMi +SmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS +b290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSsw +KQYDVQQKEyJKYXBhbiBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1 +cmVTaWduIFJvb3RDQTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvL +TJszi1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8h9uuywGO +wvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOVMdrAG/LuYpmGYz+/3ZMq +g6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rP +O7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitA +bpSACW22s293bzUIUPsCh8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZX +t94wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAKCh +OBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xmKbabfSVSSUOrTC4r +bnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQX5Ucv+2rIrVls4W6ng+4reV6G4pQ +Oh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWrQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01 +y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061 +lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I= +-----END CERTIFICATE----- + +ACEDICOM Root +============= +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +Verisign Class 3 Public Primary Certification Authority +======================================================= +-----BEGIN CERTIFICATE----- +MIICPDCCAaUCEDyRMcsf9tAbDpq40ES/Er4wDQYJKoZIhvcNAQEFBQAwXzELMAkGA1UEBhMCVVMx +FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5 +IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVow +XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz +IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94 +f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol +hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBABByUqkFFBky +CEHwxWsKzH4PIRnN5GfcX6kb5sroc50i2JhucwNhkcV8sEVAbkSdjbCxlnRhLQ2pRdKkkirWmnWX +bj9T/UWZYB2oK0z5XqcJ2HUw19JlYD1n1khVdWk/kfVIC0dpImmClr7JyDiGSnoscxlIaU5rfGW/ +D/xwzoiQ +-----END CERTIFICATE----- + +Microsec e-Szigno Root CA 2009 +============================== +-----BEGIN CERTIFICATE----- +MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJIVTER +MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jv +c2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o +dTAeFw0wOTA2MTYxMTMwMThaFw0yOTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UE +BwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUt +U3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvPkd6mJviZpWNwrZuuyjNA +fW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tccbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG +0IMZfcChEhyVbUr02MelTTMuhTlAdX4UfIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKA +pxn1ntxVUwOXewdI/5n7N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm +1HxdrtbCxkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1+rUC +AwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTLD8bf +QkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAbBgNVHREE +FDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0o +lZMEyL/azXm4Q5DwpL7v8u8hmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfX +I/OMn74dseGkddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 +tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c2Pm2G2JwCz02 +yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi +LXpUq3DDfSJlgnCW +-----END CERTIFICATE----- + +E-Guven Kok Elektronik Sertifika Hizmet Saglayicisi +=================================================== +-----BEGIN CERTIFICATE----- +MIIDtjCCAp6gAwIBAgIQRJmNPMADJ72cdpW56tustTANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG +EwJUUjEoMCYGA1UEChMfRWxla3Ryb25payBCaWxnaSBHdXZlbmxpZ2kgQS5TLjE8MDoGA1UEAxMz +ZS1HdXZlbiBLb2sgRWxla3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhZ2xheWljaXNpMB4XDTA3 +MDEwNDExMzI0OFoXDTE3MDEwNDExMzI0OFowdTELMAkGA1UEBhMCVFIxKDAmBgNVBAoTH0VsZWt0 +cm9uaWsgQmlsZ2kgR3V2ZW5saWdpIEEuUy4xPDA6BgNVBAMTM2UtR3V2ZW4gS29rIEVsZWt0cm9u +aWsgU2VydGlmaWthIEhpem1ldCBTYWdsYXlpY2lzaTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +AQoCggEBAMMSIJ6wXgBljU5Gu4Bc6SwGl9XzcslwuedLZYDBS75+PNdUMZTe1RK6UxYC6lhj71vY +8+0qGqpxSKPcEC1fX+tcS5yWCEIlKBHMilpiAVDV6wlTL/jDj/6z/P2douNffb7tC+Bg62nsM+3Y +jfsSSYMAyYuXjDtzKjKzEve5TfL0TW3H5tYmNwjy2f1rXKPlSFxYvEK+A1qBuhw1DADT9SN+cTAI +JjjcJRFHLfO6IxClv7wC90Nex/6wN1CZew+TzuZDLMN+DfIcQ2Zgy2ExR4ejT669VmxMvLz4Bcpk +9Ok0oSy1c+HCPujIyTQlCFzz7abHlJ+tiEMl1+E5YP6sOVkCAwEAAaNCMEAwDgYDVR0PAQH/BAQD +AgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ/uRLOU1fqRTy7ZVZoEVtstxNulMA0GCSqG +SIb3DQEBBQUAA4IBAQB/X7lTW2M9dTLn+sR0GstG30ZpHFLPqk/CaOv/gKlR6D1id4k9CnU58W5d +F4dvaAXBlGzZXd/aslnLpRCKysw5zZ/rTt5S/wzw9JKp8mxTq5vSR6AfdPebmvEvFZ96ZDAYBzwq +D2fK/A+JYZ1lpTzlvBNbCNvj/+27BrtqBrF6T2XGgv0enIu1De5Iu7i9qgi0+6N8y5/NkHZchpZ4 +Vwpm+Vganf2XKWDeEaaQHBkc7gGWIjQ0LpH5t8Qn0Xvmv/uARFoW5evg1Ao4vOSR49XrXMGs3xtq +fJ7lddK2l4fbzIcrQzqECK+rPNv3PGYxhrCdU3nt+CPeQuMtgvEP5fqX +-----END CERTIFICATE----- + +GlobalSign Root CA - R3 +======================= +-----BEGIN CERTIFICATE----- +MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMXR2xv +YmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh +bFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT +aWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln +bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWt +iHL8RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsTgHeMCOFJ +0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmmKPZpO/bLyCiR5Z2KYVc3 +rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zdQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjl +OCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2 +xmmFghcCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE +FI/wS3+oLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZURUm7 +lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMpjjM5RcOO5LlXbKr8 +EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK6fBdRoyV3XpYKBovHd7NADdBj+1E +bddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQXmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18 +YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r +kpeDMdmztcpHWD9f +-----END CERTIFICATE----- + +TC TrustCenter Universal CA III +=============================== +-----BEGIN CERTIFICATE----- +MIID4TCCAsmgAwIBAgIOYyUAAQACFI0zFQLkbPQwDQYJKoZIhvcNAQEFBQAwezELMAkGA1UEBhMC +REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNVBAsTG1RDIFRydXN0Q2VudGVy +IFVuaXZlcnNhbCBDQTEoMCYGA1UEAxMfVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBIElJSTAe +Fw0wOTA5MDkwODE1MjdaFw0yOTEyMzEyMzU5NTlaMHsxCzAJBgNVBAYTAkRFMRwwGgYDVQQKExNU +QyBUcnVzdENlbnRlciBHbWJIMSQwIgYDVQQLExtUQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0Ex +KDAmBgNVBAMTH1RDIFRydXN0Q2VudGVyIFVuaXZlcnNhbCBDQSBJSUkwggEiMA0GCSqGSIb3DQEB +AQUAA4IBDwAwggEKAoIBAQDC2pxisLlxErALyBpXsq6DFJmzNEubkKLF5+cvAqBNLaT6hdqbJYUt +QCggbergvbFIgyIpRJ9Og+41URNzdNW88jBmlFPAQDYvDIRlzg9uwliT6CwLOunBjvvya8o84pxO +juT5fdMnnxvVZ3iHLX8LR7PH6MlIfK8vzArZQe+f/prhsq75U7Xl6UafYOPfjdN/+5Z+s7Vy+Eut +CHnNaYlAJ/Uqwa1D7KRTyGG299J5KmcYdkhtWyUB0SbFt1dpIxVbYYqt8Bst2a9c8SaQaanVDED1 +M4BDj5yjdipFtK+/fz6HP3bFzSreIMUWWMv5G/UPyw0RUmS40nZid4PxWJ//AgMBAAGjYzBhMB8G +A1UdIwQYMBaAFFbn4VslQ4Dg9ozhcbyO5YAvxEjiMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ +BAQDAgEGMB0GA1UdDgQWBBRW5+FbJUOA4PaM4XG8juWAL8RI4jANBgkqhkiG9w0BAQUFAAOCAQEA +g8ev6n9NCjw5sWi+e22JLumzCecYV42FmhfzdkJQEw/HkG8zrcVJYCtsSVgZ1OK+t7+rSbyUyKu+ +KGwWaODIl0YgoGhnYIg5IFHYaAERzqf2EQf27OysGh+yZm5WZ2B6dF7AbZc2rrUNXWZzwCUyRdhK +BgePxLcHsU0GDeGl6/R1yrqc0L2z0zIkTO5+4nYES0lT2PLpVDP85XEfPRRclkvxOvIAu2y0+pZV +CIgJwcyRGSmwIC3/yzikQOEXvnlhgP8HA4ZMTnsGnxGGjYnuJ8Tb4rwZjgvDwxPHLQNjO9Po5KIq +woIIlBZU8O8fJ5AluA0OKBtHd0e9HKgl8ZS0Zg== +-----END CERTIFICATE----- + +Autoridad de Certificacion Firmaprofesional CIF A62634068 +========================================================= +-----BEGIN CERTIFICATE----- +MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UEBhMCRVMxQjBA +BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2 +MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEyMzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIw +QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBB +NjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDD +Utd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQMcas9UX4P +B99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefGL9ItWY16Ck6WaVICqjaY +7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15iNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqH +ECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyI +plD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctX +MbScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsX +LZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK +bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgU +vzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1Ud +EwEB/wQIMAYBAf8CAQEwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNH +DhpkLzCBpgYDVR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp +cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBvACAAZABlACAA +bABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBlAGwAbwBuAGEAIAAwADgAMAAx +ADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx +51tkljYyGOylMnfX40S2wBEqgLk9am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qk +R71kMrv2JYSiJ0L1ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaP +T481PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS3a/DTg4f +Jl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5kSeTy36LssUzAKh3ntLFl +osS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF3dvd6qJ2gHN99ZwExEWN57kci57q13XR +crHedUTnQn3iV2t93Jm8PYMo6oCTjcVMZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoR +saS8I8nkvof/uZS2+F0gStRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTD +KCOM/iczQ0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQBjLMi +6Et8Vcad+qMUu2WFbm5PEn4KPJ2V +-----END CERTIFICATE----- + +Izenpe.com +========== +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +Chambers of Commerce Root - 2008 +================================ +-----BEGIN CERTIFICATE----- +MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYDVQQGEwJFVTFD +MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv +bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu +QS4xKTAnBgNVBAMTIENoYW1iZXJzIG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEy +Mjk1MFoXDTM4MDczMTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNl +ZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQF +EwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJl +cnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC +AQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW928sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKA +XuFixrYp4YFs8r/lfTJqVKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorj +h40G072QDuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR5gN/ +ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfLZEFHcpOrUMPrCXZk +NNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05aSd+pZgvMPMZ4fKecHePOjlO+Bd5g +D2vlGts/4+EhySnB8esHnFIbAURRPHsl18TlUlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331 +lubKgdaX8ZSD6e2wsWsSaR6s+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ +0wlf2eOKNcx5Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj +ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAxhduub+84Mxh2 +EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNVHQ4EFgQU+SSsD7K1+HnA+mCI +G8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJ +BgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNh +bWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENh +bWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDiC +CQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUH +AgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAJASryI1 +wqM58C7e6bXpeHxIvj99RZJe6dqxGfwWPJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH +3qLPaYRgM+gQDROpI9CF5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbU +RWpGqOt1glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaHFoI6 +M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2pSB7+R5KBWIBpih1 +YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MDxvbxrN8y8NmBGuScvfaAFPDRLLmF +9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QGtjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcK +zBIKinmwPQN/aUv0NCB9szTqjktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvG +nrDQWzilm1DefhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg +OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZd0jQ +-----END CERTIFICATE----- + +Global Chambersign Root - 2008 +============================== +-----BEGIN CERTIFICATE----- +MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJFVTFD +MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv +bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu +QS4xJzAlBgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMx +NDBaFw0zODA3MzExMjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUg +Y3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJ +QTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD +aGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDf +VtPkOpt2RbQT2//BthmLN0EYlVJH6xedKYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXf +XjaOcNFccUMd2drvXNL7G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0 +ZJJ0YPP2zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4ddPB +/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyGHoiMvvKRhI9lNNgA +TH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2Id3UwD2ln58fQ1DJu7xsepeY7s2M +H/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3VyJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfe +Ox2YItaswTXbo6Al/3K1dh3ebeksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSF +HTynyQbehP9r6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh +wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsogzCtLkykPAgMB +AAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQWBBS5CcqcHtvTbDprru1U8VuT +BjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDprru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UE +BhMCRVUxQzBBBgNVBAcTOk1hZHJpZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJm +aXJtYS5jb20vYWRkcmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJm +aXJtYSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiCCQDJzdPp +1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0 +dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAICIf3DekijZBZRG +/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZUohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6 +ReAJ3spED8IXDneRRXozX1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/s +dZ7LoR/xfxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVza2Mg +9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yydYhz2rXzdpjEetrHH +foUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMdSqlapskD7+3056huirRXhOukP9Du +qqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9OAP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETr +P3iZ8ntxPjzxmKfFGBI/5rsoM0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVq +c5iJWzouE4gev8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z +09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B +-----END CERTIFICATE----- + +Go Daddy Root Certificate Authority - G2 +======================================== +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT +B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMu +MTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 +MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 +b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8G +A1UEAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKDE6bFIEMBO4Tx5oVJnyfq +9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD ++qK+ihVqf94Lw7YZFAXK6sOoBJQ7RnwyDfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutd +fMh8+7ArU6SSYmlRJQVhGkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMl +NAJWJwGRtDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEAAaNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9 +BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmXWWcDYfF+OwYxdS2hII5PZYe096ac +vNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r +5N9ss4UXnT3ZJE95kTXWXwTrgIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYV +N8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO +LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI4uJEvlz36hz1 +-----END CERTIFICATE----- + +Starfield Root Certificate Authority - G2 +========================================= +-----BEGIN CERTIFICATE----- +MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT +B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s +b2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVsZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0 +eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAw +DgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQg +VGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZpY2F0ZSBB +dXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3twQP89o/8ArFv +W59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMgnLRJdzIpVv257IzdIvpy3Cdhl+72WoTs +bhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNk +N3mSwOxGXn/hbVNMYq/NHwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7Nf +ZTD4p7dNdloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0HZbU +JtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0GCSqGSIb3DQEBCwUAA4IBAQARWfol +TwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjUsHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx +4mcujJUDJi5DnUox9g61DLu34jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUw +F5okxBDgBPfg8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K +pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1mMpYjn0q7pBZ +c2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 +-----END CERTIFICATE----- + +Starfield Services Root Certificate Authority - G2 +================================================== +-----BEGIN CERTIFICATE----- +MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgT +B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s +b2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRl +IEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNV +BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxT +dGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2VydmljZXMg +Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +AQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20pOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2 +h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm28xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4Pa +hHQUw2eeBGg6345AWh1KTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLP +LJGmpufehRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk6mFB +rMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAwDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMA0GCSqG +SIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMIbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPP +E95Dz+I0swSdHynVv/heyNXBve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTy +xQGjhdByPq1zqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd +iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza +YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6 +-----END CERTIFICATE----- + +AffirmTrust Commercial +====================== +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS +BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw +MDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly +bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6Eqdb +DuKPHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yrba0F8PrV +C8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPALMeIrJmqbTFeurCA+ukV6 +BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1yHp52UKqK39c/s4mT6NmgTWvRLpUHhww +MmWd5jyTXlBOeuM61G7MGvv50jeuJCqrVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNV +HQ4EFgQUnZPGU4teyq8/nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwDQYJKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYGXUPG +hi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNjvbz4YYCanrHOQnDi +qX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivtZ8SOyUOyXGsViQK8YvxO8rUzqrJv +0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh +sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= +-----END CERTIFICATE----- + +AffirmTrust Networking +====================== +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS +BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw +MDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly +bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SE +Hi3yYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbuakCNrmreI +dIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRLQESxG9fhwoXA3hA/Pe24 +/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gb +h+0t+nvujArjqWaJGctB+d1ENmHP4ndGyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNV +HQ4EFgQUBx/S55zawm6iQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwDQYJKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfOtDIu +UFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY0x2+c06lkh1QF6 +12S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZLgo/bNjR9eUJtGxUAArgFU2HdW23 +WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9 +/ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= +-----END CERTIFICATE----- + +AffirmTrust Premium +=================== +-----BEGIN CERTIFICATE----- +MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMxFDAS +BgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy +OTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRy +dXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A +MIICCgKCAgEAxBLfqV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtn +BKAQJG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ+jjeRFcV +5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrSs8PhaJyJ+HoAVt70VZVs ++7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmd +GPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d770O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5R +p9EixAqnOEhss/n/fauGV+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NI +S+LI+H+SqHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S5u04 +6uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4IaC1nEWTJ3s7xgaVY5 +/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TXOwF0lkLgAOIua+rF7nKsu7/+6qqo ++Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYEFJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB +/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByv +MiPIs0laUZx2KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg +Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B8OWycvpEgjNC +6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQMKSOyARiqcTtNd56l+0OOF6S +L5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK ++4w1IX2COPKpVJEZNZOUbWo6xbLQu4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmV +BtWVyuEklut89pMFu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFg +IxpHYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8GKa1qF60 +g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGdFNrHF+QFlozEJLUb +zxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6eKeC2uAloGRwYQw== +-----END CERTIFICATE----- + +AffirmTrust Premium ECC +======================= +-----BEGIN CERTIFICATE----- +MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV +BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx +MjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1U +cnVzdDEgMB4GA1UEAwwXQWZmaXJtVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQA +IgNiAAQNMF4bFZ0D0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQ +N8O9ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0GA1UdDgQW +BBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAK +BggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/VsaobgxCd05DhT1wV/GzTjxi+zygk8N53X +57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM +eQ== +-----END CERTIFICATE----- + +Certum Trusted Network CA +========================= +-----BEGIN CERTIFICATE----- +MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQK +ExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIy +MTIwNzM3WhcNMjkxMjMxMTIwNzM3WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBU +ZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +MSIwIAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rHUV+rpDKmYYe2bg+G0jAC +l/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LMTXPb865Px1bVWqeWifrzq2jUI4ZZJ88J +J7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVUBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4 +fOQtf/WsX+sWn7Et0brMkUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0 +cvW0QM8xAcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNVHRMB +Af8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNVHQ8BAf8EBAMCAQYw +DQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15ysHhE49wcrwn9I0j6vSrEuVUEtRCj +jSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfLI9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1 +mS1FhIrlQgnXdAIv94nYmem8J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5aj +Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI +03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= +-----END CERTIFICATE----- + +Certinomis - Autorité Racine +============================= +-----BEGIN CERTIFICATE----- +MIIFnDCCA4SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJGUjETMBEGA1UEChMK +Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxJjAkBgNVBAMMHUNlcnRpbm9taXMg +LSBBdXRvcml0w6kgUmFjaW5lMB4XDTA4MDkxNzA4Mjg1OVoXDTI4MDkxNzA4Mjg1OVowYzELMAkG +A1UEBhMCRlIxEzARBgNVBAoTCkNlcnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMSYw +JAYDVQQDDB1DZXJ0aW5vbWlzIC0gQXV0b3JpdMOpIFJhY2luZTCCAiIwDQYJKoZIhvcNAQEBBQAD +ggIPADCCAgoCggIBAJ2Fn4bT46/HsmtuM+Cet0I0VZ35gb5j2CN2DpdUzZlMGvE5x4jYF1AMnmHa +wE5V3udauHpOd4cN5bjr+p5eex7Ezyh0x5P1FMYiKAT5kcOrJ3NqDi5N8y4oH3DfVS9O7cdxbwly +Lu3VMpfQ8Vh30WC8Tl7bmoT2R2FFK/ZQpn9qcSdIhDWerP5pqZ56XjUl+rSnSTV3lqc2W+HN3yNw +2F1MpQiD8aYkOBOo7C+ooWfHpi2GR+6K/OybDnT0K0kCe5B1jPyZOQE51kqJ5Z52qz6WKDgmi92N +jMD2AR5vpTESOH2VwnHu7XSu5DaiQ3XV8QCb4uTXzEIDS3h65X27uK4uIJPT5GHfceF2Z5c/tt9q +c1pkIuVC28+BA5PY9OMQ4HL2AHCs8MF6DwV/zzRpRbWT5BnbUhYjBYkOjUjkJW+zeL9i9Qf6lSTC +lrLooyPCXQP8w9PlfMl1I9f09bze5N/NgL+RiH2nE7Q5uiy6vdFrzPOlKO1Enn1So2+WLhl+HPNb +xxaOu2B9d2ZHVIIAEWBsMsGoOBvrbpgT1u449fCfDu/+MYHB0iSVL1N6aaLwD4ZFjliCK0wi1F6g +530mJ0jfJUaNSih8hp75mxpZuWW/Bd22Ql095gBIgl4g9xGC3srYn+Y3RyYe63j3YcNBZFgCQfna +4NH4+ej9Uji29YnfAgMBAAGjWzBZMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G +A1UdDgQWBBQNjLZh2kS40RR9w759XkjwzspqsDAXBgNVHSAEEDAOMAwGCiqBegFWAgIAAQEwDQYJ +KoZIhvcNAQEFBQADggIBACQ+YAZ+He86PtvqrxyaLAEL9MW12Ukx9F1BjYkMTv9sov3/4gbIOZ/x +WqndIlgVqIrTseYyCYIDbNc/CMf4uboAbbnW/FIyXaR/pDGUu7ZMOH8oMDX/nyNTt7buFHAAQCva +R6s0fl6nVjBhK4tDrP22iCj1a7Y+YEq6QpA0Z43q619FVDsXrIvkxmUP7tCMXWY5zjKn2BCXwH40 +nJ+U8/aGH88bc62UeYdocMMzpXDn2NU4lG9jeeu/Cg4I58UvD0KgKxRA/yHgBcUn4YQRE7rWhh1B +CxMjidPJC+iKunqjo3M3NYB9Ergzd0A4wPpeMNLytqOx1qKVl4GbUu1pTP+A5FPbVFsDbVRfsbjv +JL1vnxHDx2TCDyhihWZeGnuyt++uNckZM6i4J9szVb9o4XVIRFb7zdNIu0eJOqxp9YDG5ERQL1TE +qkPFMTFYvZbF6nVsmnWxTfj3l/+WFvKXTej28xH5On2KOG4Ey+HTRRWqpdEdnV1j6CTmNhTih60b +WfVEm/vXd3wfAXBioSAaosUaKPQhA+4u2cGA6rnZgtZbdsLLO7XSAPCjDuGtbkD326C00EauFddE +wk01+dIL8hf2rGbVJLJP0RyZwG71fet0BLj5TXcJ17TPBzAJ8bgAVtkXFhYKK4bfjwEZGuW7gmP/ +vgt2Fl43N+bYdJeimUV5 +-----END CERTIFICATE----- + +Root CA Generalitat Valenciana +============================== +-----BEGIN CERTIFICATE----- +MIIGizCCBXOgAwIBAgIEO0XlaDANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJFUzEfMB0GA1UE +ChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290 +IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwHhcNMDEwNzA2MTYyMjQ3WhcNMjEwNzAxMTUyMjQ3 +WjBoMQswCQYDVQQGEwJFUzEfMB0GA1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UE +CxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGKqtXETcvIorKA3Qdyu0togu8M1JAJke+WmmmO3I2 +F0zo37i7L3bhQEZ0ZQKQUgi0/6iMweDHiVYQOTPvaLRfX9ptI6GJXiKjSgbwJ/BXufjpTjJ3Cj9B +ZPPrZe52/lSqfR0grvPXdMIKX/UIKFIIzFVd0g/bmoGlu6GzwZTNVOAydTGRGmKy3nXiz0+J2ZGQ +D0EbtFpKd71ng+CT516nDOeB0/RSrFOyA8dEJvt55cs0YFAQexvba9dHq198aMpunUEDEO5rmXte +JajCq+TA81yc477OMUxkHl6AovWDfgzWyoxVjr7gvkkHD6MkQXpYHYTqWBLI4bft75PelAgxAgMB +AAGjggM7MIIDNzAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnBraS5n +dmEuZXMwEgYDVR0TAQH/BAgwBgEB/wIBAjCCAjQGA1UdIASCAiswggInMIICIwYKKwYBBAG/VQIB +ADCCAhMwggHoBggrBgEFBQcCAjCCAdoeggHWAEEAdQB0AG8AcgBpAGQAYQBkACAAZABlACAAQwBl +AHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAFIAYQDtAHoAIABkAGUAIABsAGEAIABHAGUAbgBlAHIA +YQBsAGkAdABhAHQAIABWAGEAbABlAG4AYwBpAGEAbgBhAC4ADQAKAEwAYQAgAEQAZQBjAGwAYQBy +AGEAYwBpAPMAbgAgAGQAZQAgAFAAcgDhAGMAdABpAGMAYQBzACAAZABlACAAQwBlAHIAdABpAGYA +aQBjAGEAYwBpAPMAbgAgAHEAdQBlACAAcgBpAGcAZQAgAGUAbAAgAGYAdQBuAGMAaQBvAG4AYQBt +AGkAZQBuAHQAbwAgAGQAZQAgAGwAYQAgAHAAcgBlAHMAZQBuAHQAZQAgAEEAdQB0AG8AcgBpAGQA +YQBkACAAZABlACAAQwBlAHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAHMAZQAgAGUAbgBjAHUAZQBu +AHQAcgBhACAAZQBuACAAbABhACAAZABpAHIAZQBjAGMAaQDzAG4AIAB3AGUAYgAgAGgAdAB0AHAA +OgAvAC8AdwB3AHcALgBwAGsAaQAuAGcAdgBhAC4AZQBzAC8AYwBwAHMwJQYIKwYBBQUHAgEWGWh0 +dHA6Ly93d3cucGtpLmd2YS5lcy9jcHMwHQYDVR0OBBYEFHs100DSHHgZZu90ECjcPk+yeAT8MIGV +BgNVHSMEgY0wgYqAFHs100DSHHgZZu90ECjcPk+yeAT8oWykajBoMQswCQYDVQQGEwJFUzEfMB0G +A1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5S +b290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmGCBDtF5WgwDQYJKoZIhvcNAQEFBQADggEBACRh +TvW1yEICKrNcda3FbcrnlD+laJWIwVTAEGmiEi8YPyVQqHxK6sYJ2fR1xkDar1CdPaUWu20xxsdz +Ckj+IHLtb8zog2EWRpABlUt9jppSCS/2bxzkoXHPjCpaF3ODR00PNvsETUlR4hTJZGH71BTg9J63 +NI8KJr2XXPR5OkowGcytT6CYirQxlyric21+eLj4iIlPsSKRZEv1UN4D2+XFducTZnV+ZfsBn5OH +iJ35Rld8TWCvmHMTI6QgkYH60GFmuH3Rr9ZvHmw96RH9qfmCIoaZM3Fa6hlXPZHNqcCjbgcTpsnt ++GijnsNacgmHKNHEc8RzGF9QdRYxn7fofMM= +-----END CERTIFICATE----- + +A-Trust-nQual-03 +================ +-----BEGIN CERTIFICATE----- +MIIDzzCCAregAwIBAgIDAWweMA0GCSqGSIb3DQEBBQUAMIGNMQswCQYDVQQGEwJBVDFIMEYGA1UE +Cgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBlbGVrdHIuIERhdGVudmVy +a2VociBHbWJIMRkwFwYDVQQLDBBBLVRydXN0LW5RdWFsLTAzMRkwFwYDVQQDDBBBLVRydXN0LW5R +dWFsLTAzMB4XDTA1MDgxNzIyMDAwMFoXDTE1MDgxNzIyMDAwMFowgY0xCzAJBgNVBAYTAkFUMUgw +RgYDVQQKDD9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0 +ZW52ZXJrZWhyIEdtYkgxGTAXBgNVBAsMEEEtVHJ1c3QtblF1YWwtMDMxGTAXBgNVBAMMEEEtVHJ1 +c3QtblF1YWwtMDMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtPWFuA/OQO8BBC4SA +zewqo51ru27CQoT3URThoKgtUaNR8t4j8DRE/5TrzAUjlUC5B3ilJfYKvUWG6Nm9wASOhURh73+n +yfrBJcyFLGM/BWBzSQXgYHiVEEvc+RFZznF/QJuKqiTfC0Li21a8StKlDJu3Qz7dg9MmEALP6iPE +SU7l0+m0iKsMrmKS1GWH2WrX9IWf5DMiJaXlyDO6w8dB3F/GaswADm0yqLaHNgBid5seHzTLkDx4 +iHQF63n1k3Flyp3HaxgtPVxO59X4PzF9j4fsCiIvI+n+u33J4PTs63zEsMMtYrWacdaxaujs2e3V +cuy+VwHOBVWf3tFgiBCzAgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0OBAoECERqlWdV +eRFPMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAVdRU0VlIXLOThaq/Yy/kgM40 +ozRiPvbY7meIMQQDbwvUB/tOdQ/TLtPAF8fGKOwGDREkDg6lXb+MshOWcdzUzg4NCmgybLlBMRmr +sQd7TZjTXLDR8KdCoLXEjq/+8T/0709GAHbrAvv5ndJAlseIOrifEXnzgGWovR/TeIGgUUw3tKZd +JXDRZslo+S4RFGjxVJgIrCaSD96JntT6s3kr0qN51OyLrIdTaEJMUVF0HhsnLuP1Hyl0Te2v9+GS +mYHovjrHF1D2t8b8m7CKa9aIA5GPBnc6hQLdmNVDeD/GMBWsm2vLV7eJUYs66MmEDNuxUCAKGkq6 +ahq97BvIxYSazQ== +-----END CERTIFICATE----- + +TWCA Root Certification Authority +================================= +-----BEGIN CERTIFICATE----- +MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ +VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMzWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQG +EwJUVzESMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NB +IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFEAcK0HMMx +QhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HHK3XLfJ+utdGdIzdjp9xC +oi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeXRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP +4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1r +y+UPizgN7gr8/g+YnzAx3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB +BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkqhkiG +9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeCMErJk/9q56YAf4lC +mtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdlsXebQ79NqZp4VKIV66IIArB6nCWlW +QtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVY +T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny +Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== +-----END CERTIFICATE----- + +Security Communication RootCA2 +============================== +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc +U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMeU2VjdXJpdHkgQ29tbXVuaWNh +dGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoXDTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMC +SlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3Vy +aXR5IENvbW11bmljYXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +ANAVOVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGrzbl+dp++ ++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVMVAX3NuRFg3sUZdbcDE3R +3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQhNBqyjoGADdH5H5XTz+L62e4iKrFvlNV +spHEfbmwhRkGeC7bYRr6hfVKkaHnFtWOojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1K +EOtOghY6rCcMU/Gt1SSwawNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8 +QIH4D5csOPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB +CwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpFcoJxDjrSzG+ntKEj +u/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXcokgfGT+Ok+vx+hfuzU7jBBJV1uXk +3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6q +tnRGEmyR7jTV7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29 +mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 +-----END CERTIFICATE----- + +EC-ACC +====== +-----BEGIN CERTIFICATE----- +MIIFVjCCBD6gAwIBAgIQ7is969Qh3hSoYqwE893EATANBgkqhkiG9w0BAQUFADCB8zELMAkGA1UE +BhMCRVMxOzA5BgNVBAoTMkFnZW5jaWEgQ2F0YWxhbmEgZGUgQ2VydGlmaWNhY2lvIChOSUYgUS0w +ODAxMTc2LUkpMSgwJgYDVQQLEx9TZXJ2ZWlzIFB1YmxpY3MgZGUgQ2VydGlmaWNhY2lvMTUwMwYD +VQQLEyxWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5ldC92ZXJhcnJlbCAoYykwMzE1MDMGA1UE +CxMsSmVyYXJxdWlhIEVudGl0YXRzIGRlIENlcnRpZmljYWNpbyBDYXRhbGFuZXMxDzANBgNVBAMT +BkVDLUFDQzAeFw0wMzAxMDcyMzAwMDBaFw0zMTAxMDcyMjU5NTlaMIHzMQswCQYDVQQGEwJFUzE7 +MDkGA1UEChMyQWdlbmNpYSBDYXRhbGFuYSBkZSBDZXJ0aWZpY2FjaW8gKE5JRiBRLTA4MDExNzYt +SSkxKDAmBgNVBAsTH1NlcnZlaXMgUHVibGljcyBkZSBDZXJ0aWZpY2FjaW8xNTAzBgNVBAsTLFZl +Z2V1IGh0dHBzOi8vd3d3LmNhdGNlcnQubmV0L3ZlcmFycmVsIChjKTAzMTUwMwYDVQQLEyxKZXJh +cnF1aWEgRW50aXRhdHMgZGUgQ2VydGlmaWNhY2lvIENhdGFsYW5lczEPMA0GA1UEAxMGRUMtQUND +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyLHT+KXQpWIR4NA9h0X84NzJB5R85iK +w5K4/0CQBXCHYMkAqbWUZRkiFRfCQ2xmRJoNBD45b6VLeqpjt4pEndljkYRm4CgPukLjbo73FCeT +ae6RDqNfDrHrZqJyTxIThmV6PttPB/SnCWDaOkKZx7J/sxaVHMf5NLWUhdWZXqBIoH7nF2W4onW4 +HvPlQn2v7fOKSGRdghST2MDk/7NQcvJ29rNdQlB50JQ+awwAvthrDk4q7D7SzIKiGGUzE3eeml0a +E9jD2z3Il3rucO2n5nzbcc8tlGLfbdb1OL4/pYUKGbio2Al1QnDE6u/LDsg0qBIimAy4E5S2S+zw +0JDnJwIDAQABo4HjMIHgMB0GA1UdEQQWMBSBEmVjX2FjY0BjYXRjZXJ0Lm5ldDAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUoMOLRKo3pUW/l4Ba0fF4opvpXY0wfwYD +VR0gBHgwdjB0BgsrBgEEAfV4AQMBCjBlMCwGCCsGAQUFBwIBFiBodHRwczovL3d3dy5jYXRjZXJ0 +Lm5ldC92ZXJhcnJlbDA1BggrBgEFBQcCAjApGidWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5l +dC92ZXJhcnJlbCAwDQYJKoZIhvcNAQEFBQADggEBAKBIW4IB9k1IuDlVNZyAelOZ1Vr/sXE7zDkJ +lF7W2u++AVtd0x7Y/X1PzaBB4DSTv8vihpw3kpBWHNzrKQXlxJ7HNd+KDM3FIUPpqojlNcAZQmNa +Al6kSBg6hW/cnbw/nZzBh7h6YQjpdwt/cKt63dmXLGQehb+8dJahw3oS7AwaboMMPOhyRp/7SNVe +l+axofjk70YllJyJ22k4vuxcDlbHZVHlUIiIv0LVKz3l+bqeLrPK9HOSAgu+TGbrIP65y7WZf+a2 +E/rKS03Z7lNGBjvGTq2TWoF+bCpLagVFjPIhpDGQh2xlnJ2lYJU6Un/10asIbvPuW/mIPX64b24D +5EI= +-----END CERTIFICATE----- + +Hellenic Academic and Research Institutions RootCA 2011 +======================================================= +-----BEGIN CERTIFICATE----- +MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT +O0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9y +aXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z +IFJvb3RDQSAyMDExMB4XDTExMTIwNjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYT +AkdSMUQwQgYDVQQKEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z +IENlcnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo +IEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +AKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPzdYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI +1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJfel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa +71HFK9+WXesyHgLacEnsbgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u +8yBRQlqD75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSPFEDH +3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNVHRMBAf8EBTADAQH/ +MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp5dgTBCPuQSUwRwYDVR0eBEAwPqA8 +MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQub3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQu +b3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVt +XdMiKahsog2p6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8 +TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7dIsXRSZMFpGD +/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N +7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4 +-----END CERTIFICATE----- + +Actalis Authentication Root CA +============================== +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- + +Trustis FPS Root CA +=================== +-----BEGIN CERTIFICATE----- +MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQG +EwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQLExNUcnVzdGlzIEZQUyBSb290 +IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTExMzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNV +BAoTD1RydXN0aXMgTGltaXRlZDEcMBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQ +RUN+AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihHiTHcDnlk +H5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjjvSkCqPoc4Vu5g6hBSLwa +cY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zt +o3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlBOrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEA +AaNTMFEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAd +BgNVHQ4EFgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01GX2c +GE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmWzaD+vkAMXBJV+JOC +yinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP41BIy+Q7DsdwyhEQsb8tGD+pmQQ9P +8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZEf1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHV +l/9D7S3B2l0pKoU/rGXuhg8FjZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYl +iB6XzCGcKQENZetX2fNXlrtIzYE= +-----END CERTIFICATE----- + +StartCom Certification Authority +================================ +-----BEGIN CERTIFICATE----- +MIIHhzCCBW+gAwIBAgIBLTANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN +U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu +ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0 +NjM3WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk +LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg +U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw +ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y +o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/ +Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d +eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt +2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z +6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ +osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/ +untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc +UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT +37uMdBNSSwIDAQABo4ICEDCCAgwwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD +VR0OBBYEFE4L7xqkQFulF2mHMMo0aEPQQa7yMB8GA1UdIwQYMBaAFE4L7xqkQFulF2mHMMo0aEPQ +Qa7yMIIBWgYDVR0gBIIBUTCCAU0wggFJBgsrBgEEAYG1NwEBATCCATgwLgYIKwYBBQUHAgEWImh0 +dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cu +c3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgc8GCCsGAQUFBwICMIHCMCcWIFN0YXJ0IENv +bW1lcmNpYWwgKFN0YXJ0Q29tKSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0eSwgcmVhZCB0 +aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENvbSBDZXJ0aWZpY2F0 +aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93d3cuc3RhcnRzc2wuY29t +L3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilTdGFydENvbSBG +cmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQsFAAOCAgEAjo/n3JR5 +fPGFf59Jb2vKXfuM/gTFwWLRfUKKvFO3lANmMD+x5wqnUCBVJX92ehQN6wQOQOY+2IirByeDqXWm +N3PH/UvSTa0XQMhGvjt/UfzDtgUx3M2FIk5xt/JxXrAaxrqTi3iSSoX4eA+D/i+tLPfkpLst0OcN +Org+zvZ49q5HJMqjNTbOx8aHmNrs++myziebiMMEofYLWWivydsQD032ZGNcpRJvkrKTlMeIFw6T +tn5ii5B/q06f/ON1FE8qMt9bDeD1e5MNq6HPh+GlBEXoPBKlCcWw0bdT82AUuoVpaiF8H3VhFyAX +e2w7QSlc4axa0c2Mm+tgHRns9+Ww2vl5GKVFP0lDV9LdJNUso/2RjSe15esUBppMeyG7Oq0wBhjA +2MFrLH9ZXF2RsXAiV+uKa0hK1Q8p7MZAwC+ITGgBF3f0JBlPvfrhsiAhS90a2Cl9qrjeVOwhVYBs +HvUwyKMQ5bLmKhQxw4UtjJixhlpPiVktucf3HMiKf8CdBUrmQk9io20ppB+Fq9vlgcitKj1MXVuE +JnHEhV5xJMqlG2zYYdMa4FTbzrqpMrUi9nNBCV24F10OD5mQ1kfabwo6YigUZ4LZ8dCAWZvLMdib +D4x3TrVoivJs9iQOLWxwxXPR3hTQcY+203sC9uO41Alua551hDnmfyWl8kgAwKQB2j8= +-----END CERTIFICATE----- + +StartCom Certification Authority G2 +=================================== +-----BEGIN CERTIFICATE----- +MIIFYzCCA0ugAwIBAgIBOzANBgkqhkiG9w0BAQsFADBTMQswCQYDVQQGEwJJTDEWMBQGA1UEChMN +U3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg +RzIwHhcNMTAwMTAxMDEwMDAxWhcNMzkxMjMxMjM1OTAxWjBTMQswCQYDVQQGEwJJTDEWMBQGA1UE +ChMNU3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3Jp +dHkgRzIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2iTZbB7cgNr2Cu+EWIAOVeq8O +o1XJJZlKxdBWQYeQTSFgpBSHO839sj60ZwNq7eEPS8CRhXBF4EKe3ikj1AENoBB5uNsDvfOpL9HG +4A/LnooUCri99lZi8cVytjIl2bLzvWXFDSxu1ZJvGIsAQRSCb0AgJnooD/Uefyf3lLE3PbfHkffi +Aez9lInhzG7TNtYKGXmu1zSCZf98Qru23QumNK9LYP5/Q0kGi4xDuFby2X8hQxfqp0iVAXV16iul +Q5XqFYSdCI0mblWbq9zSOdIxHWDirMxWRST1HFSr7obdljKF+ExP6JV2tgXdNiNnvP8V4so75qbs +O+wmETRIjfaAKxojAuuKHDp2KntWFhxyKrOq42ClAJ8Em+JvHhRYW6Vsi1g8w7pOOlz34ZYrPu8H +vKTlXcxNnw3h3Kq74W4a7I/htkxNeXJdFzULHdfBR9qWJODQcqhaX2YtENwvKhOuJv4KHBnM0D4L +nMgJLvlblnpHnOl68wVQdJVznjAJ85eCXuaPOQgeWeU1FEIT/wCc976qUM/iUUjXuG+v+E5+M5iS +FGI6dWPPe/regjupuznixL0sAA7IF6wT700ljtizkC+p2il9Ha90OrInwMEePnWjFqmveiJdnxMa +z6eg6+OGCtP95paV1yPIN93EfKo2rJgaErHgTuixO/XWb/Ew1wIDAQABo0IwQDAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUS8W0QGutHLOlHGVuRjaJhwUMDrYwDQYJ +KoZIhvcNAQELBQADggIBAHNXPyzVlTJ+N9uWkusZXn5T50HsEbZH77Xe7XRcxfGOSeD8bpkTzZ+K +2s06Ctg6Wgk/XzTQLwPSZh0avZyQN8gMjgdalEVGKua+etqhqaRpEpKwfTbURIfXUfEpY9Z1zRbk +J4kd+MIySP3bmdCPX1R0zKxnNBFi2QwKN4fRoxdIjtIXHfbX/dtl6/2o1PXWT6RbdejF0mCy2wl+ +JYt7ulKSnj7oxXehPOBKc2thz4bcQ///If4jXSRK9dNtD2IEBVeC2m6kMyV5Sy5UGYvMLD0w6dEG +/+gyRr61M3Z3qAFdlsHB1b6uJcDJHgoJIIihDsnzb02CVAAgp9KP5DlUFy6NHrgbuxu9mk47EDTc +nIhT76IxW1hPkWLIwpqazRVdOKnWvvgTtZ8SafJQYqz7Fzf07rh1Z2AQ+4NQ+US1dZxAF7L+/Xld +blhYXzD8AK6vM8EOTmy6p6ahfzLbOOCxchcKK5HsamMm7YnUeMx0HgX4a/6ManY5Ka5lIxKVCCIc +l85bBu4M4ru8H0ST9tg4RQUh7eStqxK2A6RCLi3ECToDZ2mEmuFZkIoohdVddLHRDiBYmxOlsGOm +7XtH/UVVMKTumtTm4ofvmMkyghEpIrwACjFeLQ/Ajulrso8uBtjRkcfGEvRM/TAXw8HaOFvjqerm +obp573PYtlNXLfbQ4ddI +-----END CERTIFICATE----- + +Buypass Class 2 Root CA +======================= +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU +QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMiBSb290IENBMB4X +DTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1owTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 +eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIw +DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1 +g1Lr6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPVL4O2fuPn +9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC911K2GScuVr1QGbNgGE41b +/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHxMlAQTn/0hpPshNOOvEu/XAFOBz3cFIqU +CqTqc/sLUegTBxj6DvEr0VQVfTzh97QZQmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeff +awrbD02TTqigzXsu8lkBarcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgI +zRFo1clrUs3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLiFRhn +Bkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRSP/TizPJhk9H9Z2vX +Uq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN9SG9dKpN6nIDSdvHXx1iY8f93ZHs +M+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxPAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD +VR0OBBYEFMmAd+BikoL1RpzzuvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF +AAOCAgEAU18h9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s +A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3tOluwlN5E40EI +osHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo+fsicdl9sz1Gv7SEr5AcD48S +aq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYd +DnkM/crqJIByw5c/8nerQyIKx+u2DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWD +LfJ6v9r9jv6ly0UsH8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0 +oyLQI+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK75t98biGC +wWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h3PFaTWwyI0PurKju7koS +CTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPzY11aWOIv4x3kqdbQCtCev9eBCfHJxyYN +rJgWVqA= +-----END CERTIFICATE----- + +Buypass Class 3 Root CA +======================= +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU +QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMyBSb290IENBMB4X +DTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFowTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 +eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIw +DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRH +sJ8YZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3EN3coTRiR +5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9tznDDgFHmV0ST9tD+leh +7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX0DJq1l1sDPGzbjniazEuOQAnFN44wOwZ +ZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH +2xc519woe2v1n/MuwU8XKhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV +/afmiSTYzIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvSO1UQ +RwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D34xFMFbG02SrZvPA +Xpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgPK9Dx2hzLabjKSWJtyNBjYt1gD1iq +j6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD +VR0OBBYEFEe4zf/lb+74suwvTg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF +AAOCAgEAACAjQTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV +cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXSIGrs/CIBKM+G +uIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2HJLw5QY33KbmkJs4j1xrG0aG +Q0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsaO5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8 +ZORK15FTAaggiG6cX0S5y2CBNOxv033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2 +KSb12tjE8nVhz36udmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz +6MkEkbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg413OEMXbug +UZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvDu79leNKGef9JOxqDDPDe +eOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq4/g7u9xN12TyUb7mqqta6THuBrxzvxNi +Cp/HuZc= +-----END CERTIFICATE----- + +T-TeleSec GlobalRoot Class 3 +============================ +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM +IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU +cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgx +MDAxMTAyOTU2WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz +dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD +ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN8ELg63iIVl6bmlQdTQyK +9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/RLyTPWGrTs0NvvAgJ1gORH8EGoel15YU +NpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZF +iP0Zf3WHHx+xGwpzJFu5ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W +0eDrXltMEnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGjQjBA +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1A/d2O2GCahKqGFPr +AyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOyWL6ukK2YJ5f+AbGwUgC4TeQbIXQb +fsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzT +ucpH9sry9uetuUg/vBa3wW306gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h +P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml +e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw== +-----END CERTIFICATE----- diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Transport/fsockopen.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Transport/fsockopen.php new file mode 100644 index 0000000..8975e22 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Transport/fsockopen.php @@ -0,0 +1,404 @@ +<?php +/** + * fsockopen HTTP transport + * + * @package Requests + * @subpackage Transport + */ + +/** + * fsockopen HTTP transport + * + * @package Requests + * @subpackage Transport + */ +class Requests_Transport_fsockopen implements Requests_Transport { + /** + * Second to microsecond conversion + * + * @var integer + */ + const SECOND_IN_MICROSECONDS = 1000000; + + /** + * Raw HTTP data + * + * @var string + */ + public $headers = ''; + + /** + * Stream metadata + * + * @var array Associative array of properties, see {@see http://php.net/stream_get_meta_data} + */ + public $info; + + protected $connect_error = ''; + + /** + * Perform a request + * + * @throws Requests_Exception On failure to connect to socket (`fsockopenerror`) + * @throws Requests_Exception On socket timeout (`timeout`) + * + * @param string $url URL to request + * @param array $headers Associative array of request headers + * @param string|array $data Data to send either as the POST body, or as parameters in the URL for a GET/HEAD + * @param array $options Request options, see {@see Requests::response()} for documentation + * @return string Raw HTTP result + */ + public function request($url, $headers = array(), $data = array(), $options = array()) { + $options['hooks']->dispatch('fsockopen.before_request'); + + $url_parts = parse_url($url); + $host = $url_parts['host']; + $context = stream_context_create(); + $verifyname = false; + + // HTTPS support + if (isset($url_parts['scheme']) && strtolower($url_parts['scheme']) === 'https') { + $remote_socket = 'ssl://' . $host; + $url_parts['port'] = 443; + + $context_options = array( + 'verify_peer' => true, + // 'CN_match' => $host, + 'capture_peer_cert' => true + ); + $verifyname = true; + + // SNI, if enabled (OpenSSL >=0.9.8j) + if (defined('OPENSSL_TLSEXT_SERVER_NAME') && OPENSSL_TLSEXT_SERVER_NAME) { + $context_options['SNI_enabled'] = true; + if (isset($options['verifyname']) && $options['verifyname'] === false) { + $context_options['SNI_enabled'] = false; + } + } + + if (isset($options['verify'])) { + if ($options['verify'] === false) { + $context_options['verify_peer'] = false; + } elseif (is_string($options['verify'])) { + $context_options['cafile'] = $options['verify']; + } + } + + if (isset($options['verifyname']) && $options['verifyname'] === false) { + $verifyname = false; + } + + stream_context_set_option($context, array('ssl' => $context_options)); + } + else { + $remote_socket = 'tcp://' . $host; + } + + $proxy = isset( $options['proxy'] ); + $proxy_auth = $proxy && isset( $options['proxy_username'] ) && isset( $options['proxy_password'] ); + + if (!isset($url_parts['port'])) { + $url_parts['port'] = 80; + } + $remote_socket .= ':' . $url_parts['port']; + + set_error_handler(array($this, 'connect_error_handler'), E_WARNING | E_NOTICE); + + $options['hooks']->dispatch('fsockopen.remote_socket', array(&$remote_socket)); + + $fp = stream_socket_client($remote_socket, $errno, $errstr, ceil($options['connect_timeout']), STREAM_CLIENT_CONNECT, $context); + + restore_error_handler(); + + if ($verifyname) { + if (!$this->verify_certificate_from_context($host, $context)) { + throw new Requests_Exception('SSL certificate did not match the requested domain name', 'ssl.no_match'); + } + } + + if (!$fp) { + if ($errno === 0) { + // Connection issue + throw new Requests_Exception(rtrim($this->connect_error), 'fsockopen.connect_error'); + } + else { + throw new Requests_Exception($errstr, 'fsockopenerror'); + return; + } + } + + $request_body = ''; + $out = ''; + switch ($options['type']) { + case Requests::POST: + case Requests::PUT: + case Requests::PATCH: + if (isset($url_parts['path'])) { + $path = $url_parts['path']; + if (isset($url_parts['query'])) { + $path .= '?' . $url_parts['query']; + } + } + else { + $path = '/'; + } + + $options['hooks']->dispatch( 'fsockopen.remote_host_path', array( &$path, $url ) ); + $out = $options['type'] . " $path HTTP/1.0\r\n"; + + if (is_array($data)) { + $request_body = http_build_query($data, null, '&'); + } + else { + $request_body = $data; + } + if (empty($headers['Content-Length'])) { + $headers['Content-Length'] = strlen($request_body); + } + if (empty($headers['Content-Type'])) { + $headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'; + } + break; + case Requests::HEAD: + case Requests::GET: + case Requests::DELETE: + $path = self::format_get($url_parts, $data); + $options['hooks']->dispatch('fsockopen.remote_host_path', array(&$path, $url)); + $out = $options['type'] . " $path HTTP/1.0\r\n"; + break; + } + $out .= "Host: {$url_parts['host']}"; + + if ($url_parts['port'] !== 80) { + $out .= ":{$url_parts['port']}"; + } + $out .= "\r\n"; + + $out .= "User-Agent: {$options['useragent']}\r\n"; + $accept_encoding = $this->accept_encoding(); + if (!empty($accept_encoding)) { + $out .= "Accept-Encoding: $accept_encoding\r\n"; + } + + $headers = Requests::flatten($headers); + + if (!empty($headers)) { + $out .= implode($headers, "\r\n") . "\r\n"; + } + + $options['hooks']->dispatch('fsockopen.after_headers', array(&$out)); + + if (substr($out, -2) !== "\r\n") { + $out .= "\r\n"; + } + + $out .= "Connection: Close\r\n\r\n" . $request_body; + + $options['hooks']->dispatch('fsockopen.before_send', array(&$out)); + + fwrite($fp, $out); + $options['hooks']->dispatch('fsockopen.after_send', array(&$fake_headers)); + + if (!$options['blocking']) { + fclose($fp); + $fake_headers = ''; + $options['hooks']->dispatch('fsockopen.after_request', array(&$fake_headers)); + return ''; + } + + $timeout_sec = (int) floor($options['timeout']); + $timeout_msec = $timeout_sec == $options['timeout'] ? 0 : self::SECOND_IN_MICROSECONDS * $options['timeout'] % self::SECOND_IN_MICROSECONDS; + stream_set_timeout($fp, $timeout_sec, $timeout_msec); + + $this->info = stream_get_meta_data($fp); + + $this->headers = ''; + $this->info = stream_get_meta_data($fp); + if (!$options['filename']) { + while (!feof($fp)) { + $this->info = stream_get_meta_data($fp); + if ($this->info['timed_out']) { + throw new Requests_Exception('fsocket timed out', 'timeout'); + } + + $this->headers .= fread($fp, 1160); + } + } + else { + $download = fopen($options['filename'], 'wb'); + $doingbody = false; + $response = ''; + while (!feof($fp)) { + $this->info = stream_get_meta_data($fp); + if ($this->info['timed_out']) { + throw new Requests_Exception('fsocket timed out', 'timeout'); + } + + $block = fread($fp, 1160); + if ($doingbody) { + fwrite($download, $block); + } + else { + $response .= $block; + if (strpos($response, "\r\n\r\n")) { + list($this->headers, $block) = explode("\r\n\r\n", $response, 2); + $doingbody = true; + fwrite($download, $block); + } + } + } + fclose($download); + } + fclose($fp); + + $options['hooks']->dispatch('fsockopen.after_request', array(&$this->headers)); + return $this->headers; + } + + /** + * Send multiple requests simultaneously + * + * @param array $requests Request data (array of 'url', 'headers', 'data', 'options') as per {@see Requests_Transport::request} + * @param array $options Global options, see {@see Requests::response()} for documentation + * @return array Array of Requests_Response objects (may contain Requests_Exception or string responses as well) + */ + public function request_multiple($requests, $options) { + $responses = array(); + $class = get_class($this); + foreach ($requests as $id => $request) { + try { + $handler = new $class(); + $responses[$id] = $handler->request($request['url'], $request['headers'], $request['data'], $request['options']); + + $request['options']['hooks']->dispatch('transport.internal.parse_response', array(&$responses[$id], $request)); + } + catch (Requests_Exception $e) { + $responses[$id] = $e; + } + + if (!is_string($responses[$id])) { + $request['options']['hooks']->dispatch('multiple.request.complete', array(&$responses[$id], $id)); + } + } + + return $responses; + } + + /** + * Retrieve the encodings we can accept + * + * @return string Accept-Encoding header value + */ + protected static function accept_encoding() { + $type = array(); + if (function_exists('gzinflate')) { + $type[] = 'deflate;q=1.0'; + } + + if (function_exists('gzuncompress')) { + $type[] = 'compress;q=0.5'; + } + + $type[] = 'gzip;q=0.5'; + + return implode(', ', $type); + } + + /** + * Format a URL given GET data + * + * @param array $url_parts + * @param array|object $data Data to build query using, see {@see http://php.net/http_build_query} + * @return string URL with data + */ + protected static function format_get($url_parts, $data) { + if (!empty($data)) { + if (empty($url_parts['query'])) + $url_parts['query'] = ''; + + $url_parts['query'] .= '&' . http_build_query($data, null, '&'); + $url_parts['query'] = trim($url_parts['query'], '&'); + } + if (isset($url_parts['path'])) { + if (isset($url_parts['query'])) { + $get = $url_parts['path'] . '?' . $url_parts['query']; + } + else { + $get = $url_parts['path']; + } + } + else { + $get = '/'; + } + return $get; + } + + /** + * Error handler for stream_socket_client() + * + * @param int $errno Error number (e.g. E_WARNING) + * @param string $errstr Error message + */ + public function connect_error_handler($errno, $errstr) { + // Double-check we can handle it + if (($errno & E_WARNING) === 0 && ($errno & E_NOTICE) === 0) { + // Return false to indicate the default error handler should engage + return false; + } + + $this->connect_error .= $errstr . "\n"; + return true; + } + + /** + * Verify the certificate against common name and subject alternative names + * + * Unfortunately, PHP doesn't check the certificate against the alternative + * names, leading things like 'https://www.github.com/' to be invalid. + * Instead + * + * @see http://tools.ietf.org/html/rfc2818#section-3.1 RFC2818, Section 3.1 + * + * @throws Requests_Exception On failure to connect via TLS (`fsockopen.ssl.connect_error`) + * @throws Requests_Exception On not obtaining a match for the host (`fsockopen.ssl.no_match`) + * @param string $host Host name to verify against + * @param resource $context Stream context + * @return bool + */ + public function verify_certificate_from_context($host, $context) { + $meta = stream_context_get_options($context); + + // If we don't have SSL options, then we couldn't make the connection at + // all + if (empty($meta) || empty($meta['ssl']) || empty($meta['ssl']['peer_certificate'])) { + throw new Requests_Exception(rtrim($this->connect_error), 'ssl.connect_error'); + } + + $cert = openssl_x509_parse($meta['ssl']['peer_certificate']); + + return Requests_SSL::verify_certificate($host, $cert); + } + + /** + * Whether this transport is valid + * + * @codeCoverageIgnore + * @return boolean True if the transport is valid, false otherwise. + */ + public static function test($capabilities = array()) { + if (!function_exists('fsockopen')) + return false; + + // If needed, check that streams support SSL + if (isset( $capabilities['ssl'] ) && $capabilities['ssl']) { + if (!extension_loaded('openssl') || !function_exists('openssl_x509_parse')) + return false; + + // Currently broken, thanks to https://github.com/facebook/hhvm/issues/2156 + if (defined('HHVM_VERSION')) + return false; + } + + return true; + } +} diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Utility/CaseInsensitiveDictionary.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Utility/CaseInsensitiveDictionary.php new file mode 100644 index 0000000..f6e1496 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Utility/CaseInsensitiveDictionary.php @@ -0,0 +1,91 @@ +<?php +/** + * Case-insensitive dictionary, suitable for HTTP headers + * + * @package Requests + * @subpackage Utilities + */ + +/** + * Case-insensitive dictionary, suitable for HTTP headers + * + * @package Requests + * @subpackage Utilities + */ +class Requests_Utility_CaseInsensitiveDictionary implements ArrayAccess, IteratorAggregate { + /** + * Actual item data + * + * @var array + */ + protected $data = array(); + + /** + * Check if the given item exists + * + * @param string $key Item key + * @return boolean Does the item exist? + */ + public function offsetExists($key) { + $key = strtolower($key); + return isset($this->data[$key]); + } + + /** + * Get the value for the item + * + * @param string $key Item key + * @return string Item value + */ + public function offsetGet($key) { + $key = strtolower($key); + if (!isset($this->data[$key])) + return null; + + return $this->data[$key]; + } + + /** + * Set the given item + * + * @throws Requests_Exception On attempting to use dictionary as list (`invalidset`) + * + * @param string $key Item name + * @param string $value Item value + */ + public function offsetSet($key, $value) { + if ($key === null) { + throw new Requests_Exception('Object is a dictionary, not a list', 'invalidset'); + } + + $key = strtolower($key); + $this->data[$key] = $value; + } + + /** + * Unset the given header + * + * @param string $key + */ + public function offsetUnset($key) { + unset($this->data[strtolower($key)]); + } + + /** + * Get an iterator for the data + * + * @return ArrayIterator + */ + public function getIterator() { + return new ArrayIterator($this->data); + } + + /** + * Get the headers as an array + * + * @return array Header data + */ + public function getAll() { + return $this->data; + } +} diff --git a/user/plugins/mediaembed/vendor/Requests/library/Requests/Utility/FilteredIterator.php b/user/plugins/mediaembed/vendor/Requests/library/Requests/Utility/FilteredIterator.php new file mode 100644 index 0000000..41e2a3d --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/library/Requests/Utility/FilteredIterator.php @@ -0,0 +1,38 @@ +<?php +/** + * Iterator for arrays requiring filtered values + * + * @package Requests + * @subpackage Utilities + */ + +/** + * Iterator for arrays requiring filtered values + * + * @package Requests + * @subpackage Utilities + */ +class Requests_Utility_FilteredIterator extends ArrayIterator { + /** + * Create a new iterator + * + * @param array $data + * @param callable $callback Callback to be called on each value + */ + public function __construct($data, $callback) { + parent::__construct($data); + + $this->callback = $callback; + } + + /** + * Get the current item's value after filtering + * + * @return string + */ + public function current() { + $value = parent::current(); + $value = call_user_func($this->callback, $value); + return $value; + } +} diff --git a/user/plugins/mediaembed/vendor/Requests/package.xml.tpl b/user/plugins/mediaembed/vendor/Requests/package.xml.tpl new file mode 100644 index 0000000..f1ccab6 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/package.xml.tpl @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8"?> +<package packagerversion="1.8.0" version="2.0" + xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 + http://pear.php.net/dtd/tasks-1.0.xsd + http://pear.php.net/dtd/package-2.0 + http://pear.php.net/dtd/package-2.0.xsd"> + <name>Requests</name> + <channel>pear.ryanmccue.info</channel> + <summary>A HTTP library written in PHP, for human beings.</summary> + <description> + Requests is a HTTP library written in PHP, for human beings. It is + roughly based on the API from the excellent Requests Python library. + Requests is ISC Licensed (similar to the new BSD license) and has + no dependencies. + </description> + <lead> + <name>Ryan McCue</name> + <user>rmccue</user> + <email>me+pear@ryanmccue dot info</email> + <active>yes</active> + </lead> + <date>{{ date }}</date> + <time>{{ time }}</time> + <version> + <release>{{ version }}</release> + <api>{{ api_version }}</api> + </version> + <stability> + <release>{{ stability }}</release> + <api>{{ stability }}</api> + </stability> + <license uri="https://github.com/rmccue/Requests/blob/master/LICENSE" filesource="LICENSE">ISC</license> + <notes>-</notes> + <contents> + <dir name="/"> + <file name="CHANGELOG.md" role="doc" /> + <file name="LICENSE" role="doc" /> + <file name="README.md" role="doc" /> + <dir name="library"> + <file install-as="Requests.php" name="Requests.php" role="php" /> + <dir name="Requests"> +{{ files }} + </dir> + </dir> + <file name="library/Requests/Transport/cacert.pem" install-as="library/Requests/Transport/cacert.pem" role="data" /> + </dir> + </contents> + <dependencies> + <required> + <php> + <min>5.2.0</min> + </php> + <pearinstaller> + <min>1.4.0</min> + </pearinstaller> + </required> + </dependencies> + <phprelease /> +</package> \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/tests/Auth/Basic.php b/user/plugins/mediaembed/vendor/Requests/tests/Auth/Basic.php new file mode 100644 index 0000000..b1d5af2 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/tests/Auth/Basic.php @@ -0,0 +1,87 @@ +<?php + +class RequestsTest_Auth_Basic extends PHPUnit_Framework_TestCase { + public static function transportProvider() { + $transports = array( + array('Requests_Transport_fsockopen'), + array('Requests_Transport_cURL'), + ); + return $transports; + } + + /** + * @dataProvider transportProvider + */ + public function testUsingArray($transport) { + if (!call_user_func(array($transport, 'test'))) { + $this->markTestSkipped($transport . ' is not available'); + return; + } + + $options = array( + 'auth' => array('user', 'passwd'), + 'transport' => $transport, + ); + $request = Requests::get(httpbin('/basic-auth/user/passwd'), array(), $options); + $this->assertEquals(200, $request->status_code); + + $result = json_decode($request->body); + $this->assertEquals(true, $result->authenticated); + $this->assertEquals('user', $result->user); + } + + /** + * @dataProvider transportProvider + */ + public function testUsingInstantiation($transport) { + if (!call_user_func(array($transport, 'test'))) { + $this->markTestSkipped($transport . ' is not available'); + return; + } + + $options = array( + 'auth' => new Requests_Auth_Basic(array('user', 'passwd')), + 'transport' => $transport, + ); + $request = Requests::get(httpbin('/basic-auth/user/passwd'), array(), $options); + $this->assertEquals(200, $request->status_code); + + $result = json_decode($request->body); + $this->assertEquals(true, $result->authenticated); + $this->assertEquals('user', $result->user); + } + + /** + * @dataProvider transportProvider + */ + public function testPOSTUsingInstantiation($transport) { + if (!call_user_func(array($transport, 'test'))) { + $this->markTestSkipped($transport . ' is not available'); + return; + } + + $options = array( + 'auth' => new Requests_Auth_Basic(array('user', 'passwd')), + 'transport' => $transport, + ); + $data = 'test'; + $request = Requests::post(httpbin('/post'), array(), $data, $options); + $this->assertEquals(200, $request->status_code); + + $result = json_decode($request->body); + + $auth = $result->headers->Authorization; + $auth = explode(' ', $auth); + + $this->assertEquals(base64_encode('user:passwd'), $auth[1]); + $this->assertEquals('test', $result->data); + } + + /** + * @expectedException Requests_Exception + */ + public function testMissingPassword() { + $auth = new Requests_Auth_Basic(array('user')); + } + +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/tests/ChunkedEncoding.php b/user/plugins/mediaembed/vendor/Requests/tests/ChunkedEncoding.php new file mode 100644 index 0000000..fa87538 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/tests/ChunkedEncoding.php @@ -0,0 +1,68 @@ +<?php + +class RequestsTest_ChunkedDecoding extends PHPUnit_Framework_TestCase { + public static function chunkedProvider() { + return array( + array( + "25\r\nThis is the data in the first chunk\r\n\r\n1A\r\nand this is the second one\r\n0\r\n", + "This is the data in the first chunk\r\nand this is the second one" + ), + array( + "02\r\nab\r\n04\r\nra\nc\r\n06\r\nadabra\r\n0\r\nnothing\n", + "abra\ncadabra" + ), + array( + "02\r\nab\r\n04\r\nra\nc\r\n06\r\nadabra\r\n0c\r\n\nall we got\n", + "abra\ncadabra\nall we got\n" + ), + ); + } + + /** + * @dataProvider chunkedProvider + */ + public function testChunked($body, $expected){ + $transport = new MockTransport(); + $transport->body = $body; + $transport->chunked = true; + + $options = array( + 'transport' => $transport + ); + $response = Requests::get('http://example.com/', array(), $options); + + $this->assertEquals($expected, $response->body); + } + + /** + * Response says it's chunked, but actually isn't + */ + public function testNotActuallyChunked() { + $transport = new MockTransport(); + $transport->body = 'Hello! This is a non-chunked response!'; + $transport->chunked = true; + + $options = array( + 'transport' => $transport + ); + $response = Requests::get('http://example.com/', array(), $options); + + $this->assertEquals($transport->body, $response->body); + } + + /** + * Response says it's chunked and starts looking like it is, but turns out + * that they're lying to us + */ + public function testMixedChunkiness() { + $transport = new MockTransport(); + $transport->body = "02\r\nab\r\nNot actually chunked!"; + $transport->chunked = true; + + $options = array( + 'transport' => $transport + ); + $response = Requests::get('http://example.com/', array(), $options); + $this->assertEquals($transport->body, $response->body); + } +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/tests/Cookies.php b/user/plugins/mediaembed/vendor/Requests/tests/Cookies.php new file mode 100644 index 0000000..0f29fc7 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/tests/Cookies.php @@ -0,0 +1,349 @@ +<?php + +class RequestsTest_Cookies extends PHPUnit_Framework_TestCase { + public function testBasicCookie() { + $cookie = new Requests_Cookie('requests-testcookie', 'testvalue'); + + $this->assertEquals('requests-testcookie', $cookie->name); + $this->assertEquals('testvalue', $cookie->value); + $this->assertEquals('testvalue', (string) $cookie); + + $this->assertEquals('requests-testcookie=testvalue', $cookie->formatForHeader()); + $this->assertEquals('requests-testcookie=testvalue', $cookie->formatForSetCookie()); + } + + public function testCookieWithAttributes() { + $attributes = array( + 'httponly', + 'path' => '/' + ); + $cookie = new Requests_Cookie('requests-testcookie', 'testvalue', $attributes); + + $this->assertEquals('requests-testcookie=testvalue', $cookie->formatForHeader()); + $this->assertEquals('requests-testcookie=testvalue; httponly; path=/', $cookie->formatForSetCookie()); + } + + public function testEmptyCookieName() { + $cookie = Requests_Cookie::parse('test'); + $this->assertEquals('', $cookie->name); + $this->assertEquals('test', $cookie->value); + } + + public function testEmptyAttributes() { + $cookie = Requests_Cookie::parse('foo=bar; HttpOnly'); + $this->assertTrue($cookie->attributes['httponly']); + } + + public function testCookieJarSetter() { + $jar1 = new Requests_Cookie_Jar(); + $jar1['requests-testcookie'] = 'testvalue'; + + $jar2 = new Requests_Cookie_Jar(array( + 'requests-testcookie' => 'testvalue', + )); + $this->assertEquals($jar1, $jar2); + } + + public function testCookieJarUnsetter() { + $jar = new Requests_Cookie_Jar(); + $jar['requests-testcookie'] = 'testvalue'; + + $this->assertEquals('testvalue', $jar['requests-testcookie']); + + unset($jar['requests-testcookie']); + $this->assertEmpty($jar['requests-testcookie']); + $this->assertFalse(isset($jar['requests-testcookie'])); + } + + /** + * @expectedException Requests_Exception + */ + public function testCookieJarAsList() { + $cookies = new Requests_Cookie_Jar(); + $cookies[] = 'requests-testcookie1=testvalue1'; + } + + public function testCookieJarIterator() { + $cookies = array( + 'requests-testcookie1' => 'testvalue1', + 'requests-testcookie2' => 'testvalue2', + ); + $jar = new Requests_Cookie_Jar($cookies); + + foreach ($jar as $key => $value) { + $this->assertEquals($cookies[$key], $value); + } + } + + public function testReceivingCookies() { + $options = array( + 'follow_redirects' => false, + ); + $url = httpbin('/cookies/set?requests-testcookie=testvalue'); + + $response = Requests::get($url, array(), $options); + + $cookie = $response->cookies['requests-testcookie']; + $this->assertNotEmpty( $cookie ); + $this->assertEquals( 'testvalue', $cookie->value ); + } + + public function testPersistenceOnRedirect() { + $options = array( + 'follow_redirects' => true, + ); + $url = httpbin('/cookies/set?requests-testcookie=testvalue'); + + $response = Requests::get($url, array(), $options); + + $cookie = $response->cookies['requests-testcookie']; + $this->assertNotEmpty( $cookie ); + $this->assertEquals( 'testvalue', $cookie->value ); + } + + protected function setCookieRequest($cookies) { + $options = array( + 'cookies' => $cookies, + ); + $response = Requests::get(httpbin('/cookies/set'), array(), $options); + + $data = json_decode($response->body, true); + $this->assertInternalType('array', $data); + $this->assertArrayHasKey('cookies', $data); + return $data['cookies']; + } + + public function testSendingCookie() { + $cookies = array( + 'requests-testcookie1' => 'testvalue1', + ); + + $data = $this->setCookieRequest($cookies); + + $this->assertArrayHasKey('requests-testcookie1', $data); + $this->assertEquals('testvalue1', $data['requests-testcookie1']); + } + + public function testSendingCookieWithJar() { + $cookies = new Requests_Cookie_Jar(array( + 'requests-testcookie1' => 'testvalue1', + )); + $data = $this->setCookieRequest($cookies); + + $this->assertArrayHasKey('requests-testcookie1', $data); + $this->assertEquals('testvalue1', $data['requests-testcookie1']); + } + + public function testSendingMultipleCookies() { + $cookies = array( + 'requests-testcookie1' => 'testvalue1', + 'requests-testcookie2' => 'testvalue2', + ); + $data = $this->setCookieRequest($cookies); + + $this->assertArrayHasKey('requests-testcookie1', $data); + $this->assertEquals('testvalue1', $data['requests-testcookie1']); + + $this->assertArrayHasKey('requests-testcookie2', $data); + $this->assertEquals('testvalue2', $data['requests-testcookie2']); + } + + public function testSendingMultipleCookiesWithJar() { + $cookies = new Requests_Cookie_Jar(array( + 'requests-testcookie1' => 'testvalue1', + 'requests-testcookie2' => 'testvalue2', + )); + $data = $this->setCookieRequest($cookies); + + $this->assertArrayHasKey('requests-testcookie1', $data); + $this->assertEquals('testvalue1', $data['requests-testcookie1']); + + $this->assertArrayHasKey('requests-testcookie2', $data); + $this->assertEquals('testvalue2', $data['requests-testcookie2']); + } + + public function testSendingPrebakedCookie() { + $cookies = new Requests_Cookie_Jar(array( + new Requests_Cookie('requests-testcookie', 'testvalue'), + )); + $data = $this->setCookieRequest($cookies); + + $this->assertArrayHasKey('requests-testcookie', $data); + $this->assertEquals('testvalue', $data['requests-testcookie']); + } + + public function domainMatchProvider() { + return array( + array('example.com', 'example.com', true, true), + array('example.com', 'www.example.com', false, true), + array('example.com', 'example.net', false, false), + + // Leading period + array('.example.com', 'example.com', true, true), + array('.example.com', 'www.example.com', false, true), + array('.example.com', 'example.net', false, false), + + // Prefix, but not subdomain + array('example.com', 'notexample.com', false, false), + array('example.com', 'notexample.net', false, false), + + // Reject IP address prefixes + array('127.0.0.1', '127.0.0.1', true, true), + array('127.0.0.1', 'abc.127.0.0.1', false, false), + array('127.0.0.1', 'example.com', false, false), + + // Check that we're checking the actual length + array('127.com', 'test.127.com', false, true), + ); + } + + /** + * @dataProvider domainMatchProvider + */ + public function testDomainExactMatch($original, $check, $matches, $domain_matches) { + $attributes = new Requests_Utility_CaseInsensitiveDictionary(); + $attributes['domain'] = $original; + $cookie = new Requests_Cookie('requests-testcookie', 'testvalue', $attributes); + $this->assertEquals($matches, $cookie->domainMatches($check)); + } + + /** + * @dataProvider domainMatchProvider + */ + public function testDomainMatch($original, $check, $matches, $domain_matches) { + $attributes = new Requests_Utility_CaseInsensitiveDictionary(); + $attributes['domain'] = $original; + $flags = array( + 'host-only' => false + ); + $cookie = new Requests_Cookie('requests-testcookie', 'testvalue', $attributes, $flags); + $this->assertEquals($domain_matches, $cookie->domainMatches($check)); + } + + public function pathMatchProvider() { + return array( + array('/', '/', true), + + array('/', '/test', true), + array('/', '/test/', true), + + array('/test', '/', false), + array('/test', '/test', true), + array('/test', '/testing', false), + array('/test', '/test/', true), + array('/test', '/test/ing', true), + array('/test', '/test/ing/', true), + + array('/test/', '/test/', true), + array('/test/', '/', false), + ); + } + + /** + * @dataProvider pathMatchProvider + */ + public function testPathMatch($original, $check, $matches) { + $attributes = new Requests_Utility_CaseInsensitiveDictionary(); + $attributes['path'] = $original; + $cookie = new Requests_Cookie('requests-testcookie', 'testvalue', $attributes); + $this->assertEquals($matches, $cookie->pathMatches($check)); + } + + public function urlMatchProvider() { + return array( + // Domain handling + array( 'example.com', '/', 'http://example.com/', true, true ), + array( 'example.com', '/', 'http://www.example.com/', false, true ), + array( 'example.com', '/', 'http://example.net/', false, false ), + array( 'example.com', '/', 'http://www.example.net/', false, false ), + + // /test + array( 'example.com', '/test', 'http://example.com/', false, false ), + array( 'example.com', '/test', 'http://www.example.com/', false, false ), + + array( 'example.com', '/test', 'http://example.com/test', true, true ), + array( 'example.com', '/test', 'http://www.example.com/test', false, true ), + + array( 'example.com', '/test', 'http://example.com/testing', false, false ), + array( 'example.com', '/test', 'http://www.example.com/testing', false, false ), + + array( 'example.com', '/test', 'http://example.com/test/', true, true ), + array( 'example.com', '/test', 'http://www.example.com/test/', false, true ), + + // /test/ + array( 'example.com', '/test/', 'http://example.com/', false, false ), + array( 'example.com', '/test/', 'http://www.example.com/', false, false ), + ); + } + + /** + * @depends testDomainExactMatch + * @depends testPathMatch + * @dataProvider urlMatchProvider + */ + public function testUrlExactMatch($domain, $path, $check, $matches, $domain_matches) { + $attributes = new Requests_Utility_CaseInsensitiveDictionary(); + $attributes['domain'] = $domain; + $attributes['path'] = $path; + $check = new Requests_IRI($check); + $cookie = new Requests_Cookie('requests-testcookie', 'testvalue', $attributes); + $this->assertEquals($matches, $cookie->uriMatches($check)); + } + + /** + * @depends testDomainMatch + * @depends testPathMatch + * @dataProvider urlMatchProvider + */ + public function testUrlMatch($domain, $path, $check, $matches, $domain_matches) { + $attributes = new Requests_Utility_CaseInsensitiveDictionary(); + $attributes['domain'] = $domain; + $attributes['path'] = $path; + $flags = array( + 'host-only' => false + ); + $check = new Requests_IRI($check); + $cookie = new Requests_Cookie('requests-testcookie', 'testvalue', $attributes, $flags); + $this->assertEquals($domain_matches, $cookie->uriMatches($check)); + } + + public function testUrlMatchSecure() { + $attributes = new Requests_Utility_CaseInsensitiveDictionary(); + $attributes['domain'] = 'example.com'; + $attributes['path'] = '/'; + $attributes['secure'] = true; + $flags = array( + 'host-only' => false, + ); + $cookie = new Requests_Cookie('requests-testcookie', 'testvalue', $attributes, $flags); + + $this->assertTrue($cookie->uriMatches(new Requests_IRI('https://example.com/'))); + $this->assertFalse($cookie->uriMatches(new Requests_IRI('http://example.com/'))); + + // Double-check host-only + $this->assertTrue($cookie->uriMatches(new Requests_IRI('https://www.example.com/'))); + $this->assertFalse($cookie->uriMatches(new Requests_IRI('http://www.example.com/'))); + } + + /** + * Manually set cookies without a domain/path set should always be valid + * + * Cookies parsed from headers internally in Requests will always have a + * domain/path set, but those created manually will not. Manual cookies + * should be regarded as "global" cookies (that is, set for `.`) + */ + public function testUrlMatchManuallySet() { + $cookie = new Requests_Cookie('requests-testcookie', 'testvalue'); + $this->assertTrue($cookie->domainMatches('example.com')); + $this->assertTrue($cookie->domainMatches('example.net')); + $this->assertTrue($cookie->pathMatches('/')); + $this->assertTrue($cookie->pathMatches('/test')); + $this->assertTrue($cookie->pathMatches('/test/')); + $this->assertTrue($cookie->uriMatches(new Requests_IRI('http://example.com/'))); + $this->assertTrue($cookie->uriMatches(new Requests_IRI('http://example.com/test'))); + $this->assertTrue($cookie->uriMatches(new Requests_IRI('http://example.com/test/'))); + $this->assertTrue($cookie->uriMatches(new Requests_IRI('http://example.net/'))); + $this->assertTrue($cookie->uriMatches(new Requests_IRI('http://example.net/test'))); + $this->assertTrue($cookie->uriMatches(new Requests_IRI('http://example.net/test/'))); + } +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/tests/Encoding.php b/user/plugins/mediaembed/vendor/Requests/tests/Encoding.php new file mode 100644 index 0000000..7e2f138 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/tests/Encoding.php @@ -0,0 +1,94 @@ +<?php + +class RequestsTests_Encoding extends PHPUnit_Framework_TestCase { + protected static function mapData($type, $data) { + $real_data = array(); + foreach ($data as $value) { + $key = $type . ': ' . $value[0]; + $real_data[$key] = $value; + } + return $real_data; + } + + public static function gzipData() { + return array( + array( + 'foobar', + "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x03\x4b\xcb\xcf\x4f\x4a" + . "\x2c\x02\x00\x95\x1f\xf6\x9e\x06\x00\x00\x00", + ), + array( + 'Requests for PHP', + "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x03\x0b\x4a\x2d\x2c\x4d" + . "\x2d\x2e\x29\x56\x48\xcb\x2f\x52\x08\xf0\x08\x00\x00\x58\x35" + . "\x18\x17\x10\x00\x00\x00", + ), + ); + } + + public static function deflateData() { + return array( + array( + 'foobar', + "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x03\x78\x9c\x4b\xcb\xcf" + . "\x4f\x4a\x2c\x02\x00\x08\xab\x02\x7a" + ), + array( + 'Requests for PHP', + "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x03\x78\x9c\x0b\x4a\x2d" + . "\x2c\x4d\x2d\x2e\x29\x56\x48\xcb\x2f\x52\x08\xf0\x08\x00\x00" + . "\x34\x68\x05\xcc" + ) + ); + } + public static function deflateWithoutHeadersData() { + return array( + array( + 'foobar', + "\x78\x9c\x4b\xcb\xcf\x4f\x4a\x2c\x02\x00\x08\xab\x02\x7a" + ), + array( + 'Requests for PHP', + "\x78\x9c\x0b\x4a\x2d\x2c\x4d\x2d\x2e\x29\x56\x48\xcb\x2f\x52" + . "\x08\xf0\x08\x00\x00\x34\x68\x05\xcc" + ) + ); + } + + public static function encodedData() { + $datasets = array(); + $datasets['gzip'] = self::gzipData(); + $datasets['deflate'] = self::deflateData(); + $datasets['deflate without zlib headers'] = self::deflateWithoutHeadersData(); + + $data = array(); + foreach ($datasets as $key => $set) { + $real_set = self::mapData($key, $set); + $data = array_merge($data, $real_set); + } + return $data; + } + + /** + * @dataProvider encodedData + */ + public function testDecompress($original, $encoded) { + $decoded = Requests::decompress($encoded); + $this->assertEquals($original, $decoded); + } + + /** + * @dataProvider encodedData + */ + public function testCompatibleInflate($original, $encoded) { + $decoded = Requests::compatible_gzinflate($encoded); + $this->assertEquals($original, $decoded); + } + + protected function bin2hex($field) { + $field = bin2hex($field); + $field = chunk_split($field,2,"\\x"); + $field = "\\x" . substr($field,0,-2); + return $field; + } +} diff --git a/user/plugins/mediaembed/vendor/Requests/tests/IDNAEncoder.php b/user/plugins/mediaembed/vendor/Requests/tests/IDNAEncoder.php new file mode 100644 index 0000000..24df2de --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/tests/IDNAEncoder.php @@ -0,0 +1,102 @@ +<?php + +class RequestsTest_IDNAEncoder extends PHPUnit_Framework_TestCase { + public static function specExamples() { + return array( + array( + "\xe4\xbb\x96\xe4\xbb\xac\xe4\xb8\xba\xe4\xbb\x80\xe4\xb9\x88\xe4\xb8\x8d\xe8\xaf\xb4\xe4\xb8\xad\xe6\x96\x87", + "xn--ihqwcrb4cv8a8dqg056pqjye" + ), + array( + "\x33\xe5\xb9\xb4\x42\xe7\xb5\x84\xe9\x87\x91\xe5\x85\xab\xe5\x85\x88\xe7\x94\x9f", + "xn--3B-ww4c5e180e575a65lsy2b", + ) + ); + } + + /** + * @dataProvider specExamples + */ + public function testEncoding($data, $expected) { + $result = Requests_IDNAEncoder::encode($data); + $this->assertEquals($expected, $result); + } + + /** + * @expectedException Requests_Exception + */ + public function testASCIITooLong() { + $data = str_repeat("abcd", 20); + $result = Requests_IDNAEncoder::encode($data); + } + + /** + * @expectedException Requests_Exception + */ + public function testEncodedTooLong() { + $data = str_repeat("\xe4\xbb\x96", 60); + $result = Requests_IDNAEncoder::encode($data); + } + + /** + * @expectedException Requests_Exception + */ + public function testAlreadyPrefixed() { + $result = Requests_IDNAEncoder::encode("xn--\xe4\xbb\x96"); + } + + public function testASCIICharacter() { + $result = Requests_IDNAEncoder::encode("a"); + $this->assertEquals('a', $result); + } + + public function testTwoByteCharacter() { + $result = Requests_IDNAEncoder::encode("\xc2\xb6"); // Pilcrow character + $this->assertEquals('xn--tba', $result); + } + + public function testThreeByteCharacter() { + $result = Requests_IDNAEncoder::encode("\xe2\x82\xac"); // Euro symbol + $this->assertEquals('xn--lzg', $result); + } + + public function testFourByteCharacter() { + $result = Requests_IDNAEncoder::encode("\xf0\xa4\xad\xa2"); // Chinese symbol? + $this->assertEquals('xn--ww6j', $result); + } + + /** + * @expectedException Requests_Exception + */ + public function testFiveByteCharacter() { + $result = Requests_IDNAEncoder::encode("\xfb\xb6\xb6\xb6\xb6"); + } + + /** + * @expectedException Requests_Exception + */ + public function testSixByteCharacter() { + $result = Requests_IDNAEncoder::encode("\xfd\xb6\xb6\xb6\xb6\xb6"); + } + + /** + * @expectedException Requests_Exception + */ + public function testInvalidASCIICharacterWithMultibyte() { + $result = Requests_IDNAEncoder::encode("\0\xc2\xb6"); + } + + /** + * @expectedException Requests_Exception + */ + public function testUnfinishedMultibyte() { + $result = Requests_IDNAEncoder::encode("\xc2"); + } + + /** + * @expectedException Requests_Exception + */ + public function testPartialMultibyte() { + $result = Requests_IDNAEncoder::encode("\xc2\xc2\xb6"); + } +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/tests/IRI.php b/user/plugins/mediaembed/vendor/Requests/tests/IRI.php new file mode 100644 index 0000000..8df8567 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/tests/IRI.php @@ -0,0 +1,418 @@ +<?php + +/** + * IRI test cases + * + * Copyright (c) 2008-2010 Geoffrey Sneddon. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * * Neither the name of the SimplePie Team nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * @package IRI + * @author Geoffrey Sneddon + * @copyright 2008-2010 Geoffrey Sneddon + * @license http://www.opensource.org/licenses/bsd-license.php + * @link http://hg.gsnedders.com/iri/ + * + */ + +class RequestsTest_IRI extends PHPUnit_Framework_TestCase +{ + public static function rfc3986_tests() + { + return array( + // Normal + array('g:h', 'g:h'), + array('g', 'http://a/b/c/g'), + array('./g', 'http://a/b/c/g'), + array('g/', 'http://a/b/c/g/'), + array('/g', 'http://a/g'), + array('//g', 'http://g/'), + array('?y', 'http://a/b/c/d;p?y'), + array('g?y', 'http://a/b/c/g?y'), + array('#s', 'http://a/b/c/d;p?q#s'), + array('g#s', 'http://a/b/c/g#s'), + array('g?y#s', 'http://a/b/c/g?y#s'), + array(';x', 'http://a/b/c/;x'), + array('g;x', 'http://a/b/c/g;x'), + array('g;x?y#s', 'http://a/b/c/g;x?y#s'), + array('', 'http://a/b/c/d;p?q'), + array('.', 'http://a/b/c/'), + array('./', 'http://a/b/c/'), + array('..', 'http://a/b/'), + array('../', 'http://a/b/'), + array('../g', 'http://a/b/g'), + array('../..', 'http://a/'), + array('../../', 'http://a/'), + array('../../g', 'http://a/g'), + // Abnormal + array('../../../g', 'http://a/g'), + array('../../../../g', 'http://a/g'), + array('/./g', 'http://a/g'), + array('/../g', 'http://a/g'), + array('g.', 'http://a/b/c/g.'), + array('.g', 'http://a/b/c/.g'), + array('g..', 'http://a/b/c/g..'), + array('..g', 'http://a/b/c/..g'), + array('./../g', 'http://a/b/g'), + array('./g/.', 'http://a/b/c/g/'), + array('g/./h', 'http://a/b/c/g/h'), + array('g/../h', 'http://a/b/c/h'), + array('g;x=1/./y', 'http://a/b/c/g;x=1/y'), + array('g;x=1/../y', 'http://a/b/c/y'), + array('g?y/./x', 'http://a/b/c/g?y/./x'), + array('g?y/../x', 'http://a/b/c/g?y/../x'), + array('g#s/./x', 'http://a/b/c/g#s/./x'), + array('g#s/../x', 'http://a/b/c/g#s/../x'), + array('http:g', 'http:g'), + ); + } + + /** + * @dataProvider rfc3986_tests + */ + public function testStringRFC3986($relative, $expected) + { + $base = new Requests_IRI('http://a/b/c/d;p?q'); + $this->assertEquals($expected, Requests_IRI::absolutize($base, $relative)->iri); + $this->assertEquals($expected, (string) Requests_IRI::absolutize($base, $relative)); + } + + /** + * @dataProvider rfc3986_tests + */ + public function testBothStringRFC3986($relative, $expected) + { + $base = 'http://a/b/c/d;p?q'; + $this->assertEquals($expected, Requests_IRI::absolutize($base, $relative)->iri); + $this->assertEquals($expected, (string) Requests_IRI::absolutize($base, $relative)); + } + + /** + * @dataProvider rfc3986_tests + */ + public function testObjectRFC3986($relative, $expected) + { + $base = new Requests_IRI('http://a/b/c/d;p?q'); + $expected = new Requests_IRI($expected); + $this->assertEquals($expected, Requests_IRI::absolutize($base, $relative)); + } + + public static function sp_tests() + { + return array( + array('http://a/b/c/d', 'f%0o', 'http://a/b/c/f%250o'), + array('http://a/b/', 'c', 'http://a/b/c'), + array('http://a/', 'b', 'http://a/b'), + array('http://a/', '/b', 'http://a/b'), + array('http://a/b', 'c', 'http://a/c'), + array('http://a/b/', "c\x0Ad", 'http://a/b/c%0Ad'), + array('http://a/b/', "c\x0A\x0B", 'http://a/b/c%0A%0B'), + array('http://a/b/c', '//0', 'http://0/'), + array('http://a/b/c', '0', 'http://a/b/0'), + array('http://a/b/c', '?0', 'http://a/b/c?0'), + array('http://a/b/c', '#0', 'http://a/b/c#0'), + array('http://0/b/c', 'd', 'http://0/b/d'), + array('http://a/b/c?0', 'd', 'http://a/b/d'), + array('http://a/b/c#0', 'd', 'http://a/b/d'), + array('http://example.com', '//example.net', 'http://example.net/'), + array('http:g', 'a', 'http:a'), + ); + } + + /** + * @dataProvider sp_tests + */ + public function testStringSP($base, $relative, $expected) + { + $base = new Requests_IRI($base); + $this->assertEquals($expected, Requests_IRI::absolutize($base, $relative)->iri); + $this->assertEquals($expected, (string) Requests_IRI::absolutize($base, $relative)); + } + + /** + * @dataProvider sp_tests + */ + public function testObjectSP($base, $relative, $expected) + { + $base = new Requests_IRI($base); + $expected = new Requests_IRI($expected); + $this->assertEquals($expected, Requests_IRI::absolutize($base, $relative)); + } + + public static function absolutize_tests() + { + return array( + array('http://example.com/', 'foo/111:bar', 'http://example.com/foo/111:bar'), + array('http://example.com/#foo', '', 'http://example.com/'), + ); + } + + /** + * @dataProvider absolutize_tests + */ + public function testAbsolutizeString($base, $relative, $expected) + { + $base = new Requests_IRI($base); + $this->assertEquals($expected, Requests_IRI::absolutize($base, $relative)->iri); + } + + /** + * @dataProvider absolutize_tests + */ + public function testAbsolutizeObject($base, $relative, $expected) + { + $base = new Requests_IRI($base); + $expected = new Requests_IRI($expected); + $this->assertEquals($expected, Requests_IRI::absolutize($base, $relative)); + } + + public static function normalization_tests() + { + return array( + array('example://a/b/c/%7Bfoo%7D', 'example://a/b/c/%7Bfoo%7D'), + array('eXAMPLE://a/./b/../b/%63/%7bfoo%7d', 'example://a/b/c/%7Bfoo%7D'), + array('example://%61/', 'example://a/'), + array('example://%41/', 'example://a/'), + array('example://A/', 'example://a/'), + array('example://a/', 'example://a/'), + array('example://%25A/', 'example://%25a/'), + array('HTTP://EXAMPLE.com/', 'http://example.com/'), + array('http://example.com/', 'http://example.com/'), + array('http://example.com:', 'http://example.com/'), + array('http://example.com:80', 'http://example.com/'), + array('http://@example.com', 'http://@example.com/'), + array('http://', 'http:///'), + array('http://example.com?', 'http://example.com/?'), + array('http://example.com#', 'http://example.com/#'), + array('https://example.com/', 'https://example.com/'), + array('https://example.com:', 'https://example.com/'), + array('https://@example.com', 'https://@example.com/'), + array('https://example.com?', 'https://example.com/?'), + array('https://example.com#', 'https://example.com/#'), + array('file://localhost/foobar', 'file:/foobar'), + array('http://[0:0:0:0:0:0:0:1]', 'http://[::1]/'), + array('http://[2001:db8:85a3:0000:0000:8a2e:370:7334]', 'http://[2001:db8:85a3::8a2e:370:7334]/'), + array('http://[0:0:0:0:0:ffff:c0a8:a01]', 'http://[::ffff:c0a8:a01]/'), + array('http://[ffff:0:0:0:0:0:0:0]', 'http://[ffff::]/'), + array('http://[::ffff:192.0.2.128]', 'http://[::ffff:192.0.2.128]/'), + array('http://[invalid]', 'http:'), + array('http://[0:0:0:0:0:0:0:1]:', 'http://[::1]/'), + array('http://[0:0:0:0:0:0:0:1]:80', 'http://[::1]/'), + array('http://[0:0:0:0:0:0:0:1]:1234', 'http://[::1]:1234/'), + // Punycode decoding helps with normalisation of IRIs, but is not + // needed for URIs, so we don't really care about it for Requests + //array('http://xn--tdali-d8a8w.lv', 'http://tÅ«daliņ.lv/'), + //array('http://t%C5%ABdali%C5%86.lv', 'http://tÅ«daliņ.lv/'), + array('http://Aa@example.com', 'http://Aa@example.com/'), + array('http://example.com?Aa', 'http://example.com/?Aa'), + array('http://example.com/Aa', 'http://example.com/Aa'), + array('http://example.com#Aa', 'http://example.com/#Aa'), + array('http://[0:0:0:0:0:0:0:0]', 'http://[::]/'), + array('http:.', 'http:'), + array('http:..', 'http:'), + array('http:./', 'http:'), + array('http:../', 'http:'), + array('http://example.com/%3A', 'http://example.com/%3A'), + array('http://example.com/:', 'http://example.com/:'), + array('http://example.com/%C2', 'http://example.com/%C2'), + array('http://example.com/%C2a', 'http://example.com/%C2a'), + array('http://example.com/%C2%00', 'http://example.com/%C2%00'), + array('http://example.com/%C3%A9', 'http://example.com/é'), + array('http://example.com/%C3%A9%00', 'http://example.com/é%00'), + array('http://example.com/%C3%A9cole', 'http://example.com/école'), + array('http://example.com/%FF', 'http://example.com/%FF'), + array("http://example.com/\xF3\xB0\x80\x80", 'http://example.com/%F3%B0%80%80'), + array("http://example.com/\xF3\xB0\x80\x80%00", 'http://example.com/%F3%B0%80%80%00'), + array("http://example.com/\xF3\xB0\x80\x80a", 'http://example.com/%F3%B0%80%80a'), + array("http://example.com?\xF3\xB0\x80\x80", "http://example.com/?\xF3\xB0\x80\x80"), + array("http://example.com?\xF3\xB0\x80\x80%00", "http://example.com/?\xF3\xB0\x80\x80%00"), + array("http://example.com?\xF3\xB0\x80\x80a", "http://example.com/?\xF3\xB0\x80\x80a"), + array("http://example.com/\xEE\x80\x80", 'http://example.com/%EE%80%80'), + array("http://example.com/\xEE\x80\x80%00", 'http://example.com/%EE%80%80%00'), + array("http://example.com/\xEE\x80\x80a", 'http://example.com/%EE%80%80a'), + array("http://example.com?\xEE\x80\x80", "http://example.com/?\xEE\x80\x80"), + array("http://example.com?\xEE\x80\x80%00", "http://example.com/?\xEE\x80\x80%00"), + array("http://example.com?\xEE\x80\x80a", "http://example.com/?\xEE\x80\x80a"), + array("http://example.com/\xC2", 'http://example.com/%C2'), + array("http://example.com/\xC2a", 'http://example.com/%C2a'), + array("http://example.com/\xC2\x00", 'http://example.com/%C2%00'), + array("http://example.com/\xC3\xA9", 'http://example.com/é'), + array("http://example.com/\xC3\xA9\x00", 'http://example.com/é%00'), + array("http://example.com/\xC3\xA9cole", 'http://example.com/école'), + array("http://example.com/\xFF", 'http://example.com/%FF'), + array("http://example.com/\xFF%00", 'http://example.com/%FF%00'), + array("http://example.com/\xFFa", 'http://example.com/%FFa'), + array('http://example.com/%61', 'http://example.com/a'), + array('http://example.com?%26', 'http://example.com/?%26'), + array('http://example.com?%61', 'http://example.com/?a'), + array('///', '///'), + ); + } + + /** + * @dataProvider normalization_tests + */ + public function testStringNormalization($input, $output) + { + $input = new Requests_IRI($input); + $this->assertEquals($output, $input->iri); + $this->assertEquals($output, (string) $input); + } + + /** + * @dataProvider normalization_tests + */ + public function testObjectNormalization($input, $output) + { + $input = new Requests_IRI($input); + $output = new Requests_IRI($output); + $this->assertEquals($output, $input); + } + + public static function equivalence_tests() + { + return array( + array('http://É.com', 'http://%C3%89.com'), + ); + } + + /** + * @dataProvider equivalence_tests + */ + public function testObjectEquivalence($input, $output) + { + $input = new Requests_IRI($input); + $output = new Requests_IRI($output); + $this->assertEquals($output, $input); + } + + public static function not_equivalence_tests() + { + return array( + array('http://example.com/foo/bar', 'http://example.com/foo%2Fbar'), + ); + } + + /** + * @dataProvider not_equivalence_tests + */ + public function testObjectNotEquivalence($input, $output) + { + $input = new Requests_IRI($input); + $output = new Requests_IRI($output); + $this->assertNotEquals($output, $input); + } + + public function testInvalidAbsolutizeBase() + { + $this->assertFalse(Requests_IRI::absolutize('://not a URL', '../')); + } + + public function testInvalidAbsolutizeRelative() + { + $this->assertFalse(Requests_IRI::absolutize('http://example.com/', 'http://example.com//not a URL')); + } + + public function testFullGamut() + { + $iri = new Requests_IRI(); + $iri->scheme = 'http'; + $iri->userinfo = 'user:password'; + $iri->host = 'example.com'; + $iri->path = '/test/'; + $iri->fragment = 'test'; + + $this->assertEquals('http', $iri->scheme); + $this->assertEquals('user:password', $iri->userinfo); + $this->assertEquals('example.com', $iri->host); + $this->assertEquals(80, $iri->port); + $this->assertEquals('/test/', $iri->path); + $this->assertEquals('test', $iri->fragment); + } + + public function testReadAliased() + { + $iri = new Requests_IRI(); + $iri->scheme = 'http'; + $iri->userinfo = 'user:password'; + $iri->host = 'example.com'; + $iri->path = '/test/'; + $iri->fragment = 'test'; + + $this->assertEquals('http', $iri->ischeme); + $this->assertEquals('user:password', $iri->iuserinfo); + $this->assertEquals('example.com', $iri->ihost); + $this->assertEquals(80, $iri->iport); + $this->assertEquals('/test/', $iri->ipath); + $this->assertEquals('test', $iri->ifragment); + } + + public function testWriteAliased() + { + $iri = new Requests_IRI(); + $iri->scheme = 'http'; + $iri->iuserinfo = 'user:password'; + $iri->ihost = 'example.com'; + $iri->ipath = '/test/'; + $iri->ifragment = 'test'; + + $this->assertEquals('http', $iri->scheme); + $this->assertEquals('user:password', $iri->userinfo); + $this->assertEquals('example.com', $iri->host); + $this->assertEquals(80, $iri->port); + $this->assertEquals('/test/', $iri->path); + $this->assertEquals('test', $iri->fragment); + } + + /** + * @expectedException PHPUnit_Framework_Error_Notice + */ + public function testNonexistantProperty() + { + $iri = new Requests_IRI(); + $this->assertFalse(isset($iri->nonexistant_prop)); + $should_fail = $iri->nonexistant_prop; + } + + public function testBlankHost() + { + $iri = new Requests_IRI('http://example.com/a/?b=c#d'); + $iri->host = null; + + $this->assertEquals(null, $iri->host); + $this->assertEquals('http:/a/?b=c#d', (string) $iri); + } + + public function testBadPort() + { + $iri = new Requests_IRI(); + $iri->port = 'example'; + + $this->assertEquals(null, $iri->port); + } +} diff --git a/user/plugins/mediaembed/vendor/Requests/tests/Requests.php b/user/plugins/mediaembed/vendor/Requests/tests/Requests.php new file mode 100644 index 0000000..6913959 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/tests/Requests.php @@ -0,0 +1,148 @@ +<?php + +class RequestsTest_Requests extends PHPUnit_Framework_TestCase { + /** + * @expectedException Requests_Exception + */ + public function testInvalidProtocol() { + $request = Requests::request('ftp://128.0.0.1/'); + } + + public function testDefaultTransport() { + $request = Requests::get(httpbin('/get')); + $this->assertEquals(200, $request->status_code); + } + + /** + * Standard response header parsing + */ + public function testHeaderParsing() { + $transport = new RawTransport(); + $transport->data = + "HTTP/1.0 200 OK\r\n". + "Host: localhost\r\n". + "Host: ambiguous\r\n". + "Nospace:here\r\n". + "Muchspace: there \r\n". + "Empty:\r\n". + "Empty2: \r\n". + "Folded: one\r\n". + "\ttwo\r\n". + " three\r\n\r\n". + "stop\r\n"; + + $options = array( + 'transport' => $transport + ); + $response = Requests::get('http://example.com/', array(), $options); + $expected = new Requests_Response_Headers(); + $expected['host'] = 'localhost,ambiguous'; + $expected['nospace'] = 'here'; + $expected['muchspace'] = 'there'; + $expected['empty'] = ''; + $expected['empty2'] = ''; + $expected['folded'] = 'one two three'; + foreach ($expected as $key => $value) { + $this->assertEquals($value, $response->headers[$key]); + } + + foreach ($response->headers as $key => $value) { + $this->assertEquals($value, $expected[$key]); + } + } + + public function testRawAccess() { + $transport = new RawTransport(); + $transport->data = + "HTTP/1.0 200 OK\r\n". + "Host: localhost\r\n\r\n". + "Test"; + + $options = array( + 'transport' => $transport + ); + $response = Requests::get('http://example.com/', array(), $options); + $this->assertEquals($transport->data, $response->raw); + } + + /** + * Headers with only \n delimiting should be treated as if they're \r\n + */ + public function testHeaderOnlyLF() { + $transport = new RawTransport(); + $transport->data = "HTTP/1.0 200 OK\r\nTest: value\nAnother-Test: value\r\n\r\n"; + + $options = array( + 'transport' => $transport + ); + $response = Requests::get('http://example.com/', array(), $options); + $this->assertEquals('value', $response->headers['test']); + $this->assertEquals('value', $response->headers['another-test']); + } + + /** + * Check that invalid protocols are not accepted + * + * We do not support HTTP/0.9. If this is really an issue for you, file a + * new issue, and update your server/proxy to support a proper protocol. + * + * @expectedException Requests_Exception + */ + public function testInvalidProtocolVersion() { + $transport = new RawTransport(); + $transport->data = "HTTP/0.9 200 OK\r\n\r\n<p>Test"; + + $options = array( + 'transport' => $transport + ); + $response = Requests::get('http://example.com/', array(), $options); + } + + /** + * HTTP/0.9 also appears to use a single CRLF instead of two + * + * @expectedException Requests_Exception + */ + public function testSingleCRLFSeparator() { + $transport = new RawTransport(); + $transport->data = "HTTP/0.9 200 OK\r\n<p>Test"; + + $options = array( + 'transport' => $transport + ); + $response = Requests::get('http://example.com/', array(), $options); + } + + /** + * @expectedException Requests_Exception + */ + public function testInvalidStatus() { + $transport = new RawTransport(); + $transport->data = "HTTP/1.1 OK\r\nTest: value\nAnother-Test: value\r\n\r\nTest"; + + $options = array( + 'transport' => $transport + ); + $response = Requests::get('http://example.com/', array(), $options); + } + + public function test30xWithoutLocation() { + $transport = new MockTransport(); + $transport->code = 302; + + $options = array( + 'transport' => $transport + ); + $response = Requests::get('http://example.com/', array(), $options); + $this->assertEquals(302, $response->status_code); + $this->assertEquals(0, $response->redirects); + } + + /** + * @expectedException Requests_Exception + */ + public function testTimeoutException() { + $options = array('timeout' => 0.5); + $response = Requests::get(httpbin('/delay/3'), array(), $options); + } +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/tests/Response/Headers.php b/user/plugins/mediaembed/vendor/Requests/tests/Response/Headers.php new file mode 100644 index 0000000..7541f37 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/tests/Response/Headers.php @@ -0,0 +1,55 @@ +<?php + +class RequestsTest_Response_Headers extends PHPUnit_Framework_TestCase { + public function testArrayAccess() { + $headers = new Requests_Response_Headers(); + $headers['Content-Type'] = 'text/plain'; + + $this->assertEquals('text/plain', $headers['Content-Type']); + } + public function testCaseInsensitiveArrayAccess() { + $headers = new Requests_Response_Headers(); + $headers['Content-Type'] = 'text/plain'; + + $this->assertEquals('text/plain', $headers['CONTENT-TYPE']); + $this->assertEquals('text/plain', $headers['content-type']); + } + + /** + * @depends testArrayAccess + */ + public function testIteration() { + $headers = new Requests_Response_Headers(); + $headers['Content-Type'] = 'text/plain'; + $headers['Content-Length'] = 10; + + foreach ($headers as $name => $value) { + switch (strtolower($name)) { + case 'content-type': + $this->assertEquals('text/plain', $value); + break; + case 'content-length': + $this->assertEquals(10, $value); + break; + default: + throw new Exception('Invalid name: ' . $name); + } + } + } + + /** + * @expectedException Requests_Exception + */ + public function testInvalidKey() { + $headers = new Requests_Response_Headers(); + $headers[] = 'text/plain'; + } + + public function testMultipleHeaders() { + $headers = new Requests_Response_Headers(); + $headers['Accept'] = 'text/html;q=1.0'; + $headers['Accept'] = '*/*;q=0.1'; + + $this->assertEquals('text/html;q=1.0,*/*;q=0.1', $headers['Accept']); + } +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/tests/SSL.php b/user/plugins/mediaembed/vendor/Requests/tests/SSL.php new file mode 100644 index 0000000..62bb998 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/tests/SSL.php @@ -0,0 +1,108 @@ +<?php + +class RequestsTest_SSL extends PHPUnit_Framework_TestCase { + public static function domainMatchProvider() { + return array( + array('example.com', 'example.com'), + array('test.example.com', 'test.example.com'), + array('test.example.com', '*.example.com'), + ); + } + + public static function domainNoMatchProvider() { + return array( + // Check that we need at least 3 components + array('com', '*'), + array('example.com', '*.com'), + + // Check that double wildcards don't work + array('abc.def.example.com', '*.*.example.com'), + + // Check that we only match with the correct number of components + array('abc.def.example.com', 'def.example.com'), + array('abc.def.example.com', '*.example.com'), + + // Check that the wildcard only works as the full first component + array('abc.def.example.com', 'a*.def.example.com'), + + // Check that wildcards are not allowed for IPs + array('192.168.0.1', '*.168.0.1'), + array('192.168.0.1', '192.168.0.*'), + ); + } + + /** + * @dataProvider domainMatchProvider + */ + public function testMatch($base, $dnsname) { + $this->assertTrue(Requests_SSL::match_domain($base, $dnsname)); + } + + /** + * @dataProvider domainNoMatchProvider + */ + public function testNoMatch($base, $dnsname) { + $this->assertFalse(Requests_SSL::match_domain($base, $dnsname)); + } + + protected function fakeCertificate($dnsname, $with_san = true) { + $certificate = array( + 'subject' => array( + 'CN' => $dnsname + ), + ); + + if ($with_san !== false) { + // If SAN is set to true, default it to the dNSName + if ($with_san === true) { + $with_san = $dnsname; + } + $certificate['extensions'] = array( + 'subjectAltName' => 'DNS: ' . $with_san, + ); + } + + return $certificate; + } + + /** + * @dataProvider domainMatchProvider + */ + public function testMatchViaCertificate($base, $dnsname) { + $certificate = $this->fakeCertificate($dnsname); + $this->assertTrue(Requests_SSL::verify_certificate($base, $certificate)); + } + + /** + * @dataProvider domainNoMatchProvider + */ + public function testNoMatchViaCertificate($base, $dnsname) { + $certificate = $this->fakeCertificate($dnsname); + $this->assertFalse(Requests_SSL::verify_certificate($base, $certificate)); + } + + public function testCNFallback() { + $certificate = $this->fakeCertificate('example.com', false); + $this->assertTrue(Requests_SSL::verify_certificate('example.com', $certificate)); + } + + public function testInvalidCNFallback() { + $certificate = $this->fakeCertificate('example.com', false); + $this->assertFalse(Requests_SSL::verify_certificate('example.net', $certificate)); + } + + /** + * Test a certificate with both CN and SAN fields + * + * As per RFC2818, if the SAN field exists, we should parse that and ignore + * the value of the CN field. + * + * @link http://tools.ietf.org/html/rfc2818#section-3.1 + */ + public function testIgnoreCNWithSAN() { + $certificate = $this->fakeCertificate('example.net', 'example.com'); + + $this->assertTrue(Requests_SSL::verify_certificate('example.com', $certificate), 'Checking SAN validation'); + $this->assertFalse(Requests_SSL::verify_certificate('example.net', $certificate), 'Checking CN non-validation'); + } +} diff --git a/user/plugins/mediaembed/vendor/Requests/tests/Session.php b/user/plugins/mediaembed/vendor/Requests/tests/Session.php new file mode 100644 index 0000000..34fc502 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/tests/Session.php @@ -0,0 +1,86 @@ +<?php + +class RequestsTest_Session extends PHPUnit_Framework_TestCase { + public function testPropertyUsage() { + $headers = array( + 'X-TestHeader' => 'testing', + 'X-TestHeader2' => 'requests-test' + ); + $data = array( + 'testdata' => 'value1', + 'test2' => 'value2', + 'test3' => array( + 'foo' => 'bar', + 'abc' => 'xyz' + ) + ); + $options = array( + 'testoption' => 'test', + 'foo' => 'bar' + ); + + $session = new Requests_Session('http://example.com/', $headers, $data, $options); + $this->assertEquals('http://example.com/', $session->url); + $this->assertEquals($headers, $session->headers); + $this->assertEquals($data, $session->data); + $this->assertEquals($options['testoption'], $session->options['testoption']); + + // Test via property access + $this->assertEquals($options['testoption'], $session->testoption); + + // Test setting new property + $session->newoption = 'foobar'; + $options['newoption'] = 'foobar'; + $this->assertEquals($options['newoption'], $session->options['newoption']); + + // Test unsetting property + unset($session->newoption); + $this->assertFalse(isset($session->newoption)); + + // Update property + $session->testoption = 'foobar'; + $options['testoption'] = 'foobar'; + $this->assertEquals($options['testoption'], $session->testoption); + + // Test getting invalid property + $this->assertNull($session->invalidoption); + } + + public function testURLResolution() { + $session = new Requests_Session(httpbin('/')); + + // Set the cookies up + $response = $session->get('/get'); + $this->assertTrue($response->success); + $this->assertEquals(httpbin('/get'), $response->url); + + $data = json_decode($response->body, true); + $this->assertNotNull($data); + $this->assertArrayHasKey('url', $data); + $this->assertEquals(httpbin('/get'), $data['url']); + } + + public function testSharedCookies() { + $session = new Requests_Session(httpbin('/')); + + $options = array( + 'follow_redirects' => false + ); + $response = $session->get('/cookies/set?requests-testcookie=testvalue', array(), $options); + $this->assertEquals(302, $response->status_code); + + // Check the cookies + $response = $session->get('/cookies'); + $this->assertTrue($response->success); + + // Check the response + $data = json_decode($response->body, true); + $this->assertNotNull($data); + $this->assertArrayHasKey('cookies', $data); + + $cookies = array( + 'requests-testcookie' => 'testvalue' + ); + $this->assertEquals($cookies, $data['cookies']); + } +} diff --git a/user/plugins/mediaembed/vendor/Requests/tests/Transport/Base.php b/user/plugins/mediaembed/vendor/Requests/tests/Transport/Base.php new file mode 100644 index 0000000..b9bd437 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/tests/Transport/Base.php @@ -0,0 +1,683 @@ +<?php + +abstract class RequestsTest_Transport_Base extends PHPUnit_Framework_TestCase { + public function setUp() { + $callback = array($this->transport, 'test'); + $supported = call_user_func($callback); + + if (!$supported) { + $this->markTestSkipped($this->transport . ' is not available'); + return; + } + + $ssl_supported = call_user_func($callback, array('ssl' => true)); + if (!$ssl_supported) { + $this->skip_https = true; + } + } + protected $skip_https = false; + + protected function getOptions($other = array()) { + $options = array( + 'transport' => $this->transport + ); + $options = array_merge($options, $other); + return $options; + } + + public function testSimpleGET() { + $request = Requests::get(httpbin('/get'), array(), $this->getOptions()); + $this->assertEquals(200, $request->status_code); + + $result = json_decode($request->body, true); + $this->assertEquals(httpbin('/get'), $result['url']); + $this->assertEmpty($result['args']); + } + + public function testGETWithArgs() { + $request = Requests::get(httpbin('/get?test=true&test2=test'), array(), $this->getOptions()); + $this->assertEquals(200, $request->status_code); + + $result = json_decode($request->body, true); + $this->assertEquals(httpbin('/get?test=true&test2=test'), $result['url']); + $this->assertEquals(array('test' => 'true', 'test2' => 'test'), $result['args']); + } + + public function testGETWithData() { + $data = array( + 'test' => 'true', + 'test2' => 'test', + ); + $request = Requests::request(httpbin('/get'), array(), $data, Requests::GET, $this->getOptions()); + $this->assertEquals(200, $request->status_code); + + $result = json_decode($request->body, true); + $this->assertEquals(httpbin('/get?test=true&test2=test'), $result['url']); + $this->assertEquals(array('test' => 'true', 'test2' => 'test'), $result['args']); + } + + public function testGETWithNestedData() { + $data = array( + 'test' => 'true', + 'test2' => array( + 'test3' => 'test', + 'test4' => 'test-too', + ), + ); + $request = Requests::request(httpbin('/get'), array(), $data, Requests::GET, $this->getOptions()); + $this->assertEquals(200, $request->status_code); + + $result = json_decode($request->body, true); + $this->assertEquals(httpbin('/get?test=true&test2%5Btest3%5D=test&test2%5Btest4%5D=test-too'), $result['url']); + $this->assertEquals(array('test' => 'true', 'test2[test3]' => 'test', 'test2[test4]' => 'test-too'), $result['args']); + } + + public function testGETWithDataAndQuery() { + $data = array( + 'test2' => 'test', + ); + $request = Requests::request(httpbin('/get?test=true'), array(), $data, Requests::GET, $this->getOptions()); + $this->assertEquals(200, $request->status_code); + + $result = json_decode($request->body, true); + $this->assertEquals(httpbin('/get?test=true&test2=test'), $result['url']); + $this->assertEquals(array('test' => 'true', 'test2' => 'test'), $result['args']); + } + + public function testGETWithHeaders() { + $headers = array( + 'Requested-At' => time(), + ); + $request = Requests::get(httpbin('/get'), $headers, $this->getOptions()); + $this->assertEquals(200, $request->status_code); + + $result = json_decode($request->body, true); + $this->assertEquals($headers['Requested-At'], $result['headers']['Requested-At']); + } + + public function testChunked() { + $request = Requests::get(httpbin('/stream/1'), array(), $this->getOptions()); + $this->assertEquals(200, $request->status_code); + + $result = json_decode($request->body, true); + $this->assertEquals(httpbin('/stream/1'), $result['url']); + $this->assertEmpty($result['args']); + } + + public function testHEAD() { + $request = Requests::head(httpbin('/get'), array(), $this->getOptions()); + $this->assertEquals(200, $request->status_code); + $this->assertEquals('', $request->body); + } + + public function testRawPOST() { + $data = 'test'; + $request = Requests::post(httpbin('/post'), array(), $data, $this->getOptions()); + $this->assertEquals(200, $request->status_code); + + $result = json_decode($request->body, true); + $this->assertEquals('test', $result['data']); + } + + public function testFormPost() { + $data = 'test=true&test2=test'; + $request = Requests::post(httpbin('/post'), array(), $data, $this->getOptions()); + $this->assertEquals(200, $request->status_code); + + $result = json_decode($request->body, true); + $this->assertEquals(array('test' => 'true', 'test2' => 'test'), $result['form']); + } + + public function testPOSTWithArray() { + $data = array( + 'test' => 'true', + 'test2' => 'test', + ); + $request = Requests::post(httpbin('/post'), array(), $data, $this->getOptions()); + $this->assertEquals(200, $request->status_code); + + $result = json_decode($request->body, true); + $this->assertEquals(array('test' => 'true', 'test2' => 'test'), $result['form']); + } + + public function testPOSTWithNestedData() { + $data = array( + 'test' => 'true', + 'test2' => array( + 'test3' => 'test', + 'test4' => 'test-too', + ), + ); + $request = Requests::post(httpbin('/post'), array(), $data, $this->getOptions()); + $this->assertEquals(200, $request->status_code); + + $result = json_decode($request->body, true); + $this->assertEquals(array('test' => 'true', 'test2[test3]' => 'test', 'test2[test4]' => 'test-too'), $result['form']); + } + + public function testRawPUT() { + $data = 'test'; + $request = Requests::put(httpbin('/put'), array(), $data, $this->getOptions()); + $this->assertEquals(200, $request->status_code); + + $result = json_decode($request->body, true); + $this->assertEquals('test', $result['data']); + } + + public function testFormPUT() { + $data = 'test=true&test2=test'; + $request = Requests::put(httpbin('/put'), array(), $data, $this->getOptions()); + $this->assertEquals(200, $request->status_code); + + $result = json_decode($request->body, true); + $this->assertEquals(array('test' => 'true', 'test2' => 'test'), $result['form']); + } + + public function testPUTWithArray() { + $data = array( + 'test' => 'true', + 'test2' => 'test', + ); + $request = Requests::put(httpbin('/put'), array(), $data, $this->getOptions()); + $this->assertEquals(200, $request->status_code); + + $result = json_decode($request->body, true); + $this->assertEquals(array('test' => 'true', 'test2' => 'test'), $result['form']); + } + + public function testRawPATCH() { + $data = 'test'; + $request = Requests::patch(httpbin('/patch'), array(), $data, $this->getOptions()); + $this->assertEquals(200, $request->status_code); + + $result = json_decode($request->body, true); + $this->assertEquals('test', $result['data']); + } + + public function testFormPATCH() { + $data = 'test=true&test2=test'; + $request = Requests::patch(httpbin('/patch'), array(), $data, $this->getOptions()); + $this->assertEquals(200, $request->status_code, $request->body); + + $result = json_decode($request->body, true); + $this->assertEquals(array('test' => 'true', 'test2' => 'test'), $result['form']); + } + + public function testPATCHWithArray() { + $data = array( + 'test' => 'true', + 'test2' => 'test', + ); + $request = Requests::patch(httpbin('/patch'), array(), $data, $this->getOptions()); + $this->assertEquals(200, $request->status_code); + + $result = json_decode($request->body, true); + $this->assertEquals(array('test' => 'true', 'test2' => 'test'), $result['form']); + } + + public function testDELETE() { + $request = Requests::delete(httpbin('/delete'), array(), $this->getOptions()); + $this->assertEquals(200, $request->status_code); + + $result = json_decode($request->body, true); + $this->assertEquals(httpbin('/delete'), $result['url']); + $this->assertEmpty($result['args']); + } + + public function testDELETEWithData() { + $data = array( + 'test' => 'true', + 'test2' => 'test', + ); + $request = Requests::request(httpbin('/delete'), array(), $data, Requests::DELETE, $this->getOptions()); + $this->assertEquals(200, $request->status_code); + + $result = json_decode($request->body, true); + $this->assertEquals(httpbin('/delete?test=true&test2=test'), $result['url']); + $this->assertEquals(array('test' => 'true', 'test2' => 'test'), $result['args']); + } + + public function testRedirects() { + $request = Requests::get(httpbin('/redirect/6'), array(), $this->getOptions()); + $this->assertEquals(200, $request->status_code); + + $this->assertEquals(6, $request->redirects); + } + + public function testRelativeRedirects() { + $request = Requests::get(httpbin('/relative-redirect/6'), array(), $this->getOptions()); + $this->assertEquals(200, $request->status_code); + + $this->assertEquals(6, $request->redirects); + } + + /** + * @expectedException Requests_Exception + * @todo This should also check that the type is "toomanyredirects" + */ + public function testTooManyRedirects() { + $options = array( + 'redirects' => 10, // default, but force just in case + ); + $request = Requests::get(httpbin('/redirect/11'), array(), $this->getOptions($options)); + } + + public static function statusCodeSuccessProvider() { + return array( + array(200, true), + array(201, true), + array(202, true), + array(203, true), + array(204, true), + array(205, true), + array(206, true), + array(300, false), + array(301, false), + array(302, false), + array(303, false), + array(304, false), + array(305, false), + array(306, false), + array(307, false), + array(400, false), + array(401, false), + array(402, false), + array(403, false), + array(404, false), + array(405, false), + array(406, false), + array(407, false), + array(408, false), + array(409, false), + array(410, false), + array(411, false), + array(412, false), + array(413, false), + array(414, false), + array(415, false), + array(416, false), + array(417, false), + array(418, false), // RFC 2324 + array(428, false), // RFC 6585 + array(429, false), // RFC 6585 + array(431, false), // RFC 6585 + array(500, false), + array(501, false), + array(502, false), + array(503, false), + array(504, false), + array(505, false), + array(511, false), // RFC 6585 + ); + } + + /** + * @dataProvider statusCodeSuccessProvider + */ + public function testStatusCode($code, $success) { + $url = sprintf(httpbin('/status/%d'), $code); + $options = array( + 'follow_redirects' => false, + ); + $request = Requests::get($url, array(), $this->getOptions($options)); + $this->assertEquals($code, $request->status_code); + $this->assertEquals($success, $request->success); + } + + /** + * @dataProvider statusCodeSuccessProvider + */ + public function testStatusCodeThrow($code, $success) { + $url = sprintf(httpbin('/status/%d'), $code); + $options = array( + 'follow_redirects' => false, + ); + + if (!$success) { + if ($code >= 400) { + $this->setExpectedException('Requests_Exception_HTTP_' . $code, $code); + } + elseif ($code >= 300 && $code < 400) { + $this->setExpectedException('Requests_Exception'); + } + } + $request = Requests::get($url, array(), $this->getOptions($options)); + $request->throw_for_status(false); + } + + /** + * @dataProvider statusCodeSuccessProvider + */ + public function testStatusCodeThrowAllowRedirects($code, $success) { + $url = sprintf(httpbin('/status/%d'), $code); + $options = array( + 'follow_redirects' => false, + ); + + if (!$success) { + if ($code >= 400) { + $this->setExpectedException('Requests_Exception_HTTP_' . $code, $code); + } + } + $request = Requests::get($url, array(), $this->getOptions($options)); + $request->throw_for_status(true); + } + + public function testStatusCodeUnknown(){ + $request = Requests::get(httpbin('/status/599'), array(), $this->getOptions()); + $this->assertEquals(599, $request->status_code); + $this->assertEquals(false, $request->success); + } + + /** + * @expectedException Requests_Exception_HTTP_Unknown + */ + public function testStatusCodeThrowUnknown(){ + $request = Requests::get(httpbin('/status/599'), array(), $this->getOptions()); + $request->throw_for_status(true); + } + + public function testGzipped() { + $request = Requests::get(httpbin('/gzip'), array(), $this->getOptions()); + $this->assertEquals(200, $request->status_code); + + $result = json_decode($request->body); + $this->assertEquals(true, $result->gzipped); + } + + public function testStreamToFile() { + $options = array( + 'filename' => tempnam(sys_get_temp_dir(), 'RLT') // RequestsLibraryTest + ); + $request = Requests::get(httpbin('/get'), array(), $this->getOptions($options)); + $this->assertEquals(200, $request->status_code); + $this->assertEmpty($request->body); + + $contents = file_get_contents($options['filename']); + $result = json_decode($contents, true); + $this->assertEquals(httpbin('/get'), $result['url']); + $this->assertEmpty($result['args']); + + unlink($options['filename']); + } + + public function testNonblocking() { + $options = array( + 'blocking' => false + ); + $request = Requests::get(httpbin('/get'), array(), $this->getOptions($options)); + $empty = new Requests_Response(); + $this->assertEquals($empty, $request); + } + + /** + * @expectedException Requests_Exception + */ + public function testBadIP() { + $request = Requests::get('http://256.256.256.0/', array(), $this->getOptions()); + } + + public function testHTTPS() { + if ($this->skip_https) { + $this->markTestSkipped('SSL support is not available.'); + return; + } + + $request = Requests::get(httpbin('/get', true), array(), $this->getOptions()); + $this->assertEquals(200, $request->status_code); + + $result = json_decode($request->body, true); + // Disable, since httpbin always returns http + // $this->assertEquals(httpbin('/get', true), $result['url']); + $this->assertEmpty($result['args']); + } + + /** + * @expectedException Requests_Exception + */ + public function testExpiredHTTPS() { + if ($this->skip_https) { + $this->markTestSkipped('SSL support is not available.'); + return; + } + + $request = Requests::get('https://testssl-expire.disig.sk/index.en.html', array(), $this->getOptions()); + } + + /** + * @expectedException Requests_Exception + */ + public function testRevokedHTTPS() { + if ($this->skip_https) { + $this->markTestSkipped('SSL support is not available.'); + return; + } + + $request = Requests::get('https://testssl-revoked.disig.sk/index.en.html', array(), $this->getOptions()); + } + + /** + * Test that SSL fails with a bad certificate + * + * This is defined as invalid by + * https://onlinessl.netlock.hu/en/test-center/invalid-ssl-certificate.html + * and is used in testing in PhantomJS. That said, expect this to break. + * + * @expectedException Requests_Exception + */ + public function testBadDomain() { + if ($this->skip_https) { + $this->markTestSkipped('SSL support is not available.'); + return; + } + + $request = Requests::get('https://tv.eurosport.com/', array(), $this->getOptions()); + } + + /** + * Test that the transport supports Server Name Indication with HTTPS + * + * sni.velox.ch is used for SNI testing, and the common name is set to + * `*.sni.velox.ch` as such. Without alternate name support, this will fail + * as `sni.velox.ch` is only in the alternate name + */ + public function testAlternateNameSupport() { + if ($this->skip_https) { + $this->markTestSkipped('SSL support is not available.'); + return; + } + + $request = Requests::get('https://sni.velox.ch/', array(), $this->getOptions()); + $this->assertEquals(200, $request->status_code); + } + + /** + * Test that the transport supports Server Name Indication with HTTPS + * + * sni.velox.ch is used for SNI testing, and the common name is set to + * `*.sni.velox.ch` as such. Without SNI support, this will fail. Also tests + * our wildcard support. + */ + public function testSNISupport() { + if ($this->skip_https) { + $this->markTestSkipped('SSL support is not available.'); + return; + } + + $request = Requests::get('https://abc.sni.velox.ch/', array(), $this->getOptions()); + $this->assertEquals(200, $request->status_code); + } + + /** + * @expectedException Requests_Exception + */ + public function testTimeout() { + $options = array( + 'timeout' => 1, + ); + $request = Requests::get(httpbin('/delay/10'), array(), $this->getOptions($options)); + var_dump($request); + } + + public function testMultiple() { + $requests = array( + 'test1' => array( + 'url' => httpbin('/get') + ), + 'test2' => array( + 'url' => httpbin('/get') + ), + ); + $responses = Requests::request_multiple($requests, $this->getOptions()); + + // test1 + $this->assertNotEmpty($responses['test1']); + $this->assertInstanceOf('Requests_Response', $responses['test1']); + $this->assertEquals(200, $responses['test1']->status_code); + + $result = json_decode($responses['test1']->body, true); + $this->assertEquals(httpbin('/get'), $result['url']); + $this->assertEmpty($result['args']); + + // test2 + $this->assertNotEmpty($responses['test2']); + $this->assertInstanceOf('Requests_Response', $responses['test2']); + $this->assertEquals(200, $responses['test2']->status_code); + + $result = json_decode($responses['test2']->body, true); + $this->assertEquals(httpbin('/get'), $result['url']); + $this->assertEmpty($result['args']); + } + + public function testMultipleWithDifferingMethods() { + $requests = array( + 'get' => array( + 'url' => httpbin('/get'), + ), + 'post' => array( + 'url' => httpbin('/post'), + 'type' => Requests::POST, + 'data' => 'test', + ), + ); + $responses = Requests::request_multiple($requests, $this->getOptions()); + + // get + $this->assertEquals(200, $responses['get']->status_code); + + // post + $this->assertEquals(200, $responses['post']->status_code); + $result = json_decode($responses['post']->body, true); + $this->assertEquals('test', $result['data']); + } + + /** + * @depends testTimeout + */ + public function testMultipleWithFailure() { + $requests = array( + 'success' => array( + 'url' => httpbin('/get'), + ), + 'timeout' => array( + 'url' => httpbin('/delay/10'), + 'options' => array( + 'timeout' => 1, + ), + ), + ); + $responses = Requests::request_multiple($requests, $this->getOptions()); + $this->assertEquals(200, $responses['success']->status_code); + $this->assertInstanceOf('Requests_Exception', $responses['timeout']); + } + + public function testMultipleUsingCallback() { + $requests = array( + 'get' => array( + 'url' => httpbin('/get'), + ), + 'post' => array( + 'url' => httpbin('/post'), + 'type' => Requests::POST, + 'data' => 'test', + ), + ); + $this->completed = array(); + $options = array( + 'complete' => array($this, 'completeCallback'), + ); + $responses = Requests::request_multiple($requests, $this->getOptions($options)); + + $this->assertEquals($this->completed, $responses); + $this->completed = array(); + } + + public function testMultipleUsingCallbackAndFailure() { + $requests = array( + 'success' => array( + 'url' => httpbin('/get'), + ), + 'timeout' => array( + 'url' => httpbin('/delay/10'), + 'options' => array( + 'timeout' => 1, + ), + ), + ); + $this->completed = array(); + $options = array( + 'complete' => array($this, 'completeCallback'), + ); + $responses = Requests::request_multiple($requests, $this->getOptions($options)); + + $this->assertEquals($this->completed, $responses); + $this->completed = array(); + } + + public function completeCallback($response, $key) { + $this->completed[$key] = $response; + } + + public function testMultipleToFile() { + $requests = array( + 'get' => array( + 'url' => httpbin('/get'), + 'options' => array( + 'filename' => tempnam(sys_get_temp_dir(), 'RLT') // RequestsLibraryTest + ), + ), + 'post' => array( + 'url' => httpbin('/post'), + 'type' => Requests::POST, + 'data' => 'test', + 'options' => array( + 'filename' => tempnam(sys_get_temp_dir(), 'RLT') // RequestsLibraryTest + ), + ), + ); + $responses = Requests::request_multiple($requests, $this->getOptions()); + + // GET request + $contents = file_get_contents($requests['get']['options']['filename']); + $result = json_decode($contents, true); + $this->assertEquals(httpbin('/get'), $result['url']); + $this->assertEmpty($result['args']); + unlink($requests['get']['options']['filename']); + + // POST request + $contents = file_get_contents($requests['post']['options']['filename']); + $result = json_decode($contents, true); + $this->assertEquals(httpbin('/post'), $result['url']); + $this->assertEquals('test', $result['data']); + unlink($requests['post']['options']['filename']); + } + + public function testHostHeader() { + $request = Requests::get('http://portquiz.positon.org:8080/', array(), $this->getOptions()); + $responseDoc = new DOMDocument; + $responseDoc->loadHTML($request->body); + $portXpath = new DOMXPath($responseDoc); + $portXpathMatches = $portXpath->query('//p/b'); + $this->assertEquals(8080, $portXpathMatches->item(0)->nodeValue); + } +} diff --git a/user/plugins/mediaembed/vendor/Requests/tests/Transport/cURL.php b/user/plugins/mediaembed/vendor/Requests/tests/Transport/cURL.php new file mode 100644 index 0000000..55390ad --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/tests/Transport/cURL.php @@ -0,0 +1,5 @@ +<?php + +class RequestsTest_Transport_cURL extends RequestsTest_Transport_Base { + protected $transport = 'Requests_Transport_cURL'; +} \ No newline at end of file diff --git a/user/plugins/mediaembed/vendor/Requests/tests/Transport/fsockopen.php b/user/plugins/mediaembed/vendor/Requests/tests/Transport/fsockopen.php new file mode 100644 index 0000000..2d250e8 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/tests/Transport/fsockopen.php @@ -0,0 +1,5 @@ +<?php + +class RequestsTest_Transport_fsockopen extends RequestsTest_Transport_Base { + protected $transport = 'Requests_Transport_fsockopen'; +} diff --git a/user/plugins/mediaembed/vendor/Requests/tests/bootstrap.php b/user/plugins/mediaembed/vendor/Requests/tests/bootstrap.php new file mode 100644 index 0000000..ad95f5f --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/tests/bootstrap.php @@ -0,0 +1,139 @@ +<?php + +date_default_timezone_set('UTC'); + +$host = getenv('REQUESTS_TEST_HOST'); +if (empty($host)) { + $host = 'httpbin.org'; +} +define('REQUESTS_TEST_HOST', getenv('REQUESTS_TEST_HOST') ? getenv('REQUESTS_TEST_HOST') : 'httpbin.org'); +define('REQUESTS_TEST_HOST_HTTP', getenv('REQUESTS_TEST_HOST_HTTP') ? getenv('REQUESTS_TEST_HOST_HTTP') : REQUESTS_TEST_HOST); +define('REQUESTS_TEST_HOST_HTTPS', getenv('REQUESTS_TEST_HOST_HTTPS') ? getenv('REQUESTS_TEST_HOST_HTTPS'): REQUESTS_TEST_HOST); + +include(dirname(dirname(__FILE__)) . '/library/Requests.php'); +Requests::register_autoloader(); + +function autoload_tests($class) { + if (strpos($class, 'RequestsTest_') !== 0) { + return; + } + + $class = substr($class, 13); + $file = str_replace('_', '/', $class); + if (file_exists(dirname(__FILE__) . '/' . $file . '.php')) { + require_once(dirname(__FILE__) . '/' . $file . '.php'); + } +} + +spl_autoload_register('autoload_tests'); + +function httpbin($suffix = '', $ssl = false) { + $host = $ssl ? 'https://' . REQUESTS_TEST_HOST_HTTPS : 'http://' . REQUESTS_TEST_HOST_HTTP; + return rtrim( $host, '/' ) . '/' . ltrim( $suffix, '/' ); +} + +class MockTransport implements Requests_Transport { + public $code = 200; + public $chunked = false; + public $body = 'Test Body'; + public $raw_headers = ''; + + private static $messages = array( + 100 => '100 Continue', + 101 => '101 Switching Protocols', + 200 => '200 OK', + 201 => '201 Created', + 202 => '202 Accepted', + 203 => '203 Non-Authoritative Information', + 204 => '204 No Content', + 205 => '205 Reset Content', + 206 => '206 Partial Content', + 300 => '300 Multiple Choices', + 301 => '301 Moved Permanently', + 302 => '302 Found', + 303 => '303 See Other', + 304 => '304 Not Modified', + 305 => '305 Use Proxy', + 306 => '306 (Unused)', + 307 => '307 Temporary Redirect', + 400 => '400 Bad Request', + 401 => '401 Unauthorized', + 402 => '402 Payment Required', + 403 => '403 Forbidden', + 404 => '404 Not Found', + 405 => '405 Method Not Allowed', + 406 => '406 Not Acceptable', + 407 => '407 Proxy Authentication Required', + 408 => '408 Request Timeout', + 409 => '409 Conflict', + 410 => '410 Gone', + 411 => '411 Length Required', + 412 => '412 Precondition Failed', + 413 => '413 Request Entity Too Large', + 414 => '414 Request-URI Too Long', + 415 => '415 Unsupported Media Type', + 416 => '416 Requested Range Not Satisfiable', + 417 => '417 Expectation Failed', + 500 => '500 Internal Server Error', + 501 => '501 Not Implemented', + 502 => '502 Bad Gateway', + 503 => '503 Service Unavailable', + 504 => '504 Gateway Timeout', + 505 => '505 HTTP Version Not Supported', + ); + + public function request($url, $headers = array(), $data = array(), $options = array()) { + $status = self::$messages[$this->code]; + $response = "HTTP/1.0 $status\r\n"; + $response .= "Content-Type: text/plain\r\n"; + if ($this->chunked) { + $response .= "Transfer-Encoding: chunked\r\n"; + } + $response .= $this->raw_headers; + $response .= "Connection: close\r\n\r\n"; + $response .= $this->body; + return $response; + } + + public function request_multiple($requests, $options) { + $responses = array(); + foreach ($requests as $id => $request) { + $handler = new MockTransport(); + $handler->code = $request['options']['mock.code']; + $handler->chunked = $request['options']['mock.chunked']; + $handler->body = $request['options']['mock.body']; + $handler->raw_headers = $request['options']['mock.raw_headers']; + $responses[$id] = $handler->request($request['url'], $request['headers'], $request['data'], $request['options']); + + if (!empty($options['mock.parse'])) { + $request['options']['hooks']->dispatch('transport.internal.parse_response', array(&$responses[$id], $request)); + $request['options']['hooks']->dispatch('multiple.request.complete', array(&$responses[$id], $id)); + } + } + + return $responses; + } + + public static function test() { + return true; + } +} + +class RawTransport implements Requests_Transport { + public $data = ''; + public function request($url, $headers = array(), $data = array(), $options = array()) { + return $this->data; + } + public function request_multiple($requests, $options) { + foreach ($requests as $id => &$request) { + $handler = new RawTransport(); + $handler->data = $request['options']['raw.data']; + $request = $handler->request($request['url'], $request['headers'], $request['data'], $request['options']); + } + + return $requests; + } + public static function test() { + return true; + } +} diff --git a/user/plugins/mediaembed/vendor/Requests/tests/phpunit.xml.dist b/user/plugins/mediaembed/vendor/Requests/tests/phpunit.xml.dist new file mode 100644 index 0000000..847b9b6 --- /dev/null +++ b/user/plugins/mediaembed/vendor/Requests/tests/phpunit.xml.dist @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<phpunit bootstrap="bootstrap.php"> + <testsuites> + <testsuite name="Authentication"> + <directory suffix=".php">Auth</directory> + </testsuite> + <testsuite name="Transports"> + <directory suffix=".php">Transport</directory> + </testsuite> + <testsuite name="General"> + <file>ChunkedEncoding.php</file> + <file>Cookies.php</file> + <file>IDNAEncoder.php</file> + <file>IRI.php</file> + <file>Requests.php</file> + <file>Response/Headers.php</file> + <file>SSL.php</file> + </testsuite> + </testsuites> + + <logging> + <log type="coverage-html" target="coverage" title="PHPUnit" + charset="UTF-8" yui="true" highlight="true" + lowUpperBound="35" highLowerBound="90"/> + </logging> + + <filter> + <blacklist> + <directory suffix=".php">.</directory> + </blacklist> + <whitelist> + <directory suffix=".php">../library</directory> + </whitelist> + </filter> +</phpunit> \ No newline at end of file diff --git a/user/plugins/problems/CHANGELOG.md b/user/plugins/problems/CHANGELOG.md new file mode 100644 index 0000000..e7ed40f --- /dev/null +++ b/user/plugins/problems/CHANGELOG.md @@ -0,0 +1,105 @@ +# v1.4.7 +## 05/16/2017 + +1. [](#improved) + * Added check for Exif module if this feature is enabled + +# v1.4.6 +## 02/17/2017 + +1. [](#improved) + * Return 500 error code if there is a problem instead of 200 [https://github.com/getgrav/grav/issues/1291](https://github.com/getgrav/grav/issues/1291) + +# v1.4.5 +## 09/14/2016 + +1. [](#bugfix) + * Show the correct status for the Zip extension check + +# v1.4.4 +## 09/08/2016 + +1. [](#new) + * Added check for new root folder `tmp` and try to create if missing +1. [](#bugfix) + * Fixed Whoops error if `backup` folder doesn't exist and cannot be created + +# v1.4.3 +## 05/27/2016 + +1. [](#new) + * Reverted compression checks + +# v1.4.2 +## 05/23/2016 + +1. [](#new) + * Check for compression issues + +# v1.4.1 +## 05/03/2016 + +1. [](#new) + * Added a check for XML support in PHP +1. [](#improved) + * Use common language strings in blueprints + +# v1.4.0 +## 01/06/2016 + +1. [](#improved) + * Avoid generating errors on .DS_Store files added to the bin/ folder by OSX + * Removed executable checks for bin/* commands. Going to document instead. + +# v1.3.3 +## 12/09/2015 + +1. [](#new) + * Set minimum PHP requirements to 5.5.9 +1. [](#improved) + * Ensure problems plugin runs before admin + +# v1.3.2 +## 12/09/2015 + +1. [](#improved) + * Skip windows platforms for executable permissions check + * Removed mod_headers from required Apache modules check + +# v1.3.1 +## 12/07/2015 + +1. [](#improved) + * Added executable check on `/bin/` files + +# v1.3.0 +## 12/07/2015 + +1. [](#improved) + * Added check for PHP `OpenSSL`, `Mbstring` and `Curl` are installed + * Added check to ensure `mod_rewrite` and `mod_headers` are installed if running Apache + +# v1.2.0 +## 08/25/2015 + +1. [](#improved) + * Added blueprints for Grav Admin plugin + +# v1.1.6 +## 06/16/2015 + +2. [](#new) + * Try to create missing `backup` folder if it is missing + +# v1.1.5 +## 05/09/2015 + +2. [](#new) + * Added check for `backup` folder for Grav > 0.9.27 + +# v1.1.4 +## 04/26/2015 + +2. [](#new) + * Changelog started + diff --git a/user/plugins/problems/LICENSE b/user/plugins/problems/LICENSE new file mode 100644 index 0000000..484793a --- /dev/null +++ b/user/plugins/problems/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Grav + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/user/plugins/problems/README.md b/user/plugins/problems/README.md new file mode 100644 index 0000000..9280bbd --- /dev/null +++ b/user/plugins/problems/README.md @@ -0,0 +1,89 @@ +# Grav Problems Plugin + +![Problems](assets/readme_1.png) + +`Problems` is a [Grav](http://github.com/getgrav/grav) Plugin and allows to detect issues. + +This plugin is included in any package distributed that contains Grav. If you decide to clone Grav from GitHub, you will most likely want to install this. + +# Installation + +Installing the Problems plugin can be done in one of two ways. Our GPM (Grav Package Manager) installation method enables you to quickly and easily install the plugin with a simple terminal command, while the manual method enables you to do so via a zip file. + +## GPM Installation (Preferred) + +The simplest way to install this plugin is via the [Grav Package Manager (GPM)](http://learn.getgrav.org/advanced/grav-gpm) through your system's Terminal (also called the command line). From the root of your Grav install type: + + bin/gpm install problems + +This will install the Problems plugin into your `/user/plugins` directory within Grav. Its files can be found under `/your/site/grav/user/plugins/problems`. + +## Manual Installation + +To install this plugin, just download the zip version of this repository and unzip it under `/your/site/grav/user/plugins`. Then, rename the folder to `problems`. You can find these files either on [GitHub](https://github.com/getgrav/grav-plugin-problems) or via [GetGrav.org](http://getgrav.org/downloads/plugins#extras). + +You should now have all the plugin files under + + /your/site/grav/user/plugins/problems + +>> NOTE: This plugin is a modular component for Grav which requires [Grav](http://github.com/getgrav/grav), the [Error](https://github.com/getgrav/grav-plugin-error) and [Problems](https://github.com/getgrav/grav-plugin-problems) plugins, and a theme to be installed in order to operate. + +# Usage + +`Problems` runs in the background and most of the time you will not know it is there. Although as soon as an issue is caught, the plugin will let you know. + +`Problems` checks for the following common issues: + +| Check | Description | +| :---------------------------------- | :-------------------------------------------------------------------------------------------------------- | +| Apache `mod_rewrite` | Checks to ensure `mod_rewrite` is enabled if you are running an Apache server. | +| PHP Version | Checks to make sure the PHP version being run by the server meets or exceeds Grav's minimum requirements. | +| PHP GD (Image Manipulation Library) | Checks to make sure that PHP GD is installed. | +| PHP Curl (Data Transfer Library) | Checks to make sure that PHP Curl is installed. | +| PHP OpenSSL (Secure Sockets Library) | Checks to make sure that PHP OpenSSL is installed. | +| PHP Mbstring (Multibyte String Library) | Checks to make sure that PHP Mbstring is installed. | +| .htaccess | Checks to make sure that there is an `.htaccess` file in Grav's root directory. | +| `bin/*` executable | Checks that all the files in the `bin/` folder are exectuable. | +| Cache | Checks the `/cache` folder's existence and verifies that it is writeable. | +| Logs | Checks the `/logs` folder's existence and verifies that it is writeable. | +| Images | Checks the `/images` folder's existence and verifies that it is writeable. | +| Assets | Checks the `/assets` folder's existence and verifies that it is writeable. | +| System | Checks the `/system` folder's existence. | +| Data | Checks the `/user/data` folder's existence and verifies that it is writeable. | +| Pages | Checks the `/user/images` folder's existence. | +| Config | Checks the `/user/config` folder's existence. | +| Error | Checks to make sure the **Error** plugin is installed in `/user/plugins/error`. | +| Plugins | Checks the `/user/plugins` folder's existence. | +| Themes | Checks the `/user/themes` folder's existence. | +| Vendor | Checks the `/vendor` folder's existence. | + +If an issue is discovered, you will be greeted with a page that lists these checks and whether or not your install passed or failed them. Green checks mean it passed, and a red x indicates that the there is something amiss with the item. + +Problems uses the cache as refresh indicator. That means that if nothing has changed anywhere, the plugin will just skip its validation tests altogether. + +If a change is caught and the cache is refreshed, the plugin will loop through its validation tests and making sure nothing is out of place. + +`Problems` gets also triggered if any fatal exception is caught. + +# Updating + +As development for the Problems plugin continues, new versions may become available that add additional features and functionality, improve compatibility with newer Grav releases, and generally provide a better user experience. Updating Problems is easy, and can be done through Grav's GPM system, as well as manually. + +## GPM Update (Preferred) + +The simplest way to update this plugin is via the [Grav Package Manager (GPM)](http://learn.getgrav.org/advanced/grav-gpm). You can do this with this by navigating to the root directory of your Grav install using your system's Terminal (also called command line) and typing the following: + + bin/gpm update problems + +This command will check your Grav install to see if your Problems plugin is due for an update. If a newer release is found, you will be asked whether or not you wish to update. To continue, type `y` and hit enter. The plugin will automatically update and clear Grav's cache. + +## Manual Update + +Manually updating Problems is pretty simple. Here is what you will need to do to get this done: + +* Delete the `your/site/user/plugins/problems` directory. +* Download the new version of the Problems plugin from either [GitHub](https://github.com/getgrav/grav-plugin-problems) or [GetGrav.org](http://getgrav.org/downloads/plugins#extras). +* Unzip the zip file in `your/site/user/plugins` and rename the resulting folder to `problems`. +* Clear the Grav cache. The simplest way to do this is by going to the root Grav directory in terminal and typing `bin/grav clear-cache`. + +> Note: Any changes you have made to any of the files listed under this directory will also be removed and replaced by the new set. Any files located elsewhere (for example a YAML settings file placed in `user/config/plugins`) will remain intact. diff --git a/user/plugins/problems/assets/readme_1.png b/user/plugins/problems/assets/readme_1.png new file mode 100644 index 0000000000000000000000000000000000000000..bd6f916051e0d0b0465d6ebefab3245ceee48fa1 GIT binary patch literal 72908 zcmd?Rhd<Tt|34l{L`9;IY_i9(ci~6~6|#wglf5^|-bwZ<yX;XmWpnJ2P4?b<9KP2{ zz22|S>(%QI_}zZpr1N~9=XG6==XG6=b-zEZ{1qNcUA;nb<-&yvSEV0HJh^ZIBlyAv zbbl;NaEHf#=r;HV!|=Y`{R<ZgLUB%XFM(@pi-)S#7cSrsp#Gv=h>ZsiVbH>#J-2x- zCo7<5Zpx~wZ~g+t>R@UCp1yEF$Uy*nG=<sdQaG5Jm{|)r2vhxhLI8Y5-Dabr`1y#9 zu`tzhIRy%Fb1N7HH!Bw_JC(>43JMA#D}4ijClb(K&B2v0m645&g#a6yy}doFJ%rWV z%8-qNpP!$Nos*4|lLb7%V(n;VqwBz8W=(zG$?tw7VAgt8a0?r_xfunjU)>kxwl>04 zRH%Xe`g1O)4cy>=BbizMdM)sRY^ZP8I9S=){?rWS0RN9>sBiwWnZDj%Z)IU?W%Bc# z^!3<aCNNW&nT<7Q$MMJEz})`T@c#(uplfkH*w0Bke>WkN<N{A%*5)R*s3}k~gWHI3 z3jKVcf8PGzjGVU;H#fDgf>~RGW+L3bn*9CVKc9d8zhOjpe~<C^oBwPeZv_W$s*93K zgyYu$f4}$7=T-kSz~68FtpRH41r*>8Fq7vJa4?}i--3gK2fWB1zxroWadQ)MtEU#a zdN7n|Kb!pR)<2*AIgslA2IAr3|NA(9`{r*g_4Nd-ZC|{E>Dl~k!N9Wp-2M-A4cY#7 zTZrwCPYZ#~ARuS14>xd>(6xbyaI$l7v2bv(aPU6k;1l5B5a4DPV*AH4f0F?9jkpy| z*T&rHnYp=%$j{d>MO{)rSRv;v|Ni~2rb28eMf#g!oonsSyFhJ4u7H-mO@PQ1J}1uI z3m3#LNK4#*=76@6aJiIBa?F=rnC1=M+c&R#=p@h>o=B!)V_}io;k}`%!g?4U@(>>{ z^^uZTDkBvZn&f>6jDlD98oCHxK6r(P^(Jw>GVbKM^}LDj{7TvU_;K9)kYLqHMUk_; zo1wvXeqww)wEuto7(GR=8ZOpsH&d49?=-M}>PSU_{_menjJc-E_DNl9jOjK5+e;$C z@`hA@cx)_Ctb`z}JiN3gp(D+Cj7Na<50kl|ic#+Us;}QWGPmnAx2rMHc6rG}QVc`l z|NfNYc;r%a*m(0a?)m028reWA1XDT&1JlL+&?TOS50;J3n_gmD9*mDn*pxX&#!O2_ z3$Gc9u>4;A>qqP(h8pEsadL<crR}A#)NGzeC9}F)l9&GQ=qs#ZLXSd;#KKn7E0uOc zk6Vq@iDARu_liui#J~KjV=$B$j|XQ%G-oSoN}I_eVuoR*1taB(;hgv�R543QmM? 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 literal 0 HcmV?d00001 diff --git a/user/plugins/problems/blueprints.yaml b/user/plugins/problems/blueprints.yaml new file mode 100644 index 0000000..7360395 --- /dev/null +++ b/user/plugins/problems/blueprints.yaml @@ -0,0 +1,37 @@ +name: Problems +version: 1.4.7 +description: Detects and reports problems found in the site. +icon: exclamation-circle +author: + name: Team Grav + email: devs@getgrav.org + url: http://getgrav.org +homepage: https://github.com/getgrav/grav-plugin-problems +keywords: problems, plugin, detector, assistant, required +bugs: https://github.com/getgrav/grav-plugin-problems/issues +license: MIT + +form: + validation: strict + fields: + enabled: + type: toggle + label: PLUGIN_ADMIN.PLUGIN_STATUS + highlight: 1 + default: 0 + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool + + built_in_css: + type: toggle + label: Use built in CSS + highlight: 1 + default: 1 + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool diff --git a/user/plugins/problems/css/problems.css b/user/plugins/problems/css/problems.css new file mode 100644 index 0000000..4917e54 --- /dev/null +++ b/user/plugins/problems/css/problems.css @@ -0,0 +1,71 @@ +section#body { + padding-top: 3rem; +} + +ul.problems { + list-style: none; + padding: 0; + margin-top: 3rem; +} + +ul.problems li { + margin-bottom: 1rem; + padding: 1rem; +} + +ul.problems li.success { + background: #F1F9F1; + border-left: 5px solid #5CB85C; + color: #3d8b3d; +} + +ul.problems li.error { + background: #FDF7F7; + border-left: 5px solid #D9534F; + color: #b52b27; +} + +ul.problems li.info { + background: #F4F8FA; + border-left: 5px solid #5bc0de; + color: #28a1c5; +} + +ul.problems .fa { + font-size: 3rem; + vertical-align: middle; + margin-left: 1rem; + display: block; + float: left; +} + +ul.problems p { + display: block; + margin: 0.5rem 0.5rem 0.5rem 5rem; +} + +.button.big { + font-size: 1.2rem; +} + +.center { + text-align: center; +} + +.underline { + text-decoration: underline; +} + +.clearfix:after { + visibility: hidden; + display: block; + font-size: 0; + content: " "; + clear: both; + height: 0; + } +.clearfix { display: inline-block; } +/* start commented backslash hack \*/ +* html .clearfix { height: 1%; } +.clearfix { display: block; } +/* close commented backslash hack */ diff --git a/user/plugins/problems/css/template.css b/user/plugins/problems/css/template.css new file mode 100644 index 0000000..ba59ac8 --- /dev/null +++ b/user/plugins/problems/css/template.css @@ -0,0 +1,762 @@ +@import url(//fonts.googleapis.com/css?family=Montserrat:400|Raleway:300,400,600|Inconsolata); + +#header #logo h3, #header #navbar ul, #header #navbar .panel-activation, #footer p { + position: relative; + top: 50%; + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -o-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); } + +.button, .button-secondary { + display: inline-block; + padding: 7px 20px; } + +html, body { + height: 100%; } + +body { + background: white; + color: #444444; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } + +a { + color: #1bb3e9; } + a:hover { + color: #0e6e90; } + +b, strong, label, th { + font-weight: 600; } + +#container { + min-height: 100%; + position: relative; } + +.fullwidth #body { + padding-left: 0; + padding-right: 0; } + +#body { + padding-top: 8rem; + padding-bottom: 11rem; } + +.default-animation, #body, #header, #header #logo h3, .modular .showcase .button { + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + transition: all 0.5s ease; } + +.padding-horiz, .fullwidth #header, .fullwidth #breadcrumbs, .fullwidth .blog-header, .fullwidth .blog-content-item, .fullwidth .blog-content-list, .fullwidth ul.pagination, .fullwidth #body > .modular-row, #body, #header, #footer { + padding-left: 7rem; + padding-right: 7rem; } + @media only all and (max-width: 59.938rem) { + .padding-horiz, .fullwidth #header, .fullwidth #breadcrumbs, .fullwidth .blog-header, .fullwidth .blog-content-item, .fullwidth .blog-content-list, .fullwidth ul.pagination, .fullwidth #body > .modular-row, #body, #header, #footer { + padding-left: 4rem; + padding-right: 4rem; } } + @media only all and (max-width: 47.938rem) { + .padding-horiz, .fullwidth #header, .fullwidth #breadcrumbs, .fullwidth .blog-header, .fullwidth .blog-content-item, .fullwidth .blog-content-list, .fullwidth ul.pagination, .fullwidth #body > .modular-row, #body, #header, #footer { + padding-left: 1rem; + padding-right: 1rem; } } + +.padding-vert { + padding-top: 3rem; + padding-bottom: 3rem; } + +#header { + position: fixed; + z-index: 10; + width: 100%; + height: 5rem; + background-color: rgba(255, 255, 255, 0.9); + box-shadow: 0 0.05rem 1rem rgba(0, 0, 0, 0.15); } + #header.scrolled { + height: 3rem; + background-color: rgba(255, 255, 255, 0.9) !important; + box-shadow: 0 0.05rem 1rem rgba(0, 0, 0, 0.15) !important; } + #header.scrolled #logo h3 { + color: #444444 !important; + font-size: 1.6rem !important; } + #header.scrolled #logo a { + color: #444444 !important; } + #header.scrolled #navbar a { + color: #1bb3e9 !important; } + #header.scrolled #navbar a:before, #header.scrolled #navbar a:after { + background-color: #1bb3e9 !important; } + #header > .grid, #header #logo, #header #navbar { + height: 100%; } + #header #logo { + float: left; } + #header #logo h3 { + font-size: 2rem; + line-height: 2rem; + margin: 0; + text-transform: uppercase; } + #header #logo h3 a { + color: #444444; } + #header #navbar { + font-size: 0.9rem; } + #header #navbar ul { + display: inline-block; + margin: 0; + list-style: none; + float: right; } + #header #navbar ul li { + float: left; + position: relative; } + #header #navbar ul li a { + font-family: "Montserrat", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + display: inline-block; + padding: 0.1rem 0.8rem; } + #header #navbar ul li a:before, #header #navbar ul li a:after { + content: ""; + position: absolute; + width: 100%; + height: 1px; + bottom: 0; + left: 0; + background-color: #1bb3e9; + visibility: hidden; + -webkit-transform: scaleX(0); + -moz-transform: scaleX(0); + -ms-transform: scaleX(0); + -o-transform: scaleX(0); + transform: scaleX(0); + -webkit-transition: all 0.2s ease; + -moz-transition: all 0.2s ease; + transition: all 0.2s ease; } + #header #navbar ul li a:hover:before { + visibility: visible; + -webkit-transform: scaleX(0.75); + -moz-transform: scaleX(0.75); + -ms-transform: scaleX(0.75); + -o-transform: scaleX(0.75); + transform: scaleX(0.75); } + #header #navbar ul li.active a:after { + top: 0; + visibility: visible; + -webkit-transform: scaleX(0.75); + -moz-transform: scaleX(0.75); + -ms-transform: scaleX(0.75); + -o-transform: scaleX(0.75); + transform: scaleX(0.75); } + @media only all and (max-width: 59.938rem) { + #header #navbar ul { + display: none; } } + #header #navbar .panel-activation { + display: none; + font-size: 2rem; + cursor: pointer; + float: right; } + @media only all and (max-width: 59.938rem) { + #header #navbar .panel-activation { + display: inline-block; } } + +.header-image.fullwidth #body { + padding-left: 0; + padding-right: 0; } + .header-image.fullwidth #body > .listing-row { + padding-left: 7rem; + padding-right: 7rem; } +.header-image .listing-row:last-child { + margin-bottom: 2rem; } +.header-image #body > .blog-header { + margin-top: -9.5rem; + padding-top: 9rem; } +.header-image #breadcrumbs { + margin-top: 1rem; } +.header-image #header { + background-color: rgba(255, 255, 255, 0); + box-shadow: none; } + .header-image #header #logo h3, .header-image #header #logo a { + color: white; } + .header-image #header a, .header-image #header .menu-btn { + color: white; } + .header-image #header a:before, .header-image #header a:after { + background-color: rgba(255, 255, 255, 0.7) !important; } + +#footer { + position: absolute; + background: #333; + height: 6rem; + right: 0; + bottom: 0; + left: 0; + color: #999; + text-align: center; } + #footer a:hover { + color: #fff; } + #footer .totop { + position: absolute; + bottom: 5rem; + text-align: center; + left: 0; + right: 0; } + #footer .totop span { + font-size: 1.7rem; + line-height: 2.5rem; + background: #333; + width: 3rem; + height: 2rem; + border-radius: 3px; + display: inline-block; + text-align: top; } + #footer p { + margin: 0; } + #footer p .fa { + color: #fff; } + +body { + font-family: "Raleway", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 400; } + +h1, h2, h3, h4, h5, h6 { + font-family: "Montserrat", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 400; + text-rendering: optimizeLegibility; + letter-spacing: -0px; } + +h1 { + font-size: 3.2rem; } + @media only all and (max-width: 47.938rem) { + h1 { + font-size: 2.5rem; + line-height: 1.2; + margin-bottom: 2.5rem; } } + +@media only all and (min-width: 48rem) and (max-width: 59.938rem) { + h2 { + font-size: 2.1rem; } } +@media only all and (max-width: 47.938rem) { + h2 { + font-size: 2rem; } } + +@media only all and (min-width: 48rem) and (max-width: 59.938rem) { + h3 { + font-size: 1.7rem; } } +@media only all and (max-width: 47.938rem) { + h3 { + font-size: 1.6rem; } } + +@media only all and (min-width: 48rem) and (max-width: 59.938rem) { + h4 { + font-size: 1.35rem; } } +@media only all and (max-width: 47.938rem) { + h4 { + font-size: 1.25rem; } } + +h1 { + text-align: center; + letter-spacing: -3px; } + +h2 { + letter-spacing: -2px; } + +h3 { + letter-spacing: -1px; } + +h1 + h2 { + margin: -2rem 0 2rem 0; + font-size: 2rem; + line-height: 1; + text-align: center; + font-family: "Raleway", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 300; } + @media only all and (min-width: 48rem) and (max-width: 59.938rem) { + h1 + h2 { + font-size: 1.6rem; } } + @media only all and (max-width: 47.938rem) { + h1 + h2 { + font-size: 1.5rem; } } + +h2 + h3 { + margin: 0.5rem 0 2rem 0; + font-size: 2rem; + line-height: 1; + text-align: center; + font-family: "Raleway", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 300; } + @media only all and (min-width: 48rem) and (max-width: 59.938rem) { + h2 + h3 { + font-size: 1.6rem; } } + @media only all and (max-width: 47.938rem) { + h2 + h3 { + font-size: 1.5rem; } } + +blockquote { + border-left: 10px solid #f0f2f4; } + blockquote p { + font-size: 1.1rem; + color: #999; } + blockquote cite { + display: block; + text-align: right; + color: #666; + font-size: 1.2rem; } + +blockquote > blockquote > blockquote { + margin: 0; } + blockquote > blockquote > blockquote p { + padding: 15px; + display: block; + font-size: 1rem; + margin-top: 0rem; + margin-bottom: 0rem; } + blockquote > blockquote > blockquote > p { + margin-left: -71px; + border-left: 10px solid #F0AD4E; + background: #FCF8F2; + color: #df8a13; } + blockquote > blockquote > blockquote > blockquote > p { + margin-left: -94px; + border-left: 10px solid #D9534F; + background: #FDF7F7; + color: #b52b27; } + blockquote > blockquote > blockquote > blockquote > blockquote > p { + margin-left: -118px; + border-left: 10px solid #5BC0DE; + background: #F4F8FA; + color: #28a1c5; } + blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > p { + margin-left: -142px; + border-left: 10px solid #5CB85C; + background: #F1F9F1; + color: #3d8b3d; } + +code, +kbd, +pre, +samp { + font-family: "Inconsolata", monospace; } + +code { + background: #f9f2f4; + color: #9c1d3d; } + +pre { + padding: 2rem; + background: #f6f6f6; + border: 1px solid #dddddd; + border-radius: 3px; } + pre code { + color: #237794; + background: inherit; } + +hr { + border-bottom: 4px solid #f0f2f4; } + +.page-title { + margin-top: -25px; + padding: 25px; + float: left; + clear: both; + background: #1bb3e9; + color: white; } + +fieldset { + border: 1px solid #dddddd; } + +textarea, input[type="email"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="url"], input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="time"], input[type="week"], select[multiple=multiple] { + background-color: white; + border: 1px solid #dddddd; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06); } + textarea:hover, input[type="email"]:hover, input[type="number"]:hover, input[type="password"]:hover, input[type="search"]:hover, input[type="tel"]:hover, input[type="text"]:hover, input[type="url"]:hover, input[type="color"]:hover, input[type="date"]:hover, input[type="datetime"]:hover, input[type="datetime-local"]:hover, input[type="month"]:hover, input[type="time"]:hover, input[type="week"]:hover, select[multiple=multiple]:hover { + border-color: #c4c4c4; } + textarea:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, select[multiple=multiple]:focus { + border-color: #1bb3e9; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(21, 163, 214, 0.7); } + +.form-field .required { + color: #F3443F; + font-size: 3rem; + line-height: 3rem; + vertical-align: top; + height: 1.5rem; + display: inline-block; } + +form .buttons { + text-align: center; } +form input { + font-weight: 400; } + +table { + border: 1px solid #eaeaea; } + +th { + background: #f7f7f7; + padding: 0.5rem; } + +td { + padding: 0.5rem; + border: 1px solid #eaeaea; } + +.button { + background: white; + color: #1bb3e9; + border: 1px solid #1bb3e9; + border-radius: 3px; } + .button:hover { + background: #1bb3e9; + color: white; } + .button:active { + box-shadow: 0 1px 0 #118ab5; } + +.button-secondary { + background: white; + color: #f6635e; + border: 1px solid #f6635e; + border-radius: 3px; } + .button-secondary:hover { + background: #f6635e; + color: white; } + .button-secondary:active { + box-shadow: 0 1px 0 #f32b24; } + +.bullets { + margin: 1.7rem 0; + margin-left: -0.85rem; + margin-right: -0.85rem; + overflow: auto; } + +.bullet { + float: left; + padding: 0 0.85rem; } + +.two-column-bullet { + width: 50%; } + @media only all and (max-width: 47.938rem) { + .two-column-bullet { + width: 100%; } } + +.three-column-bullet { + width: 33.33333%; } + @media only all and (max-width: 47.938rem) { + .three-column-bullet { + width: 100%; } } + +.four-column-bullet { + width: 25%; } + @media only all and (max-width: 47.938rem) { + .four-column-bullet { + width: 100%; } } + +.bullet-icon { + float: left; + background: #1bb3e9; + padding: 0.875rem; + width: 3.5rem; + height: 3.5rem; + border-radius: 50%; + color: white; + font-size: 1.75rem; + text-align: center; } + +.bullet-icon-1 { + background: #1bb3e9; } + +.bullet-icon-2 { + background: #1be9da; } + +.bullet-icon-3 { + background: #d5e91b; } + +.bullet-content { + margin-left: 4.55rem; } + +#panel { + color: white; } + #panel .navigation { + list-style: none; + padding: 0; } + #panel .navigation li { + padding: 0.5rem 1rem; + border-bottom: 1px solid #404040; + font-weight: 600; } + #panel .navigation li.active { + background: #fff; } + #panel .navigation li.active a { + color: #444444; } + #panel .navigation li.active a:hover { + color: #444444; } + #panel .navigation li:last-child { + border-bottom: 0; } + #panel .navigation li a:hover { + color: white; } + +/* Menu Appearance */ +.pushy { + position: fixed; + width: 250px; + height: 100%; + top: 0; + z-index: 9999; + background: #333333; + overflow: auto; + -webkit-overflow-scrolling: touch; + /* enables momentum scrolling in iOS overflow elements */ } + +/* Menu Movement */ +.pushy-left { + -webkit-transform: translate3d(-250px, 0, 0); + -moz-transform: translate3d(-250px, 0, 0); + -ms-transform: translate3d(-250px, 0, 0); + -o-transform: translate3d(-250px, 0, 0); + transform: translate3d(-250px, 0, 0); } + +.pushy-open { + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); } + +.container-push, .push-push { + -webkit-transform: translate3d(250px, 0, 0); + -moz-transform: translate3d(250px, 0, 0); + -ms-transform: translate3d(250px, 0, 0); + -o-transform: translate3d(250px, 0, 0); + transform: translate3d(250px, 0, 0); } + +/* Menu Transitions */ +.pushy, #container, .push { + -webkit-transition: -webkit-transform 0.2s cubic-bezier(0.16, 0.68, 0.43, 0.99); + -moz-transition: -moz-transform 0.2s cubic-bezier(0.16, 0.68, 0.43, 0.99); + transition: transform 0.2s cubic-bezier(0.16, 0.68, 0.43, 0.99); + /* improves performance issues on mobile*/ + -webkit-perspective: 1000; } + +/* Site Overlay */ +.site-overlay { + display: none; } + +.pushy-active .site-overlay { + display: block; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 250px; + z-index: 9999; } + +.blog-header { + padding-top: 2rem; + padding-bottom: 2rem; } + .blog-header.blog-header-image { + background-size: cover; + background-position: center; } + .blog-header.blog-header-image h1, .blog-header.blog-header-image h2 { + color: white; } + .blog-header h1 { + font-size: 4rem; + margin-top: 0; } + @media only all and (min-width: 48rem) and (max-width: 59.938rem) { + .blog-header h1 { + font-size: 3rem; } } + @media only all and (max-width: 47.938rem) { + .blog-header h1 { + font-size: 2.5rem; + line-height: 1.2; + margin-bottom: 2.5rem; } } + .blog-header + .blog-content { + padding-top: 3rem; } + +.list-item { + border-bottom: 1px solid #eeeeee; + margin-bottom: 3rem; } + .list-item:last-child { + border-bottom: 0; } + .list-item .list-blog-header { + position: relative; } + .list-item .list-blog-header h4 { + margin-bottom: 0.5rem; } + .list-item .list-blog-header h4 a { + color: #444444; } + .list-item .list-blog-header h4 a:hover { + color: #1bb3e9; } + .list-item .list-blog-header img { + display: block; + margin-top: 1rem; + border-radius: 3px; } + .list-item .list-blog-date { + float: right; + text-align: center; } + .list-item .list-blog-date span { + display: block; + font-size: 1.75rem; + font-weight: 600; + line-height: 110%; } + .list-item .list-blog-date em { + display: block; + border-top: 1px solid #eeeeee; + font-style: normal; + text-transform: uppercase; } + +.blog-content-item .list-blog-padding > p:nth-child(2) { + font-size: 1.2rem; } + +.tags a { + display: inline-block; + font-size: 0.8rem; + border: 1px solid #1bb3e9; + border-radius: 3px; + padding: 0.1rem 0.4rem; + margin-bottom: 0.2rem; + text-transform: uppercase; } + +.archives { + padding: 0; + list-style: none; } + .archives li { + border-bottom: 1px solid #eeeeee; + line-height: 2rem; } + .archives li:last-child { + border-bottom: 0; } + +.syndicate a { + margin-bottom: 1rem; } + +div#breadcrumbs { + padding-left: 0; } + +#sidebar { + padding-left: 3rem; } + @media only all and (max-width: 47.938rem) { + #sidebar { + padding-left: 0; } } + #sidebar .sidebar-content { + margin-bottom: 3rem; } + #sidebar .sidebar-content h4 { + margin-bottom: 1rem; } + #sidebar .sidebar-content p, #sidebar .sidebar-content ul { + margin-top: 1rem; } + +ul.pagination { + margin: 0 0 3rem; + text-align: left; } + +#error { + text-align: center; + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding-bottom: 6rem; } + #error h1 { + font-size: 5rem; } + #error p { + margin: 1rem 0; } + +.modular.header-image #body > .showcase { + margin-top: -9.5rem; + padding-top: 9rem; } +.modular.header-image #header { + background-color: rgba(255, 255, 255, 0); + box-shadow: none; } + .modular.header-image #header #logo h3 { + color: white; } + .modular.header-image #header #navbar a { + color: white; } +.modular .showcase { + padding-top: 4rem; + padding-bottom: 4rem; + background-color: #666; + background-size: cover; + background-attachment: fixed; + background-position: center; + text-align: center; + color: white; } + .modular .showcase h1 { + font-size: 4rem; + margin-top: 0; } + @media only all and (min-width: 48rem) and (max-width: 59.938rem) { + .modular .showcase h1 { + font-size: 3rem; } } + @media only all and (max-width: 47.938rem) { + .modular .showcase h1 { + font-size: 2.5rem; + line-height: 1.2; + margin-bottom: 2.5rem; } } + .modular .showcase .button { + color: white; + padding: 0.7rem 2rem; + margin-top: 2rem; + background: rgba(255, 255, 255, 0); + border: 1px solid white; + border-radius: 3px; + box-shadow: none; + font-size: 1.3rem; } + .modular .showcase .button:hover { + background: rgba(255, 255, 255, 0.2); } + +.modular .features { + padding: 3rem 0; + text-align: center; } + .modular .features:after { + content: ""; + display: table; + clear: both; } + .modular .features h2 { + margin: 0; + line-height: 100%; } + .modular .features p { + margin: 1rem 0; + font-size: 1.2rem; } + @media only all and (max-width: 47.938rem) { + .modular .features p { + font-size: 1rem; } } + .modular .features .feature-items { + margin-top: 2rem; } + .modular .features .feature { + display: block; + float: left; + width: 25%; + vertical-align: top; + margin-top: 2rem; + margin-bottom: 1rem; } + @media only all and (max-width: 47.938rem) { + .modular .features .feature { + width: 100%; } } + .modular .features .feature i.fa { + font-size: 2rem; + color: #1bb3e9; } + .modular .features .feature h4 { + margin: 0; + font-size: 1.1rem; } + .modular .features .feature p { + display: inline-block; + font-size: 1rem; + margin: 0.2rem 0 1rem; } + .modular .features.big { + text-align: center; } + .modular .features.big .feature { + width: 50%; } + .modular .features.big i.fa { + font-size: 3rem; + float: left; } + .modular .features.big .feature-content { + padding-right: 2rem; } + .modular .features.big .feature-content.push { + margin-left: 5rem; } + .modular .features.big .feature-content h4 { + font-size: 1.3rem; + text-align: left; } + .modular .features.big .feature-content p { + padding: 0; + text-align: left; } + +.callout { + background: #f6f6f6; + padding: 3rem 0.938rem; } + .callout .align-left { + float: left; + margin-right: 2rem; } + .callout .align-right { + float: right; + margin-left: 2rem; } + .callout img { + border-radius: 3px; } + +.modular .modular-row:last-child { + margin-bottom: 2rem; } + +/*# sourceMappingURL=template.css.map */ diff --git a/user/plugins/problems/html/problems.html b/user/plugins/problems/html/problems.html new file mode 100644 index 0000000..241d6b7 --- /dev/null +++ b/user/plugins/problems/html/problems.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8" /> + <title>Grav Problems + + + + + + + +

                                                                        7;oX1=m4h(pE0({$qbUbrhADX~)QO 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 RN3AAl_Cqy4bQgVF`Y$LaB7pz^ literal 0 HcmV?d00001 diff --git a/images/6/5/8/0/8/658089894a94aa16d5f5f36f7785a45ee8a05cc0-nuittrouble2.jpeg b/images/6/5/8/0/8/658089894a94aa16d5f5f36f7785a45ee8a05cc0-nuittrouble2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..b2735e5b21a91302b97f1bf3854768f4f8d49b16 GIT binary patch literal 12573 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 Xjg(0lnBgHG($*#iu>@fzzpnj1dcyY< literal 0 HcmV?d00001 diff --git a/images/6/b/5/c/1/6b5c146a49ea12a54385b8d515e607ac9e267de7-spinoza07.jpeg b/images/6/b/5/c/1/6b5c146a49ea12a54385b8d515e607ac9e267de7-spinoza07.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..156ac0580242c77121914acaecfa07c15bd0ee53 GIT binary patch literal 29144 zcmb5Vb9g0B@GpE$Y}@vUt&N>*Y}>YNXJhNcHaE65ww-J?+}&{Be19+Qd;h%E&r{R= z^mNTs^-R~)r+WUa|Jw(k$w|pd0f0at!1%KO{(S%h#8o9l)xWCplUbRAY@IEv$UNDY zS;^=;+-w}J$YkZD$>fwJrO7;bS?QU`Ts%zdZQOmxgvfZg5dLie!~xKdP*6~i(4Pz% z8X5)`2@dv?P!SQ~kiAhOGF>xuVC`hP?NJvTk z69W7k3JU{^0tbgef`yJn@_$VKh5+brKqg=^B#;6CfewU32mTuY5C8xWke{0VF9JdU zpr9dPKKpP#P4K^U0RTVniuELIpGA3BzVA`*ZCAd1$` zJ8%&nq;b=Dj%z|vNY}++9F$F&6Xcr<7RN&(r%H_>hYGEb`1W|VA;Cb*a*!j(^~hVpgmJLr20`9fk!-1_7vTp38f20#PBMAxy!jnHY=UL7~Z#S?EEM zILgH1A;E!jAkk!Gv8>5P;HZGH&9&qbsQ@y#E2fKi@coEL4N&EI{fBluIT_txCyTo~ zN5dnx>4kQr?FF0cwXAjSR66xgZMpFvoCLlC6%1ZzHaW#@#NP<0UpGukjdT&fg|2qXVM+~V`W3P_$SbJ-T9#z?Wmeug zFja=jNrej)VWg_4;Mvu$3I+Fh+kXA_LRc7psPwY}JkkHQhK*L$m2pMN$#!o5z)M zr)4SJ&RhGxtUvczMwO17SyK1Bc|dfyW!BE~b%WAY4RrfBrWyARfP(hnA%cnS0^OcnAg-7VKeK@qISNn6si8Vp9V0f){J|ee}?}6m(~>T$Y$n+ zFjU__k8I?^uPH_dn}g;fC5flpM}d1&HNv4$b?Ic&8U~FVBLs-PsJ2w7C>>lD70mwR z`b02l(bAygKL#l=-!cQYfYhCRNGn|pex%>{rNn56R=OqDB>U5yae4Vrxy^DiE5C=x zt!>6_`C!)?f=rAW5KLKC{^O}28N=lo1^d;+*1>&D&HhY_Tgpg)+vjMDg&GB1r>md9 zmNgb!wa_!pm4MY?{A(^1N8q$6fXNb9;Ec1I=$yiuN0`y~lzFBRolX<2SyUrc(>=gq zf(nL(p7q9454YU*em};pUb#+l%*`rYj^=vm+M4DohrcnTull4ADp3RvAq{~U0iiU( zh;~cZVjI($R;E@x7LV_V?P&xVAVwlt-90^@RL4^jDn&KDx8XfeqDJ%X@eb%5eOSoN?{?fBnC^Cj8-D^bA@L_13-Kd5b8e; z`JWH?bOulWbPOy^G%|8lXbMU;Y*8w9PA-wpRUhut7XYClk^&#x()fCJoz?<#=l^^j zmwY}MPuLyd<6iy4|I|~yC>#eEk*q&GpIqD(rW_4*d`KpEWsXOUuYIxid*XY@nf0~f z%6VM1+oJ4EiciMR`e->@bvqLdp!}7WRQf4H%84iU(dJe+5?`)uZ-JRfyp>(l2O7?~ zQ+Ggnxz)nbN;?h-s1Z?#?T!TgX@aYh#L{zg{W;VyXV$XCFlRDhT-ltWSCqTP3|~H* zJ&8gt2dO=Ye?@t0HX;q}GI{udh}DKws_zTYC`aTK*F}S(Ws6Sj+LCa}%^vtuha|<* zPrf%M{a@o#xx4>Q&5Q5#uEK}*qcg1%+}PiV52@E0x`sZgTDM5?pd6T5rJx9p>?chH z9!#@_rF2}VAGH;=_V`Gpnkl(*X3fVuR_aXXWS$b$IVC*OFnOy7@N2)Jviv@NcGEr) z7lDxG;)M$-%yV$Dp(kPaT4>o{_3~+k&+F&T{&zp0m5bg_8wdW^`mU3=x5h^@@tC*P zW4LHLaHL8}q4F*=F{co3HRf+M^6K#qFpf_$`IJ;uWMOX#bk7(~Pn6&s3D)lt@RU+O zhvvF~MLQB&lX$Ln!+!O;BFTLzrQG5Z&VAZzNEXbV;`5yuk(iP2l|^}QAxU}vcD3>G zPJ5jfpJab>#-%y=!{tG9FQvV}T&Vgw3Q~@|S%cu>El<|d6hxH0j+WL6tsh6Q_Dr5c z**|9C#?CCE1^Z35YvD_4l<5euG`dAIpA9BVPSy_C0GHGC$Kn5b5%4%#bP zxv=MXNdeEyPjw1L1wqlqmvyS9_#PA^8orxfl8g+O3@HYLLQ+wo_uXcFAV_q~#m!5V zf1FJaBcdT~n@%VMvc{VVvm=@RAt@w@=hglP@VSd6H}?L5mUHV?L9tg=HQY?caC zEpIC+wn-_rNx)x2Y$geWG`Ch3Og*>t5^fqIm!k`%vR8l#)%_|!(Z6-jF-c!M-c|zq zwI}H|gh@xy#ADPs#DX~bSGAkn46m!DiBIMmX%5x zr2ud&;H-(VO0?=m&K2FsmBFYrdV5V2sVX}lV-nbvT`1AI2FH2uttcrw?#w{t`{*iY zg+@V}glY{JTP2HhqO1M^5oDFI+dGdWPB`}?@TXn8L$+*O?tZ2=5iS>^{PeWR88Tr- z`Za5$eLDt=dmD~y2E`GDpFMq?6Fp=6h>lHP9l86C6G1`-?h?rcdfu``pnUSKkZi3n zgY<2cCyn$Gtlrz#pU?PraV9luTrZ#!pEnaEbBJdYSEA7PZSy-OwivH5e{(d~zXNQP ze}~91D1ftx{ZwKA4wYmw$wwtA>E-|yt;V&?qomBg&0~SQk(75g_r!?kv2Ow2MhPM_ zwCiWVU05E%oc{a~2MFeP%dX1Hbm-;e)H3C63ULf8)U22IXhnyaDnmltQqbHYntB*Y zqG|l~%j#Zf1G{Mq-R3wBu9wY9)!U5!&HSd@h~>>;Ta}F$4RCHbVv!!vYP#K5@4IDB zh+?0Woyi6{eFq^SnwX}Ui`DO&MC97~b7x%|IOym#AMY*FJJZcmh|4&EU{=jl_FS?> zMBD7#u>Q@K=3)xpk<_Qwz?jD*`w<0~dR{Vg_VT+F{9)}G2rY!eu3_C%I0*TXI=K{x zvLrUuadLUIZwzJwA*uDLLt>Om1n&}COk=aU<^_5ckheVfV(Wx=V z)vkX4BJMFC5*=7OrW+;wclm2m+DD(3FFxo^mS)XAk>k+QbH-5fZ+rYw;_QhKL3wS) z8EPg`>4Y?-5--y2uDYF*wntRM!P*$Eh0t-faWF$|$F)?a-iNyAvCag&Az)4jndK&Z zCJJ4`&;%q{8bFF87r~fwCX@8ilkd@?FgpU(o7wTU+p)0f-;m^N75J##gVWNgY5o>4 zg`#;3++||7NUkeA`-O~2ES5@v9%5fjbttsl9(232*!?^`53D5E@^2>!2ZC4OJ>^2I`@@MnIYfm zb&Vvd75y_6e_y*pE?n57<79Od_DNFT3$E497urRk20o~JTeC?=WYwow>Nh3( z+ptDZws(B~OuHvkLOUmmlhNFHa+8^v<(L;S87d81hJvA{_T){ALaPgR)ac+0u}A4wyFlP3#Pg!dXNLL1oT^ z4+3g_m16>(pNNF;g?4v6RbS0rWRVxGOa=Q&hV@dGqclY(il3vt>X{(X@sdY54ZgA2 zIzlttBOiUO1yAGJ>gNHPk2%8{xnlkn1kaEW{-F&g)`u`5WV*yagkoOKTxbmxn#UHe zeA@}<`i?@+<#39HTkuJCS1G)>N%AxTd@eA}lw#h3AGfT@ zlIF|jYtUATWTek0$$6})fTXGLRRd4s>Knos?LaM5w5jblUS$@#0v)cpH*+P@pDSHWZ0&fh%2-|XetXX~X1cJZm@-Rnuyhj&51Cp#d25$);RvXt9LezPo zUtDPD#ffHi$Af*ns17w$5VpWSSUDKgr06zx7Z$IXuT zz>U8K*_3uvZ0%qTi`$6N(mneqm`UTU6j*L?l6s79Y}U_8t=$K2Ri>5BUoOI-soB^7 zHAnVhv?tW*Whb1<7$G}?tA2KLV;2Nx9PbS#cO9lWln|16W|YC73TRsZx;EG&-r}LT z1I=M%Ztry*?-`H-#19uAxjja)oDYZ3Ddq@<-u!!Ak*pJj*Q{T%X{o9|r1$E%7Uf`; zUw*?(S3Z-H)<$p*W+kHW`>Xd%h#D`R&RY>u&%}g}3{Pe|XEA+prWrrN&P3y~8ct=8 zl+`E6Vq6s{SuQNHM*d>8XDqXS5n`f-pVm-Iur*QHna+%Zr0`d&`tJ~CgpO)}`cX3S zT#=NbiNXM(&9_1JbzEl#huAAhA{YUGV)jzZ=$sLBJipl;CY34 zR;iamJ;LbX^+P!2r};V7Q0&vTYqX7PMkXA6#+D7exJ??O`J?h-MEfwz@wOAt21`C} z4y@!un-=S)8!svkNsDGK&Qa^5B>Gv7EBvPH*{5mA^@Glj$n<7PglPBpKH~!-bN~?Q z6YTk41Vlq;6(J*6cK)A$;1fCe0=!G(pcJ!?Mn(rp<++EyjLVjz^#K>L^k9De1ANLL zLH{qP0Q~G#L2imlObNzHF z70bss&A@C)OAZf-dgm9fL7y53paFo8kPx5n-6t>x^RTgA2sS6uVR$5 zX!IXD$A84aKwIy^hk=+PkN*I2ZZGiCe-m8o+-$Q??sb`#?dEE-h)k-R|MXWmW9`#) zSFplpo-Q@Jq*Ac&R)c5b4b&fiq-dQGhYOS+4!5fW4K7s$G^v&u;L^NT&aB)D#Rzxy zv2)%_?JOMn1j|Yy5fTimju$E{&gotEsKqv78biuS9>uy!w$>P;;aS^2a^O$o=nbKj z2flg;HpDD%_d|-yoGNxWx~qI;`K}218M`WGbVkvU@rWh&MJ{Mc<$n6h)>4fY@Ykg^ zk8-u)UYe}-ceSt4^p3^L_f+DkQ+;O^R#S{w8`w~MbpOjMFa1l#v+!Cp7 zxAtEQWXvwc0+B$@QGz^(vDEAdyM&ho@MsjEThywSL$$=a+okcy8^?*RJ1%sm!dNJU z_YdH)3lAxR5!=~q_(j$T4JLn0cqFAu&ZXTH_fM)+HT;N}QMc+lh~)Kk50q;rpu zc1gL6P&L?@bB(AkGjidajg|k~AAyL_!N%4$R3z34U$15h zHlGQJ9AI^-Su-mkWu!ncQ*Lg&e_}a=Z(_Sxu)i|X`h;#&eU4e2BnhDd;w_EHp>ZeU z$M?U6#L5g0#7nl;4w`In;8xzqOW6lS^SIN$8r?9@ip+j)cJ+k2?BMq2l8Zyi>eAM< z9~Ll#{Mq5Zcau%67{kxHr>elxgNbemX^=C#F%35Xc&O=^}cTv0K%!d5Ueu_&%rXDhgHS}kcE>er#te1~fGlu3)*6HSNWkhr5? zb&k%TdqZ?z=^daToQ;A9!GFpAo5&6u!$xtd^t6YuUk$=XI@72_snC5I}iUpKw7 z=u{^f!!phkU(GMOc6Myq%_X{D!Ar}E@2hErk8yj)`X87e@GGCtTqJ)XwY=n9(seeN zv%tvafLlY*o8K?9fCBfO_SUqj$$5kve5HpDZPTdg&3oO;kK$UY*pU*%sR*;ECW(@E zorGBfmW=$XEMA8CTM0ly$oQUo+AF;S12|%YN^8_AypK8TF!!kw06pO8-OsVsbQ1rF z=`d%q36+h&Rk_9K(i{p=;{bNKS2Ry#jkD7!6+87fxc;8X zNCROoaJs%J=Nh|G+#O=Lw;%YsFQ407N5XxQLt zIIppbx&MlSI=>i@F4{sgUX8W*3q4)NUd&BT8LS{BHrx!$tjse|KvIqy{GcI)sD9ZK zY2(nWjIM0VLRoz~Mv@1y<&F!p>~I~Xhhm-I;&dOq?2L?@W^r&a zz&&>rjryJolJ1SwTOfNjPrFV)L1Fgb9rsWy;ipu#H+qWTLLo?G57S*;A@eif&#~Xl zEgA;^zx|Zg84UZQ!BrPZ^WmwR$kOD_8DuB}gM|onrZj}j@6iu7UjN2fje##m;FNKR zh(r9Arme?moUpuXGQ0pj=aw(cYPO_{Zz8p)Cv6JUT;iVm22U=OZ5`t#5=sP-dd3k`GeYgu*k72jJ|9Z73<)T_T-_zCUgXX-wavu zfe;{*iJrO1p)$|(lFq2h$VJQr^*%913<*5b*ud)aU*-%d9^!-pLCNb<72G%T7Al|< zrA#;$6hox;N+mm@bs_)sN+R(EdMZtP(-Se^Tqpp_8X>eQ~AVFfg%O5n*ltR(Ip^0RnFsV!D*%KwJFl5tQ~&v z1Z_BSyV4u8N+1;;RJ=m9sRPX``CrT1>Y@?ZeoQFdcIu@axFwg$VZVw_&S9_1VDj0$ zO|_j-JUf93Xa2=7{Ut-tiY9@`&3D8?$MefckYF(i?l$CQuat9|2_2p*+S)F+svQTF z4k7PX_NnICqhZ~kIIBZVZ z9a@lwn=zAkNskCLx(xGLg}kebwMogC=`)pqToW&s_gHf040AByeB$V*bwga$!3Fb0oRh#$rufUJlgx;-HRx8W#}~DXzKb4{s9iy zQYf>MsGucqU2jWsVM#QU_VvY9@H&lIv&Iv3JjS+|jG`?5W-ryx}`={Y{i7a{a)nw+x=-T+43TDM=}5l`CHHa`nZ;8h}`N zb8K%6Zw;s7`uDU1Wnf$dKNzyx=F*HYOTk0YhwQ5dSH}t`?*krOHUJv%T5YKy*Ow%r z&+Z4#44{!*RiR*R1zX-hYeC_9{1u7>C#sh2>-iw`{jj`a9Nwj!RFGqP%q==Sa!Pii zp%Tjp-{I9{+2HCYZ=5>FBh9R!qg6~S_wdTH$4>F1?Ye3s*qCX`vAJ%)RX;%2zD7p*ZV{QPH(0@0; z-oT4%_!+=O2=4xa=^8>H5k-Q>C$VV4)lk{Jd$G(qQMihhSH$2!p3V>9ltBHsY+piB z8l(6lV1QU{`=SU95I04Yh6ypPU^CO1(5~d1g&4EMGp;^FHRlkrLLln0)g2WWyWKi7 zUQ#}0&1yr{qnC23QzT_aPr(!|d1F97!D!2= z1XLtC#ce4tt?#c>ch(68K6Yad*hj8s|o>c>#+d46$4P{ANeRl&D3Ldj5MkoH|2dPch0 zp{(PQ?-{noyV=`9?c|4H$?ojzH<;erqzYHf(pmGt;A2RCy_@nUWq4|?I#j4ZDwHm@ z(SLxm?)_x?x8^*Zf|SIVU!LNnh#bUHJ8HHGAsyx$kPazjoLPBZ&1Qy#UWMj*5HS(* zGWIDS8ey_YyHkk-r>K{8z`52(Er{LA+bi|MoGrE$cmxq_{*Q8mlKP2GgL&F7-ze@y zfF;70!9UQL{g!r24o+3d!p&pWLam+Ud37TAZoX z(lFtA{#04%_k%=$BW|eqx7rhE!;yngy&s^ z=as=kdQ0Xzl*A!MTMiEvBV#=?WKckkaMr&sN#^8r(HG6fP9+$?cxI^=TD}p!`O(H; zWNSVg<%QL$k1ZDjK*+m`c$K|}WD84TwVoh&g#{t2h*shu&>>@c*kc4=qrTGKkVeG? zR6T$ktVD#%tugKTwV5&s0&NKjNzR&cBrM(Gx#&b*&o}1uQSw*qA{2M+8%&XngGAK4 z#EUJ=Kfrb2;a9G5+zer3ROZUQdLJ$rX0p2{y+_6JdAE!2IR)(eUo8$=2}(FTEIR>6 zfM1eiT_axCol4*@><(NCF=Z88<$r>a4s2m@Geknw^2P;1*E`&4n$I9y5+@Y5RyLkt z1rJKp5*v^_RWw#K(Ke$MQ9(|6bZO@`>xYx$=MKG7>_iRfOaeau4ByQMDD=I~zoVQM zv4VTVB6$gA|MKd>y0g(%X)ZfeXX3>FYQBvC87r@GK6R7Vr%RgpGCM~|;r@YW+XT{H zmqF)aPW9kM<2-T|5G`>>t%QmMd zi-ti~d*fGwci4-a0aG}Gmo>ff>Y!+SwNPA+dJD;m^ZY9CxeLG(u5mwFqdOCQgL6i0 z1HmI8`H&_VI;XP`D(?M0fw@csof!SF@|%GUMvyu0pFEn$SjQs4pVy_Myo6qoyR-(~ z;I8_?_w)il^bl1i?+Oq6>>V%*#EuB3J5?aXA@O1L30U7 zDQ+Sg{Bg^Ackut_-M^5Bl7@jsVf$ZT{>JQUFzD(Q zDfH5y(g-eb6=1$zOfmBcn;FS4IaH7ZB*M?sA35YK(+J zt5>9dKvG6!YRyN20v}R@WI$;y2n?+NyFdggGlTVMB4NKeN6Olo_bJ}N$t2uYc;1i7 z0?J(jmC4$qx%~EU54FMttq?K`oSsn!q?mlE55j&jPfI*tXK=(g%$7!xKyTpqpNvjF zCK`qM2$E>GsZE01rcox3<8l*mL19}TCV$JSqO~wFz%e*{UOVQR}Y_i>(_ ztikC6-bAB5r-1MVI(G1mmEO<~i=_(`^z9~^b&V;q{pI`Jbsz?zxQi(CQ)YxpYp8fP zIsM|ARPTiZn^!!0=kvFlVPr@(Ol*V;I#W!f@g%N)0KlCfp(z(uii|)fpOp)Pu|8Iz zjgS4$I2RCIbK62pQNXZz`J*xUnv1#_jRBEZ!hp5JR;sQgG90FkOTrebArXA!reZ+EP6&nQdH&})E5|*Xx@-4h2j;sAseJK`-)oUu(*OG=uDRH zVLxDa;{?aU9BCvBZwn+IgKf(-!m5J5H&^YE3W9vKq^TkzWvQT?Sup zTn;~^(5=w*otKH^$1&NoFp8|$%eSlAV)?!vgLxO+lin1^1>+|MeSv~~#xDSE?67dH z3+2)@G=e+>Duc&wi9~~5RVUmwe+Zy0*iMgdH6i}0{egpm5`=C$tA5EyKok8u9p{{I}JWrJlAzhbGAPciloj~g$8S>S{Ys?R@EZ4K0i?d6S=bx$qy z3F{=Py7+WoxuK9H@0NT3NTQwZ=+zgbeSx@e3%~Gd<(`}JaT@%h?S4eA9=s>WVT?e$ zc03CsEjpl%QtN?OFXUgd_sei5zn#Z8FF4R3J5a;E)?A>dCN#Y{d7~kn3+}r?*mn>p z!RuRQJ5Q&yC zYKar1cj;q{Ho)j*2Wjf`NGsCZhJUA@<{(sI^BmE$AHmy}=hrXJkh~5RA|Im=Qb3bg zitYf|PEAIuVgCb=-3g;=U&38O@wkGxn9XDhY4$;#0SXCRo*Vu_GKJdjNz?xTG|oPs zFbUMC3?EL%rakjejnJgNBQz{tujS*&YaCvAdEBe()}BPZz;L zwg=*l=!`G#5<*B1x>t0SwLU?Z7*NHtppKkZ(K6@u=lR)wqd($4SdX`OK9S!{-|@5P z6&89vkd#ybD5lG$lIyTee3j1vx4R9Ckb(sOUjEs*We(asjEeFC!;V0EE^h!h^w$@R zrC7D`e*oy=ODeYFhO9VI8@8c`i)_z`HJsuz{^odmCscv3E=?Nz7J%p* zda~Ja;yAR_nAnSvB&K4(QU3rsz6$A{PJc%dFtCs3Gh|D-`T!tfLi*anH`2+Z;5UX| zBwJSf-@kH#ZS+|8IQt(hd8m;Xqk&QjBpnI=0M!g8ryV>Rxg($r<4!ZB`a@ztV|uT& z#PytoK7(#8*NxcGD~%^Wa6-2C2yXH8aFFZjR`Z3CvO~IcTayk2Loi@I@+1wvrqTNT znW`6!0>5Htw2@>S_jyst79B(GIC4fuM#{TVh2%~&8jF5?KXxHV{kg}Ecpw@i8xHw)Q1_#vKvHn5@gZ|_x(eHfV z(&>}4hWg2|hLOP{tLaPlm%_*>v5ehJa})ysn|AIP&yvh@v) zPKl^rMFLowXYe?~z1eN36*w@PZaS9i>;o4M1;!=)DHTCWSj)2c2OM2{>7%TIXGJEbMAEQy3$$g>cy*G6#M`+a+sS~s+=jr941NXXU-`?Zs@-D>=c zQ_Oer^~D8vUW!V}=cZeNH)38BMX@T#PzZop*RW~8O!d2iZa@v@45ASizD`+!Z=Dzg zXiZ?WMzt=>`2l-#GPy#$dT*pIqdWtCT7r0YZz{) z0dbXqe4d?gwVkw|2;$hKjKOT=7nxA3;U4L>&n8g6uY*DJ>c zKUiLGzSNY}`gL`ebs28#u|EY`@;8_xuw#P_D*g<<70%eGspjipj&=}@wSAvq=`Yes zt4{mz8so`s_ci!Ds*#xPA3$YZ@!(_h1e^|eTBuB|Y-?2LJx#a1ONt*#M+H1oGnBN% z#=KT6Jhd?K6Y!IFgXyIGe0G+?i`>BhZa9tAzuebmMJv^WJ;xc^ z=5GwLHrh@+wqiUehNT%A%Cu1MIwZED%(MvgXLb4^hQHMlosZAo&^R7AsSXpW)-15m z*(uVJIXyqnPdiH0G#sBS;Fc@D&w-?21Kl`gBz&yj8)>R>C(M1@F6dTCq)?Bk#yb3j z{sE4+?h#5BFCD0#i_w5un%XNL<#_)9B)6gZn_9{zXsfTZrrvvRvXPT$@m1+^?~hFcwP+$X#&zqrF5N5?uCWFq6-+bO zoPU6nMJRpoXu0B8yq;wzW9$kkFz#jgFmm7tBek#f)@k&T=S?ijx9;c--TE*VNdF@P za>g)l^*;d5NT8I7aaq_zlI$SUw2JZmp*zxWiF##8vkTh2IEbtB9HIVw0txNF?W59) zSz>5>3;`=Y>S(6Q)`MkNkz-b1sAo3kVq4Or z@}voHM#J)UZLnT4Ctr5_*dL1c!BPslJ)+`yQi(3A(INMpKb@KYk_DO+lPX0@OUs!{ zx2+R-Z<{a6b@$5*G$-9&??WdVLQg(Vkh5qRc-OW_BxbGqkfG;bNh5IajcQAWG?x_E ziM)m^_vwxLSeZX=H&&sui>)uEsm@A z0%jb*=f0YEQD2&U1-%Q`(GuQ4qh8!ePWf(iE_zk_y~pT7%W;jpV#CIg?({onpXbMH zy*4fNLrRcL6vb{LSumXsc2F89Bw#{7xxsh-Bh@CPZxrEvi_Wam(^z<4P1ROol!w@4 zsr%}CGGQw|YsB9dMQU6vz+3Vu zhqZ*qXt(3m8Jvx#crhKw#M1*NWNnJ+tFa~4cN;~N5;sQA4O=WXq#pXd3dbd4nJ$q^ z8s7m}z{rDwn_B;!-bx+L{$r+wHAp*=V#xyUGhybeFC@7VnG-o3C~0;ZgoAb~sLg1& zLt_BrJX%CD!W0weee~Ut+AM>0I=0L1LK$JeaKr^(6U9B&J;~?ecN`Rw!OxamZ5#hA zix1N;R6}$6M%zu$=uc)>XtTVDQn0bVX%Nc07J^p{@GWM2N!hkxIjm^?(OVr&a$27w zzRB19==g)dCB}C$J^~k^G8aN`4Dq|iZ^|n`hb#5t53EaEu*UK4$c&~v?k|=7j`zo; z>w2Js?Q+33ATkpUQhX1gQsyyOgNM9)8(`=pO#@OKdKf^;zIu!PE~0p?KdM&!_HY^eeEiMd%8dRiQ9 zpKBYwm!BahGsZSdj=27Vk(H2Dz$V+&C&Zv+Myk>yh^&sxhIsY8T9Yf&rLE!XGM2N8 zhg{&q85ln}my2@liyLzbp67Uh8Ptj|KQ4ena!vdnfKn}yPNCh9JT1e&1F3^`6!b2C z$G@#SqtZpaue$Y1<>93536diiqfRfpUTcS9{ou!n(IO=#knrM^J{{|)n&-PfWLRdIgoW+1$X$n}Jd`gWA#N|76gvRC$?jsE!&iYx}OOkW7_epzSc^0yPyo`4; z{MYBK{4xif#qX7!jZ+*oBr8mQ11OrIY9Yi@c8{k7F8b?VS^FpqcsF&<^`XB}acMb_ zsF4c{RJXnenZm5w#K(p=Lf`Sfyt zJ_y}0)JHBkVgI!3(V%Jf+p%XD&b{~ z#~f8#`9$e>e^dXg-r13mACl8fmfS{Pi`MfujFL47&l=M#U+1wNw+<5x>y9R})-qR> zjDncS1X+KlL(_|^&?+z!TbhuwpnpyhkztqJ>9 zxpUh1oUwjxvTU4cLZH}q@emoW?zLU}TOCnpx_+$hBnXyfC8+(B-hrd9VVQB;!gBT3 zGeN2UnHR9Kk&jo#GnT1c4T5n-Yu4-)PdVML7@U+nJ|wi@`rNqQPGV;P5v*7GTZN-K z;~nI(2|vlUF6_Wg7N7UUE~3Ze4+}UZm#<1}F=$(=o?*%N*NRZFo~?UZ$2{x|m`F1l zr;hJFgcUaV;(lb5i;u|al-PB4doJQZjH|ubXJ&4YyxXZTC|YGHxZK2Ei$}=8MLP4w z-PFwgqhh;tFUkAMvmwhFd8fDC06ke-w&VRvx=Wk{QQ-xG*rQsAuPA+K;|YO1NR8N9 z$oQrDky*Pm{3>QiQQN@m3r8TiKs4p~% zle^!{5l7=?RW1a|zQybB982bElV)T`%s$3xjK$`=%~NCxZUMI^hEwDRhmV-3#IRqX zRyY}FlFQY84D-0dSs#!ic7urw$Xs3BlIGVo&spp5P!-6G?L8k;$=3=;&}a=3z)Zbt z72=4wQ=_nqD%H#OC#1rzPNdK82B4y9#y(woc4eVc76a_na>WhJi^~J6ohQlntGH9+ zS1`QWawDp3HWTphA7F^#=6L97ZP5VQfA)K@f`8Aw84nb*2GQWG3l2VL2!*VgQ3D90 znsf9fR04sIjNg97L3nYPWF5&SUxU7rOefnZq^zKKx!LV6#w~1cNL@W|nq*Dn%-{$= zR@)s~{W{EJ*eF!G|F`K5?amC3L32uZpw{;@%A$Z!jP}fmP92B4^%bXtp#M5ooC(a$?w(grB+RA796Xl`>9uISe^YM{<5A=*n@K%c z|5D2n&k?2t)jX`Z8bQ3utFHP0j(9%h6E$*h(7HmL&-A@mTBWoUCxEo_F@in|TbeVW zv%OH`W`R{|`-K4AkT&=sbV7-_exm)HHR>$hl@#47QjJ}-_FE_%Mx5eene4Qv%S8G^ zlx`GyYM-PT%=$G&#Q#-MatV7kkTNpFH^Q!rQB<8jH3S+*5>dhH&WJ?NBb=N!5ovbN zlsXOjUfz;?UAIo|GkG=s6Y4IjG!3#CzufQyYk>lv+7DNsFBCT|E!Ffr`DasmQTnl~ zXqU8hbk>udv+}0-dBi>lP$^J4`;#&AR&A^Dz$ksq@zia7lmuh8M=QTFL_<7`i`RN= z0-F%0o;m^#2HJm#*E<&5X<5tfm%(USw)S#yVo1DIc?Gt(NEb(WzCQs1i@b&dgBzWJ`y&4nunmU-8`q%1?_N zo(Gqwz3u78L#tvfZ_b84GM!dt9q-@K=QoEdPu@o-2>1Ennp|w}Mg#S-?K>=2i`R&n z2qKhFjBj(5r-m-~QjKK04h6dPZ~73KJ9?qKTqLjTxR6D?WK;S!dW1#~FX@)c-zE;u zy@yShj4bhVA5qEYBy6ADgc=64u@Og3Ug z>7hW#!HJ#lF3nE)tf`p3-<_p$EKjU;X(t3uz6E7KwBTxMySft}Ei}`OG`oxA?5VK$ zhqtIbif85$4N()X4{{BAk6R6pLv-7`Rg6< z-}Ya$^btHyk3}U8ZCo=vxbtY78e8GBJ<`!{_~{NA6@0r%p)4}Prs_5~R&97; zT~yf}f{TvHD^H@b7mQd@`uvnuBv>wsCXMnZTc(-elInw|esGzhW<4AGR90B+ zPSV9!snW8sq}xU|dgKWWvp72%L4Tkwg&Wj7r8t7f7!B=d%@j6}dxEPNi~dHg?o?Ehtt6VdVVKx8#sOoRW2jr~VKhn(eJ z!9R;Fv9hw(ySuxtN1e#IB-7C_L7ht(be!f`=@NA*lZL#9sALeSsaQ=uUIFKtWH6%V zu~}#ImFl(s6Cm9?K~bH-^;tHb=cPB1#f&+N)}~WT7lQnT5I}Bz-HxyH%RvW`d>A@)aRLJsg?Ne!SzhmE#aI*o?Oy*`u9Jm9SRP`C+R|6 zDrJVKcm}EX`1h0c*^dp*ov^RXsl>z>baXVm8ymA*S*Th*`PlxKY?j5vMQzH&8P*a1 z0Mv4;^8XFvzx)i*Y_Bn34mKg%OBJV$A|8<>)t?qYn?jC{St~8*=YLOIM-l1CCZ#gN%y7*w^meMgayzcd51 z=lnY6*v{EgQ6~y*8qgi^0Hgc4>Afc;M_f7@RfOyUfz`R6kF#g(`Iqd)-PeqgA<}z( zSZ&Z^Keztlj(|abqr^mu%-jyrqOm1*;h#S3&tmvpjkD`xM0%ODAZ{GO#Iy;dfsnVS zb$b(F)^mm{TI{(Ramc#$uyOip-3%_eS~-Q+4rFtuDMQKDS&D3+0iQ< zkDm(HNsqW`Q$9SWs^h!=K|xn{;OTAB6_E(+n3j*U$z+eG93|- z1=1r&H>aN#n28_4mn>pgiQ?vTi8Pf*9NrxAs^0b-GPW-<+O%-THb%M_v11E9AcLiq z4slwCccvnD%a`6LMULVm{B-^P0fKkd{Fg(zjti;m(av+}DxSm9 zE{t;oqB&`}nHoa8O6oYQ+=KXOjcq>J&vGNbzLZGk7^t$km*N{&vLryXad6TObRj^+ zKudGIdSOxy`6K}j?{Xw@d>m42a!6{(g!NE$iDM&&3{#oB2>$NtHn@`o4#`pCQgLVU zBwhR(n|U~lNn_sZ(V481;u11Dq()AJ=a0d}aqZ_%8;=u0!&0A4W>SfFQ@a4V79+ot z66Bh%lBYY6BObWU%#GI>@`b`N1Hs`(Tb}Q3{bau0xcW0~CK5I1#voPZ>y}eq7RXGx z#-N7KC)S5dquPnz^$0@b$jNMC2Y;s#F&r|%EC?r5*OMRBjMeY;0Jh)3nSHwPI^w_O zM*Lk6@;bqi647fUmdnBNsKJE%jM9B_0!s=qY;XtP-Z$OQ(mhlTpAJhrn33Ecsc##OL|G5#J&Oe33NXx?0HL|(2DP#eKvpn-HI>arn9;Nu!$ z)5K4_8EE%bmkj0Dr_wPe%n0Q`XY5_W5&}jbZ6(Z zN>P3;L&n8W9<8o4S+EGY&#J9;l^yGA+_5J+E%FNP)7m!hMHN9S^j?w3fd*7|+p^C@ zD;^SwW`D~#?Ce8^u)IL5%j7_BncO8=?n9|Ob^WeNpTC?%_rWd}d=b_foD`<5V6rC9 zv`fQ3sK*y>j$(#Lf`DCZ#6MhcO74gaJyXmUb zn+&)hx3cnMyjrK?uF4AaY%rlih||Vdilzbn&B()pi^G@gVqAZDm#h{w+{LVW{l|Ta8d(@8Dq9$e1t- zPA}@Illchd1};LrCsCLWrtjb~1R#YZe!vAye<3tYs=)^`l#Ar7)sCFBNF>9g*g2AdQ~ zpk}2}G5Dz_U9zjz98 zMf+6BRIDKZ$Jwb1z&-f|c-f|c$f8Zf=FVT&^HFp}b3*?E`{V${_pBfB43WnT@)j|;MZ&4w15SQ~@u)WR*dyf|FuZSYMLtYPoA8&c4ckU-yGWrF-7L`)G2jUmfM{u=?W2_NZ9zD3=Z_Y{3*1ub z2i+(W7KPdk1$)K8qP|^N<)h(0)9X>eXg`AFf;NmnYDZu-^6{x%&u||`G0@Kz_e#<3 zG;d{XxNZQJwjY7=OhdJ{$D$n#^%t8A9eGwZB_2KHtPBUo&p3rIN zUpPuooNm64V#Ua;5CsPE%a?oqZ7SJ~1JmivX*&EHa-De3LkoCcZj1zp#c~n-^6km)IXha(0T=1H7 z8fgrihkdaRr6lb2SSfR8sF=QOHXi5hKS1L3pGA!^>5+4m6&MFnj4BF7r8bmOfFFRA z#M`F_gor&t;MXG}3_etMXO9$|P-i1Kij5{TE8B77VJ-JwJcHbzQ4|P!Weg}*IV?3_ zoDjK@iSgCK^V(S$Dpm)fB+C!8WD#+%pnQ;SJIoI0SzZ};3(`BrbJ=e6B9&Z9=&EGY z7(AZ7{wme26^U0Kir6JbZa$gflG&{YD`no6#))JO|4yy{nb%amWu18ds;2o)x9Zu)FQg7o1Ur_D z?fS*0ThRIK(qp9`Jz7ks;f;9RX7fFw&i17wSRQnQolvFLfwMQtwgS;?wvWk4ogdk) zg{wd6Nv{Sv?hjJ+9&B+J{c%lg`&x7lIGzgM+@2#bI5`>eglpz+4AvkdzQG6#rnsn#U=FJ>k6st63!pG@s=7ihQnt;~Kfz!tl zP|9rt6Df#IV3)xJ#?pXVYhkADSyUcWmCx*}ZIl09-bnOvO^BL-2lB8HY9yKv*icUY zno`f^RJ3^3c1MLnpEN1OxN2p=rhX(S2$%4mylCaR;A2Gq1mz}#I(%ke>*f5ym=aHjUelh5OF-74Wt&x{iv+X{YQbOrmy4#+}8Otr1bfe+Uq zAH%i=--b(5^_Ae{WIu`4zf>8I?fUu65WZC5z0;@*T=V zSD=Rr{%uTl(T*HE`GB6qnl12ZI{Z0SoWTeA9nW1qEppzZwZ4$bX@0{1BrhCm81j2>x@lrP$aIgMJ zU8YQs=tE1Fvim+y8t&t*n16JF?c;wL9nYl##c`)L)hzf9;EhUA#8ZC9ozb-R!Vu(~ zQdyqn!~AFCLP6-+6Fp?3dT3Ys=3CKgFOtkO6b9;?b5vHZ(bcZ7j>m%md6OQnRvEgMKQ_cPja5T+tehKb z<1YoG>U6aWlS$0UzLoW6mCFIIA+>CBkAzXQ(k?Paj(>?%49Tb1Dqk}ofKiSeC4!J9 z;b-?#T|w*=0_4KP1L1Y^LrE5v+M&jxT91MPiQ0*=na6WAr*DoEU)iPJ{f=#22%?CM z+%U*l2XqCJGtV6~Bn*JgNsx=_08Mg54;@nxoXXR@X0Jb)pX2ymo z1V4;b7e*tE4XW9vQY*QWcD7xalvmI-C(v4R7O@amd=%~sA5u<#$ZFnVGOgSrZ8sQ! zMv5jFF$jp^K8O~o;nc1x%7`n#fUDs`nK5{Y$>-m@kw9kO#u*Q^H;7E+XV>?!skT2# zoWti8V`c5idj@O6CPcSzcq{q0vg(B6#wIS3KgdbnJZqZMnTyI+=3vVc z{_IjUU6}!%-oy)ws(mO+dz&P8>BWN2Bo~5WZ}<-up_iC2epbfkx6`7AC?A3w-?q(Mz;6;(E^S1e^p%*(>}5@csjA zmSIK2hFP$x=1>(cTEK^spz>MHX!j=vVOVr0Uh3EQcK8dbH|qK(<07%DUw5( z<3gRE|BZvD1o5_*Jkum)EH8NMCCk&&b)M8Yg-tIDpi4Sw8VJd&O|e@Yw;DKkG$hm{ z%Z1e%LD(5Sizf;Xj4ue;6>y!dr$zFF#~Ik)G(MAUH?049R~|pNaWTa6)nCx`z&lz> z`L#TSBc~%AX@HK*zg17AZNHO^YD`S!v*s(hy3Hf>fR7Z)$;uNJqTk<`vi|vIIwD&Z zM?iNVqnoUzF>tM{;7k0RI5xw6#C8?u{|Nuko#S*_=3>E-Aj8EpL5j*HDqM}j+n=(D za>*~+G6Z}o&s~>k(8`V`|E(PnEEdokY357}Llr8SN|qdNF!b$gzBx0gk1kg&JX%wA zb`DGH)BgjbNq)KJedB6CCW_6R>DR;(*`VXYa-M0LhKshUKV^lNr_qua_&!=k+bXEO9pa`)kTv?g?N6(aufa!7*9o-_$?GN8Ae;Sh( zPhEjY1Z3>*5LtKIP?Y8S%(s|ybyP(dP(a$->+kAzDTdmpe=7a>vNWV-3FRY6YVyl* zufk-P{bimoP|tGqZI~9H)3I1&?;VbwY%OhTdyG>B7hQM|OWeh_&Qa}(GBjPJ@D8LO z-zTc0?CMH1akH1{8p@TK)J}f+Gr)mJc$B~+EoTASCE8{49{sH*yNuf4*jQ!NP`mhg zb6({XhAN>q2eWvgG7G7bBQoo5nnXv?u3CSUxR)uaD?Sn%gEbIqtDnb73a@&I-g z5$q3q+4L5o7HA_^Q=o2i+~9fIEOuYUR8eEUuABLZ^C?ig-Z6deX*F0-B%Twnh(D^i zTO~+zyUO-Xn_}9=_1aEKk>}U`eb*Q-kn*sFO1a11_bc$s*clTmk{)k@c$ODfpQZn} zlDEJp`u%NCco^@O&EJuln*0m-`p2i6TqcktIoHvE7j)TAB3D6xAd(2LW9*?5i#e>` z-c)(GBQa!SYONcSAQIWY$^Y2cDWWW|6oH1h!9Z&yr>g*55JhOxd1S zdvnTt$?ZFf)r$4$^tiXVhgBf#X9ci)SNy;=$sXY3Eb9~e(sy>$C~vA$q=)0qp*wjo zT9=y`nw};{9P-{bl(=Q1TE&DccU+E+nE2$k;M2}xQFXV0rgsc1;19}-vJ(OvPnt!3 z9FXg632%~_=rgJN4C*XDxclv6K-9(UJ>U+Bvc>&*Xkx%GQ=-sPitwmYqgojIr_` z?Plr^ZGemju9VMld$#i-ZANiMPNIH?DE(4K5&7J^UL*t0APN&_5VN<$ZE-| zFIt~YdosuMImt`my4H$~MJ*d7h4gj6Y=<#Y{+@R7}6n5r4Z))v;eJ5gV>Q6skJYH-p0;at9Fz9QXIr&O$$F&Z+qpxAgabk zUIwQ)#HJYq+eU?0TOR4#FZXkfQgzKxL!BVDe{d1yZR@0p=%s9*#i-hof&IV?H zKp%6vU8t(JJ}f-u;Xds2?RhG4-VOFp_s`{sz|YKHJ$j0QZyouSHp1l$*7v{$xfqu3 zr?D4Ls@}3Vc(KB?)fopg{l;^G%!$KGJA1#i@oQ-BkI5P{^7KjuUYrkUO|@HU(n>0! zD?>1!QrU{`SpI#$!3P1}ezV;Ed!hZPnhC`2XmE{0WaTDOcUA^c!i!?{FHET@t0;SN zIlF(sZ!xwoXB%%VcJfkB&8h2#i>S&%6UB1*l9b(AwA)P)4vx{$S<ZHrt)bwFAoX+XFUCNkz$`cV;4t~65f-jD=Vf5T3#z;Dkwj`_!gh;*POy@FixBYq% zCq5rPE42L5_cVb6#s(sr{m{Lf@gCfiOwo<;+!xq46^ww5+C*dhqpX^#Pg9rL?`nA| z&w6pZt&gaIH6k5Wc%%{;on&UXPt!^3;z`U#6Uvvgs3hOkWG^KT-HQ9_$hHV|dq(QO zxco7uyBx;K>bB)VYFZ$te{Hf`Q(LO4F>0KhWoX(#gk1`<^|)FXkwD47E{Gv@jc^&!R*x zIo7n`rPe=;EWHNz6~YnEo})8_N6z9~_+IL;|9Gt7NENY8J=@W@sD_ymHygfuY^%V&a%Dhk^x2~H^W(v#bFkEO*P4`|@v7S#{@28;!s6v4<-7KKr zRZC2+nZxhtIxIpqIv!&Z3jY8)ZwSL|QI#4o^qt>2XCkX1F-lK&MDcw~4w7Lbj2u)R zZ<4MLir`zq$};ERD55T8WAs_h78tkZ;66Bh@uM1|-dl#$ssSMVz(qf_gcSIW0llG- z+8+5zSv~vD=NxGe5H&_qfz4PQ+NAI5Vusn9%*)BG;`2$z?|isT)q4dKeQA_Hb1N5Z80x{UfU`;Y(cOSaf?G zuPiI^nK@EQ>WP+()L#ag+XM&5(b@hTw?P-ICo*z0Bl9fdeKsm$kILVAU$IQSsP{dZ zvve>rcoV0Jp!sQ#-$2@e$p-xCX5h^Am@^pE{-9Of=g8S~ZTe+kWowE@&?8cU_RiLa zl0j_Wn!U1NyuL8?_rKpFvk+3#Ds|>DZ+B{r)5yks>3h*+w0@=M3K6EZ3Ut3yW0NNv zr7pRRZ^=W2)9O-*-Z73B*GuZi_=J|tA}X1q7oL5K8)$nGTr}NyVUhxg=oiw>HX0zq z^-3Uyup$$GaqIcgEEcNKwO@-a;v z`s}bzyE&H;&8xu#V6$h}z59%}`=iD;N~x6OU%$GhawZp<(f(=vReU>^S(Ba>O)#$!k z06~Y&M7B72E$D+fOkktn_wV8L*S`8vf5W*~$h_Y|3~;f_LpVlFYS3qgaPD24GHISj z;QVFhK23L4e9oxXrNUX_+jfl<%Wq}Bkl5}ScCpZPzjfDHCP|Ru7pGBlxx4Mg4J`$6 zm#X^cv&rHntKBuA#ZL+F4*>lz6nsJx?Xg};91m9Bs@tZb(XYthp)uJV#T~tOh@}|U z5x~f~7{}9$U4@_$iruvQ+UGG%{y}t+I!|t%xUyNSwW2diLYodKBvv$}oPdHgybGA~ zKz8Z2z4{oy_2#&5(b8Sd4gO7NJRhIQhXZL8JC;*U?rgj@965fYJ^xJRfb?F7quwnk zb+Wgar>OuiXqlFcEEu+{>xTnY0(+}#G`4D_ThzbLOJ*2faGVVH_bjD98qHmJ>r@Okwh6zk_CMMsZ{s)KwxO2dL>2sRxJfi&;Z4`}361VJe z=WF|n@ngqAKGAA1E8rDk4hZ7Z((!7Xo^^($_UMs(JjPgno$P18CjQntQC}Laph(J& zi4S+9_o5k?OIJXoJfmNXpd`U?VN~<8&Jk5=4$^6`nEYCBvn1@0@tbBhG5>@3N-6bO z0LQ(4hoOG}Hk|Dvb@F(~V!R8NYdC4W>Wh;K2F|Q{+_@xdz78~G7SZIPmw1j3FcNc}a*d8x&yQzWFf2-dbgeOY+$`k8 zwa@au=q*_PMBsi+d2kP5v_-GZ?ahg%_a{acqeDB%$a%;-x5=OPV9F)0^a4(c1#BUNe-5&v1j^( z7AuRPpQ3n8EouW_p`jRXY^GU_CH4+*jAoVG-ZQ4v8CZQg-XE@t`g-?d4I9V?X{32N z#kglMjlHeJcv9OJ8mihhR`7jJ71ka~y9YECJ?>{hb zgstOFBwnbRKG*xG_*T;{J~h^1@5=Ex)9;Z?_f>(QQC)Vjm1YZL8)<7sp2^y3{(hjM zHBS87j#M(TdT}B+c7(EhjJOnH-Zh*0BSG6t*~761LmDc^3!drgcIr72V%3kH;kI$G z>{((89Bf%ataKpseD| z)5PX$_3hdWe%OP4(J@rGtU}q(`YSj>-E;flN}34gWroxe$}xaHw#l%o6mo6zXE-GSfO ziq%AG>Ld9joLp~8{jj`8(TA+7`&8f#P@wdF3sn+4#kApU1Q@6JdVRpKr z#;6=4V0Mc=t>%}m(H%9VX~r`3(33;5wDdRK_`V5na?7W^Ip8Xai2l*lKY$mSP2bsl zfJW+Ry3elM%IxJZ>m=N-JpA%~x8i%E(`0=%ydxqA?jWE2S5`pSj!E9UIi92O<3^a= zLUiO)qZ;+nbfx8>>3voUyYAd@^nEn#g#?Fb*Y5%QqMqcj`phGe=tWrU7{94v@Z`p? z6>X@xvWxgTlT97$p6E+fzlpJ{)8d^HWeVjPMPkIxaa)qS(qrT2R+=ttED!Opjofb1 z_@&hPe4SVQ&RJ<6UeJ1HPu+K6{6y~j>OFGNo&S}N*xCH0j70l3%Nh8}ODXFUd8*G; zhNBoB#e>mY6z$H3tz!{HqFdd;-V5*W%0c74%7;D&6+|z$LQHV zkk;1`iDuNU01frW@lg*_LZKpL-*Wqq&KS3Q67>Bf?%_{Af~ple-tYhd{0Qde8;-+J zv7njYyeTQ5B(R3Ru403iT=$p9k$NQ|frzGSn9b2Hza^rfLH}9dXHKGngKJw8BJ;Xt zg?TLSdaS-U!o<-L(1*D^xjjSK&qjNeDx|Wn7!X`Ia?5vfltxAwPmOnkWzLy1cjns+ z*c8?}|BZKX?@G(pb&(%g?_-hYjxCwX`6nH1}h&f70^!{ejr_z+>D{O!qI1g?&G zg3C)(7*Dd_Q|)(hkg~MPJ~&c*FM0Pjq~=)~uSyT!MhTtzy|6QGbPwZ(iE~i8)FnYF zK0cHgca;2ibM|*9S;ku5iK}cj1*Bv#w^c~(%{mDiC@A-|1q`p1M!4C>KThU?wWbj| z9XfT3^1Yq%v#b@xn*tKvu^B1aBWd31GUx>c{h%E4Q8~E8KGxJW0iA*yjAfOv7TL^T z_Cw*1wbk$RfF#jgL|<|9EcVN?&h92a`XM?#0xdZ@S1Ir%Mys z9^U$Dn)Y*bD)uzHYN{pL4XK3lo{bz4T*}xj*G5jWmfdkT8_#VSR^Dep1(|yRzfaJ6 zkb9Urh$g}p+WcbyRP1&amezlqnJhI{Am=ZVLI>xAfu(AF_y-GTiOPhl%T1y>Q;K$r z=;X^ASAEjL8gI&>-i@06qCqET>WD*VnL+kOQOhF81`&!q5_kPVc!ENzuX># zEo-JHRRS0u>}uU7jV+gsZ5s?1j}`bmbxEb}40<-c?TB^*k%1a%;Pe`$@+d+zFLg$3 zUm?PI45LB!r@Mg@DPin|ZQSW?N;z{gT zQA;j)kbegS(on{-?`&CCs29&DUNMZMb<9_n8#C7 zdnl(z0g~+RZY4YD-)VdZA{FV9k6s5T6(l?+vi*Ak9v8Jynz7_xI3j|cMoY$Eu7rGa zZN@1n?!DGk7HThZaJ+e7n}#hvwLxXBH2aw05kNgN;%@p6-KF z`OQpr+7>O>#!JVYi6SOnbHiSwgVF=%INI7a9mD#V*lHF6z*mSMR{qou*IMt{0T$dk zUmrWYp4sBFO4#RzvgTEB4n<3ppD^hUve6(%Tf}HC>vPEfZ z;FiGp?Y}Dq&^Nlu_A(%o)I$>bJ+{Pqc-04y+G`@4wsJGxb2q=gl&s~fR=^+l(!C*9 zu}fZYn??b^<&!9Pa6+W6ePe@=%(_-}MFQ*NTkQZ5Q3=;WMMK5Le0IKDlq9^Nq{J0d zG!!j-d}UipY5KFoMp@^`8;8W%jvsffrgaPw;;uN^2MZTgnTE z_7AcjzaSyi`t-PcXxPo5o3MHi1c90f1CINzccF6Bu0izD6bZAbVHKU#VZnD|HqJ-z z)k{;3K3t)yLFKW&V_!u!kFuH}4fmusn@A<;=x3A?`eXg@0gM zr`s;Z_G3HQ_tmZZ%4mG$icXTPiGR)ZgO zu$s{CWc$yM3h6ROQ8=ark<8#=Q`A^0%{E;HtxLO~M?RFu;Lc&?)s=CijE&=uW%cg` z6HWE*GqdPoB*oho2K@KxsMaGeWic=H zz)z%K``|bS8<*$l8|fCMAh*G! zjpCxx8C1_m@4LQIQjRe`x@a8->Xo@|e$504wk{A1)q`qsXC%yoDH_5;>Tmm)Gzy#N zTxTqIfwi`x2Z zeA_4h>$#|fxgms9y-?UD?0pi8lD!|?dt%h9Y5Ae&!>EBA2D`s!q1HZp6Oh?4Msc2QkN|l&_LiUiLr^V$z>A&%kg&G7Nn*mqr`pHAS)372dl` zDe_<)u=;Y-UuTO#^h+?+GF|fTc&VD|BAz_czb@8-R3vy!%B74k3PuwGqoGp3gkqzW z3z0dAX7#nHOpqdbmgLUrp~#S^Hsmgd$*7g>dWP>K&7@BKP{vPj+AG;e?WHZ|$Fw`% zpQ5v^u8jyn4qW%ptu`}3cjkU(@k@hdAt%k3BhAJGq}3+@kAvgjfF==D4FoYMgNDa2 zWadZe@)ynZ;-(arE|rp>C48J&T9a7^Rvm0%s9u>!JnKma;o*(omM@QES8|2%yUa2A zJa~x(o{}EStms_TV=4j8^xho5Q@--xlC-W&=X$-m?HG9$ za-=ASfA(VJ<&kxBAe>`>0&a$}Sli*qr&Ms8qNq3|0eJ@WpkyBmgdxW#x~fKLt!l_Z6D* z#B!~^>}`5n`?^pG(deUdx+BcbSg_(dR@_aE#&eTi~w`AP+&< zI&ifa@hC-#zgK*bI&UVXY7|khy=`YTG`rwrUQRKX$wPNv-OX&uUf;KESMrg*-p&Ie zVXmX?+It1_=aGXFYizh&#<0^^GvGe4Zb0ezFvt7AEX&B}4Ab%f`S=?&f9YXy^HrT!@?(i1=?CAOV1Zf`*2Mg857^ zFfg!i$nbEVfrf;HfQ*5LiHU)Rfq{ifjE99yh=YNFPk~QJLPADHhJ{B-O-V{kOiD)j zpNBwvPKASoLxqP&CB??TCjI}8f5QL_cnD^QWGDzq03-$k6b8h)v#?{bc;pc8pwB98m^qg) zdvq3ZMD&ZA4E(tfH5u7$1i&LMP&b(dmuFK;Zd}9_+|1U$PH(qf@1Is#Jp}t$t=xnB zXtesyR%{5zQ3TH$r*5IMwFA>ioBV?X+Wc&ZYh^ZPZRu1S>$#V@fB!+>!eb;Ie2SR$ zlOG_eg(#*aYz2JF93C)~<;PFMzHK7;thM zq1$rfXYY`=ne_fYhQ7NBkzq`& zqsuLomIan0RUoWgt^LBAf9@2k z(KpKEU%4f{X0lsIF`^|LkW@25dyNTb3drc^h&rg~dwJJG)8_8U$T!;92cyEMyWeik zEH1w|3pArcamne(PnzN&CbT}x3M5V%GZ;Sb2U_{CRIP1 z1XALD@%2*eg{Z;%jy@&O`s)Y++z^ZATE@+FqBPuOpL!b|OKip9Bg=EpWwyh z6tGf;Zc$31P$wy>J5vD@(qPFrvurWiqkVAd?SIeF%L5l|+=4Ig%s4YHG4C}zS zjy*k1mh@X$0ut)3J;r#sj_(ilH~`6=0ZOaS+jE^T7|G4CurhXA#0QNgttr{ zqZzWU`Tc^dGZZuiY>~(m-kyeU7Xb!jHgMKsnWWN6Dvg|WqDq2M7jV6rf>$IUp}OJ`URwY z9mySj_hb3iFj1gx2xY7WMcn`o!e7Zp`F_oFkC_IwdW&2j_Pgq&6SW&5fjOqhy?nGK ztFy;x1f4;|ajB^Pv0_*1TGdSQmEg~|`k(?F)aG=vy!zm|&{nWFVq;W=UFm60Q20W$ zyRyGM8-JY!Ym!3Px!ro%*cIPT8FI%zbdDFRq}l8UTv! zu>Dpr{3orMs3c6exfg^DxDF{*u-NO@!MV$nElN4l1`cO@vx^EAy8(E6L}`d0TOQ#E zErW0{*+r7(0VPc+I*7{F*7o~e2v9Fz$NmecET*>UZl^#g070bMt!?|?a0XJ=^srLC zakE#oj5JwZNQEn4=pnxG5o4uW3XF#1T|>_w2jJxu&NEjs(}k@#4od{_ZRa=i3ZiH7 zKe&hfzJFY|5?e@v-A$?}91U=g{%bSuKvxecSc>FF4%Dbb9F&>Z+ zAW_juqKn)G^xIvKWIG$bI=uwbdM$HJ|AIZp;^tGno<&(A`f9FgK1>;{z@Sz;0kjSq z!}s%vXgWK5c1fHQpd9?h>#Hb44VG9cKdYk26K%+q&$};l47?&@K;=Y;n8g7Vg)m00 zy_p0jsjN1=f43eE8n<^Y2-oWmYIoeQsqCL*z;~Cis=BYH@;=KkqFUL0q?P^nwr6VY zoFGV9#2^2)7TV~pMwfwZn%d`-LF2BXWAdw`Osju0N9m5!Vq0X z2V9v-c-)TKSIj2tzGKu2_rF%}YUmgP_>D()E1#`8z>T}*&rbZpdcMPfya_*>pU{Gm zD*f-~QZh)EJeMk|O7)VQWWkRyFU5qw(j=Dt$HmRS^zX1%MWLCd5=#-w@TOWJ0T4G6 z7XddjsLNeCe$ zU&$0cZKk0PrCy6VG|BRVvNkMYU1H|^SX1{WfRmTfv8A(U3?3&{x)vz(~g$n1HZIE&1g7g`q&@JhZiZS zsgogeoQ_QX5os`?o|qh`3sxK*de#HKqU5Vddp2%ks!BSPFnKL9PJYRG$!#6wh9>9m za_K}lr47Xbw*eM^TXv>~uDEPj;^ElKoz}w!2y&Yutyj(V5Fg6E)bs{ff^)+1usi}# z>dg|UoC6W}gGpIjg)obg@!|%yVn7z)rl7N@v(ltr@0mhGe4KvoM%+Nq7iWzXt^QW0 zt!Dv|TB{j8GES~kJBzRW7Y&&1Utq8-KPCaU#%rl8X4fqZN}+ji9Z8A!A+e%Rm~IvOg9FH&p^{MB?a82^K_uP@g@;oj=LN!59JMUmjor=M zfK(mm0CZj3g%inamIUe~h>`NjLUgGlfwxtXh*71s73qI7GltAF(@GBGSg1L57%y|- z6Eg;~Z6U)+P*~@|XakY7h;cKStV|9>@c5yc=Y*d3;ZA~xDd~hnhq$%HnkP$qOFIbu7K&&Ks_-D>eWn!$ zGMrZqF>P`O$+p~jv4$Gw{ipk zD@KcP9n6TKhF(rY6#3=3**qj-$cJQ=#9iTq^!Y>NP{AWwZvwV5-dgZ-){ytrERj`F z2PxUkbTd;>;hL8^Y$qh;oQ>}a7s*^gxiRLUpY?A2BLjQ->~HpY=ooZTMVH_)Qc2N4 z8g%{8xyl!gRZXtf9_ZK)QMB=n<#`goOQVu5#b0mn+C zz~mVogEbmv6po>iA^W_U8_5}7KA&1b2Qqx9G{I#q18pkp#nT!{D&|%Ngr{TMcE0@@ z{@FuI5!}jS zHYZz(nLP@vwz)i*#x#-Uo(A(lrA0vBxVJsWcAC0@0(5^~H0a)#4! zWPgs`RDJpS^f9eA(d4$TcNPHy6O0~ieegN|0m}hl;Gt%V#{N(@GG4Vcg{xFz3l?L> z29737y$`M?>tM5cWIZt@uJJGMtFR$cOF;cf`bB0YmhXbS37sUFBsKJ3S1=B8a-=6JjP;`CNnHd_UVN9Hjz;Mu<->NTQ%Rx}1JCK>ISP2n%qHXr2$n|>Cat>uJ1qt0LQeUF$L)tPm5Pu{8k?IH%xQad`QRE zX_vHoR)vJy$x}hrCB0U^o}e#d_?D6QIBiYrL#Xz~RpAq<20UNvD*E!N@@J!UxO;;w zS@!+`zH0P~eJ3^8e?JQ11sC+7{sJyzadR_jmq#=-hW&t9EC)k<>1iL|F&h?O(>YX& zNZ|(yXy0nr8{sr64Pf9RSSux8Mx-BWMk^(oD>>eUptdv`4Ki<6^eB*6_A)85jo0R` z1lx9~8cuHrY-V31c_1yx)pC?{r{>|BN^1$4_bMJyIWDFPOLgX`+s#I9L!!CGA>rV> zG(f509x4PlP}S#+5*;zIZw8rKHnN zX8gLO94?UL z>CLQQ`Xf?B?{FwTOaS>>d>q+gvo{$PfUMj|?Cv`n`S7f~J^mgqB6KQw!kcB#lJ#|{ zemHrl+$`RFn-id?=dtn-nvL!Z`90>3EVWox4Dmu+Hm^_vw>V1~=lkVM=mT^K=C1*FwAP+GAfrruHxL;=||Q|8U1ltSI*%`o<}@ z%55jf_yT}8w}$VSrmZ3!6V%yYjR+-P$cZswzDUJjg+JpcaQ|h&U(PAW>~4VyRjbWL z7}k3BD%I=nRPLypG22cq!zk%hQ~VkvRb6fo2sr~|NzkoIdm{|~%@s5kO`&0m!00&p z5ScJNOe-M_K5>$lgU$%At`YemcMzO3eKf=nT;x# zcbvdLL6T~~$NfFmBLm3-cL=CUi4&4nJ1TB&!TepdbLCI7pqvT2qdN_PDfPHB;`m4; z6&*bplEOZ^xM*f;!lGdgePRlP=v3+n(!p9ua+3_^*hFs=Zwi|5`WL$2Elpz)k7MX% zAL9LevI-ku;S5+kb7b@Wop^8jYDZ0)uhP~VJWmO~$2C*9ryUN{i9JJ_v6(NC8wkDI zG*n47y*rFSwW`atG$~iB7B5GxwwAIxA5tdN<=0I15|sT3U*fmHZEUphYd&fu z8Pa4VleDnC^jVhL5nzb~cHHLp{NwO@Qv8a#b(9la#gOHD>)yUcp|ZY-cd|2u^bslX zHK3t!N_6OR2I!;O18rG9T;=9NBHb_Ox1yheCUHKRzOmYJ8>c;pg0yT6(y&$*3B%mA zz7C?b^_@ScDyG^C=jU`Na;t_J4#aCg^KLqsO}nL~tc#*{i{n}c``rAv*J2k{e)C#$ zy!f)Unnnw&nkTdtd2ZgSSBZ+1uZr2P5g|(!nly@dc2|O;y6i6Z{J0SDEdfRAypC+; z-5+nN6ZETgR{1`)BJM7QT^A1~Rkg%;RW+l3Ps(|Xi>mSUZ=mwU?q{3>^9bHrP*h{* zoXgdx8g*jmY82f(CGbjjm>0MrVapq}Dl6>{q}G<-Xi~&Ax8dwjoj=a1(}S>|9jMn8 z5S=%vOnJg$y#*2sa1&0HK&S4s7x7vHf8*LXo8;_R9cA-S$CLUS-%Qucy&1wlJ|{PA z1e>7(ASiE@Q5mV_m6>W|z|%vM;?$;Q%{yyJaO&s!ktr;Ret%`)WM9YSizL~g}$eLiBiV^rNj8{+Jy0XiR z_3jMgnPg0zK56gpcFQiN8yQvi0gYz1%y@X-FFL3be$kR%Omhf6p3{pCwOovThO4WZ z2m>NxPWLi)iF#V#O38V{CwRxTRZz$ITk8l{pg8CAuBe$75HQ&6*SXc>l#zN=Z&WcZ zvP90}XSZow>E4#tos?6>ePid!S~$Zh`_-{2_kyWyZfygb#eNpg_HPas^@nI4?s&dM z0!K|pU^wCyJJ4c$zO?t2J`%*>ANDk0UjjRBr^+2J*B=+A#8; zW5-TSLLq4d0wpY#Lww%s+DfwsadgppXtkDr#a@Xl;?||*6@4NeG>CpL1fm=h?D;wKbhH*0tnAeO9&H53ZJ-~#Bh9UCf2MjYC!GfHBYS0U zvK3gL7@Br(DY9}4B3Ql@@sfjQ+<=#5{GcL?NtlTDwTRj0r+3FoWeX@>{mY$VJBK>L zG+e~hGN=01-n>=H+lF>IBQJM~vcNZr<${*}QP?hsf+TBMV zs+0L;UipG$KtvgGQ{A(A&f`%tdz@yU+DzPH9j~p1sqO7r{wAi#zr2>LR5S|nAyajN zXI?{E#q|5z5}pcwZ$wX8O8KN0tffv)|&~vjSE$}rUEhUX((VK zHek9pT|mXulr1Oqtda7i;Mg#Kc<+dcK)_rFj<%tSZzszz-Z2W-S)fc;UBb?-^^9VJ zdnc5$C1B}DnHk*2%U*7flZhnD;l-Uim&1%i%g4G?YLUiAER_N&Wa5_RuDhm4_@&&} zOfR%YLH+Ww42HiBAtH$hL#suk6yq$UiV;69ncsCC9}R@v&OzPIxZARj9}BLeY;rn! zn2+8T>Ohe8Za{1=YO?^6JkCvF^0+6?hMoyR1*L4M`={fdzMDH@n+ekKNfNhwea%k9 zhxE3XcXZeG{8^2;s)CRO!rjpAx&_6H%4| zO|uKRPrqr|K&g^jV!>%&3a}`HMoAYeiO-^A2&_-S%$kv!~V;qxD|u{;wD1Dz2N(@|T%Nbym+Ma`Q-VKvF=BA*dVyV_7P z%|6p|j#?lM`kJYC@Zse1D$r8^rr_gqjE4>6z3`Zr?4|fzUD{C;<9`lu?!!Q&{sN^M zjyv%-BLu^T{sR<{)Jmg!aPT{w!e4M7q98(E!sj!d=s)tPit=27!eDaRot}?C9*&6; zpc!Gk$GI8uGd^WG>xaU51VtOZAE5o#5kAHJ_sJA!1wA$cn|8*g>^ApaxF*hNj=`qn ziDqk!JY`82t_zwj4<#6cka30tW7MK+2f*1DM?|lVeeesXe=Tb)}KFzak`BEsms5K*G zuI}_G7LZ)cXuVt}yW7z`)v?iL<{76_!jb#UR@X_2urP&bf62uOyv*z{meGWUPTC!*hN3~#mh_5rb|Dl#q^7pyJOH7xDnVm1s6s=BM47NoRBjC^oL=rQ=k03yC>%wKoPZy@ZK{iG-%BQZ1P|{Xams zS8a<|TH+?5%9gx6y+=yVwex*)EPY9Iai;1f#jDeP00(ucb=)tY=TA>Dee$B=9bUsF7mv&1iGJ zCZS)0T;}<#4il>4J|{~^A=NQHS^Ce6S*MuiI+V!iKvBUS_3U?>pWsZf%j1cwHArF4 zRV=B#(QoIN$MVq^53%#nNTL79an!eQzOQ%ZT$bB}`lCk|h`Gax{?OxMwJ~b)sGGK* z%7DT_@2(bzC}S%d5JTi~U0Q)h`Mk+61EHf%$ z43ro5g(r@OV-E*eD&wFnombltJQ4TQt7qGm$nJ!iv*;*4T{7U+{cl2Z{od9Sa&=OpVeEn}bT6oQ?B;(F6G(^mvfIS_VmG zO&vAN>Mk1yD$`+&Zk=Z`NO?+-rB1u~bFeax(OI%z*~F%~k(p%X5Mt6=B+)9UNJ$G7 zUP^B__hFVvD^*$=2Ep$uF|r^2w$}5E3Y{!#je54s3f1P_-k5c3rLT*VbQ_1CiVSev zT8SCQdH!gKAa#!RGYo72x*sM@aR?Z2oc2)>Z>d=Nv!D7#pQ$I#x;fBUBo|E0#Darr zr$jD2B9#|mX3FH$g#<103#6>C-PDtg%}2}Hr-C?&>$54`sh&Se`SL_Yra$47z`x^L z4&W)t+8oqN{|yYD?5L+Pa9Aur*Jl-vmSl;q$IKJc`fNI&wUL{LnhAh%1VJ4lxM7*_C zoL$AzI*%dyw~BakrtbaTq7eScG`Dp*B~lu;#k~x*zvZI>cS<6sLVODTIFk530M>N@ z5Lg(^EW` zDj?#Wx(hcm@$J=*veg7vT;6_>#x5~S{GETJJm^)APi<0yag$IYKJ7fWGbIA^x|>sO zmr@`hMai3MR^|MIlq)+%dNdcW$Ie@hjPkXckCU!C^*p_`EK#dPJ!QFFX-X)&d`4nR zThDkG-W;#BqI8q*H@CC_+pVWbyB(0C4{HSP-nG^DJ7yeR2$#xo$2P^qj{G9^y2SLl z?HE%++ElkR@3j1cgQC>Cb^Ar)B9S$mp3u|GBT*}JD&ORz>=_kyUgm742@3~Vb4mUA zLq~IsplxJ|hzkFS3{>=zA1SJQT~?{*7X_+cOFh_izc|K^~ULYDS;fR#nJV z5@N%j7jEh^+2kq5q)5ckkz z$z+LJa_CK~m{(X$u1oSM;k-&|5J&K6#vJQx&QYc8fPAHa%bz~&mwp^%Ql{MiZWPcAnvsk=`^@YZ_vJr;B~UjGMRWZI5n zl%7lHm5Pz4`v!wj6)SIqIyxZnh{s{5Hx}@1oxzP%f&6&AWx)32X?w=mYDQ7FvS%m??B=&!0-fKe*yc`vuwMrUIXOv=)B zIVYfbTUu-Q{VC%1Ew7ANyd8?%CtImPx&pGl;;Z|`wT7wO-&o16RfLD1h(}V%cRiYu z!}#E!@gH1vO`H~ywcBZ>y|J155Ua;EkkZI8%GkRe7HlE>js=F)$ir5H`B6g{uI%|* zr2$2U)V4a^=)Wg4DTG<%yXu1Fz2-dIkn+$vp-w=?^%aS4cbil@LYy;YH=t77Fe_zEQ{=hWmu&(=0VSeN;i4Cupzx?HI# zR+)Nj1-tRyAyG2(*Oq&T50F)fCCkm_?t)G{dwt62WXtYpAwZyXPA8Y2j$*VgwXP(c z65Mx{pXIHc=RTjk;w_!`#{j@%#0;u5Uhg0>Lrmh#aZrWaf;a4V;Qq1!3+Tzy);O3iWOFHopmUyx(^V}@O} z>!U?*=Y);gY0TnxNJIK9tx;o)b zqb>8mXl9#m`0Ef(y}D`_&2L^VTV!^839gwrK9;BbeF_`qbG=!MG{NU4Cp8skTN2^( zU8?J{sM20^0Kba&LDb!-R1ad7+lH@K%57_PJ!+&&Co?2)6C1q)I9!Ue9hS)j`@cM#E zyXZ0zhj?yi%2))qWQC$kxp<4{XCknVvgQXT_UKTG0j!e z;gK!cwG2jv!Xc(ZtX$mGC~ptj!xKov>-~rs(Q3U?`qKUUY1n9|CCb2^30OVZnMR#2 zz|1DyeL*TdI5Ni`|3OW~FOAphn8bo7H%hscc$%`b!54g^Z9&meH~Gc#?hM#Tstcl>DwhK*^_9Y!&(qakH!JP2hwAU(wv z*$!NClsxRBgiTd8{sG`Mx=x;&4QFClc$NG&tY!0cG``xX<>O?~61|r55Bcj_tJHXa z{^snm*I#s~hSfOy62~2F4j-8LYsL1Hz(|C~moO+U-)o|26>r3CQ+Ex^yNL2s%^Owm z%Qux(BdI>OI|! zuua$}#STt>Iy|igVr3|;9UjcHWnuF3zN*}OWdclYt*P&t9WRQH1h2yu2I@-))X?MH zd!SzDFy}mPfeJ6cg}^Y+BI-Xt9_`~yFd;WCLBL(JN>_2zHR)vnt?4QY4VO9P4c9f6 zA<4=S*1ftioOJ`uxL>aD*UxvyMU>Z3!a>yq4}d9>znl?UVGMn=Lydt_^bxm&3tR@X z+JQj^mtBCawSp{iVnqnLIh8|+tmxa4Qe_D7+99U0xl^Ud=t-t%v-Mn!T$J7+=#n+% z+)&U|&U@gxhU5jqj`WDwu91VqKq`A-WOTlvmy+;9=QP*GUNLxUfm_*OJNi6kIxskH zlqj*7KR&QeHS^_G-Unq=&LZFol!}(#Z08cWFCj%u|cC(V1WnY&><;C z1y1jv$rkO&Tu`MAzStVu(gMJmt@w=4!b>rDofjECnM>&;&M8J4V}t?>z46fjkH{okx^!G^8@s$^yAUxm+O5 zN@4sE{e8KH`(|l{Y?BoKjJ$X`rKU3t3l_&@Y$XQ@zSADrj~?@M9Pu2kYWO6jR-njK z5+$A2C5MsitV6McifW9hVBdM$2K%qooSox~b6nV1{jO(U!=3$!v=lhUOF5=jYW}46tn!Wdv*-j1 z3e9F+eQ0uAZO7k63$1dKX4&t13OiI1k54_T+U=R7W!P3K?(jHYl@Y7RZKB&EBvx0l zpXcf`_X3vj=@A`iZsvOebc_%;M7%J0{mRR(?3>hCT=s&{-&i$ToZ(gJhZH>ZZbI4;Y*4N9Qvzq)t*P_Ici2|x}#uCA=DvZj@5S#Z4Qab zeeopLbsKU5oXdyMQ7;>RJ}CBuLY9Pa8pMC6qlXg;?>yI->{`PgcA_(3sdf#zSF0A6 z;nY#4;K?GHTuBcQi(h_aIzK%PIRjrT6E)yx;`Z9=%Z#zl+Me8ztP+N1=OzZjp6f0u zY6!DlJSyyo@%V^#ibyi2fNbdd=gqvU>!Y|JpnDke>DpeXYP@te$bTYS{hi*$qPnG( z-eRbiO8PUG?pQkI@YznBN>yh7lG5#N5QgxI2=Sq!M(b$hw z`AYqpdfg3Hui`pdnlS^T+iqcagC)3Wt-5N7)bAZ189$f&d)b}M)Nx6RpQKg=*4lxBbM>@j@K`#k!Q|yZ{=EhfzFc@F={L}m61Is zQh6Ns48cc^5xx)hZZ%hBD10vymOo0>sA`>uwO(Hor8~8oF8L9i#F4w^*}Yv0?tD+% z1_{VYsz-aBI$^T*xUP(=z7s{+oaVko?b@!0 zdKHBe4hq0bd#TO7x0JLk8TvDoIqrezG!`p3^1L)=u#)Q>Zf5Pk{ui3(053Etg>>=| z5`zkv)m~B86~=2ff7v0Be6@1%g?JSfM?bt#eU-nFr4fEQiXyLry;tL9WipR;TRGzO z%)qdfA_^iVS`?x{G0GMdxN_tkOb($o*bv!)SX%E0LBU^4J--aUa=%olx#djWRw}Cn z;V8B&9_D-k52`76?#}c6+CdLYui!YJ61L?pt>Yi=OoNit(_e=?Dq$^SfgARks6i_= zbn4ftNa84UJ(IU$jECe}NQy_|=dImCrD;!~+#0%aq@CR@%1Q?Iusy#6`%|Q{hvp1- zJ#LJ=W83S@Q}<^-z$pEqnD7Kd3;cXlq;M`6Rz(}-HRJtr;-w+j5`A-83vA#oR+YVt zrrU!v>z6CK6LVeRiL?4z)sx~6!_=`j!0FtA7Ufzm zFP6^f1=6qbS{{j2MWiaAzTI-!s(SqP?xFM&OX!}6p3$a{^%8JQ;Eo)V;N_DXD{?G? zg-8HoP=Io^;5#o9+Mw!F6)z%I+}HwR_$ zG-)OkH5_hYaF9ek2U1?|UgzYaXwV`bO z{6*#yg^2o`zmtagWb8ZGuk5p}Ah8AVYop!(j7VXF3e#a%3ws9=8-~G2w?*Yh)$H&s zW~(NaZVj^>YK8p#WusVs1mo;se#;6hl0?;;5**?i$O0S193_9169Mvrs_6$SqHcK( z1Qf|+_%)1b&$Hw1(rH{vByXjQ`Kqn+Cl%L+j@siwLgn+ASK|#_#fBlC7fElXJQx5q zMDLK;y5?89Z;NoAGB!A_yaMD3r3dtS22o|ZER~cx-Tq8F!1o$rXHd~;yPT&VQi;Exs#2n{zYx8=1P~}@5P2)!8}l1%3WKwC9kFdE8Oz;C;bj)Bq>3z zI2*0bs&2kR$&i(^mjZ=-S|#$EP3S#JAa2GbjXeCERlaM|5Ke-4G%gcb zAanxuOk9ad2^&p^kEr);%-`u@>Vl~X4(ZFhT&Ho%S|gzftQ&%`{u%ng^$iF~<=DI} za%t4K`c`Zad(TFk@{EKM_93TEfn&@vUdN$*UFL+Ws#I zd7D7ERPt+f;h6f1DRJ2z3WShL`H|K&*P+KNWyD>P#^j(wurX;Tck9PG3ERCU%CR~h` z?ytNc8ZU@;fm(fQfBKCRJb02=6c6&Bd{V(lsgU)u^V6kK5t1-)Dh~0_`3ucWgm`)o zNHzG{^XQRzrHtlgymDzAh(A3@ZS@ymv&BOX#Sw}BJs=WAZ=HoMbg+uTR^8cheH@RcMgq7L+6fZ?4 zTjWTI>g;g-IN@s;f|Cjy)?m$c$0=|X+w^SrXwn`SDOP@fy*UkL3H^b7n}5e0en@^E zvOLLjrcn|SgNa4c^a0GE-agM^ZYq zo2;|+z|eA?E%CM87@$CnSl338NebC&XhaW#0Hq= z5#b2bMyAcmW)UetK_j7q?~7MjpRyc84HuiV+vQzq-<-#Ac#{*bF9D@}Xb{2t$OAiu zEP?c)48LiSxhOI*Wbr1L(gOQ=d>_GqDWt=D2Yf}AzCId!t`n&*KRR-OQ2OL2l~QXA zal_y=Ck&=Nq8l=QOFIK}OO*9~kNkqFRnI)oa>FQV{v>*xW87XVD}_)!v{*cCf4NF7 zc|ldHANfSgbGTQjIP?im= zAs{B$zg`+!(`5=auIaYSX^!nK_ilx%du~_e#mE`e$GpoFa{Q*y8X7 zZVX=6cO3TpkmqH`)S~?PoEm4>HkL3p)$Vd_6CSg}WTY;(5LV*V=)%kcL#S=UFWxGh zM>%~%T4r0Y|K8k=rN2yFmP|v_?(E85@`I5?W<-Fg)mvJSn15*at0(jeb3k z1Q6PlcsAwrUnm8#W)kyjv2A$?O7Tu81heSgfD?b%VB{~a!7*X#0PR_IIa_v$lN5vj5TMGr$1C8>zkk{Z{ z35I1CM+z%}A^rsMfOsE-%$~8j>*DW(2WWDxO4N8Mul0jQYR5iCI_8KLUT`#@25&j> zNBfXY<=RyLSF!6*qTUkxBRIKT%=Pxt&#G%x&7UAXjP$#T!}#lS-PW324cC4Yq<&d4 zo|L_nZ+3qp(q;6MDxom11`6D&?B%bb>6L3cVfsb)5kn#sNb$;HaCXh&x+>WM6N77S z)_^IcwwN}qLKeq(+ugm*XL&zz&;DPG(tl`qR( z%7oH4llM;GH!T?j1qPk!le8Sj9P-~PG^<%%hlL*qi9p{y_pJ?c&m<(ph66bb(l5>L z=x8-}nG0y1Fewu7&O{IOS{K6&u!g-T1fJWLerR z+gULM81PnpVDzyl5=*hk+NW;QnS<7oH!$70AGhaZsf5??h+(uEI`}EiNc?@IuZ)y; zX^?m$F+BlQ*gJ>Fjvyr-z^#Y6FW z<2+~bz4g%mbbp4PQWk&cAtNulMc)$L~i zqMn_PX-A92A64O5;&(20kd@B(9ky!#TV-QivBnK7?MW%s&StTD;FOxFjEuJp5y3v(X{VNt zR2qW3&BC3`SG{7L_$t9q&X@`2Q99J$%eBF5T5A{Hmux@auUI*h+I>|*{Q~vIYJ;HJ zUF=G*Lyo_H`vi^|eC_%N05n*mPCoz1()vNYHCHBP)}vmq<#NzV0s8KT5LfbGY6k3~M24^y5dZd>=HOsofA)IR{3djZPY?`U{! zE_%Wxs2JN+fnuq4!y)J()~WP!owij@n;QST5%o$#o5~xM13XpI)5af;F_N*mo;~oI zRkAeQQ0d!-b~|(eHTAW!ct%+KHLcYMAth0+#IHUM``=3}a)yNy2EJ}3#X69vHg$FL zWiga$c4`LfV$fSYSIr=-U8q!#KF;Y4=IG=)mTO3FEtZ&m!$dxAYc;J{I{3JMFvUUy zEw@S!0q2==sf(=^f29PZ(**CP5N={qo;49lML3-$KCUK32z?4IJz@4f! zP6#clCXYwi;>c?j&RVF*y-vDs!gXg?!R~!Ov1gBZU@|cX{|7j)@6~iU@Jk!%EetIz zS^fQ`rs4aCl|B?)J%z|3f7)AE4`V==L$5kF!)gt0-~3AYn-(QYkFX^6*3HRkso}2b zucF)jWM01_#gooQ&8mlV0;RH{iv{e1mj!Iygrr{ijie^-B3->^!c;2%q z)omXS=+YE~seJLLrY_|m>Jn!)`%3@dwMpko#KFe0a3PH%?*_3qM})LiIm@DO%N55y z9j%p8*|b@FD2_3kS`CBa8g4>bn31hBA%b+^zOA_2hYXLb16~BKNbfKZ$h%6TqEM16WS}ED08#5iN zdBO7yvfDP-Le9=m2)BRFh$2$Da-}BV(#46*nL2@rUb|d5d!RbeTT#ATb=`|G!Py<< zN0k-?>F?F*rtU#Dl~i8<(WTk#_9CHq6^lbxqUS5ZN`!^{jjT(|H{htIzx%s)a903} zAE`L$@;mK%pu->=;bO>Tryd*ey<$R!Y?Z%V%x<8EutTmcQh{{T=k|$ER4rF7>tOM> zLIiFY@G?8NVqjljDQz_&4b=2+Z31x9Ab6t74iXTq@RnR?DmM9pK^ z^V9T^F~8@e_qD zK|^h5@u0PmFQIQ9gQiJq#kQ}$Vo7O&h6~t6pyH~0ksiTK0)cn0_dF>1ki>$$m&3Y42V&_u%!ZMyec z$;{EJ)bD3iQlZ?`QYI-d;GMfr>gapP+c+7$+VZ37rMZw!ctcz+#vsa5#vys(a6^ru zN;1+Q{Pod$3E|*(ah>R8vnAwWO*hu;g*Q6>g0nlcO}-terJ!p@BT4-Yi3U?|iCWPb z%kae&{arI~=l?ME4(xSxZP@OL)7WOyps~?7Y0%hqvSQn|ZQHi7g2uLOTitoy@7w#> z^EZrnk1^*suk%tdCX^`jnes6mSMO$ndSm!Pir}cSD5T?q670gugVsfT0A=OrD z7RQbGaU&brRu%dtS0|l>-|3hHo)ygtqB?x1*M{06heWxGe=^{s296=yQqReCG@j-z zl#0cvISF~8I9(WhBBK9q8%Av+xxZaq)}Q!-=J*^ zFYp;BzJ-UBpKW^H6{T+^neKE1#pI?~0ozS4K|wi2ecG}~en}`Wxf)^(Lo=s-^hm^k zxh!CMomFscAY_#q7x@?)%l`DnjL#+dY71UfSxjkJ$q+|dm=8q$09oVmy?4CIrc1sG z@yGiF{v;<{h3=C5YC~A_wP!}vuGCA+`{!xTC^kb=7}Wg+khex%+WqR}lmfYVe$UkkB-BnV$W!T9i*9sA6Hd|W3^-%RYkkzJABh3#HyQR+D#0`Ve|?0=9U zRwie7*eR1lAK%Dao2y9}YeCm>gE`JHyknnm9-XR))?JlD{-Ecnf)!CVT|cRJOMM8V zD0g~ki;q_Id3IVc zW`Bd()1q8HD26Ol|3~BPS1?aVvsvNeP?A5 z9ld!7XRBLTc_LKF7g5q>gPD_f(v1v-L24W$6-*1KF|vBl=LjXp1i@3j*r@ zRic0aP`}U%d3`&-xV*Z)nd_Y!6q5f-S%C4AN@tyZ53RVC(C--7uygnQ4ftj-It5`z ze_w|bum!3j^(SCk9v2mMim9?zTPfGhRu|c3b2?IN>FBecCdkueRPx1|_dcLrc<|b> zR8Onae0@%e)&b8rJScJ%y6PLFtw~>UuySDTfdap{qb>pBAzz`8fm6M>Fp4A46JB?X z3$--c#dyyp!jUsmxU5g#7!G1r8v{C09aZ~0d*@J+GbxFD^)h!BKZfzuw{J;51*Q(4-Cjj0_EzaJVp;!ab521X=mw@}u>Iid3g4%J_XnHOL8~ z_`CJ#$B9i(4T`}afGfX$+aQaP1XUE~^dXaI71H{K1=!Y9C(v z-Ak;Wy=Py)NqFmOwtB(!-AZS?T^j5k;;ZN?RCI|}qiC8$X;Dt|y&L(_q&S2Hl}tMK8c3ZjJ%(|mv?<>{3~Cr_^J?)ePJ)bvbI{F{#f z7}$FVXwwpEeAO*f=TuBE0#9M}8PjX2_>PSkiQgUV-4e^JGa{F0M?F7s4V^ri68P0c z1JXQfK1oFOcrp)7$163hOb#)Ptxncu)w)I7_E3nGZ+_+f0DIb4M|;!v6qR<;KCrU{ zKJ?=`aN39!wlx+JEzmc$vYYZ5OXP+izpx@A5R-nSy45WZjM|_1xbox<>8c*3rg2tl zeuyF^QWg^J6c1>mOuhRiH5r-t4{N#+vf08To;AJ#xfn~lP0mV#~FY(RL z3STa*E$-2V!-J_{<+M~52IDPM;u(fYG)4THIGbbSDPP&~{s%Y*btj}R%B#T4qL*X| z4t=|WADdH}=k6HBe*Y+{m{`MD^HGaXE;5>`*kohNtIJHatmN}DT(vcU>JkmpZYRzu z+zdyafvt-Xdmmo3&yP|*9Se`w#Q1x(h~mObCZh6|0XQItVACjOAt@U@RXQ*D6QcD# zu)A{Vpv*jR+J4ILGa*wD?X`-5I4wF)3JdQgX_wLAgM4ALcIt`oVFQrMpfy@tW=qVp zEw`tO%mI~)t;2akH!@Ok#5_mKWc%hm97VOy!vZz?x6=+?G$MwGLRJglHbzwh+j6~2 zgwf~hM;{V&(DIhnFD@`#wA&iCRCKP%&LbgTBmZS*07f=i^YVS4dZG@|Vd|RK7z(4BQ*P8JD!aQ(v_T$i;%% z*?l+GNv%U!QY4~pNIrN>dZM*a_v>D7m`;;*%d7Zq6lY`84oA_PmVD@^*eiWYk1vLw zU8&5LWAi6STxF=di?YhO!iD}c`3CAAfLvc7q32Ll9rakp;B`TFH$cVf4C0J-m<;;y zHuHCuWM;*{1q8n3G3qVaK!@XtU-Y1T&(%B@;qpqo=bKb)uOgR&?d_1R*dYqf*Ay$X zFNe@q*`h6bnMZIvts^@7rn7Z!EHQ?3=oG51@LAjPiIV)bKt2AWz4>uOb1J}y$y=2FR^h(&PhP%h?C`U6C3nrFYkkT5r1 z1u>c~7E`DRVQGqMY6;!kdq0f);OIi&yW%97vY{?{os@jXpLF*WG#s_lt#ZcHC@L(! z?rxAjbZ96CE+OgnDD>RW6DCx;n#J`Ya1?9P7Ez`wrXFfNl|OUI8OBSMe^RCZRa-U2 zQk22eQ^sWAKVg~#$&Gkf%xkW(#gXVU@*oP(cut$I5CKi^ej*(Vu(XiwS_P`7+t|{9 z77-k3;K!-#|ANC(`&+NPyQXlZ>IdYEk4v?yie0^>S<@+BbMA*E?VU+Fb?A-WOy6>T z@*39wHOuD+`i4_cqz~c3D;9dh6B`NUdj4dj!{KSRNs<-_?!5Qv5HR~!(eu@65(RCs0k zIi+!RLNnlpmYT+bQIps#D|E5glWhw~b(c!ubgvJu{)af`vsEi%USmvE`!gHpg}2) z4;PMlxS$KhUsIBj0ZFZk+`SCv)Uhrh#!Jc2s+*4%4ZznGrHx)HbABi&ymREs9nK%;+>$vcaqP#u zU>OZR=EVtK7u(EXqE)sbu1t)k*L;7T{8gsT?^d##8v*EKd3<%CVZPq?7_T%4JLu{B zjZ|^jI_%lk%SQeN5!FvD1vXsBqc?t)Y3M-TNt)l9C^WBibM-NXxE#4pss`dk65E5< zzDWhvelMcZo_X(OhjHY++hz8rjCps=P|qJsQ&kE6j8oY#-q@SiYptDf9B$#Y+(LI) zBVjci;}L33^5tLc*wxN_-)-d5$cG!4iY+SrpahdzIiHPM%n+A$Pr5u z9CpXIzcdm=ul*orR8;Tu6e@r*YToFc^`~7{&5kK#9qY2U`^zDiVlu2V+bbV9e7Pr1 zo;$?_$`fX-sONX0JC397s4vPTKFvw#G?Wdhn0*)gjGHs?=G$S%$dT?A+Gs{P@An4r?Y5LI5z@yVtHuR=H& z4bzYBgHpIe9ZwAE9k3-unu zDDcFm-04-qBGC9Kx**bBJKHX-9QY=5#P&xXKzgh%e21_4EyZCqU|jPB;6=s-SIOTO zxCkGxa_@b|iR5eV>}hNdqNE8^bb`QA`Zk*ALTxk)C(gXL7$N=Z=an3db?K zvt|1<<8mhGI>syR(kXg8|H%Y%E zmO&tnybuom2GBl@_u@JeTFaM76_^Q0#_l#;evNKyA$e^~7%t93A{8FR2pPD)%dU!WACLGzg= zqoZ6XyX?YGqClA#4sADvkG^y*dr?RsRSeALexjpYgOP2dKM%*vAs5Ugt%AU-4cBk9ARzEzL2|B~ z00}~=9kZ%-DjAwCuFc&2)G_0A=YYynkI|tSrHDDZV3EKf3f6P z7l6anvE~l01u0)T2>5RW)+&w+5w04OV0{cs7NI!e@z<^A7WFD@?7M=RH{=;U9qSyE=;T!dNn{ML&cU8&Wqisi>a9B6MPN$I7_H=R#Ovn_c0DrNS7!4P4#0geBD|khE??769qWP?Ha&x@Lv@phnyqfe5TNZ|aLJVQGcBybPseP_9+I z4U9ATAe5Fo60y!z*ND-XEt021(w*NqJDJxE4EG-rRo0xkh}*W~#_fiu7OD9b$_g4@{vkbG+c)+SLY0n|v5GXW_ zQS}_)M}^#QQnSOTk2SIWbAxM$9WzRDKvA(?R13SQZ4`Rj!3*TCDoSal{mXG7n0}=8 zxvTK1KH^hfLqdPt^8ktXMmb-)$kxdpdb!m}FKcXmlv-kmRZR`co|TPFluf1xDPrjVLE3-Q)Wx&RDysOkR{Cf z{^rdlM&n)9j_QgKu8xc$AjLd8Yo^dDBaKo$M=>@1b9$KXT9j@-uW+o)or}1eUk%EizR} z8L*UIDqyZS=)})QpP5wI{nRM3ChDF;GXCI|Z8ZKa-!*BMb_;8&16PrPIz;6}li#xV z(U#tVgEP9lqQ4E}u&CD4K$llf(s9k-RaC5a-(@UoJLk;v`Tg0gPXDgwT!?cUF;Zs_ zA3Y`G<|itORbH7gvTYG5qG%WCEz8l zhh47}(>JRakZ96;lTzD1nZv?+{LPXDmXZTbaTz5f!x+FM(2Kqg!0V_TOg=7M_nOlpI)6@(1gX&d?3{- zkPi6Mil2zY>p=OgXS|HYLzL6J#RU^yG-!SU%!%_MJPOZFiC+WpTc7twl|v)>^p21%K#nsVTAPueyHJZ7-l)aju8`Vna*#(XVAow$2-n%J!J(`$bE#3^O=Zou9|??qfj)=k9qQZxNM+7bPZI-2DE z%U^j-uwne*G(=fWx)#hCNnLN+$RcJOp0k&gLi1fB;1I&^tkjiVT@tC&4(b%uC!`w4 zxfamm^3i5&h%M9e6%Zv(Y&(!S=QY=Eb+Z4f92Gu=x=($>SuAVo&!sYdgVVYYHa@3=dWi+cat&{HJTR`=lP zfLGk{H+x6jm&$qN%+Aq2B782Hrf`bqMa6|ZS7a#UEpr!M;A|XCyB-lCE4WvI~;uc8V z>mI%M&`3qJZq+iWsoEN0mac(I({SKpEob;~egj1W`OKNkLhMk3swOju#+Bxi#Gsb0 z5MQ@TdXZnv%;vz}x)8&mLqw7mGAKI`t@K3V8_PMy?@C@AE}sUJc0I3bYZT>WO1q}$ z?YnghG#unK=StuGmmqHv&T50E=^vWaheYJ@L@{U?q3%V?3c#Vdm`X57qdo436g>vm z(~p8??U9k23uZ`dF+SN@)dX@vj*`nm2$aQfxF`)d8X3kG(3&F^Bgo201gfX7123Od zCc^zxtwtj$+SL!PtyF4W|FB$Psm0ku8T<@^_w=waZ=HIvyWF+e^fzRcNeit~~( zE()m)I2l}w;JvJ#mC5kByx`bTzQvIGfEZ50`)bZWWr`#{%whR#Z617)q5}(VLBMjK z@n^fKwbE3L)9Hd!*|s6AP4Y#TU+opnIoT_JqY;Kwj=dETeu?QsvLHv+U+!9^a+3rR z-q|qOo0@9|y2n2jw5_BMW2S?qdJ1j<4z=duXE)M%y_9030_>gbLtj04m0 zEXK@>e1}a})^(q;TwN-TIcfHeGSPKcWhIaOb#cX2MxTMW$Lx>dsEF#i@APr1QF4dc zhJp5DWrh9Bim!8Aj(js7j)0P-0kURkCrBbHFpqGpR-Z)PhW3zj8E;9#S7z$EOk=Gh zNW>RkfFc^~jxUn&eQ58|Hj9tP+gyigW&7qK2s)hOom5ET1jjL?h^kEd3cUZB!C!eJ zD8=Vo57>Cr)yok+qlY(l!(~LUc|K*LXWF|qUYMu}J$Cp6K!CdNtWDD@udvxfc?_uC zQCLW1?=O(PLA0?xYzUuftigG~=6QPZSE<^edM(~9+Ja>f#f|)_?ouP0HYr8foPS*0tzNR5j7`xI9{*-rrOqkIi`hcKTa!E7& zbC-8qooOYe8ko}D$Kyq^?m_dMgLxgt*34Pj$r8YFmEocI!Z)snw$zxF%#RckFJ ztm7vtbU=XjFk_QCYQSw!hmfJJjkuB2*y#%2jGBsni}G`qESbiTSqN>{XbcHI-$82m ziS=xq5w(MDshC=1F1*hk>ckt1`>RxLKvoC z``m*pC^yQRZjT?6lhQoOQ?h(@@@d0?&Gtd@83~3NPiOzm$vP-RgO}h{7 zC9U6vI{3f2G_~C)Dr+P3LlUH*rb2zQIYFCl0!H-}Sj)Ik*1M{?`~3C2$TimPe6EQJ zHBdmINk1E>F>?BhA0-S7*UaBn@Xhl*6}BcFB(9vW=8N7~^d>>3i;fB1hZ)d+_fQg( zs`tNZ@{`uuTU0%v_P$gY1{Nz2X6R6$dx8A}c#Rz=GdOoJFa=jjis3Ci7O6(Wd-R;I z$g#05w0G??Sb7kR9%2CGZd4N(y<;I>T=rTw5OK7hW{ip!p|whS-Xr>jo%qp_aFo8K zOo&FTd-gv+&{erIbdG@I1P}f_)d|d{epFLcn8OK6)yprJ&&7@_Mle?{-hQk;8FvO* zF2q^QPyPWPVn_g~8f$qdRe{Zm=ryBu{@xyaJV0Oi3niwq{?;IK<)+l7-Js0efHRqw z2!2enp#`X^0r?nMA*-44ue$~If5jPqO{KQFe?)YHPZyjL2x&E7rxRV_ zU||sbZN{ALprA!b^d0wx8=$Y9biuQE-UiiGq!mn_R6}!NKmdjsz2O>#hQ#4{(?UdcgN&E3f z@2FwN5oHG@TV>_~Tbw!p_bR~aJFBh{b=L9*i4J;F3zvyQ%pj#JMQN4Od&5#=44ZG> z7C@lQ>LqnG$yIPyD#gqe9Bld=-}x_Lsr#f{eH(h95%gL{lsFAScL9T|F@{65A>AnV z@7AV6_~}AjC8PPm0el!?^KBClgiqMjS3K8GqLL&&l;y9FUxDoll(J|y`l2byGrDWZE#Ho z+aY;ZjE4KZ?jT1)s+3i&tfbVBo+D7lp}(%U<5<#l=jgbVYbM9K%1~8NB?z@%DOyG{ zgzFRjG2~Pf!` zg;_|HM_j?y4TIz& z_Z$QV^(sK*t6S`~nyP={^im2o*lM%Cl%|yqV>PsF0~PU8^k+!|v8-u*f4*M;e<|F< z&%cA(Nnxg}-LTp4{lFvF*b?RyY*3&4wLFh0*mIplpfsIl9JOu{h~tWHJJjG3`x9~-aRv;v^=4x zrYAw(Cz&jzQ&4rg1H>*eRGNG8{|2P#g#^R3B4{g{X=2C_t?fRImDkpavd*3 ze{Kgd0~@D7Y;BiN!dKCv6j~GLU@g`651@DI-Q5$4tUrKN*%rGa-7d0)4U^4@`2Jhr zV%AtrGdWIQ*&Q+$h2uq1AAq&pqwaSDW=S-3brId+b+QUIHZrY$63q)|7BjGJ)znrEQCe~XZKb~jL06$$56|} zio~M2{Sx6+21G6C9Ia|r+|Cjg4UMoXG(Jb5Z5H)^-!i{iNDgffwXY@@(I!H66@9Yq z@G{}7qPIHKuT@U9u}vbn5Z30pQBA( zV+QOhltA`lQb6EHL+jXsEE%Ie4u(vhroM%&8ng0%Ww~Frf5w7 z{s!a4=E9rQ_ixQ~4Dy4*XXJJ~#G9bElJFxr!3NT29Z&5)01la{i81!A1Uu5b_cWag z)hT)5N30#kCb8Om^FH0+WgC8!uc8vMDM_n+$Wx#jfy}iniI&Qx95D5l1sQ=k+^AftrciMeBJFyv4 zIl5t)9I4o|gQr8Wv`cv%wrk$S{6sEE=bg-Fz1_^=6W^9{xOLkPsYq*NJ?)`n?Fi2g z+1;?)#CNU~f;=G)_Tc~Y7!-docUx%iv8VTzTVa;dOKnQeeLZ9)=DZ8>ViIvi0~w-} zn5TOI{^FbetUC%Xw7DHxCCP*ShcTnqz{sQ^AUPRK? z53rOOYFSIEs4Y9?9@AdW6)Fm@pdwwNy|>~}tjfg1&J;x!j3-@X$p)S3hE?#D{q5(B zT36F?$o%bQT*!lqj5KSR0VhnK5#KS?1inm3MhDspcqiedH`MHFCEpfE?2-lL6c=VpdfURmInb&ph|co&5kBn=7i~E)+_u zsx(Zwo34IpDfV09`Y8H?Li6R!`xuY`3waZ(o);mtgT7g^C5KSfVGeyfOr)Bj)n1VD zjowZQZD=?Bw+X730qfBTYJg6li`i+KaA#dGPh@HhR8n_wDty7Y|Jb<}ufn;Kokog2 zxsA5ET;t54<5Oky=DrTHsi18(1Nj^?Fz(fWekK1wcTAO|c##vl2#0f8 z`KPcrW6V3ki+Bq$g}X3?<8NKeVZSeVN><&sI|V2rOLZhPq>vcu6a}(`kPs#orc0H1 ze{8w8Qr%|`V{}b_FF*T3c&W=Bq6%4R-`m(^Bm*Ce;B&L?^MW{mwo|{Yt!E=A`|beU zb9f3;q1cDk|Hl}zRXsz-HlvvZPTt=>dG7P3JbX%pHh?Yzpml{b&=dPDVnYBH7F8jwelMETh)M%Go_LSe5mA$Rr_C2*Z&N4C_6~n z8?)c_-@;4>K2DMc^^FpD3yj3B5YobXuULxqT93B9K1Yo0V_yrmqWn{%_@eLIO+kr* zW(s`wPvKxdNLI7>?@%T6FpFd(@*$3IGcZut1+|l}pUn}?3#=E#q67K7ZStClBKO6b%_9)pBwgacoU5=U^ zKQrPrVr=#jNM_nM{$si)STUrCY2^I8RUU>}A~Qy8zgoZn#R0ZLNbyMAn7Bg+NHm`S z0{024HsthEOv^=0`=x3!*3oqGazgHViYlCAxIioB*Y-#SrMz;Lr>Sr)`K_tQMyLN7 z)QW4EGKeGRN5%{L}^YDYs^`55YAE0W}0|G>9 z@DHGxJkLGJ+@95A)9_Odh450!$miu_uL%P_(@zZ*H~f1PSy zYPT=L+yC*q{f{L4QoDVjgn8E_b#Z+=|KkY%GXtVLP&iq?yB_ac3W;;K*%{d#yh}ly zVk{(skDO(YaYyEQM2R~3gnApaW8qxruf@qaUkM$%tP5R%QU?kV*4qwd3;!2Qq8b4yEw>G z;5%9B%>nu&xKadn)Khw~Tx6BjqKs*rLHH0-NRS+DglgL$H9bT+h=nby1gb%pqg@62 zcKP8_78Ssq*XVkSzTU66R0&O_5vNo4)!^^PZD_ZYnCoJ*0^jC)gZHJsHNY}OvDLM4 zv&NLt1a>uLN-iUf^I~I!WRdU;^IArcbPc^2Xq|Ijw68N$3RA$XS5{ljg(5q%gb^7@ zxu@O{u6#Fg>({#6Xs}dA*@b0G7SYp7K%aaE>(`Dxz|xW-S@y_sy|7eyAYfN#T7LsxGe?VD{z6cmtOmMJKaiF!vCQH+grSG#(9Nx(4W>2+EN%LE?_Q*C+ zv)8bRn4j8+cI8wP>ld(fu*8jmL1q7b=GCk7-CG-t3{2Qk&yWH%igI!BU!)A^Y;m#C5&*-8S#FW`Lp%dw>o#f3)G$n z)iR`W59#5R_3!AdFdec|eT*|GZ*5xd9YLAN&#wgtR+84|gnts7Gio3@wfG}=EeQ(W zaG0R)|2(QqSo3n623^h#X=^^N4Az7|17DkC&F}zKY3&M z#Hv#!GPD5svFWXFnK>=Jo*A$?76($V{>SX1{*T!OK>ycc_&*Kj|7CVj{)2X}^ZM#$ zc5eO;v-_V%5k(l4{<%uDmTK+kY8NTF^aeMASMT(1ZX>={1LF5fY@4+Q24UOp>DYp79CSEwFmufZ5b$z)Tf z_$@b3;M{X|O9^i&&g-|t*Qo_!a)SPBXFsVP&Iqt9M9$vQeDlIvUo%1ZBL>o=0pt30 zQFY}Y5lq$6HGS~--j*#+ftNd+ih=qcwgHQMW?o9UrI|&gY*@qJ+#5xmM9DXHN%nr? zuFntmzO8FCWeV4s+p|>_yDZGX|(Oi{#y*$$kXUB7M8lqTn4Vfr(NZg^on?Vm8$;EO7_ROpQj{he_hv zhkw2p@9O2{Ark{cUFhY5Hh7x&t6SFr)rRjn(eCW+HoV46Os9|mq|gs$MHdMC>95fr zdBf-r0+AFNV2FOxb;1=A27)D$xjbpS_Z^{PNW<7?>EKGQ(a9i_%M; zEupLB!B0zd6?Tx?{vN&KLehekN1sFmNv&pqZlU4dK?WDOTRM(a4^DF4%I<9)#XTNw zjYx-yC3sDxq(ABATYCv0=465jVBRilJ(d(WG>yZvhV(xO*P9vd$4#sjE=9!mH9YY% z#2tx}Ku0;{Cf$jXOFpE|L0Q+561ij-^Timm#ZCrjCwt(Ebj{B;&17@=$#>_wQ<3>{fHgm@4a|v^A;CqqBy0`;bsF~fBXgT^Hy)p1p#1yO> zqY(!}Xlfn_h##~~H2(ln)Cq}L{d5LiLl1aMz>gfTKxhgFI?fzmE^!P4hZ99Y_Jb!-rSA~{*D+kE*9A(0`H5Y z7~7wghc-?oP9rUP#xKwDgJj%HsrqjM^W-5OECQ@vt{`iTnIh~=e77C~BN+tXA0SQ= znla>uVVP7u=nkHi97kFL*MGE3h*E}CT3s(A*W-5Yt z^pw=<`um+iwh3D=ezaV_f%GIva=AXYURp2^e$i_i=36hM_}_P-$1?o-e}IW`F(S-u zp`GAR@LV2Hd_r0r3LBV}(lTTB-co-AErt7M$$#erl>d$i|2<#R>wn`53>EPIOB`H( z4X^(%Z-A1cY#2EA>u#!&A8|4luJW4B+nzNI4FS48Y{qhvY7uFA|BeU3vb~=yU^`Es z`nisa>#w?6pK>nz+Lef1oT58`$ueVrtPfJKlDznx_7uO{EE+#c5LPDxM!NkWD5DRw z%6xh5&PwEb?c3}xhc?-?!>i{(E{B;Nn@hOg#+}?~z7gO&*K43>Dw4;3ZyL>NebJXc zJ&K8kJ6S~(nF_(g#OZK&m@JwxLDB-2-#AvHHC7fHz6lkB09f;!>j>pIU;2S^H*Lms z-)3F$QZ6)B1Hs#I^v1k5zY;cd zFWp$!yUf!+Y{VWNOde7%;H2(4+}pjwonz3A&W;H+Zo;l^x5_AqFrMzMX1iE`XpT6e zFXgoKg+X$o>b=@c+&N?<2I{X*hom5f_S1+GWha?P{-OL@mGE3d$17v#_@~ed(Z0K> zp^;Z(fWWT91WyN(E2{Gl^sx9K&>dtEmfS<>DZ4~VT8w>rV_8$kQXlUw~-M?}; zAqz+22g(DM-3Du?d(ub?Pc8)@Wg$;tdor3=Dd`s-kWbnrUQLMR}U>GuU^)Bm*g zcudrDMHply|EYnGtA!;SiM0M?i-Um&!%rgJ5uPI0^|~E5zj9{{vKh!&8-S(bz;!Wk z)M3nm_$=IUY^kI=+kFDKb{%1?PU0o~UF0Ep8+@qFgFG~?kpOrUu0ZQ;-r(B%y zy6^%^xVcatY=w6l2Y#YO&5sgNrs*>)Q~TFSZlE<60BPf*Q_5XgM54Fre75}v-R*F? z#IGv~gLJbTBsQPkdt2%DgA)UMMk?aRzDc=52+!Z&-Oyw8qo7R~>t%dcIwCRK?e<~9 zLnwdn3+}E(Bi<}=t6Jd;r@N%KXNy1I8=(b3B6;QHqR$;m4&IgRH``#_A9`u}2{$w? zN3YB??7F#EDT~yKRsc*wSN!9n zN_uA-Y?4e50vP^w^qV)lM$? z(|iz>f81t^OXO8q9HeNqf^I_8&+1uMfg9d#%~82|vv2eFo!Pc*@kBo)N&u)_vYbE> zb=V1U!=9bSLC*opd8k z)5t&CAPuY9rzEBJziYvLF%DNe?O366FlEoF`d}J3*?1&GZ>_@7l9r@ha!pG(hdK+e z8Q%E!yXw{TGjL|*<;m|~bvPIvHzl;>-*TaY$P2Cz3#i|TL-^Hp_W|k@vD=u}`y3tm z(iNQAlu_=hCccoYQERF;+%hvddEnUY9L09JL#&%Bg*c5WvF&Ts%)M&692o70O9VK4 ztK<^s8HQ757{MyPS63~Ust=0+{vz)L+|U{43++O5QdmLT2p{hUcYsbX)~;RBz?}hX zgS-9yZ%02?yeM||JSK6{BLe9kYkoJlPa;hO4FZ&VYKE2Y{RO1ypY+8fOKdBk1Zu5t z{KY(M3BU|Q8>2AVzlR&0CB_Ob?-_RzE>WurB7b8QeIzv4X8$A`5mtdb((f{eJ7r`PNezT>l`s9>JQ!2j|Pe5(zk>J{BuoZabt`#fmkBvUWI1&TP+lCSR zmB?u6N67W{)ilmbkYf zil4evklT&4YI}AUDoBq)9CT#h{$PiS{`iaQ@?G~G--anZqz%>A{VW=@K{wrpoQa-j z!xdUK4Pr^uG{49p@yZF>)}dh|?;%D+Lk4#qeBDRCQ|q#FbY_9UR{S^-xKgM=!h^`n zE8hA|_{oF=VJ9Mw-Nc6EKIR|%y)Le__2 zgm_~WBCCAa`%da608K#QTNxK;TUGD0Ql+38{tAPut6Ufx$cD5k2f@yo4-l?g1hqt% z8dt78CT5TUE)7vYj}gI|Arn|OnNvmS$Q{vO+!Fc?X%jsTjBQ*9b10N<2(bO_b}j)-0GVnJ$CK9~USL5~e>?I7pxgAsxxGyGIYd z3$z$)eYeV>XG}uFbreAp&LV7KN7ZA)fbHo1h27Z*#m*2vE0hl-$)w$2h(u$+OSZ`3 zo{z=`k+IpCstv2HiS zpy*gco?8l%NX}o}JW>z^ApB^_M*pz=pt?{3K$dseWNux&LnuCMZ#$Jm{9w`oq=fL8 z+uxPNXuuK-UlY9z#%2HnCb|hi=+#bU3tGs zb(E@)1ab0QUp8-w(I&fXe}4mT&|+w0Ao1A17SLEWr1~QBcz=s8We`GvsK#sGzSf7i z$t#sNhYe2N*cTTbC)N;;R66JSLWMu5_&&8@GT}!_z%v`ur>#FY!=Z5yp=SdMH^{nf zRtrH;`5`h{e>$1Wep=D{(giP-M0zCX*_i{P@TqB$uH(ybByd_0MRc`yXYawTi5D5; z2~!T75?8^jJN1^bNple0_9kB^{`3jRd9sr~ zE~%mTXL}Q#Q45Z;I~T6T^r+zYE>zRxQgctojk;A20?gZAdAp4f(8W<~8>ge$8q89R z@JzqmuIW5gnP6Q1R`Vk89wEf6>?fPXK&0gUj<^aLrpnbnvG|ye&Kq@(oeN9u+`5-2F>Re`hepE#W^9iF zn_;!(nF(aLFCy(Ao_e~>*>Zd~DjbWXpv^gHjMD(aASmfn=Wk#cAV#tZD11gS;S z6BA>l9*Ko9B>S3FC?@u!pf5{{V2#r$J!o^4umPUWLGh z+eZ9)z|^&FwGqN#uOInXs(9)YKn-{fcHwv;oYlLvBE7E)(}WdT46iJIdPU{J;XQ5-NDSd!Pu6%qNCVlW=fj@NP)xCX!_047>(3k4?T77 zA7c?J8%P!xJ!=_=5DFWm1tL!#XC`mzT@fB^JUigLY$c^AAmZ89>eqjT(F`iOQK?#J z>`dN?h%zM`QZeo0bvP211xBMM%XB47Ko|-kfHXc-cmduz@R~zG6})cxc;Y+S<~7*S zL$BUS2~$?l94PX6*>Fd54{XZ7Wx98Pby&?xsv&P@Q;RJ1fD?2I*2sA^8f`fWhij*= z`GS--Dvksfw>NemT;>tC;{lUGI;aNK5AQAoVvBMEL%7tP$-Ey zAIHwItPpJpK-w@39Xj*X={!m!Mab922{d(z<53<5hXth<3-%}P1MrrG96M(vOcuO3 zObAm+09T%7M<`){H-HiMDVLkP8a7ZM+zZ|mm&`PcCzTj@Yn%rS7zxq#V;P8DiWKrG zJ~x41f-)yJh(BlH!I2MYgKYcb)(!yeDCr(JSl)1v#8+z1pwC+Az$E|#-wPhQ;~xa| zXe3v-i^;#dbP&fKNNn_cWkTVE3RqHEJ}^?C0NilHjs94EVPqlfk<04%$ccy@Y}UtW z9CN*3Y#}ZSx#_rC@x5a8X!NWAw{_{`>>ryd-~@+zUmw|vO&!ORmh}z8-O8A>l*qPs zvJpep!f!qprP7<={{W*F=55q#0|KmFyj{cyYPLG9)5JV2HH%_esnKHX{JzR~<=hko zhgK&xIGvdVqR5^>m%*upeo7Gne3-ng9&R-jIt*0q@i!&YG1<`20EZelk7MIWm9Wl` zqfydvq5H_RDkudO3RjUYy_@a0P>n6^HR5`>POD3dO@U_wd(dLSVTmTmyBk)Y9~mqw zj?7J{DpN-0>mF*_a#U#>0>avJsd};@MI8lTDPBE1$L|&gS`cV8txXwyQ1aoIt${fy ztWG4tjnoo63tsbML`}&e0HXfq8K$6Wwj8Yr_Dg$Qa>JO4Q#PDCdyhDklT3vndkdrj zzA{W~;wj;GF8=Wr<&b$I{si)#4ADIzTip+4g9i&#_r_6#pgbHm(p+o09YAZNie~c` z>)qcm!^d3WZ8?<#dO|6}pBEav5xb>F>Gph6kls?MW7)IVcxKOWtvjw}JIX?GrD=IPc^V}_w{Lz8I56!3`7K?sium4>H$Zw4jmFyes#QgK2$(SWM@ zA{)+=ZM_^iOem#E>Y=pLc8(nvAro5NsdQ0Zn!sE9MVRfAbWgs3?2FG9m<8q7sY9n{jc{ zn#szAI`r~u5i#bxsE^QmVu&atR($HQDts3~!Kzh)*{W z!#L5P#CLEP)aQ2T=J9tbAgbg%oZS%(Mq{hmzd^ zv7rImv@})ODsWI*DnzTT2R)pa*-I9$ETmx|_0-DkG}zEv2%@65oRWxC>Vt(K8q?o6 zU88nL(wZQ6c+DgVh?I?86Rqbo%7oD98X{}ptH~p{1W4Lxlmxd$Wx>wH46%)h^x4D7 zjffB}r-2v_++E&CrQQN`00nlNAcF|hjzR#McE!7Kian_z;dABY9&mOcAhl3y+qV)U zo<&aik!f|mb!74fnzk%$XFKZWE<#Xz=tEk4kIo8mD;FNYLevLd_lK}7lF??UT}bNd zCYVB}ka5Lh3y*}IM$kj8t{#2dIo0CGsmpiXfi>PI8xvVtHg*99>xUeX3rH;T!gu;| zMD?162=`94y>R5?K-wS^#*f0}Gysb@_lhkXf}zOq&Bg%^jXX?a+q5)!W&(RR1s4Ud zaIZm;tdX7CPR+jGT(JZpWdN@yqj2zI-i6v|Pk>Lc^M(+{cN#~@_xr?oH4CM0D@AqB zSor8d?5_15PmN`>9wTM|{2%FoZW7)HXFooEvqAtM8hFwh3oDa(H)*eg)SZprGrY7& zzycH~+CGf+fnONx>jJBr%~U1X5!90hVc1(8{{UrXfg(uKi1R^^hC_1eP~?>(uWpov zr~~csMrztZZFGuZz(O4|nydiqZ&yL)+(ankg2O?cxWY^$z%@aoQ26YoTy3Cg(zsAo z*{=98Fr&ciJ87W!`^oc&LI@yP6mGoTg|#+8^ol#XZEtpSCw6nWARfr;tB)-BOB zCn)gPpy%BuoqNAgvEtQdL%e(b3qpG&R_6lXvfoLDYc|?KEd=iA-mw z3KK}1Xo16RNLWF2<*y6+a?8lUfqD_;FFLqx3=9i^QLcV^-Uj4gLd8PeR(!IjT7wkg zb0;?L?-In6J1BC1lB}t%=uN698V|sH{BetO(008j=B(#>=D{>X3gHH~KEPWrMGA=9 z28?K`9KNvVDeQ{ZVD?L(-Em8G1b7_|pcM^OInmN|Zxpl&P+6hl9W{tZhb-3S6%Nau zj$941ax^HHzZqxOw)9RvcZT|qvVM{1*k~c4Rh+~1h(#+T z;wTNk9#2(CYAS+YA0b`mWR$?15%R?KF}4fYpx=qIS65rg*>I2&ufjD7kZ(`- zi0nKauEc-bWPgGxK@j-I$KDN>ASYTRH2(k=o{g%v2Ny%0(rWx>&Qhrb2wn+F+0`%w zV{)JgxHkDU&lxh;V#0*&H>2QnP06`M*r~n0e>gb>pa34bg1Cb#2qfoC+aKg{$IwPm zPzIG$yJN;St`R^T)thU{&Ag+gxC`zm#jod$DjLX#2SIumIX-C);Cvw>bLGwu_CQY# z3Q<_Vn^PuVs@C=^I(%~FhRvv(dD(C{L?qW}XuY@tRYrv#3(J40mjl5@txF)f z99dp4iJ=UQ7hvdkV`wIdqK-z?@+W%FLkd^~1Id0{yg^$j-AHd+PWm#(PSTrW%B#hMDM9_Bj&kvhf-{kfF#OV^YGPG;K$YNw<95 z+mK8eW{uh{zCQC|noJIfIsEwdjwZqng)iQ}7-_7=fY}ZFVHWX7Y~A{C(F~!YoW$n; z03P!2lBV1eudX%k&OMH44YwZQ3Jn%6^9gzsPNmA%^^kp`y>@^Sx&rZ4P9CWup3kNGz?658})o4z55}g1#Z!+ik z8dXK8LRouhI!#7P7+q+OHeGKTTO-C-T@4S+#Sz^cmIDj$pznzg!~{hH<-}_HoOGi_ z0t!;7?kcEiXu%XNGKqjxj`V(5T?Ts`Lu$dw?saS)x_S#o0T*6;bk>PJIb<|}!q$l3 zPzJ%0OUMFVT?Y;%hMd<#0n3A?Y%%~;B*V}g4W{{I%9`32Fq=6YJ9JZq+=vC!6|M>3 z-(1PZg2mffQ^z=vmPIZiG`nBda}+E}9$>nA7Jl;Va1k;g?0KUX##lH3PRCj(4ZV8H zDK5l!(7~*$25@9;2-zSM;N*GUBGn*H?1;SfaplFLNOna30DKs-L@QMa#HW1zaL|$^ zrGUJ{q~{6Y(8p2$oP{g;;|8zlYJnGy3CZ3KEy^Our&`y(U&k!KksXv{{WtH35jlA%8%F%S zoPY$4+r2xw;GVx(B9m$m)OWT|$LzE#DL{c{l#KItgKx;pI3F`DQ5MOxlli!bR%oNk ziiI<-Kxp!pc%~5L+rj4+m;;-h1UPRW=NjAqLZU}cI`qqocW5ibRCl&;k$amdu!zFK z*%yai@kU_W4WM~c{XMYerRc!LWF+!CJef>RA&PoBXe{H6VNg2&Q^TRIx2|qA2Y@Q@ ziw@X>OFe}dya;qqR@L2Y?`cO_3Hz# zo%vtcK7~ zdIqm{?_Yifwk6z1!{KUsP4H2lS`rmP??$claTXO&1fa8)^WVlfUZqCD@@tWOn2Bwu zkQ|$XwC69g!~{amd_VbtCV>N?W#Q5MWq8{>RmITv( zLG1f+F1Bh!RluTNc;YljoGz4!ySfBBeL%)~YH5rhKqwFMyt^9|C>vYl)9(ZzFR0j| z$SZF*(VEdgNqgTMzI=RQ!a>k-xjmipGxDX3c}=`?xAr$)1!U4Ot5hD2=spah7 z#K;a4DAxy&E6-YUMc^zo2>63 zxCmV*eK^Zb37A}~5b zcD>YJoCaw@S3xPG}-8g8cC)uh*~$y=1dA;f^to_ zG#!=o#u5@4hFUX;zZ|&5aZ9%-LU7u$K5+?h0foB;;&7DrG9B>2?tpl8?0OZiSpcmK zya}(rID(gf8xXu`Z!V;PhJ-;hetQ_eq0L-Ep4h*CIX-W?QenDA1h2RClg;C=L@AK- z{NpkV8z&hu6%jyMu4y;t2Jk{PfuX_~-NJXQCv-Fd0~(Tbgd}^qT?H19tmjx8G`NJ- zUnuX-yuQa>7a-hvd-$5K0BN2RdY=WJup)a@APWkIQ)qQmXN8qDOQBTIbI$Zoz|A7+ z3F%8chkob-)M*h4OG;GJdzu$VB8AIQq+1x%U1BFWF|buscYHRFHvlal!VxQWk6hz8 zpvR*YdGGV@9#o>md E%m(EP|8wS#<(P$<#xIe0x>z7iO&Oziei9pk8+ON`U|9i zbYkgCN3!E3N?wD(5DDk5GKC6EU!$@-*Tl)kEezX3(}F%l0Fcw*_~&0ls7g(@AYe*@ zgp?XvE$VN!n8)|Pg;3R{F*g}=*Sw{a)Q-WPu*@8(v8ImD-&d??iHvwf9j_ZFD~I=J zVm1UXrsB2kQ!BSEp7l1yBitSF>3lCcug(BlroG+|(eKHLQIz9|Bsea%`0D{FH~66M zM$Ub(fEXeozKs;VK5iW3OKdkiUGw1VnWWJov2NFje8Yo))S#pVmK*XD^{5f)L`Rds zKrMXE;ENE}N*WqRKK0;kksA5aOEl|OpBQNcZGcCaUj%CnIM#$7k)Tbolm7r@NFacU z33OTCE?!H=TQ;}%idJxBIL6K{42$4Am6KeU0H6)B2Q2(#T2+96a*^W-bi*4Q;dP|( z&h?Gx2wHVG;eQ?P8wdiei(oQI&y3$D0YGmLrzSDjvWZOvwcfv@;lQ~>3IK}zCC*&T z)Uw_2(e;f2T9CwP4qY1#w~M+Fh8;(P(oQ*(EW4;J0yU^u5jbk#T^Q64e{KiY;K`ux zq6}k5I?ZJU<9kGrd*`!!QbC&}8<$H{O(=ZX`wo#Py1N#0&N)4?G{8kT26IaX6Dveu zvYJ!b9vyL){s}D*R*G|})w32l&=Z!$P8Wy%HhT82W`tr_U*cG3>4oUgx5)FG6QTs+ zgwI;Q7GA(=tSL0!kH!s!A{v|Uk;1UNXwwLwJ0*`I z6N>eMrfAKccg~~hG;+`@%|-1evF{dmO^Tgys=9Ux9niNcQ~{=duAFlan+|TlFRvN2 z-B|<*XlSrEzbiE@eK}QYD9fRQ=USom;2~cva3?yrfSEN5!qZnz8?n|keZ*=tMG<$s zkKl+z&=${5VXc#R;w7RXq);e_+w+uuC;>Y!UAM!W#f~CLF7X9yXz;rNzji}yYP9z04Iy+skfUKjI7o! zNfky$fx3IhRU1WRD(};UR~Mihr>z?&IT10CP#cHP^ZLleQ<__C%6S~yX%I+>A86s@ zIpo!-qSpGNySW$G`XuB=i>I2HzC?-x!8qDmYm9mGn9`SfL%${;+vSpBta03AXL~Qv&MGA_KF6@?!S)pi8ufN zUbyq;3Mf3W01ocd6K?mcj}d^hEj9(_+ohVMZ6ytF(e1wVUxdLiXm&3pZXu*InwJKg z(}@6F*Xah-D@vXoHsp4jFGZw9;5K|*^p*;e1mcD54!4Kbz_kuUpC>Zw2vY1E4%`D$ zZ=rF}$#P8{)5Yndmz~MOka-xKq2HOlf=-|)0;H)*zR#3I(soU|8zgk<`&?$QBGuW7 zSIO4%l5B`_nmI5ys5EzQ=xR^9*XYDeK`30Hej`7_1$@tCShF`*wc@d>2EW5^#NwA&^-#X?;?`OG1RW=F3{^O#qQ-TUa zh0(egRe+KU&}w((<3?)?H65KW{{Vh6s|_Kp_&bMBUL4gQZMro(H+kP0-Un%kX{M>o zj=pnEFo$09?_zq_tOhQTz5f9B9~OrmGjr`7SA+sf=ieOSP|ZA35htJa@f+nVBy4H~ ztEmz3iW-H07Q^RGhT>Kc=$F!SXIOrNP>q#cCzj87sr4jHKqW#Q-RAck6$(Rbej|L` zf+CTstq&0HU8QqZIZgFw0s0;c5SNpWLrrd)N#@4URDz`6MN_RDy1@$qT-Y~uh4>~& z(?x(AL@0)!a@cu!`vE1!hfX)&CNtH5T8J~H+1xQT7R3l#rBV!(obM1o6Q?jJ>rK|( z=_+Vwnh*d1M0Ay?5?$N<*k9|Tu?1yvI|s$VOU7dr<4)cTVUvsy z0v>IGe0Pudj{Sby*NinFhf!;%m4^7|Se^BhRS_H_`QDuvHCT{Ee$W2^CJxYBkN27)yE z+uH+y+#BU1IM&V_kqc}=HdO1E@8=N}wH+DBt141lN+q_ayH#tWW=#@^gg|ik^?)Yr zi@FtxEW6*2FnG-Z*AB)iDjLvXg}A z(kIz~r*fsLDDc-@b;fMsh~>})3Ujiz8#lA*J*9$#YnV z2%F!$MjV=eY}+GGV)2um+f1ADza8bm=FxLr0S^f<3|46YB%YV|-Vx+rjuiK}myDpH z1c%@otvAqP_zx(Dk9Yz|C%JSr#rMu^fvB?&;9_QOnLwr5FR|Q9gd9OYq0g6l2ahbk z&Gw{pqmm3?;~DjE1UJlS*PpBmgdOHLv9gUN*Ab4*=DV=V zbvI~@h1&YLrrJ@04`d(K0z%Qhi~j&J6Y&_+hpn3(e3(%$P!6Dmf$Lmb)+BUhgocU| ziS_F?e(D;OGCAqT{r3vh0_#_UUl_&4ak?OzT}i#2OasBAls86^XNO$k000MO5!wxR z@M9rc+>tsd4eZ7Gwu~e00Ye&JFIX&-tg&@MDDg=!BLlE41wW1rak%nCdl(0|Gj0AD zNu<&_K;kW;r!R|?-V^1`2cud(jU?WM*doUH5cf*qq8Y!tr-U+E`p99%lIRs^J@?*L zxf95dtuU!&p8`w)3Wn**ciceH+R~BP?*rUooeoKZw#Qf=_vpF^Cm%4L3($i%j39|;o(<|K(&B^JSolbgGcA%y|TYjhUmHgMhD1mLzu zj|VGp$k4n4%DYqWVPgRW7~`X_0JsDfPbu?+c556i3DUP3yT;7>Lm-CkBDdBSmJ;Z? zHrd*N(bJAr_7PD$kaab$InpY@6<8i(%whJ}bthDv8S5DaP0|cUZHAT)R8BY}t%Wzx z%p4*)cz?z)onS|xq~QSQ$7~4&yr|pw$R$d6(h29hQUFc5xc)-0svIG7I(NI3M!HB) zb?}rsaGNJ4dH3{q4NDswM$k><0b+ z09jlPu;r?z&L-L3_{a(%yIuo(FfQxP8m*Oxg#)358*5$V6YC(2gjY>;lHiu+1e0i~ zs$M5ShYPs}!Mn9Ze#~Clber$Ua8-0kthWcKB`OdVw@CF&SZ9!m;CI!>35)`Bf7mR_>U($Dv5=alj6rEp?2$ zMF1S41qXySKRA5~@b-czEw)Ssw3?Y#4FyrqpRAw=&A}imklbdqj-VBEo5-!rP0%;4;NV@G2fi^ctsR`C0NLGoq|NDgAsvxfr0U}_ z(wZ*y*0o-7x{8eml|SFcJKSXjK3{lBb?uXB;8SzQ#uphxI`@9RezI4p+y!3(Zv1@Y zHz#f%7npc>_C=V~sG7HP5g80nIzzvlmyXefsP3y>9Ok*1WsN&p{bvcX1YT1EtV8M~ z+i%VVhDGthwX7!hu<%8H(f||#w@w}8J*L?5qU;?y@$-)iNUvvq9O2QYfjBW_*lZ7O z0S21fT^seUycQ&E&^xcPehe1ckYVk(3#?8t?LhI~&MuC=FpR;07wo)og9xe&TS8Bn z-X82joSMbASc!h*=Z-!wr~_DxEf9y^A(o*9d~p--Va>_NCi$2YC?Mn6P2;RU3K1fE zgH)KY0E^p)602|MGM4ZXRRzPX1tiqP+Zu6#rJ|(e^UHGVz-VL^j&1~`r~$BEtFbse zvC01IA_t&rLMCAA2os3AoGqCPwIR^q$yRe%a09XGKXjYE|xP#OL0i-Ghhn0KB zT;Q9)I7X9GAGW|bu@8c}=y2qK7*P>%I_7UChDZdYWuZ9boTYG03OYhEU3u05N|2GL zDS;dSxDo8{I+l1y%#xP~guTK6ohEAXzX9JjQdzpMR5W4l&u}t_;NICczwrlV} z)LzZ`!dnnVk$Q9v2I5#ZV1Id}*JTJ#=*##?R=bHcY(JT?kYvaQ3*HKV3Qo~l`$GKxMQ`<2sG#+uo1c&rYMVLR!G zUuC%~6yZ6RBVlC z&a$8OEeJIkU&{-IlG|ARHJhFU$!v5Y{dmjE&ODIXBIrqRs@inL(x5($Poi_@B-JR4 zG%W1NMcgc?2n-c;@9Pzmy@*Cp98m=j2MY~SU2i3nA&a7lG(qi`u?RJI!T8oY0hLq` z2XgD38fyX2r(G?GYQE2$RdrLcMs2JA0L-{4jO1y$|G9x6MK!t3Jp~Y zVSFXY;zsnL0Hd~D!ev27kR|L^zPE@$A;gBkqpE9h*^XhLFs|csfT_Zr;z$UDCX^UW zTRd%W8GWRc=)PRzg;ZE5!=RBR_{G*(0#yh=E&N>62hMZ~B~{krWjVu!l9D2bMG3OR zxdkW9zzKl79-U^V*pCTOC`Z3eI8<8b#1O?T<=KQHz*L3H@q4w8fKM#@Thgc$fkha z0|_BhKq!_*<=?!p!4+2p>s5qW^M(M6sMy3J4Q%h6s>;7f8lgkk;mzg&ja4o^he@wE zsgWCv8Wl5ghUQIi1=$V)Znun{I|P~v%5sE!xlpE@kRK02i~x{@Hhhrk`|*&YCU_c+ zJQFzg1JEj35ItNIIju`%dxSuqA1YpyUKYm0@VR%oCQhIg*@`+-$%>VlTAviSxsZoY zfrXGy&Lvg2251!1WG=E)=~CL*=~I&dqUvIX~^wNf7ez{fOKVmugTJvDuE$EksCB5F}|dU|*<667wN~ zS*>Me>Mb^EDr$##r6+7g6pPxq=+1mQd^*P+4_X8QoRADhGSZC2a)$LEg9gX}oCAj; z0M%de;M_Ng^XnECo})44&E#3@)4dSaEon0V5is69m zq@SUjWvORt3>jX97Ley)xv!QGDEhyn9%x7+`8Fs0#YE7Ke+DlfmLHz?L@@dQ1{}T7 z44rV;fO=xgptV&Fhd!n>NfbOkWhO$`OO+gAq6YC!S3Y;!O=mXJwHb?3;=>w zE2B_vn{;@^{5+B_`DDE5nWeW5n?e(cbG&fm%;BZ9ViR}PDO;jXdQXpVr!3LIVhH1$TSbnGTgA~vX`c3C4F=%P>HT%Rn87ueKoCFk9 zeCLia&n09bDqam_XGX1~xHt2hfa<{c5Z-AIz?1uNEfuwuzbANtTFsN-7-FI5seI)n zN{}y&`k6?zr3w0&*dnW0Utj&k(T2!*d~5TN^~gp0zuqh#7_j=o)wwf1!|+>z~wsIFxg5_q9V1c}A7x#szzrBh;5aH*h1Pp7Bs+ZA7Zm(_Zgb5?@(G5_2@3 zKCmhaS`|UCVWWxGFp4N*`2_fDA`0?_`2qXG0#z2hL?7SQ94p!r*w+czKqukD`%ATL zd?rviG{|3@$JR+q>2W+Q!Vx$HvzCKKhbrS8GreK7qe#i}3xcLu5|BhcCKAW`S)(M= z%Aa{{lmYpk1~4SXOd(VbgA-S!>UIM;DB)=*3F9Wk9gBxHtmD|KBl9pbp~N)uV`v!NZH5&?rt zaq8lR&iFXWqX;62=>YxXEawEzqsPuVy-frr=9)3hMdWezr#7Yt7^*6?YphqngHe5! zX3x^8Wz)e)4cj zMCJKI5-CM#Pm=S38afZVQ+YU<+TY7O;wm{`+_Vq81V3Uw*;Ds|Rep;$x9hBwXyNJ8 z4}3U2wSfEt`7=j$?Jq(4%iwh;`?vbQiMwk02tODC&9BlZ{p4Cku0HgSelf|wqGEXx z-D1!}K_8x6PBW6K2@iBJuX{5@^9O#tV}tZIzfwz$N8wf;=lsEmcBA&<`NZKPnI6%9 zADrzb1wkmK4t-?^D2wJ#{Km9WHGLIa^)YfHi8Ocs{j*XP10Nx4@iTq#K7gn6U>8R! z6VBO$2dL{$-a)c>5i+m`lx{0Z=_-DVI*cn5yI!)L1J#W62T4AG$g~OI44dTu?~-EX zF|~>C1V7Qh zv+o_HuYYrZ0NjFwKM#1k>M0l3Gai#t4Zan_%r1@a94!0JxIiO(>Tmd&GWY0D%ZhWn z3;T1L!)HPZ=f}&QY{KvH#?3RWh^`3hQxuHt zRq5JaxM;1Vnhd;$Gn7kYf-9CbY5&Y|mW5KnI058`6kpB_PQ(Z3 zfSuc$v>pYU|#tC27a%WXQnlf) z?-8bzhzE)juZ&sVgrC08#yZ|uck&+aR*B%=baIU2)l<O%pyDSx zJmp4tQ$Tm|gNRm;5inrb(7#x&L-my*$5A4WI{AO`;cZWq>Z z^aP$e+k}o(U`CNjX3q@mb=z@dPM;xi=+scR<9G-s$Z3B#td+4*KdcE8zKmH;a1wpt zBGXa_v$4jjxeaOTy!*!pO7kJ-S$HY(VaP$&@gqMu{jvNLfEZ)wLL5$i-r9hgued(?gHBu0Vg{*j~Mqt ztS7@v9a@+h}ZK>LLq)~q)X3CvL!K044l&#YcOKCi5#%>z$C$@R~F?TIGQ!`;WiV(Zs!CDzHvUu;|MDUUUP-h&RCHToR(MjfGaQF z6^AsxF}NL`Jd?!6s)M6XHt!zxr2>92Jpl9Mls9O=S>|vui_Z-w=LH*hlV6*P=t~+f zp|6U$U^#eQl(V-8=eWC=U}aTV&~X#JJ;C1IP{^zY5B&W z2RHHamcmxU6V}{3mY5QchdEwB_KvP2uNVOx@c#f9O- z&Y3meK66R;Fa>7tQym%{VBvRx0V#ZDi03;DA2?Ml!n21XYTq~=4a>ZEH8+xABJFVN z1d}wJIPN-57x9pbxoZZ4{Fq?@(X14s;QWkb zbo67e`faS3+=bQ~OWesIJ()?e7zzAgwl5vyp)PN#fBBWdW4-0l^?-FTtG>^b&usvrl$fL#00;;OVDR+=e0~79g_T4FRpgbp2+d7st?W(B30)cK z7zim`oGk6k2_>b(38fT7#R*+G7$|879b61;ES)_Fc?mgKp+DCF!T>N3P*6}1u&)dZ z3=A9s782qM5MW@SV381zk&zIPkWkQZF;Gyk(U6cZi7>J8@CXP9P%wzU5#xWu#V5f3 zD+K7PDg-zLJR~GMJ}MF_{{L_I>;oV{0?`1)f&dW%fRTVekbpi105||305Hf`SN{V* zpuiwsO?}m~&hVwrbk8XIPfFE>_RU>`UN}1m0i2tN{fCvele(XPgjZ&3*M7Yo zkC5W$pXgSM*_lit136Mi?5wAY!-bM+Ypxf?dWu03;+fCZUbN2DeVm~J58cEMTd!H= zE+4;+irCQq+*#pudD9>i^dGhz$+nFO!zY3qaB*6)dP9(R*{m1agN%2IkGt0^M!r4A zlaWGZzWh0f4vnlDP+4q7F5h^oupAqDKp=~%M~*{cM3UFNCD6Ol+JETsI^MJ>F|Vf? z!ix6cr7B8aY{a|x&1x~kVngE%0dgw!2!KfP%uaGROd~%sQ)Fb0Ix~xh5~j9aJ)SQ& z)u}KpTHD(FzO1#2Z$c-hD}clxRn)JWQJQ4oY_k7-bDGwz zOZf~YsZ^5<=)kA+K*yt)V|r?0iVd!fY2Ho|wh;7W@8{9GjS!D)T26h!-f<}szGWb! zXtm+ZZ=*}oVsD>!<=KrHd*gPyE^BkERB_$#!>AdSjbdOpE8`qXd_`En0& ze9PMLqdmKmVmsxajE2dSiiGWR<#5*tZBsd>KFQAM`tm62w_67$A_znE^|E)dAhz_4V?pK#xA+)kk@(N4s?!x8r~5J-+x^mhfm)5=ZKd*-&)! zT?{wNuE`)4V`!(`BCk$9x~3TMk_(qlVmwNfP13*T2e-5`YirJ3`Op_ry<36-Eu1*x0C#I=6E|w;%V=tPgtF`k~Dq@MzjD|)y zMvA=Zhk1QBtBl_C1?*$EyxC3g)x(qBRo~%Jy;`n!3pQuBtN%J}T3)rCJ;CQb*JB+& z(p%=cVowy=IdC+JOo>=_k1Jm<7BG*dsf!d-3@?nt5)qX~;@jN$*ja85sGprWejCEG z)yW*!;AymXKDZ;0n|S8UR+xC!@u~Tdeui}W zy@G)3rT6dU+so{&d?f)XfexSO!`L(C%grr9H389swpJO&(w#f+mZiSQT)BoZ_&9Ea z=%(hrWo&7Pl$>{GQ~pm`2JHV@S#a?%ElGa-nMCo5L!%P?1aOb8FCBSGhQC^yt+B~A zm923b{1-PG?RB(E+2&i7sW2_wS!n{T@_dMr$E)*j)cqtMKSJdm?p88BLc>&0|9{m2 z8oY42txk;mahaKRSFR>6DV#ZXjj+t-GKA zBxFPsG(r|IR3c&$1_5+NCWUXztimGpUu!Jn*UAe72HfANf>1I)l`GE`#B+*zSE4+X ztNbri<^Q0{b4Br-vfO>~=Kl*VRh}x8=SrkGRjDsk>ZKrh^Xf9+U%cr$cx<8Zioh<~ z-6mT=3U2qRdd~i(KJ=R0(FIG`zj~pS3LNWH_*8u(;!;>XeFzbpyMSyum_9gz_>-TR(&K&A?m#qa>$s zc?FVi5E(Oos8N&$4()Ev_FuV%!q^P^qe!hU(pfU=?D>+PfcfmKY6NA1q|l4%b>+cv zngb%^8V+U))Ynup8@q2Zj2P3%58N>&Pb6G}+4ny4({fJg)ux{S_D;c$G_NDdfypEp z8tS)}uucCcW&Q1wCpisxqx>DbMjo99%4c_^iTFMcKga}Z3G);hI5I8m?(ptb}(iB1Zn)?Gj1oh{@WnzbtnYJgG&sA<5N58l7!!D%zGmxzG z#?eNYVXu~SOX^rcvO#`F=lBHpoPB(E@J8J2#_te&h+#-`?3e6`6C|z3c98$7ZLf*j z0%h_iL28VQ3|3^j95G&hY_i;GeL{zBl}W9i^1S=VHDnfkdaWSx++mpDF|VD|)?#e+ zxANeFa%@gf9uv97#leUH6Pcq=%4? zM;VO^pk=d1dWb(uG*BCq?3Dp}g>T#n!5qWeurI3XxBM*Im-C`d1R~(Ulw1!#ll!gfn z38!J2S=?%YSzMa9TZzXifdD%A=s^W@CP=V})2jUFCjj?uJ!Ah21%Z~++6*%mo#d># zEj#S#Bll=Q#c{N3W0+yDtGSOuG}yAO^@zmP3AIp4g zux2prqvwsvHDHaT6D(qhXb(lbDfvrI{?T?qWZ90GBlYSqWfHb%A4Qk|O9rLZF^{Z36KaI>2$8SR-=8(s12BIK?fkg=1Y`_5!&);; zl7nhvL1U(768*$7Owo;yjTFtYetJoMhs;1;MtJsNB|wNEXsx3$2S?qv)!HQ^!Q`$n zceW+$;h+P%%c8PIt88STu0V)*M=#Huu`+leRUEyi`o#-gI{{+KxyWG(Cp%qqmvhp7oRMj?Bah4r|vmH)wpUzzsM+%tcI|;YMR1_Wq#g#zuPu! zNB64fgTbAbD6_E~VIIpU=%P_ijXCxf^U1=DF8Eh0ohztvhWL!qqZm00T z{wZqbrZw_Xc!#7`2|W&}4fUY)&7MgK8JWxz1hh7w3dn9xc=RKj+=F0B3dA{=Fm_rc z6)hr_L3PXHyaD1{pGmN|Wi*ypIS0oWzWhBqyin~_Z>5$7Ap=NH9|9cpW-~F%_F5UI zDSJ8CY{#r`|NOj+R8Pu;$k{tYITtWhq!aIioRwdLP*&z>^-9{y zLk@*M5heeN^OP8LmH~1VUOBqTi%Iowt-!bj{WtfkQI%(ApFD_Y)S^NcZgQ+e%LeQW z&S<&f{sAYSTp&7i$X{3^bQt^(mf~@^nexBbPtnUO319MvkDC>BfF>Lhc?)`4pmVk@ zSJQJMFAKRSiOJL=O8rE1 z%R@yulm?{XsW7DR(fy)nqp3Tt8_yf3i};J4FpU?C|E0=&p(6}zpbY+uyFxZbt!AW0Y9Q!!*5OLnH z$D7uoS)?Y{8EnPvM6qfv*yb3mj6vFj)d4n&F_e=XCc^~GBp+)LLxUBJa#1qsLd6ot ztPbnGVuQa>G6$$eH)@_or`w^gJCMv0$QP-~(3pcY4QdVpe65&Dt|3zp-QruY3()hj zA3FoE69t$Os7Pr@IRl4|5qfZ>1UFJr8S<4Y3EwzzD*r0%_z`7Q_b;xF@z`9(D z-Xd={0@giY8Ae2uZND8;*L7_^yR3pj7f^z{GhtG+=50qR>f}qG0#?Dii)}p3*xfzO<2ROBO zr6KcEdj_}GZd~2C)%G5_7jPVX#ZG4;$>75vXRkSbpfJL+ym@5ke6L$B6xPM7=J(4r z>TP&ErSfKp0)Ciw-MPFk-Xx-2u@&;vkJ-xIQ$@-{|DjSK5c$E$9aji%^sC&Qub^k1 zQ|8V`midtRqaU7MW+&xmi{qnBPq;_=b1P=_sHx>FF|ML^c!6hdA-M@xF}1aAAo0$t z%k2Ky>8_zOM9}zMxBc92qYP~p=H*aE9Bnz}9}9zql9QmeDmkJwTu}zaF&4H^{1j@x z>zpcoiDV$~WsVkbJ%Ow$SB_yTmk5MfJeBQmc04h@m_t7~g%Db;2h4?S^PR-vB%GUj z5W(XMd&#wTe&-m54AeRK2*XM^3?vnMb0K3urZh*ZL@L{4Abyg8b1oBSaDb|_ zr`hX|7f;E%@!O9B_w4qo{|MNqtFfnRxr3{s8+#W6LdOVTuRs4E89CYo4*1Vbx6F_D3#vx&HEo)Tx&dDids%kV|1-v z5!Id*v;0`uxIz~N+8U&d01$7Yk_!I)x zB75_qebzKuM_;o4FTFVzS-D{g`$j2hOZEhaP{H~_xK;RDWrB5k+y^3X+!A*BbftW_ z1zm2npW>vd7l5DPRrP)Zhd2#dfgB!iS9tEoFhTY~({=};{fK8j^8%k@dy(_m7DT#% zw{?H4UfK1g$UGKVR~LlZ$yOfr2h8AOlHO({^jtuj7JFv23w;Y9Dl$}=^X$vVSjD}$ zVX{yNxj;M`Wplw!`liNj9N6wNat$g^70fKJS_X?5>2mu-F}(#HRMj}tHkQ$$V2VB3 z7jp+U3g%&_IL@bTDHY)%S3Rg_|1_d@kWxJA8DIOp4XqTfMc_f-$|ribf6$ zHxKuWP;$N&MAIS`(9vladRaT`JX2CAy&^Un2@=9OvtwFw5G5PuM!WGC9!*Srca^4S$+CVJ&A`cG`VT zFl@srB8@#Mw*OvkT23^1)bkjV^27d^2QqTu0(ackUJ+^9qo9rLkC>?;**e%BbW+czp^qC09U>~6m`JvpEnz?>{!UMXlJGhaDJ3+Cr4 zL_k$1rOK2x;qv8_A-8zS-6)d@+S|~rSwV|FO_hKzpyojD)68q?U+k)|sjvBVv}s-Q z<{uK^lSP{ShH!VuMMo8DVYB;H#zsXSqyD%J1@{T~r~-=$YFhrTOlBSxaJ#PU_yG0lFHh*6DfCu z@Z-3mJ7!{ZN4}fm`ncwxjHnJzntkuRS#y#r{0L4Q_j}Ee*WtV=@h#r}%@ZS<5%YgA z5&Una;eRvzi4o2G%XI#~C2{{{TKOyKFO%z6Yw55Wv(y==Y^`;3C**_Cvut5wE`%Tf z&!w9zFu0k% z5){GTHp!q=d9C{Ie}WD`4&8xWTH~16(UE8gRjVbkrE+Mf6~l#B0>FW)*#^Ohp5-ZAVP7u&p4G95Uq8nevedX*l)cg&xp)-c*AmCun$@)G(m2 zwR3l;>ju1uO1DZl=YwwwRy(b@L`VLS3i=1elxR8^oJnBZUTCTB!V}H{00U?v&t*o{ zE(cC1X-`-S&p^gy)qGy5b^r=NiNB!AK=Jx%s4DWYk zeBqSI4MHF@T1Pl2b6aV% z%2oHD_7c^b&9cHM0o=i@92r&@+EiZ^2^-UfD0h20X_PRLKRC z5Gd31nH?+KGu}M01yZcON>k)NN?CKL10QvzF!BRGZ-af|qXARePTtDfM|%g~KSlk_yhn-Ip|$f2nOjbs4>Q08-qRk0+<60G zl&AnpjO&JS;Dpmh=A>(B7d5Fy)OV}+o}tnboVMLd?}FVTL%3h^&BW$g7b-C*UCUi% z&&AeUV1SVM=|gM=9t5Lg5k=8^$EcOq9o3fe^cmJa8Q!DsyRg(sdK zsxwSTO`LL|;CubunqE|i!Zg^IA0OQVKtw|y+CG-?RCcX1$26C9+9c3R_euS?E+sJF zR|JlHQf@mIS702FC?<|4AyV$PXS!Cp$oOG9JI=+%Djib~YzLY1?MgGZP|Yj!T6*q$ z=3-RdK{vqOZ8L|sh?n8LZcrdKTNJy2jQbNZt%Im5Sgw4uLfSrR-Owz^IWy;;Q?i+XRcMJ~{toBt8 z>d1AUDyPU5o4Hj2++kWBzud@!(zG;$!YpQvB@j_()Ask=q-gbweJ&5g8BNlYVuGXGa$lz!#A5q@P%5H; z@TUJ*qWsnUq2314h>2I)vumG0pyG5+3}Gaw0`z|kIUka8cADFs_GJ~H7< zYd|!}ywZFaXG9viBV{+`Ce<-r5^jr$3Ib#i1w{fx$NQyPI*Z7_(K3>MrnDSnTyQQO zdKzjk`9<(f3E7RUAD$27atvi;GWAIW%xJv;Px*qr%CLNA4<7{l`N4A_rcYG9B_L=O z(|Nbf>=%{j00aDl5Z;jCJqb7xuTYP(rD|jtD6E}G95r6Le6HGuZwDgEXYpv)7oIif zS{Qe(X)&?-szxtHA0T@4`nt6NuG#Dt)p?t49h1bMk;CjH9V)#}bFEI6BH)6)Ba|5> zB9_(6*x|93k5EcJ=Uz#{XWYW4-UKwr3%9%ebh}6uf^+_;=#HGH-mQCYpb_@^aF5ej z-!_Cqrkdo0EK%C&-OQJ)&|R1j9S*0sW-TRlkyUzf*r#K?kI6e zi?qO+(N<18!^cd(sp>Q>HO5yByU>dvuP*eH7H@J~DlSRBpBnD)yE50>>c{Q+zOFAK zGbIi>7d8@jndZb$x$;J`v-*L+pXZNRVdt`u^EQ7aj&2Lj#J*19eN3&^oE6o1Ccse% zANEIWug*A<4A$ejV#d6-=h4z@!*e`M3Q23CrWuKwJo-V9<`HJ^o`+`DJyRP)R zsjTYQ%Joa~;0^M{oqH8f6Lw)MaN?N(o$R(4AQ@%HNueA7X3iWwkakmNRm*a1yFU9? zjr{3*XQ?52O_$FD&=HcuT$G+#ExyGZ2_>vQ59^7Nwg!3W(@&0ueflO;I7lqE+2xz5 z93fzu+;TVP0{pJO$_$Fr&Wt8+v^#q}6B3 z6Pn$9rcjH$`xSy@$s#dilo<+Q(t#p)6y{jQ=@M(MyB8ZFGm zDBc!Y-)!9A@sX4SUcD)iW8tdKkWO#7t|5WT0g6oU7&q&>&-Q6Go5~vwB`4xX&0eTP z5GICK5nDw?%_>}M-l+vAN{Ee-2-uUxvLDUl#a3d1p|Kg**fUI4wPOyxLna^Q8E`)bOUrd$00I?s9tBgx!e^Y;@Yks(%t)k%p7{{t;N4{{+7a75~r zxVig%43jEfK6(5xoVZkLLrg9{6y8@TO;5fqkd8}>2jh^Imc<9q913PQ=P5dpx}IB}x)fMCAGIky;SZt-Dx?Yo58c{I12KKmZDdn9xoi0LabP#53l zls@=9co8!ol00_dFWhYQ--224r6}9r6?K&8VNmVH_||zaYnIZP8vb%ma2mXybnhfs zxoNwG7WHRHBs31JpG;O*qU1Bd*KaOln{kMe{R{NWw9LwV?l2BLq*bbEuhxy+Bw8OY zy01#io-g?L^y1gK6j;NM`QWVXxV+FQG`X}b3LgY>!SZ{jR#pnfCAjrmYTUUH$-g_< zfCiA1m6i2dM5o)X)7a{LrS+t3Lo<9ys-xDi2b$J$!q|cLFp4<`q(m0f22RNHIbW;gFPVuT)I?9GGix{KJ(~k zj?vcw5p1c#IC5cOK7p>UcH|9BqXl4@e6z39TKSM)^1LZ>eZ|n<7 zL-mP^ksnsX!iHJ>PupgYqP^7Mq9VZp7p zsu{qGLo7!pYh-fhjrM6-C|~pS1$|al-ptDVLl(O=(n_ecJ=D7JscHZ%-kITQD*$1w zh{Wv?Sp%9YnjCk7jA8A@ReK*6W{s&ZB6v%-YWih1!p>tUlfXco{Z;fkKi%53y8x0l zJm})tf=Jl&R>st~*2d8eJ6Wlx<42QP&gv<9qNLZRcu2VB`Z%9K%NaOdwx zC3ubTw{rhGs7Ap$aIknkuvG`V>8eEsNou;H-lyU^_7yYFNi$!w#cLp8!BqdNG9~#p zeA%PqCkQ>n2HU|v)%(`K5Slho!CapJf}#6VHjGbz_Xp*Wd||D-~2q>wtWmXTR_V`dUm`^2+7T#Lvc&Pk?i2tC=R8)>e|du~l$< zU@N>S9x8zggLnBK!`SIUo~Ns@Nj$1KPUG6w6UinSMUZ@H0x}4z$gq-{y?xeCK*(=G zt`sjY(nN5Kh!4(1{~gsPEAJSq+JsGZwenu+*g#{laMC2P-hRzWc+H@b)hhu8nd)xd ztc2$Dpy_w6S#n&RJNGjI@(O;tI|UNZq4VP-PeBWslnkEW?(2$kJvZ%*1d1A{o_Z^j z={=lvoZSmSxEw?XJWdU3CGLX?7AvmCitRM@4bHPAOYycpGF&kvvT#^PvmCQgv0B_v zAv#}goz0Nd?-Q0R8W}TvEQLe1oZe3WuwA0x5GLFKeu8u+xj(WDmWj`Iv5Ntnr;6}e z>uyw_(5dA?ZCuL}=aTg7lZ?_xvqFaoSiMn2Qw%)5MN9n%cxt`cSQQUpROKS(iu+QD z$qDq!gv8n-U%s6hK zMyf4_c#^fm6)9un2Sq8r5n|+p5Vop07Y93oto*7%4f3P4m{^r@ zn(3xB?(T^geyoWZ7PABy)DK4M)vA0we?P)+inm2jxTh+yWm+6 zl#D`v4-oUF?hb-vW(j`gWVf8jG#CK%swATkZ)*MBhB5^lR`5O7@pg}jS6(P){0pv+_(8@o?9`@ zJ9&~jV!_+)c~y$E{%Vf9X%3-b{=0^sEt=xD1BQeXpt)fb0-`+cLrH-?%@;UT>{_5i zKoov(Ja)<`X^YPmS$QcfF9A*Vd_iOuy z{0OGM5r(ixAn;sex+T{W4X&YtegFGZU+H!$=?LrD{t4s~^T%IG$J^a_8M%wYx(zCQ zpYPo?3oIjz#xyN%tmI}_HrWN0@}xL1C@d03$Ia3Aj<47T-dA1LY2bP&$bQJ||B?7V zIbk2BW+>`^Q*v18DwSCbWB%3f*R9)7krk_jyEEtiX8Uu_H9wB~-<1D%od3(VCqnuf zao{gU>VM*cfshax2@M$(i39}y<<O)EAXf+I>eG92}&Sev9r>-Cqvc zj!2^?E8P9yB95#JGrfl-kcwA|S zalByvq%SE%Z=yHS8T0Z9`051}65uN+@5@R5A0PeS6ADDb+*v{f!P;v9MZdUS1&5vg z@%a9A(jyW;R(FhIUoj1}Pt;c35n6YQd= z?)o-qqT$Dy`z<2U0PNk^42G}u99G!#OurT}vH8en^2kd__XMufLm5EKF@*Ln&B z!_4zDOnyaGpzz)K2K-W;4NlSGCn&K^I%w`!7EW=PXb6OyDD!YCOVG7wi{pW8t9L#;nOw{+^q&rXJ%P!Lpi3Tq8N}f#Y$C#z_AZen2cE~8j&qDHHX;+=^!jfzQ!1-5uTm3 zcV@#kz_QdD7QTC_w_>gJ4o+pzv!P3hd{$h?s&7)PUMX1~I6YlYscGp9rt73+wiHoe zyx`0NhTBBdS#?{FfQph3}H41O1(wVORVl-*Pv}2z8a&7Jp!FZJ`QQcf{%EuY!x!$ z{cMXyqa^~P_4$&oL~RltSgq8qv7!Luey{>-Glq7d69vMqIo82r`5tL9Ee}SG%j)>g z@ogG3WTPi!3?W2pdsJd)LIZMoooI>WAxb?-(dxLF#=4b1V*8v+^X8$K7f7S`7zHJ9$6ro~3eCqFQXw*XcmKT=9H;u-wsNZn$u<+}K!l za;I4I8^s4VspL`*E!;y)$7Bw}h`GHuYDr@(yj`@7nHoBpws0EFCp!kCJaiztK$(~~ zSc0zD#Cx<|ddy?ZcefS}6j!S5Kxw=ttk2zN<{}5{l}ooAuPibB7B@ zVhz1{{#&ATaR+y@XECVJspdABbQ;Cq(BHY2(P}exz)&O+Kt!MOPk#D!&mGhn)ZJk@ zN!r%s8l~&t!M#8sh9_ucu1206BN|I_DqY7J(v>7T+O^}(dzb>du^zbncD3vg?{Kog z^^p`GFq`_2{zIIaa9zaj@u$@yg@7da+a^+tH;@ZXm|bhTEygxKN)b_yr8(k61BN0rUm#?f@=erR5vjU-7URP zA7PYA&ESbkLRHi$54AJ`yFxpN#k+rYr{Du>RoM(mqJCg%kDs+P?EUm=l9aD2)|d&k z)}-Y`S8QQGQ%EE1r2bB2%Fq0 z9W0jP&aheRQo*g=xtq{Y3V=css0I_tJBiB!;*K)Rqzp{S2CN*hSU|vHifsj74b5BH zD{fwJPVJ4~?M+VKcwc#iA5<&4F4nX|PJZ<{*`(O}g0B}NrPcwR%*QyU5RoH2CeGqd zs=A?PPND1Bsmj1kE2}Vkjgk`-2p9SaqD-J#Wf-1+MJvYh@y5q zDlewZU$&*N4V8n)yRngPb)h>{aB&K_`38+5?kl$fIE7i4uvyg4j}&w@J_D=ef`tP{ zZ~dX=qfN4`zVq@PLX)p~~lKspEAu^;1AcPzPZQ4-GQ0*IzMsdug1t$-s z;C;4}kxg?as(P%BQ>~Klre`UAGXA>t&U+?ND1rSH_{D*2sG z=Z+tvG8J&{;liJ2R~;6ot2#!ZXMK|_=m(h1$$;@4eh-0Gr0wdDg)niQSL$zTk&;VU zG6z5hR0UcJOErFVKqGH3J8}mq7KExzh!JIfLx?F-2$&LmfGpJ5F%n;ZFDP%5S0_|y z{fC*B6$`qd0+mRk-$?Yn#O0=-7t0j|JcRbFNXrIrI3r@)bpc)%i5~G98e;$cFM}kg z+C+6I%u_(Y%w%gMQe2vq%MUILwbL@=PP!=hm-_n;=?o$|tS!U-tV9)*ly|6-X80pD}62bDq&+cs$Sr| zIoQa%C|H_L~E zb1<78HD8*=C{gRph0;}?>AVx9hFw0k8=WO)Sp^oM3zHwzmD4Pt21ZYG+)T$KbF4gM z@F$6$4I{pet8f00*D0yjGhg78Y&8D6$r{95&MT|Q0O6lCd@M>`!Y@VaNa2ajs4d|| zZI9&7d?k!!o&ZhfU0`1|YZ}W$PPtavkrG;j?O*_B=iYD;8`HAD61DHm&;{!gLX@;+ zz#cg~(+y?wtRDLfuAg5!^c~=s0dY++0iCzPh1aUOsRr9>?~N_PvI#*4X6+q1m~#ME zc3S(TY3kZ_)%vy2@BPddF-!TI@GBa9aYirng))9zzqKY(c}p(=3|WuB7o&;Mxb{+~ zmUS4CY0DZmV096dAJ+`D0Ki+TJ>n|*78#`vq zUb{wA0+mQfj%$s39iT;KNeUs&BEuiGO+;T=^INknA})8whx2x6x;{!n5&J4OI_7rY z-r|Ntg$gTz%Q~KJ3^akE$|IT8^pYDO0YH-;9n|pGNz_9gf}K&CqdWczv4?=)V%PUK zjP!tdN8P;^Mx^t}3#}d(*$X06^ca1*Y@~7t)nDaCys)sld1#VcYO3gHFt~_$u?Cv; zE8DYZ}&ZJ)2a)Qa`hb~v5|u|wrp$kH*n3Y zG>6m9epj}F>#p^}-^Z?$O4+gARm5Ryx;ysjjp$IG9H|Kxv5`PjP?Wf5dIBjelaKTq zKhW+YTP}?2;}RtffE_sg+2yqI9m8|QidFZpxfix$JmR=pY0?X+TqY{bJx!a-2o?y= z|2y9(6`{%kG{Lx!fs3d_%3MQs*eBpzp?bp?VBrZUKxut9l^$FPEO1@Sj=_C9hnCuhK(5E{XVU^>d zU(-c8E;dXih6<-Z$f0jfraB((mGk@*ty`5fK2W0A{RvQ3y^OxpYoF}Q2H?*)CU-#h zF=Pf$`1gX&p&a;$iQ%ZCHHv<{Px||BZ|pw|eM?vh;6|sg1SM*oSzm#6AWlN`7(<4N zcJ6~q9rsqf3~&zazrOn01*3R@e_-Pa?M3hX)YFFOL28_|NWL6bRM zM*i~ofsWBhw*lK7O1*a^*_8HH8K{t5n+NMHeuBhB{{=gx)+>Av<30;4M$0xaDw@Yk zYf)6;~^CGgGER?D?F1Pzo3uLiFfZMQXU-j{BP3rHPTc0+VP_r}Py4q$afzD}g?IQ#ehS9cQ3gFJA z6-VA-iG+}TRw#+&E71})^icYfd>+}4!xn>ulUQM~sIW55E$#bJlA3!33aVl>GX4gWA!nM@WPj(0(?mZXK;1_A~4wNVE9jp&H^3F3G)=I^_`{{ zE(G|Sbsp+7gM$&69pjNShCbQA@*Hy%jpAOzD1xTJmyPpRpgJCCAK-6b3ma(0ZBfaS zyr2_Mg3hynEK1dZ7G=b30M)oEVj$IU1}&=TG}#G}MjO?Tx)tkKRecKJO~t133%N!Y zA7A!Kv#s4|EYNKmqMDgYX1tm~`s2aXtTe*q{nVxg!V*aLBSm^StYxw z7FFJ972D41%T#Ec;H34mkp^#%5wA#Ja!sbMt-A3DXPMMJczw90QgFqcT1 zZZprRM3c3?X}SD>%r6m5in&Yc5I8Qjj)D1->jm`I0aS&yG0Q+nGy%-)Yr7}NO=Y?t zPo$q-9Eqb+$#r~ZdMHsXBu=_lDj} z{;rh=0KPL}Ed+8kKxoLfw4vioi_d^0J$i>Tbc$Y>_@T`UgKS&$OkctSBrRV-J6aK) z!lnwt$$I=4A{*!7Yf1&nY~Lw%ngtZ<(m>l%GEgFlvw2U6EVhaLezay+2& zy-`<-T}AU!39|B}X|ok?GTST;ECQ8qNqTvK7G#|MgiulZ1$%oH+9jk`FA^>N$jIkT zPA^OvsIt*9Ga62}SzrzFJ$A(`dRbNbr;;cMh)@z7o3W%c9U!HK**qZ1AkIxFy%Uew z#H~&VoHoyun0A(P=oqO$-EVH8=pM6os4;9@32$MMVYi+u_{^zK2^LZ6D@gib!`1DX ze;yohop(aQ3et@dw1%66Zg&+j2fe{zhZf=!AT6y!sHT(0)D@WMrzTX#-#8R2sLrHB z*1#yGW`(3`nKDJOEWB|aJb)5!m4e{QDaE98Kb2UXv*9~q4IwnHd{Dm3E^fhqx-uE% zYq&32!#aUCYMKeHP2?~ly_vngAwwpA?^h}QFeL%*Ctg5#3fF8gH}iZo)|j+bZygk+ zlwgJV^)GV^&xNYo8ZxvvvY!ejkx$kc&)LBOkl#G+>xUZ8o$A+7sGSQi+72pDv3z4? z7;jrBtNK#Q!fKe!+8vMEp>@+E;_K=+YV|Q%f5EE!uK+Uw%>6j*rP54}m`i|>G*ymk z_+^Ezwf_J>LmXY9pczrs&DtNnR#yUo+J!;2wMD9++V_=}cLZ*-TT!(d`HRNO1^`;F zkLPIR5!;w*WL@K$U>2%^b4^{Rz|zbw9Z;;Tg8U3EF082ard+-ro`DVO-=KXQH57SfYrGFCF1178RVW5s9Z170s%vx~nRH zsucp|{{TTk6x&v8OHpY`8toNBEPyg-SffiIHisB&ruCyOrSn+U$yuXaXE6;{pwv() zkkU1Yuu<$6=wMaK`Dcp*u9tB#ro_T7olGwCC)rGZ!33^`o^+HAu~Ku1YRz8t^fxHg z8cG>mh`_oEDXarh23lP$cL9jp)mgwZ4jENvNV=z_T8uWCYHzkToqZaApL_${K+vJQ zH?%#Y!xtK(<~J)d_Erin-1DRXQq_eHrutLG!HLroLxELuMtvx|J6I06D?49_TKag@ z9Iak8zx%6Y91h-BP+%1rC;dfXN_gYxF@rNj-G;Q*KQ&mm&4ZUO71TO{8nR~fGZ70S z6i1KrXOJ>R9M=>2r2efxs!!^Z`lSA;1wd8M2hx6QfB@M;z3(($$qZHyy)oncDcgS( zt)&%??)3`0kJ?oih*mlsndhpF3#XhfE`Zf`z|>kpC;%)D_FU&yI^H6*?9@7MScoad gBEfjW297=fRmR9Fs|#C8%td17T0}O|zxtQ|*{UiXU;qFB literal 0 HcmV?d00001 diff --git a/images/6/f/c/f/0/6fcf04999fa9df44853f1cacfa529ed4d0d04b1e-hoteleden.jpeg b/images/6/f/c/f/0/6fcf04999fa9df44853f1cacfa529ed4d0d04b1e-hoteleden.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c36cc42ff7a8e91125376671e57d26185ba0ae42 GIT binary patch literal 6940 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 literal 0 HcmV?d00001 diff --git a/images/7/9/5/c/4/795c4cbefa68907a06a806f2ba6d001174539ead-e1d103.jpeg b/images/7/9/5/c/4/795c4cbefa68907a06a806f2ba6d001174539ead-e1d103.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..7dc0519f8957a64b0c7b7b4a5b346c3b375f62e2 GIT binary patch literal 8130 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 literal 0 HcmV?d00001 diff --git a/images/7/a/8/e/c/7a8ec963b04888e955c66964274ec64a53d05a18-ethique01-1detailweb.jpeg b/images/7/a/8/e/c/7a8ec963b04888e955c66964274ec64a53d05a18-ethique01-1detailweb.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..37a0e4650d62f9bd2792f739354b6093eaf95cc0 GIT binary patch literal 24364 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 JhpXGi|JhBnTBra3 literal 0 HcmV?d00001 diff --git a/images/7/d/8/3/8/7d838a22dd616420d49d4563ea65845c1e050d08-2013trajectoire01.jpeg b/images/7/d/8/3/8/7d838a22dd616420d49d4563ea65845c1e050d08-2013trajectoire01.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..10d0b3447879ba6429c6f6cf57c2960f0debb553 GIT binary patch literal 22149 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

                                                                      {sZO*%>4Bz-)Ov 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 literal 0 HcmV?d00001 diff --git a/images/0/c/b/b/0/0cbb0f0970d2caf5006d6fec7379d32b2a01d2db-alibertedepenser003.jpeg b/images/0/c/b/b/0/0cbb0f0970d2caf5006d6fec7379d32b2a01d2db-alibertedepenser003.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..9fd1c2de6559e3451dfcb303d3db17dc86f57d0b GIT binary patch literal 34817 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∨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