Description: fcl-web
This file as text.
(active) Revisions in this set:
eaffd1deca89d08f780f34c7788c28a0ac49b939,c67a44c07a699e9c70b71f28370f875e1e010bb1,722a37ab2f8b008c750a4a143d49aae8563032cd
676c9a7bf6e181662c5838ced35d0326fe5da564,bf2e3bf51a1e9a5c2156edf112fbb8a83aabe42c,af47d108af4e289f6018b2a386b9c96b2a65c12d
da10b8141c184e592b1d8d4ab65d675c0755fbcc,6a2f596b8eb7efa8fb672451a7afe0a00b5a03e9,7ccdcd3d14a35c350c5463d2488906f66d26163a
8fc1bc276f14fd1deadf250385c408b0973074a7,964a9839d1ed9a4fe9400ec95ef0a0db563f0659,ae1c809a2de4d326571b2f086854feb70c35fdae
410916ab6bfad9c66f396fb94fef0a256f9610a6,c68c22e9e88413abd80866aa3293e553fb0c5b95,ed861e5343dba6e3e10d75a6db8919deaf4b350f
c64c0e617d070de85b11e171d895886c064b1bec,5479663e560bbe906bf05274b74cd168dac41627,675312c201c678c8446482f7e53b1209684b45bd
d502a38f2044a641fac2eb94501f1b49d3b698a5,fdaa1a12d03ab0af27d783a6ebd8c989673f145b,40c359a5510fdbda573a1eb75a50977382f0996d
f6c476ae79112ef1866dab22cee7c307fc8ec98f,5bf9de22d696143e5e25a350cf407312603d183e,f7265bf79e0945845c2b3e9472de654b5a2c9c35
181653162cfa3807e9077176b73800231c40d808,db0d1501e0bfe9166e94f8eb0204b31023f92940,ab7de664719e8421f17c32307eae700c832f2787
4ac009846c7a61d2a3a9965b6e6fc7257691d427,a68a6415f2f559afbde579f1333043090ff5db8d,bb9a1af24849031928f0db2ddfbd1991f91792bc
e6f40c196a4a76aeda73632a67eff84f56c2d7bb,9b8a6438c786637768ad435c10f5cf179b0c4760,bfa0c60e7725ed63f2148de95c4651541716515b
56c3b5b2cd0acd8f0aa531049f7d5b5fc86849e6,f6587d950520e36b23d412c1b370b861e21e62a6,df6d2896931c1f7b9bf9f7b401109bc61dc0fdc6
54e418c5e87435e6e1889d755c499da4554a1562,14dd15373670d02e90897601df347344a3dee709,1083746abf9bd7ec09161cc0819d7ef5c5541d1e
35c45dfbe5a1f1d732071ee4e812684ed1a8e58b,ae0cf1b50fc3f480dbed602d27174f84b77b8ec9,8c5446a03ff70d74427b933ca13c9519e141c0ff
54e0d972783824a2172596154f73bea1d3481944,5dc1d5e93b04b6a5d0afe4260fa2b40278ec0f0d,955e495c217fa558e713aa82cab81ddf7f3c4ea6
ccfb34c518291419b1ba48edbf651335b8d4f8ac,008214ca15812e7f4db97cc9e1ffadce94d68d2d,84c2a0d89e1de298659b7e54ed7cf1b589493839
7ef2012151438c314d82b279c06939140dbf0c41,cb73bb939bc433b9ce5137492fc69a6b5d993b7e,f9c006ca9f5eff265bf1fdba8697e58a1d09a1ef
66a1486f325f7404ddc3679422366fc020185525,a390a2742024ea5a1820ea20ada0ba0ca325111d,4dc1e22f1f8a8d1bf150c3ed1ebb6498439909d2
a206deddfb5f6b634e5da5a7925c1f867d61eda9,886baf4cb901337929a5bbc7a21510835c089b41,06ab6d7fa71af5b4f14a4a31b9d5dfa74c3a4ea3
985ebf3b6360c2850b38ccab36aee38828146843,a2146824956673e5e356da1b3f1429d73e5ebd36,652643499a88e937c4fbaf95169013339b207052
6a9d2cae93de921b982958cbab49ac5ddf64aa58,54415f8f4e0458ae2ab2fb7d0b4ed97e8461cb7d,2650049b2cb15178fddf77cacc477d910a5b5df0
86d48207605bea3e2c72bf3734666999dfef14d8,7c6f3810e3e73c4219e6f6f24bdf702c61843d13,dcf64d8fee683749998f54710fbebe4453f47906
ef0aea8ca241aa5d021d74efa830e690ca447bb9,b08c12ff8ab31b63044bb03ef025dc3c175648a0,711e659f5c91098da657ac2f9dcb4cb52f14a937
8a0fe7bc855ef5b4d17ee674c94bca42fa7719d9,cc8f8dbde854bd3e6ae8663949660924817bb44b,93b3315691f3e89843c8c16edb9c0b22226a51d7
b8102dcdc0e24bd7f7488ad731e330828ce32939,4546673a33b7f31056a5cde492b080b8dd56435e,afa1a549acfdfed6768edaa710258230b70e497c
65101b36dca4a4b8019f2c47944ec81e3988daae,fa9d77e67ee7235fb02b3a6c7576eee573fbc332,03b3f00a0b62488697aab90a5fe362b3053ffc59
4c6cbfe03edaced0be3e1477f48f6d7b927ba858,fd29f25bf1678ba50adb3c8af2717b6782d03b8b,87a785daa07a0375d3271102dadf105aec8e7d43
bd777877124f84665d133944b585e1708b7c7c29,ebd7bb7cb9179937428809e2337f79153ab5bcdb,11d2960db868d02757ae8810018dc661db034fe6
d362d47e88aa2dddbcd35c371a92e5014cca5a02,8a63e7ee5a34f8dfe2f412fd218dbea3d3df9e73,8360b180972a70af23e57128fe54bc0e451b481e
b46f361d91683b19af2ba8ef60826e47b2643126,2be3978bb446ced6857ab18fe0cd186f6fafe217,7d4844919bdb8776c21da2822effe27873885eaa
12616f657973a62154454c10ddf1b1396b808ca1,2f23239ebd4719b743e8b7549e30639c9479faaf,fa7d3d845b8bc4fa7335ed3f5ef73b697c35a3ec
c944484e66a3c67e92ae1a87b2329f98ea73e65a,a18e75eaffb2bea2784a87bb957205510715fe81,c9b988e146512169f283172b60cd97b278fcfcfb
60a09b65f4d23ebc2a5315cc530cf271c2b3cc58,73529f5266940b416f6c943e1c372e1a1454f034,045472a5e7e2535a449abf8f38e3888789db48dc
749c8110b6a41765f5548efa76e4565a9b7e29e7,9e710e298c5952cee4fae64d2408038cda4a1298,b2f46586bc891aeb335b4b8ddac048fa0d204cbd
aa82a2e446bfe225d41400d5784a1092ca905754,58e9d7c6477268f6e55629cbe45264631243644b,07d298d23b8216d64dedb129267a667272e49d22
2460ecb9d9918929c7b3b0e41367811072ab04fb,09b763c698a783efadecf81dbfffe6730d9fd2d0,11ac750e873d31738c2bb344e5e216192c8045e3
f3a0bdd23222cf281539ec545e4185b971e357a2,5a9021c14c39c376b2cf1967989482f0f6bdb4b0,544b58680e3afb95bcf6344daa775a431c1195cd
8386906668afeebf9a06bfd723981b23bd049a28,6347c9d03cc141ac939d09df8d90a35b70e171ce,091e86082dd1043d26fc1be9d1607ed544bb3da0
bb91dadb009f9d8032f1b1ee4c065a0d144911c8,54efcc4bbb79d54d69395782ca00019b36e3cb4c,bef4da339abfd785ccded8821539ac0f8d946bfe
52334737489c37e2e4a01ab62c982d838d64736c,e298e6eccd378a23540f95d22a0a66be14ecbc4c,32d06f2e87710cf749cab40d520a711ba044d65d
ad971df05a418d04027323d423e9527e6374955b,5bedf92bfba41350e1854b43fa9acee704f871e4,ced452e2ef37628854b945de15791f796a52d0e9
4e51973dbaa26581b29ae72d0f345382443205aa,abac7a02bde9cd0bd582e7db028474708b194709,93b8707ed31af9efa328109774c8015a8c32f087
2ec382e68cce7f7fe90c3b4c88b15af79c947d99,7b62186b9c9efddcb0114df889d5830d8634b0bd,925dc4bc7562394c8ea56c3b597c33b0051c551e
3b9035c94638156629666dcdf6e2340db5405809,d4d55f5c877064220bb13a0123e6e67df7e75237,3e9ddf59df740d12ff51122bcdcdf1ce20b0cd56
4f8d6c9df1adac8a8175bedc08f72f826245dd06,6b8ab2c4d2a6fdf412fd6e9e16288ca10c81d59c,14b40473fc2fcad52fdefa632863b7aa76bb2bf8
9e631db928b5bf3bd379830b9376b31fddc343f0,7f8591926af2de78051f2dbe91ee5d9e64a912b9,410c1bbaa0211b56076ede5ec0b2c9605c5cba62
85860f126f2afb5ae384e9cca2c19b2a278de2f9,d1af2c7007e2434f5a848b743c1b8d644fdbc5bd,44902c339b85bd855f65d40836b6aa9f5dc471a1
f0c3d69068b3e9e3156a3b89af62233ed96dc086,bb1b0cdbf0a477f81c30db8ebcd4d989c7d132a3,e339f8b66053c2a35e20e8d71d1b97d2513bd668
ddfe51415b9ce782b80d4ddbbcb94a68baeb4f21,37d107a953a30829760954daf9eaad1057648367,120303576b775f666c7e993cba9baf0296d947b3
efe414f128b6797c2b7bbed9cecdadd02242ab62,a01c20ad20a8741c20f5823dca8465e73908dcab,f77bd0226f76b7bccda774c7b09adf42384d6b00
9f7b814747deb93c7d34dcd35f46adeb895e50d5,32c3e6e844c1b305f3c3e1a5c799b7af8bc7ff38,ac6637276b67c6fe377b3566bbd28c49ae3db365
50af4d03888997a768c626627e395cdc76fcba76,7d0d909a741ab29294313af6fe1eea32bd37075a,7335f0c1d643629c539c221686fd353bdad8096f
a0f69557cc15fa9fcac56658a4cbbfa3c480385b,258b4576a27d5d086c4a5ba33f75c65992b59ecb,0e8d87bc269d3e59a174b8b4bcc84c7dbc7ff6b1
a5486e04cd7dac0acdf4efe24129736650154064,d7801027c4abb7e1a53155dba2026a8b90789791,a08ac618a4ca9c5ace5af9c3b3253f11e6aa297c
4503070f7f140a7696fd3b9ac445865b90179d84,0b24d5f92e1995fc6afe2dd72a23c8ace29bebce,87857252a46b212ac383cdd91ce6a028ed9defb1
8ebced609c453363e0168b1d3b6baff393817896,4c9f2b8b25958fb80887205ff74b3df3e4c1c056,1d95e6087a37fb9ef776e4322d351035a63ce909
87ea9a9e0f5cfbaaa4112fb07f728326214d459c,f8bf34303c62190b66f0cacd081a3c0328c13e99,76aa9b1f8b23c74a174dc436b3865b7fa5c1d7af
bc100eda4d4bb811d63a265a4f13bcce76b64fce,8b3c9e0970507bf7cddfe8946032bf9a20ba93aa,569f83e33dd158cd13c338824a8d3179228732a4
f2580efc1585bf5f3810b7b90321bfae3d7d313f,eb17e6fd2d85f700250dcbf721dd41d3bc096b55,fb7787b11eef04a5f0f136ecfe83cea67a2e8619
850685844b9a0028b7ef11b4239975ab2a61db45,0a2447a9559f579cdd225603a7a4ece9575f5c28,7ee1dea027dc045e8227822987e89db4d592584a
dab6c48b472f83e14173ee55bd3393bbd44222da,56cb11e3efbecf83b509a7709238fa55dc2c6748,6bb59c66cb311a871a7a334362edfa925dac7dc8
029ea37ed940e20e6b491649da808397bb0c96c2,eab28cdd2eb66c32f7e8d6ec186c479d3a70e519,c5f4fe28826b3018bbbff3fa1de3822b35583f3b
a1a30876d596e9bca2a5409b53b0fc637eda5dfd,9e5cdc2abeb9de41e630e3aa6fbe197b7d37c0f7,2fc71285f4f709e0ce764dae6616ae67da4056c4
9145565895b7b8ea393d1818e9c590cfa6c34cfc,71f8893366881e86e16f15dcb7a4befcd0bd6261,d38c3f8073f8e954b1e0224c5e46141eeae63da5
9cda1666a6129b613770a93799ae57b77630d6c1,af4578f8ca12acd094b39f8a263ea6cbefd3e4d5,d338206814796306ab4dc428f1a398326ee0a4df
9cbcd399b1b95b0357a7dd8964d3200f633c8cd0,a5eba4b14f51a52d4d12fa95dda1a3a920d4088e,bc17da25e17d2c3f980427e3587661da33dda827
125dc64b1eb9883711d84acfa144eb2fcd14fe87,ef4a1c74cb71abe10041522cf1aceb0c6b6d9c45,23d61350bdf694f77ccd3015274d3e24ec20f970
4f054f4097fa0e30083f6e4657867c20e031dde3,546919972600998b4d719f123473cde1d5b4b451,a5f49c1cefffcee2e9552407f428a9d01f79cac2
234a9551258b94eebed481ee535a523597cde7db,535f11886de9ddcc3bb52a38f6d7cae06e557e96,99981040483b28e0ba00379b1fa9b4b0919a731c
cee45ea6fc855ac2bf43f3c373cefb0116c238d6,05f5e9ad12d1d647bc4ea7e50619c48fc8a492d6,fba7595bb1ed577ce67c6a10ba466824e5ee0ee5
3224f2c8b5051b038a43d5a1782177913a633fe4,b56ebfa93d381940ffb31102805afee44b5ae7ba,cf50f8ede09526008682cb308d51a2997cc44d26
f1680f05b614cf57de0b89ee20675d222951fb5b,196ab9e12ff5680547f0ba3d8412cda620469390,5cfaac64d558e549fd16112ec0bf622a409262b0
4c3fae270fab5989675a0234265474f7886d50c2,b65efe2756eca2da1bcfaa7b18c8aa70b55694a5,1f74ca0d1def5111f300f824161e3eb2b42cb662
0e77ef6ebf0f9898b92aee0c8bc7a7573824b96e,cdc6ff0a30253c0745a098a89f22771f3b52b7c4,fc6c3cf487947f4fa07a7255b6e4003b1df0ae99
ffd14f449d554e9c4a8ac67cca773f47a14c9eae,e84e0a16e13a4b73192edafd2aa356254dc2ac88,6e5c5f599e5c8d12a7c8da81f949adf7f61e6916
cb0ed2b6f0f06783a77b505b08a49e817eddd56c,d07e34297f55768911c82fa9690511f7bcb07e80,21897ff46c6db3bfbf5243fe875d4bc520066ba6
b292e19862ac103fbab1fbe57b91b05dcde3337e,2780b5f830c4bfe647d985d791c9b23a8bf8495a,11cf24891dee700e81bbb9eeca61f867502f6d7b
3cec86390a07ac742c50cf0d4649608fbf09d7c4,f3c74295e26f48dbb7cb062779b0625a89a5ee0f,3f78ba87a3e5435164cc6d300186e3a6569a4510
8dcabc5796aeac40f559cfa2d56c586242100e0d,9acf1921414cef154677d7dbfa444d811e11878f,a35f66a73071c6f985bdb21fcfca4b6e9e629fcd
652f54fe315daf6508b429517c2a2d17f9eb5524,f2696ef1c8986ba154bfad475524e3450b293eaa,3d08253192da985829e5f7fdbb13c58ded3195d7
acdde37429d46c857bd11c3d2bbd613e86108e8d,5ec1ab2164ab8c1bcb664960bb626defa5f2488f,8bb8e5716eb8b2ba3574369349a0aea2b7c5ee93
c0f9878e2fbc070bbd5db68ae59daff59e6469d7,ce44efdae3c42aa8472a149cd9b93bb1d6dca00e,262904b8c1b8c64801c2a6c24153fe2497f46798
7056ec1a87daa62f01a1834404387e98db43b8a5,add67ca0e3665cdfb6bd5cf5ae1ede76b13df486,dea9aa56a718341d33a4b6257e5351156907e44f
977d123b32a0c36b86b0e91453f8573dfbdb07e3,74e24a38642b79458b6b32d311a30f0d463ce094,b5cc48bf915306623242717b56253ecdb36d48a9
3a808074339418e066d2745dd0c3c98b420db259,1df255cddfa3ecb9b48e6142b302bb28c5193510,168b158514f299c709b146d13b583d5a56c5b5d3
337fff51c5314dccc2aef497c5f963b21b4d43ca,4d8af148643005b1b5fcd548d41b1a0b91a42bfc,f0dd99c65ce8ab8fa3ad6fedeb6c369dc35c142f
ce37431a3f57ce11da4e8025a12a0eda3e651ff0,65f9c5375937ecab75962f7ac60d6bf26fd7b506,b84d32fe04fc1b8d18ea0552027a5b8cfb7b30eb
dbb0b013d69e239da8b5fff861b3b0ade0e719c0,73acc393639e81f667b6b981a7c802e306754f77,81a1447b542ff826727ebace6a954c02dbb475e5
9392e62935ceaf9acb8319ca309a7aab55ebfa81,0c3f7bb6645cc2b5122f78fcf12776a1da55ed76,b6b3cc88f864fa2caa8b609e5acabc574a5c778c
f477b94f0f6ef9fe178f9c14b6c5c6e8b70e1ebb,237e2686f1eeda775d7e6ebfab826f34da3a452e,a0878c9565e5a2912f645fc2ca29a58c418ce503
6fda6f79d8d31ac5d0014aa281e3f374c4490add,6f02e648cce588ad8dc849497baf40c16b556497,c2d76841dfe38444f78fcfd020c283ebe9937767
e78a4d3899022e6afb4b6a1bd408b29c4cf3367a,a462acdb197a0748bbddd7b96b26f00bc696c8eb,8bf8272892aa1cc7bd64d61a2a16eb0d87326325
c90503812ab85049c2dd6adfca0b7d81b3932671,859fa9fe8f4d7424b801f310751f52d3f9de2525,5f9bcc2405e1e59f5aaecde252da955b8721e757
23ac6c3090c5225812370a66b90f0a13760b301a,ddf0774575787508543d1474127c6f5ed1c91e31,f1bc31b057fa8e0947554b76fb9b890193e1ffe9
48d6f5e8a733c94399ce2629a20cf42f2bade46e,daf2dd869b5ace32867c08e89e901283ec3d6b42,5ea775dc58dfc9010ea008f6c1b89d79dcc41acd
2cec5996dfb5d06816c7ea91ac3dafdaa4f92cda,dcadafa1b87f80cf3b0feb110b5ba704ba17448a,910a70ed0d62c54ccb98ee014950ca7d347763ab
d0dd4697fa435112d9e10152a94d015bd40f0189,22c978c33fead9764e6ed6b34ad271bd8740b2db,c53e1b20d774a75aca5a52624da2618edec29bf5
73ee25071d4922d336dd4c1810d5415271b58729,276618563cb97f4689d2389b6b71b6bbecbc36b7,de5b2c519298a13ac253169ffcb6c42f99725dc9
af206dfecdfff756a0c85a01ddc6b7c14a019492,5b46c44b7d47c686996b5576c5bbfa98fda6830c,18e519963f6759ef68e90f6328e9a8902df63550
dfb401506707280f0b745e0c80891e68034e84b5,9352e09849d4ecce1f1dfae8948e864638d70e96,e2431d41ae1e88d795194838f8fa15a97d5b089a
cce871258e703b1305f77f2fbae347beab7a5f1e,db9b2a6a9563f51f8980a265dc4d5366b92e996a,ede14da4d24932f581704fd74871b041c425ae8b
2301f09d7749d3de96f2b13c9f5c919d920c0213,d6efbfb2bbee4486913eafc26e8d0d67b4d8fae4,c422c137f89fb79683924854f34161a2c1fae87e
e2c96612344ee6ecdb8abd1e977fb99a7d993526,7f9def422f1d4e7b8eb5a85a1b45c044024975f8,f6f150f857c46a09447f5b451ec9a32491677cbf
aa182cb14737fce742689f269210acfbc51e2b8d,ec8887baf22cec2dc11e211a547f470eca840680,f406c2400b1b529c74e07ccd33b265ed817fef74
82b458bf3e907c8610ff181a748c39fe54723708,6789d41671467be6e6bfd6fb0b85c07d579e5a65,c083d61c008db1afeb91f9a19df9ef91fe6d89cc
8d82a7ed6306eeb18ba01eb1c5504a91a36d6cee,8e319f567db6d9ad2ad1280052301a56c6e5ccce,609d8bef9038ab6aadd4591ab5713a9110674676
de689cccfafd050c15ffb8b88a45845caf919cd7,21d7fa4e3f17061347af332ca063a615e4e735b4,b3094cef04c5be7d78d6d64abf80a053a48a861c
f5d6f70190af189c8afc765be51a5f0ac74bd955,e020081140cb6a7a5a5358751738e694b12b4c11,2714e2d422c5f739625c8474da16e5c8527e3014
bc19c030709db2ce344f60918a8719cbe3789c37,5f54e2fa0a60fe738f1c7d27797283a9bdc42d88,045cd97d732a3730190bfce20da5af097032c5b3
f7945f9029acf50301639b3f35a2fef75c3d7499,b4ee56eef4de3c2a7881ba2bcf10e30d534d0d81,57fd2963d3902c547def049fa55387408f4f2625
69eb03c54a22b50376c65bc1bd6b9cec7c5c85b4,3a8febac35a9cac76bf50430a08076326bcc80ca,1ddcad0d22e9b04f9bebaeff063afbd3109f3386
196a2c3331cab57351594d5750b54ddae846917e,e8ffed0b3708bf52e770221af94813ad7c834fbb,0871271ee228b85184e7edffd9b842cb6063a9f8
b896b99069f297d944a50842ef99ee4e6cc8f0aa,d2891dbc13f2b86c3df492a455b68391b6a0baab,c5a82f52c3bddcd8c74c8d17691227097ce00f05
f1d800af0dc784e4d3256b6a0e75b72d064ebc4a,baecc97270587fe67cd5e94ec78b91739b5244c1,019cf17a69a889a47c313093e080fbaaada86042
6acc7f1c858a893ef36a054d197b3e89d0a1cab4,f7102d217930b362911575057fd8eac218a1eb5c,561739478e683252ae4f4efb82eb6b5de32c8aeb
49327da10b0e9b8212c17ce2bda907698dbe202b,794bf30ad61f7162b738758a5248a1183bbc6cd9,a61062bcc4a55061d6130f7614f60d81e0b36a11
0d3f40cbe11b455c7b71f8739c775d3981b74aa4,0e3c35a854d3f30e595ff20f156add103445cf1a,60aeb79ba3edb027663ad756d8420f7ff0f3fd2c
38ba11e1975398396c882ac0ae5b5b92ef0f3d35,4a11d6da463f9ca8f8d90dfad030721c7d152cd4,a2d69eb46230f04b68aa37e06333226f7e0170d2
68eb2bc3d8981d44449763423d3166e58bd0e526,f9303392c08c77a0f9652fec34dfb9a31b253737,20ca0c06cfc2eb101d29dbfe21563b7c29c2be9a
502cbfb2bafaba217b5ac8564ed2ae7ea0ab6fed,b9df889ed2e0943ea0a3897fe88213bc054a2bb4,e13594a50e685bc619aeee2e23d3db9b60d389b9
a3caf9dc94d697f969aa63142b57eea52f51f1c9,b16ce76686455cb9d52df82f9f8c5a9cda94c876,bf5da86055898d9e710ec08100cb50d45b6f8322
88d86c72b172a78bd1188213dab8c3811556d6d1,240a333addc0c1b07b58dbffccd6f5aba69aa53e,362eca555c3cacaa990c89ff04941b54b614d048
83a26bdef855e64092c7134541b52f2d77687ee1,e4ce1088be834862148eed31443923139b596be2,ba39ea600be9db4537959cf518e2c69169e88a97
bf6ab322557ba1a0e6bf4cd653250afe7b8ed865,bd4482c6db33ee68bde64699a5792d18a702c85d,b0932452bd4297edf83944d1f7e0adf8669ae2fc
44d8f3dcb60b0ff8b38f8ebf632edd03920d4cb3,08e65b564d390b1975f40692095684c441664baa,54bd40cf896401000be50af825bfedc50fe00cce
d9e30ea4107c9ec2196ed9a43488b3a27e2eb38c,dc29f1c6d5b41f62b458388470afd0705b7333df,6f33f1b9e07927acb674bf81c32e4be705647234
3a9460c69bc430c336c04aa389be510eae5dea48,f979e427451551f0d4b1424425f79e8dfbb3cc98,469bfec67ff4c183abf8bbe394e7852a76192d4f
c21fa64f0491f7ee638f023e963fd50fa9e547b0,858be85bed15d2472f14725064426f35129bac9a,91d932e236f624d942f9820e2995bb7f693fb411
364f892455d6bc15432aa66d1a93bac08f6a7710,37d3c82324c06fa009e5d8b8b84fbe884188fd14,726b3fdf917b93dac1b6daf42043dee0beef62f2
651b2b4310a9b7118a3f3c7189de138835d059b7,93967eb7801d7eee08359af484b1e4a1d1097742,7e9de1eb2d4f2c72c9118b501b10d324f0b55c41
f97fe1db2e1bd51e1c45218dcd9d962637ff039f,c12ca3bee349d551325163a80ee04e76957d92d6,991614e35782ff595e2dba6a35db9168eeb40293
3e132bb72821f025f9fed9d9c5f582d236104195,d6c5b4e101551b927c42bac2c45ed9151ab3ffb3,38aa0cabda30c9c2f1023a7ee5092d3fba0fa017
23ed48b8edef96234ecbe9ce7fdb69eccf520742,99148c28131e0fec9d9f7ddd62438d15acfd707e,0557caead20ed9b4f28d15fc76b86b6c3a1ba17e
0666fa92ffc8e7733d64ae082e2dff26792ddd59,4cb153f6daa2f03e062291f57ac6ca63b5c9ec35,608df75f47ed32e71714e92c92b8575a4e5abeeb
9a22ebb00f38b04ce63781fe399b8cef585856ab,a4904c3ecc645ad5bf444f3a1425d8c33f9c6a15,e5d7b1ea353f916e94ae01085072ec0218bdb3c9
61a2ee8be8f4aae69fa153794acb19ca12b60e59,05754257700eba6df3f1be5c1850d45a60258e6a,daba99e02a92d9e06dbe8089e0f62973e3ab2713
3989b8927cf67a516a4ab309c124577e40036ded,ee7b3cbe83f216ffdb32434371cca629e19a3dd6,670f9396c47e09b314c92996dea99b309eeb963c
baaec1568b0b9aeda2d0f49e78ad6c244cbffcca
Clicking a revision will expand files
Read out KeepAlive only if enabled
Read out KeepAlive only if enabled
Rename KeepAliveSupport->KeepAliveEnabled
Rename KeepAliveSupport->KeepAliveEnabled
add threadedhttpserver demo
add threadedhttpserver demo
Remove the KeepAlive* properties from TFPCustomHttpServer, rename KeepAliveEnabled to EnableKeepAlive
Remove the KeepAlive* properties from TFPCustomHttpServer, rename KeepAliveEnabled to EnableKeepAlive
Info about active connections
Info about active connections
Use InterlockedExchangeAdd to get ConnectionCount
Fix TFPHTTPConnectionThread.Execute repeat loop
Fix TFPHTTPConnectionThread.Execute repeat loop
don't keep alive connections that failed
don't keep alive connections that failed
fphttpclient keepalive: failed socket operations raise exceptions - try to reconnect also in this case
Move GetStatusCode from fphttpserver.pp to httpprotocol.pp in order to use it outside fphttpserver
*http client: rewind RequestBody in SendRequest
TFPHTTPConnection: clear FBuffer when read from it in ReadRequestContent
fphttpclient: new DoDataWrite/OnDataSent event
TFPCustomHTTPClient: do not reconnect when terminated
* Some command-line options
* Request ID and connection ID for logging purposes
* Add interceptor (middleware) functionality to router + Demo
* Make sure size is set after return
* 64-bit ID for 64-bit platforms
* destroy FList in the destructor of TFPHTTPServerConnectionListHandler
* Use FreeAndNil to clear field
* fphttpclient: add new OnIdle event to keep the client responsive in case the server needs a lot of time to respond (and to be able to terminate the request while waiting for data)
* fphttpclient: add new OnIdle event to keep the client responsive in case the server needs a lot of time to respond (and to be able to terminate the request while waiting for data)
* fphttpclient: add new OnIdle event to keep the client responsive in case the server needs a lot of time to respond (and to be able to terminate the request while waiting for data)
* http client: KeepConnectionReconnectLimit to prevent a dead-lock when a server is not available
* check for LastError coming from CanRead()
* More clear variable names
* don't execute DoBeforeDataRead unless OnIdle is set
* Update handler functionality
* Better SetfieldByName/GetFieldByName
* Add http client pool from Ondrej Pokorny
fphttpclient: remove OnIdle and add protected methods so that the feature can be added in a descendant
fcl-web: example missing semicolon and gitignore linux bin
* Use FPC server by default
* Remove module, move module before default
* SetStatus convenience call
* Uppercase argument for GetHTTPStatusText
* Allow to move routes, make route management thread-safe
* Improved solution for issue
gitlab 0038435, json helpers for http request/response
* location management API
* Enable location management API
* New keywords for ECMA2021
* const and let statements
* initialize Result variable of THTTPSysHandler.WaitForRequest
+ implement support for terminating a HTTPSys web service handler that's blocking inside WaitForRequest
* move freeing of the event log to a separate, virtual method so that this can be changed depending on the needs of TCustomWebApplication.CreateEventLog (e.g. when using a TCustomWebApplication descendant together with a TDaemonApplication)
* fix memory leak in TFPPooledConnectionHandler
* Make some properties public
* Allow to specify IP address
* Parse cookies also when setting variable based on name
fcl-js: fixed stackoverflow when freeing long binary list
fcl-js: fixed TJSWriter.WriteExportStatement spacing
* typescript parsing & conversion, initial commit
* TypeScript Improvements, 97% of DefinitelyTyped declarations now parsed
* Publish handler resulttype, add OnContextExecute
* RPC Client code generator (also in pas2js)
* Add RPCMethodName property
* Fix registry search for method name
* Create API description as Pascal
* Fix memleak and compiler hints
* Position stream on start
* Some fixes & improvements
* Initialize APIRequestName
* Move resourcestrings to single unit
* Some clarifying comments
* Some clarifying comments
* Some cleanup, add file headers
Checking the protocol version for websocket is not required on the client side.
* DefinitelyTyped now converts
Added a connection event when clients connect to the server.
The disconnect event is now called once instead of three.
Fixed error if payload = 0
* Use resource strings, add const to string params where appropriate
* Fix warnings & hints, use resourcestrings, add const where appropriate
Typecasting to int64 type fixes the exception.
Added reason for closing the connection.
* Patch from Yuri Silver to read data correctly. fix issue 39517
Websocket server correct work with Ping Pong
Added reaction for incorrect reserved bits.
Added processing of reserved opcodes.
Control message must not be fragmented.
Fixed fragmentation of incoming messages.
UTF-8 support for message.
All Autobahn testsuite tests passed
Added missing units for websocket client example
Client support of HTTP over unix socket
fphttpclient - only handle Unix in conditional compilation for UnixSocketPath feature
Fix memory leak - avoid handler allocation when not needed
fcl-js: switched to TypedParams
In case of incorrect shutdown of the client. The buffer may return =0. There will be an exception.
Fix leak due to bad merge or rebase
* Normalize route when checking for duplicate routes. Fix issue
gitlab 0039570
fcl-js: fixed compile with pas2js
fcl-web: added IWSTransport.PeerPort, fixed compile with fpc 3.2.2
fcl-web: added property TWebSocketServer.Host
* Added some clarifying comments for TWSMessage data
* Publish OnError and OnConnectionHandshake
fcl-web: added TJWTSignerRS256
fcl-web: added TJWTSignerRS384, TJWTSignerRS512
fcl-web: RS256 using sign/verify
fcl-web: TJWTSignerRSA: prefix hash with ASN1 digest info
fcl-web: TJWTSignerPS256, TJWTSignerPS384, TJWTSignerPS512
fcl-web: fpjwarsa: catch exceptions during verification
* Example for RSA signing
pastojs: started TPasElement free instead of refence count
* OnDisconnect before disconnecting objects
* OnDisconnect before disconnecting objects (cleanup). Fix issue
gitlab 0039780
* Free extra headers after disconnect
* OnDisconnect called too often
* need to pass connection. Do not call disconnect event twice
* Actually write error message if there is one
Fix error getting payload when receiving a close command.
* Add Cross-Origin Isolation headers
Added SSL support for Websocket client.
* Use default handler for SSL sockets
* Remove dependency on fpopenssl unit
fcl-web: TCustomWSServer.RemoveConnection: call DoDisconnect on disconnect
fcl-web: TCustomWSServer.OnDisconnect: pass TCustomWebsocketClient as Sender instead of connection
fcl-web: fixed TCustomWebsocketClient.FreeConnectionObjects
* Fix from Kevin Jesshope to correct filename detection in CGI app
* Fix from Kevin Jesshope to fix concurrent access in case of CGI
* Call CheckSession before handling request, but after handling CORS
* Patch from Luca Olivetti to fix memleak in CORS support. Fixes issue
gitlab 0039886
fcl-web: TWSServerConnection.HandshakeResponseSent propagates result
* Fix memleak in case of error.
fcl-web: fixed crash in websocket server on windows when closing when already disconnected
* Added debugcapture route
* Fix handling of options file
* Publish all available & needed properties
use function references for callbacks + change TNotifyEvent to TFPHTTPClientPoolSimpleCallback
both callback interfaces: classic events and function references
* simplify implementation (almost) without touching the public interface
* make function references an option to classic events
httpserver: add KeepConnectionIdleTimeout property and OnKeepConnectionIdle event. Fix KeepConnectionTimeout to match the meaning from the comment and the name
disable KeepAlive flag in CloseConnectionSocket to close hanging keep-alive connections
async pool: procedure references simpler
* Allow to specify DB connection params on command-line
* Modifier for allowed schemas
* Version number for compatibility with lazarus webserver
fphttpclient allow to override supported protocols from url
* Obey -p/--port command-line option
* Patch from Andrew Haines to actually pass OutgoingFrameMask to frames. Add woSendErrClosesConn flag
* Patch from Andrew Haines: do not send close connection message if already closed
* Sample program from Andrew Haines to test echo servers
* RFC states that client must use mask: enforce mask on connect
* Fix missing fields in TSQLDBRestResource.Assign
* Add PATCH method to router
The test for '' after getting the location into BaseDir should test BaseDir not BaseURL.
* Fix dynamic array (managed types) handling in restbase.pp (Ref
gitlab 0040094)
Fixes code in method TBaseObject.SetArrayProperty
and removes private method SetArrayElements
This fixes AVs and memory leaks.
* more fixes to googleapiconv (ref
gitlab 0040094)
(googlediscoverytopas)
-Fix unit clause and "uses" for generated units
(googleapiconv)
-Add --version parameter
-Fix logging messages
-Set OutputUnitName so units have correct clause
(restbase)
-Add #todo notes for follow up
-Move function RFC3339ToDateTime next to related functions
* Remove conditional code for compiling googleapiconv with v2.6.4 on i386
(restbase.pp)
- Remove {$ifdef ver2_6} directives and associated code
- Remove {$ifndef ver2_6} directives (but keep code)
(googleapiconv.pp)
- Remove {$ifdef ver2_6} directives and associated code
- Remove synapse defines and associated code line
(googlediscoverytopas.pp)
- Remove {$ifdef ver2_6} directives and associated code
* More fixes and cleanups in restbase.pp (googleapiconv)
- Move test functions out of class to local procedures and into
{$IFDEF DUMPARRAY} and change the parameters to match the rtl versions:
function GetDynArrayProp(P: PPropInfo) : Pointer; virtual;
procedure SetDynArrayProp(P: PPropInfo; AValue : Pointer); virtual;
- Add dyn arrays support to the ClearProperties method
- In SetArrayProperty, fix previous commit (fba7595b) because the
array properties were not being set and make the dyn array handling
code more typesafe.
- In SetObjectProperty use TObjectArray instead of Pointer to make the
dyn array handling code more typesafe.
- In ClearChildren use ClearProperty to do the work and simplify the code.
- Fix some compiler warnings and hints.
* Adapt fcl-web (and examples) to unicode rtl: Need widestringmanager, use echo as path, make runnable.
* Fix compilation with unicode rtl
* Fixes in PChar -> PansiChar
* Set result correctly in TCORSSupport.HandleRequest
* Avoid error by checking if content was already sent
* Create container with unique name, improve thread-safety
* Different PUT/PATCH. Allow legacy PUT
* Completion of put/patch split
* Correct params checking in case of array
* Fix interlockedincrement
fcl-web: gitignore for linux
fcl-web: simpleserver: fixed parsing config file
fcl-web: moved OnLog from TSimpleFileModule to TFPCustomFileModule
fcl-js: fixed writing small floats
* Dotted filenames for package fcl-js
* Dotted filenames for package fcl-web
* Fix default classname property
* Add possibility to read updated data
* Add support for select query parameters
* Some changes suggested by Edgar Fernando
* Add HTTP logging mechanism
* JSON-RPC 2.0 allows params to be optional
fcl-web: fixed av on logging TFPHTTPConnection.DoHandleRequest
httpserver: make sure that socket is freed even if StartServerSocket raised an exception
fcl-web: made TFPCustomHTTPServer.CreateUpgradeHandlerList virtual
fcl-web: added TCustomWebsocketUpgrader.OnConnect
fcl-web: TWSFramePayload.ReadData: check for endless loop and wait for new data
* .compiled files should not be checked in
fcl-net: fixed memleak in TFPThreadedConnectionHandler
fcl-web: TWSThreadedConnectionHandler.TWSConnectionThread.Execute: fixed handling exception
Changed the JS Writter to avoid access violation in the buffer.
* Undo wrongly added file
* Make sure it compiles with FPC 3.2.2 for pas2js...
* Some fixes for compilation with unicodertl (new methods after merge)
* Add possibility to return empty dataset instead of 404, add event to refine WHERE Clause in code
* Support for content-disposition: attachment
* Trigger OnHeaders after responsestatuscode is set. Fixes issue
gitlab 0040419
* Allow event handlers to modify input
* Correctly initialize some variables to avoid AV
fcl-js: fixed EscapeString for surrogates
* Patch from Dokkie8844 to ease implementation of certificate verification. Fixes issue
gitlab 0040480
* Debug capture separated out
* Use class instead of classname
fix EncodeURLElement string types
* Ensure code compiles with 3.2.2
fcl-js: fixed TBufferWriter on nodejs
* Some fixes in code generation
* Fix typo in enumeration value rloHTTP
* Make paramdefs owned, so IDE can trace back changes to owning component
* Avoid index out of bounds error
fcl-js: parse power token
* Write correct number of characters to log file
* Add FCM push notifications
* CLI example for FCM push messages
* Fixed namespaced compilation, rename sender to client to be in line with class name
HTTPClient: check for changed host/port for KeepConnection
* Correctly unregister all routes. Do not call register routes when already registered
* Print clickable URL with start location
* Make sure sentences end on point when needed.
Fixed work in ThreadMode := wtmNone mode.
For connections list TThreadList changed to safe TFPHashList.
* Fix compilation under unicode rtl
fcl-js: escape unicode whitespaces in string literals
+ Allow customization of response through callback
+ Allow customization of response through custom headers
+ Log error conditions (403,400,404)
* Show info in a more structured way
* Allow to compile with FPC 3.2.2
* Fix --coi option.
* Allow to specify custom response headers in config file [Headers] section
* Move simple server to unit so it can be reused (pas2js webcompiler)
* Rename version constant
* Add request ID handling and callback-based result
* OpenAPI helper units and classes
* OpenAPI support for SQLDBRest
* Patch from Andrew Haines to fix creating signature. Fixes issue
gitlab 0041058
- remove what appears to be debug output (will otherwise lead to exceptions on systems where Output is not open (e.g. Windows service))
fix KeepConnectionTimeout loop
The EHTTPClient class now implements an overloaded constructor that accepts both an error message and an associated HTTP status code, enabling retrieval of the HTTP error code when an exception occurs.
* Do not return empty fieldlist when generating SQL
* Fix case where 2 modules with same name are created at the same time (threading)
* Allow to set content stream on request
* Allow to send stream body
* Allow both body/response to be streams
* Accidentally reversed condition...
* Manually apply merge request !570
* Improve on ideas of merge request !570
Httpserver: make formsplit also work with chars before the start marker
* Parse HTTP date function
* Correctly handle returned cookies
* Add RequestHeaders for ease of use
* Fix http routing params
* Fixes + Add AddRequestHeader
* Add support for Server-Sent Events
TFPCustomHttpServer: protected property Server
* Proptype float gets priority
* Wait till pump thread stops, do not use checksynchronize. Fixes issue
gitlab 0041569
* CLose socket when ending eventstream
* When using thread pool, we cannot wait infinitely for data. Handle keepalive timeout as well. Fixes issue
gitlab 0039982
Web: Fixed compilation of "CmdClient" example on Windows with the "cwstring" unit
Fix for unicode compilation.
* Correctly initialize URL/URI from variables. Fixes issue
gitlab 0040246
* Remove unused statements
* FCL-Web: correcter check incoming request IDs
* FCL-Web: check lengths before reading name/value pairs
* FCL-Web: * Tighter checks on pointer arithmetic
* FCL-Web: Fix wrong memory access in DoContentRead
* Fix potential invalid memory access
* FCL-Web: Clean up header, disallow invalid characters
* FCL-Web: Clean up header, disallow invalid characters in SendRedirect
* FCL-Web: Reject headers with cr/LF or null
* Check for forbidden characters in cookie parameters
* FCL-Web: Escape forbidden characters in content-disposition
* FCL-Web: change some special chars with their HTML entity counterpart in the HTML error page
* FCL-Web: Reuse existing routine from htmlelements
* FCL-Web: escape HTML emitted values
* FCL-Web Escape HTML emitted strings
* FCL-WEB : escape html in ezcgi
* FCL-Web: Always escape texts in status error pages
* FCL-Web: escape pathinfo
* FCL-Web: escape javascript URL string
* FCL-Web: escape javascript literal string
* FCL-Web: Add some configurable limits to request headers size
* FCL-Web: Add some configurable limit of request body size
* FCL-Web: Add some configurable limit of request body size
* FCL-Web: Allow to cap content size, upload file size, # upload files
* FCL-Web: allow to cap content size, line length, header counts
* FCL-Web: add const, fix bug (stringreplace needs to operate on result)
* FCL-Web: Allow to set a cap on the number of connections.
* FCL-Web: Enforce Upper bound on content-length
* FCL-Web: Mark module as idle, also in case of exception.
* FCl-Web: Error on headers > 64Kb
* Check whether session ID is valid, allow session ID rotation (avoid session fixation)
* FCL-Web: more strict security on session cookie
* Better security on session dir
* FCL-Web: Do not allow write operations without password
* FCL-Web: Correctly get password from content fields
* FCL-Web: use constant-time compare to check passwords
* FCL-Web: remove coEmptyDomainToOrigin and do not allow credentials by default, try to be safe by default
* FCL-Web: only allow passwords from localhost in file location API
* FCL-Web: Allow to restrict locations that can be registered
* FCL-Web: do not expose paths from client-side filenames
* FCL-Web: fix namespaced compilation
* FCL-Web: safer decoding of url-encode
* FCL-Web: do not allow APIKey in Query string by default
* FCL-Web: Do not include stack trace by default
* FCL-Web: Fix typo in header treatment
* FCL-Web: fix missing begin-end, causing CORS to be ineffective
* FCL-Web: fix missing if, causing content-type to be overwritten
* FCL-Web: fix potential Access Violation, check if content is assigned
* FCL-Web: fix typo that was causing a memleak in geteventsource
* FCL-Web: fix correction of path, too many characters deleted
* FCL-Web: correct constant for logging to console setting
* FCL-Web: Do not allow module name to be changed after initialization
* FCL-Web: Safety check in DefaultApacheHandler
* FCL-Web: Harden RegisterInterceptor
* FCL-Web: Harden lazy initialization of router singleton
* FCL-Web: Harden RedirectOnErrorURL
* FCL-Web: Add Anti-CSRF token
* FCL-Web: "add X-Content-Type-Options: nosniff" header on responses
* FCL-Web: check length of read content
* FCL-Web: Small documentational change
* Remove use of remoteendpoint
* Fixed maximum file size being too small and causing a range check error in the initializer
(inactive) Revisions in this set 6db4ab5012c6a32a4c66da973e0b7e7163b54503,20039e3b77a094ea807ccb318e06df4cce4dcacd,fd91e8263c8acc492a928027b55ed8d44ffa83f9,52813c8965efe348a94bee65ebceb9bc0e81be76,1e3de5db58072959e8d6f75aaa21e922d38f322e,162ecdc543f8022f77bac46223537ece7cbc4188,8bf5eb83229a05e2c630bc4015b9c622ff8e48df
- Switch to block-based processing of http-content
* Parse the ContentType according to rfc1341
* Fixed processing post-content of unknown content-types
* Fixed mime-multipart processing for solutions that do
not support chunked processing of content. (like CGI)
* Parse the contenttype according to rfc1341 also for non-streaming
processing
TFPCustomHttpServer KeepAlive* properties
TFPCustomHttpServer KeepAlive* properties
Revisions in bigsets in this set 55d33aa6a777625baa79f3368459f60ed1abd754