mirror of
https://github.com/BradNut/awesome-uses
synced 2025-09-08 17:40:31 +00:00
Compare commits
2720 commits
9b59ff5e9d
...
ad2ee507d8
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ad2ee507d8 | ||
|
|
ca88b3d808 | ||
|
|
5e408e9996 | ||
|
|
92e781fa70 | ||
|
|
0fcba53dac | ||
|
|
d8a3db8127 | ||
|
|
08e3293a1e | ||
|
|
02b2b74cc6 | ||
|
|
4fb2b45ab0 | ||
|
|
b6a950c328 | ||
|
|
af920ed759 | ||
|
|
4119be906f | ||
|
|
a053b3cea0 | ||
|
|
3a348e8d79 | ||
|
|
f99460932e | ||
|
|
461dca1d16 | ||
|
|
d52c81f4ee | ||
|
|
76102dec3a | ||
|
|
69415d6bf4 | ||
|
|
af5b531f41 | ||
|
|
5c8b55013a | ||
|
|
2c86fe6749 | ||
|
|
5c030b7055 | ||
|
|
3dd1266688 | ||
|
|
bb85f2c4e9 | ||
|
|
3e6b0a82e5 | ||
|
|
9e85519930 | ||
|
|
9d0fdf6038 | ||
|
|
ef16a6b281 | ||
|
|
c8341d7e9c | ||
|
|
544d679705 | ||
|
|
8e13dedc20 | ||
|
|
bf50327839 | ||
|
|
b5afcc7b4f | ||
|
|
55823a4b69 | ||
|
|
67cf336a6d | ||
|
|
be691e32c2 | ||
|
|
0218091e4b | ||
|
|
5a5dfbef63 | ||
|
|
31b9d8e9af | ||
|
|
2bd196f32e | ||
|
|
6c607c08d0 | ||
|
|
ee02091b0b | ||
|
|
9b9a5f7a6e | ||
|
|
71808fe385 | ||
|
|
671b058dd1 | ||
|
|
b44af45c24 | ||
|
|
742544fef6 | ||
|
|
dbad245301 | ||
|
|
7a8ee9aae3 | ||
|
|
fe61a3e3b6 | ||
|
|
c96ae004a8 | ||
|
|
9f0828441a | ||
|
|
66fe4a6b4a | ||
|
|
f60cf83a2c | ||
|
|
9a0d2ca325 | ||
|
|
b31a0d0889 | ||
|
|
8c96fcf04a | ||
|
|
a3819b54fe | ||
|
|
77f63b0bd5 | ||
|
|
23e4cef27b | ||
|
|
56f99a2ed4 | ||
|
|
538df72b71 | ||
|
|
547d49bf7f | ||
|
|
0ee29a1a78 | ||
|
|
d5cbc9a1e9 | ||
|
|
19a333a80d | ||
|
|
b1a4801758 | ||
|
|
8b03890293 | ||
|
|
dd11af7a66 | ||
|
|
4ff6ba3340 | ||
|
|
6360fa92d6 | ||
|
|
457fae0da3 | ||
|
|
bda0cc7f13 | ||
|
|
3cc34a87ae | ||
|
|
c61d25a462 | ||
|
|
d061a5416d | ||
|
|
5fe6070754 | ||
|
|
e23eb62875 | ||
|
|
50f29ecf3b | ||
|
|
e47e9be554 | ||
|
|
73e0f1c513 | ||
|
|
5c7428c075 | ||
|
|
45fe059c16 | ||
|
|
a4b2b9f2dd | ||
|
|
5e31ae8937 | ||
|
|
635eafa1c4 | ||
|
|
925ecc5411 | ||
|
|
1f86d7f49c | ||
|
|
71212daab0 | ||
|
|
d8c544d045 | ||
|
|
ff2f71da19 | ||
|
|
e9f93f832e | ||
|
|
0347c08dcd | ||
|
|
a3d8b17ddf | ||
|
|
63868d527c | ||
|
|
a61dac8f20 | ||
|
|
1c02f8aeac | ||
|
|
9b413b02bb | ||
|
|
50adbdafe6 | ||
|
|
b3e0b8b7e4 | ||
|
|
ae20dd77af | ||
|
|
3803c1bfef | ||
|
|
9c1236eb75 | ||
|
|
87eb2c5291 | ||
|
|
2a7c5ab1dc | ||
|
|
18e6d214b7 | ||
|
|
22a9df2436 | ||
|
|
a153022c54 | ||
|
|
d62551cfd8 | ||
|
|
b80ec8ae0c | ||
|
|
fd27f46b71 | ||
|
|
425541f9ee | ||
|
|
b09b73f6a9 | ||
|
|
2dd21ea4a3 | ||
|
|
55c7a48d5c | ||
|
|
f38e5acdb4 | ||
|
|
b17eda5165 | ||
|
|
1fea803865 | ||
|
|
978270b3bd | ||
|
|
828f46744a | ||
|
|
873e070e65 | ||
|
|
6ff1ee0c3c | ||
|
|
939bb3697a | ||
|
|
8d47c07338 | ||
|
|
e702053197 | ||
|
|
235226222e | ||
|
|
89f19575df | ||
|
|
8f7cbaca80 | ||
|
|
82e1d810a9 | ||
|
|
e6da85cccd | ||
|
|
7b6990eb3e | ||
|
|
3d9d62aa0c | ||
|
|
5181e15b75 | ||
|
|
452fa7dcc7 | ||
|
|
0a45b55904 | ||
|
|
9689e5609a | ||
|
|
e9a001ebb0 | ||
|
|
311e3a86ac | ||
|
|
ce5d0974f8 | ||
|
|
814b56b037 | ||
|
|
5484d5cec9 | ||
|
|
c6a66c19d9 | ||
|
|
f075f1d05c | ||
|
|
f8ce73132d | ||
|
|
90c97abe2f | ||
|
|
ead93c5c52 | ||
|
|
07f813b161 | ||
|
|
5d2b07625e | ||
|
|
6cc813dd4b | ||
|
|
5c60026660 | ||
|
|
a5619147fd | ||
|
|
a268e44885 | ||
|
|
93ce4daec4 | ||
|
|
e4ad4123e8 | ||
|
|
803adf21f1 | ||
|
|
7257708f26 | ||
|
|
f63923157a | ||
|
|
659c672343 | ||
|
|
840fcad351 | ||
|
|
8bc49f779e | ||
|
|
590a358995 | ||
|
|
2b17d48021 | ||
|
|
5c6ba6760f | ||
|
|
aa45627caf | ||
|
|
f9f3e83ec9 | ||
|
|
7994132213 | ||
|
|
9f8110866f | ||
|
|
1a18e3fb6a | ||
|
|
4558c2168f | ||
|
|
cb3eafe966 | ||
|
|
87fc1f3031 | ||
|
|
79da09ed2e | ||
|
|
1a5b17b0a8 | ||
|
|
09cf885fea | ||
|
|
acbc86fde5 | ||
|
|
6133db2ceb | ||
|
|
48367c2e6a | ||
|
|
0c65156918 | ||
|
|
fdd7c5b5e0 | ||
|
|
1e1ffbc349 | ||
|
|
b7773e47ad | ||
|
|
82c7aed748 | ||
|
|
ece6188585 | ||
|
|
efe2b52b6c | ||
|
|
a86f727b43 | ||
|
|
7f1c441cf1 | ||
|
|
64f2883d42 | ||
|
|
02f76a2073 | ||
|
|
d5aab88016 | ||
|
|
7d4c66fba3 | ||
|
|
027deef765 | ||
|
|
72f40d5ede | ||
|
|
ea78a8d62e | ||
|
|
6e9b906931 | ||
|
|
c664cb7443 | ||
|
|
53eeb5dfdd | ||
|
|
d7b0b34ef0 | ||
|
|
9237a76caa | ||
|
|
6abcb0bb89 | ||
|
|
a9450773c2 | ||
|
|
bc70dfc3e2 | ||
|
|
960c440b44 | ||
|
|
fba4e091d0 | ||
|
|
c9533b4ccd | ||
|
|
b23bbec2e8 | ||
|
|
74242e45ed | ||
|
|
70e647c048 | ||
|
|
414986a37a | ||
|
|
9c3436bae6 | ||
|
|
20bfe777ca | ||
|
|
f31eb6a5fa | ||
|
|
b212e078e8 | ||
|
|
cea9e7c383 | ||
|
|
15da4b4a0c | ||
|
|
9d3b721060 | ||
|
|
21a4265ed1 | ||
|
|
c6346f9058 | ||
|
|
6713483847 | ||
|
|
2eb77ee87a | ||
|
|
f3097649fe | ||
|
|
08665e1689 | ||
|
|
b4b8ba9265 | ||
|
|
969c3f70e8 | ||
|
|
4bd3a3cc35 | ||
|
|
f77ab77db0 | ||
|
|
ffc4f9ca56 | ||
|
|
8a783326a1 | ||
|
|
150b344a0d | ||
|
|
ee6ea78193 | ||
|
|
aff6b2b388 | ||
|
|
4106c4c721 | ||
|
|
1d4d36af15 | ||
|
|
86e2eb8d28 | ||
|
|
0bb9f02ad1 | ||
|
|
89290fc1c5 | ||
|
|
47341c85be | ||
|
|
4bfbd233b6 | ||
|
|
a38eae4d83 | ||
|
|
e4c6f87fd5 | ||
|
|
c4ef4e7877 | ||
|
|
c6ec15f858 | ||
|
|
4e1aa44ded | ||
|
|
751da673ae | ||
|
|
177a8a6dbc | ||
|
|
8143ad496b | ||
|
|
356e2134e0 | ||
|
|
bc56d184fa | ||
|
|
6b2ee6d66e | ||
|
|
d2cbeb414d | ||
|
|
ced01e989e | ||
|
|
9509f0c901 | ||
|
|
9ff5899462 | ||
|
|
c52ef3317e | ||
|
|
32a2d3adbe | ||
|
|
97e6301aaa | ||
|
|
b9640dc21a | ||
|
|
eb3fe02d5d | ||
|
|
7d4329fee3 | ||
|
|
4c974869ea | ||
|
|
82f9d4b31a | ||
|
|
ab8d03f070 | ||
|
|
dc4be165c2 | ||
|
|
64b97b3905 | ||
|
|
8a9eb35056 | ||
|
|
337da1d179 | ||
|
|
247b0f3c3c | ||
|
|
2755156867 | ||
|
|
239788d048 | ||
|
|
03c74f4732 | ||
|
|
16dbfbd967 | ||
|
|
608cafab78 | ||
|
|
85ae0a4b78 | ||
|
|
297898a054 | ||
|
|
729c5a72c6 | ||
|
|
5d6f83ff6b | ||
|
|
d6f3902c79 | ||
|
|
20f136b4ca | ||
|
|
0ee18e2c7b | ||
|
|
d5e96dfec6 | ||
|
|
6dc82f97d0 | ||
|
|
4ee5e575a3 | ||
|
|
52bf6d4f15 | ||
|
|
f4b2e45bd9 | ||
|
|
f04cf16c0b | ||
|
|
5c01aca236 | ||
|
|
84a5d1578d | ||
|
|
9ba2b627fb | ||
|
|
b1ef1010ad | ||
|
|
8270bdd411 | ||
|
|
17263ad34a | ||
|
|
61c7883bf5 | ||
|
|
94e93b1628 | ||
|
|
f5a90a2c0d | ||
|
|
f1ba757373 | ||
|
|
05a260cdf8 | ||
|
|
e182b67045 | ||
|
|
b37899d07b | ||
|
|
05b21d924f | ||
|
|
f31c2657d1 | ||
|
|
95f5c9b840 | ||
|
|
8a6e0b2d80 | ||
|
|
92c4ee2f81 | ||
|
|
337e6918ae | ||
|
|
852506749d | ||
|
|
c9fe935372 | ||
|
|
eacb89948b | ||
|
|
4b13f5d2aa | ||
|
|
c714ecf03a | ||
|
|
10d6cb3ee4 | ||
|
|
107bdd1ab3 | ||
|
|
ecf97ba9d0 | ||
|
|
236a3b35c7 | ||
|
|
b8951fa571 | ||
|
|
5f4fc9bfdb | ||
|
|
6149ec3300 | ||
|
|
32c6de36cd | ||
|
|
42ba8b6ee2 | ||
|
|
ca8654de44 | ||
|
|
86cb1dcfa0 | ||
|
|
9776c0de67 | ||
|
|
97e6350a33 | ||
|
|
82131fc308 | ||
|
|
1e42c9101b | ||
|
|
5f40fab6bc | ||
|
|
3b0649f5c8 | ||
|
|
3ec968551b | ||
|
|
933a4ef002 | ||
|
|
fbce4a5191 | ||
|
|
b35a739a62 | ||
|
|
1e1399c6be | ||
|
|
878a68ad90 | ||
|
|
39b4b715ca | ||
|
|
be9d0ff366 | ||
|
|
b9221445a8 | ||
|
|
a971404c7c | ||
|
|
f17f623c9c | ||
|
|
05b5eeb2ab | ||
|
|
ec64c426ad | ||
|
|
7a61237231 | ||
|
|
c58219db80 | ||
|
|
6afbe9ae31 | ||
|
|
c9bc8a4bd4 | ||
|
|
6b1e1ea629 | ||
|
|
4a0fe5d948 | ||
|
|
10eec5f5b0 | ||
|
|
4f9b803a6f | ||
|
|
2103cd853d | ||
|
|
2b5e93a992 | ||
|
|
95085514c0 | ||
|
|
8908ec51d0 | ||
|
|
b477534605 | ||
|
|
f12c91a8dc | ||
|
|
c4c924bb8b | ||
|
|
3887b99279 | ||
|
|
a424f3c3b3 | ||
|
|
0c35c6fc7e | ||
|
|
fb80a2c544 | ||
|
|
d802e03e21 | ||
|
|
3d551cdf82 | ||
|
|
5cc67b039c | ||
|
|
17ebc73a32 | ||
|
|
628340dca7 | ||
|
|
a6ff5af1c5 | ||
|
|
c466b4edf9 | ||
|
|
b5fe7833e7 | ||
|
|
d353e4f444 | ||
|
|
2d8a3cdafa | ||
|
|
4ea9483fa8 | ||
|
|
f65717abcf | ||
|
|
7a863f42ed | ||
|
|
8eb23c9155 | ||
|
|
6e82b10b07 | ||
|
|
8360d1cda2 | ||
|
|
e0f81e006e | ||
|
|
9ad71d6e2b | ||
|
|
fbc554b666 | ||
|
|
4141adf0e7 | ||
|
|
113f342f8e | ||
|
|
277f7a6f37 | ||
|
|
7c4049c2c4 | ||
|
|
1f75780edb | ||
|
|
767a98f27b | ||
|
|
68657414e4 | ||
|
|
3d5eefb1ec | ||
|
|
bc369619fd | ||
|
|
c777b1744f | ||
|
|
4c53750275 | ||
|
|
c6dd3bedd1 | ||
|
|
b2cdc7676b | ||
|
|
ec9718bad6 | ||
|
|
c4910c87d1 | ||
|
|
3fbc7bb9be | ||
|
|
9dee3e972a | ||
|
|
1cd3b71efd | ||
|
|
f206117fc7 | ||
|
|
588190a5a5 | ||
|
|
a6dc93f7cf | ||
|
|
1c85da5360 | ||
|
|
636a4ee3c3 | ||
|
|
e682ce8d49 | ||
|
|
7942c6356a | ||
|
|
5181421b0a | ||
|
|
bf7ef0e788 | ||
|
|
8ae44d0d5e | ||
|
|
3c1b4dd96f | ||
|
|
14cdece581 | ||
|
|
faa3c70559 | ||
|
|
857ea10703 | ||
|
|
e7a8bc5240 | ||
|
|
2043466257 | ||
|
|
795e53f726 | ||
|
|
a00cc41c03 | ||
|
|
086982a02d | ||
|
|
df3586eb1e | ||
|
|
0dfda8356a | ||
|
|
8f28894821 | ||
|
|
7c5027a203 | ||
|
|
ec8f16b74d | ||
|
|
c6288ecf09 | ||
|
|
bddb0aab11 | ||
|
|
8f3d30786c | ||
|
|
a8f5499654 | ||
|
|
ad4f06bda7 | ||
|
|
b74e22d638 | ||
|
|
5ea0e00924 | ||
|
|
d464740ec2 | ||
|
|
c1397d494c | ||
|
|
b25724afeb | ||
|
|
b35ed8d144 | ||
|
|
fd9f6b546f | ||
|
|
cf18982a65 | ||
|
|
537d6a66ec | ||
|
|
aa0d6a6eb6 | ||
|
|
54de199f0b | ||
|
|
b0c2f04982 | ||
|
|
aa23a749d7 | ||
|
|
6f78d70421 | ||
|
|
eb41f30142 | ||
|
|
37d702ecd1 | ||
|
|
cfb020e822 | ||
|
|
8a862304c3 | ||
|
|
8d7ffcf12f | ||
|
|
2d8424ab47 | ||
|
|
49c27f88e7 | ||
|
|
cdcfbf8889 | ||
|
|
7e65e3ac8b | ||
|
|
635220a5c4 | ||
|
|
beaa256595 | ||
|
|
38836b8b81 | ||
|
|
aca41f8e61 | ||
|
|
efbf6d4ba8 | ||
|
|
1bea3f5e26 | ||
|
|
227defeb9a | ||
|
|
6bc7500bb3 | ||
|
|
bc7e855e3d | ||
|
|
d732de3f29 | ||
|
|
b154319dce | ||
|
|
209861d81b | ||
|
|
f4919b026f | ||
|
|
bdf61c90ec | ||
|
|
3131a90556 | ||
|
|
9ac04252ff | ||
|
|
eecb2b76e9 | ||
|
|
876ea38b7b | ||
|
|
62c4c4a347 | ||
|
|
3d9946d124 | ||
|
|
b9a0d38749 | ||
|
|
2d7e4a3830 | ||
|
|
3fcd9aa265 | ||
|
|
e949f691d6 | ||
|
|
b323d42e90 | ||
|
|
197d6a6fc2 | ||
|
|
b602a0edc9 | ||
|
|
c5f9a4c526 | ||
|
|
0474e1f599 | ||
|
|
46ca156d01 | ||
|
|
b5b0c54050 | ||
|
|
56d0b691eb | ||
|
|
184afb3cc0 | ||
|
|
b99af20e7b | ||
|
|
8fb90d1621 | ||
|
|
112b9ed816 | ||
|
|
dc17bbd795 | ||
|
|
feb342ddce | ||
|
|
74821ce25b | ||
|
|
9294538a7e | ||
|
|
93456e6678 | ||
|
|
e526df5212 | ||
|
|
1209bdfe68 | ||
|
|
1bd3a69ca9 | ||
|
|
36f7c1900b | ||
|
|
92353c9aa1 | ||
|
|
741c9d0763 | ||
|
|
52944e9875 | ||
|
|
111be2d8ea | ||
|
|
1c8645e484 | ||
|
|
ea1f97a1cb | ||
|
|
f9958d5927 | ||
|
|
594231dbac | ||
|
|
6265645280 | ||
|
|
12f67cbc39 | ||
|
|
ad722ba649 | ||
|
|
bc65f71a3d | ||
|
|
5c410db4e2 | ||
|
|
a196fafaae | ||
|
|
6e0805264a | ||
|
|
313ca4c6e4 | ||
|
|
8d41f92ba4 | ||
|
|
7f0a3e9544 | ||
|
|
27729dd4ad | ||
|
|
b39e5d9f70 | ||
|
|
73333bc642 | ||
|
|
0679a01561 | ||
|
|
c1dbecc961 | ||
|
|
104b140074 | ||
|
|
519143dfec | ||
|
|
0f1282b5c0 | ||
|
|
665644d5ef | ||
|
|
bc3a17c329 | ||
|
|
454dda3965 | ||
|
|
17d28c9aa7 | ||
|
|
4aad8fac2d | ||
|
|
acadb03972 | ||
|
|
b429aae70f | ||
|
|
57a58e7218 | ||
|
|
65102d0a37 | ||
|
|
9d2e7707ac | ||
|
|
e721d4c2a3 | ||
|
|
595d0a1f5c | ||
|
|
09d96d8732 | ||
|
|
ffd38e9cde | ||
|
|
fba2f67595 | ||
|
|
115559ffed | ||
|
|
98f01bb26b | ||
|
|
965dd2026b | ||
|
|
861eae84ed | ||
|
|
5eba731f91 | ||
|
|
1dc85d938f | ||
|
|
401f9a277d | ||
|
|
53f822c37a | ||
|
|
4c6ab15910 | ||
|
|
f085ce5cb2 | ||
|
|
6a55612dba | ||
|
|
c15ad372d9 | ||
|
|
ce3fdedd0a | ||
|
|
382613d61e | ||
|
|
821a0495bf | ||
|
|
1b8daf26ed | ||
|
|
8c5dfbeaeb | ||
|
|
129a8a06e6 | ||
|
|
4de49f4176 | ||
|
|
850b52ea15 | ||
|
|
3ba767f344 | ||
|
|
15b7a6e75a | ||
|
|
b0eada9263 | ||
|
|
ecdab92c46 | ||
|
|
c1d783ee60 | ||
|
|
d3cc9355a6 | ||
|
|
bb2268475a | ||
|
|
4f81a088a3 | ||
|
|
f7debbf4bd | ||
|
|
16a21cff8a | ||
|
|
bc5d7cae35 | ||
|
|
bff0d1cf06 | ||
|
|
3365332f4b | ||
|
|
23858a8051 | ||
|
|
f5b77b7b52 | ||
|
|
e56e71035f | ||
|
|
70149690a8 | ||
|
|
4f4345a7f0 | ||
|
|
ae7a4516cb | ||
|
|
1b07f076b9 | ||
|
|
29b483cf9c | ||
|
|
932085826e | ||
|
|
4242aa5826 | ||
|
|
9fced7e001 | ||
|
|
a974b20437 | ||
|
|
f23a2e276e | ||
|
|
cf27b47745 | ||
|
|
6cabe64c6f | ||
|
|
2acfcb8771 | ||
|
|
b28347cdc1 | ||
|
|
6b93b2948c | ||
|
|
6bf67d4265 | ||
|
|
ecbbf9e42c | ||
|
|
f261592fb9 | ||
|
|
367e039e88 | ||
|
|
8fa70248e8 | ||
|
|
5fc4947be0 | ||
|
|
9c56d67323 | ||
|
|
c97f83f05d | ||
|
|
69ba8b1118 | ||
|
|
4626abc17a | ||
|
|
aa0b012710 | ||
|
|
a2c54c1da0 | ||
|
|
77b165637d | ||
|
|
989c9912df | ||
|
|
4cdb1c4021 | ||
|
|
8f59a46dd2 | ||
|
|
def926e0e8 | ||
|
|
53e6268b73 | ||
|
|
5e56db2b67 | ||
|
|
736dda26f8 | ||
|
|
ed3ba1c6fa | ||
|
|
527222d020 | ||
|
|
3bbf0adb98 | ||
|
|
96cfafc16a | ||
|
|
e5df5f2486 | ||
|
|
6b7be99f2a | ||
|
|
e10466cdc6 | ||
|
|
7ba14d560f | ||
|
|
1915628371 | ||
|
|
8c54dac35e | ||
|
|
48887f408c | ||
|
|
7d8afbe1fc | ||
|
|
1c72774626 | ||
|
|
590ee22c17 | ||
|
|
1e097ba742 | ||
|
|
a7084fffdd | ||
|
|
0625def463 | ||
|
|
5faa30e7c4 | ||
|
|
d6a60b6618 | ||
|
|
7979e7f7a9 | ||
|
|
a192a34c9f | ||
|
|
a8c5e5e57d | ||
|
|
38fc772185 | ||
|
|
67791fd7ea | ||
|
|
a9ac9b9fe2 | ||
|
|
1daba692cc | ||
|
|
28b0e42aba | ||
|
|
51c6e44efc | ||
|
|
7c268ef396 | ||
|
|
94055df65e | ||
|
|
8e85c1e571 | ||
|
|
4df715b9e6 | ||
|
|
d59b32bd18 | ||
|
|
590de460ee | ||
|
|
8a06f752da | ||
|
|
4af0e1733d | ||
|
|
dc6a41b42b | ||
|
|
3f32a9d92d | ||
|
|
3d7eedf8ce | ||
|
|
de4ecce2bd | ||
|
|
9c8705c60e | ||
|
|
01a9595694 | ||
|
|
e424f47c96 | ||
|
|
fc04d11b6a | ||
|
|
1417131a7d | ||
|
|
edf88f638b | ||
|
|
c3cf46d3d1 | ||
|
|
0eed5b992a | ||
|
|
1da87cc611 | ||
|
|
a659ffec0f | ||
|
|
0fcc87de16 | ||
|
|
7d9c05374a | ||
|
|
ad417fc46e | ||
|
|
71e779053f | ||
|
|
b8792ca15a | ||
|
|
58271c627d | ||
|
|
5597808506 | ||
|
|
6f66bd2d1a | ||
|
|
566099dbde | ||
|
|
46b2c320ae | ||
|
|
b6d2a02b82 | ||
|
|
3f28c90896 | ||
|
|
e6f9d0950c | ||
|
|
59453cd7dd | ||
|
|
b2f08d3de7 | ||
|
|
a5cb193326 | ||
|
|
782d4009db | ||
|
|
cf57a22d92 | ||
|
|
49714c7107 | ||
|
|
deed8da3d3 | ||
|
|
b92bcf8ba3 | ||
|
|
7731439bc3 | ||
|
|
96d2b06d21 | ||
|
|
df7a1bec87 | ||
|
|
85af0334ec | ||
|
|
56162d1823 | ||
|
|
3833b77c43 | ||
|
|
80c04454a7 | ||
|
|
c58ccb5782 | ||
|
|
405ca66675 | ||
|
|
217012a720 | ||
|
|
fab5a6373f | ||
|
|
7acdee2a35 | ||
|
|
3a4844849b | ||
|
|
69ca085779 | ||
|
|
4cf99d6a00 | ||
|
|
e843fa87e2 | ||
|
|
f5d9f1e2ee | ||
|
|
6b80c4bcf2 | ||
|
|
d4d80f1e31 | ||
|
|
f88b461b4e | ||
|
|
e05cd073f3 | ||
|
|
b81f1bf78b | ||
|
|
671a13af47 | ||
|
|
bf24fa50b8 | ||
|
|
7385434e5f | ||
|
|
288d33b7f3 | ||
|
|
e9fc09779a | ||
|
|
6cd8d1a0f2 | ||
|
|
d741283825 | ||
|
|
e64f373a14 | ||
|
|
029753b1d7 | ||
|
|
9fc2e932d1 | ||
|
|
f2e8824888 | ||
|
|
8f463cba30 | ||
|
|
d79d20f576 | ||
|
|
418bd3d459 | ||
|
|
7f86b500e5 | ||
|
|
b98c17ffe6 | ||
|
|
bffaafc064 | ||
|
|
17cfb13986 | ||
|
|
c9377f239b | ||
|
|
8b4fd04a64 | ||
|
|
7b9733c248 | ||
|
|
b8dc944305 | ||
|
|
a5f21830be | ||
|
|
15c6db5883 | ||
|
|
ffca35a46b | ||
|
|
f9263ce5e4 | ||
|
|
ac9851ccf5 | ||
|
|
7b11429a69 | ||
|
|
2ab2298b4c | ||
|
|
fedb30b3ec | ||
|
|
48855143d7 | ||
|
|
6617c84761 | ||
|
|
6499327f6c | ||
|
|
50c0e287ca | ||
|
|
8637faa31d | ||
|
|
f76f04d0f1 | ||
|
|
8989502744 | ||
|
|
bbc6510e02 | ||
|
|
3f0484c1b7 | ||
|
|
a119131e53 | ||
|
|
cdcf5bc4c9 | ||
|
|
ecf89077fd | ||
|
|
5deea89f89 | ||
|
|
1d1e89b871 | ||
|
|
8c15db92ce | ||
|
|
af47512cc3 | ||
|
|
faa11cf813 | ||
|
|
ee0787886a | ||
|
|
baee895be4 | ||
|
|
12d017aa3e | ||
|
|
41639d2324 | ||
|
|
2df132ebe0 | ||
|
|
4dc75ed816 | ||
|
|
a9bf227542 | ||
|
|
60a807f04b | ||
|
|
e34f164b7a | ||
|
|
82822f4b61 | ||
|
|
d05fa4416e | ||
|
|
4da7dc93af | ||
|
|
24537a92b8 | ||
|
|
ef6919f1a4 | ||
|
|
fc14d58d35 | ||
|
|
8d5344138d | ||
|
|
bae48adaa7 | ||
|
|
ec02fdf61f | ||
|
|
46a6c0a2ae | ||
|
|
b8a562ac38 | ||
|
|
b95fb233c7 | ||
|
|
e6b5b429b3 | ||
|
|
62115ca70a | ||
|
|
1e08531225 | ||
|
|
cae1407294 | ||
|
|
70afe1362e | ||
|
|
0bfc173db6 | ||
|
|
9442b84d48 | ||
|
|
c4ce57accd | ||
|
|
f271b3020f | ||
|
|
0c97326f3b | ||
|
|
452b497fbc | ||
|
|
c27e654d9f | ||
|
|
3469330595 | ||
|
|
862964fd14 | ||
|
|
8327328f3c | ||
|
|
4101e810af | ||
|
|
9173078a8a | ||
|
|
09cd581bce | ||
|
|
2ad2ae3dd7 | ||
|
|
d5cd31d18b | ||
|
|
c439d448ef | ||
|
|
6a425adefb | ||
|
|
0edb184b78 | ||
|
|
5e2cc883ac | ||
|
|
04864d2a5f | ||
|
|
82def20777 | ||
|
|
87755acc66 | ||
|
|
73ccd21ac3 | ||
|
|
e0fdb8d78b | ||
|
|
5678f55b88 | ||
|
|
ea5d51331b | ||
|
|
39195250f1 | ||
|
|
ebeadfbf4f | ||
|
|
9ae1b035aa | ||
|
|
da14158f91 | ||
|
|
e9a68d6ffa | ||
|
|
26c3be022f | ||
|
|
4976071954 | ||
|
|
38327ad6f1 | ||
|
|
0845f1f20f | ||
|
|
d37ec162df | ||
|
|
653d5e5478 | ||
|
|
7b8b7d3e0a | ||
|
|
00c068b754 | ||
|
|
5effe2e155 | ||
|
|
266b0098e8 | ||
|
|
8214893d38 | ||
|
|
7c5f3867e8 | ||
|
|
1f1fe3f56d | ||
|
|
614a40dd35 | ||
|
|
6c54936f65 | ||
|
|
a68cc1872e | ||
|
|
d3223fc12e | ||
|
|
51eaf4b4e5 | ||
|
|
e956002b52 | ||
|
|
e3d7974d54 | ||
|
|
915c3bf602 | ||
|
|
792476d107 | ||
|
|
470ae6a629 | ||
|
|
4437c542ee | ||
|
|
ed1a69af14 | ||
|
|
29f9729238 | ||
|
|
ab038ecc12 | ||
|
|
c497b397bc | ||
|
|
6037886e71 | ||
|
|
2387604abb | ||
|
|
ad5ccf60c4 | ||
|
|
8a5c471e6b | ||
|
|
0a3941eb5c | ||
|
|
54ae80c293 | ||
|
|
791db8a380 | ||
|
|
f35d761b40 | ||
|
|
65c11e3055 | ||
|
|
4925b0ae99 | ||
|
|
1504eae2c5 | ||
|
|
559f9b17cc | ||
|
|
4516797a49 | ||
|
|
998e281c9b | ||
|
|
711cee76bb | ||
|
|
d620a3b5d3 | ||
|
|
dc83eaa766 | ||
|
|
78295b501a | ||
|
|
900a03e41e | ||
|
|
3cfbaec535 | ||
|
|
7086fecda4 | ||
|
|
fab4c7f804 | ||
|
|
ca65b033b4 | ||
|
|
cb9b19de51 | ||
|
|
37b140f708 | ||
|
|
acdf6c02cd | ||
|
|
624a912953 | ||
|
|
39b30b2941 | ||
|
|
1a1ac503a2 | ||
|
|
9fe7d90ade | ||
|
|
1f31d070e1 | ||
|
|
bf5788ed1c | ||
|
|
9614336df4 | ||
|
|
66c8c3a2de | ||
|
|
8c4211b107 | ||
|
|
68e3926482 | ||
|
|
0cd5015c70 | ||
|
|
b8f26004f5 | ||
|
|
1e1b07d0a4 | ||
|
|
cb347817d8 | ||
|
|
ca86c9dda2 | ||
|
|
a3f95713c0 | ||
|
|
1206ab5c62 | ||
|
|
1d8110dc88 | ||
|
|
b5aca67d03 | ||
|
|
f3eb849e1b | ||
|
|
784004deb1 | ||
|
|
e2aa6800ac | ||
|
|
52f646e428 | ||
|
|
8583c03ae0 | ||
|
|
7574f996b6 | ||
|
|
64866762c5 | ||
|
|
64f9453f79 | ||
|
|
d71c4141fb | ||
|
|
0b5cb8baf0 | ||
|
|
1233f4dd56 | ||
|
|
d3ea7e1c1c | ||
|
|
d4c73d9409 | ||
|
|
32f72d0844 | ||
|
|
4fb97728cf | ||
|
|
f0e549814f | ||
|
|
dad7fa5363 | ||
|
|
f3a6a2fafb | ||
|
|
d6aaab5427 | ||
|
|
3d2dcce9c0 | ||
|
|
994ea7bf02 | ||
|
|
1a66b83cd9 | ||
|
|
6b6f612282 | ||
|
|
1c65059c51 | ||
|
|
ac81a393e8 | ||
|
|
625a110534 | ||
|
|
342242680a | ||
|
|
c72594482d | ||
|
|
38fc323821 | ||
|
|
505768ed9d | ||
|
|
33f16f10f0 | ||
|
|
5fd6be6935 | ||
|
|
73c56c96a1 | ||
|
|
30b7ca4df0 | ||
|
|
bd88bbf881 | ||
|
|
1a10eff1fb | ||
|
|
50fdefa435 | ||
|
|
62725ca288 | ||
|
|
6e2424b528 | ||
|
|
420907d206 | ||
|
|
fc44aa21d0 | ||
|
|
f78f508384 | ||
|
|
f3d9399d2e | ||
|
|
e4a2864d9d | ||
|
|
8d801e181f | ||
|
|
a312cf6aab | ||
|
|
9f6b54b299 | ||
|
|
db9675b54e | ||
|
|
6dc9efe9f9 | ||
|
|
2157ce7b02 | ||
|
|
05d8822762 | ||
|
|
33a517aa4b | ||
|
|
7419e32af3 | ||
|
|
3164927628 | ||
|
|
6e8402d17e | ||
|
|
32cb856d14 | ||
|
|
526112f7d2 | ||
|
|
12e06d3fce | ||
|
|
7384dec6fa | ||
|
|
e280973699 | ||
|
|
4714024b69 | ||
|
|
3d46dbae6e | ||
|
|
03479060f3 | ||
|
|
1a8610d825 | ||
|
|
ccbd06641f | ||
|
|
11df90905b | ||
|
|
a935c4e871 | ||
|
|
754120085f | ||
|
|
c10ceae0f9 | ||
|
|
a17e328a78 | ||
|
|
31f0a04cb3 | ||
|
|
382ff53c09 | ||
|
|
542c6ceea5 | ||
|
|
fd5362bb0d | ||
|
|
f489fe39f2 | ||
|
|
e97a18eee9 | ||
|
|
ee9d6ef531 | ||
|
|
ea0e7494f8 | ||
|
|
7e9e931324 | ||
|
|
b14ad5fe2c | ||
|
|
89257ebbb2 | ||
|
|
09422b5293 | ||
|
|
8376ca6bf4 | ||
|
|
5f756835b4 | ||
|
|
f2db067956 | ||
|
|
5a7a4c8e4f | ||
|
|
44b431298d | ||
|
|
65f1a24ec0 | ||
|
|
01d24f4154 | ||
|
|
5d5ce7a527 | ||
|
|
3c48a9781f | ||
|
|
199bf80b89 | ||
|
|
06b3af2ad6 | ||
|
|
7e4c75de56 | ||
|
|
7d976671b8 | ||
|
|
aa074f2010 | ||
|
|
9be9fc7057 | ||
|
|
a47cd3fcb5 | ||
|
|
f5e4aa1caa | ||
|
|
12ac546a61 | ||
|
|
b61692de51 | ||
|
|
fbf50266a4 | ||
|
|
c348e37b5d | ||
|
|
ed4831a7d2 | ||
|
|
71b9baf53d | ||
|
|
d0452816c6 | ||
|
|
90f84dcda1 | ||
|
|
db0d9c9b65 | ||
|
|
669e38624b | ||
|
|
4d34eae39d | ||
|
|
96d7699304 | ||
|
|
f2cbdaee48 | ||
|
|
9cf327fe87 | ||
|
|
411413d512 | ||
|
|
739ea51629 | ||
|
|
65a2270900 | ||
|
|
63eb2003c8 | ||
|
|
58c3757f75 | ||
|
|
d9400d52b5 | ||
|
|
5fa370c8e8 | ||
|
|
4283ace69a | ||
|
|
404ffa8a50 | ||
|
|
47c961e6ee | ||
|
|
1db0325652 | ||
|
|
45782f8984 | ||
|
|
de902108cb | ||
|
|
d49615b5f9 | ||
|
|
58fa683d94 | ||
|
|
19077c5e73 | ||
|
|
db71d916d7 | ||
|
|
03abf64304 | ||
|
|
a93347330a | ||
|
|
de50616b07 | ||
|
|
9bcfdfc2db | ||
|
|
aa054dd7f2 | ||
|
|
b9733648be | ||
|
|
df8e88dae9 | ||
|
|
99aeb26696 | ||
|
|
8e79129507 | ||
|
|
9a0b353ba6 | ||
|
|
0a2ec7e17d | ||
|
|
dce481591c | ||
|
|
e12146b22f | ||
|
|
960d1d31d2 | ||
|
|
f15a427476 | ||
|
|
326e84cdaa | ||
|
|
26a3f0ebd1 | ||
|
|
e4817ee449 | ||
|
|
84115c9470 | ||
|
|
1df318cec9 | ||
|
|
09008518ee | ||
|
|
2a0b703df2 | ||
|
|
e8c7b76cd7 | ||
|
|
a16e7ddf23 | ||
|
|
f99740a4b4 | ||
|
|
02eda4d1c3 | ||
|
|
9bed263117 | ||
|
|
d25fbbdb89 | ||
|
|
4642cba46e | ||
|
|
ea94f942da | ||
|
|
323c0a18c6 | ||
|
|
eb898e6350 | ||
|
|
c61a3debff | ||
|
|
d69540e130 | ||
|
|
f26b68ebc4 | ||
|
|
73169196b7 | ||
|
|
4271292239 | ||
|
|
3540fe90b8 | ||
|
|
397945f8b6 | ||
|
|
736b07297e | ||
|
|
ff5c1ee3a6 | ||
|
|
a59aa0073f | ||
|
|
e551073110 | ||
|
|
408d6a80cc | ||
|
|
abd1db19d4 | ||
|
|
9d35a4b589 | ||
|
|
2ab6881790 | ||
|
|
3b032e5f4e | ||
|
|
ac1c960a55 | ||
|
|
38563d62a1 | ||
|
|
3a0a91acb6 | ||
|
|
1492ac8f9f | ||
|
|
97a0bb772c | ||
|
|
e8f11412c9 | ||
|
|
5768412acf | ||
|
|
ff7383d514 | ||
|
|
47a9dd9824 | ||
|
|
dd6f1457f5 | ||
|
|
66d92fd707 | ||
|
|
694248caab | ||
|
|
5d0955fca8 | ||
|
|
dd8640b48a | ||
|
|
61426543ca | ||
|
|
a4a73a95c5 | ||
|
|
9158b6fd53 | ||
|
|
bd442a5843 | ||
|
|
fcdaa8c251 | ||
|
|
4912981650 | ||
|
|
c59949f4c1 | ||
|
|
d0c62655b5 | ||
|
|
5ee2589e01 | ||
|
|
360827bcfb | ||
|
|
84c0803c96 | ||
|
|
8f868bc06b | ||
|
|
c93d5fd895 | ||
|
|
1450e8be02 | ||
|
|
c4893b44de | ||
|
|
8071825d99 | ||
|
|
96db1119ff | ||
|
|
bd8c06b87c | ||
|
|
f1758c5795 | ||
|
|
658b6ca7fc | ||
|
|
d55b8d88f4 | ||
|
|
762e998c4c | ||
|
|
902521b91f | ||
|
|
057683d0ff | ||
|
|
dcdc12a76a | ||
|
|
d0b26e732f | ||
|
|
c50b6f2b7e | ||
|
|
81925e09ac | ||
|
|
b349d1bc33 | ||
|
|
40fc6aa724 | ||
|
|
19f9fb1cee | ||
|
|
48baf79028 | ||
|
|
72ab1bb2cc | ||
|
|
8d88a89709 | ||
|
|
0c8b71bea9 | ||
|
|
cef9cc0686 | ||
|
|
f9c8a6e677 | ||
|
|
6a78556d0d | ||
|
|
3fb2e8cdc1 | ||
|
|
88ea7fe8be | ||
|
|
be840dfce6 | ||
|
|
1e256e780b | ||
|
|
8f0c68b084 | ||
|
|
aecc53ddee | ||
|
|
1172b5321d | ||
|
|
ea866d30f9 | ||
|
|
b28b4c95c0 | ||
|
|
9dceb187db | ||
|
|
7b05edfdcf | ||
|
|
22749c2494 | ||
|
|
beb7b544ae | ||
|
|
55b9f3f9c7 | ||
|
|
7cce2d9f35 | ||
|
|
dc721592a8 | ||
|
|
185df068f1 | ||
|
|
c6bbedd3a6 | ||
|
|
1f6cdc5bdc | ||
|
|
95151b6b7d | ||
|
|
19be4b8be5 | ||
|
|
45a381e69d | ||
|
|
e476343fdc | ||
|
|
33a4e3a756 | ||
|
|
77d1bfe1a6 | ||
|
|
950c5732d0 | ||
|
|
332a6dc342 | ||
|
|
2204cd8fff | ||
|
|
638fc1a664 | ||
|
|
2a204436d6 | ||
|
|
433787eee0 | ||
|
|
a10cc522b0 | ||
|
|
c283e609c5 | ||
|
|
96cc97df1d | ||
|
|
f02a890963 | ||
|
|
5c38f9909f | ||
|
|
1c18f91d76 | ||
|
|
bfde5c6a80 | ||
|
|
4f7c5ed194 | ||
|
|
4c803daf82 | ||
|
|
080ce5ce10 | ||
|
|
55e9ede66f | ||
|
|
15f321f36d | ||
|
|
f852c296f8 | ||
|
|
33684668be | ||
|
|
74690023e6 | ||
|
|
e15e38b43c | ||
|
|
4a6b5706e8 | ||
|
|
f05f897e0d | ||
|
|
78a9652b67 | ||
|
|
36d4353ec2 | ||
|
|
76da160204 | ||
|
|
69c5aef752 | ||
|
|
4c0ef9bdb9 | ||
|
|
307cf267a7 | ||
|
|
51ce7657fc | ||
|
|
126ee5ab4d | ||
|
|
ac61adda83 | ||
|
|
4bd5fa8b66 | ||
|
|
11238938dc | ||
|
|
d524b521f5 | ||
|
|
c1b7283e52 | ||
|
|
e84066162e | ||
|
|
febc9a9056 | ||
|
|
9710b0fa91 | ||
|
|
1cc4e1a6d4 | ||
|
|
db44690f88 | ||
|
|
9273e61882 | ||
|
|
7d001ddf22 | ||
|
|
0e4a008731 | ||
|
|
3b7df57c67 | ||
|
|
e6f34fe601 | ||
|
|
6c05fe0563 | ||
|
|
260fcaae27 | ||
|
|
b5c737ec24 | ||
|
|
3ff42e51e4 | ||
|
|
ed0169764b | ||
|
|
76b4665749 | ||
|
|
731eeb85a4 | ||
|
|
c1e5ecdb93 | ||
|
|
c1c69f5050 | ||
|
|
722c848093 | ||
|
|
c0523e8b20 | ||
|
|
558587b288 | ||
|
|
c0535cc9d1 | ||
|
|
5ef39c0ae1 | ||
|
|
26a5245c0e | ||
|
|
c706ecd0cc | ||
|
|
f2ff9dd6e1 | ||
|
|
c4bfebe9db | ||
|
|
6832348e8a | ||
|
|
7dd4456a43 | ||
|
|
662cdea246 | ||
|
|
40c26680dd | ||
|
|
0cdaeea98e | ||
|
|
9c111c47a1 | ||
|
|
cf4993f535 | ||
|
|
8039311b2f | ||
|
|
adddd9e437 | ||
|
|
2a5cd80e4d | ||
|
|
a38ada3441 | ||
|
|
2a0102ec54 | ||
|
|
ac85b98fd1 | ||
|
|
bd6e1e66ad | ||
|
|
ffe7f986ae | ||
|
|
750da2d479 | ||
|
|
fa2fd74d0b | ||
|
|
fb8a6e390a | ||
|
|
5e8f889bb3 | ||
|
|
d63c16e5a3 | ||
|
|
cf1a074cbb | ||
|
|
7c439b6dde | ||
|
|
ceff2d0662 | ||
|
|
f245eb5393 | ||
|
|
cdf50e09ec | ||
|
|
f41f8320bb | ||
|
|
43010ab94d | ||
|
|
50864b6101 | ||
|
|
3af3d3d0bf | ||
|
|
5685427b64 | ||
|
|
f96a2396dc | ||
|
|
2714779963 | ||
|
|
fe2f20d442 | ||
|
|
81c3841ec0 | ||
|
|
966e380ea3 | ||
|
|
9317b08fed | ||
|
|
75a8c93e06 | ||
|
|
289ddbadbc | ||
|
|
51ddd29f47 | ||
|
|
fe6639f845 | ||
|
|
7a3c40b5ac | ||
|
|
e09a0cec68 | ||
|
|
e363e8c55c | ||
|
|
01a2972054 | ||
|
|
d8cde3efab | ||
|
|
034f32932a | ||
|
|
ba4c2bcdda | ||
|
|
4bb5daae68 | ||
|
|
9f57937e81 | ||
|
|
50ce1e9e57 | ||
|
|
9fffaa349f | ||
|
|
519cbbb59e | ||
|
|
63bea6e63b | ||
|
|
8dd104c316 | ||
|
|
d54b519906 | ||
|
|
2970109283 | ||
|
|
9b5653301e | ||
|
|
491687f613 | ||
|
|
eda25907ab | ||
|
|
755c465b55 | ||
|
|
bc28eacb51 | ||
|
|
16f8dcacef | ||
|
|
391c7be6c1 | ||
|
|
9296441020 | ||
|
|
773a3dd7e8 | ||
|
|
8225a06497 | ||
|
|
37bd069060 | ||
|
|
237225749e | ||
|
|
49fb85cbe0 | ||
|
|
c238f845cd | ||
|
|
f10b7bda75 | ||
|
|
6e5f3897ac | ||
|
|
51967e97a3 | ||
|
|
2d8ef1df21 | ||
|
|
d05aecdf65 | ||
|
|
ecf2b2a485 | ||
|
|
85b5e24426 | ||
|
|
e0b49d4085 | ||
|
|
fe14aface9 | ||
|
|
3352cec44a | ||
|
|
1b2579b8ed | ||
|
|
e44f019345 | ||
|
|
d6219e5dd8 | ||
|
|
d756814e6f | ||
|
|
b96d3ddaa3 | ||
|
|
cd6168908a | ||
|
|
b100f8dd6e | ||
|
|
96772328a8 | ||
|
|
e765f9f22c | ||
|
|
073e2f06d2 | ||
|
|
8ec694b1cd | ||
|
|
6e7bb58e74 | ||
|
|
5a20d9f94b | ||
|
|
d1663fbf00 | ||
|
|
a99648b25c | ||
|
|
9011d64627 | ||
|
|
eb833a93a2 | ||
|
|
1a30aa3181 | ||
|
|
9dafb83692 | ||
|
|
6a21f99864 | ||
|
|
38023a445d | ||
|
|
168387237e | ||
|
|
d125cc49d7 | ||
|
|
a99a4610a3 | ||
|
|
4f77f9b6aa | ||
|
|
145770a206 | ||
|
|
bdca76822f | ||
|
|
e4cd76ae2b | ||
|
|
c3bc952d81 | ||
|
|
16a6df599d | ||
|
|
dde01d3f15 | ||
|
|
bd11ed77ec | ||
|
|
3c7a133fca | ||
|
|
417e75ad4e | ||
|
|
4586b3ca56 | ||
|
|
314bc0b21f | ||
|
|
788aa1925b | ||
|
|
456f4de181 | ||
|
|
6780f536a8 | ||
|
|
183c28b862 | ||
|
|
80ad1035fb | ||
|
|
ec20a43911 | ||
|
|
c4e304f3c7 | ||
|
|
b93b6a350e | ||
|
|
99390442b3 | ||
|
|
2bbfba871e | ||
|
|
23a7679acf | ||
|
|
df9258f28a | ||
|
|
c8555e195d | ||
|
|
de9624393c | ||
|
|
54086784a0 | ||
|
|
7358ccb06a | ||
|
|
6fc2c74f25 | ||
|
|
5eb4a1e6ac | ||
|
|
ac9c6fd73f | ||
|
|
93ff2d3207 | ||
|
|
c580640fe3 | ||
|
|
7019b691fd | ||
|
|
2ebb183c85 | ||
|
|
c04c77eed7 | ||
|
|
f2411f9446 | ||
|
|
76d65f14ff | ||
|
|
04a88f6dd4 | ||
|
|
53ecf623c4 | ||
|
|
5a9913ce77 | ||
|
|
f84fef215d | ||
|
|
4f4f62ffad | ||
|
|
05a2adaac4 | ||
|
|
151b434295 | ||
|
|
53706076dd | ||
|
|
fa3a7c6b47 | ||
|
|
5a75e57a51 | ||
|
|
871b905ad9 | ||
|
|
82207220b8 | ||
|
|
5c732ad368 | ||
|
|
5134949685 | ||
|
|
a44634615b | ||
|
|
e5bf005059 | ||
|
|
3b51180cae | ||
|
|
b2256ab0c2 | ||
|
|
585e6088fa | ||
|
|
b403aafd66 | ||
|
|
d0f1bd7232 | ||
|
|
97a835bbf6 | ||
|
|
e742ca3ed2 | ||
|
|
219f9b7ee8 | ||
|
|
9c2e3c5926 | ||
|
|
acfef2b3f7 | ||
|
|
823500766d | ||
|
|
e94365ec15 | ||
|
|
813a0696ae | ||
|
|
2601126441 | ||
|
|
72c7df8a66 | ||
|
|
b4f2fec96a | ||
|
|
2b69619b19 | ||
|
|
a9fd7d5d13 | ||
|
|
613e211976 | ||
|
|
1db14ea411 | ||
|
|
19d1f0d280 | ||
|
|
e1aa69ac89 | ||
|
|
fe5a1ea9c4 | ||
|
|
c90388f0c9 | ||
|
|
337bd8e896 | ||
|
|
f7936d2e50 | ||
|
|
7dbc810f2b | ||
|
|
237df0993b | ||
|
|
565452d4a8 | ||
|
|
669b83699d | ||
|
|
58bb3d3de8 | ||
|
|
d2d3fe027f | ||
|
|
ecc468e74c | ||
|
|
f17f0deb82 | ||
|
|
0526fe8a33 | ||
|
|
c0dd8c46ad | ||
|
|
e294ae6e60 | ||
|
|
4b54ae590a | ||
|
|
c22ab6e2ee | ||
|
|
33531a57ec | ||
|
|
89c2f5e3af | ||
|
|
e2c8fe41b5 | ||
|
|
b71f1cfc53 | ||
|
|
c1767c564f | ||
|
|
2676e0d77e | ||
|
|
0eaa9c51b6 | ||
|
|
0c2f9590ca | ||
|
|
26ffadbc03 | ||
|
|
1f461608ba | ||
|
|
6042ed7028 | ||
|
|
414230c867 | ||
|
|
eb987c51a3 | ||
|
|
12c8a99d5f | ||
|
|
c47acd6422 | ||
|
|
f0e7f3c043 | ||
|
|
f35aa5f595 | ||
|
|
832e5f5960 | ||
|
|
725ffbd82f | ||
|
|
2d0a49b693 | ||
|
|
1575606f45 | ||
|
|
de9cbe0456 | ||
|
|
59acc00684 | ||
|
|
9b911fc143 | ||
|
|
6b6e51be00 | ||
|
|
fa53249cd6 | ||
|
|
d9d2573627 | ||
|
|
0f452cf6ad | ||
|
|
4a45bbb3ea | ||
|
|
3acfd4c9bb | ||
|
|
e3041400c7 | ||
|
|
2fef8f1823 | ||
|
|
7655714311 | ||
|
|
289e72ffb0 | ||
|
|
2d0858109e | ||
|
|
4e947e1494 | ||
|
|
41303a6a75 | ||
|
|
1ea12f9d28 | ||
|
|
bd67c0d178 | ||
|
|
6d31d0f360 | ||
|
|
42aada4d2a | ||
|
|
b887fdb26b | ||
|
|
84602a171d | ||
|
|
4a145ee473 | ||
|
|
4356d8663c | ||
|
|
b91052af3a | ||
|
|
93bf50656c | ||
|
|
eb83eb194c | ||
|
|
5a20373747 | ||
|
|
aa70256bb5 | ||
|
|
f0a38970ad | ||
|
|
14c67d19e6 | ||
|
|
b13dc50bb7 | ||
|
|
46a94a9df3 | ||
|
|
e11a7a60b8 | ||
|
|
ab0e07c17f | ||
|
|
e15a9e653d | ||
|
|
5475100c1f | ||
|
|
1a008b4065 | ||
|
|
8802e74a4d | ||
|
|
d5dd43ed18 | ||
|
|
2f872756bc | ||
|
|
23d18aa628 | ||
|
|
259537a510 | ||
|
|
bf7066b80b | ||
|
|
b9efa1f909 | ||
|
|
647e759afc | ||
|
|
b1e184416f | ||
|
|
5aab1447dd | ||
|
|
f4faa02382 | ||
|
|
1dad69f002 | ||
|
|
2f3ecc79c2 | ||
|
|
e955c75a99 | ||
|
|
d42e401c7b | ||
|
|
d4bf61ec58 | ||
|
|
8b34471e17 | ||
|
|
fccc45540f | ||
|
|
f75f52d286 | ||
|
|
233948221a | ||
|
|
8b92720a40 | ||
|
|
01fbcc6107 | ||
|
|
e95967a103 | ||
|
|
1d12e74c78 | ||
|
|
db7d00882c | ||
|
|
b89dd2b6ee | ||
|
|
0a1ec411ae | ||
|
|
c88a3cf50c | ||
|
|
8dcd06844e | ||
|
|
0b671cc18b | ||
|
|
e75e4228db | ||
|
|
33512f6add | ||
|
|
5da72de391 | ||
|
|
d8643c57bd | ||
|
|
47b57e40bb | ||
|
|
2c542fcb98 | ||
|
|
f27e2cdac6 | ||
|
|
2bbd835295 | ||
|
|
d11bd1ce39 | ||
|
|
adb833342c | ||
|
|
c9998e37d5 | ||
|
|
6e9553c592 | ||
|
|
8834191d70 | ||
|
|
d5876bd8d8 | ||
|
|
9ff3fe7b23 | ||
|
|
2be3d758c5 | ||
|
|
bb91e99e79 | ||
|
|
be50d1a7fc | ||
|
|
a0ac6db981 | ||
|
|
694ba7ea26 | ||
|
|
7e63cc5b42 | ||
|
|
e9465ee71b | ||
|
|
1378c3eca3 | ||
|
|
113871d4d4 | ||
|
|
de5cf537f4 | ||
|
|
b1c87e0fd3 | ||
|
|
d5f49656da | ||
|
|
82cc5ef98e | ||
|
|
56c9ece336 | ||
|
|
b47330693f | ||
|
|
1cc4a55e0d | ||
|
|
b3a9d5a4fb | ||
|
|
ee23ac2403 | ||
|
|
17e73e604c | ||
|
|
4f7db338da | ||
|
|
3e1745ab8e | ||
|
|
f715819aa1 | ||
|
|
724d99742b | ||
|
|
e62eebc6b1 | ||
|
|
9248c4566b | ||
|
|
d0e5a357cd | ||
|
|
044033c209 | ||
|
|
b8c964c47d | ||
|
|
a19a5901af | ||
|
|
dc94acc0c3 | ||
|
|
215bad252f | ||
|
|
74af76a9cd | ||
|
|
d15c128a11 | ||
|
|
a9af68a089 | ||
|
|
88c8907fe0 | ||
|
|
111a46b413 | ||
|
|
80a823a500 | ||
|
|
20f9066708 | ||
|
|
52f6df4e91 | ||
|
|
c94184640a | ||
|
|
0eb645435d | ||
|
|
1e12aceab5 | ||
|
|
b849fc3b31 | ||
|
|
58ef64a8a9 | ||
|
|
7b9831a49f | ||
|
|
5215050fab | ||
|
|
b28925b9c8 | ||
|
|
c427216f12 | ||
|
|
496e51fe0b | ||
|
|
28125ddff7 | ||
|
|
df4bd115e4 | ||
|
|
57f6fcc0d3 | ||
|
|
eef44dcaf8 | ||
|
|
19a278bbe3 | ||
|
|
ab77412308 | ||
|
|
3ed30d6c2d | ||
|
|
9963a487bc | ||
|
|
750f138bff | ||
|
|
3e6bd20800 | ||
|
|
05517c3f1e | ||
|
|
8a18c1defa | ||
|
|
b9d2a7f2c6 | ||
|
|
d8a9b3007b | ||
|
|
ad923eaa2b | ||
|
|
2af26e4f34 | ||
|
|
7b87389da9 | ||
|
|
5dde400257 | ||
|
|
6dc1f4a26f | ||
|
|
e09cb483f6 | ||
|
|
42b0ad0b54 | ||
|
|
db8c75810d | ||
|
|
65aa9a0f77 | ||
|
|
e098caebc3 | ||
|
|
63ebce07ca | ||
|
|
cba924fdbc | ||
|
|
3939528316 | ||
|
|
f76cf61539 | ||
|
|
976f586f58 | ||
|
|
d681ef15b0 | ||
|
|
4cfcd10e50 | ||
|
|
0abb9ef76b | ||
|
|
4ed20385ea | ||
|
|
48f68168ad | ||
|
|
8eda83b5ee | ||
|
|
80ba0abc5d | ||
|
|
4995e9bcb6 | ||
|
|
517857a470 | ||
|
|
1c6a4c71ce | ||
|
|
1e493aedf5 | ||
|
|
6c0958456c | ||
|
|
61956adffd | ||
|
|
8fb039ff3a | ||
|
|
88265f2155 | ||
|
|
0d681bb207 | ||
|
|
1c4abb04aa | ||
|
|
63817de985 | ||
|
|
04846dc002 | ||
|
|
f3ee59478a | ||
|
|
566d5c2df9 | ||
|
|
9f1121bee0 | ||
|
|
c5c52c1c4f | ||
|
|
1395a2c8cd | ||
|
|
acee64f6bc | ||
|
|
91f5237de4 | ||
|
|
543604e4fe | ||
|
|
ea911a43aa | ||
|
|
21a970a448 | ||
|
|
3797f4c087 | ||
|
|
3723309a07 | ||
|
|
d04af66890 | ||
|
|
a622279dc6 | ||
|
|
311cfb8f65 | ||
|
|
bd527be005 | ||
|
|
af49621b41 | ||
|
|
e52bd5046f | ||
|
|
ad429b0ed9 | ||
|
|
67790140ca | ||
|
|
ac1a267bf5 | ||
|
|
d17e9911be | ||
|
|
7b21f8ed29 | ||
|
|
0fa2dfc82c | ||
|
|
032723e43c | ||
|
|
fa64c26293 | ||
|
|
086b256ecb | ||
|
|
efdc28478f | ||
|
|
310a1dca32 | ||
|
|
7d782665d5 | ||
|
|
073aecc2c0 | ||
|
|
94b3645abb | ||
|
|
2b393abec8 | ||
|
|
ea0883bbfd | ||
|
|
e783161e04 | ||
|
|
8e8a842cf1 | ||
|
|
89bdde0268 | ||
|
|
ed0e7a9388 | ||
|
|
79984b9314 | ||
|
|
854a3d4c89 | ||
|
|
c07616f28a | ||
|
|
b7dc5edf87 | ||
|
|
be529f02cd | ||
|
|
ea9203a486 | ||
|
|
97548573e5 | ||
|
|
fc735219ba | ||
|
|
151009d437 | ||
|
|
71d75e5278 | ||
|
|
b8255529ed | ||
|
|
1cf9d2bf68 | ||
|
|
9b27eef41c | ||
|
|
ff3738fd6e | ||
|
|
215df09f99 | ||
|
|
05b2f37476 | ||
|
|
6a2f1056d6 | ||
|
|
e5b421082e | ||
|
|
8128980948 | ||
|
|
817ce7b11b | ||
|
|
99b6ba2fe3 | ||
|
|
2da81565d0 | ||
|
|
e65e8c58e9 | ||
|
|
0506e41c87 | ||
|
|
e279dbe6d7 | ||
|
|
7d3e33e39e | ||
|
|
fa08e660ab | ||
|
|
17e0f08adf | ||
|
|
cccf53e33d | ||
|
|
10e6eabe48 | ||
|
|
8cb716dafc | ||
|
|
e50738f447 | ||
|
|
ff92931a55 | ||
|
|
a6791e494d | ||
|
|
e6a100e1c0 | ||
|
|
a9311a17a6 | ||
|
|
fc0e032700 | ||
|
|
5d94c3f833 | ||
|
|
172a345821 | ||
|
|
c7dee379e5 | ||
|
|
6034046b39 | ||
|
|
baf45fc62e | ||
|
|
6cf9ae5217 | ||
|
|
b03ccc9bfd | ||
|
|
c21b42f570 | ||
|
|
bc4286401d | ||
|
|
4c64980d3a | ||
|
|
bc7a6cef5c | ||
|
|
a8cd8cfcd1 | ||
|
|
77df6fdb59 | ||
|
|
1327661e2e | ||
|
|
8a99284b9c | ||
|
|
e4a993577f | ||
|
|
d8b24a4132 | ||
|
|
598e97e414 | ||
|
|
271a6bccbb | ||
|
|
08ddf2c909 | ||
|
|
7fdd1d57d6 | ||
|
|
7be42f582f | ||
|
|
25f646c1d9 | ||
|
|
11a1621e7f | ||
|
|
e2814cc1c0 | ||
|
|
b167c44bec | ||
|
|
e7f4ce8a44 | ||
|
|
98c2f3a1f6 | ||
|
|
a3d7155475 | ||
|
|
178c06ca0f | ||
|
|
a9d56c5a90 | ||
|
|
46a27a9f9d | ||
|
|
e324b790a0 | ||
|
|
bb9bfd66d1 | ||
|
|
79fe8216bc | ||
|
|
b4902b9129 | ||
|
|
3d67001c9d | ||
|
|
3723300ab0 | ||
|
|
263c452677 | ||
|
|
77e28e90f5 | ||
|
|
0c79534cbb | ||
|
|
1ebbe46f69 | ||
|
|
16ab1d7cb2 | ||
|
|
cabd438fac | ||
|
|
87901d72c8 | ||
|
|
aec4bebbae | ||
|
|
c0747e3ae0 | ||
|
|
4f586a343e | ||
|
|
445c6ce288 | ||
|
|
9f07c6b085 | ||
|
|
5e73a0d699 | ||
|
|
77c02cb870 | ||
|
|
99f50c3455 | ||
|
|
19d9921c74 | ||
|
|
401f1b1a5b | ||
|
|
03e04a2c49 | ||
|
|
96876f0cf4 | ||
|
|
00f86f62fa | ||
|
|
37726be611 | ||
|
|
9c13501b41 | ||
|
|
48be3b7cf2 | ||
|
|
9df6cda3c8 | ||
|
|
26f74d5693 | ||
|
|
986920b9a3 | ||
|
|
956f6cb06a | ||
|
|
947035d415 | ||
|
|
9da2781aea | ||
|
|
ffad35bcc6 | ||
|
|
cd468ca1f6 | ||
|
|
73214aa37c | ||
|
|
2ad18661d6 | ||
|
|
ff40a698b2 | ||
|
|
62c33d67c0 | ||
|
|
4c9e3e8465 | ||
|
|
79cd6cb0e0 | ||
|
|
8955c4b385 | ||
|
|
4f0defea41 | ||
|
|
89cf819f00 | ||
|
|
f38db8f241 | ||
|
|
1bf77fe5a5 | ||
|
|
f605d68757 | ||
|
|
98630ca599 | ||
|
|
8414be775a | ||
|
|
0f6814cb05 | ||
|
|
4888511b39 | ||
|
|
5586da80bc | ||
|
|
868a852bef | ||
|
|
abd7e63a6b | ||
|
|
90efa08882 | ||
|
|
526e83fe4e | ||
|
|
b2e0d393df | ||
|
|
a451cb2f37 | ||
|
|
a15637ee06 | ||
|
|
25b17f4f13 | ||
|
|
9778b11dd8 | ||
|
|
93b74c9936 | ||
|
|
281986f7d5 | ||
|
|
bfebb44631 | ||
|
|
ce24a1ee3a | ||
|
|
4169393e37 | ||
|
|
623b754832 | ||
|
|
f1896c5f95 | ||
|
|
047ab855a3 | ||
|
|
cbbbc78c48 | ||
|
|
fc187d368d | ||
|
|
acbe6fb59b | ||
|
|
ea734d5065 | ||
|
|
e799120678 | ||
|
|
60df409d6a | ||
|
|
075fe633f8 | ||
|
|
5ac6865f67 | ||
|
|
1792e79707 | ||
|
|
fe52496f20 | ||
|
|
5980e1788a | ||
|
|
3d79524133 | ||
|
|
fa9321ec18 | ||
|
|
4e683509e3 | ||
|
|
25d7f960d3 | ||
|
|
311193073c | ||
|
|
583418bf0e | ||
|
|
f59b3a0e28 | ||
|
|
6d5d0a8230 | ||
|
|
e5a3af9877 | ||
|
|
16507f0abc | ||
|
|
8fa696b2b2 | ||
|
|
431052f4c5 | ||
|
|
36b61213ce | ||
|
|
8ea4e60ac5 | ||
|
|
0ca1facceb | ||
|
|
34342910fc | ||
|
|
3734db5d21 | ||
|
|
bf1aecff3d | ||
|
|
852a1ba250 | ||
|
|
9428a59dc6 | ||
|
|
fdcb719f3b | ||
|
|
0818e1df0d | ||
|
|
d876e1e06d | ||
|
|
de5fca939c | ||
|
|
f892154b1e | ||
|
|
7302ebae66 | ||
|
|
176ae70e84 | ||
|
|
2eeacc74cb | ||
|
|
9b862437a6 | ||
|
|
1669776273 | ||
|
|
467a0ef4a5 | ||
|
|
207c0c4813 | ||
|
|
6b11a6177c | ||
|
|
7c41ed84c3 | ||
|
|
7982b805e5 | ||
|
|
718e04ddaf | ||
|
|
5db4e3b944 | ||
|
|
4a0a4f1786 | ||
|
|
23625986d6 | ||
|
|
a117d9cbe8 | ||
|
|
e1a9d26d54 | ||
|
|
18e4aa90f8 | ||
|
|
a4f3849dff | ||
|
|
9f48b51c9d | ||
|
|
bbc5195220 | ||
|
|
4a5926f788 | ||
|
|
33560f0c18 | ||
|
|
5b2d6f396e | ||
|
|
8c4cfcdf7e | ||
|
|
502c21543f | ||
|
|
40e400ae2a | ||
|
|
6da730cefd | ||
|
|
db45f2faf5 | ||
|
|
1e2314c40c | ||
|
|
ed860f6ebf | ||
|
|
570d023e44 | ||
|
|
1eb1495fe3 | ||
|
|
11462f09aa | ||
|
|
ef2e9b5394 | ||
|
|
51db5d33cd | ||
|
|
13e2a924c0 | ||
|
|
c455772f76 | ||
|
|
2097172bf4 | ||
|
|
0341c249b8 | ||
|
|
b3e08ed0b0 | ||
|
|
a3ae546db4 | ||
|
|
cbc2971d91 | ||
|
|
86a1728122 | ||
|
|
e07a76f6d0 | ||
|
|
f69f5d655e | ||
|
|
dbd566557e | ||
|
|
a21d4a8706 | ||
|
|
32b23b4c6e | ||
|
|
cfee941838 | ||
|
|
9fd52f85f8 | ||
|
|
8d15b5dcc5 | ||
|
|
4268bbab0c | ||
|
|
130118eb5c | ||
|
|
10e60f2328 | ||
|
|
c1e6a884cf | ||
|
|
16bf8c091b | ||
|
|
4c9d1003ca | ||
|
|
381170fe1d | ||
|
|
1be0300764 | ||
|
|
4e8cab5d0b | ||
|
|
b25429358a | ||
|
|
c0842dc74c | ||
|
|
dcb89c1cf4 | ||
|
|
55f87e7bfe | ||
|
|
d554f96fb3 | ||
|
|
9924e6a7e7 | ||
|
|
a127968ed3 | ||
|
|
50b1d49845 | ||
|
|
baece470be | ||
|
|
b99d9d446a | ||
|
|
1f8eab8896 | ||
|
|
823e5b9655 | ||
|
|
af807efc4e | ||
|
|
2d70528689 | ||
|
|
6835240c83 | ||
|
|
548f5947ce | ||
|
|
254318e0ce | ||
|
|
67a4a558a7 | ||
|
|
035054354a | ||
|
|
8db153adb5 | ||
|
|
9ebc5efaba | ||
|
|
20f57c0f37 | ||
|
|
38c97c052f | ||
|
|
3d747712b2 | ||
|
|
41745654be | ||
|
|
fe936ca674 | ||
|
|
d1a6d82437 | ||
|
|
c4637d69f4 | ||
|
|
2ddf51a603 | ||
|
|
9281e37d1e | ||
|
|
8877cf1a26 | ||
|
|
45cd7e1938 | ||
|
|
be3397761f | ||
|
|
6746559ca3 | ||
|
|
e7f97dfcc5 | ||
|
|
cd0e6b6813 | ||
|
|
14ff4eeca7 | ||
|
|
5edc08c6f8 | ||
|
|
d738c23f3d | ||
|
|
06ecab8287 | ||
|
|
adc49585b2 | ||
|
|
675203c051 | ||
|
|
854957c81e | ||
|
|
383dbefc3b | ||
|
|
55e6d5a23d | ||
|
|
52ff26107b | ||
|
|
809c5cc1d2 | ||
|
|
7ca09e1cb9 | ||
|
|
2dd2639e02 | ||
|
|
5ca01e66de | ||
|
|
9769a2ad08 | ||
|
|
98cef3cc06 | ||
|
|
b412782c0d | ||
|
|
2cb30a104b | ||
|
|
0a178fbc88 | ||
|
|
0409c95961 | ||
|
|
ec9085af2c | ||
|
|
b959f850fe | ||
|
|
771cb52d12 | ||
|
|
3153565a86 | ||
|
|
a5ec401429 | ||
|
|
68ef59cc6d | ||
|
|
b542458684 | ||
|
|
95f7e49922 | ||
|
|
e64714d1b9 | ||
|
|
074dc80203 | ||
|
|
7831703ebd | ||
|
|
0914aa0c1c | ||
|
|
525405843a | ||
|
|
af58d2d5f9 | ||
|
|
cd85532d55 | ||
|
|
f499f3bfd8 | ||
|
|
6d34d1e751 | ||
|
|
2587533888 | ||
|
|
de0c093ced | ||
|
|
082ece222c | ||
|
|
a90f7273fd | ||
|
|
a2eb00fdb1 | ||
|
|
7e6626054b | ||
|
|
62bbab4fff | ||
|
|
6fa35fcba4 | ||
|
|
c765cb90cc | ||
|
|
63b127ca8e | ||
|
|
ede804c215 | ||
|
|
8653b5c523 | ||
|
|
ffa43e8b9b | ||
|
|
cbb8ca5dee | ||
|
|
009b167ed8 | ||
|
|
05e88429de | ||
|
|
68123901dd | ||
|
|
0dd92ac3e3 | ||
|
|
c5210332d6 | ||
|
|
2c8bbd2030 | ||
|
|
081973cad7 | ||
|
|
5fc2e935cb | ||
|
|
c4bbe5eee7 | ||
|
|
fb2cc32360 | ||
|
|
5447758033 | ||
|
|
4a90c84c2d | ||
|
|
50a1c0c01f | ||
|
|
2afeb9d76e | ||
|
|
a8a51de146 | ||
|
|
bf6734bf62 | ||
|
|
91cb6f42b4 | ||
|
|
5cba00daa4 | ||
|
|
2afee7b87e | ||
|
|
e84d9f6369 | ||
|
|
3e9baf931e | ||
|
|
3a67f5c174 | ||
|
|
fe15b0d7b4 | ||
|
|
5bab0efde9 | ||
|
|
bbf1fdb747 | ||
|
|
a0734e09bf | ||
|
|
0b59446eb6 | ||
|
|
daee4c6288 | ||
|
|
11e664f848 | ||
|
|
036721b375 | ||
|
|
7c2ef2e982 | ||
|
|
72b48f2153 | ||
|
|
6c82d2aeaf | ||
|
|
89b6f22ef6 | ||
|
|
e87e644f55 | ||
|
|
39fc8bbc34 | ||
|
|
0ffa34002d | ||
|
|
83cab16f2b | ||
|
|
981733ea9e | ||
|
|
bf4ea52086 | ||
|
|
6bf51acc35 | ||
|
|
6fe46c8b97 | ||
|
|
11612aa429 | ||
|
|
a644273ff9 | ||
|
|
2b8a91e0ba | ||
|
|
091e07b126 | ||
|
|
3bc2876c67 | ||
|
|
8da0df8340 | ||
|
|
bb466e06c7 | ||
|
|
5f73b35d60 | ||
|
|
60d308f4c7 | ||
|
|
412e94ee9a | ||
|
|
0dbb8d7046 | ||
|
|
3db2a7473f | ||
|
|
bc5d301528 | ||
|
|
63b03ab8f5 | ||
|
|
d846caa15c | ||
|
|
c89d4069c7 | ||
|
|
39501cca7e | ||
|
|
9a876970b5 | ||
|
|
ba39427a03 | ||
|
|
fc1632bc6c | ||
|
|
1c599e4e70 | ||
|
|
e0a03f612b | ||
|
|
14dda8330c | ||
|
|
3b0af50f8c | ||
|
|
f3c34bdb50 | ||
|
|
a7e3ec1a29 | ||
|
|
57973ff37d | ||
|
|
fa23ca4802 | ||
|
|
3740c2fae8 | ||
|
|
f5c8253e5f | ||
|
|
f5fd3b4c73 | ||
|
|
159429caf4 | ||
|
|
45101b8dbd | ||
|
|
f30faa3522 | ||
|
|
356a77f987 | ||
|
|
4270e21f68 | ||
|
|
910ffbdc79 | ||
|
|
5aa1d3958a | ||
|
|
9b3c0014e5 | ||
|
|
0dd97833a2 | ||
|
|
b275fe5fbb | ||
|
|
170c4610e4 | ||
|
|
2f0f8d90e4 | ||
|
|
7d7051e64e | ||
|
|
9b98475309 | ||
|
|
311c3157c3 | ||
|
|
a340ea3505 | ||
|
|
f0c4a23e0c | ||
|
|
dde4536bbe | ||
|
|
c217037869 | ||
|
|
38ded75fb0 | ||
|
|
49e54df4ea | ||
|
|
77f882d749 | ||
|
|
ec48136f10 | ||
|
|
4ebc3cf98b | ||
|
|
f689da1a5d | ||
|
|
4d6b4f7f16 | ||
|
|
18c3733d7e | ||
|
|
b15b8f0a73 | ||
|
|
4a73e09930 | ||
|
|
51cce179d6 | ||
|
|
2dd256afda | ||
|
|
cad09c9065 | ||
|
|
3e3138cccc | ||
|
|
a667291723 | ||
|
|
e120b1ce4b | ||
|
|
aa68f8852d | ||
|
|
b33ce46dc3 | ||
|
|
fe531d00ca | ||
|
|
79b2c8cbb4 | ||
|
|
4ebc4cd334 | ||
|
|
713adf8ab7 | ||
|
|
ffaf065dba | ||
|
|
8df4123c2c | ||
|
|
de00d004ee | ||
|
|
5786eee9bc | ||
|
|
dafc0b063f | ||
|
|
891bf066f4 | ||
|
|
685aac18d9 | ||
|
|
07db8b22bc | ||
|
|
f64cc6be5f | ||
|
|
bbbcc9647d | ||
|
|
66b51fbf6b | ||
|
|
09661c8ca2 | ||
|
|
19880c000a | ||
|
|
81703cee04 | ||
|
|
4aeab3f43f | ||
|
|
825cc04150 | ||
|
|
bc23d57383 | ||
|
|
655635a5b8 | ||
|
|
e4850a2ead | ||
|
|
39f1021d64 | ||
|
|
a17ec04040 | ||
|
|
3ae045e24d | ||
|
|
130eb0bafb | ||
|
|
0345c00c3b | ||
|
|
d7c4e10b25 | ||
|
|
dbedc58f65 | ||
|
|
c08e95842c | ||
|
|
0f9faf5474 | ||
|
|
4ebae32e0e | ||
|
|
2370afb4a1 | ||
|
|
1ac5379539 | ||
|
|
7ba2c6dee3 | ||
|
|
564ed698ca | ||
|
|
a6ba6fca18 | ||
|
|
00b2c0af0a | ||
|
|
318583dd0f | ||
|
|
ac88ffa882 | ||
|
|
0cf5dfd5cd | ||
|
|
ae4750789b | ||
|
|
a76a6f0d38 | ||
|
|
e68c957671 | ||
|
|
53a607ac3a | ||
|
|
04979d641d | ||
|
|
ef2894d6ee | ||
|
|
1c3c662805 | ||
|
|
6ca7b81d1c | ||
|
|
e40736a75f | ||
|
|
2a876075d6 | ||
|
|
b13f1766a5 | ||
|
|
777ceb6277 | ||
|
|
4440aa4ef3 | ||
|
|
fc279cbe62 | ||
|
|
7a623fcd8f | ||
|
|
82f5bd3246 | ||
|
|
373bc16758 | ||
|
|
0f2ec918b0 | ||
|
|
d4e65bba39 | ||
|
|
89d1e1c0ec | ||
|
|
02bc2c7a51 | ||
|
|
05f4bbacf8 | ||
|
|
46b2a7d80c | ||
|
|
dac486a1cc | ||
|
|
25870ddc9d | ||
|
|
d6bc711b38 | ||
|
|
6d6bbdca1e | ||
|
|
cc48f89c6f | ||
|
|
7d0775c91f | ||
|
|
020041163e | ||
|
|
50a140d775 | ||
|
|
cb8cb1b522 | ||
|
|
75bf8f3071 | ||
|
|
dcca3cf1ba | ||
|
|
91a3f6212d | ||
|
|
60193d2158 | ||
|
|
029ee5f004 | ||
|
|
a92bd08d7a | ||
|
|
85d84434e5 | ||
|
|
15b7e9172f | ||
|
|
e2127c9fc8 | ||
|
|
c3fe2b2752 | ||
|
|
79a2f55b2c | ||
|
|
d730db1115 | ||
|
|
65ff2b6884 | ||
|
|
020fd669d4 | ||
|
|
9fde4731d4 | ||
|
|
bff40e3fc0 | ||
|
|
7c62668d4c | ||
|
|
4ef025333e | ||
|
|
bccd05b4d6 | ||
|
|
dbbd254613 | ||
|
|
4a9b9a17bf | ||
|
|
23dfc6d69d | ||
|
|
13dcb96aae | ||
|
|
37031c0c41 | ||
|
|
252a54a13c | ||
|
|
a888cf0acb | ||
|
|
764db905ac | ||
|
|
7a05be139f | ||
|
|
101d1f7fa0 | ||
|
|
a9d69a9529 | ||
|
|
887bd211ec | ||
|
|
4ee1e0d197 | ||
|
|
17927e9093 | ||
|
|
34e2015a06 | ||
|
|
b8a7b6594e | ||
|
|
124c3e9e9a | ||
|
|
23c63a2180 | ||
|
|
3e79876c5b | ||
|
|
40100cfe8e | ||
|
|
a45a95c97b | ||
|
|
eb8cfeb9c4 | ||
|
|
1cda92a454 | ||
|
|
ca672867a0 | ||
|
|
245ebbb44f | ||
|
|
33d3b4ecc6 | ||
|
|
23113a0f86 | ||
|
|
076ee7cee0 | ||
|
|
d05057b64b | ||
|
|
4b10f62df7 | ||
|
|
c4c8f32204 | ||
|
|
0be615a79f | ||
|
|
0c63e5813c | ||
|
|
84a7fb8a5f | ||
|
|
bd86391d08 | ||
|
|
38602ae716 | ||
|
|
152b3dfa3c | ||
|
|
dd0c96071f | ||
|
|
fb83c55629 | ||
|
|
0b984938f2 | ||
|
|
1063566520 | ||
|
|
7ae960a1dc | ||
|
|
ef706da55e | ||
|
|
6a350ec328 | ||
|
|
0bd455b4f8 | ||
|
|
db90325ae3 | ||
|
|
ef399a3f6c | ||
|
|
274c8b12a9 | ||
|
|
5b726f04ec | ||
|
|
5c71853c52 | ||
|
|
1d17a584ae | ||
|
|
3683972a7f | ||
|
|
76d85521a5 | ||
|
|
4d0cd80738 | ||
|
|
791a66e24d | ||
|
|
36ce4dfcf7 | ||
|
|
232fd98f97 | ||
|
|
8cdff18cf9 | ||
|
|
1d0a598a7f | ||
|
|
c5284d0965 | ||
|
|
6efe7cda6b | ||
|
|
647538740a | ||
|
|
619ea8b937 | ||
|
|
07aba6e52a | ||
|
|
73348907ee | ||
|
|
6c01e19689 | ||
|
|
c0832e333f | ||
|
|
202ba0706a | ||
|
|
475729eac5 | ||
|
|
8cdbf3d4d1 | ||
|
|
aeb5c5fe3b | ||
|
|
7357da8a99 | ||
|
|
c4112f55ab | ||
|
|
07fbd66097 | ||
|
|
d71190731a | ||
|
|
c8efa7ba93 | ||
|
|
1ba0b86b74 | ||
|
|
1d73c7bab1 | ||
|
|
691c48e3fc | ||
|
|
1672cfc99d | ||
|
|
0282977f66 | ||
|
|
1057be3ede | ||
|
|
0f42af2743 | ||
|
|
65951adc98 | ||
|
|
3b95769d49 | ||
|
|
4ea4f7ec16 | ||
|
|
66e58b7af2 | ||
|
|
1b59af219a | ||
|
|
5a6751bc72 | ||
|
|
aebdfc3428 | ||
|
|
801f278df1 | ||
|
|
5670ddd407 | ||
|
|
6eb42236b3 | ||
|
|
ad38c9f994 | ||
|
|
fa5a3ca389 | ||
|
|
3143bb1f50 | ||
|
|
4de10b8a7d | ||
|
|
9de5dfeb0f | ||
|
|
18279b089b | ||
|
|
005d6c0f75 | ||
|
|
a41b2a50ff | ||
|
|
747cb2ba53 | ||
|
|
b1b7879015 | ||
|
|
99298eb5ff | ||
|
|
e817a6aad5 | ||
|
|
a8b7231c91 | ||
|
|
aac2f6ac63 | ||
|
|
f37e21bb75 | ||
|
|
12054dcfb1 | ||
|
|
4d70a0895f | ||
|
|
8a683d852d | ||
|
|
471dfd2e30 | ||
|
|
07b9e992f5 | ||
|
|
68847d38b2 | ||
|
|
51d2a1babb | ||
|
|
fc92a8c940 | ||
|
|
b438b25049 | ||
|
|
858a9daa06 | ||
|
|
dab1a005b6 | ||
|
|
c90a344915 | ||
|
|
d1f97bf70d | ||
|
|
8e48b007ea | ||
|
|
e3fdc3d9f5 | ||
|
|
e88a53f5dd | ||
|
|
ec14bca09f | ||
|
|
96ada6e97f | ||
|
|
f768364d87 | ||
|
|
0cfd78dd37 | ||
|
|
b996adec36 | ||
|
|
4ef83efd9f | ||
|
|
a16cc3bbf0 | ||
|
|
3e96d1048a | ||
|
|
97ab1530aa | ||
|
|
4b7d5a1302 | ||
|
|
d394f7dd4a | ||
|
|
b4fc8a6829 | ||
|
|
8542639b06 | ||
|
|
7e1cdcc814 | ||
|
|
c90b85ea70 | ||
|
|
8c7246a513 | ||
|
|
40c519ded1 | ||
|
|
6f79c071ad | ||
|
|
de4409a159 | ||
|
|
9bfff8071d | ||
|
|
c5eadff9de | ||
|
|
d0be33b474 | ||
|
|
56f4beb0f1 | ||
|
|
d9dc546db4 | ||
|
|
95a8692630 | ||
|
|
bdd147e9a5 | ||
|
|
db7d49107e | ||
|
|
2fe7d8259a | ||
|
|
b7cb7ca915 | ||
|
|
36b29b51d3 | ||
|
|
880c463905 | ||
|
|
332ccf75aa | ||
|
|
9044a8b8e3 | ||
|
|
23e5218e17 | ||
|
|
897e8a2c45 | ||
|
|
100c938616 | ||
|
|
ef83ff6427 | ||
|
|
864f9bcb79 | ||
|
|
c55d7e68de | ||
|
|
b19e9e2ca1 | ||
|
|
f9c387cf21 | ||
|
|
fdef2ed3b5 | ||
|
|
6ef1aecb89 | ||
|
|
ee91d5aedc | ||
|
|
6298099a5e | ||
|
|
b91a4125e9 | ||
|
|
d14d3910fa | ||
|
|
e07bc3ba9a | ||
|
|
bfde1fc9c0 | ||
|
|
45c1ae268b | ||
|
|
9ef849dbe6 | ||
|
|
ae55c1a572 | ||
|
|
f7fbf9c9c2 | ||
|
|
43658dd036 | ||
|
|
d8b758c22a | ||
|
|
5050b89731 | ||
|
|
b70b86ac09 | ||
|
|
20ec9d4f85 | ||
|
|
e42baa8e40 | ||
|
|
550ce70b1e | ||
|
|
4b59c1a5c7 | ||
|
|
d19f3f6ed6 | ||
|
|
66c7bcf98a | ||
|
|
d8d4281e4d | ||
|
|
48df36a2dd | ||
|
|
b730dc8fcb | ||
|
|
23c3de0b34 | ||
|
|
f967f4c4f5 | ||
|
|
7f32015eae | ||
|
|
f48ba4ccbc | ||
|
|
8b380acc92 | ||
|
|
9b908f6eed | ||
|
|
899da1fa3c | ||
|
|
2504002aeb | ||
|
|
73d5e96b96 | ||
|
|
5e0c74a7ae | ||
|
|
c5f80c02b2 | ||
|
|
0ba4b06458 | ||
|
|
4cf8eed38c | ||
|
|
33826cb8ee | ||
|
|
6f1846b23d | ||
|
|
762132967a | ||
|
|
940681d347 | ||
|
|
a96cf9d948 | ||
|
|
a01b336aa4 | ||
|
|
f86155c1ba | ||
|
|
fb29c49cf4 | ||
|
|
bb2abf0eb1 | ||
|
|
91edeb8a6a | ||
|
|
ba1a7bfa85 | ||
|
|
e5bc959c9f | ||
|
|
52b39cfccf | ||
|
|
9f78cf9973 | ||
|
|
fe80e80b38 | ||
|
|
09f4bcab3f | ||
|
|
1237f564a6 | ||
|
|
29aa1db6ab | ||
|
|
cc25eeee4e | ||
|
|
17998b4892 | ||
|
|
68dc625386 | ||
|
|
12765cb4e8 | ||
|
|
74bffbcb0b | ||
|
|
d6f0585865 | ||
|
|
c3a1da8dfc | ||
|
|
02e137dc64 | ||
|
|
be54e18606 | ||
|
|
bba531fe1b | ||
|
|
51f3d4efe7 | ||
|
|
664f8a4712 | ||
|
|
4c3b36e0c1 | ||
|
|
1cbedc8ec1 | ||
|
|
de1e3a3eea | ||
|
|
7ab443b9c2 | ||
|
|
27f990cc21 | ||
|
|
8192e1e955 | ||
|
|
90992adb54 | ||
|
|
474e48cd6e | ||
|
|
99f7b2da10 | ||
|
|
59ea391137 | ||
|
|
7662e18392 | ||
|
|
c4784e7fd3 | ||
|
|
495373f543 | ||
|
|
c655892059 | ||
|
|
7bc9576188 | ||
|
|
6bbaf05b6c | ||
|
|
e7ecaeaa89 | ||
|
|
d3b5323af1 | ||
|
|
ef21becde6 | ||
|
|
42b8568c32 | ||
|
|
5008f4aa9f | ||
|
|
4414df51fd | ||
|
|
19abbd85de | ||
|
|
43bd5f07dc | ||
|
|
88ace8e953 | ||
|
|
9889b5775c | ||
|
|
0782ae4365 | ||
|
|
e99a072885 | ||
|
|
174e543f83 | ||
|
|
b0798da6b8 | ||
|
|
41cecc44a0 | ||
|
|
c41e098388 | ||
|
|
3aff65deee | ||
|
|
104ee1d97e | ||
|
|
3212f7d4cf | ||
|
|
b470ae6d5f | ||
|
|
c2ee4f2580 | ||
|
|
75938eedf2 | ||
|
|
59012f491f | ||
|
|
c495209b2a | ||
|
|
2007cefc5e | ||
|
|
6d76d4f11a | ||
|
|
d04efcdd93 | ||
|
|
2321107726 | ||
|
|
73a43e104c | ||
|
|
b3f117158b | ||
|
|
fbd17c3d27 | ||
|
|
0fc15021d7 | ||
|
|
f4a38f40e6 | ||
|
|
fa2d0170c7 | ||
|
|
841009aae5 | ||
|
|
366554630c | ||
|
|
2f864f70ba | ||
|
|
dfdeb27627 | ||
|
|
8ed680e37e | ||
|
|
cb15718538 | ||
|
|
626e9468c0 | ||
|
|
06741bb2fb | ||
|
|
5fdce356bc | ||
|
|
47efc28d14 | ||
|
|
7bbdad8eda | ||
|
|
4dcf15c3f5 | ||
|
|
2c965bc8b4 | ||
|
|
65374d94ad | ||
|
|
b75794d21e | ||
|
|
f202d1716a | ||
|
|
896afa1fdf | ||
|
|
65e29788ba | ||
|
|
f5e18cacd1 | ||
|
|
99e9cac58b | ||
|
|
d2cf221b9e | ||
|
|
b34f00de5c | ||
|
|
e947fe9c8c | ||
|
|
9a5ad08e05 | ||
|
|
f8a3893815 | ||
|
|
cd3f9638dc | ||
|
|
d6a959bbea | ||
|
|
e2d19acabd | ||
|
|
63847323cf | ||
|
|
05859aa00e | ||
|
|
f56a01e951 | ||
|
|
2abf892ca3 | ||
|
|
32a55595c0 | ||
|
|
df4a772ab4 | ||
|
|
9f0642de5e | ||
|
|
79d337d4a3 | ||
|
|
8eb4794991 | ||
|
|
be55c9baad | ||
|
|
2f843d6664 | ||
|
|
9d9a4af915 | ||
|
|
dc02002531 | ||
|
|
a2cfbee04a | ||
|
|
3ad4954c3e | ||
|
|
b1e5e28d6a | ||
|
|
f7d4ac6457 | ||
|
|
135ca23c6a | ||
|
|
0fae64342a | ||
|
|
17d30a3027 | ||
|
|
b11b9f4c88 | ||
|
|
3eb8b26b7d | ||
|
|
47e895d6cb | ||
|
|
a375de1031 | ||
|
|
eac29d939d | ||
|
|
670e72cba8 | ||
|
|
d60a813518 | ||
|
|
7594d2305b | ||
|
|
b35415a72e | ||
|
|
c2f5608bf8 | ||
|
|
bc219a97f9 | ||
|
|
c995051206 | ||
|
|
3ced3ad06f | ||
|
|
d41e4f24ec | ||
|
|
30e09eae89 | ||
|
|
239355040c | ||
|
|
85728e0e02 | ||
|
|
3fe68fa14e | ||
|
|
47b4338e7a | ||
|
|
e6b9d1ec1b | ||
|
|
89990ad535 | ||
|
|
519f6b93fd | ||
|
|
3bf065b974 | ||
|
|
f9ca6c1968 | ||
|
|
4eb8739cdf | ||
|
|
d45a83ff25 | ||
|
|
12861f0686 | ||
|
|
baf7cd43db | ||
|
|
8ce71503d5 | ||
|
|
9f4adc03cd | ||
|
|
4433e1e333 | ||
|
|
5f9c98183b | ||
|
|
1727357218 | ||
|
|
1a79c6d35e | ||
|
|
1ab583449f | ||
|
|
5046f819d9 | ||
|
|
bafb97b868 | ||
|
|
0a102ab6fb | ||
|
|
6b1f0ea875 | ||
|
|
82be8ee4b3 | ||
|
|
b77c9ae99e | ||
|
|
ee41c6a098 | ||
|
|
9c6eed1e5c | ||
|
|
4418f000f7 | ||
|
|
3d0d1dad27 | ||
|
|
18926518a5 | ||
|
|
8bdf4394b6 | ||
|
|
608c5892b5 | ||
|
|
51003a3281 | ||
|
|
f3178dea35 | ||
|
|
f13894fe04 | ||
|
|
c95558a36a | ||
|
|
dc7b5e3191 | ||
|
|
278fd6882a | ||
|
|
d653bbfd80 | ||
|
|
0141919cfe | ||
|
|
2243ed099a | ||
|
|
026b2109a3 | ||
|
|
92c124d8ac | ||
|
|
db2be909b9 | ||
|
|
b8121d3647 | ||
|
|
bae67ed269 | ||
|
|
87207a7bed | ||
|
|
76581e2786 | ||
|
|
93d7e66739 | ||
|
|
4ca898919a | ||
|
|
886f458826 | ||
|
|
6b51422a18 | ||
|
|
02d9f4c2f5 | ||
|
|
bc0a3eb9c0 | ||
|
|
c9dd4b4258 | ||
|
|
1f409340d4 | ||
|
|
bbc790c0eb | ||
|
|
5d2dd511ed | ||
|
|
9ce175788c | ||
|
|
60418acd18 | ||
|
|
a2fb1510f0 | ||
|
|
28a4b12f81 | ||
|
|
815c6fc57c | ||
|
|
391eaa624a | ||
|
|
1e1a11cc6a | ||
|
|
e916c0a72c | ||
|
|
3f2d76135e | ||
|
|
37614c07a6 | ||
|
|
682fc72e50 | ||
|
|
dadff62773 | ||
|
|
f99f4d506a | ||
|
|
bf8b4ce225 | ||
|
|
0ffd05d05e | ||
|
|
beefb9e45a | ||
|
|
f0a35beac8 | ||
|
|
c29462c632 | ||
|
|
7cd9188ff1 | ||
|
|
766655c42d | ||
|
|
8373b5b1eb | ||
|
|
7dd049c6aa | ||
|
|
631faaa93f | ||
|
|
c967433619 | ||
|
|
0d08d9cf65 | ||
|
|
512ec171f4 | ||
|
|
b668729e68 | ||
|
|
5f04cd7d69 | ||
|
|
d3235f02dc | ||
|
|
fdd45db15a | ||
|
|
fd90619fa6 | ||
|
|
7c9adc68fc | ||
|
|
db4c2d1b35 | ||
|
|
290acc2d74 | ||
|
|
a211fe6e97 | ||
|
|
fbd873a404 | ||
|
|
9e2df57ab2 | ||
|
|
a75836af07 | ||
|
|
7693ca4369 | ||
|
|
dc4f67a997 | ||
|
|
cf996a8bdf | ||
|
|
1f4b915c75 | ||
|
|
769deaf2d5 | ||
|
|
57f54d17f9 | ||
|
|
6507cc56c0 | ||
|
|
d332484796 | ||
|
|
c3c355ac97 | ||
|
|
8a5d336bd6 | ||
|
|
2516a5b562 | ||
|
|
2398972b65 | ||
|
|
87dd2afcb7 | ||
|
|
7e24f55351 | ||
|
|
8b92494806 | ||
|
|
58aca73ae6 | ||
|
|
40f83cf5d0 | ||
|
|
3103112191 | ||
|
|
dde50db8b4 | ||
|
|
a1475d3efe | ||
|
|
3ccd6bed89 | ||
|
|
437d44f231 | ||
|
|
dafda0a06c | ||
|
|
1b8a637526 | ||
|
|
3330cd9d5a | ||
|
|
7e04b04227 | ||
|
|
118e5cc785 | ||
|
|
4fecee566c | ||
|
|
08bef6178d | ||
|
|
d129cb5525 | ||
|
|
30f529fa64 | ||
|
|
5055cb90c6 | ||
|
|
db85274ea9 | ||
|
|
611cab3abc | ||
|
|
db435578b0 | ||
|
|
75c20470ed | ||
|
|
f26a209cbc | ||
|
|
a7a85bd088 | ||
|
|
804a40cae6 | ||
|
|
ed1c8fd55c | ||
|
|
306b6cb6c5 | ||
|
|
fbb494055f | ||
|
|
51cc51eb50 | ||
|
|
9af3c9cf4a | ||
|
|
387a010955 | ||
|
|
d153a8fe12 | ||
|
|
ecec27ec0c | ||
|
|
c1a0ea5922 | ||
|
|
71101c5d84 | ||
|
|
0ea79afbfb | ||
|
|
4f566f8f59 | ||
|
|
ae4e1b17a1 | ||
|
|
8cd6039eb0 | ||
|
|
c0bb39dab6 | ||
|
|
120c9f4562 | ||
|
|
31d3869579 | ||
|
|
6caa6b9594 | ||
|
|
c213f794b3 | ||
|
|
7c6d9aa74d | ||
|
|
020b0d5633 | ||
|
|
c4f2b59da8 | ||
|
|
a36cfe20a2 | ||
|
|
45c2b05d66 | ||
|
|
a9f72cdec3 | ||
|
|
50ac6a3ba3 | ||
|
|
ad74e9f9c3 | ||
|
|
84e7815443 | ||
|
|
7b8b64e3af | ||
|
|
12bfe9774d | ||
|
|
e1bb21259d | ||
|
|
7a2d66918d | ||
|
|
4f94c38450 | ||
|
|
c1e3d134a8 | ||
|
|
153edcdb7f | ||
|
|
bae241cea8 | ||
|
|
5e6b5f3ec1 | ||
|
|
24ffd3af24 | ||
|
|
9266c7b534 | ||
|
|
636b538f39 | ||
|
|
62d03fd57a | ||
|
|
1bd69568b9 | ||
|
|
fce3204676 | ||
|
|
b8a27bbb23 | ||
|
|
5e817a7e3c | ||
|
|
12ecae1049 | ||
|
|
dece151da7 | ||
|
|
ad7877fa73 | ||
|
|
1cf2534a5f | ||
|
|
e43ac70194 | ||
|
|
dcaba4b8d8 | ||
|
|
6c5e351860 | ||
|
|
666de5a89a | ||
|
|
831e12a28b | ||
|
|
abae52b452 | ||
|
|
9f16892876 | ||
|
|
630dc60761 | ||
|
|
e45a254fb4 | ||
|
|
8be2cdf105 | ||
|
|
87113d1255 | ||
|
|
cab6e64cdd | ||
|
|
72960c9c50 | ||
|
|
6922a37067 | ||
|
|
a5d6c98fa3 | ||
|
|
036b0d5f34 | ||
|
|
6e2ec52c8a | ||
|
|
b8e80f92ef | ||
|
|
ee37fe7413 | ||
|
|
854535d794 | ||
|
|
28facee550 | ||
|
|
9ac4a5e752 | ||
|
|
af245ef3cf | ||
|
|
efc7680286 | ||
|
|
c68917a283 | ||
|
|
99e8ee8ab9 | ||
|
|
fa14f850e9 | ||
|
|
a59619d1a8 | ||
|
|
a6cdf6f75d | ||
|
|
28ce63c2db | ||
|
|
26430b697d | ||
|
|
153cad66a3 | ||
|
|
9cfa484421 |
47 changed files with 62889 additions and 22195 deletions
13
.arc
13
.arc
|
|
@ -1,13 +0,0 @@
|
|||
@app
|
||||
start-u1s
|
||||
|
||||
@static
|
||||
|
||||
@http
|
||||
get /
|
||||
|
||||
@tables
|
||||
data
|
||||
scopeID *String
|
||||
dataID **String
|
||||
ttl TTL
|
||||
1
.github/pull_request_template.md
vendored
1
.github/pull_request_template.md
vendored
|
|
@ -18,6 +18,7 @@ Include the hardware you use, such as your computer and other related equipment.
|
|||
* Ensure this PR has a title in the following format
|
||||
* ✅ Add Your Name
|
||||
* ✅ Add @twitterusername
|
||||
* ✅ Add @mastodonusername@instance.url
|
||||
* ❌ Add myself
|
||||
* ❌ Adding myself!
|
||||
* ❌ Add Your Name @twitter @github
|
||||
|
|
|
|||
8
.github/workflows/data-validate.yml
vendored
8
.github/workflows/data-validate.yml
vendored
|
|
@ -11,13 +11,13 @@ jobs:
|
|||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: actions/setup-node@v1
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 13.x
|
||||
node-version: 18.x
|
||||
|
||||
- name: Cache/Restore node modules
|
||||
uses: actions/cache@v1
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.npm # npm cache files are stored in `~/.npm` on Linux/macOS
|
||||
key: ${{ runner.os }}-npm-${{ hashFiles('package-lock.json') }}
|
||||
|
|
|
|||
8
.github/workflows/populate-readme.yml
vendored
8
.github/workflows/populate-readme.yml
vendored
|
|
@ -14,13 +14,13 @@ jobs:
|
|||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: actions/setup-node@v1
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 13.x
|
||||
node-version: 18.x
|
||||
|
||||
- name: Cache/Restore node modules
|
||||
uses: actions/cache@v1
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.npm # npm cache files are stored in `~/.npm` on Linux/macOS
|
||||
key: ${{ runner.os }}-npm-${{ hashFiles('package-lock.json') }}
|
||||
|
|
|
|||
6
.gitignore
vendored
6
.gitignore
vendored
|
|
@ -1,3 +1,4 @@
|
|||
build/
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
|
|
@ -54,9 +55,7 @@ typings/
|
|||
# dotenv environment variable files
|
||||
.env*
|
||||
|
||||
# gatsby files
|
||||
.cache/
|
||||
public
|
||||
|
||||
# Mac files
|
||||
.DS_Store
|
||||
|
|
@ -78,3 +77,6 @@ haters/
|
|||
|
||||
.idea/
|
||||
.history/
|
||||
|
||||
# Local Netlify folder
|
||||
.netlify
|
||||
|
|
|
|||
1
.node-version
Normal file
1
.node-version
Normal file
|
|
@ -0,0 +1 @@
|
|||
18.19.0
|
||||
4
.npmrc
Normal file
4
.npmrc
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
fund=false
|
||||
audit=false
|
||||
legacy-peer-deps=true
|
||||
shamefully-hoist=true
|
||||
42
contribution-guide.md
Normal file
42
contribution-guide.md
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
# Contributions to uses.dev
|
||||
|
||||
## Steps
|
||||
1) Fork this repo
|
||||
2) Add yourself to `/src/data.js`
|
||||
3) When requesting a PR please read carefully.
|
||||
4) Be nice to maintainers
|
||||
|
||||
## PR Guidelines
|
||||
- Should be updated with the latest main or master branch.
|
||||
- PR Title should be the name or handle of the person being added or update being made.
|
||||
- A bad PR title `update data.js`
|
||||
- A good PR Title `Adding Blake Campbell`
|
||||
|
||||
## What's a Uses Page?
|
||||
|
||||
A /uses page lists a developer's setup, gear, software, and configs (what they *use*). It's a great reference for those looking to add to their library of tools or reconfigure ones they already use.
|
||||
|
||||
**The URL MUST follow the format of use|uses|using|setup|environment at the end.**
|
||||
|
||||
### What Should I Include?
|
||||
|
||||
Include the hardware you use, such as your computer and other related equipment. Include your preferred terminal, text editors, tools, frameworks, and other related software you use. If you can, include configurations for software (such as fonts and themes). The more you have on your /uses page, the more interesting it'll be to those who view it - just keep it on-topic!
|
||||
|
||||
## Adding Yourself
|
||||
|
||||
* Ensure you are linking to a /uses page, **not just your website**
|
||||
* Ensure your data is formatted like other entries
|
||||
* Do not add yourself to the end of the array (add yourself somewhere random instead)
|
||||
* Ensure this PR has a title in the following format
|
||||
* ✅ Add Your Name
|
||||
* ✅ Add @twitterusername
|
||||
* ✅ Add @mastodonusername@instance.url
|
||||
* ❌ Add myself
|
||||
* ❌ Adding myself!
|
||||
* ❌ Add Your Name @twitter @github
|
||||
|
||||
## Code Modifications
|
||||
|
||||
* Ensure the code submitted is formatted similarly to existing code
|
||||
* Ensure variable, method, function, and component names are clear and concise
|
||||
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
import React from 'react';
|
||||
import { FilterProvider } from './src/context/FilterContext';
|
||||
import './static/fonts.css';
|
||||
|
||||
export const wrapRootElement = ({ element }) => (
|
||||
<FilterProvider>{element}</FilterProvider>
|
||||
);
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
module.exports = {
|
||||
siteMetadata: {
|
||||
title: `/uses`,
|
||||
description: `A list of /uses pages detailing developer setups.`,
|
||||
author: `@wesbos`,
|
||||
siteUrl: 'https://uses.tech',
|
||||
},
|
||||
plugins: [
|
||||
{
|
||||
resolve: `gatsby-source-filesystem`,
|
||||
options: {
|
||||
name: `images`,
|
||||
path: `${__dirname}/src/images`,
|
||||
},
|
||||
},
|
||||
`gatsby-transformer-sharp`,
|
||||
`gatsby-plugin-sharp`,
|
||||
{
|
||||
resolve: `gatsby-plugin-manifest`,
|
||||
options: {
|
||||
name: `gatsby-starter-default`,
|
||||
short_name: `starter`,
|
||||
start_url: `/`,
|
||||
background_color: `#663399`,
|
||||
theme_color: `#663399`,
|
||||
display: `minimal-ui`,
|
||||
icon: `src/images/gatsby-icon.png`, // This path is relative to the root of the site.
|
||||
},
|
||||
},
|
||||
`gatsby-plugin-react-helmet`,
|
||||
`gatsby-plugin-styled-components`,
|
||||
],
|
||||
};
|
||||
|
|
@ -1,91 +0,0 @@
|
|||
import people from './src/data.js';
|
||||
import { tags, countries, devices, normalizeTag } from './src/util/stats';
|
||||
|
||||
function unique(arr) {
|
||||
return Array.from(new Set(arr));
|
||||
}
|
||||
|
||||
function sourceNodes({ actions, createNodeId, createContentDigest }) {
|
||||
const normalizedTagMap = tags().reduce((acc, tag) => {
|
||||
const normalizedTag = normalizeTag(tag.name);
|
||||
acc[normalizedTag] = tag.name;
|
||||
return acc;
|
||||
}, {});
|
||||
// Add People to the GraphQL API, we randomize the data on each build so no one gets their feelings hurt
|
||||
people
|
||||
.sort(() => Math.random() - 0.5)
|
||||
.forEach(person => {
|
||||
const normalizedPerson = {
|
||||
...person,
|
||||
// Clean out people that added basically the same tags twice
|
||||
tags: unique(
|
||||
person.tags.map(tag => normalizedTagMap[normalizeTag(tag)] || tag)
|
||||
),
|
||||
};
|
||||
const nodeMeta = {
|
||||
id: createNodeId(`person-${normalizedPerson.name}`),
|
||||
parent: null,
|
||||
children: [],
|
||||
internal: {
|
||||
type: `Person`,
|
||||
mediaType: `text/html`,
|
||||
content: JSON.stringify(normalizedPerson),
|
||||
contentDigest: createContentDigest(normalizedPerson),
|
||||
},
|
||||
};
|
||||
|
||||
actions.createNode({ ...normalizedPerson, ...nodeMeta });
|
||||
});
|
||||
|
||||
// Add tags to GraphQL API
|
||||
tags().forEach(tag => {
|
||||
const nodeMeta = {
|
||||
id: createNodeId(`tag-${tag.name}`),
|
||||
parent: null,
|
||||
children: [],
|
||||
internal: {
|
||||
type: `Tag`,
|
||||
mediaType: `text/html`,
|
||||
content: JSON.stringify(tag),
|
||||
contentDigest: createContentDigest(tag),
|
||||
},
|
||||
};
|
||||
|
||||
actions.createNode({ ...tag, ...nodeMeta });
|
||||
});
|
||||
|
||||
// Add Countries to GraphQL API
|
||||
countries().forEach(country => {
|
||||
const nodeMeta = {
|
||||
id: createNodeId(`country-${country.name}`),
|
||||
parent: null,
|
||||
children: [],
|
||||
internal: {
|
||||
type: `Country`,
|
||||
mediaType: `text/html`,
|
||||
content: JSON.stringify(country),
|
||||
contentDigest: createContentDigest(country),
|
||||
},
|
||||
};
|
||||
|
||||
actions.createNode({ ...country, ...nodeMeta });
|
||||
});
|
||||
|
||||
// Add Devices to GraphQL API
|
||||
devices().forEach(device => {
|
||||
const nodeMeta = {
|
||||
id: createNodeId(`device-${device.name}`),
|
||||
parent: null,
|
||||
children: [],
|
||||
internal: {
|
||||
type: `device`,
|
||||
mediaType: `text/html`,
|
||||
content: JSON.stringify(device),
|
||||
contentDigest: createContentDigest(device),
|
||||
},
|
||||
};
|
||||
actions.createNode({ ...device, ...nodeMeta });
|
||||
});
|
||||
}
|
||||
|
||||
export { sourceNodes };
|
||||
|
|
@ -1 +0,0 @@
|
|||
export { wrapRootElement } from './gatsby-browser';
|
||||
103
migration.md
103
migration.md
|
|
@ -1,103 +0,0 @@
|
|||
We need to move these people over to the data.js file:
|
||||
|
||||
https://github.com/wesbos/awesome-uses/blob/master/src/data.js
|
||||
|
||||
Grab a random person, and fill out the info as best as possible.
|
||||
|
||||
If possible maybe ask the user on twitter to update or review theirs.
|
||||
|
||||
When done, check that person off.
|
||||
|
||||
|
||||
* [x] [Wes Bos](https://wesbos.com/uses) — Web Developer, Tutorial Maker, Podcaster.
|
||||
* [x] [Glenn Reyes](https://glennreyes.com/uses) - Independent Software Engineer, Trainer & Speaker.
|
||||
* [x] [Smakosh](https://smakosh.com/the-tech-tools-I-use) - JavaScript Developer, indie maker.
|
||||
* [ ] [Eric L. Barnes](https://ericlbarnes.com/uses/) - Laravel Developer, Maker, Writer
|
||||
* [x] [Benjamin Lannon](https://lannonbr.com/uses/) - Web Developer, Open Source Contributor.
|
||||
* [ ] [Thibault Maekelbergh](https://thibmaek.com/uses) - All-round developer, DIY enthousiast, record collector.
|
||||
* [x] [Kent C. Dodds](https://kentcdodds.com/uses) - Web Developer, Educator, Live Streamer, Open Sourcerer.
|
||||
* [ ] [Randy Oest, aka amazingrando](https://randyoest.com/uses/) - Lead Design and Frontend Engineer, Four Kitchens
|
||||
* [ ] [Elijah Manor](https://elijahmanor.com/uses) - Front-End Developer and Educator
|
||||
* [ ] [Dave Kiss](https://davekiss.com/uses) - Web Developer, Solopreneur, Adventurer
|
||||
* [x] [Jonathan Suh](https://jonsuh.com/uses) - Designer, Developer
|
||||
* [ ] [Manuel Wildauer](https://wildauer.io/uses) - Developer
|
||||
* [ ] [Elliot Forbes](https://tutorialedge.net/uses/) - All-round Developer
|
||||
* [ ] [Dr. Abstract](https://zimjs.com/uses/) - Founder of ZIM JavaScript Canvas Framework
|
||||
* [ ] [Jay Collett](https://www.jaycollett.co/uses/) - Freelance web designer and front end developer with CraftCMS
|
||||
* [ ] [Amit Merchant](https://www.amitmerchant.com/uses/) - Fullstack web developer, blogger.
|
||||
* [ ] [Adam Greenough](https://adamgreenough.me/uses/) - Freelance Digital Designer & Web Developer
|
||||
* [x] [Georgi Yanev](https://gyanev.com/uses/) - Web Developer, FPV drone pilot
|
||||
* [ ] [Kumar Abhirup](https://kumar.now.sh/uses) - A 15yo Jnr. developer with a passion for learning 👋🏻
|
||||
* [ ] [Chris Enns](https://chrisenns.com/uses/) - Podcast Editor & WordPress Wannabe
|
||||
* [ ] [David Llop](https://davidllop.com/uses/) - Laravel & ChatBots Developer
|
||||
* [ ] [Med Ben hartouz](https://benhartouz.com/uses/) - Fullstack Javascript Developer.
|
||||
* [ ] [Łukasz Ostrowski](https://ostrowski.ninja/uses/) - Frontend developer
|
||||
* [ ] [Tim Smith](https://www.iamtimsmith.com/uses) - Web developer, Blogger, and Freelancer
|
||||
* [ ] [Jon Quach](https://jonquach.com/uses/) - Design Engineer
|
||||
* [ ] [Tracy Osborn](https://limedaring.com/uses/) - Designer, Developer, Tech Author, Entreprenerd
|
||||
* [ ] [Daniel Van Cuylenburg](https://dvanc.co/uses/) - Web Designer, Front-end Developer, Guitarist.
|
||||
* [ ] [Aurel Tyson](https://aureltyson.info/uses) - iOS and backend developer
|
||||
* [ ] [Nick Janetakis](https://nickjanetakis.com/uses) - Web developer, Sysadmin, Teacher
|
||||
* [x] [Andrew Healey](https://healeycodes.com/uses/) - Fullstack Software Engineer, Blogger, Tutorial Creator.
|
||||
* [ ] [Alex Carpenter](https://alexcarpenter.me/uses/) - Front-end Web Developer and Screencaster.
|
||||
* [ ] [Wang Junxiao](http://www.feng0207.site/uses/) — Java Web Developer, Student.
|
||||
* [x] [Jeff Wen](https://sinchang.me/uses/) - Web Developer, Open Source Contributor
|
||||
* [ ] [Tracy Osborn](https://limedaring.com/uses/) - Designer, Developer, Tech Author, Entreprenerd
|
||||
* [ ] [Bruno Brito](https://brunobrito.pt/uses/) - Web Developer, Content Creator, Digital Marketing 🇵🇹
|
||||
* [ ] [Lemon 🍋](https://ahoylemon.xyz/uses/) - Web Developer, Podcaster, Human Who Makes Dumb Shit
|
||||
* [ ] [Kevin Jalbert](https://kevinjalbert.com/uses/) - Developer Lead (React/Rails), Blogger.
|
||||
* [x] [Swapnil Agarwal](https://swapnil.net/uses/) - Backend Developer, Aspiring Writer, Budding Designer
|
||||
* [x] [Hugo Di Francesco](https://codewithhugo.com/uses/) - JavaScript Developer, Blogger
|
||||
* [x] [Josiah Wiebe](https://jwie.be/uses/) - Full Stack Developer & Designer
|
||||
* [ ] [Khalil Stemmler](https://khalilstemmler.com/uses/) - Fullstack Javascript Developer / Designer, Musician 🇨🇦
|
||||
* [ ] [Pierre-Antoine _Leny_ Delnatte](https://leny.me/uses/) - Fullstack Web Developer, Bootcamp coach 🇧🇪
|
||||
* [ ] [Harry Roberts](https://csswizardry.com/uses/) - Consultant Front-end Architect, designer, developer, writer and speaker.
|
||||
* [ ] [Matt D. Smith](http://mds.is/using-stuff/) - Owner and Design Director at Studio Mds.
|
||||
* [ ] [Ash Hitchcock](https://www.ashleyhitchcock.com/uses) - Front-end Developer 🇬🇧
|
||||
* [ ] [Oscar te Giffel](https://oscartegiffel.com/uses/) - Fullstack Software engineer
|
||||
* [ ] [John Michael Ferraris](https://jhnferraris.dev/uses/) - Fullstack Developer (that is still eager to learn), Runner
|
||||
* [ ] [François Rabanel aka Pesko](https://peskoo.github.io/lasalledutemps/articles/2019-04/uses) - Fullstack Software Engineer
|
||||
* [ ] [Jesse Burton](https://burtonmediainc.com/uses) - Web Developer, Freelancer, Blogger
|
||||
* [ ] [Philipp John](https://www.jplace.de/uses) - Fullstack Web Developer
|
||||
* [ ] [Enea Xharja](https://eneaxharja.com/uses) — Web Developer
|
||||
* [ ] [Daniel Kim](https://www.danielkim.io/uses) — Software Engineer
|
||||
* [ ] [Sam Baldwin](https://sambaldwin.info/uses) — Designer and front-end developer
|
||||
* [ ] [Zack Eaton](https://zackeaton.com/uses/) - Student, Developer, Caffiene Enthusiast
|
||||
* [x] [Brad Garropy](https://bradgarropy.com/uses) - self taught ⚛ frontender @ [adobe](https://www.adobe.com/). [blogger](https://bradgarropy.com), [streamer](https://youtube.com/bradgarropy), [tweeter](https://twitter.com/bradgarropy). 📝📺🐦
|
||||
* [ ] [Stefan Zweifel](https://stefanzweifel.io/uses/) - Fullstack Web Developer
|
||||
* [ ] [Ignacio Villanueva](https://ignaciodenuevo.com/uses) - Frontend Developer 🇪🇸
|
||||
* [ ] [Sheree Peña](https://smariapena.com/uses) - Front Ender, Tester.
|
||||
* [ ] [Pawel Grzybek](https://pawelgrzybek.com/uses/) - Software Engineer at Mindera
|
||||
* [ ] [Jessica Dembe](https://www.jessicadembe.tech/uses/) - Software Engineer
|
||||
* [ ] [Keziah Moselle](https://blog.keziahmoselle.fr/uses/) - Front-end developer
|
||||
* [ ] [Scott Zirkel](https://scottzirkel.com/uses) - Developer, Designer, Artist, Writer
|
||||
* [x] [Maxence Poutord](https://www.maxpou.fr/uses/) - Front-end Engineer and Nomadic worker
|
||||
* [x] [Jonathan Speek](https://speek.design/uses/) - Fullstack Developer, Designer, Musician
|
||||
* [ ] [Nervewax](https://nervewax.com/uses/) - Designer / Developer
|
||||
* [ ] [Niko Heikkilä](https://nikoheikkila.fi/uses/) - Backend Developer & DevOps Engineer at Paytrail
|
||||
* [ ] [Sil van Diepen](https://silvandiepen.nl/uses/) - Creative Front-end Developer
|
||||
* [ ] [Matthias Hampel](https://dev.to/fullstack_to/tools-services-i-use-je9) - Fullstack Software Engineer / DevOps Enthusiast
|
||||
* [ ] [Ste Grainer](https://stegrainer.com/uses) - Product designer, front-end developer, and writer
|
||||
* [x] [Scott Tolinski](https://kit.com/leveluptutorials/podcasting-screencasting-gear) - Web Developer, Tutorial Maker, Podcaster.
|
||||
* [ ] [Ben Hong](https://www.bencodezen.io/uses/) - Senior Frontend Engineer @ Meltano GitLab
|
||||
* [ ] [Danny de Vries](https://dandevri.es/uses/) - Indie Maker and Lecturer
|
||||
* [x] [Scott Spence](https://scottspence.me/uses) - Web Engineer @ Karmarama
|
||||
* [ ] [Stephen Senkomago Musoke](https://ssmusoke.com/uses/) - Software Engineer [METS](https://mets.or.ug/), [UCSF Informatics Hub](https://globalhealthsciences.ucsf.edu/resources/informatics-hub) & PHP lover by night 🇺🇬
|
||||
* [ ] [Gideon Bamuleseyo](https://medium.com/developer-circle-kampala/what-i-use-my-tools-of-trade-552655db4b8d) - Software Engineer [Andela](https://andela.com/), JavaScript junkie 🇺🇬
|
||||
* [ ] [Jason Cory Alvernaz](https://jasoncoryalvernaz.com/uses/) - Fullstack Web Developer, Freelancer, Designer
|
||||
* [ ] [Freek Van der Herten](https://freek.dev/uses/) - Developer, Package Creator, Conference Speaker, Blogger 🇧🇪
|
||||
* [ ] [Adam Wathan](https://adamwathan.me/uses/) - Fullstack Web Developer, Entrepeneur, Maker of courses, Speaker, Blogger, Podcaster 🇨🇦
|
||||
* [x] [Josh Manders](https://joshmanders.com/uses/) - Full Snack Developer and Indie Maker 🌯
|
||||
* [x] [Daniel Wirtz](https://danielwirtz.com/uses/) - Designer who codes @Crisp Studio
|
||||
* [x] [Harry Wolff](https://hswolff.com/uses/) - Front-end engineer and YouTouber
|
||||
* [x] [Pouria Ezzati](https://pouria.dev/uses/) - Web developer
|
||||
* [x] [James Mills](https://jamesmills.co.uk/uses/) - Web Consultant
|
||||
* [x] [Jeffrey Way](https://laracasts.com/blog/laracasts-uses) - Laracasts author
|
||||
* [x] [Terry Godier](https://terrygodier.com/uses/) - Developer and Marketer
|
||||
* [x] [David O'Trakoun](https://www.davidosomething.com/uses/) - Software Engineer
|
||||
* [x] [Nuno Maduro](https://nunomaduro.com/uses/) - Software engineer, Open Source contributor, Speaker
|
||||
* [x] [Erno Salo](https://endormi.io/uses/) - Full Stack Developer and Open Source Contributor
|
||||
* [x] [James Brooks](https://james.brooks.page/uses/) - Software Developer at Laravel and Podcaster
|
||||
* [x] [Béla Varga](http://ecmanauten.de/uses/) - Front-end Developer, Meetup & Event Organizer and UX/UI Designer
|
||||
|
||||
[awesome-badge]: https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg
|
||||
13
netlify.toml
Normal file
13
netlify.toml
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
[build]
|
||||
command = "remix build"
|
||||
publish = "public"
|
||||
|
||||
[dev]
|
||||
command = "remix watch"
|
||||
port = 3000
|
||||
autoLaunch = false
|
||||
|
||||
[[headers]]
|
||||
for = "/build/*"
|
||||
[headers.values]
|
||||
"Cache-Control" = "public, max-age=31536000, s-maxage=31536000"
|
||||
53496
package-lock.json
generated
53496
package-lock.json
generated
File diff suppressed because it is too large
Load diff
89
package.json
89
package.json
|
|
@ -5,64 +5,57 @@
|
|||
"author": "Wes Bos",
|
||||
"eslintConfig": {
|
||||
"extends": [
|
||||
"wesbos"
|
||||
"wesbos/typescript"
|
||||
]
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 12"
|
||||
"node": ">= 18"
|
||||
},
|
||||
"dependencies": {
|
||||
"@actions/core": "^1.2.1",
|
||||
"@actions/exec": "^1.0.3",
|
||||
"@actions/github": "^2.0.1",
|
||||
"@hapi/joi": "^17.0.2",
|
||||
"country-emoji": "^1.5.0",
|
||||
"esm": "^3.2.25",
|
||||
"gatsby": "^2.18.12",
|
||||
"gatsby-image": "^2.2.34",
|
||||
"gatsby-plugin-manifest": "^2.2.31",
|
||||
"gatsby-plugin-offline": "^3.0.27",
|
||||
"gatsby-plugin-react-helmet": "^3.1.16",
|
||||
"gatsby-plugin-sharp": "^2.3.5",
|
||||
"gatsby-plugin-styled-components": "^3.1.16",
|
||||
"gatsby-plugin-web-font-loader": "^1.0.4",
|
||||
"gatsby-source-filesystem": "^2.1.40",
|
||||
"gatsby-transformer-sharp": "^2.3.7",
|
||||
"@actions/core": "^1.10.0",
|
||||
"@actions/exec": "^1.1.1",
|
||||
"@actions/github": "^5.1.1",
|
||||
"@babel/core": "^7.21.0",
|
||||
"@babel/preset-react": "^7.18.6",
|
||||
"@netlify/edge-functions": "^2.0.0",
|
||||
"@netlify/functions": "^1.4.0",
|
||||
"@netlify/remix-edge-adapter": "^1.0.0",
|
||||
"@remix-run/dev": "^1.13.0",
|
||||
"@remix-run/netlify": "^1.13.0",
|
||||
"@remix-run/node": "^1.13.0",
|
||||
"@remix-run/react": "^1.13.0",
|
||||
"@remix-run/serve": "^1.13.0",
|
||||
"@remix-run/server-runtime": "^1.13.0",
|
||||
"@types/node": "^18.14.0",
|
||||
"@types/react": "^18.0.28",
|
||||
"@types/react-dom": "^18.0.11",
|
||||
"country-emoji": "^1.5.6",
|
||||
"isbot": "^3.6.6",
|
||||
"joi": "^17.8.1",
|
||||
"netlify-cli": "^13.0.0",
|
||||
"normalize.css": "^8.0.1",
|
||||
"prop-types": "^15.7.2",
|
||||
"react": "^16.12.0",
|
||||
"react-dom": "^16.12.0",
|
||||
"react-helmet": "^5.2.1",
|
||||
"styled-components": "5.0.0-rc.3"
|
||||
"prop-types": "^15.8.1",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-helmet": "^6.1.0",
|
||||
"react-is": "^18.2.0",
|
||||
"styled-components": "5.3.6",
|
||||
"typescript": "^4.9.5"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "npx --node-arg '-r esm' gatsby build",
|
||||
"develop": "npx --node-arg '-r esm' gatsby develop",
|
||||
"start": "npm run develop",
|
||||
"serve": "npx --node-arg '-r esm' gatsby serve",
|
||||
"clean": "gatsby clean"
|
||||
"build": "netlify build",
|
||||
"dev": "NODE_ENV=development netlify dev",
|
||||
"readme": "node ./scripts/populate-readme.js"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@architect/sandbox": "^1.6.0",
|
||||
"babel-eslint": "^9.0.0",
|
||||
"eslint": "^5.16.0",
|
||||
"eslint-config-airbnb": "^17.1.1",
|
||||
"eslint-config-prettier": "^4.3.0",
|
||||
"eslint-config-wesbos": "0.0.19",
|
||||
"eslint-plugin-html": "^5.0.5",
|
||||
"eslint-plugin-import": "^2.19.1",
|
||||
"eslint-plugin-jsx-a11y": "^6.2.3",
|
||||
"eslint-plugin-prettier": "^3.1.2",
|
||||
"eslint-plugin-react": "^7.17.0",
|
||||
"eslint-plugin-react-hooks": "^1.7.0",
|
||||
"husky": "^4.0.10",
|
||||
"lint-staged": "^9.5.0",
|
||||
"prettier": "^1.19.1"
|
||||
},
|
||||
"husky": {
|
||||
"hooks": {
|
||||
"pre-commit": "lint-staged"
|
||||
}
|
||||
"@types/styled-components": "^5.1.26",
|
||||
"eslint": "^8.34.0",
|
||||
"eslint-config-wesbos": "^3.2.3",
|
||||
"husky": "^8.0.3",
|
||||
"lint-staged": "^13.1.2",
|
||||
"postcss": "^8.4.21",
|
||||
"postcss-nesting": "^11.2.1",
|
||||
"prettier": "^2.8.4"
|
||||
},
|
||||
"lint-staged": {
|
||||
"src/data.js": [
|
||||
|
|
|
|||
13649
pnpm-lock.yaml
Normal file
13649
pnpm-lock.yaml
Normal file
File diff suppressed because it is too large
Load diff
5
postcss.config.js
Normal file
5
postcss.config.js
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
const postcssNesting = require("postcss-nesting");
|
||||
|
||||
module.exports = {
|
||||
plugins: [postcssNesting()],
|
||||
};
|
||||
BIN
public/default.png
Normal file
BIN
public/default.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 755 B |
15
remix.config.js
Normal file
15
remix.config.js
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
const { config } = require("@netlify/remix-edge-adapter");
|
||||
/** @type {import('@remix-run/dev').AppConfig} */
|
||||
module.exports = {
|
||||
...(process.env.NETLIFY || process.env.NETLIFY_LOCAL ? config : {}),
|
||||
appDirectory: "src",
|
||||
future: {
|
||||
unstable_postcss: true,
|
||||
},
|
||||
ignoredRouteFiles: ["**/.*"],
|
||||
server:
|
||||
process.env.NETLIFY || process.env.NETLIFY_LOCAL
|
||||
? "./server.js"
|
||||
: undefined,
|
||||
// serverBuildPath: ".netlify/functions-internal/server.js",
|
||||
};
|
||||
|
|
@ -221,6 +221,7 @@ module.exports = [
|
|||
'🇺🇬',
|
||||
'🇺🇦',
|
||||
'🇦🇪',
|
||||
'🇺🇳',
|
||||
'🇺🇾',
|
||||
'🇺🇸',
|
||||
'🇺🇿',
|
||||
|
|
@ -237,4 +238,4 @@ module.exports = [
|
|||
'🏳️🌈',
|
||||
'🇪🇺',
|
||||
'🏴',
|
||||
];
|
||||
];
|
||||
|
|
|
|||
13
scripts/multiple-emojis.mjs
Normal file
13
scripts/multiple-emojis.mjs
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
import people from '../src/data.js';
|
||||
|
||||
function stringLength(str) {
|
||||
return Array.from(new Intl.Segmenter().segment(str)).length;
|
||||
}
|
||||
|
||||
function checkEmojiLength(person) {
|
||||
if(stringLength(person.emoji) > 1 && person.emoji) {
|
||||
console.log(person.name, person.emoji);
|
||||
}
|
||||
}
|
||||
|
||||
people.map(checkEmojiLength);
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
# → Visit [uses.tech](https://uses.tech) for a good time
|
||||
|
||||
## Please read [Contribution Guide](https://github.com/wesbos/awesome-uses/blob/master/contribution-guide.md) before submitting a PR.
|
||||
A list of `/uses` pages detailing developer setups, gear, software and configs.
|
||||
|
||||
Add your own `/uses` page in [data.js](https://github.com/wesbos/awesome-uses/blob/master/src/data.js).
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
const exec = require('@actions/exec');
|
||||
const core = require('@actions/core');
|
||||
const github = require('@actions/github');
|
||||
const Joi = require('@hapi/joi');
|
||||
const Joi = require('joi');
|
||||
const http = require('http');
|
||||
const https = require('https');
|
||||
const flags = require('./flags.js');
|
||||
|
|
@ -13,8 +13,8 @@ async function getCurrentBranchName() {
|
|||
const options = {
|
||||
silent: true,
|
||||
listeners: {
|
||||
stdout: data => (myOutput += data.toString()),
|
||||
stderr: data => (myError += data.toString()),
|
||||
stdout: (data) => (myOutput += data.toString()),
|
||||
stderr: (data) => (myError += data.toString()),
|
||||
},
|
||||
};
|
||||
|
||||
|
|
@ -23,7 +23,7 @@ async function getCurrentBranchName() {
|
|||
}
|
||||
|
||||
/** on master branch will return an empty array */
|
||||
module.exports.getMasterData = async function() {
|
||||
module.exports.getMasterData = async function () {
|
||||
const options = { silent: true };
|
||||
const curentBranchName = await getCurrentBranchName();
|
||||
// when on a branch/PR different from master
|
||||
|
|
@ -61,13 +61,15 @@ module.exports.Schema = Joi.object({
|
|||
.valid(...flags)
|
||||
.required(),
|
||||
twitter: Joi.string().pattern(new RegExp(/^@?(\w){1,15}$/)),
|
||||
mastodon: Joi.string().pattern(new RegExp(/^@(\w){1,30}@(\w)+\.(.?\w)+$/)),
|
||||
bluesky: Joi.string().pattern(new RegExp(/^[\w-]+\.(?:[\w-]+\.)?[\w-]+$/)),
|
||||
emoji: Joi.string().allow(''),
|
||||
computer: Joi.string().valid('apple', 'windows', 'linux'),
|
||||
phone: Joi.string().valid('iphone', 'android', 'windowsphone','flipphone'),
|
||||
computer: Joi.string().valid('apple', 'windows', 'linux', 'bsd'),
|
||||
phone: Joi.string().valid('iphone', 'android', 'windowsphone', 'flipphone'),
|
||||
tags: Joi.array().items(Joi.string()),
|
||||
});
|
||||
|
||||
module.exports.getStatusCode = function(url) {
|
||||
module.exports.getStatusCode = function (url) {
|
||||
const client = url.startsWith('https') ? https : http;
|
||||
return new Promise((resolve, reject) => {
|
||||
const REQUEST_TIMEOUT = 10000;
|
||||
|
|
@ -78,17 +80,17 @@ module.exports.getStatusCode = function(url) {
|
|||
);
|
||||
|
||||
client
|
||||
.get(url, res => {
|
||||
.get(url, (res) => {
|
||||
clearTimeout(timeoutId);
|
||||
resolve(res.statusCode);
|
||||
})
|
||||
.on('error', err => reject(err));
|
||||
.on('error', (err) => reject(err));
|
||||
});
|
||||
};
|
||||
|
||||
// If there are errors, will fail the action & add a comment detailing the issues
|
||||
// If there are no errors, will leave an "all-clear" comment with relevant URLs (to ease a potential manual check)
|
||||
module.exports.communicateValidationOutcome = async function(
|
||||
module.exports.communicateValidationOutcome = async function (
|
||||
errors,
|
||||
failedUrls,
|
||||
changedData
|
||||
|
|
@ -99,8 +101,8 @@ module.exports.communicateValidationOutcome = async function(
|
|||
|
||||
comment += [
|
||||
'🚨 We have detected the following issues, let us (contributors) know if you need support or clarifications:',
|
||||
...errors.map(e => `- ${e.message}`),
|
||||
...failedUrls.map(url => `- URL is invalid: ${url}`),
|
||||
...errors.map((e) => `- ${e.message}`),
|
||||
...failedUrls.map((url) => `- URL is invalid: ${url}`),
|
||||
].join('\n');
|
||||
} else {
|
||||
comment += [
|
||||
|
|
@ -118,15 +120,14 @@ module.exports.communicateValidationOutcome = async function(
|
|||
'Cannot add a comment if GITHUB_TOKEN or context.payload.pull_request is not set'
|
||||
);
|
||||
core.info(`Comment contents:\n${comment}`);
|
||||
return;
|
||||
}
|
||||
// TODO: Re-enable a way to comment on PRs that tests passed.
|
||||
// const pullRequestNumber = context.payload.pull_request.number;
|
||||
|
||||
const pullRequestNumber = context.payload.pull_request.number;
|
||||
|
||||
const octokit = new github.GitHub(GITHUB_TOKEN);
|
||||
await octokit.issues.createComment({
|
||||
...context.repo,
|
||||
issue_number: pullRequestNumber,
|
||||
body: comment,
|
||||
});
|
||||
// const octokit = new github.getOctokit(GITHUB_TOKEN);
|
||||
// await octokit.rest.pulls.createReviewComment({
|
||||
// ...context.repo,
|
||||
// pullRequestNumber,
|
||||
// body: comment,
|
||||
// });
|
||||
};
|
||||
|
|
|
|||
21
server.ts
Normal file
21
server.ts
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
// Import path interpreted by the Remix compiler
|
||||
import * as build from '@remix-run/dev/server-build';
|
||||
import { createRequestHandler } from '@netlify/remix-edge-adapter';
|
||||
|
||||
export default createRequestHandler({
|
||||
build,
|
||||
// process.env.NODE_ENV is provided by Remix at compile time
|
||||
mode: process.env.NODE_ENV,
|
||||
});
|
||||
|
||||
export const config = {
|
||||
cache: 'manual',
|
||||
path: '/*',
|
||||
// Pass all assets to the netlify asset server
|
||||
excluded_patterns: [
|
||||
'^\\/_assets\\/[^\\/]*$',
|
||||
'^\\/shared\\/[^\\/]*$',
|
||||
'^\\/build\\/[^\\/]*$',
|
||||
// '^\\/**\\/[^\\/]*$',
|
||||
],
|
||||
};
|
||||
|
|
@ -1,28 +1,4 @@
|
|||
import React, { useState, useEffect } from 'react';
|
||||
import styled from 'styled-components';
|
||||
|
||||
const BackToTopLink = styled.a`
|
||||
position: fixed;
|
||||
bottom: 1%;
|
||||
right: 1%;
|
||||
background: var(--pink);
|
||||
color: white;
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
cursor: pointer;
|
||||
border-radius: 3px;
|
||||
padding: 1rem;
|
||||
transition: opacity 0.2s;
|
||||
opacity: 0;
|
||||
text-decoration: none;
|
||||
${props =>
|
||||
props.percent > 0.25 &&
|
||||
`
|
||||
opacity: 1;
|
||||
`}
|
||||
@media screen and (max-width: 500px) {
|
||||
display: none;
|
||||
}
|
||||
`;
|
||||
|
||||
function useScrollPosition() {
|
||||
const [percent, setPercent] = useState(0);
|
||||
|
|
@ -49,8 +25,8 @@ function useScrollPosition() {
|
|||
export default function BackToTop() {
|
||||
const percent = useScrollPosition();
|
||||
return (
|
||||
<BackToTopLink href="#top" title="Back To Top" percent={percent}>
|
||||
<a className={`BackToTopLink ${percent > 0.25 ? 'Show' : ''}`} href="#top" title="Back To Top">
|
||||
↑
|
||||
</BackToTopLink>
|
||||
</a>
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,49 +1,39 @@
|
|||
import React, { useState, useEffect, useRef } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { name } from 'country-emoji';
|
||||
import styled from 'styled-components';
|
||||
import { Tag, Tags } from './Topics';
|
||||
import { useParams } from '@remix-run/react';
|
||||
import * as icons from '../util/icons';
|
||||
|
||||
function useIntersectionObserver(ref) {
|
||||
const [isIntersecting, setIntersecting] = useState(false);
|
||||
|
||||
useEffect(function() {
|
||||
const observer = new IntersectionObserver(function([entry]) {
|
||||
console.log('Run once for every time its on screen');
|
||||
console.log(entry);
|
||||
});
|
||||
// Observe the element we want to observve
|
||||
observer.observe(ref.current);
|
||||
|
||||
return () => {
|
||||
observer.unobserve(ref.current);
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
export default function Person({ person, currentTag }) {
|
||||
export default function Person({ person }) {
|
||||
const url = new URL(person.url);
|
||||
const twitter = `https://unavatar.now.sh/twitter/${person.twitter}`;
|
||||
const website = `https://unavatar.now.sh/${url.host}`;
|
||||
const unavatar = person.twitter ? `${twitter}?fallback=${website}` : website;
|
||||
const img = `https://images.weserv.nl/?url=${unavatar}&w=100&l=9&af&il&n=-1`;
|
||||
|
||||
const twitter = person.twitter
|
||||
? `https://unavatar.io/x/${person.twitter.replace('@', '')}`
|
||||
: null;
|
||||
const website = `https://unavatar.io/${url.host}`;
|
||||
const unavatar = person.twitter
|
||||
? `${twitter}?fallback=${website}&ttl=28d`
|
||||
: website;
|
||||
const [_, mastodonHandle, mastodonServer] = person.mastodon?.split('@') || [];
|
||||
const { tag: currentTag } = useParams();
|
||||
return (
|
||||
<PersonWrapper>
|
||||
<PersonInner>
|
||||
<div className="PersonWrapper">
|
||||
<div className="PersonInner">
|
||||
<header>
|
||||
<img
|
||||
width="50"
|
||||
height="50"
|
||||
src={img}
|
||||
src={unavatar}
|
||||
alt={person.name}
|
||||
onError={({ currentTarget }) => {
|
||||
currentTarget.onerror = null; // prevents looping
|
||||
currentTarget.src = "/default.png";
|
||||
}}
|
||||
loading="lazy"
|
||||
/>
|
||||
<h3>
|
||||
<a href={person.url} target="_blank" rel="noopener noreferrer">
|
||||
{person.name}
|
||||
</a>{' '}
|
||||
</a>{" "}
|
||||
{person.emoji}
|
||||
</h3>
|
||||
<a
|
||||
|
|
@ -53,19 +43,22 @@ export default function Person({ person, currentTag }) {
|
|||
href={person.url}
|
||||
>
|
||||
{url.host}
|
||||
{url.pathname.replace(/\/$/, '')}
|
||||
{url.pathname.replace(/\/$/, "")}
|
||||
</a>
|
||||
</header>
|
||||
<p>{person.description}</p>
|
||||
<Tags>
|
||||
{person.tags.map(tag => (
|
||||
<Tag key={tag} as="li" currentTag={tag === currentTag} small>
|
||||
<ul className="Tags">
|
||||
{person.tags.map((tag) => (
|
||||
<li
|
||||
className={`Tag small ${tag === currentTag ? "currentTag" : ""}`}
|
||||
key={tag}
|
||||
>
|
||||
{tag}
|
||||
</Tag>
|
||||
</li>
|
||||
))}
|
||||
</Tags>
|
||||
</PersonInner>
|
||||
<PersonDeets>
|
||||
</ul>
|
||||
</div>
|
||||
<div className="PersonDeets">
|
||||
<span className="country" title={name(person.country)}>
|
||||
{person.country}
|
||||
</span>
|
||||
|
|
@ -85,24 +78,64 @@ export default function Person({ person, currentTag }) {
|
|||
)}
|
||||
|
||||
{person.twitter && (
|
||||
<TwitterHandle>
|
||||
<div className="SocialHandle">
|
||||
<a
|
||||
href={`https://twitter.com/${person.twitter.replace('@', '')}`}
|
||||
href={`https://twitter.com/${person.twitter.replace("@", "")}`}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
<span className="at">@</span>
|
||||
{person.twitter.replace('@', '')}
|
||||
{person.twitter.replace("@", "")}
|
||||
</a>
|
||||
</TwitterHandle>
|
||||
</div>
|
||||
)}
|
||||
</PersonDeets>
|
||||
</PersonWrapper>
|
||||
|
||||
{/* If they have a bluesky, and no twitter/mastodon, show that */}
|
||||
{person.bluesky && !person.twitter && (
|
||||
<div className="SocialHandle">
|
||||
<a
|
||||
href={`https://bsky.app/profile/${person.bluesky.replace("@", "")}`}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
<span className="at">@</span>
|
||||
{person.bluesky.substring(1)}
|
||||
</a>
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* If they have a mastodon, and no twitter, show that */}
|
||||
{person.mastodon && !person.twitter && !person.bluesky && (
|
||||
<div className="SocialHandle">
|
||||
<a
|
||||
href={`https://${mastodonServer}/@${mastodonHandle}`}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
<span className="at">@</span>
|
||||
{mastodonHandle}
|
||||
</a>
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* If they have a bluesky, and no mastodon and no twitter, show that */}
|
||||
{person.bluesky && !person.mastodon && !person.twitter && (
|
||||
<div className="SocialHandle">
|
||||
<a href={`https://bsky.app/profile/${person.bluesky}`}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
<span className="at">@</span>
|
||||
{person.bluesky}
|
||||
</a>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
Person.propTypes = {
|
||||
currentTag: PropTypes.string,
|
||||
person: PropTypes.shape({
|
||||
github: PropTypes.string,
|
||||
name: PropTypes.string,
|
||||
|
|
@ -111,109 +144,31 @@ Person.propTypes = {
|
|||
description: PropTypes.string,
|
||||
tags: PropTypes.arrayOf(PropTypes.string),
|
||||
country: PropTypes.string,
|
||||
computer: PropTypes.oneOf(['apple', 'windows', 'linux']),
|
||||
phone: PropTypes.oneOf(['iphone', 'android', 'windowsphone']),
|
||||
computer: PropTypes.oneOf(['apple', 'windows', 'linux', 'bsd']),
|
||||
phone: PropTypes.oneOf(['iphone', 'android', 'windowsphone', 'flipphone']),
|
||||
twitter(props, propName, componentName) {
|
||||
if (!/^@?(\w){1,15}$/.test(props[propName])) {
|
||||
return new Error(
|
||||
`Invalid prop \`${propName}\` supplied to` +
|
||||
` \`${componentName}\`. This isn't a legit twitter handle.`
|
||||
` \`${componentName}\`. This isn't a legit Twitter handle.`
|
||||
);
|
||||
}
|
||||
},
|
||||
mastodon(props, propName, componentName) {
|
||||
if (!/^@(\w){1,30}@(\w)+\.(\w)+$/.test(props[propName])) {
|
||||
return new Error(
|
||||
`Invalid prop \`${propName}\` supplied to` +
|
||||
` \`${componentName}\`. This isn't a legit Mastodon handle.`
|
||||
);
|
||||
}
|
||||
},
|
||||
bluesky(props, propName, componentName) {
|
||||
if (!/^(\w)+\.(\w)+\.(\w)+$/.test(props[propName])) {
|
||||
return new Error(
|
||||
`Invalid prop \`${propName}\` supplied to` +
|
||||
` \`${componentName}\`. This isn't a legit Bluesky handle.`
|
||||
);
|
||||
}
|
||||
},
|
||||
}),
|
||||
};
|
||||
|
||||
// Component Styles
|
||||
const PersonWrapper = styled.div`
|
||||
border: 1px solid var(--vape);
|
||||
border-radius: 5.34334px;
|
||||
box-shadow: 10px -10px 0 var(--blue2);
|
||||
display: grid;
|
||||
grid-template-rows: 1fr auto auto;
|
||||
`;
|
||||
|
||||
const PersonInner = styled.div`
|
||||
padding: 2rem;
|
||||
h3 {
|
||||
margin: 0;
|
||||
a:visited {
|
||||
color: var(--purple);
|
||||
}
|
||||
}
|
||||
header {
|
||||
display: grid;
|
||||
grid-template-rows: auto auto;
|
||||
grid-template-columns: auto 1fr;
|
||||
grid-gap: 0 1rem;
|
||||
@media all and (max-width: 400px) {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
img {
|
||||
grid-row: 1 / -1;
|
||||
background: var(--lightblue);
|
||||
font-size: 1rem;
|
||||
}
|
||||
.displayLink {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
text-decoration: none;
|
||||
color: var(--vape);
|
||||
letter-spacing: 1px;
|
||||
font-size: 1.2rem;
|
||||
text-overflow: ellipsis;
|
||||
max-width: 100%;
|
||||
overflow: hidden;
|
||||
:hover,
|
||||
:visited {
|
||||
color: var(--pink);
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
const PersonDeets = styled.div`
|
||||
display: flex;
|
||||
border-top: 1px solid var(--vape);
|
||||
> * {
|
||||
flex: 1;
|
||||
border-left: 1px solid var(--vape);
|
||||
text-align: center;
|
||||
padding: 1rem;
|
||||
display: grid;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
grid-template-columns: auto auto;
|
||||
&:first-child {
|
||||
border-left: 0;
|
||||
}
|
||||
}
|
||||
a {
|
||||
color: var(--vape);
|
||||
}
|
||||
.country {
|
||||
font-size: 3rem;
|
||||
padding-top: 2rem;
|
||||
}
|
||||
.phone {
|
||||
padding: 0;
|
||||
}
|
||||
@media all and (max-width: 400px) {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
> *:nth-child(1),
|
||||
> *:nth-child(2) {
|
||||
/* lol */
|
||||
border-bottom: 1px solid var(--vape);
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
const TwitterHandle = styled.span`
|
||||
font-size: 1.24323423426928098420394802rem;
|
||||
.at {
|
||||
color: var(--yellow);
|
||||
margin-right: 2px;
|
||||
}
|
||||
`;
|
||||
|
|
|
|||
|
|
@ -1,123 +1,52 @@
|
|||
import React, { useContext } from 'react';
|
||||
import styled from 'styled-components';
|
||||
import FilterContext from '../context/FilterContext';
|
||||
import { Link, useParams, useRouteLoaderData } from '@remix-run/react';
|
||||
import * as icons from '../util/icons';
|
||||
|
||||
export default function Topics() {
|
||||
const { countries, tags, devices, currentTag, setCurrentTag } = useContext(
|
||||
FilterContext
|
||||
);
|
||||
const { tags, countries, devices } = useRouteLoaderData("root");
|
||||
const params = useParams();
|
||||
const currentTag = params.tag || 'all';
|
||||
|
||||
return (
|
||||
<Tags>
|
||||
{tags.map(tag => (
|
||||
<Tag
|
||||
currentTag={tag.name === currentTag}
|
||||
htmlFor={`filter-${tag.name}`}
|
||||
key={`filter-${tag.name}`}
|
||||
clickable
|
||||
<div className="Tags">
|
||||
{tags.map((tag) => (
|
||||
<Link
|
||||
prefetch="intent"
|
||||
key={`tag-${tag.name}`}
|
||||
to={
|
||||
tag.name === "all" ? "/" : `/like/${encodeURIComponent(tag.name)}`
|
||||
}
|
||||
className={`Tag ${currentTag === tag.name ? "currentTag" : ""}`}
|
||||
>
|
||||
<input
|
||||
type="radio"
|
||||
name="tag"
|
||||
id={`filter-${tag.name}`}
|
||||
value={tag.name}
|
||||
checked={tag.name === currentTag}
|
||||
onChange={e => setCurrentTag(e.currentTarget.value)}
|
||||
/>
|
||||
{tag.name}
|
||||
<TagCount>{tag.count}</TagCount>
|
||||
</Tag>
|
||||
<span className="TagCount">{tag.count}</span>
|
||||
</Link>
|
||||
))}
|
||||
|
||||
{countries.map(tag => (
|
||||
<Tag
|
||||
currentTag={tag.emoji === currentTag}
|
||||
htmlFor={`filter-${tag.name}`}
|
||||
{countries.map((tag) => (
|
||||
<Link
|
||||
to={`/like/${tag.emoji}`}
|
||||
prefetch="intent"
|
||||
className={`Tag ${currentTag === tag.emoji ? "currentTag" : ""}`}
|
||||
key={`filter-${tag.name}`}
|
||||
title={tag.name}
|
||||
clickable
|
||||
>
|
||||
<input
|
||||
type="radio"
|
||||
name="tag"
|
||||
id={`filter-${tag.name}`}
|
||||
value={tag.emoji}
|
||||
checked={tag.emoji === currentTag}
|
||||
onChange={e => setCurrentTag(e.currentTarget.value)}
|
||||
/>
|
||||
<TagEmoji>{tag.emoji}</TagEmoji>
|
||||
<TagCount>{tag.count}</TagCount>
|
||||
</Tag>
|
||||
<span className="TagEmoji">{tag.emoji}</span>
|
||||
<span className="TagCount">{tag.count}</span>
|
||||
</Link>
|
||||
))}
|
||||
|
||||
{devices.map(tag => (
|
||||
<Tag
|
||||
currentTag={tag.name === currentTag}
|
||||
htmlFor={`filter-${tag.name}`}
|
||||
{devices.map((tag) => (
|
||||
<Link
|
||||
to={`/like/${tag.name}`}
|
||||
className={`Tag ${currentTag === tag.name ? "currentTag" : ""}`}
|
||||
prefetch="intent"
|
||||
key={`filter-${tag.name}`}
|
||||
title={tag.name}
|
||||
clickable
|
||||
>
|
||||
<input
|
||||
type="radio"
|
||||
name="computer"
|
||||
id={`filter-${tag.name}`}
|
||||
value={tag.name}
|
||||
checked={tag.name === currentTag}
|
||||
onChange={e => setCurrentTag(e.currentTarget.value)}
|
||||
/>
|
||||
<img height="20px" src={icons[tag.name]} alt={tag.name} />
|
||||
<TagCount>{tag.count}</TagCount>
|
||||
</Tag>
|
||||
<span className="TagCount">{tag.count}</span>
|
||||
</Link>
|
||||
))}
|
||||
</Tags>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
// Component Styles
|
||||
const Tags = styled.ul`
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
`;
|
||||
|
||||
const Tag = styled.label`
|
||||
background: var(--pink);
|
||||
margin: 2px;
|
||||
border-radius: 3px;
|
||||
font-size: ${props => (props.small ? `1.2rem;` : `1.7rem;`)};
|
||||
padding: 5px;
|
||||
color: hsla(0, 100%, 100%, 0.8);
|
||||
transition: background-color 0.2s;
|
||||
cursor: ${props => (props.clickable ? 'pointer' : 'default')};
|
||||
display: grid;
|
||||
grid-template-columns: 1fr auto;
|
||||
align-items: center;
|
||||
input {
|
||||
display: none;
|
||||
}
|
||||
${props =>
|
||||
props.currentTag &&
|
||||
`
|
||||
background: var(--yellow);
|
||||
color: hsla(0, 100%, 0%, 0.8);
|
||||
`}
|
||||
`;
|
||||
|
||||
const TagEmoji = styled.span`
|
||||
transform: scale(1.45);
|
||||
`;
|
||||
|
||||
const TagCount = styled.span`
|
||||
background: var(--blue);
|
||||
font-size: 1rem;
|
||||
color: white;
|
||||
padding: 2px;
|
||||
border-radius: 2px;
|
||||
margin-left: 5px;
|
||||
`;
|
||||
|
||||
export { Tag, Tags };
|
||||
|
|
|
|||
|
|
@ -1,35 +1,23 @@
|
|||
import React from 'react';
|
||||
import { Link } from 'gatsby';
|
||||
import PropTypes from 'prop-types';
|
||||
import Helmet from 'react-helmet';
|
||||
import styled from 'styled-components';
|
||||
import FavIcon from './FavIcon';
|
||||
|
||||
function Header({ siteTitle, siteDescription, siteUrl }) {
|
||||
|
||||
return (
|
||||
<HeaderWrapper className="header">
|
||||
<div className="header HeaderWrapper">
|
||||
<FavIcon />
|
||||
<Helmet>
|
||||
<html lang="en" amp />
|
||||
<title>{siteTitle}</title>
|
||||
<meta name="description" content={siteDescription} />
|
||||
<link rel="canonical" href={siteUrl} />
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta name="twitter:creator" content="@wesbos" />
|
||||
<meta name="twitter:title" content={siteTitle} />
|
||||
<meta name="twitter:description" content={siteDescription} />
|
||||
<meta name="twitter:image" content={`${siteUrl}/twitter-card.png`} />
|
||||
</Helmet>
|
||||
<div>
|
||||
<h1 id="top">
|
||||
<Link to="/">/uses</Link>
|
||||
<a href="/">/uses</a>
|
||||
</h1>
|
||||
<p>
|
||||
A list of <code>/uses</code> pages detailing developer setups, gear,
|
||||
software and configs.
|
||||
</p>
|
||||
</div>
|
||||
</HeaderWrapper>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Header.propTypes = {
|
||||
|
|
@ -45,11 +33,3 @@ Header.defaultProps = {
|
|||
};
|
||||
|
||||
export default Header;
|
||||
|
||||
// Component Styles
|
||||
const HeaderWrapper = styled.header`
|
||||
text-align: center;
|
||||
h1 {
|
||||
font-size: 6rem;
|
||||
}
|
||||
`;
|
||||
|
|
|
|||
|
|
@ -1,32 +0,0 @@
|
|||
import React from 'react';
|
||||
import { useStaticQuery, graphql } from 'gatsby';
|
||||
import Img from 'gatsby-image';
|
||||
|
||||
/*
|
||||
* This component is built using `gatsby-image` to automatically serve optimized
|
||||
* images with lazy loading and reduced file sizes. The image is loaded using a
|
||||
* `useStaticQuery`, which allows us to load the image from directly within this
|
||||
* component, rather than having to pass the image data down from pages.
|
||||
*
|
||||
* For more information, see the docs:
|
||||
* - `gatsby-image`: https://gatsby.dev/gatsby-image
|
||||
* - `useStaticQuery`: https://www.gatsbyjs.org/docs/use-static-query/
|
||||
*/
|
||||
|
||||
const Image = () => {
|
||||
const data = useStaticQuery(graphql`
|
||||
query {
|
||||
placeholderImage: file(relativePath: { eq: "gatsby-astronaut.png" }) {
|
||||
childImageSharp {
|
||||
fluid(maxWidth: 300) {
|
||||
...GatsbyImageSharpFluid
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
`);
|
||||
|
||||
return <Img fluid={data.placeholderImage.childImageSharp.fluid} />;
|
||||
};
|
||||
|
||||
export default Image;
|
||||
|
|
@ -1,134 +1,41 @@
|
|||
/**
|
||||
* Layout component that queries for data
|
||||
* with Gatsby's useStaticQuery component
|
||||
*
|
||||
* See: https://www.gatsbyjs.org/docs/use-static-query/
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { useStaticQuery, graphql } from 'gatsby';
|
||||
|
||||
import styled, { createGlobalStyle } from 'styled-components';
|
||||
import Header from './header';
|
||||
import 'normalize.css';
|
||||
|
||||
const Layout = ({ children }) => {
|
||||
const data = useStaticQuery(graphql`
|
||||
query SiteTitleQuery {
|
||||
site {
|
||||
siteMetadata {
|
||||
title
|
||||
description
|
||||
siteUrl
|
||||
}
|
||||
}
|
||||
}
|
||||
`);
|
||||
|
||||
export default function Layout({ children }) {
|
||||
return (
|
||||
<>
|
||||
<GlobalStyle />
|
||||
<Main>
|
||||
<Header
|
||||
siteTitle={data.site.siteMetadata.title}
|
||||
siteDescription={data.site.siteMetadata.description}
|
||||
siteUrl={data.site.siteMetadata.siteUrl}
|
||||
/>
|
||||
{children}
|
||||
<footer>
|
||||
<center ya-i-used-a-center-tag="sue me">
|
||||
<p>
|
||||
Made by <a href="https://wesbos.com">Wes Bos</a> with{' '}
|
||||
<a href="https://www.gatsbyjs.org">Gatsby</a> ©{' '}
|
||||
{new Date().getFullYear() - Math.floor(Math.random() * 777)}
|
||||
</p>
|
||||
<p>
|
||||
Source on{' '}
|
||||
<a href="https://github.com/wesbos/awesome-uses/">GitHub</a>. Add
|
||||
yourself!
|
||||
</p>
|
||||
<p>
|
||||
Icons from <a href="https://icons8.com">icons8.com</a>
|
||||
</p>
|
||||
<p>
|
||||
Domain provided by <a href="https://get.tech/">.Tech</a>
|
||||
</p>
|
||||
<p>
|
||||
Hosted on <a href="https://netlify.com">Netlify</a>
|
||||
</p>
|
||||
</center>
|
||||
</footer>
|
||||
</Main>
|
||||
</>
|
||||
<main className="Main">
|
||||
<Header />
|
||||
{children}
|
||||
<footer>
|
||||
<center ya-i-used-a-center-tag="sue me">
|
||||
<p>
|
||||
Made by <a href="https://wesbos.com">Wes Bos</a> with{" "}
|
||||
<a href="https://www.remix.run">Remix</a> ©{" "}
|
||||
{new Date().getFullYear()}
|
||||
</p>
|
||||
<p>
|
||||
Source on{" "}
|
||||
<a href="https://github.com/wesbos/awesome-uses/">GitHub</a>. Add
|
||||
yourself!
|
||||
</p>
|
||||
<p>
|
||||
Icons from <a href="https://icons8.com">icons8.com</a>
|
||||
</p>
|
||||
<p>
|
||||
Domain provided by <a href="https://get.tech/">.Tech</a>
|
||||
</p>
|
||||
<p>
|
||||
Hosted on <a href="https://netlify.com">Netlify</a>
|
||||
</p>
|
||||
<p suppressHydrationWarning>Rendered Fresh</p>
|
||||
</center>
|
||||
</footer>
|
||||
</main>
|
||||
);
|
||||
};
|
||||
|
||||
Layout.propTypes = {
|
||||
children: PropTypes.node.isRequired,
|
||||
};
|
||||
|
||||
export default Layout;
|
||||
|
||||
// Global Styles
|
||||
const GlobalStyle = createGlobalStyle`
|
||||
html {
|
||||
--purple: #b066ff;
|
||||
--blue: #203447;
|
||||
--lightblue: #1f4662;
|
||||
--blue2: #1C2F40;
|
||||
--yellow: #ffc600;
|
||||
--pink: #EB4471;
|
||||
--vape: #d7d7d7;
|
||||
background: var(--blue);
|
||||
color: var(--vape);
|
||||
font-family: 'Fira Mono', monospace;
|
||||
font-weight: 100;
|
||||
font-size: 10px;
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
body {
|
||||
font-size: 2rem;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
h1,h2,h3,h4,h5,h6 {
|
||||
font-weight: 500;
|
||||
}
|
||||
a {
|
||||
color: var(--yellow);
|
||||
text-decoration-color: var(--pink);
|
||||
font-style: italic;
|
||||
}
|
||||
code {
|
||||
background: var(--lightblue);
|
||||
}
|
||||
::selection {
|
||||
background: var(--yellow);
|
||||
color: var(--blue);
|
||||
}
|
||||
|
||||
body::-webkit-scrollbar {
|
||||
width: 12px;
|
||||
}
|
||||
html {
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: var(--yellow) var(--blue);
|
||||
}
|
||||
body::-webkit-scrollbar-track {
|
||||
background: var(--blue);
|
||||
}
|
||||
body::-webkit-scrollbar-thumb {
|
||||
background-color: var(--yellow) ;
|
||||
border-radius: 6px;
|
||||
border: 3px solid var(--blue);
|
||||
}
|
||||
`;
|
||||
|
||||
// Component Styles
|
||||
const Main = styled.main`
|
||||
display: grid;
|
||||
grid-gap: 3rem;
|
||||
max-width: 1900px;
|
||||
padding: 0 3rem;
|
||||
margin: 5rem auto;
|
||||
`;
|
||||
|
|
|
|||
|
|
@ -1,53 +0,0 @@
|
|||
import React, { createContext, useState } from 'react';
|
||||
import { useStaticQuery, graphql } from 'gatsby';
|
||||
import PropTypes from 'prop-types';
|
||||
|
||||
const FilterContext = createContext();
|
||||
|
||||
const FilterProvider = function({ children }) {
|
||||
const [currentTag, setCurrentTag] = useState('all');
|
||||
|
||||
const { allTag, allCountry, allDevice } = useStaticQuery(graphql`
|
||||
query FilterQuery {
|
||||
allTag {
|
||||
nodes {
|
||||
name
|
||||
count
|
||||
}
|
||||
}
|
||||
allCountry {
|
||||
nodes {
|
||||
count
|
||||
emoji
|
||||
name
|
||||
}
|
||||
}
|
||||
allDevice {
|
||||
nodes {
|
||||
count
|
||||
name
|
||||
}
|
||||
}
|
||||
}
|
||||
`);
|
||||
return (
|
||||
<FilterContext.Provider
|
||||
value={{
|
||||
tags: allTag.nodes,
|
||||
countries: allCountry.nodes,
|
||||
devices: allDevice.nodes,
|
||||
currentTag,
|
||||
setCurrentTag,
|
||||
}}
|
||||
>
|
||||
{children}
|
||||
</FilterContext.Provider>
|
||||
);
|
||||
};
|
||||
|
||||
FilterProvider.propTypes = {
|
||||
children: PropTypes.element,
|
||||
};
|
||||
|
||||
export default FilterContext;
|
||||
export { FilterProvider };
|
||||
15337
src/data.js
15337
src/data.js
File diff suppressed because it is too large
Load diff
21
src/entry.client.tsx
Normal file
21
src/entry.client.tsx
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
import { RemixBrowser } from '@remix-run/react';
|
||||
import { startTransition, StrictMode } from 'react';
|
||||
import { hydrateRoot } from 'react-dom/client';
|
||||
const hydrate = () => {
|
||||
startTransition(() => {
|
||||
hydrateRoot(
|
||||
document,
|
||||
<StrictMode>
|
||||
<RemixBrowser />
|
||||
</StrictMode>
|
||||
);
|
||||
});
|
||||
};
|
||||
|
||||
if (window.requestIdleCallback) {
|
||||
window.requestIdleCallback(hydrate);
|
||||
} else {
|
||||
// Safari doesn't support requestIdleCallback
|
||||
// https://caniuse.com/requestidlecallback
|
||||
window.setTimeout(hydrate, 1);
|
||||
}
|
||||
81
src/entry.server.tsx
Normal file
81
src/entry.server.tsx
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
import type { EntryContext } from '@remix-run/node';
|
||||
import { RemixServer } from '@remix-run/react';
|
||||
import { renderToReadableStream } from 'react-dom/server';
|
||||
|
||||
const ABORT_DELAY = 5000;
|
||||
|
||||
export async function streamToText(stream: ReadableStream<Uint8Array>): Promise<string> {
|
||||
let result = '';
|
||||
const reader = stream.pipeThrough(new TextDecoderStream()).getReader();
|
||||
while (true) { // eslint-disable-line no-constant-condition
|
||||
const { done, value } = await reader.read();
|
||||
if (done) {
|
||||
break;
|
||||
}
|
||||
|
||||
result += value;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
type CachedResponse = {
|
||||
html: string;
|
||||
date: Date;
|
||||
}
|
||||
const cache = new Map<string, CachedResponse>();
|
||||
|
||||
export default async function handleRequest(
|
||||
request: Request,
|
||||
responseStatusCode: number,
|
||||
responseHeaders: Headers,
|
||||
remixContext: EntryContext
|
||||
) {
|
||||
// check if we have a cached response in memory
|
||||
const cachedResponse = cache.get(request.url);
|
||||
if (cachedResponse) {
|
||||
// console.log('Serving from cache', request.url);
|
||||
// if we have a cached response, check if it's less than 5 seconds old
|
||||
const now = new Date();
|
||||
const diff = now.getTime() - cachedResponse.date.getTime();
|
||||
if (true || diff < 5000) {
|
||||
// if it's less than 5 seconds old, return the cached response
|
||||
responseHeaders.set('Content-Type', 'text/html');
|
||||
return new Response(cachedResponse.html, {
|
||||
headers: responseHeaders,
|
||||
status: responseStatusCode,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
let didError = false;
|
||||
const chunks: Uint8Array[] = [];
|
||||
|
||||
const body = await renderToReadableStream(
|
||||
<RemixServer context={remixContext} url={request.url} />,
|
||||
{
|
||||
onError: (error: unknown) => {
|
||||
didError = true;
|
||||
console.error(error);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
// tee the stream so we can cache it and send it to the client
|
||||
const [toReponse, toCache] = body.tee();
|
||||
|
||||
streamToText(toCache).then(html => {
|
||||
console.log('Caching', request.url);
|
||||
cache.set(request.url, {
|
||||
html: html.replace('Rendered Fresh', `Rendered from cache ${new Date().toISOString()}`),
|
||||
date: new Date(),
|
||||
});
|
||||
});
|
||||
|
||||
const headers = new Headers(responseHeaders);
|
||||
headers.set("Content-Type", "text/html");
|
||||
const response = new Response(toReponse, {
|
||||
headers,
|
||||
status: didError ? 500 : responseStatusCode,
|
||||
});
|
||||
return response;
|
||||
}
|
||||
BIN
src/images/bsd.png
Normal file
BIN
src/images/bsd.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 84 KiB |
|
Before Width: | Height: | Size: 708 KiB After Width: | Height: | Size: 708 KiB |
|
|
@ -1,62 +0,0 @@
|
|||
import React, { useContext } from 'react';
|
||||
import { useStaticQuery, graphql } from 'gatsby';
|
||||
import styled from 'styled-components';
|
||||
import FilterContext from '../context/FilterContext';
|
||||
|
||||
import Layout from '../components/layout';
|
||||
import Person from '../components/Person';
|
||||
import Topics from '../components/Topics';
|
||||
import BackToTop from '../components/BackToTop';
|
||||
|
||||
function IndexPage() {
|
||||
const { currentTag } = useContext(FilterContext);
|
||||
const { allPerson } = useStaticQuery(graphql`
|
||||
query People {
|
||||
allPerson {
|
||||
nodes {
|
||||
computer
|
||||
country
|
||||
description
|
||||
emoji
|
||||
id
|
||||
name
|
||||
phone
|
||||
tags
|
||||
twitter
|
||||
url
|
||||
}
|
||||
}
|
||||
}
|
||||
`);
|
||||
const people = allPerson.nodes.filter(
|
||||
person =>
|
||||
currentTag === 'all' ||
|
||||
person.tags.includes(currentTag) ||
|
||||
currentTag === person.country ||
|
||||
currentTag === person.computer ||
|
||||
currentTag === person.phone
|
||||
);
|
||||
return (
|
||||
<Layout>
|
||||
<Topics />
|
||||
<People>
|
||||
{people.map(person => (
|
||||
<Person key={person.name} person={person} currentTag={currentTag} />
|
||||
))}
|
||||
</People>
|
||||
<BackToTop />
|
||||
</Layout>
|
||||
);
|
||||
}
|
||||
|
||||
export default IndexPage;
|
||||
|
||||
// Component Styles
|
||||
const People = styled.div`
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
|
||||
grid-gap: 5rem;
|
||||
@media all and (max-width: 400px) {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
`;
|
||||
64
src/root.tsx
Normal file
64
src/root.tsx
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
import type { LinksFunction, MetaFunction } from '@remix-run/node';
|
||||
import {
|
||||
Links,
|
||||
LiveReload,
|
||||
Meta,
|
||||
Outlet,
|
||||
Scripts
|
||||
} from '@remix-run/react';
|
||||
import Layout from './components/layout';
|
||||
import styles from './styles.css';
|
||||
import { countries, devices, tags } from './util/stats';
|
||||
import twitterCard from './images/twitter-card.png';
|
||||
|
||||
export const links: LinksFunction = () => [
|
||||
{ rel: 'stylesheet', href: styles },
|
||||
];
|
||||
|
||||
export function loader() {
|
||||
return {
|
||||
tags: tags(),
|
||||
countries: countries(),
|
||||
devices: devices(),
|
||||
}
|
||||
}
|
||||
|
||||
const metaData = {
|
||||
description: `A list of /uses pages detailing developer setups.`,
|
||||
siteUrl: 'https://uses.tech',
|
||||
author: `@wesbos`,
|
||||
title: '/uses',
|
||||
}
|
||||
|
||||
export const meta: MetaFunction = () => ({
|
||||
charset: 'utf-8',
|
||||
title: '/uses',
|
||||
viewport: 'width=device-width,initial-scale=1',
|
||||
});
|
||||
|
||||
export default function App() {
|
||||
return (
|
||||
<html lang="en">
|
||||
<head>
|
||||
<Meta />
|
||||
<link rel="icon" href="https://fav.farm/🖥" />
|
||||
<meta name="description" content={metaData.description} />
|
||||
<link rel="canonical" href={metaData.siteUrl} />
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta name="twitter:creator" content="@wesbos" />
|
||||
<meta name="twitter:title" content={metaData.title} />
|
||||
<meta name="twitter:description" content={metaData.description} />
|
||||
<meta name="twitter:image" content={`https://uses.tech${twitterCard}`} />
|
||||
<Links />
|
||||
</head>
|
||||
<body>
|
||||
<Layout>
|
||||
<Outlet />
|
||||
{/* <ScrollRestoration /> */}
|
||||
<Scripts />
|
||||
<LiveReload />
|
||||
</Layout>
|
||||
</body>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
27
src/routes/index.tsx
Normal file
27
src/routes/index.tsx
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
import { useLoaderData, useParams } from '@remix-run/react';
|
||||
import { json, LoaderArgs } from '@remix-run/server-runtime';
|
||||
import React, { useContext } from 'react';
|
||||
import Topics from '../components/Topics';
|
||||
import BackToTop from '../components/BackToTop';
|
||||
import Person from '../components/Person';
|
||||
import { getPeople } from 'src/util/stats';
|
||||
|
||||
export async function loader({ params }: LoaderArgs) {
|
||||
const people = getPeople(params.tag);
|
||||
return {people};
|
||||
}
|
||||
|
||||
export default function Index() {
|
||||
const { people } = useLoaderData<ReturnType<typeof loader>>();
|
||||
return (
|
||||
<>
|
||||
<Topics />
|
||||
<div className="People">
|
||||
{people.map(person => (
|
||||
<Person key={person.name} person={person} />
|
||||
))}
|
||||
</div>
|
||||
<BackToTop />
|
||||
</>
|
||||
);
|
||||
}
|
||||
1
src/routes/like/$tag.tsx
Normal file
1
src/routes/like/$tag.tsx
Normal file
|
|
@ -0,0 +1 @@
|
|||
export { default, loader } from '../index';
|
||||
291
src/styles.css
Normal file
291
src/styles.css
Normal file
|
|
@ -0,0 +1,291 @@
|
|||
/* Fonts */
|
||||
@font-face {
|
||||
font-family: 'Fira Mono';
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
src: url('./fonts/fira_mono-regular-webfont.woff2') format('woff2'),
|
||||
url('./fonts/fira_mono-regular-webfont.woff') format('woff');
|
||||
font-display: swap;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Fira Mono';
|
||||
font-weight: 400;
|
||||
font-style: italic;
|
||||
src: url('./fonts/fira_mono-regular_italic-webfont.woff2') format('woff2'), url('../src/fonts/fira_mono-regular_italic-webfont.woff') format('woff');
|
||||
font-display: swap;
|
||||
}
|
||||
|
||||
html {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
*, *:before, *:after {
|
||||
box-sizing: inherit;
|
||||
}
|
||||
|
||||
/* Global Styles */
|
||||
:root {
|
||||
--purple: #b066ff;
|
||||
--blue: #203447;
|
||||
--lightblue: #1f4662;
|
||||
--blue2: #1C2F40;
|
||||
--yellow: #ffc600;
|
||||
--pink: #EB4471;
|
||||
--vape: #d7d7d7;
|
||||
background: var(--blue);
|
||||
color: var(--vape);
|
||||
font-family: 'Fira Mono', monospace;
|
||||
font-weight: 100;
|
||||
font-size: 10px;
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
|
||||
body {
|
||||
font-size: 2rem;
|
||||
overflow-y: scroll;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
a {
|
||||
color: var(--yellow);
|
||||
text-decoration-color: var(--pink);
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
code {
|
||||
background: var(--lightblue);
|
||||
}
|
||||
|
||||
::selection {
|
||||
background: var(--yellow);
|
||||
color: var(--blue);
|
||||
}
|
||||
|
||||
body::-webkit-scrollbar {
|
||||
width: 12px;
|
||||
}
|
||||
|
||||
html {
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: var(--yellow) var(--blue);
|
||||
}
|
||||
|
||||
body::-webkit-scrollbar-track {
|
||||
background: var(--blue);
|
||||
}
|
||||
|
||||
body::-webkit-scrollbar-thumb {
|
||||
background-color: var(--yellow);
|
||||
border-radius: 6px;
|
||||
border: 3px solid var(--blue);
|
||||
}
|
||||
|
||||
|
||||
.PersonWrapper {
|
||||
border: 1px solid var(--vape);
|
||||
border-radius: 5.34334px;
|
||||
box-shadow: 10px -10px 0 var(--blue2);
|
||||
display: grid;
|
||||
grid-template-rows: 1fr auto auto;
|
||||
}
|
||||
|
||||
.PersonInner {
|
||||
padding: 2rem;
|
||||
|
||||
& h3 {
|
||||
margin: 0;
|
||||
|
||||
& a:visited {
|
||||
color: var(--purple);
|
||||
}
|
||||
}
|
||||
|
||||
& header {
|
||||
display: grid;
|
||||
grid-template-rows: auto auto;
|
||||
grid-template-columns: auto 1fr;
|
||||
grid-gap: 0 1rem;
|
||||
|
||||
@media all and (max-width: 400px) {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
& img {
|
||||
grid-row: 1 / -1;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
& .displayLink {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
text-decoration: none;
|
||||
color: var(--vape);
|
||||
letter-spacing: 1px;
|
||||
font-size: 1.2rem;
|
||||
text-overflow: ellipsis;
|
||||
max-width: 100%;
|
||||
overflow: hidden;
|
||||
|
||||
&:hover,
|
||||
&:visited {
|
||||
color: var(--pink);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.PersonDeets {
|
||||
display: flex;
|
||||
border-top: 1px solid var(--vape);
|
||||
|
||||
>* {
|
||||
flex: 1;
|
||||
border-left: 1px solid var(--vape);
|
||||
text-align: center;
|
||||
padding: 1rem;
|
||||
display: grid;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
grid-template-columns: auto auto;
|
||||
|
||||
&:first-child {
|
||||
border-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
& a {
|
||||
color: var(--vape);
|
||||
}
|
||||
|
||||
& .country {
|
||||
font-size: 3rem;
|
||||
padding-top: 2rem;
|
||||
|
||||
}
|
||||
|
||||
& .phone {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
@media all and (max-width: 400px) {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
|
||||
>*:nth-child(1),
|
||||
>*:nth-child(2) {
|
||||
/* lol */
|
||||
border-bottom: 1px solid var(--vape);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.SocialHandle {
|
||||
font-size: 1.24323423426928098420394802rem;
|
||||
& .at {
|
||||
color: var(--yellow);
|
||||
margin-right: 2px;
|
||||
}
|
||||
}
|
||||
|
||||
.Tags {
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.Tag {
|
||||
background: var(--pink);
|
||||
margin: 2px;
|
||||
border-radius: 3px;
|
||||
font-size: 1.7rem;
|
||||
text-decoration: none;
|
||||
&.small {
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
padding: 5px;
|
||||
color: hsla(0, 100%, 100%, 0.8);
|
||||
transition: background-color 0.2s;
|
||||
display: grid;
|
||||
grid-template-columns: 1fr auto;
|
||||
align-items: center;
|
||||
|
||||
& input {
|
||||
display: none;
|
||||
}
|
||||
&.currentTag {
|
||||
background: var(--yellow);
|
||||
color: hsla(0, 100%, 0%, 0.8);
|
||||
}
|
||||
}
|
||||
|
||||
.TagEmoji {
|
||||
transform: scale(1.45);
|
||||
}
|
||||
|
||||
.TagCount {
|
||||
background: var(--blue);
|
||||
font-size: 1rem;
|
||||
color: white;
|
||||
padding: 2px;
|
||||
border-radius: 2px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.BackToTopLink {
|
||||
position: fixed;
|
||||
bottom: 1%;
|
||||
right: 1%;
|
||||
color: white;
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
cursor: pointer;
|
||||
border-radius: 3px;
|
||||
padding: 1rem;
|
||||
transition: opacity 0.2s;
|
||||
opacity: 0;
|
||||
text-decoration: none;
|
||||
|
||||
&.Show {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 500px) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.HeaderWrapper {
|
||||
text-align: center;
|
||||
|
||||
& h1 {
|
||||
font-size: 6rem;
|
||||
}
|
||||
}
|
||||
|
||||
.Main {
|
||||
display: grid;
|
||||
grid-gap: 3rem;
|
||||
max-width: 1900px;
|
||||
padding: 0 3rem;
|
||||
margin: 5rem auto;
|
||||
}
|
||||
|
||||
.People {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
|
||||
grid-gap: 5rem;
|
||||
|
||||
@media all and (max-width: 400px) {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
|
|
@ -5,5 +5,6 @@ import windows from '../images/windows.svg';
|
|||
import apple from '../images/apple.svg';
|
||||
import linux from '../images/linux.png';
|
||||
import flipphone from '../images/flip-phone.png';
|
||||
import bsd from '../images/bsd.png';
|
||||
|
||||
export { iphone, android, windowsphone, windows, apple, linux, flipphone };
|
||||
export { iphone, android, windowsphone, windows, apple, linux, flipphone, bsd };
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
import { name } from 'country-emoji';
|
||||
import people from '../data.js';
|
||||
type Person = typeof people[0];
|
||||
|
||||
function merge(prop) {
|
||||
return function(acc, obj) {
|
||||
function merge(prop: string) {
|
||||
return function (acc: any, obj: Record<any, any>) {
|
||||
// Remove duplicated values.
|
||||
const values = [...new Set(obj[prop])];
|
||||
return [...values, ...acc];
|
||||
|
|
@ -20,12 +21,12 @@ export function normalizeTag(tag) {
|
|||
// Common mispellings currently seen in the data
|
||||
// Do we want to go this far?
|
||||
.replace(/frontend/i, 'Front End')
|
||||
.replace(/TailwindCSS/i, 'Tailwind CSS')
|
||||
.replace(/backend/i, 'Back End')
|
||||
.replace(/fullstack/i, 'Full Stack')
|
||||
.replace(/a11y/i, 'Accessibility')
|
||||
.replace(/next.?js/i, 'Next')
|
||||
.replace(/react.?js/i, 'React')
|
||||
|
||||
// Or is lowercase enough?
|
||||
.toLowerCase()
|
||||
);
|
||||
|
|
@ -33,7 +34,7 @@ export function normalizeTag(tag) {
|
|||
|
||||
export function countries() {
|
||||
const data = people
|
||||
.map(person => ({
|
||||
.map((person) => ({
|
||||
name: name(person.country),
|
||||
emoji: person.country,
|
||||
}))
|
||||
|
|
@ -52,7 +53,8 @@ export function countries() {
|
|||
|
||||
const sorted = Object.entries(data)
|
||||
.map(([, country]) => country)
|
||||
.sort((a, b) => b.count - a.count);
|
||||
.sort((a, b) => b.count - a.count)
|
||||
.filter(Boolean);
|
||||
|
||||
return sorted;
|
||||
}
|
||||
|
|
@ -62,7 +64,6 @@ export function tags() {
|
|||
const counts = allTags.reduce(countInstances, {});
|
||||
// sort and filter for any tags that only have 1
|
||||
const tags = Object.entries(counts)
|
||||
.sort(([, countA], [, countB]) => countB - countA)
|
||||
// Only show the tag if this topic has 3 or more people in it
|
||||
.filter(([, count]) => count >= 3)
|
||||
.map(([name, count]) => ({ name, count }));
|
||||
|
|
@ -83,18 +84,60 @@ export function tags() {
|
|||
delete lowercaseTagMap[normalizedName];
|
||||
}
|
||||
return acc;
|
||||
}, []);
|
||||
|
||||
}, [])
|
||||
// Sort by name first
|
||||
.sort((a, b) => b.name.toLowerCase() > a.name.toLowerCase())
|
||||
// Sort by count
|
||||
.sort((a, b) => b.count - a.count);
|
||||
return [{ name: 'all', count: people.length }, ...normalizedTags];
|
||||
}
|
||||
|
||||
export function devices() {
|
||||
|
||||
const all = [
|
||||
...people.map(person => person.computer),
|
||||
...people.map(person => person.phone),
|
||||
];
|
||||
...people.map((person) => person.computer),
|
||||
...people.map((person) => person.phone),
|
||||
].filter(Boolean);
|
||||
|
||||
return Object.entries(all.reduce(countInstances, {}))
|
||||
.map(([device, count]) => ({ name: device, count }))
|
||||
.sort((a, b) => b.count - a.count);
|
||||
.sort((a, b) => b.count - a.count)
|
||||
.map((device) => {
|
||||
return device;
|
||||
})
|
||||
}
|
||||
|
||||
function unique(arr: string[]) {
|
||||
return Array.from(new Set(arr));
|
||||
}
|
||||
|
||||
const normalizedTagMap = tags().reduce((acc, tag) => {
|
||||
const normalizedTag = normalizeTag(tag.name);
|
||||
acc[normalizedTag] = tag.name;
|
||||
return acc;
|
||||
}, {});
|
||||
|
||||
export function getPeople(tag?: string) {
|
||||
return [...people]
|
||||
.sort(() => Math.random() - 0.5)
|
||||
.map((person) => {
|
||||
const normalizedPerson = {
|
||||
...person,
|
||||
// Clean out people that added basically the same tags twice
|
||||
tags: unique(
|
||||
person.tags.map((tag) => normalizedTagMap[normalizeTag(tag)] || tag)
|
||||
),
|
||||
};
|
||||
return {
|
||||
...normalizedPerson,
|
||||
id: `person-${normalizedPerson.name}`,
|
||||
};
|
||||
})
|
||||
.filter((person) => {
|
||||
if (!tag) {
|
||||
return true;
|
||||
}
|
||||
return person.tags.includes(tag) || person.country === tag || person.phone === tag || person.computer === tag;
|
||||
})
|
||||
|
||||
}
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
/* Fonts */
|
||||
@font-face {
|
||||
font-family: 'Fira Mono';
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
src: url('../src/fonts/fira_mono-regular-webfont.woff2') format('woff2'),
|
||||
url('../src/fonts/fira_mono-regular-webfont.woff') format('woff');
|
||||
font-display: swap;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Fira Mono';
|
||||
font-weight: 400;
|
||||
font-style: italic;
|
||||
src: url('../src/fonts/fira_mono-regular_italic-webfont.woff2') format('woff2'), url('../src/fonts/fira_mono-regular_italic-webfont.woff') format('woff');
|
||||
font-display: swap;
|
||||
}
|
||||
19
tsconfig.json
Normal file
19
tsconfig.json
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"include": ["remix.env.d.ts", "./**/*", "**/*.ts", "**/*.tsx"],
|
||||
"compilerOptions": {
|
||||
"strict": true,
|
||||
"lib": ["ESNext", "DOM", "DOM.Iterable"],
|
||||
"skipLibCheck": true,
|
||||
"moduleResolution": "node",
|
||||
"esModuleInterop": true,
|
||||
"module": "esnext",
|
||||
"target": "esnext",
|
||||
"baseUrl": ".",
|
||||
"allowJs": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"isolatedModules": true,
|
||||
"jsx": "react-jsx",
|
||||
"noEmit": true,
|
||||
"resolveJsonModule": true
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue